【手続補正書】
【提出日】平成28年12月19日(2016.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスのハイパーバイザで、第1のゲストオペレーティングシステムのために少なくとも第1の仮想プロセッサを作成するステップと、
前記コンピューティングデバイスのハードウェアプロセッサで実行するために、前記第1の仮想プロセッサと、第2のゲストオペレーティングシステムのために作成された少なくとも第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の仮想プロセッサと、第2のゲストオペレーティングシステムのために作成された少なくとも第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の仮想プロセッサを作成することをハイパーバイザに要求し、
前記第2のゲストオペレーティングシステムは、第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のゲストオペレーティングシステムは、実行するためにタスクに対応する仮想プロセッサをスケジューリングすることによって、実行するために前記タスクをスケジューリングするために前記ハイパーバイザに依存する請求項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の仮想プロセッサおよびおよび第2のゲストオペレーティングシステムのために作成された第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の仮想プロセッサおよび前記第2のゲストオペレーティングシステムのために作成された第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の仮想プロセッサおよび第2のゲストオペレーティングシステムのために作成された第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に記載のコンピュータ可読記憶媒体。