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 .
DETAILED ACTION
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 2/13/26 has been entered.
Response to Arguments
Applicant’s arguments with respect to independent claim(s) 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.
Applicant states: Claims 1-27 and 29 were rejected under 35 U.S.C. § 101 for purportedly being directed to an abstract idea without significantly more. More specifically, the Office Action takes the position that the pending claims are directed to an abstract idea. Applicant has amended the claims and respectfully submits that the amended claims fully comply with 35 U.S.C. § 101. For example, the claims are directed to a particular approach for selecting a combination of program version and processor resources for execution using a GPU. See, e.g., paragraphs [0002]-[0007] and [0023] of the application with the claims.
Examiner states: Examiner respectfully disagrees. The added limitations do not appear to add significantly more to the abstract ideas of determining and selecting for the usage of a GPU. For these reasons, Examiner maintains the previous 101 rejection.
Applicant states: Thus, amended independent claim 1 and each claim depending therefrom rejected under this section is patentably distinguishable over the cited reference. Further, for at least some similar reasons as amended independent claim 1, amended independent claims 15 and 29, and each claim depending therefrom rejected under this section, are also patentably distinguishable over the cited reference. Thus, withdrawal of the rejection is respectfully requested.
Examiner states: Examiner respectfully disagrees. A new mapping and interpretation are provided below in view of the claim amendments.
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 therefor, subject to the conditions and requirements of this title.
Claims 1-27, 29 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Regarding independent claims the limitations of determining resources, selecting resources, evaluating amounts, comparing resources to available resources as drafted, recites functions that, under its broadest reasonable interpretation, covers a function that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations as cited above as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process.
Thus, these limitation falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The claim recites the following additional limitations: processing circuity, GPU, computation/processor resources, computer medium. The additional elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and steps of receiving and executing do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of processing circuity, GPU, computation/processor resources, computer medium, amount to no more than mere instructions, or generic computer/computer components to carry out the exception. Furthermore, the limitations directed to receiving and executing, the courts have identified mere data gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d).
The recitation of generic computer instruction and computer components to apply the judicial exception, and mere data gathering do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Regarding claim 2, 8 the limitations of determining and selecting are functions that can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claims 3-5, 7, 19 the limitation what comprises what properties and output rate represent, processing the payloads and associated resources, details of the sets of computer resources, are considered mere instructions, or generic computer/computer components to carry out the exception. Accordingly, the additional element recited in claim 5 fails to provide a practical application under prong 2, or amount to significantly more under step 2B.
Regarding claims 6, 20 the limitations of determining resources can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claim 9 the limitations of selecting based upon observation of GPU can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claim 10, 11, 24, 25 the limitation of executable instructions is considered mere instructions, or generic computer/computer components to carry out the exception. Accordingly, the additional element recited in the claims fails to provide a practical application under prong 2, or amount to significantly more under step 2B.
Regarding claim 12 the limitations of selecting can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more. The limitations regarding storing and receiving is well-understood, routine and conventional activity. See MPEP 2106.05(d).
Regarding claim 13, 27 the limitation of vGPU is considered mere instructions, or generic computer/computer components to carry out the exception
Regarding claim 14 the limitations of assigning a category can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claim 16, 17 the limitations of selecting and using data can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claim 18 the limitation what data comprises are considered mere instructions, or generic computer/computer components to carry out the exception. Accordingly, the additional element recited in the claims fails to provide a practical application under prong 2, or amount to significantly more under step 2B.
Regarding claim 21, 22, 23 the limitations of selecting can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding claim 25 the limitation of versions of the program performing a function is considered mere instructions, or generic computer/computer components to carry out the exception
Regarding claim 26 the limitation of neural networks performing a function is considered mere instructions, or generic computer/computer components to carry out the exception
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, 6-8, 11, 12, 14, 18, 20, 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan (Pub. No. US 2021/0240499) in further view of Nagai (Pub. No. US 2015/0116340).
Claim 1, Gopalakrishnan teaches “a method comprising: receiving, using processing circuitry, data indicating one or more properties of a data payload to be processed using the program, a selected target output rate for the program to achieve from generating output data from the data payload ([0031] Content player 120 may be configured to receive the encoded data via distribution infrastructure 110 and to decode the data for playback to a user. The data provided by distribution infrastructure 110 may include audio, video, text, images, animations, interactive content, haptic data, virtual or augmented reality data, location data, gaming data, or any other type of data that may be provided via streaming. [0068] In one embodiment, the function of application 510 may include the rendering of user-interface or graphical elements. In this embodiment, simplifying rendering of a user-interface element may include decreasing a size of the user-interface element, reducing an amount of detail presented in the user-interface element, and/or deferring rendering of the user-interface element. For example, animated elements (i.e. example properties) may be reduced to static images or animated with lower frame rates (i.e. target output rate). In some embodiments, graphical elements or details may be partially loaded and displayed, rather than the full details as a standard. Additionally, a user interface of application 510 may also be simplified by eliminating graphical elements that are less important to user experience.), and available processor resources of a graphics processing unit (GPU) ([0079] Thus, the systems and methods described herein may dynamically improve the functionality of an application to maximize the capabilities of the application based on available resources. [0054] The systems described herein may perform step 410 in a variety of ways. In one example, resource 516 may include a memory, a processing capacity, and/or a network connection. For example, resource 516 may include memory 124 and/or storage 210, processor 122 and/or services 220, network connection 324 and/or network 230, and/or other elements of FIGS. 1-3. Additionally, resource 516 may include Random Access Memory (RAM), Read Only Memory (ROM), disk drives, Central Processing Units (CPUs), Graphics Processing Units (GPUs), Video Processing Units (VPUs), layered memory caches, network caching, network request prioritization, and/or any other suitable resources or functions of a computing device. [Fig. 6] 516 1-3 output rates based on available resources; Examiner notes as evidence by Nagai, it would be obvious to one ordinarily skilled in the art the available resources of Gopalakrishnan are of GPU resources [Claim 8] 8. The system of claim 7, wherein the performance profile of the GPU comprises a number of GPU processing cores available in the GPU, a clock frequency of the GPU and a bandwidth available to support memory transfers from the GPU to the memory of the host computing system.); determining, using the one or more properties of the data payload and the selected target output rate and for each version of versions of the program, sets of processor resources ([Fig. 6] 512 memory and network as processor resources) and output rates produced by the version consuming the sets of processor resources while satisfying the selected target output rate for the data payload-using respective versions of the program, the output rates for the version varying as a function of the one or more properties and the sets of processor resources ([0063] In additional examples, prioritizing the function of application 510 may include optimizing a search speed, simplifying rendering of a user-interface element, decreasing a quality of a streaming element, decreasing a processing footprint on electronic device 500, decreasing a memory footprint on electronic device 500, decreasing a network usage, and/or delaying a non-essential component of the application.); selecting a combination of a set of processor resources from the sets of processor resources and a given version from the versions of the program based at least on evaluating amounts by which the determined output rates for different combinations of the versions and the processor resources exceed the selected target output rate ([0008] In some embodiments, the above method may further include determining that the available amount of the resource of the electronic device meets the minimum requirement of the application and instantiating a standard user-interface mode of the application based on the determination. In these embodiments, the standard user-interface mode may include a mode capable of maximizing a function of the application by increasing a usage of the resource and/or resuming the usage of the resource. Additionally, instantiating the standard user-interface mode of the application may include initiating the application in the standard user-interface mode and/or transitioning to the standard user-interface mode based on determining that an increase in the available amount of the resource meets the minimum requirement of the application. [0061] In contrast, minimum requirement 512(2) of alternative user-interface mode 514(2) exceeds available network bandwidth (e.g., 192 Kbits/s) while minimum requirement 512(3) of alternative user-interface mode 514(3) exceeds available memory capacity (e.g., 97 MB).) and a comparison between the set of processor resources to the available processor resources indicating the combination is capable of satisfying the selected target output rate without exceeding the available processor resources; and based at least on the selecting, initiating execution of the program using the selected combination of the set of processor resources and the given version ([0061] FIG. 6 illustrates resources 516(1)-(3) with current available amounts 518(1)-(3), respectively. As shown in this example, application 510 may include multiple alternative user-interface modes 514(1)-(3) with different minimum requirements 512(1)-(3), respectively, for memory and network resources corresponding to resource 516(1) and resource 516(3). In this example, based on available amount 518(1) of resource 516(1) (e.g., 42 MB) and available amount 518(3) of resource 516(3) (e.g., 128 Kbits/s), selection module 506 may select alternative user-interface mode 514(1) with minimum requirement 512(1) for memory and network resources that do not exceed the available amounts (e.g., 36 MB and 128 Kbits/s) (i.e. score). In contrast, minimum requirement 512(2) of alternative user-interface mode 514(2) exceeds available network bandwidth (e.g., 192 Kbits/s) while minimum requirement 512(3) of alternative user-interface mode 514(3) exceeds available memory capacity (e.g., 97 MB). Thus, alternative user-interface mode 514(1) maximizes the potential functionality of application 510 to satisfy the current resource constraints.)”.
Claim 6, the combination teaches the claim, wherein Gopalakrishnan teaches “the method of claim 1, wherein determining is further based at least on one or more properties of the output data to be generated using the program ([0064] For example, in the example of video streaming, alternative user-interface mode 514 may reduce the size of a standard video player to reduce resolution of the video. The reduced resolution may, in turn, reduce the required bandwidth for streaming a video, thereby reducing the required network resources for application 510. In this example, although the quality of the video may decrease, user 520 may still be able to stream and watch the video. Alternatively, user 520 may prefer to defer playing the video until bandwidth increases such that the video may be played at full resolution.)”.
Claim 7, the combination teaches the claim, wherein Gopalakrishnan teaches “the method of claim 1, wherein the sets of processor resources comprise peak processor resources consumed by the version to achieve the corresponding output rates for the corresponding one or more properties of the data payload ([0064] For example, in the example of video streaming, alternative user-interface mode 514 may reduce the size of a standard video player to reduce resolution of the video. The reduced resolution may, in turn, reduce the required bandwidth for streaming a video, thereby reducing the required network resources for application 510. In this example, although the quality of the video may decrease, user 520 may still be able to stream and watch the video. Alternatively, user 520 may prefer to defer playing the video until bandwidth increases such that the video may be played at full resolution.)”.
Claim 8, the combination teaches the claim, wherein Gopalakrishnan teaches “the method of claim 1, wherein the selecting is based at least on the combination having a highest output rate of the determined output rates ([0061] FIG. 6 illustrates resources 516(1)-(3) with current available amounts 518(1)-(3), respectively. As shown in this example, application 510 may include multiple alternative user-interface modes 514(1)-(3) with different minimum requirements 512(1)-(3), respectively, for memory and network resources corresponding to resource 516(1) and resource 516(3). In this example, based on available amount 518(1) of resource 516(1) (e.g., 42 MB) and available amount 518(3) of resource 516(3) (e.g., 128 Kbits/s), selection module 506 may select alternative user-interface mode 514(1) with minimum requirement 512(1) for memory and network resources that do not exceed the available amounts (e.g., 36 MB and 128 Kbits/s).)”.
Claim 11, the combination teaches the claim, wherein Gopalakrishnan teaches “the method of claim 1, wherein the selected target output rate represents a minimum output rate to support real time viewing of the output data to be generated using the program ([0068] In one embodiment, the function of application 510 may include the rendering of user-interface or graphical elements. In this embodiment, simplifying rendering of a user-interface element may include decreasing a size of the user-interface element, reducing an amount of detail presented in the user-interface element, and/or deferring rendering of the user-interface element. For example, animated elements may be reduced to static images or animated with lower frame rates. In some embodiments, graphical elements or details may be partially loaded and displayed, rather than the full details as a standard. Additionally, a user interface of application 510 may also be simplified by eliminating graphical elements that are less important to user experience.)”.
Claim 12, the combination teaches the claim, wherein Gopalakrishnan teaches, “the method of claim 1, wherein the selecting is based at least on iteratively reducing an initial target output rate for the program to a reduced target output rate until at least one of the combinations satisfies the reduced target output rate ([0061] FIG. 6 illustrates resources 516(1)-(3) with current available amounts 518(1)-(3), respectively. As shown in this example, application 510 may include multiple alternative user-interface modes 514(1)-(3) with different minimum requirements 512(1)-(3), respectively, for memory and network resources corresponding to resource 516(1) and resource 516(3). In this example, based on available amount 518(1) of resource 516(1) (e.g., 42 MB) and available amount 518(3) of resource 516(3) (e.g., 128 Kbits/s), selection module 506 may select alternative user-interface mode 514(1) with minimum requirement 512(1) for memory and network resources that do not exceed the available amounts (e.g., 36 MB and 128 Kbits/s) (i.e. score). In contrast, minimum requirement 512(2) of alternative user-interface mode 514(2) exceeds available network bandwidth (e.g., 192 Kbits/s) while minimum requirement 512(3) of alternative user-interface mode 514(3) exceeds available memory capacity (e.g., 97 MB). Thus, alternative user-interface mode 514(1) maximizes the potential functionality of application 510 to satisfy the current resource constraints.).
Claim 14, the combination teaches the claim, wherein Gopalakrishnan teaches “The method of claim 1, further comprising assigning, using the available processor resources, the program a category of being compute bound or memory bound, and based at least on the category, selecting a subset of the versions of the program that correspond to the category, wherein the version of the program is selected for the executing from the subset ([0063] In additional examples, prioritizing the function of application 510 may include optimizing a search speed, simplifying rendering of a user-interface element, decreasing a quality of a streaming element, decreasing a processing footprint on electronic device 500, decreasing a memory footprint on electronic device 500, decreasing a network usage, and/or delaying a non-essential component of the application. In other words, prioritizing the function of application 510 may include running a “lite” version of application 510 that prioritizes resource 516 to first fulfill core functions of application 510 before fulfilling optional functions.)”.
Claim 18, the combination teaches the claim, wherein Gopalakrishnan teaches “the non-transitory computer readable medium of claim 16, wherein the data comprises values of the one or more properties and the selected target output rate ([Fig. 6] 514 (1) selected version comprising properties and target rate)”.
Claim 20, the combination teaches the claim, wherein Gopalakrishnan teaches the non-trainsitory computer readable medium of claim 15, wherein the processor resources include a memory resource of the GPU and a processor operations resource of the GPU ([0061] FIG. 6 illustrates resources 516(1)-(3) with current available amounts 518(1)-(3), respectively. As shown in this example, application 510 may include multiple alternative user-interface modes 514(1)-(3) with different minimum requirements 512(1)-(3), respectively, for memory and network resources corresponding to resource 516(1) and resource 516(3). In this example, based on available amount 518(1) of resource 516(1) (e.g., 42 MB) and available amount 518(3) of resource 516(3) (e.g., 128 Kbits/s), selection module 506 may select alternative user-interface mode 514(1) with minimum requirement 512(1) for memory and network resources that do not exceed the available amounts (e.g., 36 MB and 128 Kbits/s) (i.e. score). In contrast, minimum requirement 512(2) of alternative user-interface mode 514(2) exceeds available network bandwidth (e.g., 192 Kbits/s) while minimum requirement 512(3) of alternative user-interface mode 514(3) exceeds available memory capacity (e.g., 97 MB). Thus, alternative user-interface mode 514(1) maximizes the potential functionality of application 510 to satisfy the current resource constraints.)”.
Claim 22, the combination teaches the claim, wherein Gopalakrishnan teaches, “the non-transitory computer readable medium of claim 15, wherein the sets of processor resources comprise a processor operations resource of the GPU, and wherein the selecting comprises: using the data, selecting one of the versions of the program that, when executed by the GPU, does not exceed the processor operations resource of the GPU ([0061] FIG. 6 illustrates resources 516(1)-(3) with current available amounts 518(1)-(3), respectively. As shown in this example, application 510 may include multiple alternative user-interface modes 514(1)-(3) with different minimum requirements 512(1)-(3), respectively, for memory and network resources corresponding to resource 516(1) and resource 516(3). In this example, based on available amount 518(1) of resource 516(1) (e.g., 42 MB) and available amount 518(3) of resource 516(3) (e.g., 128 Kbits/s), selection module 506 may select alternative user-interface mode 514(1) with minimum requirement 512(1) for memory and network resources that do not exceed the available amounts (e.g., 36 MB and 128 Kbits/s) (i.e. score). In contrast, minimum requirement 512(2) of alternative user-interface mode 514(2) exceeds available network bandwidth (e.g., 192 Kbits/s) while minimum requirement 512(3) of alternative user-interface mode 514(3) exceeds available memory capacity (e.g., 97 MB). Thus, alternative user-interface mode 514(1) maximizes the potential functionality of application 510 to satisfy the current resource constraints)”.
Claim/s 2, 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Saulters (Pub. No. US 2014/0125680).
Claim 2, Gopalakrishnan teaches “the method of claim 1, wherein the determining is from one or more tables that stores the sets of processor resources indexed by the versions of the program and the one or more output rates ([Fig. 6] a listing of resources, output rates of each respective program.)”.
However, Gopalakrishnan may not explicitly teach the remaining limitations.
Saulters teaches “the one or more properties of the data payload ([0063] In general, the rendering frames consume relatively much power, whereas the interpolating and displaying frames consume relatively less power. Hence, upon limitation, the preset value of the frame rendering rate is usually not larger than the preset value of the frame displaying rate. Furthermore, as mentioned earlier, the present invention involves pre-storing a plurality of configurations according to the system operation mode, such that a user selects one of the configurations, or, alternatively, one of the configurations is selected automatically, as shown in Table 1 below:TABLE-US-00001 TABLE 1 maximum frame frame rendering rate displaying rate low power 10 Hz 30 Hz consumption mode normal mode 30 Hz 60 Hz high-performance 60 Hz 120 Hz mode dynamic mode 10 Hz~60 Hz 60 Hz)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Saulters with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches additional details regarding resource selection. The motivation for applying Saulters teaching with Gopalakrishnan, Nagai teaching is to provide a system that teaches as evidence of different profile data for the purposes of design choice. Gopalakrishnan, Nagai, Saulters are analogous art directed towards resource management. Together Gopalakrishnan, Nagai, Saulters teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Saulters with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claim 3, the combination may not explicitly teach the remaining limitations.
Saulters teaches “the method of claim 1, wherein the one or more properties represent a size of the data payload to be input to the program and the selected target output rate represents a maximum time to complete processing of the data payload by the program ([0063] In general, the rendering frames consume relatively much power, whereas the interpolating and displaying frames consume relatively less power. Hence, upon limitation, the preset value of the frame rendering rate is usually not larger than the preset value of the frame displaying rate. Furthermore, as mentioned earlier, the present invention involves pre-storing a plurality of configurations according to the system operation mode, such that a user selects one of the configurations, or, alternatively, one of the configurations is selected automatically, as shown in Table 1 below:TABLE-US-00001 TABLE 1 maximum frame frame rendering rate displaying rate low power 10 Hz 30 Hz consumption mode normal mode 30 Hz 60 Hz high-performance 60 Hz 120 Hz mode dynamic mode 10 Hz~60 Hz 60 Hz)”.
Rationale to claim 2 is applied here.
Claim/s 4 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Misfeldt (Pub. No. US 2016/0140013).
Claim 4, the combination may not explicitly teach the claim.
Misfeldt teaches “the method of claim 1, wherein for at least one version of the versions, the output rates are, prior to the receiving, computed using the at least one version consuming the sets of processor resources and processing one or more data payloads that have the one or more properties and stored as pre-computed data associated with the sets of processor resources and the one or more properties, and the determining includes accessing the pre-computed data ([0030] Referring now to FIG. 1 there is shown a flowchart illustrating a machine-implemented method for the adaptive, intelligent routing of computations in a heterogeneous computing environment as according to one embodiment of the present invention. The method begins (100) with a calibration phase (101) during which the performance of a particular GPU computing environment is profiled (102). The performance of the computing environment is profiled (102) by executing identical computations on each GPU (103) and CPU (104) for a range of computation types and inputs. The data collected from profiling can include the time required to execute the computations on the GPU (103) and CPU (104). The data gathered when profiling the computing environment (102) is used to build a model of the computing environment (105). The model enables the method to make intelligent decisions about how to route computations within the environment for maximum performance.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Misfeldt with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches pre generation of profiles. The motivation for applying Misfeldt teaching with Gopalakrishnan, Nagai teaching is to provide a system that teaches as evidence profiles are generated prior to job scheduling. Gopalakrishnan, Nagai, Misfeldt are analogous art directed towards resource management. Together Gopalakrishnan, Nagai, Misfeldt teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Misfeldt with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claims 5, 9, 19, 21, 23 are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Liu.
Claim 5, 19 the combination may not explicitly teach the claim.
Liu teaches “the method of claim 1, wherein the resources and the available resources each comprise one or more of: amounts of GPU memory consumed by execution of the respective versions of the program ([0073] Still referring to the example in FIG. 2, the first group of candidate tasks includes computing tasks 215 and 216. In the case where resource demand 220 indicates that the demands of computing tasks 215 and 216 for memory resources and thread resources are both less than a corresponding threshold, computing tasks 215 and 216 will be determined as the second group of candidate tasks.), floating point operations per second performed in execution of the respective versions of the program, or total compute operations performed in execution of the respective versions of the program”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Liu with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches additional details regarding resource selection. The motivation for applying Liu teaching with Gopalakrishnan, Nagai teaching is to provide a system that teaches as evidence memory consumption for scheduling decisions. Gopalakrishnan, Nagai, Liu are analogous art directed towards resource management. Together Gopalakrishnan, Nagai, Liu teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Liu with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claim 21, the Gopalakrishnan may not explicitly teach the claim.
Liu teaches “the method of claim 6, further comprising, if every set of instructions, when executed by the GPU, exceeds the memory resource of the GPU, selecting one of the versions of the program that least exceeds the memory resource of the GPU ([0075] As an example, each candidate task in the initial candidate task set may be traversed to view whether the demand of the candidate task for computing resources exceeds the first threshold. A candidate task with a demand for either of memory resources and thread resources exceeding the corresponding threshold will be removed from the initial candidate set. In this way, an updated candidate task set can be obtained, that is, the second group (i.e. least exceeds) of candidate tasks.)”.
Rationale to claim 5 is applied here.
Claim 9, 23, the combination may not explicitly teach the claim.
Liu teaches “the method of claim 8, wherein if each of the versions exceeds the processor operations resource of the GPU, the selecting is one of the versions of the program that least exceeds the processor operations resource of the GPU ([0075] As an example, each candidate task in the initial candidate task set may be traversed to view whether the demand of the candidate task for computing resources exceeds the first threshold. A candidate task with a demand for either of memory resources and thread resources exceeding the corresponding threshold will be removed from the initial candidate set. In this way, an updated candidate task set can be obtained, that is, the second group (i.e. least exceeds) of candidate tasks.)”.
Rationale to claim 5 is applied here.
Claims 10, 11, 24, 25 are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Smith (Pub. No. US 2020/0097261).
Claim 10, 24 the combination may not explicitly teach the limitation.
Smith teaches “the method of claim 1, wherein the versions include a first version that performs a computational process using one or more deterministic models and a second version that performs the computational process using one or more machine learning models ([0078] In step 503, relevant code snippets are identified from the code storage based on features, such as any of the features described above, for example but not limited to, in step 501. In one embodiment, the relevant code snippets are determined by machine learning model 200 using deterministic, hard-coded rules. For example, in one embodiment, typing a particular token for a class automatically selects as potential code completions the sub-methods or variables of the class. In another example, typing the name of a function automatically selects as a potential code completion a code snippet representing a pattern for making a call to the class. [0079] In other embodiments, the relevant code snippets are determined by machine learning model 200 by using a learning algorithm, such as supervised or unsupervised learning.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Smith with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches as evidence, other models. The motivation for applying Smith teaching with Gopalakrishnan, Nagai teaching is to provide a system that allows for design choice application. Together Gopalakrishnan, Nagai, Smith teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Smith with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claim 11, 25 the combination may not explicitly teach the limitation.
Smith teaches “The method of claim 1, wherein the versions include a first version that performs a computational process using a first algorithm and a second version that performs the computational process a second algorithm that is different than the first algorithm ([0078] In step 503, relevant code snippets are identified from the code storage based on features, such as any of the features described above, for example but not limited to, in step 501. In one embodiment, the relevant code snippets are determined by machine learning model 200 using deterministic, hard-coded rules. For example, in one embodiment, typing a particular token for a class automatically selects as potential code completions the sub-methods or variables of the class. In another example, typing the name of a function automatically selects as a potential code completion a code snippet representing a pattern for making a call to the class. [0079] In other embodiments, the relevant code snippets are determined by machine learning model 200 by using a learning algorithm, such as supervised or unsupervised learning.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Smith with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches as evidence, other models. The motivation for applying Smith teaching with Gopalakrishnan, Nagai teaching is to provide a system that allows for design choice application. Together Gopalakrishnan, Nagai, Smith teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Smith with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claims 26 are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Chalamalasetti (Pub. No. US 2021/0201136).
Claim 26 the combination may not explicitly teach the limitation.
Chalamalasetti teaches “the non-transitory computer readable medium of claim 15, wherein at least one of the versions of the program implements one or more neural network models ([0016] Computational workloads associated with creating deep neural networks generally include a training phase and classification phase.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Chalamalasetti with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches as evidence, Gopalakrishnan, Nagai may be based on other industries. The motivation for applying Chalamalasetti teaching with Gopalakrishnan, Nagai teaching is to provide a system that allows for design choice application. Together Gopalakrishnan, Nagai, Chalamalasetti teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Chalamalasetti with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claims 13, 27 are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in further view of Featonby (Pat. No. US 10,482,561).
Claim 13, the combination may not explicitly teach the limitation.
Featonby teaches “the method of claim 1, wherein the GPU comprises a virtual GPU (vGPU) ([Col. 2, Line 48-60] A server (e.g., a physical compute instance) that implements the virtual compute instance may communicate over a network with a graphics server that includes a physical GPU used to implement the virtual GPU.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Featonby with the teachings of Gopalakrishnan, Nagai in order to provide a system that teaches as evidence, details of a GPU. The motivation for applying Featonby teaching with Gopalakrishnan, Nagai teaching is to provide a system that allows for design choice application. Together Gopalakrishnan, Nagai, Featonby teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Featonby with the teachings of Gopalakrishnan, Nagai by known methods and gained expected results.
Claim 27, “the non-transitory computer readable medium of claim 15, wherein the GPU comprises a virtual GPU (vGPU)” is similar to claim 13 and therefore rejected with the same references and citations.
Claims 14, are rejected under 35 U.S.C. 103 as being unpatentable over Gopalakrishnan, Nagai in view of Featonby in further view of Hansson (Pat. No. US 9733963).
Claim 14, the combination may not explicitly teach the limitation.
Hansson teaches “the method of claim 13, further comprising selecting a number of GPUs available for execution of the sets of instructions ([Col. 6, Lines 31-38](24) The method of FIG. 3 includes assigning (308) one or more VGPUs (130) to a virtual machine (118) of the plurality of virtual machines in dependence upon the computing intensity level (310) and the priority level (312) of the virtual machine (118) and the number of VGPUs (130) available to perform the compute intensive tasks.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Hansson with the teachings of Gopalakrishnan, Nagai, Featonby in order to provide a system that teaches as evidence, details of a GPU. The motivation for applying Hansson teaching with Gopalakrishnan, Nagai, Featonby teaching is to provide a system that allows for design choice application. Together Gopalakrishnan, Nagai, Featonby, Hansson teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Hansson with the teachings of Gopalakrishnan, Nagai, Featonby by known methods and gained expected results.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WYNUEL S AQUINO whose telephone number is (571)272-7478. The examiner can normally be reached 9AM-5PM EST M-F.
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, Lewis Bullock can be reached at 571-272-3759. 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.
/WYNUEL S AQUINO/Primary Examiner, Art Unit 2199