Ex Parte FrostDownload PDFPatent Trial and Appeal BoardFeb 28, 201812785052 (P.T.A.B. Feb. 28, 2018) Copy Citation United States Patent and Trademark Office UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O.Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 12/785,052 05/21/2010 Gary R. Frost 5800-37400 1062 53806 7590 03/02/2018 MEYERTONS, HOOD, KIVLIN, KOWERT & GOETZEL (AMD) P.O. BOX 398 AUSTIN, TX 78767-0398 EXAMINER RUTTEN, JAMES D ART UNIT PAPER NUMBER 2197 NOTIFICATION DATE DELIVERY MODE 03/02/2018 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): patent_docketing@intprop.com ptomhkkg @ gmail .com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte GARY R. FROST Appeal 2017-006827 Application 12/785,052 Technology Center 2100 Before CARL W. WHITEHEAD JR., BETH Z. SHAW and JESSICA C. KAISER, Administrative Patent Judges. WHITEHEAD JR., Administrative Patent Judge. DECISION ON APPEAL STATEMENT OF THE CASE Appellant is appealing the final rejection of claims 1—8 and 10—22 under 35 U.S.C. § 134(a). Appeal Brief 3—22. We have jurisdiction under 35 U.S.C. § 6(b) (2012). We affirm. Introduction The invention is directed to automatically distributing workloads to multiple processors. Specification, paragraph 4. Appeal 2017-006827 Application 12/785,052 Illustrative Claim 1. A computer-readable storage medium having program instructions stored thereon that are executable on a first processor of a computer system to perform: receiving a first set of bytecode, wherein the first set of bytecode specifies a first set of tasks; determining whether to offload the first set of tasks to a second processor of the computer system, wherein the determining is based on analysis of previous executions of the first set of tasks by the first processor and by the second processor; in response to determining to offload the first set of tasks, causing generation of a set of instructions to perform the first set of tasks, wherein the set of instructions are in a format different from that of the first set of bytecode, wherein the format is supported by the second processor; and causing the set of instructions to be provided to the second processor for execution. Rejections on Appeal Claims 1—3, 5, 6, 8, 13 and 17—22 stand rejected under pre-AIA 35 U.S.C. § 103(a) as being unpatentable over Leung {Automatic Parallelization for Graphics Processing Units in Proceedings of the 7th International Conference on Principles and Practice of Programming in Java PPPJ ’09 91—100 (2009)) and Cascaval (US Patent Application Publication 2007/0226698 Al; published September 27, 2007). Final Action 3—13. Claim 4 stands rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Marrow (US Patent Application Publication 2004/0078420 Al; published April 22, 2004). Final Action 13— 14. Claim 7 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Mourachov (US Patent Application Publication 2 Appeal 2017-006827 Application 12/785,052 2004/0139424 Al; published July 15, 2004). Final Action 14—15. Claim 8 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Berstis (US Patent 6,631,515 Bl; issued October 7, 2003). Final Action 15—16. Claim 10 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Marrow. Final Action 16. Claim 11 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Mariani (US Patent Application Publication 2010/0070957 Al; published March 18, 2010). Final Action 17. Claim 12 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Kwong et al. (US Patent 6,289,506 Bl; issued September 11, 2001). Final Action 17—18. Claim 14 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, and Ringseth (US Patent Application Publication 2009/0300636 Al; published December 3, 2009). Final Action 18-21. Claim 15 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Leung, Cascaval, Ringseth, and Mourachov. Final Action 22. ANALYSIS Rather than reiterate the arguments of Appellant and the Examiner, we refer to the Appeal Brief (filed October 17, 2016), the Reply Brief (filed March 23, 2017), the Final Action (mailed May 16, 2016) and the Answer (mailed January 26, 2017) for the respective details. 3 Appeal 2017-006827 Application 12/785,052 Claims 1—3, 5, 6, 8, 13, and 17—22 Appellant contends, “one of ordinary skill in the art, considering the teachings of Leung or Cascaval, would not think to perform ‘analysis of previous executions of [a] set of tasks by the first processor and by the second processor, ’ much less think to use this analysis as a factor in ‘determining whether to offload the [] set of tasks to a second processor of [a] computer system,’ as recited in claim 1.” Appeal Brief 6. The Examiner finds Cascaval discloses analyzing previous executions by a given runtime environment. Final Action 5 (citing Cascaval, Figure 4 with emphasis on element 402; and paragraph 20 (“recompiles each such selected region to adapt the region to the corresponding at least one characteristic of the execution environment to generate a corresponding recompiled region”)). The Examiner finds that “Fig. 4 of Cascaval teaches a recurring analysis of previous executions in a given execution environment.” Final Action 5. CascavaFs Figure 4 is reproduced below (annotated for clarity): 4 Appeal 2017-006827 Application 12/785,052 START 4® Apply hsufsstfc models to select et ■eos? ©no region of pmgrsm node for wfteh appljlcation of pcrforeppiGe improvement sfcforifbm is expected to improve runtime perfswtaoc-s of program code and, for each selected region, select at least ««e performance improvement algorithm based on analyst of rename behavior of region JL Recompile each selected region accsrdtog to selected perfomsanee smprevem&nl: atgerithref*}fb@S ragiop to generate corresponding recompiled regte and modify progrem code so that each invoeatstm of each seeded rogloo becomes an invocation of c^weeponding recompiled region to produce modified eaceeutsble program code 406 Figure 4 depicts a flow chart showing one method of Cascaval’s invention. Cascaval, paragraph 28. Figure 4 discloses (Cascaval, paragraph 58): 5 Appeal 2017-006827 Application 12/785,052 At step 402, the CPO [Continuous Program Optimizer]1 collects runtime program data representing aspects of runtime behavior of the program code of the target computer program and analyzes the runtime program data to identify runtime behavior of the program code of the target computer program. The CPO monitors all (or selected) processes running across the entire data processing system, and may collect information from one or more of the following sources (this data may be collected through intermediate software. Appellant contends, “Cascaval is directed to the paradigm of modifying program code in order to improve its execution, not modifying the environment in which the code executes such as whether it executes on a first processor or a second processor” and “[i]n view of the teachings of Cascaval, at best, one of skill in the art might seek to modify Leung to use an analysis of code to optimize the code through modification of the code”; however Cascaval does not “suggest to one of skill in the art to modify the cost model used by Leung to determine whether to implement a loop on a GPU [ ] [Graphics Processing Unit] so that it is based on the collected runtime data of Cascaval, much less based on ‘analysis of previous executions of [a] first set of tasks by’ not just ‘the first processor,’ but also ‘by the second processor,’ as recited in claim 1.” Appeal Brief 13. Leung employs two processors and utilizes “an extension to a Java JIT compiler that executes suitable code on the GPU instead of the CPU 1 “ft will be appreciated by one skilled in the art that the words ‘optimizer’, ‘optimization’ and related terms are terms of art that refer to improvements in speed and/or efficiency of a computer program, and do not purport to indicate that a computer program has achieved, or is capable of achieving, an ‘optimal’ or perfectly speedy/perfectly efficient state.” Cascaval, paragraph 51. 6 Appeal 2017-006827 Application 12/785,052 [Central Processing Unit]” wherein “[b]oth static and dynamic features are used to decide whether it is feasible and beneficial to off-load a piece of code on the GPU.” Leung Abstract; see Final Action 4 (citing Leung, section 3.1). The Examiner finds Leung does not explicitly disclose analyzing previous executions of task (e.g., computer code) and relies upon the teachings of Cascaval discussed above to increase the speed and/or efficiency of a computer program. The Examiner concludes, “[i]t would have been obvious to one of ordinary skill in the art at the time the invention was made to use Leung’s execution environment (including a first and second processor) with Cascaval’s execution analysis in order to improve runtime performance as suggested by Cascaval (see at least | [0020]).” Final Action 5. We agree with the Examiner’s findings, and we find Appellant’s arguments unpersuasive of Examiner error. “As our precedents make clear, however, the analysis need not seek out precise teachings directed to the specific subject matter of the challenged claim, for a court can take account of the inferences and creative steps that a person of ordinary skill in the art would employ.” KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398,418 (2007). We observe that the conditional limitation recited in claim 1 only requires generating sets of instructions to perform the first set of tasks formatted for the second processor if it is determined that the first set of tasks are to be offloaded to the second processor. However, because claim 1 is a system claim, in order to establish a prima facie case of obviousness, it is still required that the prior art discloses structure to perform the tasks should the condition occur. See Ex parte Schulhauser, No. 2013-007847, 2016 WL 6277792, at *7 (PTAB Apr. 28, 2016) (precedential) (holding 7 Appeal 2017-006827 Application 12/785,052 “[t]he broadest reasonable interpretation of a system claim having structure that performs a function, which only needs to occur if a condition precedent is met, still requires structure for performing the function should the condition occur”). We find the Examiner has established a prima facie case of obviousness because the combination of Leung and Cascaval discloses multiple processors capable of performing the conditional tasks should the condition occur. See Final Action 4. We sustain the Examiner’s obviousness rejection of independent claim 1, as well as the obviousness rejections of claims 4, 7, 8, 10-13, and 17—22 not argued separately.2 See Appeal Brief 14—15. Claims 14 and 15 Appellant argues the Examiner’s findings that Leung discloses a call is erroneous. Appeal Brief 16. The Examiner finds: While the code cited in the Office action is indeed a function definition, one of ordinary skill recognizes that this function cannot be executed unless a “call” is made to use the function. Function definitions and function calls are two sides of the same coin. The function in Leung Fig. 2(b) is simply illustrative of a call that specifies a set of tasks. Any source program that includes a function definition must use a function call to invoke the function. Answer 7—8. Appellant contends: 2 The Examiner should also consider whether any claims (e.g., claims 1 and 17) encompass non-statutory transitory media such as signals sent over optical or electronic communication links. See In re Nuijten, 500 F.3d 1346, 1357 (Fed. Cir. 2007); see also MPEP § 2106(1) (9th ed., Rev. 11 Mar. 2014) and Ex parte Mewherter, 107 USPQ2d 1857, 1859 (PTAB 2013) (precedential opinion). 8 Appeal 2017-006827 Application 12/785,052 [W]ith respect to the recited “call [that] specifies a set of tasks” of claim 14, Appellant respectfully submits that one of ordinary skill in the art would not conflate the terms “function call” and “function definition” as suggested by the Examiner (Answer at 8). Rather, one of ordinary skill in the art having, at least, a basic understanding of programming would understand that functions are used so that a programmer can write code in one location (i.e., the function definition) and not have to repeat it. Instead, a programmer merely includes calls to the function as needed in which the data to be operated on is specified, but not the code, which is already specified in the function definition. In contrast, claim 14 recites that “the API call specifies a set of tasks.” Reply Brief 6. We do not find Appellant’s arguments persuasive because while we agree with Appellant that a function call may differ from a function definition, we do not find a patentable distinction between the two. See Final Action 18—21. “As our precedents make clear, however, the analysis need not seek out precise teachings directed to the specific subject matter of the challenged claim, for a court can take account of the inferences and creative steps that a person of ordinary skill in the art would employ.” KSR Int’lv. Teleflex Inc., 550 U.S. 398, 418 (2007). Accordingly, we affirm the Examiner’s obviousness rejection of claim 14, as well as the obviousness rejection of claim 15 that depends from claim 14.3 See Appeal Brief 15. 3 The Examiner should also consider whether any claims (e.g., claim 14) encompass non-statutory transitory media such as signals sent over optical or electronic communication links. See Nuijten, 500 F.3d at 1357; see also MPEP § 2106(1) (9th ed., Rev. 11 Mar. 2014) and Mewherter, 107 USPQ2d at 1859. 9 Appeal 2017-006827 Application 12/785,052 DECISION The Examiner’s obviousness rejections of claims 1—8 and 10—22 are affirmed. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(1). See 37 C.F.R. § 1.136(a)(l)(v). AFFIRMED 10 Copy with citationCopy as parenthetical citation