IP Library Granted Patent US 12,411,668
Granted Patent B2
US 12,411,668 · App. 18/333,517 · Granted Sep 9, 2025

Code generation tool for cloud-native high-performance computing

Inventor: Philipp Andre Witte (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/40G06F8/30G06F9/48
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 12,411,668
App. No.
18/333,517
Granted
Sep 9, 2025
Kind
B2
Abstract

Methods, storage media, and systems for translating a software expression from a user application programming interface (API) call to an API call of a software development kit (SDK) are disclosed. Some examples may include: receiving a tagged expression indicating that a translation of the software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment, processing an abstract syntax tree associated with the software expression, the processing including replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree and providing the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.

Claims (60)

1. A method comprising:

receiving a tagged expression indicating that a translation of a software expression from a user application programming interface (API) call to a cloud API call is to be performed;

identifying a function with a return statement in the software expression;

replacing the return statement with a serialization step that writes to a file;

obtaining an abstract syntax tree associated with the software expression;

processing the abstract syntax tree, including replacing symbols in the abstract syntax tree with respective variables;

serializing the processed abstract syntax tree; and

automatically creating a resource binding, wherein the resource binding uploads the file to a cloud storage area available to a cloud-native high-performance computing environment via a network.

2. The method of claim 1 , wherein the cloud API call is an API call of a software development kit (SDK) associated with the cloud-native high-performance computing environment.

3. The method of claim 1 , further comprising:

providing the serialized processed abstract syntax tree as a resource file to the cloud-native high-performance computing environment for execution.

4. The method of claim 3 , further comprising:

serializing an output associated with the return statement to a filename; and

adding the filename as an output resource in the resource file.

5. The method of claim 1 , further comprising:

creating a batch job to execute at least a portion of the serialized processed abstract syntax tree in the cloud-native high-performance computing environment; and

creating a storage container associated with the batch job.

6. The method of claim 1 , further comprising:

expanding the software expression by collecting and analyzing the symbols in the abstract syntax tree;

splitting the software expression into a plurality of individual tasks such that a single expression is created for each task; and

performing the plurality of individual tasks in parallel.

7. The method of claim 1 , wherein an individual abstract syntax tree is obtained for each tagged expression.

8. One or more computer storage media including instructions that, when executed by a processor, cause the processor to:

receive a tagged expression indicating that a translation of a software expression from a user application programming interface (API) call to a cloud API call is to be performed;

identify a function with a return statement in the software expression;

replace the return statement with a serialization step that writes to a file;

obtaining an abstract syntax tree associated with the software expression;

processing the abstract syntax tree, including replacing symbols in the abstract syntax tree with respective variables;

serializing the processed abstract syntax tree; and

automatically create a resource binding, wherein the resource binding uploads the file to a cloud storage area available to a cloud-native high-performance computing environment via a network.

9. The one or more computer storage media of claim 8 , wherein the cloud API call is an API call of a software development kit (SDK) associated with the cloud-native high-performance computing environment.

10. The one or more computer storage media of claim 8 , further comprising instructions that, when executed by the processor, cause the processor to:

provide the serialized processed abstract syntax tree as a resource file to the cloud-native high-performance computing environment for execution.

11. The one or more computer storage media of claim 8 , further comprising instructions that, when executed by the processor, cause the processor to:

create a batch job to execute at least a portion of the serialized processed abstract syntax tree in the cloud-native high-performance computing environment; and

create a storage container associated with the batch job.

12. The one or more computer storage media of claim 8 , further comprising instructions that, when executed by the processor, cause the processor to:

expand the software expression by collecting and analyzing symbols in the abstract syntax tree;

split the software expression into a plurality of individual tasks such that a single expression is created for each task; and

perform the plurality of individual tasks in parallel.

13. A system comprising:

one or more hardware processors; and

a user application programming interface (API) and a code generator implemented on the one or more hardware processors and configured by machine-readable instructions to:

receive a tagged expression indicating that a translation of a software expression from a user API call to a cloud API call is to be performed;

identify a function with a return statement in the software expression;

replace the return statement with a serialization step that writes to a file;

obtaining an abstract syntax tree associated with the software expression;

processing the abstract syntax tree, including replacing symbols in the abstract syntax tree with respective variables;

serializing the processed abstract syntax tree; and

automatically create a resource binding, wherein the resource binding uploads the file to a cloud storage area available to a cloud-native high-performance computing environment via a network.

14. The system of claim 13 , wherein the user API and the code generator is further configured to:

provide the serialized processed abstract syntax tree as a resource file to the cloud-native high-performance computing environment for execution.

15. The system of claim 13 , wherein the user API and the code generator is further configured to:

create a batch job to execute at least a portion of the serialized processed abstract syntax tree in the cloud-native high-performance computing environment; and

create a storage container associated with the batch job.

16. The system of claim 13 , wherein the user API and code generator is further configured to:

expand the software expression by collecting and analyzing the symbols in the abstract syntax tree;

split the software expression into a plurality of individual tasks such that a single expression is created for each task; and

perform the plurality of individual tasks in parallel.

17. The system of claim 13 , wherein the cloud API call is an API call of a software development kit (SDK) associated with the cloud-native high-performance computing environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2023
From: WITTE, PHILIPP ANDRE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063927/0302 →
Continuity (3)
Continuation 17321137 · May 14, 2021
Provisional Application 63150146 · Feb 17, 2021
Related Publication 20230385039A1 · Nov 30, 2023
References Cited (6)
US 8060857B2 · Biggerstaff · 2011 [cited by examiner]
US 10791134B2 · Gervais · 2020 [cited by examiner]
US 11061652B1 · Biswas · 2021 [cited by examiner]
US 11188390B2 · Brebner · 2021 [cited by examiner]
US 11714614B2 · Witte · 2023 [cited by examiner]
Dapr.io, “Bindings”, 2020, retrieved from “https://docs.dapr.io/developing-applications/building-blocks/bindings/”, 5 pages. (Year: 2020). [cited by examiner]