摘要:
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.
摘要:
The present invention extends to methods, systems, and computer program products for extending and optimizing electronic messaging rules. A messaging module automatically generates intermediate language instructions that represent messaging rules. The intermediate language instructions are decompiled into corresponding source code and modified to extend the functionality of the messaging rules. The modified source code is recompiled into modified intermediate language instructions that are executable by a rule execution module. A criteria evaluator identifies portions of intermediate language rule instructions that can be can be rewritten to facilitate more efficient rule execution. An intermediate language rewriter optimizes the identified portions of intermediate language rule instructions based on rule optimization data. For example, a series of otherwise linearly executed conditional statements can be rewritten as a balanced binary tree or character by character comparison string matching can be rewritten as a single hash comparison.
摘要:
A system, method, and computer readable-medium for interrupting client requests in a web environment are provided. The system includes a server, such as a web server, for receiving a request from a particular client. Rather than directly supplying the requested information, the server determines whether unrequested operations should be performed. If unrequested operations should be performed, then the server performs one or more unrequested operations before returning the originally requested information to the particular client.