IP Library Granted Patent US 11,075,823
Granted Patent B1
US 11,075,823 · App. 16/297,429 · Granted Jul 27, 2021

Techniques for network packet event related script execution

Inventor: Suraj Jaiswal (Santa Clara, CA)
Assignee: VMWARE, INC.
H04L41/5041G06F9/45558G06F2009/45595
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,075,823
App. No.
16/297,429
Granted
Jul 27, 2021
Kind
B1
Abstract

Configuring network packet event related execution is disclosed, including: receiving a set of virtual service configuration information associated with a specified virtual service; using the set of virtual service configuration information to generate a set of event context information corresponding to the virtual service; and storing the set of event context information in a shared memory. Executing scripts related to a network packet event is disclosed, including: determining, using a service engine data path (SEDP) executing at the core, an event associated with a received network packet directed to a virtual service; determining a set of scripts to be executed corresponding to the event; generating a child interpreter context corresponding to the parent interpreter context corresponding to the virtual service; and using the child interpreter context to execute the set of scripts in the core specific memory corresponding to the core.

Claims (32)

1. A system, comprising:

a processor configured to:

receive a set of virtual service configuration information associated with a specified virtual service, wherein the set of virtual service configuration information identifies a plurality of script objects;

use the set of virtual service configuration information to generate a set of event context information corresponding to the specified virtual service, wherein the set of event context information comprises a plurality of events and corresponding scripts that are identified from the set of virtual service configuration information;

store the set of event context information in a shared memory, wherein the shared memory is accessible to a set of service engine data paths (SEDPs), wherein an SEDP of the set of SEDPs is configured to use the set of event context information to execute a set of scripts in response to a detected event associated with a received network packet;

generate a plurality of parent interpreter contexts corresponding to the specified virtual service in a plurality of core specific memories corresponding to a plurality of cores;

store, in the shared memory, a plurality of references to the plurality of parent interpreter contexts corresponding to the specified virtual service;

determine a corresponding set of scripts to be executed for each event associated with the specified virtual service using the set of event context information; and

store a respective copy of or a reference to the corresponding set of scripts to be executed for each event in each of the plurality of parent interpreter contexts corresponding to the specified virtual service; and

the shared memory configured to store the set of event context information.

2. The system of claim 1 , wherein the processor is further configured to:

receive a plurality of script object definitions, wherein a script object comprises at least one script corresponding to each of one or more specified events; and

precompile the plurality of script object definitions.

3. The system of claim 2 , wherein to precompile the plurality of script object definitions comprises to, at least one of: identify a syntax error in the plurality of script object definitions and map a user defined construct in the plurality of script object definitions to a corresponding system defined construct.

4. The system of claim 1 , wherein the processor is further configured to:

receive an indication to configure the set of virtual service configuration information;

receive a sequence associated with the plurality of script objects to attach to the specified virtual service; and

store identifying information associated with the plurality of script objects and the sequence of the plurality of script objects in the set of virtual service configuration information.

5. The system of claim 1 , wherein to store the respective copy of or the reference to the corresponding set of scripts to be executed for each event in each of the plurality of parent interpreter contexts corresponding to the specified virtual service comprises to:

wrap a corresponding set of scripts to be executed for a first event in a corresponding set of closure factories; and

store the closure factory wrapped corresponding set of scripts to be executed for the first event in a data structure in a first parent interpreter context corresponding to the specified virtual service.

6. The system of claim 5 , wherein the processor is further configured to store a set of keys corresponding to a respective set of scripts corresponding to the first event in the set of event context information, wherein the set of keys are usable to obtain the closure factory wrapped corresponding set of scripts to be executed for the first event from the data structure.

7. The system of claim 5 , wherein the processor is further configured to store a key corresponding to the first event in the set of event context information, wherein the key is usable to obtain the closure factory wrapped corresponding set of scripts to be executed for the first event from the data structure.

8. The system of claim 1 , wherein memory usage associated with generating the set of event context information is obtained from a memory pool type associated with configuration setup.

9. A method, comprising:

receiving a set of virtual service configuration information associated with a specified virtual service, wherein the set of virtual service configuration information identifies a plurality of script objects;

using the set of virtual service configuration information to generate a set of event context information corresponding to the virtual service, wherein the set of event context information comprises a plurality of events and corresponding scripts that are identified from the set of virtual service configuration information;

storing the set of event context information in a shared memory, wherein the shared memory is accessible to a set of service engine data paths (SEDPs), wherein an SEDP of the set of SEDPs is configured to use the set of event context information to execute a set of scripts in response to a detected event associated with a received network packet;

generating a plurality of parent interpreter contexts corresponding to the specified virtual service in a plurality of core specific memories corresponding to a plurality of cores;

storing, in the shared memory, a plurality of references to the plurality of parent interpreter contexts corresponding to the specified virtual service;

determining a corresponding set of scripts to be executed for each event associated with the specified virtual service using the set of event context information; and

storing a respective copy of or a reference to the corresponding set of scripts to be executed for each event in each of the plurality of parent interpreter contexts corresponding to the specified virtual service.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2019
From: JAISWAL, SURAJ
To: AVI NETWORKS
Reel/Frame 049294/0128 →