DETAILED ACTION
This office action is in response to amendment filed on 6/24/2026.
Claims 1 – 19 are amended.
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 § 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) 1 – 3, 5 – 9, 11 – 17, 19 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bebee et al (USPAT 10409560, hereinafter Bebee), in view of Aspro et al (US 20210279115, hereinafter Aspro).
As per claim 1, Bebee discloses: One or more processors: circuitry to,
in response to an application programming interface (API) call; select an implementation of one or more functions of one or more software programs; and 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).”.)
BeBee did not explicitly disclose:
wherein the implementation is selected based on one or more input parameters of the API call indicating one or more characteristics of one or more operations to be performed by the one or more functions;
However, Aspro teaches:
wherein the implementation is selected based on one or more input parameters of the API call indicating one or more characteristics of one or more operations to be performed by the one or more functions; (Aspro [0004])
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 Aspro into that of Bebee in order to have the implementation is selected based on one or more input parameters of the API call indicating one or more characteristics of one or more operations to be performed by the one or more functions. Bebee col 3, lines 39 – 46 teaches programmer may submit a source code for a graph analysis program via a API call. Aspro [0004] simply further expands upon that framework provided by Bebee by teaching that the claimed limitations are merely commonly known steps for generating a custom solution for a request, and applicants have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103.
As per claim 2, the combination of Bebee and Aspro further teach:
The one or more processors of claim 1, wherein the API call 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, the combination of Bebee and Aspro further teach:
The one or more processors of claim 1, wherein the circuitry 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, the combination of Bebee and Aspro further teach:
The one or more processors of claim 1, wherein the circuitry 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, the combination of Bebee and Aspro further teach:
The one or more processors 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, the combination of Bebee and Aspro further teach:
The one or more processors 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(s) 4, 11 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bebee and Aspro, and further in view of Gavvala et al (US 20210042149, hereinafter Gavvala).
As per claim 4, the combination of Bebee and Aspro further teach:
The one or more processors of claim 1, wherein the circuitry is to access one or more libraries, generate one or more runtime programs. (Bebee col 15, lines 19 – 40.)
The combination of Bebee and Aspro did not teach:
and wherein the API instantiate one or more drivers;
However, Gavvaia teaches:
and wherein the API instantiates one or more drivers; (Gavvaia [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 Gavvaia into that of Bebee and Aspro 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. Gavvaia [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.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1 – 20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES M SWIFT whose telephone number is (571)270-7756. The examiner can normally be reached 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, April Blair can be reached at 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