Securely extending data processing pipeline functionality
First Claim
1. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields providing an interface for transferring data to computer-executable instructions for initializing an agent runtime engine, the interface comprising:
- a server identifier field for storing a server identifier that specifies a server object that is to associated with the agent runtime;
a configuration file field for storing a configuration file identifier that identifies a configuration file, the configuration file including configuration options for configuring the agent runtime that is to associated with the server object identified by the server identifier in the server identifier field; and
an agent group field for storing an agent group identifier that identifies a specified section in the configuration file identified by the configuration file identifier in the configuration file field.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for securely and efficiently extending data processing pipeline functionality. Data processing agents register, potentially based solely on configuration data contained in the data processing agents, to manipulate data of a data processing pipeline. Configuration data can identify a specified event (e.g., an SMTP verb) the data processing agent is to hook into. Upon detection of a specified event, one or more agents that have registered for the specified event are loaded into secure zones. Process boundaries separate agents from one another and from other processes such that execution of each agent is isolated from other processes. Pipeline related data (e.g., electronic message data) is transferred to each loaded agent. Application Program Interfaces (“APIs”) can be used to transfer data between modules that implement embodiments of the present invention.
22 Citations
29 Claims
-
1. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields providing an interface for transferring data to computer-executable instructions for initializing an agent runtime engine, the interface comprising:
-
a server identifier field for storing a server identifier that specifies a server object that is to associated with the agent runtime;
a configuration file field for storing a configuration file identifier that identifies a configuration file, the configuration file including configuration options for configuring the agent runtime that is to associated with the server object identified by the server identifier in the server identifier field; and
an agent group field for storing an agent group identifier that identifies a specified section in the configuration file identified by the configuration file identifier in the configuration file field. - View Dependent Claims (2, 3, 4, 12, 13, 14)
-
-
5. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields providing an interface for transferring data to computer-executable instructions for invoking an agent runtime to execute agent handlers with a specific topic, the interface comprising:
-
an execution context field for storing an execution context value that identifies an execution context object for an agent runtime;
an event topic field for storing an event topic value that represents a type of event that is to be processed by the agent runtime in the execution context object identified by the execution context value stored in the execution context field; and
a contexts field for storing a list of context values that represent a corresponding list of objects from a data processing pipeline that can be accessed from the execution context object identified by the execution context value stored in the execution context field. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
15. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields providing an interface for transferring data to computer-executable instructions for asynchronously invoking an agent runtime to execute agent handlers with a specific topic, the interface comprising:
-
an execution context field for storing an execution context value that identifies an execution context object for an agent runtime;
an event topic field for storing an event topic value that represents a type of event that is to be processed by the agent runtime in the execution context object identified by the execution context value stored in the execution context field;
a time out field for storing a time out value that represents an amount of time after which the attempt to asynchronously invoke an agent runtime will time out;
a callback field for storing a callback value that represents an object to be called when the asynchronous invocation of the agent runtime is complete;
a state field for storing a state value that distinguishes the asynchronous invocation of the agent runtime from other invocations of the agent runtime; and
a contexts field for storing a list of context values that represent a corresponding list of objects from a data processing pipeline that can be accessed from the execution context object identified by the execution context value stored in the execution context field. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields providing an interface for transferring data to computer-executable instructions for calling an agent handler, the interface comprising:
-
a source field for storing a source value that identifies the source of an event in a data processing pipeline; and
an event data field for storing event data related to the source of the event identified by the source value stored in the source field. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
Specification