IP Library Granted Patent US 10,530,837
Granted Patent B2
US 10,530,837 · App. 14/249,487 · Granted Jan 7, 2020

Always-on monitoring in the cloud

Inventors: Vasanth Bala (Rye, NY); Canturk Isci (Secaucus, NJ); Todd W. Mummert (Danbury, CT); Sahil Suneja (Toronto, CA)
Assignee: International Business Machines Corporation
H04L67/10G06F9/45558H04L43/14H04L63/20H04L67/2809H04L67/2819H04L67/38G06F2009/45591H04L41/5009
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 10,530,837
App. No.
14/249,487
Granted
Jan 7, 2020
Kind
B2
Abstract

A mechanism is provided in a data processing system for monitoring a virtual machine in a distributed computing system. An out-of-virtual machine monitor receives, via an out-of-band path, disk and memory state data of the virtual machine exposed in a hypervisor hosting the virtual machine. The out-of-virtual machine monitor interprets logical information from the virtual machine disk and memory state data. The out-of-virtual machine monitor parses the logical information to extract related system or log information for a monitoring endpoint. The out-of-virtual machine monitor translates the system or log information to a standard format expected by the monitoring endpoint. The out-of-virtual machine monitor forwards a monitoring data stream to the monitoring endpoint.

Claims (56)

1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a data processing system, causes the data processing system to:

receive, by a monitoring broker executing on at least one processor of the data processing system, exposed disk and memory state data of the virtual machine as an out-of-band data stream via an out-of-band path comprising attach logic within a hypervisor executing on the at least one processor within the distributed computing system and hosting the virtual machine;

receive, by the monitoring broker, an in-band data stream from the virtual machine via an in-band path comprising a software agent executing within the virtual machine on the at least one processor within the distributed computing system;

normalize, by the monitoring broker, the in-band data stream and the out-of-band data stream to a common format;

determine, by the monitoring broker, the monitoring data stream, selected between the in-band data stream and the out-of-band data stream, to forward to a monitoring endpoint within the distributed computing system;

forward the monitoring data stream from the monitoring broker to the monitoring endpoint;

use the out-of-band data stream to monitor a footprint of the in-band path; and

responsive to determining a failure of the in-band path based on the footprint of the in-band path, select the out-of-band data stream to forward to the monitoring endpoint and alert the monitoring endpoint to revive the in-band path.

2. The computer program product of claim 1 , wherein the computer readable program further causes the data processing system to:

responsive to determining the in-band data stream and the out-of-band data stream substantially deviate, alert a security solution of a potential compromise of the in-band path and quarantine the virtual machine.

3. The computer program product of claim 1 , wherein determining the monitoring data stream comprises:

responsive to the in-band-data stream and the out-of-band data stream being substantially equivalent, selecting an earliest received data stream between the in-band data stream and the out-of-band data stream.

4. The computer program product of claim 1 , wherein determining the monitoring data stream comprises:

responsive to a given data stream between the in-band data stream and the out-of-band data stream being more feature rich than the other, selecting the given data stream.

5. The computer program product of claim 1 , wherein the computer readable program further causes the data processing system to interpret logical information from the exposed disk and memory state data, parse the logical information to extract related system or log information, and translate the system or log information to a standard format expected by the monitoring endpoint.

6. The computer program product of claim 5 , wherein interpreting logical information from the exposed disk and memory state data comprises mounting a filesystem of the disk, inspecting blocks of the disk to discover file-level information, mapping well-known operating data structures on an address space of the memory, or using heuristics to discover data structures in the memory.

7. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

receive, by a monitoring broker executing on at least one processor of a data processing system, exposed disk and memory state data of the virtual machine as an out-of-band data stream via an out-of-band path comprising attach logic within a hypervisor executing on the at least one processor within the distributed computing system and hosting the virtual machine;

receive, by the monitoring broker, an in-band data stream from the virtual machine via an in-band path comprising a software agent executing within the virtual machine on the at least one processor within the distributed computing system;

normalize, by the monitoring broker, the in-band data stream and the out-of-band data stream to a common format;

determine, by the monitoring broker, the monitoring data stream, selected between the in-band data stream and the out-of-band data stream, to forward to a monitoring endpoint within the distributed computing system a monitoring endpoint within the distributed computing system;

forward the monitoring data stream from the monitoring broker to the monitoring endpoint;

use the out-of-band data stream to monitor a footprint of the in-band path; and

responsive to determining a failure of the in-band path based on the footprint of the in-band path, select the out-of-band data stream to forward to the monitoring endpoint and alert the monitoring endpoint to revive the in-band path.

8. The apparatus of claim 7 , wherein the instructions further cause the processor to:

responsive to determining the in-band data stream and the out-of-band data stream substantially deviate, alert a security solution of a potential compromise of the in-band path and quarantine the virtual machine.

9. The apparatus of claim 7 , wherein determining the monitoring data stream comprises:

responsive to the in-band-data stream and the out-of-band data stream being substantially equivalent, selecting an earliest received data stream between the in-band data stream and the out-of-band data stream.

10. The apparatus of claim 7 , wherein determining the monitoring data stream comprises:

responsive to a given data stream between the in-band data stream and the out-of-band data stream being more feature rich than the other, selecting the given data stream.

11. The apparatus of claim 7 , wherein the instructions further cause the processor to interpret logical information from the exposed disk and memory state data, parse the logical information to extract related system or log information, and translate the system or log information to a standard format expected by the monitoring endpoint.

12. The apparatus of claim 11 , wherein interpreting logical information from the exposed disk and memory state data comprises mounting a filesystem of the disk, inspecting blocks of the disk to discover file-level information, mapping well-known operating data structures on an address space of the memory, or using heuristics to discover data structures in the memory.

13. The apparatus of claim 7 , wherein the disk state data are represented as a file on the hypervisor filesystem, a direct-mapped local or remote block device, or a virtual disk format.

14. The apparatus of claim 7 , wherein the attach logic creates a local block device wrapper or network attached device wrapper around the disk.

15. The apparatus of claim 7 , wherein the memory state data are exposed in a hypervisor hosting the virtual machine by dumping the memory, migrating the memory to file, snapshotting the memory, or remote direct memory access.

16. A method, in a data processing system, for monitoring a virtual machine (VM) in a distributed computing system, the method comprising:

receiving, by a monitoring broker executing on at least one processor of the data processing system, exposed disk and memory state data of the virtual machine as an out-of-band data stream via an out-of-band path comprising attach logic within a hypervisor executing on the at least one processor within the distributed computing system and hosting the virtual machine;

receiving, by the monitoring broker, an in-band data stream from the virtual machine via an in-band path comprising a software agent executing within the virtual machine on the at least one processor within the distributed computing system;

normalizing, by the monitoring broker, the in-band data stream and the out-of-band data stream to a common format;

determining, by the monitoring broker, the monitoring data stream, selected between the in-band data stream and the out-of-band data stream, to forward to a monitoring endpoint within the distributed computing system;

forwarding the monitoring data stream from the monitoring broker to the monitoring endpoint;

using the out-of-band data stream to monitor a footprint of the in-band path; and

responsive to determining a failure of the in-band path based on the footprint of the in-band path, selecting the out-of-band data stream to forward to the monitoring endpoint and alerting the monitoring endpoint to revive the in-band path.

17. The method of claim 16 , wherein the disk state data are represented as a file on the hypervisor filesystem, a direct-mapped local or remote block device, or a virtual disk format.

18. The method of claim 16 , wherein the attach logic creates a local block device wrapper or network attached device wrapper around the disk.

19. The method of claim 16 , wherein the memory state data are exposed in a hypervisor hosting the virtual machine by dumping the memory, migrating the memory to file, snapshotting the memory, or remote direct memory access.

20. The method of claim 16 , further comprising interpreting logical information from the exposed disk and memory state data, parsing the logical information to extract related system or log information, and translating the system or log information to a standard format expected by the monitoring endpoint.

21. The method of claim 20 , wherein interpreting logical information from the exposed disk and memory state data comprises mounting a filesystem of the disk, inspecting blocks of the disk to discover file-level information, mapping well-known operating data structures on an address space of the memory, or using heuristics to discover data structures in the memory.

22. The method of claim 16 , wherein determining the monitoring data stream comprises:

responsive to the in-band-data stream and the out-of-band data stream being substantially equivalent, selecting an earliest received data stream between the in-band data stream and the out-of-band data stream.

23. The method of claim 16 , wherein determining the monitoring data stream comprises:

responsive to a given data stream between the in-band data stream and the out-of-band data stream being more feature rich than the other, selecting the given data stream.

24. The method of claim 16 , further comprising:

responsive to determining the in-band data stream and the out-of-band data stream substantially deviate, alerting a security solution of a potential compromise of the in-band path and quarantining the virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2014
From: BALA, VASANTH; ISCI, CANTURK; MUMMERT, TODD W.; SUNEJA, SAHIL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032644/0598 →
Continuity (1)
Related Publication 20150295800A1 · Oct 15, 2015
Cited By (3)
US 12,277,430 US 12,294,621 US 12,657,098