JP6199477B2 - ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 - Google Patents
ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 Download PDFInfo
- Publication number
- JP6199477B2 JP6199477B2 JP2016501323A JP2016501323A JP6199477B2 JP 6199477 B2 JP6199477 B2 JP 6199477B2 JP 2016501323 A JP2016501323 A JP 2016501323A JP 2016501323 A JP2016501323 A JP 2016501323A JP 6199477 B2 JP6199477 B2 JP 6199477B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- operating system
- guest operating
- priority
- virtual processor
- 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.)
- Expired - Fee Related
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/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/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
-
- 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/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Description
本出願は、2013年3月14日に出願した本願の譲受人が所有する米国非仮特許出願第13/828,183号の優先権を主張するものであり、その内容は、参照によりその全体が本明細書に明確に組み込まれている。
110 プロセッサ
110 ハードウェアリソース
120 ハイパーバイザ
121 優先度認識スケジューラ
122 仮想プロセッサ作成/削除モジュール
123 仮想プロセッサブロッキング/ブロッキング解除モジュール
130 ゲストオペレーティングシステム
130 第1のゲストOS
131 仮想プロセッサ
132 仮想プロセッサ
133 仮想プロセッサ
134 仮想プロセッサ
140 ゲストオペレーティングシステム
140 第2のゲストOS
141 仮想プロセッサ
142 仮想プロセッサ
143 仮想プロセッサ
144 仮想プロセッサ
151 タスク
152 タスク
153 タスク
154 タスク
161 タスク
162 タスク
163 タスク
164 タスク
200 コンピューティング環境
240 従来型オペレーティングシステム
240 第3のゲストOS
241 仮想プロセッサ
242 「ネイティブ」オペレーティングシステムスケジューラ
242 スケジューラ
500 電子デバイス
510 プロセッサ
522 システムオンチップデバイス
526 ディスプレイコントローラ
528 ディスプレイ
530 入力デバイス
532 メモリ
534 符号器/復号器(CODEC)
536 スピーカ
538 マイクロフォン
540 ワイヤレスコントローラ
542 アンテナ
544 電源
556 実行可能命令
556 命令
570 ハイパーバイザ
572 第1のゲストオペレーティングシステム
572 第1のゲストOS
574 第2のゲストオペレーティングシステム
574 第2のゲストOS
600 システム
620 制御ブロック
620 タスク/仮想プロセッサ制御ブロック
640 実行リスト
630 準備リスト
660 マルチスレッドプロセッサ
Claims (43)
- コンピューティングデバイスのハイパーバイザで、第1のゲストオペレーティングシステム内の1つまたは複数の第1のタスクにそれぞれ対応する1つまたは複数の第1の仮想プロセッサを作成するステップと、
前記コンピューティングデバイスのハードウェアプロセッサで実行するために、前記第1の仮想プロセッサと、第2のゲストオペレーティングシステム内の1つまたは複数の第2のタスクにそれぞれ対応する1つまたは複数の第2の仮想プロセッサをスケジューリングするステップであって、前記第1の仮想プロセッサの各々は対応する前記第1のタスクの第1のタスク優先度に対応する第1の優先度を有し、前記第2の仮想プロセッサの各々は対応する前記第2のタスクの第2のタスク優先度に対応する第2の優先度を有し、前記第1のタスク優先度は前記第1のゲストオペレーティングシステムによって前記第1のタスクに割り当てられ、前記第2のタスク優先度は前記第2のゲストオペレーティングシステムによって前記第2のタスクに割り当てられ、前記ハイパーバイザは、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスクおよび前記第2のタスクを含む前記第2のゲストオペレーティングシステムのタスクに関連する優先度情報へのアクセスを持ち、前記ハイパーバイザは、前記第1のタスクと前記第2のタスクに関連する前記優先度情報に基づいて前記第1の仮想プロセッサと前記第2の仮想プロセッサに優先度を割り当てる、ステップと
を含む方法。 - 前記コンピューティングデバイスの前記ハイパーバイザで、前記第1のゲストオペレーティングシステムの第1のタスクを実行するために、前記第1の仮想プロセッサを作成するために前記第1のゲストオペレーティングシステムから第1の要求を受信するステップと、
前記第1のゲストオペレーティングシステムの前記第1のタスクから第2の要求に基づいて前記第1の仮想プロセッサをブロッキングまたはブロッキング解除するステップと
をさらに含む請求項1に記載の方法。 - 前記第2のゲストオペレーティングシステムの第2のタスクに関連する前記第2の仮想プロセッサをスケジューリングする前に、前記第1のタスクに関連する前記第1の仮想プロセッサをスケジューリングすることを決定するステップをさらに含む請求項1に記載の方法。
- 前記第2の仮想プロセッサの前に前記第1の仮想プロセッサをスケジューリングすることを決定するステップは、前記第1の仮想プロセッサの前記第1の優先度が前記第2の仮想プロセッサの前記第2の優先度よりも高いことを決定するステップを含む請求項3に記載の方法。
- 前記第1のゲストオペレーティングシステムの前記第1のタスクおよび前記第2のゲストオペレーティングシステムの第2のタスクは、共通同期プリミティブにアクセスするように構成される、請求項1に記載の方法。
- 前記同期プリミティブは、前記第1のゲストオペレーティングシステムおよび前記第2のゲストオペレーティングシステムによって共有されるメモリに格納されたデータ値を含み、前記データ値は、前記メモリのユーザモードアドレスに格納される請求項5に記載の方法。
- 特定のゲストオペレーティングシステムのタスクが前記同期プリミティブを保持している場合、前記特定のゲストオペレーティングシステムの前記タスクは、前記同期プリミティブへの読み取り書き込みアクセスを持ち、前記同期プリミティブでブロッキングされている別のゲストオペレーティングシステムの少なくとも1つのタスクは前記同期プリミティブへの読み取り専用アクセスを持つ、請求項5に記載の方法。
- 他方のゲストオペレーティングシステムの少なくとも1つのタスクは、タイムアウト期間の間に前記同期プリミティブが解放されていない場合、前記タイムアウト期間の期限切れ時にブロッキング解除される請求項7に記載の方法。
- 前記第1のゲストオペレーティングシステムのタスクの優先度および前記第2のゲストオペレーティングシステムのタスクの優先度は、優先度の共通の組から選択される請求項1に記載の方法。
- 前記第1のゲストオペレーティングシステムは、前記第1のゲストオペレーティングシステムが前記第1のゲストオペレーティングシステムのタスクに割り当てることができる第1の最高の優先度を持ち、前記第2のゲストオペレーティングシステムは、前記第2のゲストオペレーティングシステムが前記第2のゲストオペレーティングシステムのタスクに割り当てることができる第2の最高の優先度を持つ請求項1に記載の方法。
- 前記第1の最高の優先度は、前記第2の最高の優先度とは異なる請求項10に記載の方法。
- 前記ハイパーバイザは、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクがより高い優先度のタスクをブロックした場合、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクの優先度を一時的に高めるように構成される請求項1に記載の方法。
- 前記ハイパーバイザで、第3のタスクを実行するための第3の仮想プロセッサを作成する要求を前記第1のゲストオペレーティングシステムから受信するステップと、
前記第1のゲストオペレーティングシステムのために第3の仮想プロセッサを作成するステップと、
前記コンピューティングデバイスの前記ハードウェアプロセッサで実行するために前記第3の仮想プロセッサをスケジューリングするステップであって、前記第3の仮想プロセッサは前記対応する第3のタスクの第3のタスク優先度に対応する第3の優先度を有し、前記第3のタスク優先度は前記第1のゲストオペレーティングシステムにより割り当てられる、ステップと、
前記第1の仮想プロセッサの前記第1の優先度が前記第3の仮想プロセッサの前記第3の優先度より高いと判定した後、前記第3の仮想プロセッサの前に前記第1の仮想プロセッサをスケジューリングすることを決定するステップと、
をさらに含む、請求項1に記載の方法。 - コンピュータによって実行された場合、前記コンピュータに、
ハイパーバイザで、第1のゲストオペレーティングシステム内の1つまたは複数の第1のタスクにそれぞれ対応する1つまたは複数の第1の仮想プロセッサを作成するステップと、
前記第1の仮想プロセッサと、第2のゲストオペレーティングシステム内の1つまたは複数の第2のタスクにそれぞれ対応する1つまたは複数の第2の仮想プロセッサをスケジューリングするステップであって、前記第1の仮想プロセッサの各々は対応する前記第1のタスクの第1のタスク優先度に対応する第1の優先度を有し、前記第2の仮想プロセッサの各々は対応する前記第2のタスクの第2のタスク優先度に対応する第2の優先度を有し、前記第1のタスク優先度は前記第1のゲストオペレーティングシステムによって前記第1のタスクに割り当てられ、前記第2のタスク優先度は前記第2のゲストオペレーティングシステムによって前記第2のタスクに割り当てられ、前記ハイパーバイザは、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスクおよび前記第2のタスクを含む前記第2のゲストオペレーティングシステムのタスクに関連する優先度情報へのアクセスを持ち、前記ハイパーバイザは、前記第1のタスクと前記第2のタスクに関連する前記優先度情報に基づいて前記第1の仮想プロセッサと前記第2の仮想プロセッサに優先度を割り当てる、ステップと、
を実行させる命令を含むコンピュータ可読記憶媒体。 - 前記コンピュータによって実行された場合、前記コンピュータに、
前記ハイパーバイザで、前記第1のゲストオペレーティングシステムの前記第1のタスクを実行するために、前記第1の仮想プロセッサを作成するために前記第1のゲストオペレーティングシステムから第1の要求を受信させ、
前記第1のゲストオペレーティングシステムの前記第1のタスクから第2の要求に基づいて前記第1の仮想プロセッサをブロッキングまたはブロッキング解除させる
命令をさらに含む請求項14に記載のコンピュータ可読記憶媒体。 - プロセッサと、
第1のゲストオペレーティングシステムと、
第2のゲストオペレーティングシステムと、
を含み、
前記第1のゲストオペレーティングシステムは、第1の仮想プロセッサの1つにそれぞれ対応する複数の第1のタスクを実行するために1つまたは複数の前記第1の仮想プロセッサを作成することをハイパーバイザに要求し、
前記第2のゲストオペレーティングシステムは、第2の仮想プロセッサの1つにそれぞれ対応する複数の第2のタスクを実行するために1つまたは複数の前記第2の仮想プロセッサを作成することをハイパーバイザに要求し、
前記ハイパーバイザは前記第1の仮想プロセッサと前記第2の仮想プロセッサとを作成し、
前記第1の仮想プロセッサおよび第2の仮想プロセッサは、前記プロセッサでスケジューリングすることができ、
第1の仮想プロセッサは前記第1のタスクの第1のタスク優先度に対応する第1の優先度を有し、第2の仮想プロセッサは前記第2のタスクの第2のタスク優先度に対応する第2の優先度を有し、前記第1のタスク優先度は前記第1のゲストオペレーティングシステムによって前記第1のタスクに割り当てられ、前記第2のタスク優先度は前記第2のゲストオペレーティングシステムによって前記第2のタスクに割り当てられ、前記ハイパーバイザは、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスクおよび前記第2のタスクを含む前記第2のゲストオペレーティングシステムのタスクに関連する優先度情報へのアクセスを持ち、前記ハイパーバイザは、前記第1のタスクと前記第2のタスクに関連する前記優先度情報に基づいて前記第1の仮想プロセッサと前記第2の仮想プロセッサに優先度を割り当てる、
装置。 - 前記第1のゲストオペレーティングシステムおよび第2のゲストオペレーティングシステムは、実行するためにタスクに対応する仮想プロセッサをスケジューリングすることによって、実行するために前記タスクをスケジューリングするために前記ハイパーバイザに依存する請求項16に記載の装置。
- 前記第1のゲストオペレーティングシステムおよび第2のゲストオペレーティングシステムは、リアルタイムオペレーティングシステムである請求項16に記載の装置。
- 前記第2のゲストオペレーティングシステムの各タスクは、前記第2のゲストオペレーティングシステムによって要求される対応する仮想プロセッサによって実行される請求項16に記載の装置。
- 前記第1のゲストオペレーティングシステムの前記第1のタスクおよび前記第2のゲストオペレーティングシステムの第2のタスクは、共通同期プリミティブにアクセスするように構成される、請求項16に記載の装置。
- 前記同期プリミティブは、前記第1のゲストオペレーティングシステムおよび前記第2のゲストオペレーティングシステムによって共有されるメモリに格納されたデータ値を含み、前記データ値は、前記メモリのユーザモードアドレスに格納される請求項20に記載の装置。
- 特定のゲストオペレーティングシステムのタスクが前記同期プリミティブを保持している場合、前記特定のゲストオペレーティングシステムの前記タスクは、前記同期プリミティブへの読み取り書き込みアクセスを持ち、前記同期プリミティブでブロッキングされている別のゲストオペレーティングシステムの少なくとも1つのタスクは前記同期プリミティブへの読み取り専用アクセスを持つ、請求項20に記載の装置。
- 他方のゲストオペレーティングシステムの前記少なくとも1つのタスクは、タイムアウト期間の間に前記同期プリミティブが解放されていない場合、前記タイムアウト期間の期限切れ時にブロッキング解除される請求項22に記載の装置。
- 前記第1のゲストオペレーティングシステムのタスクの優先度および前記第2のゲストオペレーティングシステムのタスクの優先度は、優先度の共通の組から選択される請求項16に記載の装置。
- 前記第1のゲストオペレーティングシステムは、前記第1のゲストオペレーティングシステムが前記第1のゲストオペレーティングシステムのタスクに割り当てることができる第1の最高の優先度を持ち、前記第2のゲストオペレーティングシステムは、前記第2のゲストオペレーティングシステムが前記第2のゲストオペレーティングシステムのタスクに割り当てることができる第2の最高の優先度を持つ請求項16に記載の装置。
- 前記第1の最高の優先度は、前記第2の最高の優先度とは異なる請求項25に記載の装置。
- 前記ハイパーバイザは、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクがより高い優先度のタスクをブロックした場合、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクの優先度を一時的に高めるように構成される請求項16に記載の装置。
- ハイパーバイザおよび少なくとも1つのプロセッサを含むコンピューティングデバイスで実行されている第1のゲストオペレーティングシステムで、複数の第1のタスクを作成するための要求を受信するステップと、
前記第1のゲストオペレーティングシステムにより、第1の仮想プロセッサの1つにそれぞれ対応する複数の前記第1のタスクを実行するために1つまたは複数の前記第1の仮想プロセッサを作成することを前記ハイパーバイザに要求するステップであって、前記第1の仮想プロセッサは、前記第1のゲストオペレーティングシステムのために作成され、前記第1の仮想プロセッサおよび第2のゲストオペレーティングシステムのために作成された1つまたは複数の第2の仮想プロセッサは、前記少なくとも1つのプロセッサでスケジューリングすることができるステップと、
前記第1のゲストオペレーティングシステムにより、前記第1のタスクにタスク優先度を割り当てるステップであって、前記第1の仮想プロセッサの優先度は、前記タスク優先度に対応し、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスク優先度情報に前記ハイパーバイザがアクセス可能であり、前記ハイパーバイザは、前記第1のタスクに関連する前記タスク優先度情報に基づいて優先度を前記第1の仮想プロセッサに割り当てる、ステップと、
を含む方法。 - 前記第1のゲストオペレーティングシステムは、リアルタイムオペレーティングシステムである請求項28に記載の方法。
- 前記リアルタイムオペレーティングシステムは、非リアルタイムオペレーティングシステムで利用不可能な少なくとも1つの高められたタスク優先度レベルへのアクセスを持つ請求項29に記載の方法。
- 前記第1のゲストオペレーティングシステムの前記第1のタスクおよび前記第2のゲストオペレーティングシステムの第2のタスクは、共通同期プリミティブにアクセスするように構成される請求項28に記載の方法。
- 前記共通同期プリミティブは、前記第1のゲストオペレーティングシステムおよび前記第2のゲストオペレーティングシステムによって共有されるメモリに格納されたデータ値を含み、前記データ値は、前記メモリのユーザモードアドレスに格納される請求項31に記載の方法。
- 特定のゲストオペレーティングシステムのタスクが前記同期プリミティブを保持している場合、前記特定のゲストオペレーティングシステムの前記タスクは、前記同期プリミティブへの読み取り書き込みアクセスを持ち、前記同期プリミティブでブロッキングされている別のゲストオペレーティングシステムの少なくとも1つのタスクは前記同期プリミティブへの読み取り専用アクセスを持つ、請求項31に記載の方法。
- 他方のゲストオペレーティングシステムの前記少なくとも1つのタスクは、タイムアウト期間の間に前記同期プリミティブが解放されていない場合、前記タイムアウト期間の期限切れ時にブロッキング解除される請求項33に記載の方法。
- 前記第1のゲストオペレーティングシステムのタスクの優先度および前記第2のゲストオペレーティングシステムのタスクの優先度は、優先度の共通の組から選択される請求項28に記載の方法。
- 前記第1のゲストオペレーティングシステムは、前記第1のゲストオペレーティングシステムが前記第1のゲストオペレーティングシステムのタスクに割り当てることができる第1の最高の優先度を持ち、前記第2のゲストオペレーティングシステムは、前記第2のゲストオペレーティングシステムが前記第2のゲストオペレーティングシステムのタスクに割り当てることができる第2の最高の優先度を持つ請求項28に記載の方法。
- 前記第1の最高の優先度は、前記第2の最高の優先度とは異なる請求項36に記載の方法。
- 前記ハイパーバイザは、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクがより高い優先度のタスクをブロックした場合、前記第1のゲストオペレーティングシステムまたは前記第2のゲストオペレーティングシステムのうち何れかのより低い優先度のタスクの優先度を一時的に高めるように構成される請求項28に記載の方法。
- プロセッサと、
第1のゲストオペレーティングシステムと、
第2のゲストオペレーティングシステムと、
を含み、
前記第1のゲストオペレーティングシステムは、第1のタスクを作成するための要求を受信することに応じて、第1の仮想プロセッサの1つにそれぞれ対応する複数の前記第1のタスクを実行するために1つまたは複数の前記第1の仮想プロセッサを作成することをハイパーバイザに要求するための手段であって、前記第1の仮想プロセッサは、前記第1のゲストオペレーティングシステムのために作成され、前記第1の仮想プロセッサおよび前記第2のゲストオペレーティングシステムのために第2の仮想プロセッサの1つにそれぞれ対応する複数の第2のタスクを実行するために作成された1つまたは複数の前記第2の仮想プロセッサは、前記プロセッサでスケジューリングすることができ、第1の仮想プロセッサは対応する第1のタスクの第1のタスク優先度に対応する第1の優先度を有し、第2の仮想プロセッサは対応する第2のタスクの第2のタスク優先度に対応する第2の優先度を有し、前記第1のタスク優先度は前記第1のゲストオペレーティングシステムによって前記第1のタスクに割り当てられ、前記第2のタスク優先度は前記第2のゲストオペレーティングシステムによって前記第2のタスクに割り当てられ、前記ハイパーバイザは、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスクおよび前記第2のタスクを含む前記第2のゲストオペレーティングシステムのタスクに関連する優先度情報へのアクセスを持ち、前記ハイパーバイザは、前記第1のタスクと前記第2のタスクに関連する前記優先度情報に基づいて前記第1の仮想プロセッサと前記第2の仮想プロセッサに優先度を割り当てる、
装置。 - 前記第1のゲストオペレーティングシステムと前記第2のゲストオペレーティングシステムは、リアルタイムオペレーティングシステムである請求項39に記載の装置。
- コンピュータによって実行された場合、前記コンピュータに、
第1のゲストオペレーティングシステムで、複数の第1のタスクを作成するための要求を受信させ、
第1の仮想プロセッサの1つにそれぞれ対応する複数の前記第1のタスクを実行するために1つまたは複数の前記第1の仮想プロセッサを作成することをハイパーバイザに要求させる
命令を含むコンピュータ可読記憶媒体であって、
前記第1の仮想プロセッサは、前記第1のゲストオペレーティングシステムのために作成され、前記第1の仮想プロセッサおよび第2のゲストオペレーティングシステムのために第2の仮想プロセッサの1つにそれぞれ対応する複数の第2のタスクを実行するために作成された1つまたは複数の前記第2の仮想プロセッサは、ハードウェアプロセッサでスケジューリングすることができ、前記第1の仮想プロセッサは前記第1のタスクの第1のタスク優先度に対応する第1の優先度を有し、前記第2の仮想プロセッサは第2のタスクの第2のタスク優先度に対応する第2の優先度を有し、前記第1のタスク優先度は前記第1のゲストオペレーティングシステムによって前記第1のタスクに割り当てられ、前記第2のタスク優先度は前記第2のゲストオペレーティングシステムによって前記第2のタスクに割り当てられ、前記ハイパーバイザは、前記第1のタスクを含む前記第1のゲストオペレーティングシステムのタスクおよび前記第2のタスクを含む前記第2のゲストオペレーティングシステムのタスクに関連する優先度情報へのアクセスを持ち、前記ハイパーバイザは、前記第1のタスクと前記第2のタスクに関連する前記優先度情報に基づいて前記第1の仮想プロセッサと前記第2の仮想プロセッサに優先度を割り当てる、
コンピュータ可読記憶媒体。 - 前記第1のゲストオペレーティングシステムと前記第2のゲストオペレーティングシステムは、リアルタイムオペレーティングシステムである、請求項41に記載のコンピュータ可読記憶媒体。
- 前記第1のゲストオペレーティングシステムは、非リアルタイムオペレーティングシステムで利用不可能な少なくとも1つの高められたタスク優先度レベルへのアクセスを持つリアルタイムオペレーティングシステムである、請求項41に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/828,183 | 2013-03-14 | ||
US13/828,183 US9396012B2 (en) | 2013-03-14 | 2013-03-14 | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
PCT/US2014/023708 WO2014159444A1 (en) | 2013-03-14 | 2014-03-11 | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017160075A Division JP2017204307A (ja) | 2013-03-14 | 2017-08-23 | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016511489A JP2016511489A (ja) | 2016-04-14 |
JP2016511489A5 JP2016511489A5 (ja) | 2017-02-09 |
JP6199477B2 true JP6199477B2 (ja) | 2017-09-20 |
Family
ID=50513451
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016501323A Expired - Fee Related JP6199477B2 (ja) | 2013-03-14 | 2014-03-11 | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 |
JP2017160075A Pending JP2017204307A (ja) | 2013-03-14 | 2017-08-23 | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017160075A Pending JP2017204307A (ja) | 2013-03-14 | 2017-08-23 | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9396012B2 (ja) |
EP (1) | EP2972851A1 (ja) |
JP (2) | JP6199477B2 (ja) |
KR (1) | KR20150132218A (ja) |
CN (1) | CN105051690B (ja) |
TW (1) | TWI552076B (ja) |
WO (1) | WO2014159444A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US9606818B2 (en) | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
US9262192B2 (en) * | 2013-12-16 | 2016-02-16 | Vmware, Inc. | Virtual machine data store queue allocation |
US10248463B2 (en) * | 2015-02-13 | 2019-04-02 | Honeywell International Inc. | Apparatus and method for managing a plurality of threads in an operating system |
US9792139B2 (en) | 2015-02-25 | 2017-10-17 | Red Hat Israel, Ltd. | Service driven virtual machine scheduling |
US9367345B1 (en) * | 2015-02-26 | 2016-06-14 | Red Hat Israel, Ltd. | Power efficient cross-VCPU notification by VM function |
US9830187B1 (en) | 2015-06-05 | 2017-11-28 | Apple Inc. | Scheduler and CPU performance controller cooperation |
KR20160144688A (ko) * | 2015-06-09 | 2016-12-19 | 한국전자통신연구원 | 큐를 이용한 smp 가상 머신 이벤트 라우터 및 방법 |
WO2017099772A1 (en) * | 2015-12-10 | 2017-06-15 | Siemens Aktiengesellschaft | Distributed embedded data and knowledge management system integrated with plc historian |
US20170177395A1 (en) * | 2015-12-21 | 2017-06-22 | Mingqiu Sun | Embedded architecture based on process virtual machine |
JP6971016B2 (ja) | 2016-04-07 | 2021-11-24 | オムロン株式会社 | 制御装置、制御方法およびプログラム |
US11157517B2 (en) | 2016-04-18 | 2021-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
US11099894B2 (en) | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US10338135B2 (en) | 2016-09-28 | 2019-07-02 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
US10162921B2 (en) | 2016-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Logic repository service |
US10282330B2 (en) * | 2016-09-29 | 2019-05-07 | Amazon Technologies, Inc. | Configurable logic platform with multiple reconfigurable regions |
US10250572B2 (en) | 2016-09-29 | 2019-04-02 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US10642492B2 (en) | 2016-09-30 | 2020-05-05 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
US10069949B2 (en) | 2016-10-14 | 2018-09-04 | Honeywell International Inc. | System and method for enabling detection of messages having previously transited network devices in support of loop detection |
US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
CN108182104B (zh) * | 2016-12-08 | 2021-07-09 | 中国移动通信有限公司研究院 | 一种分配虚拟处理器的方法、设备及系统 |
EP3343366B1 (en) | 2016-12-27 | 2020-12-30 | OpenSynergy GmbH | System and method for scheduling a plurality of guest systems and/or threads |
US10423342B1 (en) | 2017-03-30 | 2019-09-24 | Amazon Technologies, Inc. | Scaling events for hosting hierarchical data structures |
US10671639B1 (en) | 2017-03-30 | 2020-06-02 | Amazon Technologies, Inc. | Selectively replicating changes to hierarchial data structures |
US10860550B1 (en) | 2017-03-30 | 2020-12-08 | Amazon Technologies, Inc. | Versioning schemas for hierarchical data structures |
US10956193B2 (en) * | 2017-03-31 | 2021-03-23 | Microsoft Technology Licensing, Llc | Hypervisor virtual processor execution with extra-hypervisor scheduling |
US10579417B2 (en) * | 2017-04-26 | 2020-03-03 | Microsoft Technology Licensing, Llc | Boosting user thread priorities to resolve priority inversions |
US10956220B2 (en) | 2017-06-04 | 2021-03-23 | Apple Inc. | Scheduler for amp architecture using a closed loop performance and thermal controller |
CN109656674B (zh) * | 2017-10-11 | 2023-09-12 | 阿里巴巴集团控股有限公司 | 一种计算机设备、虚拟化芯片及数据传输方法 |
US10810086B2 (en) | 2017-10-19 | 2020-10-20 | Honeywell International Inc. | System and method for emulation of enhanced application module redundancy (EAM-R) |
US10783026B2 (en) | 2018-02-15 | 2020-09-22 | Honeywell International Inc. | Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor |
US11570176B2 (en) * | 2021-01-28 | 2023-01-31 | Bank Of America Corporation | System and method for prioritization of text requests in a queue based on contextual and temporal vector analysis |
CN112965812A (zh) * | 2021-02-09 | 2021-06-15 | 中国铁建重工集团股份有限公司 | 一种基于边缘计算的故障诊断方法、系统和终端 |
WO2023128013A1 (ko) * | 2021-12-30 | 2023-07-06 | (주)페르세우스 | 하이퍼바이저 시스템의 운영체제 성능 간섭 방지 장치 |
CN115562794B (zh) * | 2022-12-07 | 2023-03-10 | 天津卓朗昆仑云软件技术有限公司 | 虚拟桌面系统及虚拟桌面的实现方法 |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0814795B2 (ja) * | 1986-01-14 | 1996-02-14 | 株式会社日立製作所 | マルチプロセッサ仮想計算機システム |
JPH0193830A (ja) * | 1987-10-05 | 1989-04-12 | Nec Corp | 仮想計算機システムにおける割り込み制御方式 |
JPH0877025A (ja) * | 1994-09-01 | 1996-03-22 | Kokusai Electric Co Ltd | タスクの優先度制御方法、タスクの優先度制御装置 |
US6026427A (en) | 1997-11-21 | 2000-02-15 | Nishihara; Kazunori | Condition variable to synchronize high level communication between processing threads |
US6286092B1 (en) | 1999-05-12 | 2001-09-04 | Ati International Srl | Paged based memory address translation table update method and apparatus |
US6516373B1 (en) | 1999-06-18 | 2003-02-04 | Samsung Electronics Co., Ltd. | Common motherboard interface for processor modules of multiple architectures |
US6526462B1 (en) | 1999-11-19 | 2003-02-25 | Hammam Elabd | Programmable multi-tasking memory management system |
US6904483B2 (en) * | 2001-03-20 | 2005-06-07 | Wind River Systems, Inc. | System and method for priority inheritance |
GB2378277B (en) | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
JP2003099272A (ja) | 2001-09-20 | 2003-04-04 | Ricoh Co Ltd | タスク切替システムと方法およびdspとモデム |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US7117481B1 (en) | 2002-11-06 | 2006-10-03 | Vmware, Inc. | Composite lock for computer systems with multiple domains |
US6981072B2 (en) | 2003-06-05 | 2005-12-27 | International Business Machines Corporation | Memory management in multiprocessor system |
JP3922576B2 (ja) * | 2003-06-27 | 2007-05-30 | 株式会社日立製作所 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
US7134007B2 (en) | 2003-06-30 | 2006-11-07 | Intel Corporation | Method for sharing firmware across heterogeneous processor architectures |
US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US20050251806A1 (en) * | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US7937700B1 (en) | 2004-05-11 | 2011-05-03 | Advanced Micro Devices, Inc. | System, processor, and method for incremental state save/restore on world switch in a virtual machine environment |
US8271976B2 (en) * | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine |
JP4006428B2 (ja) * | 2004-09-28 | 2007-11-14 | 株式会社東芝 | 計算機システム |
US7299337B2 (en) | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US7739476B2 (en) | 2005-11-04 | 2010-06-15 | Apple Inc. | R and C bit update handling |
US7971205B2 (en) * | 2005-12-01 | 2011-06-28 | International Business Machines Corporation | Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status |
US7945913B2 (en) * | 2006-01-19 | 2011-05-17 | International Business Machines Corporation | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system |
US20070283336A1 (en) | 2006-06-01 | 2007-12-06 | Michael Karl Gschwind | System and method for just-in-time compilation in a heterogeneous processing environment |
US7899994B2 (en) * | 2006-08-14 | 2011-03-01 | Intel Corporation | Providing quality of service (QoS) for cache architectures using priority information |
US8082551B2 (en) | 2006-10-30 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | System and method for sharing a trusted platform module |
US7685409B2 (en) * | 2007-02-21 | 2010-03-23 | Qualcomm Incorporated | On-demand multi-thread multimedia processor |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US8250254B2 (en) | 2007-07-31 | 2012-08-21 | Intel Corporation | Offloading input/output (I/O) virtualization operations to a processor |
JP5014179B2 (ja) * | 2008-01-25 | 2012-08-29 | 三菱電機株式会社 | Os優先度変更装置及びos優先度変更プログラム |
CN101499021A (zh) * | 2008-01-31 | 2009-08-05 | 国际商业机器公司 | 在多个虚拟机上动态分配资源的方法和装置 |
US8245236B2 (en) * | 2008-02-27 | 2012-08-14 | International Business Machines Corporation | Lock based moving of threads in a shared processor partitioning environment |
US20090282198A1 (en) | 2008-05-08 | 2009-11-12 | Texas Instruments Incorporated | Systems and methods for optimizing buffer sharing between cache-incoherent cores |
US8135921B2 (en) | 2008-06-06 | 2012-03-13 | International Business Machines Corporation | Automated paging device management in a shared memory partition data processing system |
US8464011B2 (en) | 2008-10-27 | 2013-06-11 | Advanced Micro Devices, Inc. | Method and apparatus for providing secure register access |
US8301863B2 (en) | 2008-11-17 | 2012-10-30 | International Business Machines Corporation | Recursive logical partition real memory map |
US8291414B2 (en) | 2008-12-11 | 2012-10-16 | International Business Machines Corporation | Shared resource service provisioning using a virtual machine manager |
US20100242014A1 (en) | 2009-03-17 | 2010-09-23 | Xiaohan Zhu | Symmetric multi-processor operating system for asymmetric multi-processor architecture |
US8156275B2 (en) * | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US9152200B2 (en) | 2009-06-23 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Resource and power management using nested heterogeneous hypervisors |
US8479196B2 (en) | 2009-09-22 | 2013-07-02 | International Business Machines Corporation | Nested virtualization performance in a computer system |
EP2323035B1 (en) * | 2009-11-16 | 2019-04-17 | Red Bend Software | Scheduling system |
US8650426B2 (en) | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
JP5336423B2 (ja) * | 2010-05-14 | 2013-11-06 | パナソニック株式会社 | 計算機システム |
JP5770721B2 (ja) * | 2010-05-24 | 2015-08-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 情報処理システム |
US8443376B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Hypervisor scheduler |
US20110320766A1 (en) | 2010-06-29 | 2011-12-29 | Youfeng Wu | Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type |
US20120072638A1 (en) | 2010-09-16 | 2012-03-22 | Unisys Corp. | Single step processing of memory mapped accesses in a hypervisor |
US8307169B2 (en) | 2011-03-10 | 2012-11-06 | Safenet, Inc. | Protecting guest virtual machine memory |
JP5648544B2 (ja) | 2011-03-15 | 2015-01-07 | 富士通株式会社 | スケジューリングプログラム、および情報処理装置 |
US8984330B2 (en) | 2011-03-28 | 2015-03-17 | Siemens Corporation | Fault-tolerant replication architecture |
US9043562B2 (en) | 2011-04-20 | 2015-05-26 | Microsoft Technology Licensing, Llc | Virtual machine trigger |
US8677360B2 (en) * | 2011-05-12 | 2014-03-18 | Microsoft Corporation | Thread-related actions based on historical thread behaviors |
US20130013889A1 (en) | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
US9250969B2 (en) | 2011-08-30 | 2016-02-02 | At&T Intellectual Property I, L.P. | Tagging a copy of memory of a virtual machine with information for fetching of relevant portions of the memory |
US8910158B2 (en) * | 2011-12-14 | 2014-12-09 | Intel Corporation | Virtualizing interrupt priority and delivery |
US20140053272A1 (en) | 2012-08-20 | 2014-02-20 | Sandor Lukacs | Multilevel Introspection of Nested Virtual Machines |
US9292318B2 (en) * | 2012-11-26 | 2016-03-22 | International Business Machines Corporation | Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system |
US9075789B2 (en) * | 2012-12-11 | 2015-07-07 | General Dynamics C4 Systems, Inc. | Methods and apparatus for interleaving priorities of a plurality of virtual processors |
US9052932B2 (en) * | 2012-12-17 | 2015-06-09 | International Business Machines Corporation | Hybrid virtual machine configuration management |
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9396011B2 (en) | 2013-03-12 | 2016-07-19 | Qualcomm Incorporated | Algorithm and apparatus to deploy virtual machine monitor on demand |
WO2014165040A1 (en) * | 2013-03-13 | 2014-10-09 | Veriscape, Inc. | Dynamic memory management for a virtual supercomputer |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US9606818B2 (en) | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
-
2013
- 2013-03-14 US US13/828,183 patent/US9396012B2/en active Active
-
2014
- 2014-03-11 WO PCT/US2014/023708 patent/WO2014159444A1/en active Application Filing
- 2014-03-11 JP JP2016501323A patent/JP6199477B2/ja not_active Expired - Fee Related
- 2014-03-11 KR KR1020157027145A patent/KR20150132218A/ko not_active Application Discontinuation
- 2014-03-11 EP EP14718236.4A patent/EP2972851A1/en not_active Ceased
- 2014-03-11 CN CN201480013671.XA patent/CN105051690B/zh not_active Expired - Fee Related
- 2014-03-14 TW TW103109243A patent/TWI552076B/zh active
-
2016
- 2016-06-21 US US15/188,487 patent/US10133598B2/en not_active Expired - Fee Related
-
2017
- 2017-08-23 JP JP2017160075A patent/JP2017204307A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2972851A1 (en) | 2016-01-20 |
US9396012B2 (en) | 2016-07-19 |
TWI552076B (zh) | 2016-10-01 |
US20140282507A1 (en) | 2014-09-18 |
TW201447766A (zh) | 2014-12-16 |
US10133598B2 (en) | 2018-11-20 |
WO2014159444A1 (en) | 2014-10-02 |
US20160299780A1 (en) | 2016-10-13 |
CN105051690A (zh) | 2015-11-11 |
JP2016511489A (ja) | 2016-04-14 |
JP2017204307A (ja) | 2017-11-16 |
CN105051690B (zh) | 2018-12-07 |
KR20150132218A (ko) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
JP5723968B2 (ja) | 便宜的マルチタスキング | |
JP6240745B2 (ja) | 複数のハイパーバイザを実行するシステムおよび方法 | |
EP2962198B1 (en) | Executing an operating system on processors having different instruction set architectures | |
JP5538442B2 (ja) | リアルタイムマルチスレッドスケジューラおよびスケジューリング方法 | |
US9411649B2 (en) | Resource allocation method | |
US9753771B2 (en) | System-on-chip including multi-core processor and thread scheduling method thereof | |
TW201411488A (zh) | 在作業系統中藉由多個程序對現場可程式設計閘陣列的使用的管理 | |
US9858115B2 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
US20140223437A1 (en) | Method and electronic device for thread scheduling | |
CN112416546A (zh) | 多任务调度方法、电子装置和计算机存储介质 | |
KR20050030871A (ko) | 실시간 동작 수행방법 및 시스템 | |
US9229765B2 (en) | Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task | |
US10732976B2 (en) | Integrated circuit processor and method of operating the integrated circuit processor in different modes of differing thread counts | |
CN115617494A (zh) | 多cpu环境下的进程调度方法、装置、电子设备和介质 | |
CN115098230A (zh) | 管理线程的方法及装置 | |
US20150363227A1 (en) | Data processing unit and method for operating a data processing unit | |
JP2009015569A (ja) | デバイスへのアクセス制御方法および処理装置 | |
JP2009193260A (ja) | ストレージシステム、ストレージ装置、優先度制御装置および優先度制御方法 | |
CN114443255A (zh) | 一种线程调用方法和装置 | |
CN117369987A (zh) | 一种计算装置及相关任务执行调度方法 | |
JP2014182764A (ja) | 情報処理装置、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20150907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161219 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20161219 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170703 |
|
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: 20170724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6199477 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |