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 .
Response to Arguments
Applicant’s arguments, filed 08/18/26, with respect to the rejection(s) of claim(s) 1-5, 8-9, 14-15, 19, 21, 23-31 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of newly cited Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, and newly cited Takahashi (Pub No 20120268796).
Regarding claim 1,
The applicant argues that the prior art does not teach the amended limitations.
The examiner relies on newly cited prior art Farazmand (Pub No 20170199558) to teach the amended limitation.
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-2, 19, 21, 23, 25, 27-31 is/are rejected under 35 U.S.C. 103 as being unpatentable over Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, and Takahashi (Pub No 20120268796).
Regarding claims 1 and 19 and 27,
Farazmand teaches a method, comprising:
A memory configured to store computer instructions; and
A computer-readable storage medium and that, when executed by one or more processors, cause an apparatus to: (para [0128])
determining a first load characteristic of the frame drawing thread, wherein the frame drawing thread draws an image frame; (interpreted as a workload may be a group of commands to be executed by GPU 12. In one example, the commands may be grouped such that a workload may be commands to be executed by GPU 12 to render a single frame, see para [0075])
determining, based on the first load characteristics, a predicted load value of the frame drawing thread based on the first load characteristic; (interpreted as Thus, CPU 6 may determine the upcoming workload for the next interval as the set of commands to be executed by GPU 12 to render an upcoming frame (e.g., the next frame, the frame after the next frame, and the like), see para [0075])
determining based on the first load characteristic, the predicted load value and first mapping relationship information, a target resource scheduling manner, wherein the first mapping relationship comprises a plurality of pieces of load information a resource scheduling manner corresponding to each of the pieces of load information, wherein each of the pieces of load information comprises one load characteristic and one load value, and wherein the target resource scheduling manner comprises selecting, based on the predicted load value, a frequency for executing the frame drawing thread (interpreted as CPU 6 may determine an optimal OPP for GPU 12 and memory 10 to process an upcoming workload to meet a performance requirement while minimizing the energy consumption of GPU 12 and memory 10.In the example of GPU 12 processing commands to render frames of a video or animated image (i.e., a sequence of image frames) that are displayed by display 18, CPU 6 may determine the optimal pairing of operating frequency for GPU 12 and operating frequency for memory 10 at which GPU 12 12 and memory 10 may operate when processing an upcoming image frame of the sequence of image frames in order to render the image frame by a particular rendering deadline, while minimizing the energy consumed by GPU 12 and memory 10 to process the upcoming image frame, see para [0049]
scheduling a second resource for the frame drawing thread in the target resource scheduling manner. (interpreted as setting the memory 10 and the GPU 12 to operate at the respective memory frequency and GPU frequency of one of the plurality of OPPs to process the workload based at least in part on the estimated energy consumption (106), see para [0129])
However, Farazmand does not teach determining an association thread of a frame drawing thread, and the association thread is capable of causing the frame drawing thread to sleep.
scheduling a first resource for the association thread to accelerate execution of the association thread.
Larson teaches determining an association thread of a frame drawing thread, wherein the frame drawing thread draws an image frame, and wherein the association thread is configured to cause the frame drawing thread to sleep; scheduling a first resource for the association thread to accelerate execution of the association thread; (interpreted as application thread 105 notifies or wakes up worker thread 107 concerning the pending query request. In some situations, if there is no graphics command pending in command queue 106 or command buffer 113 is full or some other conditions, worker thread 107 may enter into a sleep state or perform other tasks, see para [0028])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the CPU process taught by Farazmand with the association thread taught by Larson with the motivation being to conserve resources when no processes are being run.
However, Farazmand in view of Larson does not teach wherein the target resource scheduling manner comprises selected based on the predicted load value, a processor type.
Takahashi teaches wherein the target resource scheduling manner comprises selected, based on the predicted load value, a processor type. (Interpreted as the process allocator 117 determines whether to use the hardware drawing processor 131, based on the estimated processing load on the data converter 118 and estimated merits in using the hardware drawing processor 131. For example, if the processing load is so high such that is cancels out the merits of using the hardware drawing processor 131, the process allocator 117 determines not to use the hardware drawing processor 131, but allocates the area of the print data to the software drawing processor 119, see para [0041]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the load prediction taught by Farazmand in view of Larson with the selecting a processor type as taught by Takahashi with the motivation to improve efficiency in drawing processing.
Regarding claim 2 and 28,
Farazmand teaches the method of claim 1, wherein the first load characteristic indicates a resource requirement feature of the frame drawing thread. (interpreted as Thus, CPU 6 may determine the upcoming workload for the next interval as the set of commands to be executed by GPU 12 to render an upcoming frame (e.g., the next frame, the frame after the next frame, and the like), see para [0075])
Regarding claim 21,
Farazmand teaches the method of claim 1, wherein the second resource comprises a computing resource. (interpreted as setting the memory 10 and the GPU 12 to operate at the respective memory frequency and GPU frequency of one of the plurality of OPPs to process the workload based at least in part on the estimated energy consumption (106), see para [0129])
Regarding claim 23,
Farazmand teaches the resource scheduling method of claim 1,
wherein the first load characteristic comprises a quantity of branch instructions of the frame drawing thread. (Interpreted as a workload may be a group of commands to be executed by GPU 12. In one example, the commands may be grouped such that a workload may be commands to be executed by GPU 12 to render a single frame, see para [0075])
Regarding claim 25,
Farazmand teaches the method of claim 1, further comprising determining, based on a
quantity of branch instructions of the frame drawing thread in a first time interval, the first load
characteristic, wherein the first time interval is a period of time between a start of execution of the
frame drawing thread and an end of the execution of the frame drawing thread. (interpreted as he amount of commands GPU 12 needs to execute within the set time period may change because there are more or fewer commands in a group of commands that need to be executed within the set time period, because there is an increase or decrease in the number of groups of commands that need to be executed within the set time period, or a combination of the two, see para [0047])
Regarding claim 29, 30, and 31,
Farazmand teaches the method of claim 1, wherein the predicted load value of the frame drawing thread is based on historical load information of a frame preceding the image frame (interpreted as CPU 6 may characterize a workload based at least in part on workload characteristics, which may be measured by CPU 6. Thus, CPU 6 may determine that an upcoming workload has similar workload characteristics as a previous workload. For example, the workload for GPU 12 to render a next frame of video may have similar workload characteristics as the workload for GPU 12 to render an immediately previous frame of video. Thus, CPU 6 may capture the workload characteristics of GPU 12 and memory 10 as GPU 12 to process commands to render a particular image frame, and may specify the workload to render an upcoming frame as having the same workload characteristics as the workload to render the particular image frame, see para [0078])
Claim(s) 3 and 4 is/are rejected under 35 U.S.C. 103 as being unpatentable over Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, and Takahashi (Pub No 20120268796), Yuan (CN 110196751 A)
Regarding claim 3,
Farazmand in view of Larson and Takahashi teaches the method of claim 1, however does not teach wherein the first load characteristic comprises of an average quantity of cycles per instruction (CPI), of the frame drawing thread.
Yuan teaches wherein the first load characteristic comprises of an average quantity of cycles per instruction (CPI), of the frame drawing thread. (interpreted as load data may include memory load rate, network load rate, IO (input output) load condition, the cpi (average execution cycle number), CPU usage and other information, see pg. 5 line 5-15)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the load characteristic taught by Farazmand in view of Larson and Takahashi with the different characteristics taught by Yuan with the motivation being to monitor different metrics for determining load.
Regarding claim 4,
Farazmand teaches the method of claim 1, further comprising
wherein the first time interval is a period of time between a start of execution of the frame drawing thread and an end of the execution of the frame drawing thread. (interpreted as he amount of commands GPU 12 needs to execute within the set time period may change because there are more or fewer commands in a group of commands that need to be executed within the set time period, because there is an increase or decrease in the number of groups of commands that need to be executed within the set time period, or a combination of the two, see para [0047])
However, Farazmand in view of Larson and Takahashi does not teach determining, based on an average quantity of cycles per instruction (CPI) of the frame drawing thread in a first time interval, the first load characteristic,
Yuan teaches wherein the first load characteristic comprises of an average quantity of cycles per instruction (CPI), of the frame drawing thread. (interpreted as load data may include memory load rate, network load rate, IO (input output) load condition, the cpi (average execution cycle number), CPU usage and other information, see pg. 5 line 5-15)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the load characteristic taught by Farazmand in view of Larson and Takahashi with the different characteristics taught by Yuan with the motivation being to monitor different metrics for determining load.
Claim(s) 24, 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, and Takahashi (Pub No 20120268796), Palermo (Pub No 20170286142)
Regarding claim 24,
Farazmand in view of Larson and Takahashi teaches the resource scheduling method of claim 1, however does not teach wherein the first load characteristic comprises a cache miss rate of the thread.
Palermo teaches wherein the first load characteristic comprises a cache miss rate of the thread. (interpreted as The performance profiles may include any information that characterizes the workloads of the VMs, such as statistical information of the loads on the CPU 202 caused by each virtual machine, types of instructions executed by the CPU 202 (e.g., a percentage of branch instructions, a percentage of arithmetic instructions, etc.) for each virtual machine, frequency of reads and writes to memory (e.g., main memory 214) for each virtual machine, sizes of blocks of data read from and written to memory (e.g., main memory 214) for each virtual machine, cache hits/misses, thread occupancy, translation lookaside buffer (TLB) misses, page faults, etc., see para [0033])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the load characteristic taught by Farazmand in view of Larson and Takahashi with the different characteristics taught by Palermo with the motivation being to monitor different metrics for determining load.
Regarding claim 26,
Farazmand teaches the resource scheduling method of claim 1, wherein the first time
interval is a period of time between a start of execution of the frame drawing thread and an end of
the execution of the frame drawing thread. (interpreted as the amount of commands GPU 12 needs to execute within the set time period may change because there are more or fewer commands in a group of commands that need to be executed within the set time period, because there is an increase or decrease in the number of groups of commands that need to be executed within the set time period, or a combination of the two, see para [0047])
However, Farazmand in view of Larson and Takahashi does not teach wherein the first load characteristic comprises a cache miss rate of the thread.
Palermo teaches wherein the first load characteristic comprises a cache miss rate of the thread. (interpreted as The performance profiles may include any information that characterizes the workloads of the VMs, such as statistical information of the loads on the CPU 202 caused by each virtual machine, types of instructions executed by the CPU 202 (e.g., a percentage of branch instructions, a percentage of arithmetic instructions, etc.) for each virtual machine, frequency of reads and writes to memory (e.g., main memory 214) for each virtual machine, sizes of blocks of data read from and written to memory (e.g., main memory 214) for each virtual machine, cache hits/misses, thread occupancy, translation lookaside buffer (TLB) misses, page faults, etc., see para [0033])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the load characteristic taught by Farazmand in view of Larson and Takahashi with the different characteristics taught by Palermo with the motivation being to monitor different metrics for determining load.
Claim(s) 5, 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, Takahashi (Pub No 20120268796) and Martin (Pub No 20180336065)
Regarding claim 5,
Farazmand in view of Larson and Takahashi teaches the method of claim 1, however does not teach further determine, based on a preset target frame rate, the target resource scheduling manner.
Martin teaches further comprising further determining the target manner based on a preset target frame rate. (Interpreted as the budget represents the user-space host processor CPU time that will be required for the associated thread that executes the rendering task setup processing on the host processor 7…. The “period” of the real time scheduling parameters 55 represents the period in which the “budget” will be used. In the present embodiment, the period is expressed in terms of the target or maximum frame rate to be met, see para [0167]- [0168])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the threads taught by Farazmand in view of Larson and Takahashi with the target frame rate for the threads as taught by Martin with the motivation being to meet the quality of service by meeting the target frame rate.
Regarding claim 8,
Farazmand teaches the method of claim 5, further comprising determining the predicted load value based on the first load characteristic and second mapping relationship information, wherein the second mapping relationship information comprises a plurality of load characteristics and a load value corresponding to each of the load characteristics. (interpreted as CPU 6 may determine an optimal OPP for GPU 12 and memory 10 to process an upcoming workload to meet a performance requirement while minimizing the energy consumption of GPU 12 and memory 10.In the example of GPU 12 processing commands to render frames of a video or animated image (i.e., a sequence of image frames) that are displayed by display 18, CPU 6 may determine the optimal pairing of operating frequency for GPU 12 and operating frequency for memory 10 at which GPU 12 12 and memory 10 may operate when processing an upcoming image frame of the sequence of image frames in order to render the image frame by a particular rendering deadline, while minimizing the energy consumed by GPU 12 and memory 10 to process the upcoming image frame, see para [0049]
Claim(s) 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Farazmand (Pub No 20170199558) in view of Larson (Pub No 20120242672, Takahashi (Pub No 20120268796), and Young (Pub No 20170090988)
Regarding claim 14,
Farazmand in view of Larson and Takahashi teaches the method of claim 1, however does not teach wherein when execution of the thread is not completed within a predetermined time, the method further comprises scheduling an additional resource for the thread to accelerate the execution of the thread, and wherein the predetermined time is a time required for completing the execution of the thread when a resource is scheduled for the thread in the target manner.
Young teaches wherein when execution of the thread is not completed within a predetermined time, the method further comprises scheduling an additional resource for the thread to accelerate the execution of the thread, and wherein the predetermined time is a time required for completing the execution of the thread when a resource is scheduled for the thread in the target manner. (Interpreted as for example, consider a computing system having a first set of processor cores operating at a first speed and a second set of processor core operating at a second, slower speed. If a particular thread has a speed requirement above a threshold (alternatively, if the thread has a target completion time below a threshold), then the assignment module 220 may assign the thread to a processor core of the first (faster) set of processor cores, otherwise the assignment module 220 may assign the thread to a processor core of the second (slower) set of processor cores (e.g., in response to the thread completion time being less than the speed requirement), see para [0091])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the threads taught by Farazmand in view of Larson and Takahashi with the thread execution time limit as taught by Young with the motivation being to maintain a certain quality of service by performing task within a time threshold.
Allowable Subject Matter
Claims 9 and 15 are objected to as being dependent upon a rejected base claim but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Regarding claim 9,
The prior art does not teach the method of claim 8, further comprising determining a load value corresponding to a reference load characteristic as the predicted load value when the load characteristics in the second mapping relationship information comprise the reference load characteristic, wherein a similarity between the reference load characteristic and the first load characteristic is greater than or equal to a similarity threshold.
Regarding claim 15,
The prior art does not teach the method of claim 14, wherein a positive correlation relationship is between a size of the additional resource and a first difference, and wherein the first difference is between a time point of scheduling the additional resource and an end time point of the predetermined time.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BAO G NGUYEN whose telephone number is (571)272-7732. The examiner can normally be reached M-F 10pm - 6:30pm.
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, Huy Vu can be reached at 571-272-3155. 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.
/BAO G NGUYEN/Examiner, Art Unit 2461
/JASON E MATTIS/Primary Examiner, Art Unit 2461