IP Library Granted Patent US 12,375,573
Granted Patent B1
US 12,375,573 · App. 17/679,684 · Granted Jul 29, 2025

Container event monitoring using kernel space communication

Inventors: Anil K. Nanduri (Fremont, CA); Prakash Jalan (Sunnyvale, CA); Matti A. Vanninen (Cary, NC); Ammar G. Ekbote (Renton, WA); Alex Ramachandran Nirmala (Cupertino, CA); Yijou Chen (Cupertino, CA)
Assignee: Fortinet, Inc.
H04L67/535G06F9/455G06F9/545G06F16/9024G06F16/9038G06F16/9535G06F16/9537G06F21/57H04L43/045H04L43/06H04L63/10H04L67/306G06F16/2456
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 12,375,573
App. No.
17/679,684
Filed
Feb 24, 2022
Granted
Jul 29, 2025
Kind
B1
Art Unit
2194
USPC
719/318
Abstract

Example systems and methods monitor a cloud compute environment. An example method includes: opening, by an agent deployed in a cloud environment, a communication channel between the agent and a kernel of an operating system of a node within the cloud environment; determining, by the agent and via the communication channel, an event associated with a namespace of the operating system; determining, by the agent and based on the event, a status of a container associated with the node; and providing, by the agent to a data platform, a message indicative of the status of the container.

Claims (56)

1. A method comprising:

opening, by an agent deployed in a cloud environment, a communication channel between the agent and a kernel of an operating system of a node within the cloud environment;

determining, by the agent and via the communication channel, an event associated with a namespace of the operating system;

determining, by the agent and based on the event, a status of a container associated with the node; and

providing, by the agent to a data platform, a message indicative of the status of the container, wherein determining the event comprises:

subscribing, by the agent with the kernel, to a class of events associated with creation or deletion of the namespace; and

receiving, by the agent, an indication of the event.

2. The method of claim 1 , wherein the opening the communication channel comprises:

opening a socket between the agent and the kernel, wherein the agent comprises a user space process, and wherein the kernel comprises a kernel process.

3. The method of claim 1 , wherein the determining the status of the container comprises:

requesting, by the agent and from a container runtime operating within the node, data indicative of one or more containers operating within the node at a particular time; and

determining, by the agent and based on data indicative of one or more containers operating within the node at a time prior to the particular time, creation of the container, wherein the container is among the one or more containers operating within the node at the particular time.

4. The method of claim 1 , wherein the determining the status of the container comprises:

requesting, by the agent and from a container runtime operating within the node, data indicative of one or more containers operating within the node at a particular time; and

determining, by the agent and based on data indicative of one or more containers operating within the node at a time prior to the particular time, deletion of the container, wherein the container is not among the one or more containers operating within the node at the particular time.

5. The method of claim 1 , further comprising:

determining, based at least in part on the determining the status of the container associated with the node, one or more behavioral relationships between logical entities within the cloud environment, wherein the logical entities comprise one or more of: a workload, an application, a process, a machine, a set of containers, a file, a network address, a domain name, or a user profile; and

determining, based on the one or more behavioral relationships, a polygraph.

6. The method of claim 1 , wherein the determining the status of a container associated with the node occurs prior to receiving an indication of the status of the container from a container runtime operating within the node.

7. A computer program product embodied in a non-transitory computer-readable medium and comprising computer instructions for:

opening, by an agent deployed in a cloud environment, a communication channel between the agent and a kernel of an operating system of a node within the cloud environment;

determining, by the agent and via the communication channel, an event associated with a namespace of the operating system;

determining, by the agent and based on the event, a status of a container associated with the node; and

providing, by the agent to a data platform, a message indicative of the status of the container, wherein determining the event comprises:

subscribing, by the agent with the kernel, to a class of events associated with creation or deletion of the namespace; and

receiving, by the agent, an indication of the event.

8. The computer program product of claim 7 , wherein the opening the communication channel comprises:

opening a socket between the agent and the kernel, wherein the agent comprises a user space process, and wherein the kernel comprises a kernel process.

9. The computer program product of claim 7 , wherein the determining the status of the container comprises:

requesting, by the agent and from a container runtime operating within the node, data indicative of one or more containers operating within the node at a particular time; and

determining, by the agent and based on data indicative of one or more containers operating within the node at a time prior to the particular time, creation of the container, wherein the container is among the one or more containers operating within the node at the particular time.

10. The computer program product of claim 7 , wherein the determining the status of the container comprises:

requesting, by the agent and from a container runtime operating within the node, data indicative of one or more containers operating within the node at a particular time; and

determining, by the agent and based on data indicative of one or more containers operating within the node at a time prior to the particular time, deletion of the container, wherein the container is not among the one or more containers operating within the node at the particular time.

11. The computer program product of claim 7 , wherein the computer instructions further perform:

determining, based at least in part on the determining the status of the container associated with the node, one or more behavioral relationships between logical entities within the cloud environment, wherein the logical entities comprise one or more of: a workload, an application, a process, a machine, a set of containers, a file, a network address, a domain name, or a user profile; and

determining, based on the one or more behavioral relationships, a polygraph.

12. The computer program product of claim 7 , wherein the determining the status of a container associated with the node occurs prior to receiving an indication of the status of the container from a container runtime operating within the node.

13. A system for monitoring a cloud environment, the system comprising:

a memory storing computer-executable instructions; and

a processor that executes the computer-executable instructions to:

open a communication channel between an agent and a kernel of an operating system of a node within the cloud environment;

determine, via the communication channel, an event associated with a namespace of the operating system;

determine, based on the event, a status of a container associated with the node;

and provide, to a data platform, a message indicative of the status of the container, wherein determining the event further comprises computer-executable instructions to:

subscribe, by the agent with the kernel, to a class of events associated with creation or deletion of the namespace; and

receive, by the agent, an indication of the event.

14. The system of claim 13 , wherein the computer-executable instructions to open the communication channel between the agent and the kernel of the operating system of the node within the cloud environment further comprise computer-executable instructions to:

open a socket between the agent and the kernel, wherein the agent comprises a user space process, and wherein the kernel comprises a kernel process.

15. The system of claim 13 , wherein the computer-executable instructions to determine, based on the event, the status of the container associated with the node further comprise computer-executable instructions to:

request, by the agent and from a container runtime operating within the node, data indicative of one or more containers operating within the node at a particular time; and

determine, by the agent and based on data indicative of one or more containers operating within the node at a time prior to the particular time, creation of the container, wherein the container is among the one or more containers operating within the node at the particular time.

16. The system of claim 13 , wherein the computer-executable instructions further comprise computer-executable instructions to:

determine, based at least in part on the determining the status of the container associated with the node, one or more behavioral relationships between logical entities within the cloud environment, wherein the logical entities comprise one or more of: a workload, an application, a process, a machine, a set of containers, a file, a network address, a domain name, or a user profile; and

determine, based on the one or more behavioral relationships, a polygraph.

17. The system of claim 13 , wherein the computer-executable instructions to determine the status of a container associated with the node are executed prior to the computer executable instructions to receive an indication of the status of the container from a container runtime operating within the node.

Assignments (2)
MERGER Recorded Oct 7, 2024
From: LACEWORK, INC.
To: FORTINET, INC.
Reel/Frame 069269/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: NANDURI, ANIL K.; JALAN, PRAKASH; VANNINEN, MATTI A.; EKBOTE, AMMAR G.; RAMACHANDRAN NIRMALA, ALEX; CHEN, YIJOU
To: LACEWORK, INC.
Reel/Frame 059092/0401 →
Cited By (2)
US 12,596,813 US 12,651,078