JP7044645B2 - データベース管理装置、データベース管理方法、およびプログラム - Google Patents

データベース管理装置、データベース管理方法、およびプログラム Download PDF

Info

Publication number
JP7044645B2
JP7044645B2 JP2018116042A JP2018116042A JP7044645B2 JP 7044645 B2 JP7044645 B2 JP 7044645B2 JP 2018116042 A JP2018116042 A JP 2018116042A JP 2018116042 A JP2018116042 A JP 2018116042A JP 7044645 B2 JP7044645 B2 JP 7044645B2
Authority
JP
Japan
Prior art keywords
layer
user data
database
information
user
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
JP2018116042A
Other languages
English (en)
Other versions
JP2019219847A (ja
Inventor
禎士 遠藤
泰広 加茂下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2018116042A priority Critical patent/JP7044645B2/ja
Publication of JP2019219847A publication Critical patent/JP2019219847A/ja
Application granted granted Critical
Publication of JP7044645B2 publication Critical patent/JP7044645B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベース管理装置、データベース管理方法、およびプログラムに関する。
従来、ネットワークを介してサービスを提供する際に使用されるユーザデータを集中的に管理し、サービスを提供する各サーバにおけるユーザ管理の労力とコストを軽減するユーザデータベースサーバに関する技術情報が開示されている(特許文献1参照)。
特開2002-251573号公報
しかしながら、上記従来の技術では、ユーザデータベースで管理するユーザデータに、ユーザデータに多数の付随情報が対応付けられているため、データレコードを構成する項目数が増加する等、ユーザデータ自体のデータ量が大きくなった場合に、処理速度が著しく低下し、好適な制御が行われない可能性があった。また、上記従来の技術では、ある主体が収集したユーザデータを他の主体が利用しようとする際に、適切な範囲内で利用させることについて考慮されていなかった。
本発明は、このような事情を考慮してなされたものであり、ユーザデータの活用を安全且つ円滑に進めることができるデータベース管理装置、データベース管理方法、およびプログラムを提供することを目的の一つとする。
本発明の一態様は、複数の参照主体により参照される第1階層のユーザデータと、前記第1階層よりも限定的な参照主体により参照される第2階層のユーザデータと、を含む階層的な論理構造を有するデータベースを管理するデータベース管理装置であって、少なくとも、前記第1階層に対応した参照主体からのリードリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返す第1階層処理部と、前記第2階層に対応した参照主体からのリードリクエストおよびライトリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返し、または前記データベースにおけるユーザデータを更新する第2階層処理部と、を備えるデータベース管理装置である。
本発明の一態様によれば、ユーザデータの活用を安全且つ円滑に進めることができる。
データベース管理装置が管理するデータベースの論理構造を模式的に示す図。 シングル情報、クロース情報、およびマルチユース情報の関係を説明する図。 第1の実施形態のデータベース管理装置100の構成および利用環境を示す図。 データベース管理装置100が管理するユーザデータを模式的に示す図。 データベース管理装置100により実行されるアクセス制御処理の流れの一例を示すフローチャート。 監査部124の行う処理の流れの一例を示すフローチャート。 データベース管理装置100の解析処理の流れの一例を示すフローチャート。 クロース情報の一例を示す図。 階層情報の設計場面の手順を示すユースケース図。 階層定義部106により実行される階層定義処理の流れの一例を示すフローチャート。 第2の実施形態のデータベース管理装置100Aの機能概要図。 データベース管理装置100Aの階層生成処理の流れの一例を示すフローチャート。 データベース管理装置100Aが管理するユーザデータを模式的に示す図。
以下、図面を参照し、本発明のデータベース管理装置、データベース管理方法、およびプログラムの実施形態について説明する。
データベース管理装置は、一以上のプロセッサにより実現される。データベース管理装置は、複数の参照主体(以下、データベース利用者)により参照される第1階層のユーザデータと、第1階層よりも限定的なデータベース利用者により参照される第2階層のユーザデータと、を含む階層的な論理構造を有するデータベースを管理する装置である。
データベース管理装置は、少なくとも、前記第1階層に対応したデータベース利用者からのリードリクエストを受け付け、前記データベースからユーザデータを読み出して参照主体に返す第1階層処理部と、第2階層に対応した参照主体からのリードリクエストおよびライトリクエストを受け付け、データベースからユーザデータを読み出してデータベース利用者に返し、またはデータベースにおけるユーザデータを更新する第2階層処理部とを備える。
ユーザデータとは、ユーザに関連する種々のデータである。より具体的に、ユーザデータとは、ネットワークを介してサービスを受けるユーザに関連するデータであって、サービス提供者が把握している種々のデータである。ユーザデータは、例えば、ユーザID、氏名、年齢、性別、職業、住所といった情報を含む。ユーザデータは、ユーザによって入力されたデータに限らず、ネットワーク上の行動等に基づいて推定されたデータ(例えば、趣味趣向など)を含んでもよい。その場合、ユーザデータは、サービス提供者によって管理されるものである。したがって、データベース利用者の一例として、サービス提供者が挙げられる。以下では、データベース利用者はサービス提供者であるものとする。
サービス提供者は、「ショッピング」、「オークション」、「旅行」、「ゲーム」、「地図」、「不動産」などの、例えばネットワークを介したサービスをユーザに提供する。ユーザは、端末装置を介してこれらのサービスを享受する。
データベース管理装置は、例えば、サービス提供者からのリクエストに応じて、当該サービス提供者に付与された権限の範囲内で、ユーザデータの読み出しや更新(新規書き込み、上書き、削除)を行う。また、データベース管理装置は、データベースの定義情報に従って、下位層に格納されたデータを上位層に伝達させる。
図1は、データベース管理装置が管理するデータベースの論理構造を模式的に示す図である。データベース管理装置が管理するユーザデータは、例えば、シングル情報と、クロース情報と、マルチユース情報とに分類することができる。シングル情報とは、単一のサービスに特有のデータのことである。シングル情報は、例えば、サービス「ショッピング」におけるユーザの購買履歴傾向や、サービス「オークション」におけるユーザの落札履歴である。シングル情報は、「最下層のユーザデータ」の一例である。
なお、シングル情報に該当するユーザデータである、ユーザの購買履歴傾向には、購買履歴を特定するヘッダ情報(例えば、購買履歴を一元管理する購買番号を含む情報)は含まれてもよいが、購買履歴の詳細情報に該当するボディ情報(例えば、購入商品を特定する番号や、購入点数を含む情報)は含まれなくてもよい。購買履歴傾向の詳細情報に該当するボディ情報は、例えば、サービス「ショッピング」のデータを管理する外部データサーバ(以下、サービスサーバ500)により管理される。なお、シングル情報が「第2階層情報」の一例であるならば、クロース情報またはマルチユース情報が「第1階層情報」の一例である。また、クロース情報が「第2階層情報」の一例であるならば、マルチユース情報が「第1階層情報」の一例である。
クロース情報は、2以上のサービスにおいて共通するデータ、または共通するとみなしてもよいとデータベース管理者によって定義されたデータのことである。データベース管理者は、例えば、あるサービスが保有するユーザの居住する都道府県の情報Aと、他のサービスが保有する居住地域(例えば、「首都圏」、「関西」)の情報Bとは、共通するとみなしてもよいと定義する。データベース管理者は、例えば、情報Aおよび情報Bを集約するクロース情報A+Bを生成する。
マルチユース情報は、クロース情報のうち、更に上位化できるデータのことである。マルチユース情報とは、例えば、すべてのサービスで共通利用されるユーザIDや、多数のサービスで共通利用されるユーザ氏名である。
なお、クロース情報は、1以上のマルチユース情報と対応付けられる。また、シングル情報は、1以上のクロース情報または1以上のマルチユース情報と対応付けられる。
図2は、シングル情報、クロース情報、およびマルチユース情報の関係を説明する図である。マルチユース情報は、クロース情報と比較して利用頻度が高く、更新頻度が低い情報である。また、クロース情報は、シングル情報と比較して利用頻度が高く、更新頻度が低い情報である。
マルチユース情報は複数のサービスに共通して参照されるため、フォーマットは固定的に定義される。一方、クロース情報は、マルチユース情報と比較して自由度が高められる。クロース情報においてフォーマット変更を行う場合、関連するサービスのサービス提供者側の管理者およびデータベース管理者によって協議されたのちに、フォーマット変更が適用される。シングル情報は、クロース情報と比較して自由度が高く、フォーマットはサービス提供者側の管理者によって任意に定めることができる。
マルチユース情報は、サービス提供者の提供する複数のサービスに関係する情報であるため、クロース情報と比較してより高いSLA(Service Level Agreement;サービス品質保証)が要求される情報である。クロース情報は、シングル情報と比較してより高いSLAが要求される情報である。SLAは、データベース管理装置に対するリクエストの平均レスポンスタイム(例えば、標準的なリードリクエストのレスポンスが5秒以内で返ってくること)や、データベース管理装置が使用できない時間であるダウン時間の許容範囲によって表現される。許容範囲は、例えば、「ダウン時間として1か月あたり最大で4分程度が許容される」のように設定されてもよいし、同義である「稼働率99.99%」のように設定されてもよい。
データベース管理装置100は、マルチユース情報およびクロース情報を設定することで、より高いアクセス効率を実現する。マルチユース情報およびクロース情報は、例えば、ユーザデータに対するインデックス(索引)機能を実現する。例えば、データベース管理装置は、データベース管理者によって設定された、1つのクロース情報と、そのクロース情報に対応付けられた複数のシングル情報のリードリクエストを受信した場合、まずクロース情報を検索し、次にクロース情報に対応付けられたシングル情報を検索して、得られたリードリクエストの処理結果をサービス提供者に返信すること(以下、レスポンスと称する場合がある)で円滑な処理を実現する。
したがって、マルチユース情報には、クロース情報と比較して、より高いレスポンス性が要求されるユーザデータが設定される。複数のサービスに共通して参照される情報をクロース情報とするか、マルチユース情報とするかは、例えば、対象となる情報がサービス提供者に問い合わせされる回数を一定期間集計して得た集計結果に基づいて、データベース管理者によって設計される。
クロース情報およびマルチユース情報は、サービス提供者の最新の利用傾向や、サービス提供者の提供するサービスの統廃合に応じて、その構成が定期的に見直されることが望ましい。従来型のデータベースシステムにおいては、サービス毎に専用のデータベース内でユーザデータを管理されたり、ETL(Extraction, Transformation and Load)システム等によりユーザデータが連携されたりといった手法が採用されることがあった。前者の場合、サービス毎にユーザデータの登録および更新が実行されることから、定期的なデータクレンジング等により整合性を担保することに多大なコストがかかることが想定される。また、後者の場合、定期バッチ処理等により各システムで登録・更新されたユーザデータを連携するため、リアルタイムに最新のユーザデータを確認できない場合があった。また、ETLシステムの開発・運用に多大なコストがかかることが想定される。
データベース管理装置は、上述のシングル情報、クロース情報およびマルチユース情報を管理する。また、データベース管理装置は、データベース管理者の設定に応じて、シングル情報、クロース情報およびマルチユース情報の構成を柔軟な変更を可能にする。
なお、以下の説明において、シングル情報からクロース情報を生成すること、シングル情報からマルチユース情報を生成すること、およびクロース情報からマルチユース情報を生成することを「上位階層化」、クロース情報をシングル情報に戻すこと、マルチユース情報をクロース情報に戻すこと、およびマルチユース情報をシングル情報に戻すことを「下位階層化」、上位階層化および下位階層化を「階層変更」と称する場合がある。
<第1の実施形態>
図3は、第1の実施形態のデータベース管理装置100の構成および利用環境を示す図である。図示する環境では、端末装置10、データベース管理装置100、およびサービスサーバ500は、ネットワークNWを介して互いに通信可能に接続される。ネットワークNWは、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、インターネット、プロバイダ装置、無線基地局、専用回線などのうちの一部または全部を含む。図1に示す例では、端末装置10の数は、N(Nは任意の自然数)個である。また、図1に示す例では、サービスサーバ500の数は、M(Mは任意の自然数)個である。なお、本明細書では、端末装置10-1~10-Nにおいて、共通の事項を説明する場合など、個々の端末装置10-1~10-Nを区別しない場合には、単に端末装置10と呼ぶ。また、本明細書では、サービスサーバ500-1~500-Mにおいて、共通の事項を説明する場合など、個々のサービスサーバ500-1~500-Mを区別しない場合には、単にサービスサーバ500と呼ぶ。
端末装置10は、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータ等である。端末装置10は、データベース利用者(再度、このように称する)による操作に応じて、ユーザデータに関するリクエスト(コマンド)をデータベース管理装置100に送信し、返信されたリクエストの処理結果を端末装置10の表示部に表示する。
データベース管理装置100は、例えば、データベース利用者に対して、端末装置10によるリクエストの送受信に用いる標準API(Application Programming Interface)を公開することで、以下に説明する機能を実現する。データベース管理装置100は、例えば、通信部102と、解釈部104と、階層定義情報108と、レベル1リクエスト処理部110と、レベル2リクエスト処理部112と、レベル3リクエスト処理部114と、階層間処理部116と、利用状況解析部118と、アクセス管理部120と、監査部124とを備える。なお、シングル情報が「第2階層情報」の一例であるならば、レベル1リクエスト処理部110およびレベル2リクエスト処理部112は「第1階層処理部」の一例であり、レベル3リクエスト処理部114は「第2階層処理部」の一例である。また、クロース情報が「第2階層情報」の一例であるならば、レベル1リクエスト処理部110は「第1階層処理部」の一例であり、レベル2リクエスト処理部112およびレベル3リクエスト処理部114は「第2階層処理部」の一例である。
通信部102は、端末装置10またはサービスサーバ500と通信する。通信部102は、端末装置10からリクエストを受信し、解釈部104に出力する。また、通信部102は、解釈部104により出力された処理結果を端末装置10に送信する。
解釈部104は、通信部102から取得したリクエスト内容を解釈し、リクエスト内容の解析結果に応じて、階層定義部106、レベル1リクエスト処理部110、レベル2リクエスト処理部112、レベル3リクエスト処理部114、階層間処理部116、利用状況解析部118、およびアクセス管理部120、監査部124のいずれかに解釈結果(解釈されたリクエストという意味で、単にリクエストとも称する)を出力する。
また、解釈部104は、階層定義部106、レベル1リクエスト処理部110、レベル2リクエスト処理部112、レベル3リクエスト処理部114、階層間処理部116、利用状況解析部118、およびアクセス管理部120、監査部124のいずれかより出力された処理結果を、リクエストの送信元に応じた表現に逆変換して、通信部102に出力する。逆変換とは、例えば、階層定義部106により解釈部104に出力された処理結果から、通信部102に出力する情報(例えば、処理結果を示す情報)を抽出し、その抽出した内容を通信部102により端末装置10に送信する際のデータ形式に変換することである。
階層定義部106は、解釈部104により出力された階層定義リクエストに応じて、ユーザデータの階層定義を生成する。階層定義部106は、生成したユーザデータの階層定義を階層定義情報108として記憶部に記憶させる。
階層定義部106は、例えば、データベース管理者によって設計された階層定義情報を階層定義情報108として記憶部に記憶させる。ユーザデータの階層定義とは、例えば、クロース情報およびシングル情報によって構成されるツリー構造の定義である。階層定義情報108は、例えば、後述する階層間処理部116が、複数の階層に対する階層設計の反映処理をするときに参照される。また、階層定義情報108は、レベル2リクエスト処理部112、レベル3リクエスト処理部114によって参照されてもよい。
レベル1リクエスト処理部110は、解釈部104から取得したリクエストに応じて、マルチユース情報に関する処理を行う。具体的には、レベル1リクエスト処理部110は、マルチユース情報のリードリクエストの受付処理などを行う。
レベル1リクエスト処理部110は、解釈部104から取得したマルチユース情報のリードリクエストに基づいて、ユーザデータベース200に問い合わせるクエリ(あるいはコマンド)を生成する。レベル1リクエスト処理部110は、生成したクエリをユーザデータベース200の図示しない読書回路に送信する(以下、単に「ユーザデータベース200に送信する」と表記する)。レベル1リクエスト処理部110は、ユーザデータベース200の処理結果を受信し、解釈部104に出力する。
レベル2リクエスト処理部112は、解釈部104から取得したリクエストに応じて、クロース情報に関連するユーザデータを処理する。具体的には、クロース情報のリードリクエストの受付処理である。
クロース情報は、その特性上、マルチユース情報を参照する可能性がある。マルチユース情報と、クロース情報と、シングル情報のそれぞれは、自階層で完結するようにデータが格納されていてもよいが、マルチユース情報に格納されたデータと、クロース情報に格納されたデータと、シングル情報に格納されたデータとが揃うことで、あるユーザのユーザデータの全部が把握されるようになっていてもよい(後述する図4参照)。その場合、クロース情報を読み出す際に、該当するユーザのマルチユース情報とクロース情報との双方を読み出して結合してレスポンスを返す必要がある。この場合に、マルチユース情報を参照する可能性が生じる。
したがって、レベル2リクエスト処理部112は、必要に応じて階層定義情報108を参照し、マルチユース情報とクロース情報の双方を読み出すことを要求するクエリをユーザデータベース200に送信する。レベル2リクエスト処理部112は、ユーザデータベース200の処理結果を受信し、解釈部104に出力する。なお、ユーザデータが各階層で完結する場合、112は、クロース情報を読み出すことを要求するクエリをユーザデータベース200に送信する。
レベル3リクエスト処理部114は、解釈部104から取得した解釈されたリクエストに応じて、シングル情報のリードリクエストまたはライトリクエストの受付処理などを行う。
シングル情報は、その特性上、マルチユース情報およびクロース情報を参照する可能性がある。したがって、レベル3リクエスト処理部114は、必要に応じて階層定義情報108にマルチユース情報およびクロース情報の定義を参照して生成したクエリをユーザデータベース200に送信する。レベル3リクエスト処理部114は、ユーザデータベース200の処理結果を受信し、解釈部104に出力する。
レベル3リクエスト処理部114は、解釈部104から取得した解釈されたリクエストがシングル情報のリードリクエストであった場合、シングル情報のリードリクエストを受け付けて、リクエストに応じてユーザデータベース200に問い合わせるクエリを生成する。また、レベル3リクエスト処理部114は、通信部102により出力されたリクエストがシングル情報のライトリクエストであった場合、シングル情報のライトリクエストを受け付けて、リクエストに応じてユーザデータベース200を更新するクエリを生成する。レベル3リクエスト処理部114は、生成したクエリをユーザデータベース200に送信する。レベル3リクエスト処理部114は、ユーザデータベース200の処理結果を受信し、解釈部104に出力する。
階層間処理部116は、階層定義情報108を参照し、ユーザデータのうち下位階層のデータを上位階層に伝播させる処理を行う。階層間処理部116は、例えば、リアルタイムではなく、1日1回といった頻度でバッチ処理を行う。
(1)マルチユース情報に格納されたデータと、クロース情報に格納されたデータと、シングル情報に格納されたデータとが揃うことで、あるユーザのユーザデータの全部が把握される場合のバッチ処理
具体的な手順として、階層間処理部116は、まず、ユーザデータベース200のシングル情報の生成元となるデータのうち、バッチ処理が済んでいないデータを読み出してデータベース管理装置100のメモリに展開する。
次に、階層間処理部116は、メモリに展開したデータから、上位層に伝播させるべきデータを抜き出してユーザデータベース200の上位層に書き込む処理を行う。
次に、階層間処理部116は、上位層に書き込まれたデータの削除を行うように200に指示する。階層間処理部116は、データ削除の終了を確認し、バッチ処理を終了する。
(2)マルチユース情報、クロース情報、シングル情報が、自階層で完結する場合のバッチ処理
この場合、階層間処理部116は、例えば、ユーザデータベース200のシングル情報の全てを読み出してデータベース管理装置100のメモリに展開する。
次に、階層間処理部116は、メモリに展開したデータから、上位層に伝播させるべきデータを抜き出してユーザデータベース200の上位層に上書きする処理を行う。階層間処理部116は、上書き処理の終了を確認し、バッチ処理を終了する。
なお、階層間処理部116は、上述の(1)または(2)のバッチ処理を行う際に、レベル1リクエスト処理部110、レベル2リクエスト処理部112、レベル3リクエスト処理部114を適宜呼び出して機能を援用してもよい。
利用状況解析部118は、解釈部104から取得したリクエストに基づいて、階層構造ごとのデータベース利用者の利用状況の解析処理を行う。解析処理の内容については後述する。利用状況解析部118は、解釈部104および通信部102を介して処理結果を端末装置10に送信する。
アクセス管理部120は、解釈部104から取得したリクエストに基づいて、アクセス制御処理を行う。アクセス制御処理については後述する。アクセス管理部120は、処理結果を解釈部104に出力する。
監査部124は、解釈部104から取得したリクエストに基づいて、監査処理を行う。監査処理については後述する。監査部124は、処理結果を解釈部104に出力する。
[ユーザデータ]
図4は、データベース管理装置100が管理するユーザデータを模式的に示す図である。マルチユース情報は、例えば、「ユーザID」のように多数のサービスまたは全てのサービスにおいて共通する情報である。一方、クロース情報は、例えば、「ユーザ氏名」のように複数のサービスにおいて共通する情報であるが、一部のサービスにおいては参照されない情報である。シングル情報は、例えば、「予約傾向」のように単一のサービスにおいて有用であるが、他のサービスでは有用でない情報である。
[アクセス制御処理]
また、データベース管理装置100はアクセス制御機能を有する。アクセス制御機能とは、データベース管理装置100を外部から利用するデータベース利用者に割り振られた権限に基づいて、ユーザデータのリードリクエストまたはライトリクエストを許可する、または不許可とすることである。なお、データベース利用者は、基本的にマルチユース情報およびクロース情報に対してはリードリクエストのみ可能であり、ライトリクエストは実行できない。マルチユース情報およびクロース情報は、例えば、データベース管理者による所定の作業(例えば、階層定義情報108の定義書き替え)によるライトリクエストのみが許可される。
また、データベース利用者に対しては、シングル情報のライトリクエストまたはリードリクエストの実行可否(ライト権限、リード権限)がデータベース管理者によって設定される。
あるサービスを提供するサービス提供者に対しては、自サービスに対応するシングル情報のリード権限およびライト権限が付与される。また、あるサービスを提供するサービス提供者に対しては、自サービスに対応するクロース情報と同じ種類のクロース情報であれば、他サービスに対応するクロース情報のリード権限が付与される。
例えば、サービス「ショッピング」を提供するサービス提供者に対しては、サービス「ショッピング」に対応するクロース情報である「ユーザ氏名」、「居住エリア」に関して、データ元のサービスを問わずリード権限が付与される。しかしながら、サービス「ショッピング」に対応しないクロース情報である「ニュース嗜好」に関してリード権限は付与されない。
以下、アクセス管理部120によるアクセス制御処理について説明する。データ管理者は、例えば、サービス「ショッピング」にのみ携わるデータベース利用者に、区分「ニュース」や区分「広告」に関するユーザデータを参照させない、といったアクセス権限をあらかじめ設定し、アクセス権限情報122として記憶部に格納しておく。
解釈部104は、解釈したリクエストを各処理部(階層定義部106、レベル1リクエスト処理部110、レベル2リクエスト処理部112、レベル3リクエスト処理部114、階層間処理部116、利用状況解析部118のいずれか)に出力する前に、リクエストを送信したデータベース利用者の情報を、アクセス管理部120に出力する。アクセス管理部120は、解釈部104から取得したリクエストに含まれるデータベース利用者の情報を取得してアクセス権限情報122を検索して得られる、データベース利用者のアクセス権限に基づいて、階層定義情報108の記憶するユーザデータへのリードリクエストまたはライトリクエストを受け付けてもよいか否かを判定する。
アクセス管理部120は、解釈部104に判定結果を出力する。解釈部104は、解釈部104により出力された判定結果に基づいて、リクエストを各処理部に出力するか否かを決定する。アクセス管理部120は、データベース利用者のユーザデータへのリクエストを受け付けてもよいと判定しなかった場合、所定のエラー情報を生成し、通信部102を介してエラー情報を端末装置10に返信する。
図5は、データベース管理装置100により実行されるアクセス制御処理の流れの一例を示すフローチャートである。まず、アクセス管理部120は、通信部102および解釈部104を介してデータベース利用者の利用する端末装置10からリクエストを取得する(S100)。次に、アクセス管理部120は、データベース利用者が対象のユーザデータにリクエストを実行する権限があるか否かを判定する(S102)。アクセス管理部120は、データベース利用者が対象のユーザデータにリクエストを実行する権限があると判定した場合、リクエストがユーザデータのリードリクエストか、ユーザデータのライトリクエストかを判定する(S104)。アクセス管理部120は、リードリクエストであると判定した場合、解釈部104および通信部102に、リードリクエストをユーザデータベース200に送信して取得されたレスポンスを端末装置10へ返信させる(S106)。アクセス管理部120は、ライトリクエストであると判定した場合、解釈部104および通信部102に、ライトリクエストをユーザデータベース200によるレスポンスを端末装置10へ返信させる(S108)。
S102において、アクセス管理部120は、データベース利用者が対象のユーザデータに対するリクエスト権限がないと判定した場合、エラー情報を生成して、解釈部104および通信部102に端末装置10に返信させる(S110)。以上、本フローチャートの処理が終了される。
[監査処理]
上述のアクセス制御処理は、十分に機能しているか、アクセス権限の設定が適切であるか等について、所定の間隔で監査されることが望ましい。したがって、監査部124は、データ管理者の監査リクエストに基づいて、データベース利用者の利用状況を監査する監査情報を生成する。監査情報とは、例えば、アクセス制御ログの統計情報から、データベース利用者、リクエスト処理を実行したタイムスタンプ、リクエスト内容、リクエスト処理受付状況(リクエスト処理の成否)等の情報である。監査情報は、例えば、所定のファイル形式で生成される。監査情報として生成されたファイルは、解釈部104および通信部102を介して、データ管理者の利用する端末装置10に送信されてもよいし、所定のファイル保存場所に生成されてもよい。
また、監査処理は、所定の区分、サービス、ユーザデータ階層、データベース利用者の条件指定を受け付けてもよい。また、監査処理は、所定の間隔でのみ実行されるのではなく、臨時実行されてもよい。
図6は、監査部124の行う処理の流れの一例を示すフローチャートである。まず、監査部124は、通信部102および解釈部104を介してデータ管理者の利用する端末装置10から監査リクエストを取得する(S200)。次に、監査部124は、監査リクエストに基づいてアクセス制御ログを抽出し(S202)、抽出結果を含むファイルを生成して出力する(S204)。以上、本フローチャートの処理が終了される。
[解析処理]
図4に戻り、利用状況解析部118による階層構造の解析処理について説明する。
データベース利用者は、ユーザデータベース200の最新の利用傾向や、データベース利用者であるサービス提供者の提供するサービスの統廃合に応じて、ユーザデータの階層構造が適切であるかを定期的に見直す。データベース管理者は、利用状況解析部118による解析処理の結果に基づいて、階層構造の定義の見直しを行う。
以下、データベース管理者の利用する端末装置10により、解析処理のリクエストが送信された場合のデータベース管理装置100の処理内容について説明する。解釈部104は、通信部102により出力されたデータベース管理者の利用する端末装置10からの解析リクエストを、利用状況解析部118に出力する。解析リクエストは、ユーザデータの全部を解析するリクエストであってもよいし、ユーザデータの一部を解析するリクエストであってもよい。利用状況解析部118は、解析リクエストに基づいてユーザデータの解析を行い、解析結果(推奨されるクロース情報およびマルチユース情報の設定)を、解釈部104を介して通信部102に出力する。通信部102は、データベース管理者の利用する端末装置10に解析結果を送信する。解析結果には、例えば、クロース情報にできそうなシングル情報の候補の抽出結果や、その適合率、シングル情報をクロース情報にする場合に変換テーブルを要するか否かの情報を含む。変換テーブルについては後述する。
利用状況解析部118の解析結果は、後述する階層設計時に参照しやすい形式(例えば、共通するフォーマット定義に沿ったファイルを出力する)でデータベース管理者に提供されてもよい。
図7は、データベース管理装置100の解析処理の流れの一例を示すフローチャートである。まず、利用状況解析部118は、通信部102を介してデータベース管理者の利用する端末装置10からの解析リクエストを取得する(S300)。次に、利用状況解析部118は、階層変更の候補を抽出する(S302)。次に、利用状況解析部118は、階層変更の候補を適用した場合の適合率を算出する(S304)。次に、利用状況解析部118は、階層変更の候補を適用した場合の変換テーブルの要否を導出する(S306)。次に、利用状況解析部118は、ユーザデータの解析を行い、解析結果を出力する(S308)。以上、本フローチャートの処理が終了される。
なお、利用状況解析部118による解析処理は、データベース管理者の解析リクエストに応じて実行されるバッチ処理であってもよいし、データベース管理者の解析リクエストに基づいて、一定期間情報収集する常駐処理であってもよい。
図8は、クロース情報の一例を示す図である。解析処理が常駐処理である場合、例えば、図8に示すように、利用状況解析部118は、ユーザデータベース200のクロース情報およびシングル情報が上位階層化できるか否か、および上位階層化する場合に変換テーブルの設定を要するか否かを判定し、その判定結果を「上位階層化フラグ」、「変換テーブル要否」として保持する。
[階層設計場面]
以下、データベース管理装置100の解析処理および階層生成処理を適用する場面の一例として、データベース管理者による階層情報の設計場面(定義情報の構築場面)について説明する。データ管理者は、利用状況解析部118の解析結果に基づいてユーザデータ階層設計を行ってもよいし、サービスサーバ500の定義情報等に基づいて自らユーザデータ階層設計を行ってもよい。以下では、利用状況解析部118の解析結果に基づいてユーザデータ階層設計を行う場合の処理内容について説明する。
図9は、階層情報の設計場面の手順を示すユースケース図である。データベース管理者は、利用状況解析部118の解析処理の結果を入手する(S400)。データベース管理者は、解析処理結果に基づいて、階層定義の設計情報を生成し、データベース管理装置100に入力する(S402)。階層定義の設計情報には、「階層変更設計」、「変換テーブル設計」の設計内容が含まれる。階層変更設計とは、例えば、1以上のシングル情報からクロース情報を生成することや、クロース情報を1以上のシングル情報に分散させることである。
変換テーブル設計は、2以上のサービスにおいて共通するとみなしてもよいとデータベース管理者によって定義されたデータAおよびBを集約するクロース情報A+Bを生成した場合に、導出元である各サービスにおいてデータAまたはデータBを参照でき、且つ、クロース情報A+Bが機能するように、クロース情報を参照する際に用いる変換テーブルを生成することである。
データベース管理者は、データベース管理装置100に階層定義の設計情報を入力し、ユーザデータベース200に反映させる(S404)。上述のデータベース管理者による設計内容は、例えば、夜間バッチや定期メンテンナンス時にデータベース管理装置100によってユーザデータベース200へ反映される。
なお、データベース管理者は、サービスサーバ500の設計情報に基づいて自ら階層情報を設計してもよいが、利用状況解析部118による解析結果の適合率等を参照することで設計内容を検証することが望ましい。
[階層設計の反映処理]
データ管理者による階層設計の反映処理について説明する。図10は、階層定義部106により実行される階層定義処理の流れの一例を示すフローチャートである。まず、階層定義部106は、通信部102を介して階層定義生成リクエストを取得する(S500)。次に、階層定義部106またはレベル1リクエスト処理部110は、マルチユース情報の定義情報を生成する(S502)。次に、階層定義部106またはレベル2リクエスト処理部112は、クロース情報の定義情報を生成する(S504)。次に、階層定義部106またはレベル3リクエスト処理部114は、シングル情報の定義情報を生成する(S506)。次に、解釈部104は、階層定義情報108に各定義情報を出力し、記憶させる(S508)。以上、本フローチャートの処理が終了される。
以上説明した第1実施形態によれば、複数のデータベース利用者により参照されるマルチユース情報と、マルチユース情報と比較してより限定的なデータベース利用者により参照されるクロース情報と、クロース情報と比較してより限定的なデータベース利用者により参照されるシングル情報とを含む階層的な論理構造を有するユーザデータベース200を管理し、マルチユース情報に対応したデータベース利用者からのリードリクエストを受け付け、ユーザデータベース200から対応づいたユーザデータを読み出してデータベース利用者に返すレベル1リクエスト処理部110と、クロース情報に対応したデータベース利用者からのリードリクエストを受け付け、ユーザデータベース200から対応づいたユーザデータを読み出してデータベース利用者に返すレベル2リクエスト処理部112と、シングル情報に対応したデータベース利用者からのリードリクエストおよびライトリクエストを受け付け、ユーザデータベース200からリードリクエストに対応づいたユーザデータを読み出してデータベース利用者に返す、またはライトリクエストに応じてユーザデータベース200におけるユーザデータを更新するレベル3リクエスト処理部114とを備えることにより、ユーザデータの活用を安全且つ円滑に進めることができる。
<第2の実施形態>
図11は、第2の実施形態のデータベース管理装置100Aの機能概要図である。データベース管理装置100Aは、階層定義部106に代えて階層定義部106Aを、階層定義情報108に代えて階層定義情報108Aを、アクセス管理部120に代えてアクセス管理部120Aを備える。以下では階層定義部106A、階層定義情報108Aおよびアクセス管理部120Aを中心に説明する。
第2の実施形態に係る階層定義部106Aは、サービスサーバ500から取得したユーザデータ、およびユーザデータに関連するカテゴリ情報に基づいて、階層定義情報108Aにカテゴリ情報を付与する。クロース情報におけるカテゴリ情報とは、例えば、「コマース」、「ニュース」等の区分である。
図13は、データベース管理装置100Aが管理するユーザデータを模式的に示す図である。図13に示すユーザデータは、図4に示すユーザデータと比較して、1以上のサービスからなる「区分」によって識別が可能である。図13の上部に示す、「コマース」、「ニュース」および「広告」は、データベース利用者であるサービス提供者が提供するサービスの区分を示す。サービスの区分とは、例えば、類似するサービスをまとめて区別するものである。例えば、区分「コマース」には、サービス「旅行予約」、「ショッピング」および「オークション」が含まれる。
クロース情報は、複数の区分において共通する情報でもよいし、同一の区分に属する複数の種別において共通する情報でもよい。クロース情報は、区分に属するすべての種別によって構成されてもよいし、区分に属する一部の種別によって構成されてもよい。クロース情報は、例えば、区分「コマース」内で共通する情報である「ユーザ氏名」や、区分「コマース」の一部、サービス「ニュース」の一部、およびサービス「広告」内で共通する情報である「居住エリア」である。データベース利用者は、階層定義部106Aによってカテゴリ情報が設定されることにより、より効率的にクロース情報を参照できたり、より効率的にクロース情報に関連するシングル情報を参照したり書き込んだりすることが可能となる。
第1の実施形態では、クロース情報はデータ元のサービスを問わずリード権限が付与されるとしたが、第2の実施形態において、アクセス管理部120Aは、例えば、サービスに関連するクロース情報と同じクロース情報であっても、区分が異なるサービスのクロース情報にはアクセスできないようにする。これによって、不要なデータの検索をすることが無くなり、データベース利用者であるサービス提供者は提供サービスに関するユーザデータのみを円滑に取得しやすくなる。
図12は、データベース管理装置100Aの階層生成処理の流れの一例を示すフローチャートである。S600の処理は、図10のフローチャートにおけるS500の処理と同様である。また、S602の処理は、図10のフローチャートにおけるS502の処理と同様である。また、S606の処理は、図10のフローチャートにおけるS506の処理と同様である。したがって、下記ではS604について説明する。
S602の処理の後、レベル2リクエスト処理部112および階層定義部106Aは、カテゴリ情報を反映したクロース情報を生成する(S604)。以上、本フローチャートの処理を終了する。
上述のように、第2の実施形態のデータベース管理装置100Aは、第1の実施形態と同様の効果を奏する他、階層定義部106Aによって、クロース情報にカテゴリ情報を付与することで、さらに識別しやすい階層構造を形成することができ、ユーザデータの活用を安全性及び円滑性を高めることができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
10 端末装置、
100、100A データベース管理装置、
102 通信部、
104 解釈部、
106、106A 階層定義部、
108、108A 階層定義情報、
110 レベル1リクエスト処理部、
112 レベル2リクエスト処理部、
114 レベル3リクエスト処理部、
118 利用状況解析部、
120、120A アクセス管理部、
122 アクセス権限情報、
124 監査部、
200 ユーザデータベース、
500 サービスサーバ

Claims (7)

  1. 複数の参照主体により参照される第1階層のユーザデータと、前記第1階層よりも限定的な参照主体により参照される第2階層のユーザデータと、を含む階層的な論理構造を有するデータベースを管理するデータベース管理装置であって、
    少なくとも、
    前記第1階層に対応した参照主体からのリードリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返す第1階層処理部と、
    前記第2階層に対応した前記参照主体からのリードリクエストおよびライトリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返し、または前記データベースにおけるユーザデータを更新する第2階層処理部と、
    前記第2階層のユーザデータから、前記第1階層のユーザデータとなり得るユーザデータを抽出し、抽出したユーザデータを前記第1階層のユーザデータとして集約させる階層間処理部と、
    を備え、
    前記階層間処理部は、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータが揃うことで、あるユーザのユーザデータの全部が把握される場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行い、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、一つの階層に格納されたユーザデータで、あるユーザのユーザデータの内容が完結する場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行わない、
    データベース管理装置。
  2. 前記参照主体は、ネットワークを介してサービスを提供するサービス提供者であり、前記階層的な論理構造のうち最下層に格納されるユーザデータは、書き込み元のサービス提供者が管理するユーザのデータである、
    請求項1に記載のデータベース管理装置。
  3. 前記第1階層のユーザデータおよび前記第2階層のユーザデータを含む前記階層的な論理構造を定義する、階層定義部をさらに備える、
    請求項1または2に記載のデータベース管理装置。
  4. 前記参照主体による前記第1階層のユーザデータ、または前記第2階層のユーザデータに対するリクエストの受付状況を記憶し、前記参照主体による利用状況を監査する監査部をさらに備える、
    請求項1から3のいずれか一項に記載のデータベース管理装置。
  5. 前記階層定義部は、
    ネットワークを介して提供されるサービスを分類するカテゴリの情報に基づいて、前記第1階層のユーザデータに前記カテゴリの情報を付与する、
    請求項3に記載のデータベース管理装置。
  6. コンピュータが、
    複数の参照主体により参照される第1階層のユーザデータと、前記第1階層よりも限定的な参照主体により参照される第2階層のユーザデータと、を含む階層的な論理構造を有するデータベースを管理するデータベース管理方法であって、
    少なくとも、
    前記第1階層に対応した参照主体からのリードリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返し、
    前記第2階層に対応した前記参照主体からのリードリクエストおよびライトリクエストを受け付け、前記データベースからユーザデータを読み出して前記参照主体に返し、または前記データベースにおけるユーザデータを更新し、
    前記第2階層のユーザデータから、前記第1階層のユーザデータとなり得るユーザデータを抽出し、抽出したユーザデータを前記第1階層のユーザデータとして集約させ、
    前記集約させる際に、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータが揃うことで、あるユーザのユーザデータの全部が把握される場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行い、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、一つの階層に格納されたユーザデータで、あるユーザのユーザデータの内容が完結する場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行わない、
    データベース管理方法。
  7. コンピュータに、
    複数の参照主体により参照される第1階層のユーザデータと、前記第1階層よりも限定的な参照主体により参照される第2階層のユーザデータと、を含む階層的な論理構造を有するデータベースを管理させるプログラムであって、
    少なくとも、
    前記第1階層に対応した参照主体からのリードリクエストを受け付けさせ、前記データベースからユーザデータを読み出して前記参照主体に返させ、
    前記第2階層に対応した前記参照主体からのリードリクエストおよびライトリクエストを受け付けさせ、前記データベースからユーザデータを読み出して前記参照主体に返させ、または前記データベースにおけるユーザデータを更新させ、
    前記第2階層のユーザデータから、前記第1階層のユーザデータとなり得るユーザデータを抽出し、抽出したユーザデータを前記第1階層のユーザデータとして集約させることを行わせ、
    前記集約させる際に、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータが揃うことで、あるユーザのユーザデータの全部が把握される場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行わせ、
    前記集約させる処理を行う前の前記第1階層および前記第2階層を含む複数の階層に格納されたユーザデータを参照し、一つの階層に格納されたユーザデータで、あるユーザのユーザデータの内容が完結する場合は、前記集約させる処理の後に、上位層に書き込まれたデータを下位層から削除する処理を行わせない、
    プログラム。
JP2018116042A 2018-06-19 2018-06-19 データベース管理装置、データベース管理方法、およびプログラム Active JP7044645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018116042A JP7044645B2 (ja) 2018-06-19 2018-06-19 データベース管理装置、データベース管理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018116042A JP7044645B2 (ja) 2018-06-19 2018-06-19 データベース管理装置、データベース管理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019219847A JP2019219847A (ja) 2019-12-26
JP7044645B2 true JP7044645B2 (ja) 2022-03-30

Family

ID=69096669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018116042A Active JP7044645B2 (ja) 2018-06-19 2018-06-19 データベース管理装置、データベース管理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7044645B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344406A (ja) 2000-06-01 2001-12-14 Personalize Co Jp Inc 顧客データを活用する方法
JP2002099651A (ja) 2000-09-21 2002-04-05 Mitsubishi Electric Corp 情報提供方法、情報提供システム、モバイル端末装置
JP2004530195A (ja) 2001-03-14 2004-09-30 カーゴ インク. ユーザプロファイル管理のためのアクセス制御プロトコル
JP2004302623A (ja) 2003-03-28 2004-10-28 Sony Corp 顧客情報管理システム及び顧客情報管理方法、並びにコンピュータ・プログラム
US20110078195A1 (en) 2009-09-29 2011-03-31 Sap Ag Customer Data Separation in a Service Provider Scenario
WO2014136263A1 (ja) 2013-03-08 2014-09-12 株式会社 東芝 ストレージシステム、ストレージ装置の制御方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344406A (ja) 2000-06-01 2001-12-14 Personalize Co Jp Inc 顧客データを活用する方法
JP2002099651A (ja) 2000-09-21 2002-04-05 Mitsubishi Electric Corp 情報提供方法、情報提供システム、モバイル端末装置
JP2004530195A (ja) 2001-03-14 2004-09-30 カーゴ インク. ユーザプロファイル管理のためのアクセス制御プロトコル
JP2004302623A (ja) 2003-03-28 2004-10-28 Sony Corp 顧客情報管理システム及び顧客情報管理方法、並びにコンピュータ・プログラム
US20110078195A1 (en) 2009-09-29 2011-03-31 Sap Ag Customer Data Separation in a Service Provider Scenario
WO2014136263A1 (ja) 2013-03-08 2014-09-12 株式会社 東芝 ストレージシステム、ストレージ装置の制御方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山崎 康宏,Linux活用メモ 第29回,Software Design,日本,株式会社技術評論社,1997年07月18日,第81号,pp. 82-90

Also Published As

Publication number Publication date
JP2019219847A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
CN101689210B (zh) 聚集和搜索来自多个服务的简档数据
US9396209B2 (en) Selecting storage cloud for storage of entity files from plurality of storage clouds
US10176340B2 (en) Abstracted graphs from social relationship graph
US11715144B2 (en) Dynamic ranking of recommendation pairings
CN105991408B (zh) 一种消息处理方法、装置及处理服务器
CN103814374B (zh) 信息管理***及方法
CN112148679A (zh) 基于多种数据平台的数据交互方法、***、装置及存储介质
AU2017320476B2 (en) Systems and methods for sharing documents
US9208504B2 (en) Using geographical location to determine element and area information to provide to a computing device
US20100205159A1 (en) System and method for managing data
JP2017534113A (ja) データ許可を制御する方法及び装置
US20020174236A1 (en) Methods and apparatus for processing data in a content network
US20220284500A1 (en) Dynamic ranking of recommendation pairings
CN104519120A (zh) 业务对象附件和过期统一资源定位符
JP7301108B2 (ja) 情報通知装置、情報通知方法およびプログラム
JP2002117215A (ja) 特許管理システム
JP7044645B2 (ja) データベース管理装置、データベース管理方法、およびプログラム
JP6152238B2 (ja) データ流通システム、およびそのデータ流通システムを実現するゲートウエイシステム
US20220051343A1 (en) Life insurance policy application process and system
JP2022126409A (ja) 情報処理装置及びプログラム
US11222026B1 (en) Platform for staging transactions
JP5903015B2 (ja) 情報収集システム
JP2015197861A (ja) データ加工サーバおよびコンピュータプログラム
KR102332000B1 (ko) 도서 콘텐츠 제공 시스템
CN108898441A (zh) 分布式数据库***

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210210

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: 20210609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

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: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220317

R150 Certificate of patent or registration of utility model

Ref document number: 7044645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350