IP Library › Granted Patent US 10,725,745
Granted Patent B2
US 10,725,745 · App. 15/988,979 · Granted Jul 28, 2020

Systems and methods for polyglot analysis

Inventors: Yitao Yao (Saratoga, CA); James Tang (Cupertino, CA); Vivek Crasta (Sunnyvale, CA); Pei Wang (Saratoga, CA)
Assignee: Walmart Apollo, LLC
G06F8/315G06F9/547
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 10,725,745
App. No.
15/988,979
Filed
May 24, 2018
Granted
Jul 28, 2020
Kind
B2
Art Unit
2192
USPC
717/111
Abstract

Systems, methods, and devices for polyglot computing may include, in a single execution, adapting at least one first instruction in a first language and at least one second instruction in the first language into a code comprising the at least one first instruction in the first language and the at least one second instruction in a second language; producing a first result in the first language based on executing the code using a dataset in a data store, wherein the producing the first result in the first language is performed in the single execution; producing a second result in the second language based on executing the code using the dataset; and adapting the second result in the second language into the second result in the first language.

Claims (45)

1. A system, comprising:

at least one processor operatively coupled with a data store, the at least one processor configured to:

adapt at least one first instruction expressed in a first language and at least one second instruction expressed in the first language into a code, wherein the code comprises:

the at least one first instruction expressed in the first language, and

the at least one second instruction expressed in a second language, wherein the at least one processor is configured to adapt the at least one first instruction and the at least one second instruction in a single execution;

produce a first result expressed in the first language based on executing the at least one first instruction from the code to process using a dataset in the data store, wherein the at least one processor is configured to produce the first result expressed in the first language in the single execution;

produce a second result expressed in the second language based on executing the at least one second instruction from the code to process the dataset, wherein the at least one processor is configured to produce the second result expressed in the second language in the single execution; and

adapt the second result from being expressed in the second language into being expressed in the first language, wherein the at least one processor is configured to adapt the second result in the single execution.

2. The system of claim 1 , wherein the at least one processor is configured to adapt the at least one first instruction, the at least one second instruction, and the second result using a script.

3. The system of claim 1 , wherein the at least one first instruction comprises a threshold and the first result is an alert in response to a value of the dataset exceeding the threshold.

4. The system of claim 1 , wherein the at least one processor is configured to:

wrap execution information for the single execution as expressed in the first language into being expressed in the second language; and

unwrap the execution information for the single execution as expressed in the second language into being expressed in the first language.

5. The system of claim 1 , wherein the first language is Java and the second language is R.

6. The system of claim 1 , wherein the at least one processor is configured to:

adapt the at least one second instruction expressed in the second language into the code comprising at least one third instruction expressed in a third language, wherein the at least one processor is configured to adapt the at least one second instruction expressed in the second language in the single execution;

produce the second result expressed in the third language based on executing the at least one third instruction from the code to process the dataset, wherein the at least one processor is configured to produce the second result expressed in the third language in the single execution; and

adapt the second result from being expressed in the third language into being expressed in the second language, where the at least one processor is configured to adapt the second result from being expressed in the third language in the single execution.

7. The system of claim 1 , wherein the at least one second instruction comprises a remote call in the second language.

8. The system of claim 1 , wherein the at least one second instruction is a library native to the second language.

9. A method performed by at least one processor, comprising:

adapting at least one first instruction expressed in a first language and at least one second instruction expressed in the first language into a code comprising the at least one first instruction expressed in the first language and the at least one second instruction expressed in a second language, wherein the adapting the at least one first instruction and the at least one second instruction is performed in a single execution;

producing a first result expressed in the first language based on executing the at least one first instruction from the code to process a dataset in a data store, wherein the producing the first result expressed in the first language is performed in the single execution;

producing a second result expressed in the second language based on executing the at least one second instruction from the code to process the dataset, wherein the producing the second result expressed in the second language is performed in the single execution; and

adapting the second result from being expressed in the second language into being expressed in the first language, where adapting the second result is performed in the single execution.

10. The method of claim 9 , further comprising:

wrapping execution information for the single execution as expressed in the first language into being expressed in the second language; and

unwrapping the execution information for the single execution as expressed in the second language into being expressed in the first language.

11. The method of claim 9 , further comprising:

adapting the at least one second instruction in the second language into the code comprising at least one third instruction expressed in a third language, wherein the adapting the at least one second instruction expressed in the second language is performed in the single execution;

producing the second result expressed in the third language based on executing the at least one second instruction from the code to process the dataset, wherein the producing the second result expressed in the third language is performed in the single execution;

adapting the second result from being expressed in the third language into being expressed in the second language, where the adapting the second result from being expressed in the third language is performed in the single execution.

12. The method of claim 9 , wherein the first language is Java and the second language is R.

13. The method of claim 9 , wherein the at least one first instruction comprises a threshold and the first result is an alert in response to a value of the dataset exceeding the threshold.

14. The method of claim 9 , wherein the at least one second instruction comprises a remote call in the second language.

15. The method of claim 9 , wherein the at least one second instruction is a library native to the second language.

16. A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause a hardware device to perform operations comprising:

adapting at least one first instruction expressed in a first language and at least one second instruction expressed in the first language into a code comprising the at least one first instruction expressed in the first language and the at least one second instruction expressed in a second language, wherein the adapting the at least one first instruction and the at least one second instruction is performed in a single execution;

producing a first result expressed in the first language based on executing the code using a dataset in a data store, wherein the producing the first result expressed in the first language is performed in the single execution;

producing a second result expressed in the second language based on executing the code using the dataset, wherein the producing the second result expressed in the second language is performed in the single execution; and

adapting the second result from being expressed in the second language into being expressed in the first language, where adapting the second result is performed in the single execution.

17. The non-transitory computer readable medium of claim 16 , wherein the first language is Java and the second language is R.

18. The non-transitory computer readable medium of claim 16 , wherein the at least one first instruction comprises a threshold and the first result is an alert in response to a value of the dataset exceeding the threshold.

19. The non-transitory computer readable medium of claim 16 , wherein the at least one second instruction comprises a remote call in the second language.

20. The non-transitory computer readable medium of claim 16 , wherein the at least one second instruction is a library native to the second language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2018
From: YAO, YITAO; TANG, JAMES; CRASTA, VIVEK; WANG, PEI
To: WAL-MART STORES, INC.
Reel/Frame 045898/0860 →
Continuity (1)
Related Publication 20190361681A1 · Nov 28, 2019