(58)【調査した分野】(Int.Cl.,DB名)
通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得するステップは、共有メモリから、前記第1のサービス基板により前記共有メモリに発行され前記第1の割込みに対応する第1の仮想マシン・コンテキストを取得するステップ、または、前記第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するステップを含み、
前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを発行するステップは、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを共有メモリに発行するステップ、または、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、前記第1の割込みに対応する第2の仮想マシン・コンテキストを前記第2のサービス基板に発行すべきと前記第1のハードウェア・リソースの決定された使用者に従って判定した後に、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを前記第2のサービス基板に発行するステップを含む、
請求項1に記載の方法。
第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するステップを含み、
発行された第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得するステップは、前記第1の仮想マシン・コンテキストを前記共有メモリから取得するステップ、または、前記共有メモリから取得した前記第1の仮想マシン・コンテキストに基づいて取得され前記第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップを含み、前記第2の仮想マシン・コンテキストは、前記共有メモリから取得した前記第1の仮想マシン・コンテキストに前記第1のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第1の割込みに対応し、前記第1の仮想マシン・コンテキストは、前記第2の仮想マシン・コンテキストと異なり、
または、
第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するステップを含み、
発行された第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得するステップは、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを受信するステップであって、制御基板が前記第1の仮想マシン・コンテキストを前記共有メモリから取得した後に、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストが前記通信装置に配備された前記制御基板により発行されるステップを含み、
または、
第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを前記通信装置に配備された制御基板に発行するステップを含み、
発行された第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得するステップは、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを受信するステップであって、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストは前記制御基板により発行されるステップを含み、
または、
第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを前記通信装置に配備された制御基板に発行するステップを含み、
発行された第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得するステップは、共有メモリから、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得するステップであって、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストが前記制御基板により前記共有メモリに発行されるステップを含む、
請求項7に記載の方法。
通信装置であって、前記通信装置は第1のサービス基板、第2のサービス基板、および制御基板を備え、前記第1のサービス基板と前記第2のサービス基板の各々は、ハードウェア層、前記ハードウェア層で実行されている基板内ハイパバイザ、および前記基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、前記制御基板はハードウェア層および前記ハードウェア層で実行されている基板間ハイパバイザを備え、
前記第1のサービス基板内の基板内ハイパバイザは、第1の割込みを生成した第1のハードウェア・リソースが、第1の仮想マシンに割り当てられたハードウェア・リソースであると判定した後に、生成された前記第1の割込みに応答して、前記第1の割込みに対応する第1の仮想マシン・コンテキストを発行するように構成され、前記第1のハードウェア・リソースは、前記第1のサービス基板のハードウェア層にあり、前記第1の仮想マシンは、第2のサービス基板内の基板内ハイパバイザで実行され、
前記制御基板内の前記基板間ハイパバイザは、前記第1の仮想マシン・コンテキストを取得し、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを発行するように構成され、前記第2の仮想マシン・コンテキストは、前記第1の仮想マシン・コンテキストに前記第1のハードウェア・リソースの使用者識別子を追加することによって取得され前記第1の割込みに対応し、前記第1の仮想マシン・コンテキストは、前記第2の仮想マシン・コンテキストと異なり、
前記第2のサービス基板内の基板内ハイパバイザは、発行された第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを取得し、取得した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを前記第1の仮想マシンへと処理のために送信するように構成され、前記第1の仮想マシンは前記第1のハードウェア・リソースの使用者である、
通信装置。
前記制御基板における前記基板間ハイパバイザは特に、共有メモリから、前記第1のサービス基板により前記共有メモリに発行され前記第1の割込みに対応する第1の仮想マシン・コンテキストを取得するか、または、前記第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するように構成され、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキスト、を共有メモリに発行するように構成され、
または、
前記制御基板における前記基板間ハイパバイザは特に、共有メモリから、前記第1のサービス基板により前記共有メモリに発行され前記第1の割込みに対応する第1の仮想マシン・コンテキストを取得するか、または、前記第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するように構成され、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、前記第1の割込みに対応する第2の仮想マシン・コンテキストを前記第2のサービス基板に発行すべきであると前記第1のハードウェア・リソースの決定された使用者に従って判定した後に、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを前記第2のサービス基板に発行するように構成された、
請求項13に記載の通信装置。
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、前記第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、前記第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合、前記第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得する前に、リソースを移動して前記第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように前記第1のサービス基板に指示し、前記第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを前記第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第1のハードウェア・リソース警告命令は前記第2のサービス基板により発行され、前記第1の閾値は、前記第2の閾値よりも高いか、低いか、または前記第2の閾値と等しく、
または、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えた検出されたか、または、前記第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、前記第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合に、前記第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得する前に、前記第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを前記第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第1のハードウェア・リソース警告命令前記第2のサービス基板により発行され、前記第1の閾値は、前記第2の閾値よりも高いか、低いか、または前記第2の閾値と等しい、
請求項13および14の何れか1項に記載の通信装置。
前記制御基板における前記基板間ハイパバイザはさらに、前記第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出された場合、または、前記第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合に、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを発行した後に、前記第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを前記第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンで再割り当てするように構成され、前記第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第2のハードウェア・リソース警告命令が前記第1のサービス基板により発行される、
請求項15に記載の通信装置。
前記通信装置にはさらに第3のサービス基板が配備され、前記第3のサービス基板はハードウェア層、前記ハードウェア層で実行されている基板内ハイパバイザ、および前記基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出されたか、または、前記第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、前記第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第2の閾値より低いと判定された場合に、リソースを移動して前記第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように前記第3のサービス基板に指示し、前記第3のサービス基板のハードウェア層にある解放された前記第2のハードウェア・リソースを第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第3のハードウェア・リソース警告命令が前記第2のサービス基板により発行され、前記基板間ハイパバイザはさらに、前記第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、前記第3のサービス基板のハードウェア層で前記第2の割込みを生成した前記第2のハードウェア・リソースが、前記第3のサービス基板のハードウェア層で生成された前記第2の割込みに応答して第3の仮想マシンに割り当てられたハードウェア・リソースであると前記第3のサービス基板が判定した後に、前記第3の仮想マシン・コンテキストが前記第3のサービス基板により発行され、前記基板間ハイパバイザはさらに、前記第3の仮想マシン・コンテキスト、または、第4の仮想マシン・コンテキストを発行し、その結果、前記第2のサービス基板が、前記第3の仮想マシン・コンテキストまたは前記第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、前記第4の仮想マシン・コンテキストは、前記第3の仮想マシン・コンテキストに前記第3のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第2の割込みに対応し、前記第3の仮想マシン・コンテキストは、前記第4の仮想マシン・コンテキストと異なり、
または、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出されたか、または、前記第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、前記第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合に、前記第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第3のハードウェア・リソース警告命令が前記第2のサービス基板により発行され、前記基板間ハイパバイザはさらに、前記第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、前記第3のサービス基板のハードウェア層で前記第2の割込みを生成した前記第2のハードウェア・リソースが、前記第3のサービス基板のハードウェア層で生成された前記第2の割込みに応答して第3の仮想マシンに割り当てられたハードウェア・リソースであると前記第3のサービス基板が判定した後に、前記第3の仮想マシン・コンテキストが前記第3のサービス基板により発行され、前記基板間ハイパバイザはさらに、前記第3の仮想マシン・コンテキスト、または、第4の仮想マシン・コンテキストを発行し、その結果、前記第2のサービス基板が、前記第3の仮想マシン・コンテキストまたは前記第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、前記第4の仮想マシン・コンテキストは、前記第3の仮想マシン・コンテキストに前記第3のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第2の割込みに対応し、前記第3の仮想マシン・コンテキストは、前記第4の仮想マシン・コンテキストと異なる、
請求項15および16の何れか1項に記載の通信装置。
通信装置であって、前記通信装置は第1のサービス基板と第2のサービス基板を備え、前記第1のサービス基板と前記第2のサービス基板の各々は、ハードウェア層、前記ハードウェア層で実行されている基板内ハイパバイザ、および前記基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、
前記第1のサービス基板内の基板内ハイパバイザは、第1の割込みを生成したハードウェア・リソースが前記第2のサービス基板内の基板内ハイパバイザで実行される第1の仮想マシンに割り当てられた第1のハードウェア・リソースであると判定された場合に、第1の割込みを受信し、前記第1の割込みに対応する第1の仮想マシン・コンテキストを発行するように構成され、前記第1のハードウェア・リソースは、前記第1のサービス基板のハードウェア層にあり、
前記第2のサービス基板内の基板内ハイパバイザは、発行された第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを取得し、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、前記第1の仮想マシンは前記第1のハードウェア・リソースの使用者であり、前記第2の仮想マシン・コンテキストは、前記第1の仮想マシン・コンテキストに前記第1のハードウェア・リソースの使用者識別子を追加することによって取得され前記第1の割込みに対応し、前記第1の仮想マシン・コンテキストは、前記第2の仮想マシン・コンテキストと異なる、
通信装置。
前記第1のサービス基板内の基板内ハイパバイザは特に、前記第1のサービス基板のハードウェア層で第1の割込みを生成した前記ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、前記第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、前記第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザは特に、前記第1の仮想マシン・コンテキストを前記共有メモリから取得するか、または、第2の仮想マシン・コンテキストを取得して、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、前記第2の仮想マシン・コンテキストを前記第2のサービス基板に発行すべきと前記第1のハードウェア・リソースの決定された使用者に従って判定した後に、前記第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するように構成され、前記第2の仮想マシン・コンテキストは、前記共有メモリから取得した前記第1の仮想マシン・コンテキストに前記第1のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第1の割込みに対応し、前記第1の仮想マシン・コンテキストは、前記第2の仮想マシン・コンテキストと異なり、
または、
前記通信装置はさらに制御基板を備え、前記制御基板はハードウェア層と前記ハードウェア層で実行されている基板間ハイパバイザを備え、
前記第1のサービス基板内の基板内ハイパバイザは特に、前記第1のサービス基板のハードウェア層で第1の割込みを生成した前記ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、前記第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、前記第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するように構成され、
前記制御基板における前記基板間ハイパバイザは、前記第1の割込みに対応する第1の仮想マシン・コンテキストを前記共有メモリから取得し、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを前記第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された前記使用者に従って判定した後に、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザに発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザは特に、前記第1の仮想マシン・コンテキストまたは前記基板間ハイパバイザにより発行された前記第2の仮想マシン・コンテキストを受信し、受信した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するように構成され、
または、
前記通信装置はさらに制御基板を備え、前記制御基板はハードウェア層と前記ハードウェア層で実行されている基板間ハイパバイザを備え、
前記第1のサービス基板内の基板内ハイパバイザは特に、前記第1の割込みに対応する第1の仮想マシン・コンテキストを前記基板間ハイパバイザに発行するように構成され、
前記制御基板における前記基板間ハイパバイザは、前記第1のサービス基板内の基板内ハイパバイザが発行した前記第1の仮想マシン・コンテキストを取得して、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを前記第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された前記使用者に従って判定した後に、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザに発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザは特に、前記第1の仮想マシン・コンテキストまたは前記基板間ハイパバイザにより発行された前記第2の仮想マシン・コンテキストを受信し、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、
または、
前記通信装置はさらに制御基板を備え、前記制御基板はハードウェア層と前記ハードウェア層で実行されている基板間ハイパバイザを備え、
前記第1のサービス基板内の基板内ハイパバイザは特に、前記第1の割込みに対応する第1の仮想マシン・コンテキストを前記基板間ハイパバイザに発行するように構成され、
前記制御基板における前記基板間ハイパバイザは、前記第1のサービス基板内の基板内ハイパバイザが発行した前記第1の仮想マシン・コンテキストを取得し、前記第1の仮想マシン・コンテキスト、または、第2の仮想マシン・コンテキストを共有メモリに発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザは特に、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストを前記共有メモリから取得するように構成され、前記第1のハードウェア・リソースの使用者が前記第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを前記第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された前記使用者に従って判定した後に、前記第1の仮想マシン・コンテキストまたは前記第2の仮想マシン・コンテキストを前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成された、
請求項18に記載の通信装置。
前記制御基板における前記基板間ハイパバイザはさらに、前記第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出された場合、または、前記第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合に、前記第1のサービス基板内の基板内ハイパバイザが前記第1の割込みに対応する第1の仮想マシン・コンテキストを発行した後に、前記第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを前記第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンに再割り当てするように構成され、前記第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第2のハードウェア・リソース警告命令が前記第1のサービス基板により発行される、
請求項20に記載の通信装置。
前記通信装置にはさらに第3のサービス基板が配備され、前記第3のサービス基板はハードウェア層、前記ハードウェア層で実行されている基板内ハイパバイザ、および前記基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出されたか、または、前記第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、前記第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第2の閾値より低いと判定された場合に、リソースを移動して前記第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように前記第3のサービス基板に指示し、前記第3のサービス基板のハードウェア層にある解放された前記第2のハードウェア・リソースを第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第3のハードウェア・リソース警告命令が前記第2のサービス基板により発行され、
前記第3のサービス基板が、前記第3のサービス基板のハードウェア層で生成された第2の割込みを受信し、前記第3のサービス基板のハードウェア層で前記第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定された場合に、前記第3のサービス基板内の基板内ハイパバイザは、前記第2の割込みに対応する第3の仮想マシン・コンテキストを発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザはさらに、発行した第3の仮想マシン・コンテキスト、または、第4の仮想マシン・コンテキストを取得し、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、前記第4の仮想マシン・コンテキストは、前記第3の仮想マシン・コンテキストに前記第3のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第2の割込みに対応し、前記第3の仮想マシン・コンテキストは、前記第4の仮想マシン・コンテキストと異なり、
または、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出したか、または、前記第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、前記第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合に、前記第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第3のハードウェア・リソース警告命令が前記第2のサービス基板により発行され、
前記第3のサービス基板内の基板内ハイパバイザは、前記第3のサービス基板が、前記第3のサービス基板のハードウェア層で生成された前記第2の割込みを受信し、前記第3のサービス基板のハードウェア層で前記第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定された場合に、第2の割込みに対応する第3の仮想マシン・コンテキストを発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザはさらに、発行した第3の仮想マシン・コンテキスト、または、第4の仮想マシン・コンテキストを取得し、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンへと処理のために送信するように構成され、前記第4の仮想マシン・コンテキストは、前記第3の仮想マシン・コンテキストに前記第3のハードウェア・リソースの前記使用者識別子を追加することによって取得され前記第2の割込みに対応し、前記第3の仮想マシン・コンテキストは、前記第4の仮想マシン・コンテキストと異なる、
請求項20および21の何れか1項に記載の通信装置。
前記制御基板はさらに、前記制御基板のハードウェア層で実行されている基板内ハイパバイザと前記基板内ハイパバイザで実行されている少なくとも1つの仮想マシンとを備え、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えたと検出され、または、前記第2のサービス基板により発行された第4のハードウェア・リソース警告命令が取得された場合、かつ、前記制御基板のハードウェア層の現在のハードウェア・リソース利用が前記第2の閾値より低いと判定された場合に、リソースを移動して前記制御基板のハードウェア層にある第3のハードウェア・リソースを解放するように前記制御基板内の前記基板内ハイパバイザに指示し、前記制御基板のハードウェア層にある解放された第3のハードウェア・リソースを第2の仮想マシンまたは第5の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第1の仮想マシンに割り当てるように構成され、
前記制御基板内の前記基板内ハイパバイザはさらに、前記制御基板が、前記制御基板のハードウェア層で生成された第3の割込みを受信し、前記制御基板のハードウェア層で前記第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合に、前記第3の割込みに対応する第5の仮想マシン・コンテキストを発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザはさらに、発行した第5の仮想マシン・コンテキスト、または、前記第5の仮想マシン・コンテキストに基づいて取得した第6の仮想マシン・コンテキストを取得し、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第1の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第5の仮想マシンへと処理のために送信するように構成され、
または、
前記制御基板における前記基板間ハイパバイザはさらに、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、前記第2のサービス基板により発行された第4のハードウェア・リソース警告命令が取得された場合、かつ、前記制御基板のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定された場合に、前記制御基板のハードウェア層にあるアイドルな第3のハードウェア・リソースを第2の仮想マシンまたは前記第1の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンに割り当てるように構成され、前記第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が前記第1の閾値を超えた後に、前記第4のハードウェア・リソース警告命令が前記第2のサービス基板により発行され、
前記制御基板内の前記基板内ハイパバイザはさらに、前記制御基板が、前記制御基板のハードウェア層で生成された前記第3の割込みを受信し、前記制御基板のハードウェア層で前記第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合に、第3の割込みに対応する第5の仮想マシン・コンテキストを発行するように構成され、
前記第2のサービス基板内の基板内ハイパバイザはさらに、発行した第5の仮想マシン・コンテキスト、または、前記第5の仮想マシン・コンテキストに基づいて取得した第6の仮想マシン・コンテキストを取得し、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを前記第2の仮想マシンまたは前記第1の仮想マシンまたは前記第2のサービス基板内の基板内ハイパバイザで実行されている前記第5の仮想マシンへと処理のために送信するように構成された、
請求項20乃至22の何れか1項に記載の通信装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
現在、通信装置(例えば、基地局、基地局制御装置、可搬性管理ネットワーク要素、およびデータ・ゲートウェイ)には一般に、複数のサービス基板と1つの制御基板が配備されている。配備方式に関しては、
図1を参照されたい。物理リソースの利用効率を高めるために、仮想化技術が各サービス基板に配備され、サービス基板のハードウェア・リソースの最大限の合理的な利用が実現される。1つの適用シナリオでは、通信装置のサービス基板は或る時点でビジーであり、別のサービス基板が同時点でアイドルであることがあり、結果として、通信装置のハードウェア・リソースが或る程度無駄になる。
【課題を解決するための手段】
【0005】
本発明の諸実施形態では、通信装置のハードウェア・リソースのための仮想化管理方法および関連装置を提供して、通信装置のハードウェア・リソース利用を最適化し、性能をさらに向上させる。
【0006】
第1の態様では、本発明の1実施形態で提供する通信装置のハードウェア・リソースのための仮想化管理方法が、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得するステップであって、当該第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが、当該第1のサービス基板の当該ハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、当該第1の仮想マシン・コンテキストが当該第1のサービス基板により発行されるステップと、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行し、当該通信装置に配備した第2のサービス基板が、当該第1の仮想マシン・コンテキスト、または、当該第2の仮想マシン・コンテキストを取得した後に、取得した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するようにするステップであって、当該第1の仮想マシンは当該第1のハードウェア・リソースの使用者であるステップと、を含んでもよい。
【0007】
第1の態様を引用して、第1の実現可能な実装方式では、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行する前に、当該方法は、当該第1の仮想マシン・コンテキストが当該第1のハードウェア・リソースの使用者識別子を保持しない場合には、当該第1のハードウェア・リソースの使用者識別子を当該第1の仮想マシン・コンテキストに追加して、当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップをさらに含んでもよい。
【0008】
第1の態様を引用して、第2の実現可能な実装方式では、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得するステップは、共有メモリから、当該第1のサービス基板により当該共有メモリに発行され当該第1の割込みに対応する第1の仮想マシン・コンテキストを取得するステップ、または、当該第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するステップを含み、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行するステップは、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを共有メモリに発行するステップ、または、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと当該第1のハードウェア・リソースの決定された使用者に従って判定した後に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行するステップを含む、
【0009】
第1の態様、第1の態様の第1の実現可能な実装方式、または第1の態様の第2の実現可能な実装方式を引用して、第3の実現可能な実装方式では、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得する前に、当該方法は、当該第2のサービス基板のハードウェア層の当該現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合には、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しいステップ、または、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと判定されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しいステップ、
をさらに含む。
【0010】
第1の態様の第3の実現可能な実装方式を引用して、第4の実現可能な実装方式では、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行した後に、当該方法は、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出された場合、または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合には、当該第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンで当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを再割り当てするステップであって、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第2のハードウェア・リソース警告命令は当該第1のサービス基板により発行されるステップをさらに含む。
【0011】
第1の態様の第3の実現可能な実装方式または第1の態様の第4の実現可能な実装方式を引用して、第5の実現可能な実装方式では、当該通信装置にはさらに第3のサービス基板が配備され、当該方法はさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定された場合には、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令は当該第2のサービス基板により発行されるステップと、当該第3のサービス基板により発行され第2の割込みに対応する当該第3の仮想マシン・コンテキストが取得された場合に、第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを発行し、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した当該第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第2の仮想マシンへと処理のために送信するようにするステップであって、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストが当該第3のサービス基板により発行されるステップ、または、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合には、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行されるステップと、当該第3のサービス基板により発行され第2の割込みに対応する当該第3の仮想マシン・コンテキストが取得された場合には、第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを発行して、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するステップであって、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストが当該第3のサービス基板により発行されるステップと、を含む。
【0012】
さらに、第2の態様では、本発明で提供する通信装置のハードウェア・リソースの別の仮想化管理方法は、通信装置のハードウェア・リソースの仮想化処理方法であって、
第1のサービス基板のハードウェア層で第1の割込みを生成したハードウェア・リソースが、割り当てられた第1のハードウェア・リソースであると判定された場合に、通信装置に配備された当該第1のサービス基板、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みを受信し、当該第1のサービス基板により、当該第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップと、当該通信装置に配備した第2のサービス基板により、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得し、取得した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するステップであって、当該第1の仮想マシンは当該第1のハードウェア・リソースの使用者であるステップと、を含んでもよい。
【0013】
第2の態様を引用して、第1の実現可能な実装方式では、第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するステップを含み、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップは、当該第1の仮想マシン・コンテキストを当該共有メモリから取得するステップ、または、当該共有メモリから取得した当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップを含み、または、第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するステップを含み、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップは、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを受信するステップであって、当該制御基板が当該第1の仮想マシン・コンテキストを当該共有メモリから取得した後に、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストが当該通信装置に配備された制御基板により発行されるステップを含み、または、第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを当該通信装置に配備された制御基板に発行するステップを含み、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップは、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを受信するステップであって、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストは当該制御基板により発行されるステップを含み、または、第1の割込みに対応する第1の仮想マシン・コンテキストを発行するステップは、第1の割込みに対応する第1の仮想マシン・コンテキストを当該通信装置に配備された制御基板に発行するステップを含み、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得するステップは、共有メモリから、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストから取得するステップであって、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストが当該制御基板により当該共有メモリに発行されるステップを含む。
【0014】
第2の態様または第2の態様の第1の実現可能な実装方式を引用して、第2の実現可能な実装方式では、第1の割込みに対応する第1の仮想マシン・コンテキストを発行する前に、当該方法は、当該通信装置に配備された制御基板が、当該第2のサービス基板のハードウェア層の当該現在のハードウェア・リソース利用が第1の閾値を超えたと検出するか、または、当該第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと当該制御基板が判定した場合には、当該制御基板により、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該制御基板により、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しいステップ、または、当該通信装置に配備された制御基板が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出するか、または、当該第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると当該制御基板が判定した場合には、当該制御基板により、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しいステップ、をさらに含む。
【0015】
第2の態様の第2の実現可能な実装方式を引用して、第3の実現可能な実装方式では、第1の割込みに対応する第1の仮想マシン・コンテキストを発行した後に、当該方法は、当該通信装置に配備された制御基板が、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出したか、または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令を取得した場合には、当該制御基板により、当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを当該第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンに再割り当てするステップであって、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第2のハードウェア・リソース警告命令が当該第1のサービス基板により発行されるステップ、をさらに含む。
【0016】
第2の態様の第2の実現可能な実装方式または第2の態様の第3の実現可能な実装方式を引用して、第4の実現可能な実装方式では、当該通信装置にはさらに第3のサービス基板が配備され、当該方法はさらに、当該通信装置に配備された制御基板が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出したか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令を取得した場合、かつ、当該制御基板が、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定した場合には、当該制御基板により、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該制御基板により、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行されるステップと、当該第3のサービス基板が、当該第3のサービス基板のハードウェア層で生成された第2の割込みを受信し、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定した場合には、当該第3のサービス基板により、当該第2の割込みに対応する第3の仮想マシン・コンテキストを発行するステップと、当該第2のサービス基板により、発行した第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを取得し、当該第2のサービス基板により、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するステップと、を含むか、または、第1の割込みに対応する第1の仮想マシン・コンテキストを発行した後に、当該方法はさらに、当該通信装置に配備された制御基板が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出したか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令を取得した場合、かつ、当該制御基板が、当該第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定した場合には、当該制御基板により、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行されるステップと、
当該第3のサービス基板が、当該第3のサービス基板のハードウェア層で生成された第2の割込みを受信し、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定した場合には、当該第3のサービス基板により、当該第2の割込みに対応する第3の仮想マシン・コンテキストを発行するステップと、当該第2のサービス基板により、発行した第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを取得し、当該第2のサービス基板により、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するステップと、を含む。
【0017】
第2の態様の第2の実現可能な実装方式、第2の態様の第3の実現可能な実装方式、または第2の態様の第4の実現可能な実装方式を引用して、第5の実現可能な実装方式では、当該方法はさらに、当該通信装置に配備された制御基板が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出したか、または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した場合、かつ、当該制御基板が、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定した場合には、当該制御基板により、リソースを移動して当該制御基板のハードウェア層にある第3のハードウェア・リソースを解放して、当該制御基板により、当該制御基板のハードウェア層にある解放された第3のハードウェア・リソースを第2の仮想マシンまたは当該第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第4のハードウェア・リソース警告命令が当該第2のサービス基板により発行されるステップと、当該制御基板が、当該制御基板のハードウェア層で生成された第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合には、当該制御基板により、当該第3の割込みに対応する第5の仮想マシン・コンテキストを発行するステップと、当該第2のサービス基板により、発行した第5の仮想マシン・コンテキスト、または、当該第5の仮想マシン・コンテキストに基づいて取得され当該第3の割込みに対応する第6の仮想マシン・コンテキストを取得し、当該第2のサービス基板により、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを当該第2の仮想マシンまたは第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンへと処理のために送信するステップと、をさらに含むか、または、当該方法は、当該制御基板が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出したか、または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した場合、かつ、当該制御基板が、当該制御基板のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定した場合には、当該制御基板により、当該制御基板のハードウェア層にあるアイドルな第3のハードウェア・リソースを第2の仮想マシンまたは当該第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンに割り当てるステップであって、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第4のハードウェア・リソース警告命令が当該第2のサービス基板により発行されるステップと、当該制御基板が、当該制御基板のハードウェア層で生成された第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合には、当該制御基板により、当該第3の割込みに対応する第5の仮想マシン・コンテキストを発行するステップと、当該第2のサービス基板により、発行した第5の仮想マシン・コンテキスト、または当該第5の仮想マシン・コンテキストに基づいて取得され当該第3の割込みに対応する第6の仮想マシン・コンテキストを取得し、当該第2のサービス基板により、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを当該第2の仮想マシンまたは第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンへと処理のために送信するステップと、をさらに含む。
【0018】
さらに、第3の態様では、本発明の1実施形態で提供する制御基板では、当該制御基板は通信装置内で使用され、ハードウェア層と当該ハードウェア層で実行されている基板間ハイパバイザとを備え、当該基板間ハイパバイザは取得ユニットと発行ユニットを備え、当該取得ユニットは、当該通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得するように構成され、当該第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、当該第1の仮想マシン・コンテキストが当該第1のサービス基板により発行され、当該発行ユニットは、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行し、その結果、当該通信装置に配備した第2のサービス基板が、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを取得した後に、取得した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに送信するするように構成され、当該第1の仮想マシンは当該第1のハードウェア・リソースの使用者である。
【0019】
第3の態様を引用して、第1の実現可能な実装方式では、当該取得ユニットは特に、共有メモリから、当該第1のサービス基板により当該共有メモリに発行され当該第1の割込みに対応する第1の仮想マシン・コンテキストを取得するか、または、当該第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するように構成され、当該発行ユニットは特に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを共有メモリに発行するか、または、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと当該第1のハードウェア・リソースの決定された使用者に従って判定した後に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行するように構成される。
【0020】
第3の態様または第3の態様の第1の実現可能な実装方式を引用して、第2の実現可能な実装方式では、当該基板間ハイパバイザさらに第1のリソース割当てユニットを備え、当該第1のリソース割当てユニットは、当該第2のサービス基板のハードウェア層の当該現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合に、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを当該取得ユニットが取得する前に、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しく、または、当該第1のリソース割当てユニットは、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出したか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合に、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを当該取得ユニットが取得する前に、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しい。
【0021】
第3の態様の第2の実現可能な実装方式を引用して、第3の実現可能な実装方式では、当該基板間ハイパバイザは、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出された場合、または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合に、当該発行ユニットが当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを発行した後に、当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを当該第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンで再割り当てするように構成された第2のリソース割当てユニットであって、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第2のハードウェア・リソース警告命令が当該第1のサービス基板により発行される第2のリソース割当てユニット、をさらに備える。
【0022】
第3の態様の第2の実現可能な実装方式または第3の態様の第3の実現可能な実装方式を引用して、第4の実現可能な実装方式では、当該通信装置にはさらに第3のサービス基板が配備され、当該第1のリソース割当てユニットはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定された場合に、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該取得ユニットはさらに、当該第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストが当該第3のサービス基板により発行され、当該発行ユニットはさらに、当該第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストに発行し、その結果、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成され、または、当該第1のリソース割当てユニットはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合に、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該取得ユニットはさらに、当該第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成する当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストは当該第3のサービス基板により発行され、当該発行ユニットはさらに、当該第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを発行し、その結果、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成される。
【0023】
さらに、第4の態様では、本発明で提供する通信装置は、当該通信装置は第1のサービス基板、第2のサービス基板、および制御基板を備え、当該第1のサービス基板と当該第2のサービス基板の各々は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、当該制御基板はハードウェア層および当該ハードウェア層で実行されている基板間ハイパバイザを備え、当該第1のサービス基板内の基板内ハイパバイザは、当該第1のサービス基板のハードウェア層で当該第1の割込みを生成した第1のハードウェア・リソースが、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1の仮想マシン・コンテキストを発行するように構成され、当該制御基板内の当該基板間ハイパバイザは、当該第1の仮想マシン・コンテキストを取得し、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは、発行された第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを取得した後に、取得した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するように構成され、当該第1の仮想マシンは当該第1のハードウェア・リソースの使用者である。
【0024】
第4の態様を引用して、第1の実現可能な実装方式では、当該基板間ハイパバイザは特に、共有メモリから、当該第1のサービス基板により当該共有メモリに発行され当該第1の割込みに対応する第1の仮想マシン・コンテキストを取得するか、または、当該第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するように構成され、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキスト、を共有メモリに発行するように構成され、または、当該基板間ハイパバイザは特に、共有メモリから、当該第1のサービス基板により当該共有メモリに発行され当該第1の割込みに対応する第1の仮想マシン・コンテキストを取得するか、または、当該第1のサービス基板により発行され第1の割込みに対応する第1の仮想マシン・コンテキストを受信するように構成され、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行すべきであると当該第1のハードウェア・リソースの決定された使用者に従って判定した後に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板に発行するように構成される。
【0025】
第4の態様または第4の態様の第1の実現可能な実装方式を引用して、第2の実現可能な実装方式では、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合、当該第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得する前に、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しく、または、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えた検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合に、当該第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得する前に、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しい。
【0026】
第4の態様の第2の実現可能な実装方式を引用して、第3の実現可能な実装方式では、当該基板間ハイパバイザはさらに、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出された場合、または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行した後に、当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを当該第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンで再割り当てするように構成され、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第2のハードウェア・リソース警告命令が当該第1のサービス基板により発行される。
【0027】
第4の態様の第2の実現可能な実装方式または第4の態様の第3の実現可能な実装方式を引用して、第4の実現可能な実装方式では、当該通信装置にはさらに第3のサービス基板が配備され、当該第3のサービス基板はハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定された場合に、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該基板間ハイパバイザはさらに、当該第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストが当該第3のサービス基板により発行され、当該基板間ハイパバイザはさらに、当該第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを発行し、その結果、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成され、または、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合に、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該基板間ハイパバイザはさらに、当該第3のサービス基板により発行され第2の割込みに対応する第3の仮想マシン・コンテキストを取得するように構成され、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、当該第3の仮想マシン・コンテキストが当該第3のサービス基板により発行され、当該基板間ハイパバイザはさらに、当該第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを発行し、その結果、当該第2のサービス基板が、当該第3の仮想マシン・コンテキストまたは当該第4の仮想マシン・コンテキストを取得した後に、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成される。
【0028】
さらに、第5の態様では、本発明で提供する通信装置は、通信装置であって、当該通信装置は第1のサービス基板と第2のサービス基板を備え、当該第1のサービス基板と当該第2のサービス基板の各々は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、当該第1のサービス基板内の基板内ハイパバイザは、当該第1のサービス基板のハードウェア層で第1の割込みを生成した当該ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、当該第1の割込みに対応する第1の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは、発行された第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得し、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成され、当該第1の仮想マシンは当該第1のハードウェア・リソースの使用者である。
【0029】
第5の態様を引用して、第1の実現可能な実装方式では、当該第1のサービス基板内の基板内ハイパバイザは特に、当該第1のサービス基板のハードウェア層で第1の割込みを生成した当該ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、当該第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは特に、当該第1の仮想マシン・コンテキストを当該共有メモリから取得するか、または、当該共有メモリから取得した当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを取得して、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、当該第2の仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと当該第1のハードウェア・リソースの決定された使用者に従って判定した後に、当該第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するように構成され、または、当該通信装置はさらに制御基板を備え、当該制御基板はハードウェア層と当該ハードウェア層で実行されている基板間ハイパバイザを備え、当該第1のサービス基板内の基板内ハイパバイザは特に、当該第1のサービス基板のハードウェア層で第1の割込みを生成した当該ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、当該第1の割込みに対応する第1の仮想マシン・コンテキストを共有メモリに発行するように構成され、当該基板間ハイパバイザは、当該第1の割込みに対応する第1の仮想マシン・コンテキストを当該共有メモリから取得し、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された当該使用者に従って判定した後に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザに発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは特に、当該第1の仮想マシン・コンテキストまたは当該基板間ハイパバイザにより発行された当該第2の仮想マシン・コンテキストを受信し、受信した第1の仮想マシン・コンテキストまたは第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信するように構成され、または、当該通信装置はさらに制御基板を備え、当該制御基板はハードウェア層と当該ハードウェア層で実行されている基板間ハイパバイザを備え、当該第1のサービス基板内の基板内ハイパバイザは特に、当該第1の割込みに対応する第1の仮想マシン・コンテキストを当該基板間ハイパバイザに発行するように構成され、当該基板間ハイパバイザは、当該第1のサービス基板内の基板内ハイパバイザが発行した当該第1の仮想マシン・コンテキストを取得して、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された当該使用者に従って判定した後に、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザに発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは特に、当該第1の仮想マシン・コンテキストまたは当該基板間ハイパバイザにより発行された当該第2の仮想マシン・コンテキストを受信し、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成され、または、当該通信装置はさらに制御基板を備え、当該制御基板はハードウェア層と当該ハードウェア層で実行されている基板間ハイパバイザを備え、当該第1のサービス基板内の基板内ハイパバイザは特に、当該第1の割込みに対応する第1の仮想マシン・コンテキストを当該基板間ハイパバイザに発行するように構成され、当該基板間ハイパバイザは、当該第1のサービス基板内の基板内ハイパバイザが発行した当該第1の仮想マシン・コンテキストを取得し、当該第1の仮想マシン・コンテキスト、または、当該第1の仮想マシン・コンテキストに基づいて取得され当該第1の割込みに対応する第2の仮想マシン・コンテキストを共有メモリに発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザは特に、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを当該共有メモリから取得するように構成され、当該第1のハードウェア・リソースの使用者が当該第1の仮想マシンであると判定し、さらに、仮想マシン・コンテキストを当該第2のサービス基板に発行すべきと第1のハードウェア・リソースの決定された当該使用者に従って判定した後に、当該第1の仮想マシン・コンテキストまたは当該第2の仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成される。
【0030】
第5の態様を引用して、第2の実現可能な実装方式では、当該通信装置はさらに制御基板を備え、当該制御基板はハードウェア層と当該ハードウェア層で実行されている基板間ハイパバイザを備え、当該基板間ハイパバイザは、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合に、当該第1のサービス基板内の基板内ハイパバイザが当該第1の割込みに対応する第1の仮想マシン・コンテキストを発行する前に、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しく、または、当該基板間ハイパバイザは、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合に、当該第1のサービス基板内の基板内ハイパバイザが当該第1の割込みに対応する第1の仮想マシン・コンテキストを発行する前に、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第1の閾値は、当該第2の閾値よりも高いか、低いか、または当該第2の閾値と等しい。
【0031】
第5の態様の第2の実現可能な実装方式を引用して、第3の実現可能な実装方式では、当該基板間ハイパバイザはさらに、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出された場合、または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合に、当該第1のサービス基板内の基板内ハイパバイザが当該第1の割込みに対応する第1の仮想マシン・コンテキストを発行した後に、当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを当該第1のサービス基板内の基板内ハイパバイザで実行されている仮想マシンに再割り当てするように構成され、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第2のハードウェア・リソース警告命令が当該第1のサービス基板により発行される。
【0032】
第5の態様の第2の実現可能な実装方式または第5の態様の第3の実現可能な実装方式を引用して、第4の実現可能な実装方式では、当該通信装置にはさらに第3のサービス基板が配備され、当該第3のサービス基板はハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つの仮想マシンを備え、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定された場合に、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第3のサービス基板が、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みを受信し、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定された場合に、当該第3のサービス基板内の基板内ハイパバイザは、第2の割込みに対応する第3の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザはさらに、発行した第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを取得し、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成され、または、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出したか、または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合、かつ、当該第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合に、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該第3のサービス基板内の基板内ハイパバイザは、当該第3のサービス基板が、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みを受信し、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定された場合に、第2の割込みに対応する第3の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザはさらに、発行した第3の仮想マシン・コンテキスト、または、当該第3の仮想マシン・コンテキストに基づいて取得され当該第2の割込みに対応する第4の仮想マシン・コンテキストを取得し、取得した第3の仮想マシン・コンテキストまたは第4の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンへと処理のために送信するように構成される。
【0033】
第5の態様の第2の実現可能な実装方式、第5の態様の第3の実現可能な実装方式、または第5の態様の第4の実現可能な実装方式を引用して、第5の実現可能な実装方式では、当該制御基板はさらに、当該制御基板のハードウェア層で実行されている基板内ハイパバイザと当該基板内ハイパバイザで実行されている少なくとも1つの仮想マシンとを備え、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えたと検出され、または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令が取得された場合、かつ、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が当該第2の閾値より低いと判定された場合に、リソースを移動して当該制御基板のハードウェア層にある第3のハードウェア・リソースを解放するように当該制御基板内の基板内ハイパバイザに指示し、当該制御基板のハードウェア層にある解放された第3のハードウェア・リソースを第2の仮想マシンまたは第5の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第1の仮想マシンに割り当てるように構成され、当該制御基板内の基板内ハイパバイザはさらに、当該制御基板が、当該制御基板のハードウェア層で生成された当該第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合に、第3の割込みに対応する第5の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザはさらに、発行した第5の仮想マシン・コンテキスト、または、当該第5の仮想マシン・コンテキストに基づいて取得した第6の仮想マシン・コンテキストを取得し、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第5の仮想マシンへと処理のために送信するように構成され、または、当該基板間ハイパバイザはさらに、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出されたか、または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令が取得された場合、かつ、当該制御基板のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定された場合に、当該制御基板のハードウェア層にあるアイドルな第3のハードウェア・リソースを第2の仮想マシンまたは当該第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている第5の仮想マシンに割り当てるように構成され、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第4のハードウェア・リソース警告命令が当該第2のサービス基板により発行され、当該制御基板内の基板内ハイパバイザはさらに、当該制御基板が、当該制御基板のハードウェア層で生成された当該第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合に、第3の割込みに対応する第5の仮想マシン・コンテキストを発行するように構成され、当該第2のサービス基板内の基板内ハイパバイザはさらに、発行した第5の仮想マシン・コンテキスト、または、当該第5の仮想マシン・コンテキストに基づいて取得した第6の仮想マシン・コンテキストを取得し、取得した第5の仮想マシン・コンテキストまたは第6の仮想マシン・コンテキストを当該第2の仮想マシンまたは当該第1の仮想マシンまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている当該第5の仮想マシンへと処理のために送信するように構成される。
【0034】
以上に基づいて、本発明の幾つかの実施形態では、通信装置に配備した制御基板が、当該通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得し、第1の割込みに対応する第1の仮想マシン・コンテキストまたは当該第1の割込みに対応する第2の仮想マシン・コンテキストを発行し、その結果、当該通信装置に配備した第2のサービス基板が、第1の割込みに対応する発行した仮想マシン・コンテキストを取得した後、第1の割込みに対応する取得した仮想マシン・コンテキストを当該第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信することが分かる。ここで、当該第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、第1の割込みに対応する第1の仮想マシン・コンテキストが当該第1のサービス基板により発行される。当該第1のハードウェア・リソースの使用者は当該第1の仮想マシンである。本発明の通信装置の1実施形態では、サービス基板のハードウェア層にあるリソースの一部を別のサービス基板で実行されているVMに割り当ててもよい。制御基板が割込みのコンテキストを送信すると、サービス基板が割込みのコンテキストの処理を完了する。本方法は、サービス基板のハードウェア・リソースの基板間共有の実現を支援し、通信装置のハードウェア・リソース利用をさらに最適化し、通信装置の処理性能をさらに高める。
【0035】
本発明の諸実施形態または先行技術における技術的解決策をより明確に示すために、以下では当該諸実施形態または先行技術を説明するのに必要な添付図面を簡潔に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は創造的作業なしにこれらの添付図面から他の図面を依然として導出することができる。
【発明を実施するための形態】
【0037】
本発明の諸実施形態では、通信装置のハードウェア・リソースのための仮想化管理方法および関連装置を提供して、通信装置のハードウェア・リソース利用を最適化し、さらに性能を高める。
【0038】
本発明の解決策を当業者により分かり易くするために、以下では、本発明の諸実施形態における技術的解決策を、本発明の諸実施形態の添付図面を参照して明確かつ十分に説明する。明らかに、説明する実施形態は本発明の諸実施形態の全部ではなく一部にすぎない。当業者が創造的作業なしに本発明の諸実施形態に基づいて取得する他の全ての実施形態は、本発明の保護範囲に入るものとする。
【0039】
本発明の要約、特許請求の範囲、および上述の添付図面における(もしあれば)「第1の」、「第2の」、「第3の」、および「第4の」のような用語は、同様な対象物を区別するために使用され、必ずしも特定の並びまたは順序を記述するために使用されるものではない。当該用語は、本明細書に記載の本発明の諸実施形態が例えば、本明細書で図示または説明した並びとは異なる並びで実現できるように、適切な状況下で交互に使用されることは理解される。さらに、「含む」および「有する」という用語ならびにそれらの任意の変形は、非排他的な包含を網羅しようとするものである。例えば、一連のステップまたはユニットを含む、プロセス、方法、システム、製品、または装置は、必ずしも明示的に列挙したステップまたはユニットには限定されず、明示的に列挙していない他のステップもしくはユニットまたはかかるプロセス、方法、製品、または装置に固有なステップもしくはユニットを含んでもよい。
【0040】
本発明の諸実施形態の理解を支援するために、本明細書では先ず、本発明の諸実施形態の説明で導入した幾つかの用語を定義する。
【0041】
仮想マシン(VM):
VMソフトウェアを用いて1つまたは複数の仮想コンピュータを物理コンピュータ上でシミュレートすることができる。これらのVMは実際のコンピュータのように動作する。VMには、オペレーティング・システムおよびアプリケーション・プログラムをインストールすることができ、VMはネットワーク・リソースにアクセスすることができる。VM上で実行されるアプリケーションは、物理コンピュータ上にあるかのように動作する。
【0042】
ハードウェア層:
ハードウェア層とは、仮想環境で実行されるハードウェア・プラットフォームである。ハードウェア層は複数のハードウェアを備えてもよい。例えば、通信装置または計算基板のハードウェア層がCPUとメモリを備えてもよく、さらに、ネットワーク・アダプタやディスクのような入出力装置を備えてもよい。
【0043】
ハイパバイザ(Hypervisor):
管理層として、ハイパバイザは、ハードウェア・リソースに対する管理と割当てを実現し、VMに仮想ハードウェア・プラットフォームを提供し、VMスケジューリングと隔離を実現するように構成される。仮想ハードウェア・プラットフォームは、その上で実行されているVMごとに様々なハードウェア・リソース、例えば、仮想CPU、メモリ、仮想ディスク、および仮想ネットワーク・アダプタを提供する。VMは仮想ハードウェア・プラットフォーム上で実行され、1つまたは複数のVMがハイパバイザで実行される。
【0044】
以下では、本発明の諸実施形態における解決策を実現できる幾つかの通信装置のアーキテクチャを説明する。
【0045】
図2A乃至
図2Dを参照されたい。
図2A乃至
図2Dは、本発明の諸実施形態に従う幾つかの通信装置の略構造図である。
図2Aに示す通信装置は複数のサービス基板を備える。各サービス基板は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つのVMを備えてもよい。ハードウェア層は、CPU、メモリ、ネットワーク・アダプタ等を備えてもよい。サービス基板の基板内ハイパバイザは互いと通信することができる。
図2Aに示す通信装置と比較すると、
図2Bに示した通信装置には共有メモリが追加されている。
図2Bに示す通信装置内のサービス基板の基板内ハイパバイザは当該共有メモリにアクセスすることができ、さらに、当該共有メモリを介して互いと通信することができる。例えば、サービス基板のメモリの一部を、全てのサービス基板に対する共有メモリとして使用してもよく、または、スタンドアロンのメモリを全てのサービス基板に対する共有メモリとして配備してもよい。
【0046】
図2Cに示す通信装置は、複数のサービス基板と制御基板を備える。本発明の諸実施形態では、通信装置上で基板間ハイパバイザが配備された基板を制御基板と称する。基板間ハイパバイザは、通信装置内の制御基板のハードウェア層で実行される。勿論、制御基板は依然としてサービス基板と同様のサービス処理機能を有することができる。サービス基板は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および当該基板内ハイパバイザで実行されている少なくとも1つのVMを備えてもよい。制御基板またはサービス基板のハードウェア層は、CPU、メモリ、ネットワーク・アダプタ等を備えてもよい。各サービス基板内の基板間ハイパバイザと基板内ハイパバイザは互いと通信することができる。
図2Cに示した通信装置と比較して、
図2Dに示す通信装置には共有メモリが追加されている。
図2Dに示した通信装置上では、各サービス基板内の基板内ハイパバイザと基板間ハイパバイザは、当該共有メモリにアクセスすることができ、さらに、当該共有メモリを介して互いと通信することができる。例えば、制御基板またはサービス基板のメモリの一部を全てのサービス基板に対する共有メモリとして使用してもよく、または、スタンドアロンのメモリを全てのサービス基板に対する共有メモリとして配備してもよい。
【0047】
本発明の諸実施形態の解決策を特に、例えば、そのアーキテクチャが
図2A、
図2B、
図2C、または
図2Dに示されている通信装置に基づいて実現してもよく、勿論、当該アーキテクチャの変形を有する通信装置に基づいて実現してもよい。
【0048】
本発明の1実施形態で提供する通信装置のハードウェア・リソースのための仮想化管理方法が、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1のVMコンテキストを取得するステップであって、当該第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、第1の割込みに対応する第1のVMコンテキストが当該第1のサービス基板により発行されるステップと、当該通信装置に配備した第2のサービス基板が、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信するように、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行するステップであって、第1のVMは第1のハードウェア・リソースの使用者であるステップと、を含んでもよい。
【0049】
図3を参照すると、本発明の1実施形態に従う通信装置のハードウェア・リソースのための仮想化管理方法が、以下を含んでもよい。
【0050】
301では、通信装置に配備した制御基板が、通信装置に配備した第1のサービス基板によって発行され第1の割込みに対応する第1のVMコンテキストを取得する。
【0051】
当該第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、第1の割込みに対応する第1のVMコンテキストを、第1のサービス基板により発行してもよい。
【0052】
例えば、制御基板内の基板間ハイパバイザを使用して、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを取得してもよい。ここで、第1のサービス基板内の基板内ハイパバイザが、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みを受信し、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、当該第1の割込みに対応する第1のVMコンテキストが発行される。ここで、本発明の諸実施形態における割込みに対応するVMコンテキストが、当該割込みのコンテキストを含んでもよく(例えば、第1の割込みに対応するVMコンテキストが第1の割込みのコンテキストを含む)、勿論、当該割込みに対応するVMコンテキストに元々含まれていた他の情報を含んでもよく、他の情報を必要に応じて当該割込みに対応するVMコンテキストにさらに追加してもよい。
【0053】
本発明の幾つかの実施形態では、通信装置内の第1のサービス基板内の基板内ハイパバイザは、第1のサービス基板のハードウェア層で生成された第1の割込みを受信した後、先ず、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであるかどうかをチェックしてもよい(即ち、第1のサービス基板のハードウェア層にある部分リソース(例えば、物理コアまたは仮想コア)を必要に応じて通信装置内の別のサービス基板内の基板内ハイパバイザで実行されているVMに割り当て(貸出しと等価)てもよい)。第1のサービス基板内の基板内ハイパバイザが、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースでない(即ち、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが第1のサービス基板内の基板内ハイパバイザで実行されているVMにより使用されている。ここで、第1のハードウェア・リソースの使用者は、第1のサービス基板内の基板内ハイパバイザで実行されているVMである)と判定した場合には、第1のサービス基板内の基板内ハイパバイザは第1の割込みに対応する第1のVMコンテキストを基板内ハイパバイザで実行されているVMに送信し、当該VMが第1の割込みに対応する第1のVMコンテキストを処理できるようにする。第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースである(即ち、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが、第1のサービス基板内の基板内ハイパバイザで実行されているVMにより使用されていない)と第1のサービス基板内の基板内ハイパバイザが判定した場合には、第1のサービス基板内の基板内ハイパバイザは、第1の割込みに対応する第1のVMコンテキストを送信する。
【0054】
第1のサービス基板内の基板内ハイパバイザは、第1の割込みに対応する第1のVMコンテキストを多数の方法で送信してもよい。例えば、当該第1のサービス基板内の基板内ハイパバイザが、第1の割込みに対応する第1のVMコンテキストを制御基板内の基板間ハイパバイザに送信してもよい。このシナリオでは、制御基板内の基板間ハイパバイザは、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを受信することができる。または、当該第1のサービス基板内の基板内ハイパバイザは、第1の割込みに対応する第1のVMコンテキストを共有メモリ(もしあれば)に送信してもよい。このシナリオでは、制御基板内の基板間ハイパバイザは、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを当該共有メモリから取得することができる。または、当該第1のサービス基板内の基板内ハイパバイザは、第1の割込みに対応する第1のVMコンテキストを広範な方法で発行することができる。このシナリオでは、制御基板内の基板間ハイパバイザは、第1のサービス基板内の基板内ハイパバイザにより発行された第1のVMコンテキストを広範な方法で受信することができる。
【0055】
第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストが被使用者識別子を含んでもよい。当該識別子は、第1の割込みを生成した第1のハードウェア・リソースを示す。例えば、第1のサービス基板のハードウェア層にある物理コアまたは仮想コアが第1の割込みを生成した場合には、第1の割込みに対応する第1のVMコンテキストに保持された被使用者情報が、例えば、物理コアまたは仮想コアの識別情報であってもよい。勿論、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストがさらに使用者情報を保持してもよい。当該使用者情報は、第1の割込みを生成したハードウェア・リソースを割り当てた通信装置上のVMを示してもよい。例えば、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが第2のサービス基板内の基板内ハイパバイザで実行されているVMに割り当てられている(即ち、第2のサービス基板内の基板内ハイパバイザで実行されているVMは、第1のサービス基板のハードウェア層で第1の割込みを生成した割り当てられた第1のハードウェア・リソースである)場合には、第1の割込みに対応する第1のVMコンテキストに保持されている使用者情報は、例えば、第2のサービス基板内の基板内ハイパバイザの識別情報、または、第2のサービス基板内の基板内ハイパバイザで実行され第1の割込みを生成した第1のハードウェア・リソースを使用する第1のVMの識別情報であってもよい。ここで、第1のハードウェア・リソースの使用者は第1のVMである。勿論、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストが対応する使用者情報を保持しない場合には、制御基板内の基板間ハイパバイザは、ハードウェア・リソースの構成関係に従って、第1の割込みを生成した割り当てられた第1のハードウェア・リソースである第1のVM(第1のVMは第1の割込みを生成した第1のハードウェア・リソースの使用者である。ここで、第1のVMが第2のサービス基板内の基板内ハイパバイザで実行されると仮定する)を検索して、第1のハードウェア・リソースの使用者が第1のVMであることを知る。制御基板内の基板間ハイパバイザはさらに、第1のハードウェア・リソースの使用者情報(例えば、第1のVMの識別子)を第1の割込みに対応する第1のVMコンテキストに追加して、第1の割込みに対応する発行すべき第2のVMコンテキストを取得してもよい。
【0056】
302では、当該制御基板が第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行し、その結果、通信装置に配備された第2のサービス基板は、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得した後に、第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信する。ここで、第1のハードウェア・リソースの使用者は第1のVMである。
【0057】
本発明の幾つかの実施形態では、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持しない場合には、当該制御基板は第1のハードウェア・リソースの使用者識別子を第1のVMコンテキストに追加して、第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持する場合には、当該制御基板は第1のVMコンテキストに保持された第1のハードウェア・リソースの使用者識別子を除去して、第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、当該制御基板はまた、他の情報を第1のVMコンテキストに追加し、かつ/もしくは、第1のVMコンテキストに保持された他の情報を除去し、ならびに/またはフォーマット変換を第1のVMコンテキストに実施して、第1のVMコンテキストとは異なる第2のVMコンテキストを取得してもよい。
【0058】
例えば、制御基板内の基板間ハイパバイザを使用して第1のVMコンテキスト、または、第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行してもよく、その結果、第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは制御基板内の基板間ハイパバイザにより発行された第2のVMコンテキストを取得した後に、第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信することができる。
【0059】
本発明の幾つかの実施形態では、当該基板間ハイパバイザは、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを取得した後に、例えば、第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを多数の方法で発行してもよい。第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストが、例えば、第1のハードウェア・リソースの使用者識別子を保持してもよい。勿論、第2のサービス基板内の基板内ハイパバイザは第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを取得することができる。例えば、当該基板間ハイパバイザは、第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを広範な方法で発行してもよい。このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを受信することができる。第1のハードウェア・リソースの使用者が第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMであるので、当該第2のサービス基板内の基板内ハイパバイザは、第1のハードウェア・リソースの使用者が第1のVMであると判定し、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2のサービス基板に発行すべきと判定することができる。第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2の基板に発行すべきであると判定した後、当該第2のサービス基板内の基板内ハイパバイザは、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。または、当該基板間ハイパバイザは、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを当該第2のサービス基板に発行すべきと判定した後に、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを当該第2のサービス基板内の基板内ハイパバイザに発行してもよい。このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを受信することができる。または、当該基板間ハイパバイザは、第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを共有メモリ(もしあれば)に書き込んでもよい。このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを当該共有メモリから取得することができる。第2のサービス基板内の基板内ハイパバイザは、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2のサービス基板に発行すべきと判定した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。他のシナリオに関しては、残りは類推によって導出することができる。
【0060】
さらに、第2のサービス基板内の基板内ハイパバイザ上で実行されているVMが第1のVMコンテキストまたは第2のVMコンテキストを処理した後に、当該第2のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第2のVM処理コンテキストを発行してもよい。第2のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第2のVM処理コンテキストを取得した後に、当該基板間ハイパバイザが、第2のVM処理コンテキストまたは当該第2のVM処理コンテキストに基づいて取得され第1の割込みに対応する第1のVM処理コンテキストを発行してもよい。第1のサービス基板内の基板内ハイパバイザが、第2のVM処理コンテキストまたは基板間ハイパバイザにより発行された第1のVM処理コンテキストを取得してもよい。例えば、第1の割込みに対応する第2のVM処理コンテキストが第1のハードウェア・リソースの識別子(即ち、被使用者識別子)を保持しない場合には、当該制御基板は、第1のハードウェア・リソースの識別子を第2のVM処理コンテキストに追加して第1の割込みに対応する第1のVM処理コンテキストを取得してもよい。または、第1の割込みに対応する第2のVM処理コンテキストが第1のハードウェア・リソースの識別子を保持する場合には、当該制御基板は、第2のVM処理コンテキストで保持された第1のハードウェア・リソースの識別子を除去して第1の割込みに対応する第1のVM処理コンテキストを取得してもよい。または、当該制御基板がさらに、他の情報を第2のVM処理コンテキストに追加し、かつ/もしくは第2のVM処理コンテキストで保持された他の情報を除去し、ならびに/またはフォーマット変換を第2のVM処理コンテキストに対して実施して、第2のVM処理コンテキストとは異なる第1のVM処理コンテキストを取得してもよい。
【0061】
第2のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第2のVM処理コンテキストを発行する方法が、第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを発行する方法、基板間ハイパバイザが第2のVM処理コンテキストもしくは第1のVM処理コンテキストを発行する方法、または、基板間ハイパバイザが第2のVMコンテキストもしくは第1のVMコンテキストを発行する方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。本発明の諸実施形態では、割込みに対応するVM処理コンテキストが当該割込みの処理コンテキストを含んでもよく(例えば、第1の割込みに対応するVM処理コンテキストが第1の割込みの処理コンテキストを含む)、勿論、当該割込みに対応するVM処理コンテキストに元々含まれている他の情報をさらに含んでもよく、他の情報を必要に応じて当該割込みに対応するVMコンテキストに追加してもよい。
【0062】
以上に基づいて、当該実施形態では、通信装置に配備した制御基板が、通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1のVMコンテキストを取得し、第1の割込みに対応する第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行し、その結果、通信装置に配備した第2のサービス基板が、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信することが分かる。ここで、第1の割込みに対応する第1のVMコンテキストは、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると第1のサービス基板が判定した後に、第1のサービス基板により発行される。ここで、第1のハードウェア・リソースの使用者は第1のVMである。当該実施形態の通信装置では、サービス基板のハードウェア層にあるリソースの一部を、別のサービス基板上で実行されているVMに割り当ててもよい。制御基板が割込みのコンテキストを送信し、サービス基板が割込みのコンテキストの処理を実現する。本方法では、サービス基板のハードウェア・リソースの基板間共有の実現を支援し、さらに通信装置のハードウェア・リソース利用を最適化し、さらに通信装置の処理性能を高める。
【0063】
本発明の幾つかの実施形態では、制御基板内の基板間ハイパバイザは、さらに、リソース・プール・ステータス情報を保持してもよい(例えば、リソース・プールのステータス・テーブルにおいてリソース・プール・ステータス情報を保持する)。ここで、基板間ハイパバイザが、リソース・プール・ステータス情報を共有メモリ(もしあれば)に保持してもよい。リソース・プール・ステータス情報が、通信装置内の複数のサービス基板のハードウェア層におけるハードウェア・リソースの利用ステータス、例えば、各サービス基板のハードウェア層にあるハードウェア・リソースの現在の利用量、および、各サービス基板のハードウェア層にあるハードウェア・リソースの使用者を示してもよい(例えば、各サービス基板のハードウェア層にあるどのハードウェア・リソースが別のサービス基板の中の基板内ハイパバイザで実行されているVMに割り当てられ、どのリソースが割り当てられていないかを示す)。さらに、制御基板内の基板間ハイパバイザはさらに、定期的におよび/または不定期に各サービス基板のハードウェア層のハードウェア・リソース利用を取得して自ら保持するリソース・プール・ステータス情報を更新し、自ら保持するリソース・プール・ステータス情報が各サービス基板のハードウェア層の最新のハードウェア・リソース利用ステータスを示すことを保証してもよい。
【0064】
本発明の幾つかの実施形態では、制御基板内の基板間ハイパバイザを利用して、ハードウェア・リソースの動的な割当てまたは復元を実現してもよい。
【0065】
例えば、制御基板(例えば、制御基板内の基板間ハイパバイザ)が、通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合。ここで、例えば、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値または別の閾値を超えた後に、第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと当該制御基板が判定した場合には、制御基板は、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当ててもよい。ここで、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい。別の例として、制御基板が、通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合。ここで、例えば、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、制御基板が、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定した場合には、制御基板は、第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当ててもよい。勿論、制御基板が、第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソース(または他の多くのハードウェア・リソース)を、第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている別のVMに静的構成方法または別の割当て方法を用いて割り当ててもよい。
【0066】
さらに、別の例として、制御基板(例えば、制御基板内の基板間ハイパバイザまたは別のユニット)が、第1のVMコンテキストまたは第1の割込みに対応する第2のVMコンテキストを発行した後に、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザが発行した第2のハードウェア・リソース警告命令を取得した場合に、制御基板は、第1のサービス基板(または別のサービス基板)のハードウェア層にある割り当てられたハードウェア・リソース(例えば、第1のハードウェア・リソース)の一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい(リソース復元と等価)。この場合、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザは、第1のサービス基板(または別のサービス基板)のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値(例えば、70%)を超えたとき、ハードウェア・リソース警告命令を発行してもよい。勿論、通信装置内の別のサービス基板のハードウェア層がこの時点でアイドルなハードウェア・リソースを依然として有する場合には、制御基板は、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに割り当ててもよい。また、別の例として、第1のサービス基板(または別のサービス基板)のハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出したとき、制御基板は、第1のサービス基板(または別のサービス基板)のハードウェア層にある割り当てられたハードウェア・リソース(例えば、第1のハードウェア・リソース)の一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい。さらに、別の例として、制御基板が、第1のサービス基板(または別のサービス基板)のハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出したと場合、かつ、通信装置内の別のサービス基板のハードウェア層がこの時点でアイドルなハードウェア・リソースを有する場合には、制御基板はまた、例えば、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに割り当ててもよい。残りは類推によって導出することができる。
【0067】
以上の例の機構に基づいて、サービス基板間で割り当てられたハードウェア・リソースの動的な復元または再割当てを実現できることが分かる。
【0068】
別の例として、通信装置にはさらに第3のサービス基板が配備されると仮定する。当該第3のサービス基板は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および基板内ハイパバイザで実行されている少なくとも1つのVMを含む。制御基板(例えば、制御基板内の基板間ハイパバイザまたは別のユニット)が第2のサービス基板内の基板内ハイパバイザにより発行された第3のハードウェア・リソース警告命令を取得した場合(ここで、例えば、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値(例えば、70%)を超えたとき、第2のサービス基板内の基板内ハイパバイザがハードウェア・リソース警告命令を発行してもよい)、かつ、制御基板が、第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値(例えば、50%)または別の閾値より低いと判定した場合には、制御基板は、リソースを移動して、第3のサービス基板のハードウェア層にあるハードウェア・リソース(例えば、第2のハードウェア・リソース。これは、例えば、物理コアまたは仮想コアである)の一部を解放するように第3のサービス基板内の基板内ハイパバイザに指示し、第3のサービス基板のハードウェア層にある解放されたハードウェア・リソース(例えば、第2のハードウェア・リソース)の一部または全部を、第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第2のVMまたは第1のVM)に割り当ててもよい。さらに、別の例として、制御基板(例えば、制御基板内の基板間ハイパバイザまたは別のユニット)が第2のサービス基板内の基板内ハイパバイザにより発行された第3のハードウェア・リソース警告命令を取得した場合(または、制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した場合)、かつ、制御基板が、第3のサービス基板のハードウェア層がアイドルなハードウェア・リソース(例えば、第2のハードウェア・リソース)を現在有すると判定した場合には、当該アイドルなハードウェア・リソースは第3のサービス基板のハードウェア・リソースの一部または全部であるが、制御基板は、第3のサービス基板のハードウェア層にあるアイドルなハードウェア・リソース(例えば、第2のハードウェア・リソース)の一部または全部を、第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第1のVMまたは第2のVM)に割り当ててもよい。また、別の例として、制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した場合(例えば、定期的または不定期に各サービス基板のハードウェア層のハードウェア・リソース利用をチェックしたとき、制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した場合)、制御基板は、リソースを移動して、サービス基板のハードウェア層にあるハードウェア・リソースの一部を解放するように通信装置のサービス基板内の基板内ハイパバイザに指示し、サービス基板のハードウェア層にある解放されたハードウェア・リソースの一部または全部を第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第2のVMまたは第1のVM)に割り当ててもよい。ここで、当該基板内ハイパバイザの現在のハードウェア・リソース利用が第2の閾値または別の閾値より低い。
【0069】
例えば、制御基板が、第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMまたは第2のVMに割り当てる場合、かつ、当該制御基板が、第3のサービス基板により発行され第2の割込みに対応する第3のVMコンテキストを取得した場合には、当該制御基板が、第3のVMコンテキスト、または、第3のVMコンテキストに基づいて取得され第2の割込みに対応する第4のVMコンテキストを発行してもよく、その結果、当該第2のサービス基板が、発行した第3のVMコンテキストまたは第4のVMコンテキストを取得した後に、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信する。ここで、第2のハードウェア・リソースの使用者は第2のVMまたは第1のVMである。ここで、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、第2の割込みに対応する第3のVMコンテキストが第3のサービス基板により発行される。第3のサービス基板および制御基板が第2の割込みに対応するVMコンテキストを発行する方法は、第1のサービス基板および制御基板が第1の割込みに対応するVMコンテキストを発行する上述した方法と同様であってもよく、第2のサービス基板が、発行した第3のVMコンテキストまたは第2の割込みに対応する第4のVMコンテキストを取得する方法は、第2のサービス基板が第1の割込みに対応する発行した第2のVMコンテキストを取得する上述した方法と同様であってもよく、当該制御基板が、第2の割込みに対応する第3のVMコンテキストに基づいて、第3のVMコンテキストとは異なり第2の割込みに対応する第4のVMコンテキストを取得する方法は、制御基板が、第1の割込みに対応する第1のVMコンテキストに基づいて、第1のVMコンテキストと異なり第1の割込みに対応する第2のVMコンテキストを取得する上述した方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。
【0070】
以上の例の機構に基づいて、サービス基板間のハードウェア・リソースの動的な割当てを実現できることが分かる。
【0071】
本発明の幾つかの実施形態では、通信装置に配備した制御基板における基板間ハイパバイザが、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した場合)、かつ、制御基板内の基板間ハイパバイザが、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、制御基板内の基板間ハイパバイザは、リソースを移動して制御基板の当該ハードウェア層にある第3のハードウェア・リソースを解放するように自分自身に指示し、当該制御基板のハードウェア層にある解放された第3のハードウェア・リソースを、第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当ててもよい。別の例として、制御基板が、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した場合)、かつ、制御基板が、当該制御基板のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定した場合には、当該制御基板は、当該制御基板の当該ハードウェア層にあるアイドルな第3のハードウェア・リソースを、第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当ててもよい。ここで、例えば、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値(例えば、70%)または別の閾値を超えたとき、第2のサービス基板内の基板内ハイパバイザは第4のハードウェア・リソース警告命令を発行してもよい。
【0072】
例えば、制御基板が制御基板のハードウェア層にある第3のハードウェア・リソースを第1のVMまたは第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当てた場合、かつ、制御基板内の基板間ハイパバイザが、当該制御基板のハードウェア層で生成された第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合には、当該制御基板は、第3の割込みに対応する第5のVMコンテキストを発行してもよい。ここで、第3のハードウェア・リソースの使用者は、第1のVMまたは第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMである。第2のサービス基板は、発行した第5のVMコンテキスト、または、第5のVMコンテキストに基づいて取得され第3の割込みに対応する第6のVMコンテキストを取得し、取得した第6のVMコンテキストまたは第5のVMコンテキストを第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMへと処理のために送信する。
【0073】
本発明の幾つかの実施形態では、通信装置に配備した制御基板における基板間ハイパバイザが、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出し、通信装置に配備された第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値または別の閾値より低いと判定した場合には、制御基板内の基板間ハイパバイザは、リソースを移動して第3のサービス基板のハードウェア層にある第4のハードウェア・リソースを解放するように第3のサービス基板内の基板内ハイパバイザに指示し、第3のサービス基板のハードウェア層にある解放された第4のハードウェア・リソースを、制御基板内の基板内ハイパバイザで実行されている第3のVMを割り当ててもよい。別の例として、通信装置に配備した制御基板における基板間ハイパバイザが、制御基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出し、かつ、第3のサービス基板のハードウェア層がアイドルな第4のハードウェア・リソースを現在有すると判定した場合には、制御基板内の基板間ハイパバイザが、第3のサービス基板のハードウェア層にあるアイドルな第4のハードウェア・リソースを、制御基板内の基板内ハイパバイザで実行されている第3のVMに割り当ててもよい。
【0074】
例えば、制御基板が第3のサービス基板のハードウェア層にある第4のハードウェア・リソースを制御基板内の基板内ハイパバイザで実行されている第3のVMに割り当てた場合、かつ、制御基板内の基板間ハイパバイザが第3のサービス基板により発行され第4の割込みに対応する第7のVMコンテキストを取得した場合には、制御基板内の基板内ハイパバイザは、第4の割込みに対応する第7のVMコンテキストを取得し、取得した第4の割込みに対応する第7のVMコンテキストを制御基板内の基板内ハイパバイザで実行されている第3のVMへと処理のために送信してもよい。ここで、第4のハードウェア・リソースの使用者は第3のVMである。ここで、第3のサービス基板のハードウェア層で第
4の割込みを生成した第4のハードウェア・リソースが、第3のサービス基板のハードウェア層で生成された第4の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、第4の割込みに対応する第7のVMコンテキスト第3のサービス基板により発行される。
【0075】
各基板内ハイパバイザがハードウェア・リソース警告命令を発行する方法は、基板内ハイパバイザが割込みに対応するVMコンテキストを発行する方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。
【0076】
本発明の当該実施形態における解決策の説明では、サービス基板により実施される動作を、例えば、特に基板内ハイパバイザまたはサービス基板内の別のユニットによって実施してもよいことに留意されたい。勿論、サービス基板内の基板内ハイパバイザにより実施される動作を、サービス基板内の別のユニットにより実施してもよく、サービス基板内のユニットにより実施される動作を、サービス基板により実施される動作とみなすことができる。同様に、制御基板により実施される動作を特に、例えば、基板内ハイパバイザ、基板間ハイパバイザ、または当該制御基板内の別のユニットによって実施してもよく、制御基板内の基板内ハイパバイザまたは基板間ハイパバイザにより実施される動作を、勿論、当該制御基板内の別のユニットにより実施してもよく、制御基板内のユニットにより実施される動作を当該制御基板により実施される動作とみなすことができる。
【0077】
本発明の通信装置の実施形態が、例えば、基地局、アクセス・ポイント、もしくは基地局コントローラのようなアクセス・ネットワーク装置、または、可動性管理ネットワーク要素もしくはパケット・データ・ネットワーク・ゲートウェイのようなコア・ネットワーク装置、または、別の通信ネットワーク要素もしくは装置であってもよいことに留意されたい。
【0078】
以下では、本発明の別の実施形態、即ち、通信装置のハードウェア・リソースのための仮想化管理方法を説明する。当該方法は、通信装置に配備された第1のサービス基板により、当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信するステップと、当該第1のサービス基板のハードウェア層で当該第1の割込みを生成したハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、第1の割込みに対応する第1のVMコンテキストを発行するステップと、当該通信装置に配備した第2のサービス基板により、発行された第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信するステップであって、当該第1のVMは第1のハードウェア・リソースの使用者であるステップと、を含んでもよい。
【0079】
図4を参照すると、本発明の1実施形態に従う通信装置のハードウェア・リソースのための仮想化管理方法が、以下を含んでもよい。
【0080】
401では、通信装置に配備された第1のサービス基板が当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、当該第1のサービス基板のハードウェア層で当該第1の割込みを生成したハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合に、第1の割込みに対応する第1のVMコンテキストを発行する。
【0081】
例えば、第1のサービス基板における基板内ハイパバイザ(または別のユニット)を使用して当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを発行してもよい。
【0082】
本発明の幾つかの実施形態では、通信装置内の第1のサービス基板における基板内ハイパバイザが、当該第1のサービス基板のハードウェア層で生成された第1の割込みを受信した後に、まず、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであるかどうかをチェックしてもよい(当該第1のサービス基板のハードウェア層の部分リソース(例えば、物理コアまたは仮想コア)を必要に応じて通信装置内の別のサービス基板における基板内ハイパバイザで実行されているVMに割り当ててもよい(貸出と等価))。当該第1のサービス基板内の基板内ハイパバイザが、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースでない(即ち、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが第1のサービス基板内の基板内ハイパバイザで実行されているVMにより使用されている。ここで、第1のハードウェア・リソースの使用者は第1のサービス基板内の基板内ハイパバイザで実行されているVMである)と判定した場合には、第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを基板内ハイパバイザで実行されているVMに送信し、その結果、VMは、第1の割込みに対応する第1のVMコンテキストを処理することができる。第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースである(即ち、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが第1のサービス基板内の基板内ハイパバイザで実行されているVMによって使用されていない)と当該第1のサービス基板内の基板内ハイパバイザが判定した場合には、当該第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを送信する。
【0083】
第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを多数の方法で送信してもよい。例えば、当該第1のサービス基板内の基板内ハイパバイザが、第1の割込みに対応する第1のVMコンテキストを制御基板内の基板間ハイパバイザに送信してもよい。このシナリオでは、制御基板内の基板間ハイパバイザは、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを受信することができる。または、当該第1のサービス基板内の基板内ハイパバイザが、第1の割込みに対応する第1のVMコンテキストを共有メモリ(もしあれば)に送信してもよい。このシナリオでは、制御基板内の基板間ハイパバイザまたは別のサービス基板(例えば、第2のサービス基板)内の基板内ハイパバイザが、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを当該共有メモリから取得することができる。または、当該第1のサービス基板内の基板内ハイパバイザが、第1の割込みに対応する第1のVMコンテキストを広範な方法で発行してもよい。このシナリオでは、制御基板内の基板間ハイパバイザまたは別のサービス基板(例えば、第2のサービス基板)内の基板内ハイパバイザが、当該第1のサービス基板内の基板内ハイパバイザにより広範な方法で発行され第1の割込みに対応する第1のVMコンテキストを受信することができる。
【0084】
第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストが被使用者識別子を保持してもよい。当該識別子は、第1の割込みを生成した第1のハードウェア・リソースを示す。例えば、当該第1のサービス基板のハードウェア層にある物理コアまたは仮想コアが第1の割込みを生成した場合には、第1の割込みに対応する第1のVMコンテキストに保持された被使用者情報は、例えば、物理コアまたは仮想コアの識別情報であってもよい。勿論、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストがさらに使用者情報を保持してもよい。当該使用者情報は、第1の割込みを生成した割り当てられたハードウェア・リソースである通信装置上のVMを示してもよい。例えば、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが第2のサービス基板内の基板内ハイパバイザで実行されているVMに割り当てられる(即ち、第2のサービス基板内の基板内ハイパバイザで実行されているVMが第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースに割り当てられる)場合には、第1の割込みに対応する第1のVMコンテキストに保持されている使用者情報は、例えば、第2のサービス基板内の基板内ハイパバイザの識別情報、または、当該第2のサービス基板内の基板内ハイパバイザで実行され第1の割込みを生成した第1のハードウェア・リソースを使用する第1のVMの識別情報であってもよい。ここで、第1のハードウェア・リソースの使用者は第1のVMである。勿論、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストが対応する使用者情報を保持しない場合には、制御基板内の基板間ハイパバイザは、ハードウェア・リソース構成関係に従って、第1の割込みを生成した割り当てられた第1のハードウェア・リソースである第1のVM(第1のVMは、第1の割込みを生成した第1のハードウェア・リソースの使用者である。ここで、第1のVMが第2のサービス基板内の基板内ハイパバイザで実行されると仮定する)を検索して、第1のハードウェア・リソースの使用者は第1のVMであることを知る。制御基板内の基板間ハイパバイザはさらに、第1のハードウェア・リソースの使用者情報(例えば、第1のVMの識別子)を第1の割込みに対応する第1のVMコンテキストに追加して、第1の割込みに対応する発行すべき第2のVMコンテキストを取得してもよい。
【0085】
402では、当該通信装置に配備した第2のサービス基板が、発行された第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信する。ここで、第1のハードウェア・リソースの使用者は第1のVMである。
【0086】
例えば、当該第2のサービス基板内の基板内ハイパバイザを使用して、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。
【0087】
本発明の幾つかの実施形態では、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持しない場合には、当該制御基板が、第1のハードウェア・リソースの使用者識別子を第1のVMコンテキストに追加して第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持する場合には、当該制御基板が第1のVMコンテキストに保持された第1のハードウェア・リソースの使用者識別子を除去して第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、当該制御基板が、さらに、他の情報を第1のVMコンテキストに追加するかもしくは第1のVMコンテキストに保持された他の情報を除去し、かつ/または、フォーマット変換を第1のVMコンテキストに実施して、第1のVMコンテキストとは異なる第2のVMコンテキストを取得してもよい。
【0088】
本発明の幾つかの実施形態では、第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを共有メモリ(もしあれば)に書き込む場合には、第2のサービス基板内の基板内ハイパバイザは、発行された第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを当該共有メモリから取得することができる。VMコンテキストを第2の基板に発行すべきであると第1のハードウェア・リソースの使用者に基づいて判定した後に、当該第2のサービス基板内の基板内ハイパバイザは、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。または、第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを広範な方法で発行した場合には、第2のサービス基板内の基板内ハイパバイザは第1のVMコンテキストを受信することができる。第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2の基板に発行すべきであると判定した後に、当該第2のサービス基板内の基板内ハイパバイザは、第1の割込みに対応する取得した第1のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。
【0089】
本発明の別の実施形態では、制御基板内の基板間ハイパバイザが、先ず、第1のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第1のVMコンテキストを取得し、次いで第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを多数の方法で発行してもよい。第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストが使用者情報を保持してもよい。勿論、第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを取得することができる。例えば、当該基板間ハイパバイザが、第1のVMコンテキストまたは第2のVMコンテキストを広範な方法で発行するか(このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを受信することができる)、または、当該基板間ハイパバイザが、第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザに送信するか(このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを受信することができる)、または、基板間ハイパバイザが、第1のVMコンテキストまたは第2のVMコンテキストを共有メモリ(もしあれば)に書き込んでもよい。このシナリオでは、当該第2のサービス基板内の基板内ハイパバイザは、第1のVMコンテキストまたは基板間ハイパバイザにより発行された第2のVMコンテキストを当該共有メモリから受信することができる。第2のサービス基板内の基板内ハイパバイザが、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従ってVMコンテキストを第2のサービス基板に発行すべきと判定した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。
【0090】
さらに、第2のサービス基板内の基板内ハイパバイザ上で実行されているVMが第1のVMコンテキストまたは第2のVMコンテキストを処理した後、当該第2のサービス基板内の基板内ハイパバイザは第1の割込みに対応する第2のVM処理コンテキストを発行してもよい。当該第1のサービス基板内の基板内ハイパバイザは、発行した第2のVM処理コンテキスト、または、当該第2のVM処理コンテキストに基づいて取得され第1の割込みに対応する第1のVM処理コンテキストを取得することができる。例えば、第2のサービス基板内の基板内ハイパバイザにより発行され第1の割込みに対応する第2のVM処理コンテキストを取得した後に、当該基板間ハイパバイザは第2のVM処理コンテキストまたは当該第2のVM処理コンテキストに基づいて取得され第1の割込みに対応する第1のVM処理コンテキストを発行してもよい。第1のサービス基板内の基板内ハイパバイザが、第2のVM処理コンテキストまたは基板間ハイパバイザにより発行された第1のVM処理コンテキストを取得してもよい。別の例として、第1の割込みに対応する第2のVM処理コンテキストが第1のハードウェア・リソースの識別子(即ち、被使用者識別子)を保持しない場合には、当該制御基板は、第1のハードウェア・リソースの識別子を第2のVM処理コンテキストに追加して第1の割込みに対応する第1のVM処理コンテキストを取得してもよい。ここで、第1のVM処理コンテキストは第2のVM処理コンテキストとは異なる。または、第1の割込みに対応する第2のVM処理コンテキストが第1のハードウェア・リソースの識別子を保持する場合には、制御基板が、第2のVM処理コンテキストで保持された第1のハードウェア・リソースの識別子を除去して第1の割込みに対応する第1のVM処理コンテキストを取得してもよい。ここで、第1のVM処理コンテキストは第2のVM処理コンテキストとは異なる。または、当該制御基板がさらに、他の情報を第2のVM処理コンテキストに追加し、かつ/もしくは、第2のVM処理コンテキストで保持された他の情報を除去し、ならびに/または、フォーマット変換を第2のVM処理コンテキストに対して実施して、第2のVM処理コンテキストとは異なる第1のVM処理コンテキストを取得してもよい。
【0091】
第2のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第2のVM処理コンテキストを発行する方法が、第1のサービス基板内の基板内ハイパバイザが第1の割込みに対応する第1のVMコンテキストを発行する方法と同様であってもよく、当該基板間ハイパバイザが第1のVM処理コンテキストまたは第1の割込みに対応する第2のVM処理コンテキストを発行する方法が、当該基板間ハイパバイザを第2のVMコンテキストまたは第1の割込みに対応する第1のVMコンテキストを発行する方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。本発明の諸実施形態では、割込みに対応するVM処理コンテキストが当該割込みの処理コンテキストを含んでもよく(例えば、第1の割込みに対応するVM処理コンテキストが第1の割込みの処理コンテキストを含む)、勿論、当該割込みに対応するVM処理コンテキストに元々含まれている他の情報をさらに含んでもよく、他の情報をさらに必要に応じて当該割込みに対応するVMコンテキストに追加してもよい。
【0092】
以上に基づいて、当該実施形態では、通信装置に配備された第1のサービス基板が第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、当該第1のサービス基板のハードウェア層で当該第1の割込みを生成した当該ハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合には、第1の割込みに対応する第1のVMコンテキストを発行し、通信装置に配備した第2のサービス基板が発行された第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信することが分かる。ここで、第1のハードウェア・リソースの使用者は第1のVMである。当該実施形態の通信装置では、各サービス基板のハードウェア層のリソースの一部を別のサービス基板で実行されているVMに割り当ててもよい。各サービス基板は、VMコンテキストを送信することによってVMコンテキストの処理を完了する。本方法により、サービス基板のハードウェア・リソースの基板間共有の実現が支援され、通信装置のハードウェア・リソース利用を最適化し、さらに処理性能が高まる。
【0093】
本発明の幾つかの実施形態では、制御基板内の基板間ハイパバイザがさらに、リソース・プール・ステータス情報を保持(例えば、リソース・プールのステータス・テーブル内のリソース・プール・ステータス情報を保持)してもよい。ここで、当該基板間ハイパバイザがリソース・プール・ステータス情報を共有メモリ(もしあれば)に保持してもよい。リソース・プール・ステータス情報が、通信装置内の複数のサービス基板のハードウェア層におけるハードウェア・リソースの利用ステータス、例えば、各サービス基板のハードウェア層にあるハードウェア・リソースの現在の利用量、および、各サービス基板のハードウェア層にあるハードウェア・リソースの使用者を示してもよい(例えば、各サービス基板のハードウェア層にあるどのハードウェア・リソースが、別のサービス基板における基板内ハイパバイザで実行されているVMに割り当てられ、どのリソースが割り当てられないかを示す)。さらに、制御基板内の基板間ハイパバイザが、さらに、定期的におよび/または不定期に各サービス基板のハードウェア層のハードウェア・リソース利用を取得して自ら保持するリソース・プール・ステータス情報を更新し、自ら保持するリソース・プール・ステータス情報が各サービス基板のハードウェア層の最新のハードウェア・リソース利用ステータスを示すことを保証してもよい。
【0094】
本発明の幾つかの実施形態では、制御基板内の基板間ハイパバイザを利用して、ハードウェア・リソースの動的な割当てまたは復元を実現してもよい。
【0095】
例えば、第1のサービス基板が第1の割込みに対応するVMコンテキストを発行する前に、通信装置に配備された制御基板(例えば、制御基板内の基板間ハイパバイザ)が、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合。ここで、例えば、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと当該制御基板が判定した場合には、当該制御基板が、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを、第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当ててもよい。ここで、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい。別の例として、制御基板が、通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、第2のサービス基板により発行された第1のハードウェア・リソース警告命令を取得した場合。ここで、例えば、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、当該制御基板が、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定した場合には、当該制御基板は、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを、第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当ててもよい。勿論、当該制御基板が、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソース(または、他の多くのハードウェア・リソース)を、第1のVMまたは当該第2のサービス基板内の基板内ハイパバイザで実行されている別のVMに、静的構成方法または別の割当て方法を用いて割り当ててもよい。
【0096】
さらに、別の例として、第1のサービス基板が第1の割込みに対応する第1のVMコンテキストを発行した後に、制御基板(例えば、制御基板内の基板間ハイパバイザまたは別のユニット)が第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザにより発行された第2のハードウェア・リソース警告命令を取得した場合には、当該制御基板は、第1のサービス基板(または別のサービス基板)のハードウェア層にある割り当てられたハードウェア・リソース(例えば、第1のハードウェア・リソース)の一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい(リソース復元と等価)。ここで、第1のサービス基板(または別のサービス基板)のハードウェア層の現在のハードウェア・リソース利用が第1の閾値(例えば、70%)または別の閾値を超えたとき、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザがハードウェア・リソース警告命令を発行してもよい。勿論、通信装置内の別のサービス基板のハードウェア層がこの時点でアイドルなハードウェア・リソースを依然として有する場合には、当該制御基板は、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに割り当ててもよい。また、別の例として、第1のサービス基板(または別のサービス基板)のハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出したときには、制御基板は、第1のサービス基板(または別のサービス基板)のハードウェア層にある割り当てられたハードウェア・リソース(例えば、第1のハードウェア・リソース)の一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい。さらに、別の例として、制御基板が、第1のサービス基板(または別のサービス基板)のハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出した場合、かつ、通信装置内の別のサービス基板のハードウェア層がアイドルなハードウェア・リソースをこの時点で有する場合には、当該制御基板は、例えば、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、第1のサービス基板(または別のサービス基板)内の基板内ハイパバイザで実行されているVMに割り当ててもよい。残りは類推によって導出することができる。
【0097】
以上の例の機構に基づいて、サービス基板間で割り当てられたハードウェア・リソースの動的復元または再割当てを実現できることが分かる。
【0098】
別の例として、通信装置にはさらに第3のサービス基板が配備されると仮定する。ここで、当該第3のサービス基板は、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および基板内ハイパバイザで実行されている少なくとも1つのVMを備える。制御基板(例えば、基板間ハイパバイザまたは制御基板内の別のユニット)が、第2のサービス基板内の基板内ハイパバイザにより発行された第3のハードウェア・リソース警告命令(ここで、例えば、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値(例えば、70%)または別の閾値を超えたとき、当該第2のサービス基板内の基板内ハイパバイザがハードウェア・リソース警告命令を発行してもよい)を取得した場合、かつ、当該制御基板が、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値(例えば、50%)より低いまたは別の閾値(当該制御基板は、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用を自ら保持するリソース・プール・ステータス情報に従って決定してもよく、または、当該第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用を当該第3のサービス基板に問い合わせてもよい)と判定した場合には、当該制御基板は、リソースを移動して当該第3のサービス基板のハードウェア層にあるハードウェア・リソースの一部(例えば、第2のハードウェア・リソース。これは、例えば、物理コアまたは仮想コアである)を解放するように第3のサービス基板内の基板内ハイパバイザに指示し、第3のサービス基板のハードウェア層にある解放されたハードウェア・リソースの一部または全部(例えば、第2のハードウェア・リソース)を、第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第2のVMまたは第1のVM)に割り当ててもよい。さらに、別の例として、制御基板(例えば、基板間ハイパバイザまたは制御基板内の別のユニット)が第2のサービス基板内の基板内ハイパバイザにより発行された第3のハードウェア・リソース警告命令を取得した場合(または、当該制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した場合)、かつ、当該制御基板が、当該第3のサービス基板のハードウェア層がアイドルなハードウェア・リソース(例えば、第2のハードウェア・リソース)を現在有し、当該リソースは第3のサービス基板のハードウェア・リソースの一部または全部であると判定した場合には、当該制御基板は、第3のサービス基板のハードウェア層にあるアイドルなハードウェア・リソース(例えば、第2のハードウェア・リソース)の一部または全部を、第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第1のVMまたは第2のVM)に割り当ててもよい。また、別の例として、制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した(例えば、定期的または不定期に各サービス基板のハードウェア層のハードウェア・リソース利用をチェックするときに、当該制御基板が、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した)場合には、当該制御基板は、先ず、リソースを移動してサービス基板のハードウェア層にあるハードウェア・リソースの一部を解放するように通信装置のサービス基板内の基板内ハイパバイザに指示し、次いでサービス基板のハードウェア層にある解放されたハードウェア・リソースの一部または全部を第2のサービス基板内の基板内ハイパバイザで実行されているVM(例えば、第2のVMまたは第1のVM)に割り当ててもよい。ここで、基板内ハイパバイザの現在のハードウェア・リソース利用が第2の閾値または別の閾値より低い。
【0099】
例えば、制御基板が、第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMまたは第2のVMに割り当てた場合、かつ、当該第3のサービス基板が、当該第3のサービス基板のハードウェア層で生成された第2の割込みを受信し、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースであると判定した場合には、当該第3のサービス基板が第2の割込みに対応する第3のVMコンテキストを発行してもよい。第2のサービス基板は、発行した第3のVMコンテキスト、または、第3のVMコンテキストに基づいて取得され第2の割込みに対応する第4のVMコンテキストを取得し、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信してもよい。ここで、第2のハードウェア・リソースの使用者は第2のVMまたは第1のVMである。当該第3のサービス基板と当該制御基板が第2の割込みに対応するVMコンテキストを発行する方法が、第1のサービス基板と当該制御基板が第1の割込みに対応するVMコンテキストを発行する上述した方法と同様であってもよく、発行した第3のVMコンテキストまたは第4のVMコンテキストを第2のサービス基板が取得する方法は、発行された第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板が取得する上述した方法と同様であってもよく、当該制御基板が、第2の割込みに対応する第3のVMコンテキストに基づいて、第3のVMコンテキストとは異なり第2の割込みに対応する第4のVMコンテキストを取得する方法は、当該制御基板が、第1の割込みに対応する第1のVMコンテキストに基づいて、第1のVMコンテキストと異なり第1の割込みに対応する第2のVMコンテキストを取得する上述した方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。
【0100】
以上の例の機構に基づいて、サービス基板間のハードウェア・リソースの動的な割当てを実現できることが分かる。
【0101】
本発明の幾つかの実施形態では、通信装置に配備した制御基板における基板間ハイパバイザが、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した(または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した)場合、かつ、制御基板内の基板間ハイパバイザが、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、制御基板内の基板間ハイパバイザが、リソースを移動して制御基板の当該ハードウェア層にある第3のハードウェア・リソースを解放するように自分自身に指示し、当該制御基板のハードウェア層にある解放された第3のハードウェア・リソースを、第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当ててもよい。別の例として、制御基板が、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した(または、当該第2のサービス基板により発行された第4のハードウェア・リソース警告命令を取得した)場合、かつ、当該制御基板が、制御基板のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定した場合には、当該制御基板は、制御基板のハードウェア層にあるアイドルな第3のハードウェア・リソースを、第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当ててもよい。ここで、例えば、第2のサービス基板のハードウェア層のハードウェア・リソース利用が第1の閾値(例えば、70%)または別の閾値を超えたときには、当該第2のサービス基板内の基板内ハイパバイザが、第4のハードウェア・リソース警告命令を発行してもよい。
【0102】
例えば、制御基板が当該制御基板のハードウェア層にある第3のハードウェア・リソースを第1のVMまたは第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMに割り当てた場合、かつ、制御基板内の基板間ハイパバイザが、当該制御基板のハードウェア層で生成された第3の割込みを受信し、当該制御基板のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定した場合には、当該制御基板が第3の割込みに対応する第5のVMコンテキストを発行してもよい。ここで、第3のハードウェア・リソースの使用者は、第1のVMまたは第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMである。第2のサービス基板は、発行した第5のVMコンテキスト、または、当該第5のVMコンテキストに基づいて取得され第3の割込みに対応する第6のVMコンテキストを取得し、取得した第5のVMコンテキストまたは第3の割込みに対応する第6のVMコンテキストを、第2のVMまたは第1のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第5のVMへと処理のために送信する。ここで、第6のVMコンテキストが第5のVMコンテキストに基づいて取得される方法は、第2のVMコンテキストが第1のVMコンテキストに基づいて取得される方法と同様であってもよい。
【0103】
本発明の幾つかの実施形態では、通信装置に配備した制御基板における基板間ハイパバイザが、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出し、通信装置に配備された第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値または別の閾値より低いと判定した場合には、制御基板内の基板間ハイパバイザは、リソースを移動して第3のサービス基板のハードウェア層にある第4のハードウェア・リソースを解放するように当該第3のサービス基板内の基板内ハイパバイザに指示し、第3のサービス基板のハードウェア層にある解放された第4のハードウェア・リソースを、制御基板内の基板内ハイパバイザで実行されている第3のVMに割り当ててもよい。別の例として、通信装置に配備した制御基板における基板間ハイパバイザが、当該制御基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出し、第3のサービス基板のハードウェア層がアイドルな第4のハードウェア・リソースを現在有すると判定した場合には、制御基板内の基板間ハイパバイザが、第3のサービス基板のハードウェア層にあるアイドルな第4のハードウェア・リソースを、制御基板内の基板内ハイパバイザで実行されている第3のVMに割り当ててもよい。
【0104】
例えば、制御基板が第3のサービス基板のハードウェア層にある第4のハードウェア・リソースを制御基板内の基板内ハイパバイザで実行されている第3のVMに割り当てた場合、かつ、制御基板内の基板間ハイパバイザが第3のサービス基板により発行され第4の割込みに対応する第7のVMコンテキストを取得した場合には、当該制御基板内の基板内ハイパバイザは、第4の割込みに対応する第7のVMコンテキストを取得して、取得した第7のVMコンテキスト、または、当該第7のVMコンテキストに基づいて取得され第4の割込みに対応する第8のVMコンテキストを、制御基板内の基板内ハイパバイザで実行されている第3のVMへと処理のために送信してもよい。第3のサービス基板のハードウェア層で第
4の割込みを生成した第4のハードウェア・リソースが、第3のサービス基板のハードウェア層で生成された第4の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、第4の割込みに対応する第7のVMコンテキスト第3のサービス基板により発行される。ここで、第4のハードウェア・リソースの使用者は第3のVMであり、第8のVMコンテキストが第7のVMコンテキストに基づいて取得される方法が、第2のVMコンテキストが第1のVMコンテキストに基づいて取得される方法と同様であってもよい。
【0105】
各基板内ハイパバイザがハードウェア・リソース警告命令を発行する方法は、基板内ハイパバイザが割込みに対応するVMコンテキストを発行する方法と同様であってもよいことは理解される。詳細についてはここでは繰り返さない。
【0106】
本発明の当該実施形態における解決策の説明では、サービス基板により実施される動作を、例えば、特に基板内ハイパバイザまたはサービス基板内の別のユニットによって実施してもよく、サービス基板内の基板内ハイパバイザにより実施される動作を、勿論、サービス基板内の別のユニットによって実施してもよく、サービス基板内のユニットにより実施される動作をサービス基板により実施される動作とみなすことができることに留意されたい。同様に、制御基板により実施される動作を、例えば、特に基板内ハイパバイザ、基板間ハイパバイザ、または当該制御基板内の別のユニットによって実施してもよく、制御基板内の基板内ハイパバイザまたは基板間ハイパバイザにより実施される動作を、勿論、当該制御基板内の別のユニットにより実施してもよく、制御基板内のユニットにより実施される動作を当該制御基板により実施される動作とみなすことができる。
【0107】
本発明の実施形態における通信装置が、例えば、基地局、アクセス・ポイント、もしくは基地局コントローラのようなアクセス・ネットワーク装置、または、可動性管理ネットワーク要素もしくはパケット・データ・ネットワーク・ゲートウェイのようなコア・ネットワーク装置、または、別の通信ネットワーク要素もしくは装置であってもよいことに留意されたい。
【0108】
本発明の当該実施形態で説明した上述の解決策の実装形態をより良く理解するために、以下では、そのアーキテクチャを
図5Aで示した、通信装置上で実現される解決策の適用シナリオを例として使用して上述の解決策を説明する。ここで、制御基板、サービス基板A、サービス基板B、およびサービス基板Cを備え、基板間ハイパバイザが制御基板のハードウェア層で実行されている通信装置を例とし、各サービス基板内の基板内ハイパバイザは共有メモリにアクセスすることができる。当該共有メモリは、例えば、制御基板のメモリの一部である。
【0109】
図5Bを参照すると、本発明の1実施形態に従う通信装置のハードウェア・リソースに対する別の仮想化管理方法が以下を含んでもよい。
【0110】
501では、基板間ハイパバイザがサービス基板Aのハードウェア層にあるコア1をサービス基板Bで実行されているVM−b1に割り当てる。
【0111】
本発明の幾つかの実施形態では、基板間ハイパバイザが、リソース・プール・ステータス情報を共有メモリ(もしあれば)に保持してもよい(例えば、リソース・プールのステータス・テーブル内のリソース・プール・ステータス情報を保持する)。リソース・プール・ステータス情報は、通信装置内の複数のサービス基板のハードウェア層におけるハードウェア・リソース利用ステータス、例えば、各サービス基板のハードウェア層にあるハードウェア・リソースの現在の利用量、および、各サービス基板のハードウェア層にあるハードウェア・リソースの使用者を示してもよい(即ち、各サービス基板のハードウェア層にあるどのハードウェア・リソースが割り当てられ、どのリソースが割り当てられないかを示す)。さらに、当該基板間ハイパバイザが、さらに、定期的におよび/または不定期に各サービス基板のハードウェア層のハードウェア・リソース利用を取得して自ら保持するリソース・プール・ステータス情報を更新し、自ら保持するリソース・プール・ステータス情報が各サービス基板のハードウェア層の最新のハードウェア・リソース利用ステータスを示すことを保証する。
【0112】
502では、サービス基板Aのハードウェア層にあるコア1が割込み
b1を生成する。
【0113】
503では、サービス基板A内の基板内ハイパバイザが、コア1により生成された割込み
b1を受信し、コア1が割り当てられたハードウェア・リソースであると判定した後に、割込み
b1に対応するVMコンテキストを発行する。
【0114】
サービス基板A内の基板内ハイパバイザにより発行され割込み
b1に対応するVMコンテキストが、コア1の識別子(被使用者識別子)、サービス基板B内の基板内ハイパバイザの識別情報(使用者識別子)等を保持してもよい。
【0115】
ここでは、例として、サービス基板Aのハードウェアで割込み層を生成したハードウェア・リソースのコア1が割り当てられることは理解される。勿論、ハードウェア・リソースのコア1が割り当てられていない場合には、サービス基板A内の基板内ハイパバイザが、割込み
b1に対応するVMコンテキストをサービス基板A内の基板内ハイパバイザで実行されているVMに送信してもよい。
【0116】
504では、当該基板間ハイパバイザは、サービス基板A内の基板内ハイパバイザにより発行され割込み
b1に対応するVMコンテキストを取得した後、割込み
b1に対応するVMコンテキストをサービス基板B内の基板内ハイパバイザに送信してもよい。
【0117】
505では、サービス基板B内の基板内ハイパバイザが、割込み
b1に対応するVMコンテキストを取得した後に、割込み
b1に対応するVMコンテキストをサービス基板B内の基板内ハイパバイザで実行されているVM−b1に送信する。
【0118】
506では、仮想マシンVM−b1が、割込み
b1に対応するVMコンテキストを処理した後に、割込み
b1に対応するVM処理コンテキストをサービス基板B内の基板内ハイパバイザに送信する。
【0119】
507では、サービス基板B内の基板内ハイパバイザが割込み
b1に対応するVM処理コンテキストを発行する。
【0120】
サービス基板B内の基板内ハイパバイザにより発行され割込み
b1に対応するVM処理コンテキストが、コア1の識別子(被使用者識別子)、サービス基板B内の基板内ハイパバイザの識別子(使用者識別子)、および他の情報を保持してもよい。
【0121】
508では、基板間ハイパバイザが、サービス基板B内の基板内ハイパバイザにより発行され割込み
b1に対応するVM処理コンテキストを取得した後に、割込み
b1に対応するVM処理コンテキストをサービス基板A内の基板内ハイパバイザに送信してもよい。
【0122】
509では、サービス基板A内の基板内ハイパバイザが、割込み
b1に対応するVM処理コンテキストを取得した後に、割込み
b1に対応するVM処理コンテキストをサービス基板Aのハードウェア層にあるコア1に送信してもよい。ここで、コア1が、割込み
b1に対応するVM処理コンテキストを受信した後に次の割込みを処理してもよい。
【0123】
基板間ハイパバイザと各サービス基板内の基板内ハイパバイザとの間、および、任意のサービス基板内の基板内ハイパバイザの間で、直接に、または、共有メモリを用いて、情報のやり取りを実施してもよいことは理解される。例えば、当該基板間ハイパバイザ(またはサービス基板内の基板内ハイパバイザ)が情報を共有メモリに書き込んでもよく、サービス基板内の基板内ハイパバイザ(または基板間ハイパバイザ)が当該情報を当該共有メモリから読み出してもよい。または、基板間ハイパバイザ(またはサービス基板内の基板内ハイパバイザ)が情報を直接受信側に送信し、送信側により送信された情報を受信側が直接受信してもよい。残りは類推によって導出することができる。
【0124】
さらに、基板間ハイパバイザはさらに、各サービス基板のハードウェア・リソースを動的に割り当てるかまたは復元することができる。
【0125】
例えば、サービス基板Bのハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと仮定すると、サービス基板B内の基板内ハイパバイザがハードウェア・リソース警告命令を発行してもよい。当該基板間ハイパバイザが、サービス基板B内の基板内ハイパバイザにより発行されたハードウェア・リソース警告命令を取得し、サービス基板Cのハードウェア層の現在のハードウェア・リソース利用が第2の閾値(例えば、50%)より低いと判定した場合には、当該基板間ハイパバイザは、リソースを移動してサービス基板Cのハードウェア層にある部分ハードウェア・リソース(例えば、物理コアまたは仮想コア)を解放するようにサービス基板C内の基板内ハイパバイザに指示し、サービス基板Cのハードウェア層にある解放されたハードウェア・リソースの一部または全部を、サービス基板B内の基板内ハイパバイザで実行されているVMに割り当ててもよい。または、当該基板間ハイパバイザが、サービス基板Cのハードウェア層がアイドルなハードウェア・リソースを現在有する(例えば、物理コアまたは仮想コアがアイドルな状態にある)と判定した場合には、当該基板間ハイパバイザは、サービス基板Cのハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、サービス基板B内の基板内ハイパバイザで実行されているVMに割り当ててもよい。さらに、当該基板間ハイパバイザが、サービス基板Bのハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出した場合には、当該基板間ハイパバイザは、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部をサービス基板B内の基板内ハイパバイザで実行されているVMに割り当ててもよい。または、基板間ハイパバイザが、サービス基板Bのハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出した場合には、当該基板間ハイパバイザはまず、現在のハードウェア・リソース利用が第2の閾値より低いサービス基板内の基板内ハイパバイザに、リソースを移動してサービス基板のハードウェア層にあるハードウェア・リソースの一部を解放するように指示し、次いで、サービス基板のハードウェア層にある解放されたハードウェア・リソースの一部または全部を、サービス基板B内の基板内ハイパバイザで実行されているVMに割り当ててもよい。上述の機構に基づいて、サービス基板間のハードウェア・リソースの動的な割当てを実現できることが分かる。
【0126】
別の例として、サービス基板Aのハードウェア層のハードウェア・リソース利用が第1の閾値を超えた場合には、サービス基板A内の基板内ハイパバイザがハードウェア・リソース警告命令を発行してもよい。基板間ハイパバイザが、サービス基板A内の基板内ハイパバイザにより発行されたハードウェア・リソース警告命令を取得した場合には、当該基板間ハイパバイザが、サービス基板Aのハードウェア層にある割り当てられたハードウェア・リソースの一部または全部をサービス基板A内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい。勿論、通信装置内の別のサービス基板のハードウェア層がアイドルなハードウェア・リソースをこの時点で有する場合には、当該基板間ハイパバイザが、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、サービス基板A内の基板内ハイパバイザで実行されているVMに割り当ててもよい。さらに、サービス基板Aのハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出したときには、当該基板間ハイパバイザは、サービス基板Aのハードウェア層にある割り当てられたハードウェア・リソースの一部または全部を、サービス基板A内の基板内ハイパバイザで実行されているVMに再割り当てしてもよい。上述の機構に基づいて、サービス基板間のハードウェア・リソースの動的な復元を実現できることが分かる。または、当該基板間ハイパバイザが、サービス基板Aのハードウェア層のハードウェア・リソース利用が第1の閾値を超えたと検出した場合、かつ、通信装置上の別のサービス基板(例えば、サービス基板C)のハードウェア層がアイドルなハードウェア・リソースをこの時点で有すると判定した場合には、当該基板間ハイパバイザは、別のサービス基板のハードウェア層にあるアイドルなハードウェア・リソースの一部または全部を、サービス基板A内の基板内ハイパバイザで実行されているVMに割り当ててもよい。残りは類推によって導出することができる。
【0127】
以上に基づいて、当該実施形態の通信装置のサービス基板が、ハードウェア層、ハードウェア層で実行されている基板内ハイパバイザ、および基板内ハイパバイザで実行されている少なくとも1つのVMを備え、通信装置の制御基板のハードウェア層および/またはサービス基板のハードウェア層で、基板間ハイパバイザが実行され、当該基板間ハイパバイザが、サービス基板A内の基板内ハイパバイザにより発行され割込み
b1に対応するVMコンテキストを取得し、割込み
b1に対応するVMコンテキストを発行して、サービス基板B内の基板内ハイパバイザが、基板間ハイパバイザにより発行され割込み
b1に対応するVMコンテキストを取得した後に、割込み
b1に対応するVMコンテキストをサービス基板B内の基板内ハイパバイザで実行されているVMに送信することが分かる。当該実施形態の通信装置では、基板間ハイパバイザが実行されるだけでなく、基板内ハイパバイザも各サービス基板のハードウェア層で実行されている。サービス基板のハードウェア層にあるリソースの一部を、別のサービス基板で実行されているVMに割り当ててもよい。基板間ハイパバイザがVMコンテキストを送信し、各基板内ハイパバイザがVMコンテキストの処理を完了する。ハイパバイザの2つの層に基づいて、本方法は、サービス基板のハードウェア・リソースの基板間共有の実現を支援し、さらに通信装置のハードウェア・リソース利用を最適化し、さらに通信装置の処理性能を高める。
【0128】
本発明の当該実施形態で説明した上述の方法の実施形態をより良く理解するために、上述の方法を実装するように構成された関連装置をさらに提供する。
【0129】
図6Aを参照すると、本発明の1実施形態で提供した通信装置600が、第1のサービス基板601、第2のサービス基板602、および制御基板603を備えてもよい。第1のサービス基板601は、ハードウェア層6011、ハードウェア層で実行されている基板内ハイパバイザ6012、基板内ハイパバイザ6012で実行されている少なくとも1つのVM6013を備えてもよい。第2のサービス基板602は、ハードウェア層6021、ハードウェア層で実行されている基板内ハイパバイザ6022、および基板内ハイパバイザ6022で実行されている少なくとも1つのVM6023を備えてもよい。制御基板603は、ハードウェア層6031およびハードウェア層で実行されている基板間ハイパバイザ6032を備えてもよい。
【0130】
第1のサービス基板601内の基板内ハイパバイザ6012は、第1のサービス基板601のハードウェア層6011で生成された第1の割込みに応答し、第1のサービス基板601のハードウェア層6011で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを発行するように構成される。
【0131】
制御基板603内の基板間ハイパバイザ60
32は、第1のサービス基板601内の基板内ハイパバイザ6012により発行され第1の割込みに対応する第1のVMコンテキストを取得し、第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行するように構成される。
【0132】
第2のサービス基板602内の基板内ハイパバイザ6022は、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信するように構成される。ここで、第1のVMは第1のハードウェア・リソースの使用者である。
【0133】
本発明の幾つかの実施形態では、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持しない場合には、基板間ハイパバイザ60
32が第1のハードウェア・リソースの使用者識別子を第1のVMコンテキストに追加して第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、第1の割込みに対応する第1のVMコンテキストが第1のハードウェア・リソースの使用者識別子を保持する場合には、基板間ハイパバイザ60
32が、第1のVMコンテキストに保持された第1のハードウェア・リソースの使用者識別子を除去して第1の割込みに対応する第2のVMコンテキストを取得してもよい。ここで、第1のVMコンテキストは第2のVMコンテキストとは異なる。または、基板間ハイパバイザ60
32がまた、他の情報を第1のVMコンテキストに追加し、かつ/もしくは、第1のVMコンテキストに保持された他の情報を除去し、ならびに/またはフォーマット変換を第1のVMコンテキストに実施して、第1のVMコンテキストとは異なる第2のVMコンテキストを取得してもよい。
【0134】
図6Bを参照すると、本発明の幾つかの実施形態では、通信装置600が、例えば、共有メモリ605をさらに備えてもよい。
【0135】
本発明の幾つかの実施形態では、基板間ハイパバイザ6032を、共有メモリ605から、第1のサービス基板601内の基板内ハイパバイザ601
2により発行され第1の割込みに対応する第1のVMコンテキストを取得し、または、第1のサービス基板601内の基板内ハイパバイザ601
2により発行され第1の割込みに対応する第1のVMコンテキストを受信するように構成してもよく、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを共有メモリ605に発行するように構成してもよい。
【0136】
本発明の他の実施形態では、基板間ハイパバイザ6032を、共有メモリから605から、第1のサービス基板601内の基板内ハイパバイザ601
2により発行され第1の割込みに対応する第1のVMコンテキストを取得するか、または、第1のサービス基板601内の基板内ハイパバイザ601
2により発行され第1の割込みに対応する第1のVMコンテキストを受信するように構成してもよく、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2のサービス基板602に発行すべきと判定した後に、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを、第2のサービス基板602内の基板内ハイパバイザ602
2に発行するように構成してもよい。
【0137】
本発明の別の実施形態では、基板間ハイパバイザ6032を、リソース・プール・ステータス情報を保持するように構成してもよい。当該リソース・プール・ステータス情報は、通信装置600内の複数のサービス基板のハードウェア層にあるハードウェア・リソース利用ステータス、および/または、通信装置600内の複数のサービス基板のハードウェア層にあるハードウェア・リソースの使用者を示す。
【0138】
本発明の1実施形態では、基板間ハイパバイザ6032が、第1のサービス基板601内の基板内ハイパバイザ6012が発行し第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板602のハードウェア層6021の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第1のサービス基板601内の基板内ハイパバイザ6012が発行し第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板602により発行された第1のハードウェア・リソース警告命令を取得する)、第1のサービス基板601のハードウェア層6011の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、基板間ハイパバイザ6032はさらに、リソースを移動して第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように第1のサービス基板601内の基板内ハイパバイザ6012に指示し、第1のサービス基板601のハードウェア層にある解放された第1のハードウェア・リソースを第2のサービス基板602内の基板内ハイパバイザ6022で実行されている第1のVMに割り当てるように構成してもよい。ここで、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい。
【0139】
本発明の別の実施形態では、基板間ハイパバイザ6032が、第2のサービス基板602のハードウェア層6021の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第1のサービス基板601内の基板内ハイパバイザ6012が発行し第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板602により発行された第1のハードウェア・リソース警告命令を取得し)、第1のサービス基板601のハードウェア層6011がアイドルな第1のハードウェア・リソースを現在有すると判定した場合には、基板間ハイパバイザ6032をさらに、第1のサービス基板601のハードウェア層にあるアイドルな第1のハードウェア・リソースを第2のサービス基板602内の基板内ハイパバイザ6022で実行されている第1のVMに割り当てるように構成してもよい。ここで、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい。
【0140】
本発明の1実施形態では、対応するサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたときに、各サービス基板内の基板内ハイパバイザがハードウェア・リソース警告命令を発行する。例えば、第2のサービス基板602のハードウェア層6021の現在のハードウェア・リソース利用が当該第1の閾値または別の閾値を超えた後に、第1のハードウェア・リソース警告命令が第2のサービス基板602により発行される。
【0141】
本発明の1実施形態では、基板間ハイパバイザ6032が、第1のVMコンテキストまたは第2のVMコンテキストを発行した後、第1のサービス基板601のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出し、または、第1のサービス基板601内の基板内ハイパバイザ6012により発行された第2のハードウェア・リソース警告命令を取得した場合には、基板間ハイパバイザ6032をさらに、第1のサービス基板601のハードウェア層6011にある割り当てた第1のハードウェア・リソースを第1のサービス基板601内の基板内ハイパバイザ6012で実行されているVM6013に再割り当てするように構成してもよい。ここで、第1のサービス基板601のハードウェア層6011の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第2のハードウェア・リソース警告命令が第1のサービス基板601により発行される。
【0142】
本発明の別の実施形態では、
図6Cを参照すると、通信装置600はさらに第3のサービス基板604を備えてもよい。ここで、第3のサービス基板604は、ハードウェア層6041、ハードウェア層6041で実行されている基板内ハイパバイザ6042、および基板内ハイパバイザ6042で実行されている少なくとも1つのVM6043を備えてもよい。
【0143】
基板間ハイパバイザ6032が、第2のサービス基板602のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し、または、第2のサービス基板602により発行された第3のハードウェア・リソース警告命令を取得した場合、かつ、基板間ハイパバイザ6032が、第3のサービス基板604のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、基板間ハイパバイザ6032をさらに、リソースを移動して第3のサービス基板604のハードウェア層にある第2のハードウェア・リソースを解放するように第3のサービス基板604に指示し、第3のサービス基板604のハードウェア層6041にある解放された第2のハードウェア・リソースを第2のVMまたは第2のサービス基板602内の基板内ハイパバイザ6022で実行されている第1のVMに割り当てるように構成してもよい。基板間ハイパバイザ6032が、第3のサービス基板604内の基板内ハイパバイザ6042により発行され第2の割込みに対応する第3のVMコンテキストを取得した場合には、第2のサービス基板602内の基板内ハイパバイザ6022が、発行した第3のVMコンテキストまたは第4のVMコンテキストを取得した後に、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板602内の基板内ハイパバイザ6022で実行されている第1のVMへと処理のために送信するように、第3のVMコンテキスト、または、当該第3のVMコンテキストに基づいて取得され第2の割込みに対応する第4のVMコンテキストを発行するように基板間ハイパバイザ6032をさらに構成してもよい。ここで、第2のハードウェア・リソースの使用者は第2のVMまたは第1のVMであり、第3のサービス基板604のハードウェア層6041で第2の割込みを生成した第2のハードウェア・リソースが、第3のサービス基板604のハードウェア層6041で生成された第2の割込みに応答して割り当てられたハードウェア・リソースであると第3のサービス基板604内の基板内ハイパバイザ6042が判定した後に、第2の割込みに対応する第3のVMコンテキストが第3のサービス基板604内の基板内ハイパバイザ6042により発行される。
【0144】
別の例として、基板間ハイパバイザ6032が、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出したか、または、第2のサービス基板602により発行された第2のハードウェア・リソース警告命令を取得した場合、かつ、基板間ハイパバイザ6032が、第3のサービス基板604のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定した場合には、基板間ハイパバイザ6032をさらに、第3のサービス基板604のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当てるように構成してもよい。基板間ハイパバイザ6032が、第3のサービス基板604内の基板内ハイパバイザ6042により発行され第2の割込みに対応する第3のVMコンテキストを取得した場合には、基板間ハイパバイザ6032をさらに、第2のサービス基板602内の基板内ハイパバイザ6022が、発行した第3のVMコンテキストまたは第4のVMコンテキストを取得した後に、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板602内の基板内ハイパバイザ6022で実行されている第1のVMへと処理のために送信するように、第3のVMコンテキスト、または、当該第3のVMコンテキストに基づいて取得され第2の割込みに対応する第
4のVMコンテキストを発行するように構成してもよい。ここで、第2のハードウェア・リソースの使用者は第2のVMまたは第1のVMであり、第3のサービス基板604のハードウェア層6041で第2の割込みを生成した第2のハードウェア・リソースが、第3のサービス基板604のハードウェア層6041で生成された第2の割込みに応答して割り当てられたハードウェア・リソースであると第3のサービス基板604内の基板内ハイパバイザ6042が判定した後に、第2の割込みに対応する第3のVMコンテキストが第3のサービス基板604内の基板内ハイパバイザ6042により発行される。
【0145】
当該実施形態の通信装置600が上述の方法の実施形態における通信装置であってもよく、当該実施形態の通信装置600の仮想化システムを実行する動作機構が、上述の方法の実施形態で説明した動作機構と同じであってもよく、各機能モジュールの機能を特に、上述の方法の実施形態で説明した方法に従って実装してもよいことは理解される。具体的な機能の実装プロセスに関しては、上述の方法の実施形態における関連説明を参照されたい。詳細についてはここでは繰り返さない。
【0146】
図7Aを参照すると、本発明の1実施形態で提供した通信装置700が、第1のサービス基板701および第2のサービス基板702を備えてもよい。第1のサービス基板701が、ハードウェア層7011、ハードウェア層7011で実行されている基板内ハイパバイザ7012、および基板内ハイパバイザ7012で実行されている少なくとも1つのVM7013を備えてもよく、第2のサービス基板702が、ハードウェア層7021、ハードウェア層7021で実行されている基板内ハイパバイザ7022、および基板内ハイパバイザ7022で実行されている少なくとも1つのVM7023を備えてもよい。
【0147】
第1のサービス基板701内の基板内ハイパバイザ7012は、第1のサービス基板701のハードウェア層7011で生成された第1の割込みを受信し、第1のサービス基板701のハードウェア層7011で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを発行するように構成される。
【0148】
第2のサービス基板702内の基板内ハイパバイザ7022は、発行された第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVM7023へと処理のために送信するように構成される。ここで、第1のハードウェア・リソースの使用者は第1のVM7023である。
【0149】
図7Bを参照すると、本発明の幾つかの実施形態では、通信装置700がさらに共有メモリ705を備えてもよい。
【0150】
本発明の幾つかの実施形態では、第1のサービス基板701内の基板内ハイパバイザ7012を、特に、第1のサービス基板701のハードウェア層7011で生成された第1の割込みを受信し、第1のサービス基板701のハードウェア層7011で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを共有メモリ705に発行するように構成してもよい。
【0151】
第2のサービス基板702内の基板内ハイパバイザ7022を、特に、発行された第1のVMコンテキストまたは第2のVMコンテキストを共有メモリ705から取得し、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2のサービス基板702に発行すべきと判定した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板702内の基板内ハイパバイザで実行されている第1のVMに発行するように構成してもよい。
【0152】
本発明の別の実施形態では、
図7Cを参照すると、通信装置700がさらに例えば制御基板703を備えてもよい。制御基板703は、ハードウェア層7031と、当該ハードウェア層で実行されている基板間ハイパバイザ7032を備える。
【0153】
第1のサービス基板701内の基板内ハイパバイザ7012を特に、第1のサービス基板701のハードウェア層7011で生成された第1の割込みを受信し、第1のサービス基板701のハードウェア層7011で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを共有メモリ705に発行するように構成してもよい。
【0154】
基板間ハイパバイザ7032は、第1の割込みに対応する第1のVMコンテキストを共有メモリ705から取得し、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従ってVMコンテキストを第2のサービス基板702に発行すべきと判定した後に、第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを、第2のサービス基板702内の基板内ハイパバイザ7022に発行するように構成される。
【0155】
第2のサービス基板702内の基板内ハイパバイザ7022を、特に、基板間ハイパバイザ7032により発行された第1のVMコンテキストまたは第2のVMコンテキストを受信し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMへと処理のために送信するように構成してもよい。
【0156】
別の例として、第1のサービス基板701内の基板内ハイパバイザ7012を、特に、第1のサービス基板701のハードウェア層7011で生成された第1の割込みを受信し、第1のサービス基板701のハードウェア層7011で第1の割込みを生成した第1のハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応するVMコンテキストを基板間ハイパバイザ7032に送信するように構成してもよい。
【0157】
基板間ハイパバイザ7032は、第1のサービス基板701内の基板内ハイパバイザ7012により発行され当該第1の割込みに対応する第1のVMコンテキストを取得し、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、当該第1のハードウェア・リソースの決定された使用者に従って、VMコンテキストを第2のサービス基板702に発行すべきと判定した後に、第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを、第2のサービス基板702内の基板内ハイパバイザ7022に発行するように構成される。
【0158】
第2のサービス基板702内の基板内ハイパバイザ7022を、特に、基板間ハイパバイザ7032により発行された第1のVMコンテキストまたは第2のVMコンテキストを受信し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMへと処理のために送信するように構成してもよい。
【0159】
別の例として、第1のサービス基板701内の基板内ハイパバイザ7012を、特に、第1のサービス基板701のハードウェア層7011で生成された第1の割込みを受信し、第1のサービス基板701のハードウェア層7011で第1の割込みを生成したハードウェア・リソースが割り当てられたハードウェア・リソースであると判定した後に、第1の割込みに対応する第1のVMコンテキストを基板間ハイパバイザ7032に送信するように構成してもよい。
【0160】
基板間ハイパバイザ7032は、第1のサービス基板701内の基板内ハイパバイザ7012により発行され第1の割込みに対応する第
1のVMコンテキストを取得し、第1のVMコンテキストまたは第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを共有メモリ705に発行するように構成される。
【0161】
第2のサービス基板702内の基板内ハイパバイザ7022を、特に、基板間ハイパバイザ70
1により共有メモリ705に書き込まれた第1のVMコンテキストまたは第2のVMコンテキストを取得し、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、第1のハードウェア・リソースの使用者に従って、VMコンテキストを第2のサービス基板702に発行すべきと判定した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに発行するように構成してもよい。
【0162】
本発明の幾つかの実施形態では、基板間ハイパバイザ7032を、リソース・プール・ステータス情報を保持するようにさらに構成してもよい。ここで、基板間ハイパバイザ7032により保持されるリソース・プール・ステータス情報は、通信装置700内の複数のサービス基板のハードウェア層にあるハードウェア・リソース利用ステータス、および/または、通信装置700内の複数のサービス基板のハードウェア層にあるハードウェア・リソースの使用者を示す。
【0163】
本発明の1実施形態では、基板間ハイパバイザ703
2が、第1のサービス基板701内の基板内ハイパバイザ7012により発行され第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板702のハードウェア層7021の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第1のサービス基板701内の基板内ハイパバイザ7012により発行され当該第1の割込みに対応するVMコンテキストを取得する前に、第2のサービス基板702により発行された第1のハードウェア・リソース警告命令を取得し)、第1のサービス基板701のハードウェア層7011の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、基板間ハイパバイザ703
2をさらに、リソースを移動して第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように第1のサービス基板701内の基板内ハイパバイザ7012に指示し、第1のサービス基板701のハードウェア層にある解放された第1のハードウェア・リソースを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに割り当てるように構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第1のハードウェア・リソース警告命令が第2のサービス基板702により発行され、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい。
【0164】
本発明の別の実施形態では、基板間ハイパバイザ703
2が、第1のサービス基板701内の基板内ハイパバイザ7012により発行され第1の割込みに対応する第1のVMコンテキストを取得する前に、第2のサービス基板702のハードウェア層7021の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第1のサービス基板701内の基板内ハイパバイザ7012により発行され当該第1の割込みに対応するVMコンテキストを取得する前に、第2のサービス基板702により発行された第1のハードウェア・リソース警告命令を取得し)、第1のサービス基板701のハードウェア層7011がアイドルな第1のハードウェア・リソースを現在有すると判定した場合には、基板間ハイパバイザ703
2を、さらに、第1のサービス基板701のハードウェア層にあるアイドルな第1のハードウェア・リソースを第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに割り当てるように構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第1のハードウェア・リソース警告命令が第2のサービス基板702により発行される。ここで、第1の閾値は、第2の閾値よりも高いか、低いか、または第2の閾値と等しい。
【0165】
本発明の1実施形態では、基板間ハイパバイザ703
2が、第1のVMコンテキストまたは第2のVMコンテキストを発行した後に、第1のサービス基板701のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出した場合(または、第1のVMコンテキストまたは第2のVMコンテキストを発行した後に、第1のサービス基板701内の基板内ハイパバイザ7012が発行した第2のハードウェア・リソース警告命令を取得した場合)には、基板間ハイパバイザ703
2をさらに、第1のサービス基板701のハードウェア層7011にある割り当てられた第1のハードウェア・リソースを、第1のサービス基板701内の基板内ハイパバイザ7012で実行されているVM7013に再割り当てするように構成してもよい。ここで、例えば、第1のサービス基板701のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第2のハードウェア・リソース警告命令が第1のサービス基板701により発行される。
【0166】
本発明の別の実施形態では、
図7Dを参照すると、通信装置700はさらに第3のサービス基板704を備えてもよい。第3のサービス基板704は、ハードウェア層7041、当該ハードウェア層で実行されている基板内ハイパバイザ7042、および基板内ハイパバイザ7042で実行されている少なくとも1つのVM7043を備えてもよい。
【0167】
基板間ハイパバイザ703
2が、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第2のサービス基板702により発行された第3のハードウェア・リソース警告命令を取得し)、第3のサービス基板704のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定した場合には、基板間ハイパバイザ703
2をさらに、リソースを移動して第3のサービス基板704のハードウェア層にある第2のハードウェア・リソースを解放するように指示し、第3のサービス基板704のハードウェア層7041にある解放された第2のハードウェア・リソースを第2のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに割り当てるように構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値または別の閾値を超えた後に、第3のハードウェア・リソース警告命令が第2のサービス基板702により発行される。
【0168】
または、基板間ハイパバイザ703
2が、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出し(または、第2のサービス基板702により発行された第3のハードウェア・リソース警告命令を取得し)、第3のサービス基板704のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定した場合には、基板間ハイパバイザ703
2をさらに、第3のサービス基板704のハードウェア層にあるアイドルな第2のハードウェア・リソースを、第2のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに割り当てるように構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第3のハードウェア・リソース警告命令が第2のサービス基板702により発行される。
【0169】
第3のサービス基板704における基板内ハイパバイザ7
042は、第3のサービス基板704のハードウェア層で生成された第2の割込みが受信され、第3のサービス基板704のハードウェア層で当該第2の割込みを生成したハードウェア・リソースが割り当てられた第2のハードウェア・リソースと判定された場合に、第2の割込みに対応する第3のVMコンテキストを発行するように構成される。
【0170】
第2のサービス基板702内の基板内ハイパバイザ7022はさらに、発行した第3のVMコンテキスト、または、当該第3のVMコンテキストに基づいて取得され第2の割込みに対応する第4のVMコンテキストを取得し、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第1のVMに送信するように構成される。
【0171】
本発明の別の実施形態では、
図7Eを参照すると、制御基板70
3はさらに、ハードウェア層7031で実行されている基板内ハイパバイザ7033と基板内ハイパバイザ7033で実行されている少なくとも1つのVM7034を備えてもよい。
【0172】
第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出された場合(または、第2のサービス基板702内の基板内ハイパバイザ7022により発行された第4のハードウェア・リソース警告命令が取得された場合)、かつ、制御基板703のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合には、リソースを移動して制御基板703のハードウェア層にある第3のハードウェア・リソースを解放するように制御基板703内の基板内ハイパバイザ7033に指示し、制御基板703のハードウェア層にある解放された第3のハードウェア・リソースを第2のVMまたは第1のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第5のVMに割り当てるように基板間ハイパバイザ7032をさらに構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、第4のハードウェア・リソース警告命令が第2のサービス基板702により発行される。
【0173】
または、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出され、または、第2のサービス基板702内の基板内ハイパバイザ7022により発行された第4のハードウェア・リソース警告命令が取得された場合、かつ、制御基板703のハードウェア層がアイドルな第3のハードウェア・リソースを現在有すると判定された場合には、制御基板703のハードウェア層にあるアイドルな第3のハードウェア・リソースを第2のVMまたは第1のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第5のVMに割り当てるように基板間ハイパバイザ7032をさらに構成してもよい。ここで、例えば、第2のサービス基板702のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた場合には、第
4のハードウェア・リソース警告命令が第2のサービス基板702により発行される。
【0174】
さらに、制御基板703のハードウェア層で生成された第3の割込みが受信され、制御基板703のハードウェア層で当該第3の割込みを生成したハードウェア・リソースが割り当てられた第3のハードウェア・リソースであると判定された場合には、第3の割込みに対応する第5のVMコンテキストを発行するように基板内ハイパバイザ7033を構成してもよい。
【0175】
第2のサービス基板70
2における基板内ハイパバイザ7022は、さらに、発行した第5のVMコンテキスト、または、当該第5のVMコンテキストに基づいて取得され第3の割込みに対応する第6のVMコンテキストを取得し、取得した第5のVMコンテキストまたは第6のVMコンテキストを第2のVMまたは第1のVMまたは第2のサービス基板702内の基板内ハイパバイザ7022で実行されている第5のVMに送信するように構成される。
【0176】
当該実施形態における通信装置700を、上述の方法の実施形態における通信装置であってもよく、当該実施形態における通信装置700の仮想化システムを実行する動作機構が上述の方法の実施形態で説明した動作機構と同一であってもよく、各機能モジュールの機能を、上述の方法の実施形態で説明した方法に従って実装してもよいことは理解される。具体的な機能の実装プロセスに関しては、上述の方法の実施形態における関連説明を参照されたい。詳細についてはここでは繰り返さない。
【0177】
図8Aを参照すると、本発明の1実施形態で提供した制御基板800はさらに、ハードウェア層810と、ハードウェア層810で実行されている基板間ハイパバイザ820を備えてもよい。制御基板800は通信装置に適用される。
【0178】
基板間ハイパバイザ820は、取得ユニット821と発行ユニット822を備える。取得ユニット821は、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1のVMコンテキストを取得するように構成される。ここで、第1の割込みを当該第1のサービス基板のハードウェア層で生成した第1のハードウェア・リソースが、当該第1のサービス基板のハードウェア層で生成された当該第1の割込みに応答して割り当てられたハードウェア・リソースであると当該第1のサービス基板が判定した後に、第1の割込みに対応する第1のVMコンテキストが第1のサービス基板により発行される。発行ユニット822は、当該通信装置に配備した第2のサービス基板が、発行された第1のVMコンテキストまたは第2のVMコンテキストを取得した後に、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに送信するように、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを発行するように構成される。ここで、第1のVMは第1のハードウェア・リソースの使用者である。
【0179】
本発明の1実施形態では、取得ユニット821を特に、共有メモリから、第1のサービス基板により共有メモリに発行され第1の割込みに対応する第1のVMコンテキストを取得し、または、第1のサービス基板により発行され第1の割込みに対応する第1のVMコンテキストを受信するように構成してもよい。発行ユニット822は、特に、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを共有メモリに発行し、または、第1のハードウェア・リソースの使用者が第1のVMであると判定し、さらに、当該第1のハードウェア・リソースの決定された使用者に従って、第1の割込みに対応する第2のVMコンテキストを当該第2のサービス基板に発行すべきと判定した後に、第1のVMコンテキスト、または、当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを、第2のサービス基板に発行するように構成される。
【0180】
図8Bを参照すると、本発明の1実施形態では、基板間ハイパバイザ820はさらに、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1のVMコンテキストを取得ユニット821が取得する前に、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出された場合(または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合。ここで、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合には、リソースを移動して当該第1のサービス基板のハードウェア層にある第1のハードウェア・リソースを解放するように当該第1のサービス基板に指示し、当該第1のサービス基板のハードウェア層にある解放された第1のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当てるように構成された第1のリソース割当てユニット823であって、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい第1のリソース割当てユニット823、または、通信装置に配備した第1のサービス基板により発行され第1の割込みに対応する第1のVMコンテキストを取得ユニット821が取得する前に、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出された場合(または、当該第2のサービス基板が発行した第1のハードウェア・リソース警告命令が取得された場合。ここで、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えた後に、当該第1のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、当該第1のサービス基板のハードウェア層がアイドルな第1のハードウェア・リソースを現在有すると判定された場合には、当該第1のサービス基板のハードウェア層にあるアイドルな第1のハードウェア・リソースを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当てるように構成された第1のリソース割当てユニット823であって、第1の閾値は第2の閾値よりも高いか、低いか、または第2の閾値と等しい第1のリソース割当てユニット823、を備えてもよい。
【0181】
本発明の1実施形態では、通信装置にさらに第3のサービス基板が配備される場合には、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出された場合(または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合。ここで、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、第3のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第2の閾値より低いと判定された場合には、リソースを移動して当該第3のサービス基板のハードウェア層にある第2のハードウェア・リソースを解放するように当該第3のサービス基板に指示し、当該第3のサービス基板のハードウェア層にある解放された当該第2のハードウェア・リソースを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当てるように第1のリソース割当てユニット823をさらに構成してもよく、または、第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値を超えたと検出した場合(または、当該第2のサービス基板により発行された第3のハードウェア・リソース警告命令が取得された場合。ここで、当該第2のサービス基板のハードウェア層の現在のハードウェア・リソース利用が当該第1の閾値を超えた後に、当該第3のハードウェア・リソース警告命令が当該第2のサービス基板により発行される)、かつ、第3のサービス基板のハードウェア層がアイドルな第2のハードウェア・リソースを現在有すると判定された場合には、当該第3のサービス基板のハードウェア層にあるアイドルな第2のハードウェア・リソースを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMに割り当てるように第1のリソース割当てユニット823をさらに構成してもよい。取得ユニット821はさらに、第3のサービス基板により発行され第2の割込みに対応する第3のVMコンテキストを取得するように構成される。ここで、当該第3のサービス基板のハードウェア層で当該第2の割込みを生成した当該第2のハードウェア・リソースが、当該第3のサービス基板のハードウェア層で生成された当該第2の割込みに応答して割り当てられたハードウェア・リソースであると当該第3のサービス基板が判定した後に、第2の割込みに対応する第3のVMコンテキストが第3のサービス基板により発行される。発行ユニット822はさらに、第2のサービス基板が、第3のVMコンテキストまたは第4のVMコンテキストを取得した後に、取得した第3のVMコンテキストまたは第4のVMコンテキストを第2のVMまたは第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信するように、第3のVMコンテキスト、または、当該第3のVMコンテキストに基づいて取得され第2の割込みに対応する第4のVMコンテキストを発行するように構成される。
【0182】
図8Cを参照すると、本発明の1実施形態では、基板間ハイパバイザ820はさらに、第1のVMコンテキストまたは第2のVMコンテキストを発行ユニット822が発行した後に、第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えたと検出された場合(または、当該第1のサービス基板によって発行された第2のハードウェア・リソース警告命令が取得された場合。ここで、当該第1のサービス基板のハードウェア層の現在のハードウェア・リソース利用が第1の閾値または別の閾値を超えた後に、当該第2のハードウェア・リソース警告命令が当該第1のサービス基板により発行される)、当該第1のサービス基板のハードウェア層で割り当てられた第1のハードウェア・リソースを第1のサービス基板内の基板内ハイパバイザで実行されているVMに再割り当てするように構成された第2のリソース割当てユニット824を備えてもよい。
【0183】
当該実施形態における制御基板800が、上述の方法の実施形態における制御基板であってもよく、当該実施形態における制御基板800の仮想化システムを実行する動作機構が、上述の方法の実施形態で説明した動作機構と同一であってもよく、各機能モジュールの機能を特に、上述の方法の実施形態で説明した方法に従って実装してもよいことは理解される。具体的な機能の実装プロセスに関しては、上述の方法の実施形態における関連説明を参照されたい。詳細についてはここでは繰り返さない。
【0184】
以上の実施形態に従う方法に関して、説明の簡単さのために、諸方法は一連の動作の組合せとして説明したが、一部のステップを本発明に従って他の順序でまたは並行して実施できるので本発明はそれらの動作の順序によっては限定されないことは当業者には明らかであることに留意されたい。次に、本明細書で説明した実施形態は全て例示的な実施形態に入り、関連する動作やモジュールは必ずしも本発明では必要とされないことも当業者には理解される。
【0185】
本発明の1実施形態ではさらにコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体はプログラムを格納することができる。当該プログラムは、実行されたとき、上述の方法の実施形態に従って通信装置のハードウェア・リソースに関する仮想化管理方法のステップの全部または一部を含む。
【0186】
当該実施形態では、諸実施形態の一部を強調して説明しており、特定の実施形態で詳細に説明していない部分については他の実施形態の関連説明を参照して得ることができる。
【0187】
以上に基づいて、本発明の幾つかの実施形態では、通信装置に配備した制御基板が、通信装置内に配備した第1のサービス基板によって発行され第1の割込みに対応する第1の仮想マシン・コンテキストを取得し、第1の割込みに対応する第1の仮想マシン・コンテキストまたは第1の割込みに対応する第2の仮想マシン・コンテキストを発行し、その結果、通信装置に配備した第2のサービス基板が、第1の割込みに対応する発行された仮想マシン・コンテキストを取得した後、第1の割込みに対応する取得した仮想マシン・コンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1の仮想マシンへと処理のために送信する。ここで、第1のサービス基板のハードウェア層で第1の割込みを生成した第1のハードウェア・リソースが、第1のサービス基板のハードウェア層で生成された第1の割込みに応答して割り当てられたハードウェア・リソースであると第1のサービス基板が判定した後に、第1の割込みに対応する仮想マシン・コンテキストが第1のサービス基板により発行される。ここで、第1のハードウェア・リソースの使用者は第1の仮想マシンである。本発明の1実施形態における通信装置では、サービス基板のハードウェア層にあるリソースの一部を別のサービス基板で実行されているVMに割り当ててもよい。制御基板が割込みのコンテキストを送信し、サービス基板が割込みのコンテキストの処理を完了する。本方法により、サービス基板のハードウェア・リソースの基板間共有の実現が支援され、さらに通信装置のハードウェア・リソース利用を最適化し、さらに通信装置の処理性能を高める。
【0188】
本発明の他の実施形態では、通信装置に配備された第1のサービス基板が、第1のサービス基板のハードウェア層で生成された第1の割込みを受信し、第1のサービス基板のハードウェア層で当該第1の割込みを生成したハードウェア・リソースが割り当てられた第1のハードウェア・リソースであると判定された場合には、第1の割込みに対応する第1のVMコンテキストを発行し、通信装置に配備した第2のサービス基板が、発行された第1のVMコンテキストまたは当該第1のVMコンテキストに基づいて取得され第1の割込みに対応する第2のVMコンテキストを取得し、取得した第1のVMコンテキストまたは第2のVMコンテキストを第2のサービス基板内の基板内ハイパバイザで実行されている第1のVMへと処理のために送信する。ここで、第1のハードウェア・リソースの使用者は第1のVMである。本発明の諸実施形態における通信装置では、各サービス基板のハードウェア層のリソースの一部を別のサービス基板で実行されているVMに割り当ててもよい。各サービス基板は、VMコンテキストを送信することによってVMコンテキストの処理を完了する。本方法により、サービス基板のハードウェア・リソースの基板間共有の実現が支援され、通信装置のハードウェア・リソース利用を最適化し、さらに処理性能が高まる。
【0189】
当業者は、本実施形態の方法のステップの全部または一部を、関連ハードウェアに指示するプログラムによって実装してもよいことを理解する。当該プログラムをコンピュータ読取可能記憶媒体に格納してもよい。当該記憶媒体が、読取専用メモリ、ランダム・アクセス・メモリ、磁気ディスク、および光ディスクを含んでもよい。
【0190】
本発明の諸実施形態で提供した通信装置のハードウェア・リソースのための仮想化管理方法および関連装置を以上で詳細に説明した。本明細書では、本発明の原理と実装方式を具体的な例を通じて説明した。本発明の諸実施形態に関する説明は、本発明の方法と中心的な思想の理解を容易にするために与えたにすぎない。当業者は、本発明の思想に従う具体的な実装方式と適用範囲の観点から、変形と修正を本発明に対して行うことができる。したがって、本明細書は本発明の限定として解釈すべきではない。