DETAILED ACTION
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 .
Claims 1 – 20 are pending for examination.
Examiner’s Note
The prior art rejection below cites particular paragraphs, columns, and/or line numbers in the references for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefore, subject to the conditions and requirements of this title.
Claims 1 - 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As to claim 1, the claim recites
A processor, comprising:
one or more circuits to perform an application programming interface (API) to indicate whether one or more processors are able to be controlled by two or more drivers concurrently.
Step 2A:
Prong 1: the limitations of "one or more circuits to perform an application programming interface (API) to indicate whether one or more processors are able to be controlled by two or more drivers concurrently" recite mental processes since "calculating", "determining", and "identifying" are all functions that can be reasonably performed in the human mind including observations and with or without the use of pen and paper through observation, evaluation, judgement and opinion.
The additional element in A processor merely recites instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea.
Thus, the additional element does not integrate the judicial exception into a practical application.
Step 2B:
The additional element in A processor merely recites instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea.
Accordingly, the additional element does not amount to significantly more than the abstract idea.
As to claim 2. The processor of claim 1, wherein whether the one or more processors are able to be controlled by the two or more drivers concurrently is based, at least in part, a shared hardware context used by the two or more drivers recite mental processes since "calculating", "determining", and "identifying" are all functions that can be reasonably performed in the human mind including observations and with or without the use of pen and paper through observation, evaluation, judgement and opinion.
As to claim 3. The processor of claim 1, wherein whether the one or more processors are able to be controlled by the two or more drivers concurrently is to be performed without the two or more drivers switching contexts recite mental processes since "calculating", "determining", and "identifying" are all functions that can be reasonably performed in the human mind including observations and with or without the use of pen and paper through observation, evaluation, judgement and opinion.
As to claim 4. The processor of claim 1, wherein a first one or more drivers of the two or more drivers is to schedule one or more operations to a context of a second one or more drivers of the two or more drivers recite mental processes since "calculating", "determining", and "identifying" are all functions that can be reasonably performed in the human mind including observations and with or without the use of pen and paper through observation, evaluation, judgement and opinion.
As to claim 5. The processor of claim 1, wherein the API is to receive one or more parameters comprising an identifier of a driver of the two or more driver merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 6. The processor of claim 1, wherein the one or more processors comprises one or more graphics processing units (GPUs) merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 7. The processor of claim 1, wherein the API is to receive one or more parameters comprising an identifier of the one or more processors merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d).
As to claim 8. This is a method claim of claim 1. See rejection for claim 1 above.
As to claims 9 – 14, see rejection for claims 2 - 7 above.
.
As to claim 15. This is a computer system claim of claim 1. See rejection for claim 1 above. Further, additional elements one or more processors and memory merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea.
As to claim 16 - 20, see rejection for claims 2 - 6 above.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1 – 3, 6, 8 – 10, 13, 15 – 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al., (US PUB 2012/0154375 hereinafter Zhang) in view of Troccoli et al., (US PUB 2011/0067038 hereinafter Troccoli).
As to claim 1, Zhang teaches a processor, comprising:
one or more circuits to perform an application programming interface (API) to indicate whether one or more processors are able to be controlled by one [two] or more drivers [concurrently] (“…herein the cap driver is configured to send information indicating that the cap driver is capable of controlling the graphics processing unit to a graphics application program interface…” para. 0006).
Zhang does not but Troccoli teaches two drivers corporate with each other to concurrently control a GPU (“…In response, the DDI on the unattached adapter 135 will call local functions in the shim layer 125 that route the call through the thunk layer 140 to the operating system kernel mode driver 150 to schedule the rendering command. The operating system kernel mode driver 150 calls the device specific kernel mode driver (e.g., dkmd.sys) 165 for the GPU on the unattached adapter 215 to set the command registers. The GPU on the unattached adapter 215 (e.g., discrete GPU) is also referred to hereinafter as the second GPU…” para. 0029).
It 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 was made to modify Zhang by applying the teachings of Troccoli because Troccoli would provide option an operating system driver to corporate with device specific driver to concurrently control a GPU when receiving API request (para. 0028 - 0029). Zhang can apply this technique for the system can control multiple graphic processing units.
As to claim 2, Zhang modified by Troccoli teaches The processor of claim 1, wherein whether the one or more processors are able to be controlled by the two or more drivers concurrently is based, at least in part on, a shared hardware context used by the two or more drivers (“…Since both drivers conform to the graphics driver model used by computer system 406 to generate 3D graphical user interfaces, 3D graphics API 604, which is used to expose advanced 3D hardware capabilities of graphics drivers to applications…” para. 0047).
As to claim 3, Zhang modified by Troccoli teaches The processor of claim 1, wherein whether the one or more processors are able to be controlled by the two or more drivers concurrently is to be performed without the two or more drivers switching contexts . In this example, user mode 3D graphics driver 516, which is a user mode component that works in conjunction with 3D graphics driver 512 to generate 3D graphical user interfaces, can also be loaded. For example, user mode 3D graphics driver 516 can generate API constructs, e.g., primitives and commands, and store them in vertex buffers and 3D graphics driver 512 can append the vertex buffers to a queue of graphics kernel 610.” para. 0047).
As to claim 6, Zhang modified by Troccoli teaches The processor of claim 1, Zhang teaches wherein the one or more processors comprises one or more graphics processing units (GPUs) (“…that cap driver 514 runs GPU 510…” figure 5 and para. 0047).
As to claim 8, this is a method claim of claim 1. See rejection for claim 1 above.
As to claims 9 – 10, and 13, these claims recite similar scope to claims 2 - 3 and 6. See rejection for claims 2 - 3 and 6 above.
As to claim 15, this is a system claim of claim 1. See rejection for claim 1 above.
Further, Zhang teaches memory storing executable instructions (“…After computer system 406 is powered, a processor such as processor 102 can run instructions indicative of boot firmware 504 from boot ROM 108. Boot ROM 108…” para. 0044).
As to claims 16 – 17 and 20, these claims recite similar scope to claims 2 - 3 and 6. See rejection for claims 2 - 3 and 6 above.
Claims 4, 11 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al., (US PUB 2012/0154375 hereinafter Zhang) in view Troccoli, as applied to claims 1, 8 and 15, and further in view of Diard, (US PUB 2016/0132346).
As to claim 4, Zhang modified by Troccoli teaches The processor of claim 1, Zhang and Troccoli do not but Diard teaches wherein a first one or more drivers of the two or more drivers is to schedule one or more operations to a context of a second one or more drivers of the two or more drivers (“The D3D HGCM service module 335 determines a rendering context for the function call received from the guest shim layer 320. In one implementation, the D3D HGCM service module 335 utilizes the token ID as a handle to a data structure that defines the rendering context of the corresponding guest. The D3D HGCM service module 335 in turn forwards the function calls through the thunk layer 340, to the operating system kernel mode driver 345. The operating system kernel mode driver 345 in response schedules the command buffers at the function pointers included with the function calls with the device specific kernel mode driver 350 for execution of the functional calls by a given GPU 35…” para. 0027 and (“…At 442, the D3D HGCM service module sends each function call of a given rendering context to the corresponding instance of the thunk layer. At 444, the given thunk layer sends the function call to the OS kernel mode driver. At 446, the OS kernel mode driver sends the function call to the device specific kernel mode driver. At 448, the OS kernel mode driver schedules the function call by setting command register of the GPU to execute the function call. The processes of 440-448 are performed by the corresponding instances of the thunk layer, OS kernel mode driver and device specific mode driver for the associated rendering context.” para. 0037).
It 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 was made to modify Zhang and Troccoli by applying the teachings of Diard because Diard would schedule with pointer/context to include specific information of the function call (para. 0029).
As to claims 11 and 18, these claims recite similar scope to claim 4. See rejection for claim 4 above.
Claims 5, 7, 12, 14 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang et al., (US PUB 2012/0154375 hereinafter Zhang) in view Troccoli, as applied to claims 1, 8 and 15, and further in view of Liu et al., (US PUB 2022/0012845 hereinafter Liu).
As to claim 5, Zhang modified by Troccoli teaches The processor of claim 1, Zhang and Troccoli do not but Liu teaches wherein the API is to receive one or more parameters comprising an identifier of a driver of the two or more driver (“…In this embodiment, after obtaining the first API call request and the image rendering parameter, the user mode graphics driver generates, based on the first API and the image rendering parameter, an instruction that can be identified by the graphics processing unit, packages the instruction, and delivers the instruction to the kernel mode graphics driver.” Para. 0076).
It 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 was made to modify Zhang and Troccoli by applying the teachings of Liu because Liu would teach the same field of the invention of making API call for image processing and parameter is syntax for making an API call (title, abstract and para. 0075 - 0076).
As to claim 7, Zhang modified Troccoli teaches The processor of claim 1, Zhang does not but Liu teaches wherein the API is to receive one or more parameters comprising an identifier of the one or more processors (“…generate, based on the graphics rendering parameter and the second API instruction, a command that can be identified by the GPU.” Para. 0007).
It 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 was made to modify Zhang and Troccoli by applying the teachings of Liu because Liu would teach the same field of the invention of making API call for image processing and parameter is syntax for making an API call (title, abstract and para. 0075 - 0076).
As to claims 12 and 14, these claims recite similar scope to claims 5 and 7. See rejection for claims 5 and 7 above.
As to claim 19, this claim recites similar scope to claim 5. See rejection for claims 5 above.
Conclusion
The prior art made of record but not relied upon request is considered to be pertinent to applicant’s disclosure.
Ramesh et al., US PUB 2022/0342710 hereinafter Ramesh), discloses a method for executing one or more application programming interface (API) functions to indicate information about storage locations (title, abstract and figures 1 – 39).
Panneer, (US PUB 2014/0281615), discloses a method for graphic drive module/graphic driver receiving API request, acting as user mode driver and/or kernel mode driver monitoring GPU processing the graphic request and return completion status (title, abstract and figures 1 – 7).
Sun, (US PUB 2019/0197655), discloses graphics processing unit (GPU) service platform for managing service requests from a client system for GPU processing services (title, abstract and figures 1 – 4).
Diard, (US PUB 2013/0293557), discloses methods for graphic processing with operating system kernel mode driver and user mode driver (title, abstract and figures 1 – 4).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHUONG N HOANG whose telephone number is (571)272-3763. The examiner can normally be reached 9:5-30.
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, KEVIN YOUNG can be reached at 571-270-3180. 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.
/PHUONG N HOANG/Examiner, Art Unit 2194 /KEVIN L YOUNG/Supervisory Patent Examiner, Art Unit 2194