Prosecution Insights
Last updated: April 19, 2026
Application No. 18/531,602

APPLICATION PROGRAMMING INTERFACE TO GENERATE SOFTWARE PROGRAMS

Non-Final OA §102§103
Filed
Dec 06, 2023
Examiner
SWIFT, CHARLES M
Art Unit
2196
Tech Center
2100 — Computer Architecture & Software
Assignee
Nvidia Corporation
OA Round
1 (Non-Final)
81%
Grant Probability
Favorable
1-2
OA Rounds
3y 2m
To Grant
99%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allow Rate
706 granted / 872 resolved
+26.0% vs TC avg
Strong +22% interview lift
Without
With
+22.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
52 currently pending
Career history
924
Total Applications
across all art units

Statute-Specific Performance

§101
10.0%
-30.0% vs TC avg
§103
55.7%
+15.7% vs TC avg
§102
17.0%
-23.0% vs TC avg
§112
6.1%
-33.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 872 resolved cases

Office Action

§102 §103
DETAILED ACTION This office action is in response to application filed on 12/6/2023. Claims 1 – 20 are pending. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale , or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1 – 3, 5 – 9, 11 – 17, 19 and 20 is/are rejected under 35 U.S.C. 102 (a)(1) as being anticipated by Bebee et al (USPAT 10409560, hereinafter Bebee ) . As per claim 1, Bebee discloses: A processor comprising: one or more circuits to perform an application program interface (API) to select an implementation of one or more functions of one or more software programs and to generate a software program to perform the one or more functions. ( Bebee col 3, lines 39 – 46: “a programmer may provide the source code for a graph analysis program… via a programmatic interface to the GPAS. A variety of programmatic interfaces may be used in different embodiments, such as…, a set of application programming interfaces (APIs)…”; col 15, lines 6 – 13: “source code of a graph analysis program and an indication of an input graph data set which is to be analyzed (which may be included in the source code, or supplied as a parameter of the program) may be obtained, for example, via a programmatic interface at one or more computing devices of a graph analytics service, a graph program acceleration system or tool.”; col 15, lines 29 – 35: “The source code may be parsed, and an abstract syntax tree may be generated (element 707), e.g., at a translation layer of the service or system in one embodiment. The nodes of the abstract syntax tree may comprise, for example, linear algebra primitives, user defined functions, variables, assignment operators and the like in one embodiment.”; col 15, lines 43 – 48: “From the abstract syntax tree (either the original tree or an optimized version), in one embodiment a dependency graph of tasks may be generated (element 710). In one embodiment, individual nodes or tasks of the graph may comprise potentially parallelizable operators, such as vector, matrix or matrix-vector operators;”; col 16, lines 19 – 22: “At least one executable representation of the program, comprising compute kernels optimized/tuned for the selected execution platform may be generated in the depicted embodiment (element 719).”.) As per claim 2, Bebee further discloses: The processor of claim 1, wherein the API comprises one or more parameters to perform one or more matrix operations, the parameters used to identify one or more optimal implementations. ( Bebee col 14, line 26 – 67.) As per claim 3, Bebee further discloses: The processor of claim 1, wherein the API is to select the implementation using one or more of a problem size to solve, a data type, a precision, a target architecture, or a transpose mode. ( Bebee col 16, lines 9 – 23: “In one embodiment, a particular execution platform may be selected for the program, e.g., based on available platforms of a pool of servers, or based on parameters supplied by the program submitter or client (element 716). In one embodiment, as mentioned earlier, resources of one or more network-accessible services of a provider network, distributed parallel file systems or shared-nothing file systems may be selected as execution platforms. At least one executable representation of the program, comprising compute kernels optimized/tuned for the selected execution platform may be generated in the depicted embodiment (element 719).”) As per claim 5, Bebee further discloses: The processor of claim 1, wherein the API is to generate a kernel to perform the one or more functions. ( Bebee col 16, lines 19 – 22: “At least one executable representation of the program, comprising compute kernels optimized/tuned for the selected execution platform may be generated in the depicted embodiment (element 719).”.) As per claim 6, Bebee further discloses: The processor of claim 1, wherein the one or more functions are performed using one or more graphic processing units (GPUs). ( Bebee col 6, line 30 – 56.) As per claim 7, Bebee further discloses: The processor of claim 1, wherein the implementation of the one or more functions is a general matrix-to-matrix multiply (GEMM) implementation. ( Bebee col 14, lines 26 – 38.) As per claim 8, it is the method variant of claim 1 and is therefore rejected under the same rationale. As per claim 9, it is the method variant of claim 2 and is therefore rejected under the same rationale. As per claim 10, it is the method variant of claim 3 and is therefore rejected under the same rationale. As per claim 12, it is the method variant of claim 5 and is therefore rejected under the same rationale. As per claim 13, it is the method variant of claim 6 and is therefore rejected under the same rationale. As per claim 14, it is the method variant of claim 7 and is therefore rejected under the same rationale. As per claim 15, it is the system variant of claim 1 and is therefore rejected under the same rationale. ( Bebee figure 9: hardware.) As per claim 16, it is the system variant of claim 2 and is therefore rejected under the same rationale. As per claim 17, it is the system variant of claim 3 and is therefore rejected under the same rationale. As per claim 19, it is the system variant of claim 5 and is therefore rejected under the same rationale. As per claim 20, it is the system variant of claim 7 and is therefore rejected under the same rationale. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim (s) 4, 11 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bebee , in view of Gavvala et al (US 20210042149, hereinafter Gavvala ) . As per claim 4, Bebee further discloses: The processor of claim 1, wherein the API is to access one or more libraries, generates one or more runtime programs. ( Bebee col 15, lines 19 – 40.) Bebee did not explicitly disclose: and wherein the API instantiates one or more drivers; However, Gavva l a teaches: and wherein the API instantiates one or more drivers; ( Gavva l a [0032]: “the BMC may interact with the hosted environment via a management API that accesses a management controller agent of the hosted environment, and the management controller agent can direct the FPGAs to halt the selected AFUS and determine when the AFUs have been halted via FPGA drivers instantiated in the hosted environment.”) It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gavva l a into that of Bebee in order to have the API instantiates one or more drivers. Bebee col 15, lines 19 – 40 teaches the API can use library to create the kernel for execution on multi-nodal platforms such as GPUs or accelerators. Gavva l a [0032] teaches instantiating drivers in hosted environment is a commonly known function of API used in resource allocation, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results API allocating resources to execute tasks and is therefore rejected under 35 USC 103, As per claim 11, it is the method variant of claim 4 and is therefore rejected under the same rationale. As per claim 18, it is the system variant of claim 4 and is therefore rejected under the same rationale. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Herbet et al (US 20210326175) teaches “ A system and method that provides fine grained parallelization to serial pipelines and serial data processing with one or more threading and synchronization models whereby data object or packet processing is orchestrated by a parser identifying the various layers of the input data object and dispatching worker threads to perform the processing of the various layers of the data object, wherein the worker threads may execute in parallel. ”; Junior et al (US 20210064347) teaches “o btaining source code for a function of multiple functions of an application, where the function is hosted in a first cloud environment of multiple distinct cloud environments, generating adapted source code from the source code to migrate the function to a second cloud having a different cloud environment; and deploying the function to the second cloud having the different cloud environment using the adapted source code. The source code may be automatically updated for the at least one function for the multiple distinct cloud environments. The function may have a corresponding network address that identifies the function across multiple distinct cloud environments, and network address redirection is performed based on a given cloud environment on which the function is deployed. The network address redirection can be updated each time the at least one function is migrated to a new cloud environment. ” Junior (US 20200133738) teaches “ maintaining a structural state of an application comprising a plurality of microservices hosted in a plurality of distinct cloud environments. The structural state of the application is maintained over time and comprises, for each microservice, an indication of the cloud environment that hosts the respective microservice. A source code is maintained for each of the plurality of microservices of the application and deployment instructions are maintained for each of the plurality of distinct cloud environments. The plurality of microservices of the application are deployed using the structural state of the application, the source code for each of the plurality of microservices and the deployment instructions for each of the plurality of distinct cloud environments ”. Any inquiry concerning this communication or earlier communications from the examiner should be directed to FILLIN "Examiner name" \* MERGEFORMAT CHARLES M SWIFT whose telephone number is FILLIN "Phone number" \* MERGEFORMAT (571)270-7756 . The examiner can normally be reached FILLIN "Work Schedule?" \* MERGEFORMAT Monday - Friday: 9:30 AM - 7PM . Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, FILLIN "SPE Name?" \* MERGEFORMAT April Blair can be reached at FILLIN "SPE Phone?" \* MERGEFORMAT 5712701014 . The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /CHARLES M SWIFT/ Primary Examiner, Art Unit 2196
Read full office action

Prosecution Timeline

Dec 06, 2023
Application Filed
Mar 17, 2026
Non-Final Rejection — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12585499
SYSTEMS AND METHODS FOR MICROSERVICES BASED FUNCTIONALITIES
2y 5m to grant Granted Mar 24, 2026
Patent 12566635
SYSTEMS AND METHODS FOR DYNAMIC ALLOCATION OF COMPUTE RESOURCES VIA A MACHINE LEARNING-INFORMED FEEDBACK SEQUENCE
2y 5m to grant Granted Mar 03, 2026
Patent 12561183
PARALLEL DATA PROCESSING IN EMBEDDED SYSTEMS
2y 5m to grant Granted Feb 24, 2026
Patent 12554529
DESIGN OPERATION EXECUTION FOR CONNECTION SERVICE INTEGRATION
2y 5m to grant Granted Feb 17, 2026
Patent 12547443
METHOD AND SYSTEM FOR AUTOMATICALLY PROVIDING A PROCESS COMPLETION INFORMATION OF AN APPLICATION PROCESS
2y 5m to grant Granted Feb 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
81%
Grant Probability
99%
With Interview (+22.3%)
3y 2m
Median Time to Grant
Low
PTA Risk
Based on 872 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month