System and method for batch evaluation programs
First Claim
Patent Images
1. A computer-implemented method to batch evaluate a plurality of expressions, the method comprising:
- analyzing a first expression to be evaluated within a call stack associated with a first instruction of a software routine, wherein the first instruction specifies the first expression, and analyzing a second expression to be evaluated within a different call stack;
determining whether to batch evaluate the first expression and the second expression based upon a first attribute;
wherein an attribute is one of;
type of expression, number of inputs specified in the expression, or the type of operation to be performed by the expression;
if the first expression and the second expression should be batch evaluated based upon the first attribute, determining whether to batch evaluate the first expression, the second expression, and a third expression based upon a second attribute;
if the first expression, the second expression, and the third expression should be batch evaluated based upon the second attribute, causing the first expression, the second expression, and the third expression to be batch evaluated in an application server, wherein no individual expression from among a plurality of expressions is individually sent to the application server for evaluation;
receiving, from the application server, a different value for each of the first expression, the second expression, and the third expression that is generated when a batch processing request is processed by the application server;
populating the call stack with the received value for the first expression.
8 Assignments
0 Petitions
Accused Products
Abstract
A batching module that inspects call stacks within a stack evaluator to identify current expressions that can be evaluated in batch with other expressions. If such expressions are identified, the corresponding stacks are blocked from further processing and a batch processing request for processing the expressions is transmitted to the application server. The application server processes the expressions in batch and generates a value for each of the expressions. The blocked stacks are then populated with the values for the expressions.
-
Citations
20 Claims
-
1. A computer-implemented method to batch evaluate a plurality of expressions, the method comprising:
-
analyzing a first expression to be evaluated within a call stack associated with a first instruction of a software routine, wherein the first instruction specifies the first expression, and analyzing a second expression to be evaluated within a different call stack; determining whether to batch evaluate the first expression and the second expression based upon a first attribute; wherein an attribute is one of;
type of expression, number of inputs specified in the expression, or the type of operation to be performed by the expression;if the first expression and the second expression should be batch evaluated based upon the first attribute, determining whether to batch evaluate the first expression, the second expression, and a third expression based upon a second attribute; if the first expression, the second expression, and the third expression should be batch evaluated based upon the second attribute, causing the first expression, the second expression, and the third expression to be batch evaluated in an application server, wherein no individual expression from among a plurality of expressions is individually sent to the application server for evaluation; receiving, from the application server, a different value for each of the first expression, the second expression, and the third expression that is generated when a batch processing request is processed by the application server; populating the call stack with the received value for the first expression. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable medium storing instruction that, when executed by a processor, cause the processor to batch evaluate a plurality of expressions, by performing the steps of:
-
analyzing a first expression to be evaluated within a call stack associated with a first instruction of a software routine, wherein the first instruction specifies the first expression, and analyzing a second expression to be evaluated within a different call stack; determining whether to batch evaluate the first expression and the second expression based upon a first attribute; wherein an attribute is one of;
type of expression, number of inputs specified in the expression, or the type of operation to be performed by the expression;if the first expression and the second expression should be batch evaluated based upon the first attribute, determining whether to batch evaluate the first expression, the second expression, and a third expression based upon a second attribute; if the first expression, the second expression, and the third expression should be batch evaluated based upon the second attribute, causing the first expression, the second expression, and the third expression to be batch evaluated in an application server, wherein no individual expression from among a plurality of expressions is individually sent to the application server for evaluation; receiving, from the application server, a different value for each of the first expression, the second expression, and the third expression that is generated when a batch processing request is processed by the application server; populating the call stack with the received value for the first expression. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system, comprising:
-
a memory; and a processor configured to; analyze a first expression to be evaluated within a call stack associated with a first instruction of a software routine, wherein the first instruction specifies the first expression, and analyze a second expression to be evaluated within a different call stack, determine whether the first expression and the second expression should be batch evaluated based upon a first attribute, wherein an attribute is one of;
type of expression, number of inputs specified in the expression, or the type of operation to be performed by the expression,when at least the first expression and the second expression should be batch evaluated based upon the first attribute, determine whether the first expression, the second expression, and a third expression should be batch evaluated based upon a second attribute, when the first expression, the second expression, and the third expression should be batch evaluated based upon the second attribute, cause the first expression, the second expression, and the third expression to be batch evaluated in an application server, wherein no individual expression from among a plurality of expressions is individually sent to the application server for evaluation, receive, from the application server, a different value for each of the first expression, the second expression, and the third expression that is generated when a batch processing request is processed by the application server, populate the call stack with the received value for the first expression. - View Dependent Claims (20)
-
Specification