JP7253507B2 - 仮想化アクセラレーテッド処理デバイスの早期仮想化コンテキストスイッチ - Google Patents
仮想化アクセラレーテッド処理デバイスの早期仮想化コンテキストスイッチ Download PDFInfo
- Publication number
- JP7253507B2 JP7253507B2 JP2019571285A JP2019571285A JP7253507B2 JP 7253507 B2 JP7253507 B2 JP 7253507B2 JP 2019571285 A JP2019571285 A JP 2019571285A JP 2019571285 A JP2019571285 A JP 2019571285A JP 7253507 B2 JP7253507 B2 JP 7253507B2
- Authority
- JP
- Japan
- Prior art keywords
- apd
- virtualization
- function
- determining
- work
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
Description
本願は、2017年6月29日に出願された米国特許出願第15/637,800号の利益を主張するものであり、その内容は、本明細書に完全に記載されているかのように、言及することによって本明細書に援用される。
Claims (18)
- 仮想化アクセラレーテッド処理デバイス(APD)で早期仮想化コンテキストスイッチを実行する方法であって、
前記仮想化APD上で仮想マシンのワークを実行することに関連する現在の機能のタイムスライスが完了する前に、前記APDがアイドル状態であることを判別することであって、前記APDがアイドル状態になった後のタイムアウト期間中に、ドアベルが受信されていないことを判別することを含む、ことと、
前記判別したことに応じて、次の機能への早期仮想化コンテキストスイッチを実行することであって、前記早期仮想化コンテキストスイッチは、前記現在の機能の前記APD上の状態を保存し、前記APD上の前記次の機能の状態をロードし、前記APD上の前記次の機能のワークを開始することを含む、ことと、を含む、
方法。 - 前記次の機能のワークを開始することは、
前記次の機能のドアベルに基づいてコマンドをフェッチすることと、
前記次の機能の前記コマンドを実行することと、を含む、
請求項1の方法。 - 前記APDがアイドル状態であることを判別することは、
前記APDのグラフィックス処理パイプラインに未処理のワークがないことと、前記APDの計算ユニットに未処理のワークがないことと、を判別することを含む、
請求項1の方法。 - 前記APDがアイドル状態であることを判別することは、
前記APDのグラフィックス処理パイプラインに未処理のワークがないことと、前記APDの計算ユニットに未処理のワークがないことと、ドアベルが処理されていないか受信されていないことと、を判別することを含む、
請求項3の方法。 - 第2機能の第2タイムスライスが、前記APDがタイムアウト期間よりも長いアイドル状態にならずに完了したことに応じて、前記第2機能の前記第2タイムスライスが、早期仮想化コンテキストスイッチを実行することなく完了するのを可能にすることを含む、
請求項1の方法。 - 第2機能の第2タイムスライスの間にAPDがアイドル状態になることを判別することと、
前記第2機能の前記第2タイムスライスの間に前記APDがアイドル状態になった後のタイムアウト期間中にドアベルが受信されたことを判別することと、
早期仮想化コンテキストスイッチを実行する代わりに、前記ドアベルに関連するワークを実行することと、を含む、
請求項1の方法。 - 第2機能の第2タイムスライスの間にAPDがアイドル状態になることを判別することと、
前記第2機能の前記第2タイムスライスの間に前記APDがアイドル状態になった後のタイムアウト期間中にドアベルを受信することと、
前記第2タイムスライスに閾値未満の時間が残っていることを判別したことに応じて、前記ドアベルを受信したにもかかわらず早期仮想化コンテキストスイッチを実行することと、を含む、
請求項1の方法。 - 前記仮想化コンテキストスイッチを実行した後に、スケジューリングスキームに基づいて、前記仮想マシンに対して再びAPD上で順番が与えられることを判別することと、
前記仮想化コンテキストスイッチを実行してから前記仮想マシンのドアベルが受信されていないと判別したことに応じて、前記仮想マシンの前記順番をスキップすることと、を含む、
請求項1の方法。 - 早期仮想化コンテキストスイッチを実行可能なアクセラレーテッド処理デバイス(APD)であって、
前記APDは1つ以上の並列処理ユニットを含み、
ワークを実行するように構成された、複数の計算ユニット及びグラフィックス処理パイプラインであって、前記複数の計算ユニットは1つ以上の並列処理ユニットを含む、複数の計算ユニット及びグラフィックス処理パイプラインと、
第1プロセッサを備えるコマンドプロセッサであって、前記ワークに関連するコマンドを、前記複数の計算ユニット及び前記グラフィックス処理パイプラインに発行するように構成されたコマンドプロセッサと、
第2プロセッサを備える仮想化スケジューラと、を備え、
前記仮想化スケジューラは、
前記APD上で仮想マシンのワークを実行することに関連する現在の機能のタイムスライスが完了する前に、前記APDがアイドル状態であることを判別することであって、前記APDがアイドル状態になった後のタイムアウト期間中に、ドアベルが受信されていないことを判別することを含む、ことと、
前記判別したことに応じて、次の機能への早期仮想化コンテキストスイッチを実行することであって、前記早期仮想化コンテキストスイッチは、前記現在の機能の前記APD上の状態を保存し、前記APD上の前記次の機能の状態をロードし、前記APD上の前記次の機能のワークを開始することを含む、ことと、
を行うように構成されている、
APD。 - 前記仮想化スケジューラは、
前記次の機能のドアベルに基づいてコマンドをフェッチすることと、
前記次の機能の前記コマンドを実行することと、
によって、前記次の機能のワークを開始するように構成されている、
請求項9のAPD。 - 前記仮想化スケジューラは、
前記APDのグラフィックス処理パイプラインに未処理のワークがないことと、前記APDの計算ユニットに未処理のワークがないことと、を判別すること
によって、前記APDがアイドル状態であることを判別するように構成されている、
請求項9のAPD。 - 前記仮想化スケジューラは、
前記APDのグラフィックス処理パイプラインに未処理のワークがないことと、前記APDの計算ユニットに未処理のワークがないことと、ドアベルが処理されていないか受信されていないことと、を判別すること
によって、前記APDがアイドル状態であることを判別するように構成されている、
請求項11のAPD。 - 前記仮想化スケジューラは、
第2機能の第2タイムスライスが、前記APDがタイムアウト期間よりも長いアイドル状態にならずに完了したことに応じて、前記第2機能の前記第2タイムスライスが、早期仮想化コンテキストスイッチを実行することなく完了するのを可能にするように構成されている、
請求項9のAPD。 - 前記仮想化スケジューラは、
第2機能の第2タイムスライスの間にAPDがアイドル状態になることを判別することと、
前記第2機能の前記第2タイムスライスの間に前記APDがアイドル状態になった後のタイムアウト期間中にドアベルが受信されたことを判別することと、
前記APDに、早期仮想化コンテキストスイッチを実行する代わりに、前記ドアベルに関連するワークを実行させることと、
を行うように構成されている、
請求項9のAPD。 - 前記仮想化スケジューラは、
第2機能の第2タイムスライスの間にAPDがアイドル状態になることを判別することと、
前記第2機能の前記第2タイムスライスの間に前記APDがアイドル状態になった後のタイムアウト期間中にドアベルを検出することと、
前記第2タイムスライスに閾値未満の時間が残っていることを判別したことに応じて、前記ドアベルを受信したにもかかわらず早期仮想化コンテキストスイッチを実行することと、
を行うように構成されている、
請求項9のAPD。 - 前記仮想化スケジューラは、
前記仮想化コンテキストスイッチを実行した後に、スケジューリングスキームに基づいて、前記仮想マシンに対して再びAPD上で順番が与えられることを判別することと、
前記仮想化コンテキストスイッチを実行してから前記仮想マシンのドアベルが受信されていないと判別したことに応じて、前記仮想マシンの前記順番をスキップすることと、
を行うように構成されている、
請求項9のAPD。 - 複数の仮想マシンを実行するように構成されたプロセッサと、
早期仮想化コンテキストスイッチを実行可能なアクセラレーテッド処理デバイス(APD)と、を備えるデバイスであって、
前記APDは1つ以上の並列処理ユニットを含み、
前記APDは、
複数の前記仮想マシンの要求に応じてワークを実行するように構成された、複数の計算ユニット及びグラフィックス処理パイプラインであって、前記複数の計算ユニットは1つ以上の並列処理ユニットを含む、複数の計算ユニット及びグラフィックス処理パイプラインと、
第1プロセッサを備えるコマンドプロセッサであって、前記ワークに関連するコマンドを、複数の前記計算ユニット及び前記グラフィックス処理パイプラインに発行するように構成されたコマンドプロセッサと、
第2プロセッサを備える仮想化スケジューラと、を備え、
前記仮想化スケジューラは、
前記APD上で仮想マシンのワークを実行することに関連する現在の機能のタイムスライスが完了する前に、前記APDがアイドル状態であることを判別することであって、前記APDがアイドル状態になった後のタイムアウト期間中に、ドアベルが受信されていないことを判別することを含む、ことと、
前記判別したことに応じて、次の機能への早期仮想化コンテキストスイッチを実行することであって、前記早期仮想化コンテキストスイッチは、前記現在の機能の前記APD上の状態を保存し、前記APD上の前記次の機能の状態をロードし、前記APD上の前記次の機能のワークを開始することを含む、ことと、
を行うように構成されている、
デバイス。 - 前記仮想化スケジューラは、
前記次の機能のドアベルに基づいてコマンドをフェッチすることと、
前記次の機能の前記コマンドを実行することと、
によって、前記次の機能のワークを開始するように構成されている、
請求項17のデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/637,800 | 2017-06-29 | ||
US15/637,800 US10474490B2 (en) | 2017-06-29 | 2017-06-29 | Early virtualization context switch for virtualized accelerated processing device |
PCT/US2018/037341 WO2019005485A1 (en) | 2017-06-29 | 2018-06-13 | EARLY VIRTUALIZATION CONTEXT SWITCHING FOR VIRTUALIZED ACCELERATED PROCESSING DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020525913A JP2020525913A (ja) | 2020-08-27 |
JP7253507B2 true JP7253507B2 (ja) | 2023-04-06 |
Family
ID=64738704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019571285A Active JP7253507B2 (ja) | 2017-06-29 | 2018-06-13 | 仮想化アクセラレーテッド処理デバイスの早期仮想化コンテキストスイッチ |
Country Status (6)
Country | Link |
---|---|
US (1) | US10474490B2 (ja) |
EP (1) | EP3646177B1 (ja) |
JP (1) | JP7253507B2 (ja) |
KR (1) | KR102605313B1 (ja) |
CN (1) | CN110832457B (ja) |
WO (1) | WO2019005485A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304177A (zh) * | 2017-01-13 | 2018-07-20 | 辉达公司 | 计算图的执行 |
US10459751B2 (en) * | 2017-06-30 | 2019-10-29 | ATI Technologies ULC. | Varying firmware for virtualized device |
US11243799B2 (en) * | 2019-08-30 | 2022-02-08 | Advanced Micro Devices, Inc. | Adaptive world switching |
JP7153678B2 (ja) * | 2020-01-22 | 2022-10-14 | ソフトバンク株式会社 | コンピュータ |
US11340942B2 (en) * | 2020-03-19 | 2022-05-24 | Raytheon Company | Cooperative work-stealing scheduler |
US11768696B2 (en) * | 2020-12-14 | 2023-09-26 | Ati Technologies Ulc | Security for microengine access |
WO2023146730A1 (en) * | 2022-01-25 | 2023-08-03 | Microsoft Technology Licensing, Llc | Elastically managing workers of multi-worker workloads on accelerator devices |
CN116521376B (zh) * | 2023-06-29 | 2023-11-21 | 南京砺算科技有限公司 | 物理显卡的资源调度方法及装置、存储介质、终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022627A (ja) | 2009-07-13 | 2011-02-03 | Hitachi Ltd | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 |
US20130124838A1 (en) | 2011-11-10 | 2013-05-16 | Lacky V. Shah | Instruction level execution preemption |
JP2013546098A (ja) | 2010-12-13 | 2013-12-26 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | グラフィックス計算プロセススケジューリング |
JP2015503784A (ja) | 2011-12-28 | 2015-02-02 | エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc | グラフィックス処理部における仮想マシン間の移行 |
US20150220367A1 (en) | 2014-02-04 | 2015-08-06 | The Boeing Company | Removal of idle time in virtual machine operation |
US20170069054A1 (en) | 2015-09-04 | 2017-03-09 | Intel Corporation | Facilitating efficient scheduling of graphics workloads at computing devices |
WO2017049538A1 (en) | 2015-09-24 | 2017-03-30 | Intel Corporation | Apparatus and method for pattern driven self-adaptive virtual graphics processor units |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007004854A (ja) | 2005-06-22 | 2007-01-11 | Hitachi Ltd | 光ディスク装置 |
US7545381B2 (en) * | 2005-11-10 | 2009-06-09 | Via Technologies, Inc. | Interruptible GPU and method for context saving and restoring |
US9086922B2 (en) * | 2009-10-26 | 2015-07-21 | Microsoft Technology Licensing, Llc | Opportunistically scheduling and adjusting time slices |
US8803891B2 (en) * | 2010-12-13 | 2014-08-12 | Advanced Micro Devices, Inc. | Method for preempting graphics tasks to accommodate compute tasks in an accelerated processing device (APD) |
US20120229481A1 (en) * | 2010-12-13 | 2012-09-13 | Ati Technologies Ulc | Accessibility of graphics processing compute resources |
US9507632B2 (en) * | 2010-12-15 | 2016-11-29 | Advanced Micro Devices, Inc. | Preemptive context switching of processes on ac accelerated processing device (APD) based on time quanta |
US20140157287A1 (en) * | 2012-11-30 | 2014-06-05 | Advanced Micro Devices, Inc | Optimized Context Switching for Long-Running Processes |
US9727451B2 (en) * | 2014-03-28 | 2017-08-08 | Fortinet, Inc. | Virtualization in a multi-host environment |
US9639401B1 (en) * | 2014-05-08 | 2017-05-02 | Rockwell Collins, Inc. | Multicore adaptive scheduler |
US20150378782A1 (en) * | 2014-06-25 | 2015-12-31 | Unisys Corporation | Scheduling of tasks on idle processors without context switching |
US9411629B1 (en) * | 2015-03-10 | 2016-08-09 | International Business Machines Corporation | Reducing virtual machine pre-emption in virtualized environment |
US10545800B2 (en) * | 2017-05-31 | 2020-01-28 | Ati Technologies Ulc | Direct doorbell ring in virtualized processing device |
-
2017
- 2017-06-29 US US15/637,800 patent/US10474490B2/en active Active
-
2018
- 2018-06-13 EP EP18824478.4A patent/EP3646177B1/en active Active
- 2018-06-13 WO PCT/US2018/037341 patent/WO2019005485A1/en unknown
- 2018-06-13 CN CN201880042357.2A patent/CN110832457B/zh active Active
- 2018-06-13 JP JP2019571285A patent/JP7253507B2/ja active Active
- 2018-06-13 KR KR1020207001390A patent/KR102605313B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022627A (ja) | 2009-07-13 | 2011-02-03 | Hitachi Ltd | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 |
JP2013546098A (ja) | 2010-12-13 | 2013-12-26 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | グラフィックス計算プロセススケジューリング |
US20130124838A1 (en) | 2011-11-10 | 2013-05-16 | Lacky V. Shah | Instruction level execution preemption |
JP2015503784A (ja) | 2011-12-28 | 2015-02-02 | エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc | グラフィックス処理部における仮想マシン間の移行 |
US20150220367A1 (en) | 2014-02-04 | 2015-08-06 | The Boeing Company | Removal of idle time in virtual machine operation |
US20170069054A1 (en) | 2015-09-04 | 2017-03-09 | Intel Corporation | Facilitating efficient scheduling of graphics workloads at computing devices |
WO2017049538A1 (en) | 2015-09-24 | 2017-03-30 | Intel Corporation | Apparatus and method for pattern driven self-adaptive virtual graphics processor units |
Also Published As
Publication number | Publication date |
---|---|
KR102605313B1 (ko) | 2023-11-23 |
US10474490B2 (en) | 2019-11-12 |
JP2020525913A (ja) | 2020-08-27 |
US20190004839A1 (en) | 2019-01-03 |
WO2019005485A1 (en) | 2019-01-03 |
EP3646177A1 (en) | 2020-05-06 |
CN110832457B (zh) | 2024-05-24 |
CN110832457A (zh) | 2020-02-21 |
EP3646177B1 (en) | 2022-10-12 |
KR20200014426A (ko) | 2020-02-10 |
EP3646177A4 (en) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7253507B2 (ja) | 仮想化アクセラレーテッド処理デバイスの早期仮想化コンテキストスイッチ | |
CN109643291B (zh) | 用于在虚拟化执行环境中高效使用图形处理资源的方法和设备 | |
US10026145B2 (en) | Resource sharing on shader processor of GPU | |
KR101477882B1 (ko) | 서브버퍼 오브젝트 | |
JP6918919B2 (ja) | 自動的にコンパイルされたコンピュートシェーダを用いるプリミティブカリング | |
US9799094B1 (en) | Per-instance preamble for graphics processing | |
US9563466B2 (en) | Method and apparatus for supporting programmable software context state execution during hardware context restore flow | |
US10509666B2 (en) | Register partition and protection for virtualized processing device | |
JP7282675B2 (ja) | アウトオブオーダキャッシュリターン | |
US11182186B2 (en) | Hang detection for virtualized accelerated processing device | |
US10545800B2 (en) | Direct doorbell ring in virtualized processing device | |
US20220058048A1 (en) | Varying firmware for virtualized device | |
JP7121019B2 (ja) | アウトオブオーダのピクセルシェーダのエクスポート | |
US20210089423A1 (en) | Flexible multi-user graphics architecture | |
US20220091880A1 (en) | Fine-grained conditional dispatching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210603 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221125 |
|
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: 20230307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7253507 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |