IP Library › Granted Patent US 11,080,083
Granted Patent B1
US 11,080,083 · App. 16/554,051 · Granted Aug 3, 2021

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

Inventors: Abhinav Tandon (Bangalore, IN); Kaustubh Shantanu (Bangalore, IN); Siva Krishna Gudivada (Bangalore, IN)
Assignee: Juniper Networks, Inc.
G06F9/45558G06F9/542G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,080,083
App. No.
16/554,051
Granted
Aug 3, 2021
Kind
B1
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 (83)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: TANDON, ABHINAV; SHANTANU, KAUSTUBH; GUDIVADA, SIVA KRISHNA
To: JUNIPER NETWORKS, INC.
Reel/Frame 050210/0018 →
Cited By (1)
US 12,299,468