IP Library Granted Patent US 10,802,893
Granted Patent B2
US 10,802,893 · App. 15/881,645 · Granted Oct 13, 2020

Performing process control services on endpoint machines

Inventors: Arijit Chanda (San Jose, CA); Rajiv Krishnamurthy (San Jose, CA); Arnold K. Poon (San Mateo, CA); Tori Chen (San Jose, CA)
Assignee: NICIRA, INC.
G06F9/542
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,802,893
App. No.
15/881,645
Granted
Oct 13, 2020
Kind
B2
Abstract

Some embodiments of the invention provide a method for performing services on an endpoint machine in a datacenter. On the endpoint machine, the method installs a guest introspection (GI) agent and a service engine. In some embodiments, the GI agent and the service engine are part of one monitor agent that is installed on the endpoint machine. The method then registers with a set of one or more notification services on the endpoint machine, the GI agent to receive notifications regarding new data message flow events on the endpoint machine. Through the notifications, the GI agent captures contextual data items regarding new data message flows, and stores the captured contextual data items. The service engine then performs a service for the data message flow based on the captured contextual data.

Claims (21)

1. A method of performing services on heterogeneous endpoint machines in a datacenter, the method comprising:

on a first endpoint machine of a first type and executing on a first host computer, installing a first guest introspection (GI) agent and a first service engine; on a second endpoint machine of a different, second type and executing on a second host computer, installing a second guest introspection (GI) agent; configuring the first GI agent to capture and store a first set of contextual data items associated with a first new launched process on the first endpoint machine, said first set of contextual data items for the first service engine on the first endpoint machine to use to perform a process-control service on the first new launched process; and

configuring the first service engine to register with a set of one or more notification services on the first endpoint machine to receive notifications regarding new launched processes for at least one application executing on the first endpoint machine, wherein the first service engine performs the process-control service on launched processes identified in response to receiving a notification, by using stored contextual data items associated with the identified launched processes; and configuring the second GI agent to capture a second set of contextual data items associated with a second new launched process on the second endpoint machine and to provide the second set of contextual data items to be stored outside of the second endpoint machine on the second host computer, in order for a second service engine, which executes on the second host computer separately from the second endpoint machine, to use to perform a process-control service on the second new launched process.

2. The method of claim 1 , wherein the first GI agent notifies the first service engine of the first launched process.

3. The method of claim 2 , wherein the first GI agent provides at least one captured contextual data item to the first service engine along with the notification of the first launched process.

4. The method of claim 2 , wherein each service engine retrieves from a storage at least one contextual data item that the corresponding GI agent stored in the storage for the new launched process.

5. The method of claim 1 , wherein the process-control service is a service that determines whether a process should be allowed, terminated, have its operations replicated, be designated for malware inspection, or have the data messages that it sends or receives be subject to deep packet inspection.

6. The method of claim 1 , wherein each service engine performs the process-control service based on a set of service rules each of which comprises a rule identifier and a service action, the rule identifiers of at least a subset of service rules defined by reference to at least one contextual data item.

7. The method of claim 1 , wherein the first endpoint machine is a bare metal machine, and the second endpoint machine is a virtual machine executing on top of a hypervisor that executes on the second host computer.

8. The method of claim 1 , wherein the first endpoint machine is a container, and the second endpoint machine is a virtual machine executing on top of a hypervisor that executes on the second host computer.

9. The method of claim 1 , wherein the endpoint machines are virtual machines.

10. A non-transitory machine readable medium comprising sets of instructions for execution by at least one hardware processing unit of a computer to perform services on heterogeneous endpoint machines in a datacenter, the sets of instructions for: on a first endpoint machine of a first type and executing on a first host computer, installing a first guest introspection (GI) agent and a first service engine; on a second endpoint machine of a different, second type and executing on a second host computer, installing a second guest introspection (GI) agent; configuring the first GI agent to capture and store a first set of contextual data items associated with a first process event associated with a first process on the first endpoint machine, said first set of contextual data items for the first service engine on the first endpoint machine to use to perform a process-control service on the first process; and

configuring the first service engine to register with a set of one or more notification services on the first endpoint machine to receive notifications regarding new launched processes for at least one application executing on the first endpoint machine, wherein the first service engine performs the process-control service on launched processes identified in response to receiving a notification, by using stored contextual data items associated with the identified launched processes; and configuring the second GI agent to capture a second set of contextual data items associated with a second process event associated with a second process on the second endpoint machine and to provide the second set of contextual data items to be stored outside of the second endpoint machine on the second host computer, in order for a second service engine, which executes on the second host computer separately from the second endpoint machine, to use to perform a process control service on the second process.

11. The non-transitory machine readable medium of claim 10 , wherein the first GI agent notifies the first service engine of the first process event.

12. The non-transitory machine readable medium of claim 11 , wherein the first GI agent provides at least one captured contextual data item to the first service engine along with the notification of the first process event.

13. The non-transitory machine readable medium of claim 11 , wherein each service engine retrieves from a storage at least one contextual data item that the corresponding GI agent stored in the storage for the process event.

14. The non-transitory machine readable medium of claim 10 , wherein the contextual data items include data other than layer 2, layer 3 and layer 4 header values of the data messages.

15. The non-transitory machine readable medium of claim 10 , wherein the contextual data items include layer 7 data tuples.

16. The non-transitory machine readable medium of claim 10 , wherein the contextual data items include at least one of a process identifier and a user group identifier.

17. The non-transitory machine readable medium of claim 10 , wherein the first endpoint machine comprises one of a bare metal machine, a container, and a virtual machine, and the second endpoint machine is a virtual machine executing on top of a hypervisor that executes on the second host computer.

18. A method of performing services on heterogeneous endpoint machines in a datac enter, the method comprising: on a first endpoint machine of a first type and executing on a first host computer, installing a first guest introspection (GI) agent and a first service engine; on a second endpoint machine of a different, second type and executing on a second host computer, installing a second guest introspection (GI) agent; configuring the first GI agent to capture and store a first set of contextual data items associated with a first new launched process on the first endpoint machine, said first set of contextual data items for the first service engine on the first endpoint machine to use to perform a process-control service on the first new launched process; configuring registering each GI agent to register with a set of one or more notification services on the corresponding endpoint machine to receive notifications regarding new process launch events for at least one application executing on the corresponding endpoint machine, wherein each GI agent captures and stores contextual data associated with a new launched process in response to receiving a notification from the notification service on the corresponding endpoint machine regarding the new launched process; configuring the second GI agent to capture a second set of contextual data items associated with a second new launched process on the second endpoint machine and to provide the second set of contextual data items to be stored outside of the second endpoint machine on the second host computer, in order for a second service engine, which executes on the second host computer separately from the second endpoint machine, to use to perform a process-control service on the second new launched process.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2019
From: CHANDA, ARIJIT; KRISHNAMURTHY, RAJIV; POON, ARNOLD K.; CHEN, TORI
To: NICIRA, INC.
Reel/Frame 048091/0109 →
Continuity (1)
Related Publication 20190235934A1 · Aug 1, 2019
Cited By (2)
US 12,335,232 US 12,362,999