US11080083B1ActiveUtility

Providing physical host hardware state information to virtual machines deployed on the physical host

Assignee: JUNIPER NETWORKS INCPriority: Aug 28, 2019Filed: Aug 28, 2019Granted: Aug 3, 2021
Est. expiryAug 28, 2039(~13.1 yrs left)· nominal 20-yr term from priority
G06F 9/542G06F 9/5077G06F 2009/4557G06F 9/44526G06F 9/45558
75
PatentIndex Score
2
Cited by
16
References
20
Claims

Abstract

A device may receive, from a virtual machine deployed on the device, a request to register for an event associated with a hardware component of the device, and may create a path to a script associated with providing information about the event when the event occurs. The device may provide the script to an event plugin associated with the event and the hardware component, and may register the event plugin with a kernel associated with the device. The device may receive, the kernel, information indicating occurrence of the event associated with the hardware component, and may cause, via the event plugin, execution of the script based on the occurrence of the event associated with the hardware component. The device may provide, based on execution of the script, a notification to the virtual machine, where the notification may indicate the occurrence of the event associated with the hardware component.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 receiving, by a device, a request to register for an event associated with a hardware component of the device,
 wherein the request is received from a virtual machine deployed on the device; 
 
 creating, by the device, a path to a script associated with providing information about the event when the event occurs; 
 providing, by the device, the script to an event plugin associated with the event and the hardware component; 
 registering, by the device, the event plugin with a kernel associated with the device; 
 receiving, by the device and from the kernel, information indicating occurrence of the event associated with the hardware component; 
 causing, by the device and via the event plugin, execution of the script based on the occurrence of the event associated with the hardware component; and 
 providing, by the device and based on execution of the script, a notification to the virtual machine,
 the notification indicating the occurrence of the event associated with the hardware component. 
 
 
     
     
       2. The method of  claim 1 , further comprising:
 causing, via the virtual machine, the notification to be provided to an endpoint device associated with the virtual machine. 
 
     
     
       3. The method of  claim 1 , wherein the hardware component includes one or more of:
 a bus, 
 a processor, 
 a memory, 
 a storage component, 
 an input component, 
 an output component, or 
 a communication interface. 
 
     
     
       4. The method of  claim 1 , wherein the event occurs when a threshold associated with the hardware component is satisfied. 
     
     
       5. The method of  claim 1 , further comprising:
 receiving, from the virtual machine, the script associated with providing information about the event. 
 
     
     
       6. The method of  claim 1 , wherein the script is predefined by the device in a guest operating system associated with the device. 
     
     
       7. The method of  claim 1 , wherein receiving the information indicating occurrence of the event associated with the hardware component includes:
 receiving, via the event plugin, the information indicating occurrence of the event associated with the hardware component. 
 
     
     
       8. A device, comprising:
 one or more memories; and 
 one or more processors, communicatively coupled to the one or more memories, to:
 receive a request to register for an event associated with a hardware component of the device,
 wherein the request is received from a virtual machine deployed on the device; 
 
 create a path to a script associated with providing information about the event when the event occurs; 
 provide the script to an event plugin associated with the event and the hardware component; 
 register the event plugin with a kernel associated with the device; 
 receive, from the kernel, information indicating occurrence of the event associated with the hardware component; 
 cause, via the event plugin, execution of the script based on the occurrence of the event associated with the hardware component; 
 provide, based on execution of the script, a notification to the virtual machine,
 the notification indicating the occurrence of the event associated with the hardware component; and 
 
 cause, via the virtual machine, the notification to be provided to an endpoint device associated with the virtual machine. 
 
 
     
     
       9. The device of  claim 8 , wherein the one or more processors are further to:
 receive another request to register for another event associated with another hardware component of the device,
 wherein the request is received from another virtual machine deployed on the device and different than the virtual machine, and 
 wherein the other hardware component is different than the hardware component; 
 
 create another path to another script associated with providing information about the other event when the other event occurs; 
 provide the other script to another event plugin associated with the other event and the other hardware component; 
 register the other event plugin with the kernel; 
 receive, from the kernel, information indicating occurrence of the other event associated with the other hardware component; 
 cause, via the other event plugin, execution of the other script based on the occurrence of the other event associated with the other hardware component; and 
 provide, based on execution of the other script, another notification to the other virtual machine,
 the other notification indicating the occurrence of the other event associated with the other hardware component. 
 
 
     
     
       10. The device of  claim 8 , wherein the one or more processors are further to:
 perform one or more actions based on the execution of the script. 
 
     
     
       11. The device of  claim 10 , wherein the one or more processors, when performing the one or more actions based on the execution of the script, are to one or more of:
 collect data associated with the hardware component based on the execution of the script; or 
 alter a state associated with the hardware component based on the execution of the script. 
 
     
     
       12. The device of  claim 8 , wherein the script includes one or more commands customized to provide information about the event, when the event occurs, to the virtual machine. 
     
     
       13. The device of  claim 8 , wherein the event includes one or more of:
 a load on the hardware component exceeding a predetermined load threshold, when the hardware component is a processor, 
 a temperature of the hardware component exceeding a predetermined temperature threshold, when the hardware component is a power supply, or 
 a utilization of the hardware component exceeding a predetermined utilization threshold, when the hardware component is an interface. 
 
     
     
       14. The device of  claim 8 , wherein the one or more processors, when receiving the request to register for the event associated with the hardware component, are to:
 receive the request to register for the event associated with the hardware component via an application programming interface. 
 
     
     
       15. A non-transitory computer-readable medium storing instructions, the instructions comprising:
 one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:
 receive a request to register for an event associated with a hardware component of the device,
 wherein the request is received from a virtual machine deployed on the device; 
 
 create a path to a script associated with providing information about the event when the event occurs; 
 provide the script to an event plugin associated with the event and the hardware component; 
 register the event plugin with a kernel associated with the device; 
 receive, from the kernel, information indicating occurrence of the event associated with the hardware component; 
 cause, via the event plugin, execution of the script based on the occurrence of the event associated with the hardware component; and 
 perform one or more actions based on execution of the script. 
 
 
     
     
       16. The non-transitory computer-readable medium of  claim 15 , wherein the one or more instructions, that cause the one or more processors to perform the one or more actions based on the execution of the script, cause the one or more processors to one or more of:
 collect data associated with the hardware component based on the execution of the script; 
 alter a state associated with the hardware component based on the execution of the script; or 
 provide a notification to the virtual machine based on the execution of the script,
 the notification indicating the occurrence of the event associated with the hardware component. 
 
 
     
     
       17. The non-transitory computer-readable medium of  claim 15 , wherein the event occurs when a threshold associated with the hardware component is satisfied. 
     
     
       18. The non-transitory computer-readable medium of  claim 15 , wherein the instructions further comprise:
 one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
 receive, from the virtual machine, the script associated with providing information about the event. 
 
 
     
     
       19. The non-transitory computer-readable medium of  claim 15 , wherein the script is predefined by the device in a guest operating system associated with the device. 
     
     
       20. The non-transitory computer-readable medium of  claim 15 , wherein the script includes one or more commands customized to provide information about the event, when the event occurs, to the virtual machine.

Join the waitlist — get patent alerts

Track US11080083B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.