JP7196858B2 - 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム - Google Patents
入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム Download PDFInfo
- Publication number
- JP7196858B2 JP7196858B2 JP2019560539A JP2019560539A JP7196858B2 JP 7196858 B2 JP7196858 B2 JP 7196858B2 JP 2019560539 A JP2019560539 A JP 2019560539A JP 2019560539 A JP2019560539 A JP 2019560539A JP 7196858 B2 JP7196858 B2 JP 7196858B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- packet
- output device
- area
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System (AREA)
Description
<全体構成>
図1は、本実施の形態にかかるデバイス仮想化システム6の構成を示す図である。デバイス仮想化システム6は、コンピュータである入出力実行装置1と、入出力ボックス3と、を含む。入出力ボックス3は、入出力実行装置1と通信網2経由でリモート接続される入出力デバイスA 32を収容する。通信網2は、例えばイーサネット(登録商標)であるが、IP(Internet Protocol)ネットワーク等、他のネットワークであっても良い。
また、ページアドレス変換テーブル15と、アドレス管理テーブル145とは、メモリ18に記憶されるデータ構造である。
図2は、入出力実行装置1の仮想メモリ空間5を示す図である。メモリマップト方式の入出力実行装置1の仮想メモリ空間5には、ローカル接続されている入出力デバイスがマップされている領域が存在する。入出力実行装置1の構成が図1に示す通りである場合、入出力実行装置1の仮想メモリ空間5には、入出力デバイスB 21に割当てられている領域であるマップ空間B 51と、NIC22に割当てられている領域であるマップ空間N 52が存在する。一方、リモート接続されている入出力デバイスA 32に割当てられている領域は存在しない。仮想メモリ空間5の割当情報は、OS12が管理する情報に登録されている。
デバイスメモリ管理部141はまた、入出力デバイスA 32をマップしたマップ空間A 53にCPU17がアクセスした場合にページフォルト割込みを発生するようにページアドレス変換テーブル15を設定する。入出力デバイスA 32のデバイスAドライバ13を実行するCPU17は、入出力コマンド発行時にマップ空間A 53の一部にアクセスする。アクセスされるマップ空間A 53の一部とは、入出力コマンド発行時にメモリアクセスされるアドレスの領域、すなわちメモリライトまたはメモリリード命令の宛先アドレス(オペランドのアドレス)の領域であり、例えば、上述した例におけるA番地とかB番地の領域である。アクセスインターセプト部142は、入出力コマンド発行時のメモリアクセス命令で発生するページフォルト割込みにより、入出力 コマンドの発行を検出できるようになる。
アプリケーションプログラム11は、OS12が提供するインタフェースを介し、デバイスAドライバ13に入出力デバイスA 32を使用する要求を行う。
次に、図面を参照して本実施の形態の動作について詳細に説明する。
入出力ボックス3は、NIC22、及び、通信網2を介してではなく、他のインタフェースで入出力実行装置1に接続されていても良い。例えば、入出力ボックス3は、SCSI(Small Computer System Interface)規格の入出力制御ボード経由で入出力実行装置1に接続されていても良い。
本実施の形態の入出力実行装置1は、ブリッジ19に接続されていない入出力デバイスA 32、例えば、通信網2を介してリモート接続されている入出力デバイスA 32を、ブリッジ19に接続されているかのように仮想化できる。すなわち、入出力実行装置1は、例えば、イーサネットを介してリモート接続されている入出力デバイスA 32を、ブリッジ19に接続されているかのように仮想化できる。その結果、入出力実行装置1は、デバイスAドライバ13等が、ブリッジ19に接続されていない入出力デバイスと接続されている入出力デバイスを同じインタフェースで入出力できるようにする。
図8は、本実施の形態の入出力実行装置10の構成図である。入出力実行装置10は、デバイスAドライバ13と、デバイスメモリ管理部141と、アクセスインターセプト部142と、入出力パケット送受信部144と、を備える。
2 通信網
3 入出力ボックス
4 ホスト
5 仮想メモリ空間
6 デバイス仮想化システム
10 入出力実行装置
11 アプリケーションプログラム
12 OS
13 デバイスAドライバ
14 アクセス擬似部
15 ページアドレス変換テーブル
16 NICドライバ
17 CPU
18 メモリ
19 ブリッジ
21 入出力デバイスB
22 NIC
24 ブリッジではない接続手段
31 リモートブリッジ
32 入出力デバイスA
32-1 入出力デバイスA
32-2 入出力デバイスA
51 マップ空間B
52 マップ空間N
53 マップ空間A
101 アプリケーション
107 CPU
108 メモリ
109 ブリッジ
110 入出力デバイス
145 アドレス管理テーブル
151 インデックス部
152 ページテーブル
401 仮想マシン
402 仮想マシンモニタ
4011 OS
4012 入出力デバイスドライバ
Claims (10)
- NIC(Network Interface Card)を介して接続された入出力デバイスに割当てられている、仮想空間の領域にアクセスすることで当該入出力デバイスに入出力コマンドを発行するデバイスドライバと、
前記領域を、アクセスされるとページフォルトを発生する状態に設定するデバイスメモリ管理手段と、
前記デバイスドライバが前記領域にアクセスしたときに発生する前記ページフォルトを検出して、前記入出力コマンドの発行を検出して、前記入出力コマンドを判別するアクセスインターセプト手段と、
入出力パケットを生成して、前記NICを介して接続された前記入出力デバイスに送信する入出力パケット送受信手段と、を備え、
前記入出力パケットは、前記入出力デバイスがローカル接続された場合に、前記入出力デバイスとローカル接続するブリッジが、前記入出力コマンドを受けると生成する入出力パケットと同じであり、
前記NICを介して接続された前記入出力デバイスに割り当てられている前記仮想空間の領域は、ローカル接続された入出力デバイスに割り当てられた前記仮想空間の領域と重ならない領域である入出力実行装置。 - 前記デバイスドライバは、前記領域内の所定のアドレスに書き込む、または、前記所定のアドレスから読み込む命令を実行することにより前記入出力コマンドを発行し、
前記アクセスインターセプト手段は、前記ページフォルトを発生した前記命令の種類、及び、前記所定のアドレスに基づいて、前記入出力コマンドを判別する、請求項1に記載の入出力実行装置。 - 指定された前記入出力パケットに格納されているデータを、指定されたアドレスのメモリに格納するDMA実行手段を、さらに備え、
前記入出力パケット送受信手段は、前記データと指定された前記アドレスを格納し、前記メモリへデータ書き込みを要求する前記入出力パケットを、前記入出力デバイスから受信すると前記DMA実行手段にDMAの要求を送信する、請求項1乃至請求項2の何れか一項に記載の入出力実行装置。 - 前記入出力デバイスとローカル接続する前記ブリッジは、所定入出力バス規格に準拠したバスで前記入出力デバイスと接続されるブリッジである前記請求項1乃至請求項3の何れか一項の入出力実行装置と、
前記NICを介して接続された前記入出力デバイスと、前記入出力デバイスを通信網に接続するリモートブリッジとを備える入出力ボックスと、を含み、
前記入出力パケット送受信手段は、前記入出力コマンドに応じた前記所定入出力バス規格に準拠した前記入出力パケットを生成して前記通信網のフレームに搭載して送信し、前記リモートブリッジは、受信した前記通信網の前記フレームから前記入出力パケットを取り出して前記入出力デバイスに送信する、デバイス仮想化システム。 - 前記入出力パケット送受信手段は、PCI Express規格に準拠した入出力パケットを生成する、請求項4に記載のデバイス仮想化システム。
- 前記入出力実行装置は、接続されている前記入出力デバイスに割当てられている前記領域のアドレスを記憶するOSをさらに備え、
前記デバイスメモリ管理手段は、前記入出力実行装置の前記仮想空間から、前記入出力実行装置に接続されている前記入出力デバイスに割当てられていない前記領域を検索して、前記リモートブリッジに接続されている前記入出力デバイスに割当てる、請求項4に記載のデバイス仮想化システム。 - NIC(Network Interface Card)を介して接続された入出力デバイスに割当てられている仮想空間の領域を、アクセスされるとページフォルトを発生する状態に設定し、
前記領域をアクセスすることで当該入出力デバイスに入出力コマンドを発行し、
前記領域にアクセスしたときに発生する前記ページフォルトを検出して、前記入出力コマンドの発行を検出して、前記入出力コマンドを判別し、
入出力パケットを生成して、前記NICを介して接続された前記入出力デバイスに送信し、
前記入出力パケットは、前記入出力デバイスがローカル接続された場合に、前記入出力デバイスとローカル接続するブリッジが、前記入出力コマンドを受けると生成する入出力パケットと同じであり、
前記NICを介して接続された前記入出力デバイスに割り当てられている前記仮想空間の領域は、ローカル接続された入出力デバイスに割り当てられた前記仮想空間の領域と重ならない領域である入出力実行方法。 - 前記領域内の所定のアドレスに書き込む、または、前記所定のアドレスから読み込む命令を実行することにより前記入出力コマンドを発行し、
前記ページフォルトを発生した前記命令の種類、及び、前記所定のアドレスに基づいて、前記入出力コマンドを判別する、請求項7に記載の入出力実行方法。 - NIC(Network Interface Card)を介して接続された入出力デバイスに割当てられている、仮想空間の領域にアクセスすることで当該入出力デバイスに入出力コマンドを発行するデバイスドライバ処理と、
前記領域を、アクセスされるとページフォルトを発生する状態に設定するデバイスメモリ管理処理と、前記領域にアクセスしたときに発生する前記ページフォルトを検出して、前記入出力コマンドの発行を検出して、前記入出力コマンドを判別するアクセスインターセプト処理と、
入出力パケットを生成して、前記NICを介して接続された前記入出力デバイスに送信する入出力パケット送受信処理と、をコンピュータに実行させ、
前記入出力パケットは、前記入出力デバイスがローカル接続された場合に、前記入出力デバイスとローカル接続するブリッジが、前記入出力コマンドを受けると生成する入出力パケットと同じであり、
前記NICを介して接続された前記入出力デバイスに割り当てられている前記仮想空間の領域は、ローカル接続された入出力デバイスに割り当てられた前記仮想空間の領域と重ならない領域である入出力実行プログラム。 - 前記領域内の所定のアドレスに書き込む、または、前記所定のアドレスから読み込む命令を実行することにより前記入出力コマンドを発行する前記デバイスドライバ処理と、
前記ページフォルトを発生した前記命令の種類、及び、前記所定のアドレスに基づいて、前記入出力コマンドを判別する前記アクセスインターセプト処理をコンピュータに実行させる、請求項9に記載のプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017243743 | 2017-12-20 | ||
JP2017243743 | 2017-12-20 | ||
PCT/JP2018/046829 WO2019124450A1 (ja) | 2017-12-20 | 2018-12-19 | 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019124450A1 JPWO2019124450A1 (ja) | 2020-11-19 |
JP7196858B2 true JP7196858B2 (ja) | 2022-12-27 |
Family
ID=66993384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019560539A Active JP7196858B2 (ja) | 2017-12-20 | 2018-12-19 | 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11126576B2 (ja) |
JP (1) | JP7196858B2 (ja) |
WO (1) | WO2019124450A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726904B2 (en) * | 2021-09-23 | 2023-08-15 | International Business Machines Corporation | Controlled input/output in progress state during testcase processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004528656A (ja) | 2001-05-16 | 2004-09-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 組込み制御環境におけるリモート入出力機能への効率的なアクセスのための方法およびシステム |
WO2013150792A1 (ja) | 2012-04-06 | 2013-10-10 | 日本電気株式会社 | I/oデバイス共有システムおよびi/oデバイス共有方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246453A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US7613898B2 (en) * | 2006-01-17 | 2009-11-03 | Globalfoundries Inc. | Virtualizing an IOMMU |
JP2009259108A (ja) * | 2008-04-18 | 2009-11-05 | Toshiba Corp | 情報処理装置および情報処理装置の制御方法 |
US8386745B2 (en) * | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
US8656137B2 (en) * | 2011-09-01 | 2014-02-18 | Qualcomm Incorporated | Computer system with processor local coherency for virtualized input/output |
US20130145055A1 (en) * | 2011-12-02 | 2013-06-06 | Andrew Kegel | Peripheral Memory Management |
US9465674B2 (en) * | 2012-03-30 | 2016-10-11 | Intel Corporation | Direct memory (DMA) based access to a device on a remote machine using stub driver and by synchronizing the DMA buffer |
US8745276B2 (en) * | 2012-09-27 | 2014-06-03 | Mellanox Technologies Ltd. | Use of free pages in handling of page faults |
JP5917441B2 (ja) | 2013-06-03 | 2016-05-11 | 株式会社日立製作所 | 仮想計算機システム、sr−iov対応デバイスの制御方法 |
-
2018
- 2018-12-19 JP JP2019560539A patent/JP7196858B2/ja active Active
- 2018-12-19 US US16/770,250 patent/US11126576B2/en active Active
- 2018-12-19 WO PCT/JP2018/046829 patent/WO2019124450A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004528656A (ja) | 2001-05-16 | 2004-09-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 組込み制御環境におけるリモート入出力機能への効率的なアクセスのための方法およびシステム |
WO2013150792A1 (ja) | 2012-04-06 | 2013-10-10 | 日本電気株式会社 | I/oデバイス共有システムおよびi/oデバイス共有方法 |
Non-Patent Citations (1)
Title |
---|
辻 聡 ほか,"ルートコンプレックスの仮想化によるCPUとI/OデバイスツリーのPCI-Expressプロトコルレベルでの分離",第78回(平成28年)全国大会講演論文集(1),一般社団法人情報処理学会,2016年03月10日,pp.1-23~1ー24 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019124450A1 (ja) | 2020-11-19 |
US11126576B2 (en) | 2021-09-21 |
US20200387463A1 (en) | 2020-12-10 |
WO2019124450A1 (ja) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200278880A1 (en) | Method, apparatus, and system for accessing storage device | |
US8291425B2 (en) | Computer, control method for virtual device, and program thereof | |
US7890669B2 (en) | Computer system for sharing I/O device | |
US7702826B2 (en) | Method and apparatus by utilizing platform support for direct memory access remapping by remote DMA (“RDMA”)-capable devices | |
JP6110946B2 (ja) | ゲスト仮想マシン内の仮想入出力メモリ管理ユニット | |
US9639464B2 (en) | Application-assisted handling of page faults in I/O operations | |
US8914458B2 (en) | Look-ahead handling of page faults in I/O operations | |
US8745276B2 (en) | Use of free pages in handling of page faults | |
US9880954B2 (en) | Method and apparatus for providing data access | |
JP5737050B2 (ja) | 情報処理装置、割込み制御方法および割込み制御プログラム | |
US20180027074A1 (en) | System and method for storage access input/output operations in a virtualized environment | |
JP4788124B2 (ja) | データ処理システム | |
US11194735B2 (en) | Technologies for flexible virtual function queue assignment | |
US11442767B2 (en) | Virtual serial ports for virtual machines | |
WO2016119469A1 (zh) | 业务上下文管理方法、物理主机、pcie设备及迁移管理设备 | |
KR101716715B1 (ko) | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 | |
WO2015180598A1 (zh) | 对存储设备的访问信息处理方法和装置、系统 | |
CN110058946B (zh) | 设备虚拟化方法、装置、设备及存储介质 | |
US20220050795A1 (en) | Data processing method, apparatus, and device | |
US20230133273A1 (en) | System and interrupt handling method | |
WO2023221847A1 (zh) | 基于虚拟机设备直通的数据访问方法、设备以及系统 | |
JP7196858B2 (ja) | 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム | |
JP4894963B2 (ja) | データ処理システム | |
Maffione et al. | BPFHV: Adaptive network paravirtualization for continuous Cloud Provider evolution | |
GB2465801A (en) | Control element to access data held in a memory of a first device before the data is access by a second device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200525 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210915 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20211021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220719 |
|
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: 20221115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221128 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7196858 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |