System and method for batch evaluation programs

US9348677B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9348677-B2
Application numberUS-201213657635-A
CountryUS
Kind codeB2
Filing dateOct 22, 2012
Priority dateOct 22, 2012
Publication dateMay 24, 2016
Grant dateMay 24, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We claim: 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. 2. The method of claim 1 , wherein the different call stack is associated with a second instruction of the software routine or is associated with the first instruction of the software routine. 3. The method of claim 1 , wherein the first attribute is different than the second attribute. 4. The method of claim 1 , wherein the second attribute is included in a pre-determined list of characteristics associated with expressions that should be batch evaluated. 5. The method of claim 1 , further comprising determining that the third expression satisfies a third attribute, wherein the third attribute is the same or different than the first attribute. 6. The method of claim 4 , wherein the pre-determined list of characteristics includes a characteristic of an expression that is evaluated via a database call. 7. The method of claim 4 , wherein the pre-determined list of characteristics includes a characteristic of an expression that specifies a plurality of inputs. 8. The method of claim 1 , further comprising blocking the call stack from further processing after determining that the first expression and the second expression should be batch evaluated based upon the first attribute. 9. The method of claim 8 , further comprising unblocking the call stack after populating the call stack with the value for the first expression. 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. 11. The computer readable medium of claim 10 , wherein the different call stack is associated with a second instruction of the software routine or is associated with the first instruction of the software routine. 12. The computer readable medium of claim 10 , wherein the first attribute is different than the second attribute. 13. The computer readable medium of claim 10 , wherein the second attribute is included in a pre-determined list of characteristics associated with expressions that should be batch evaluated. 14. The computer readable medium of claim 10 , further comprising determining whether to batch evaluate the third expression and at least a fourth expression based upon a third attribute, wherein the third attribute is the same or different than the first attribute. 15. The computer readable medium of claim 13 , wherein the pre-determined list of characteristics includes a characteristic of an expression that is evaluated via a database call. 16. The computer readable medium of claim 13 , wherein the pre-determined list of characteristics includes a characteristic of an expression that specifies a plurality of inputs. 17. The computer readable medium of claim 10 , further comprising blocking the call stack from further processing after determining that the first expression and the second expression should be batch evaluated based upon the first attribute. 18. The computer readable medium of claim 17 , further comprising unblocking the call stack after populating the call stack with the value for the first expression. 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 e

Assignees

Inventors

Classifications

  • G06F9/4843Primary

    by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Precedence · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Object oriented databases · CPC title

  • G06F9/548Primary

    Object oriented; Remote method invocation [RMI] (non-remote method invocation G06F9/449) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9348677B2 cover?
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 exp…
Who is the assignee on this patent?
Marinelli Iii Eugene E, Namara Yogy, Palantir Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4843. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).