Ex Parte Sevenich et alDownload PDFPatent Trials and Appeals BoardSep 24, 201814276895 - (D) (P.T.A.B. Sep. 24, 2018) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE FIRST NAMED INVENTOR 14/276,895 05/13/2014 Martin Sevenich 42425 7590 09/26/2018 HICKMAN PALERMO BECKER BINGHAM/ORACLE 1 Almaden Boulevard Floor 12 SAN JOSE, CA 95113 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 ATTORNEY DOCKET NO. CONFIRMATION NO. 50277-4551 8907 EXAMINER KANG,INSUN ART UNIT PAPER NUMBER 2193 NOTIFICATION DATE DELIVERY MODE 09/26/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): usdocket@h35g.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte MARTIN SEVENICH, SUNGPACK HONG, and HASSAN CHAFI Appeal2018-003386 Application 14/276,895 Technology Center 2100 Before JUSTIN BUSCH, JENNIFER L. McKEOWN, and STEVEN M. AMUNDSON, Administrative Patent Judges. BUSCH, Administrative Patent Judge. DECISION ON APPEAL Pursuant to 35 U.S.C. § 134(a), Appellants appeal from the Examiner's decision to reject claims 1, 3-8, 11, and 13-18, which constitute all claims pending in this Application. We have jurisdiction over the pending claims under 35 U.S.C. § 6(b). Claims 2 and 12 were previously cancelled. Claims 9, 10, 19, and 20 are objected to as being dependent on rejected base claims. See Final Act. 7. We reverse. CLAIMED SUBJECT MATTER Appellants' invention is generally directed to automatically selecting an implementation of an Abstract Data Type (ADT) to optimize compiling. Spec., Abstract. "The compiler chooses an implementation for each instance Appeal2018-003386 Application 14/276,895 of an abstract data type in a program based on operations performed in the instance within the program." Spec., Abstract. Claims 1 and 11 are independent claims. Claim 1 is reproduced below: 1. A method, comprising the steps of: identifying, by a compiler, a set of operations that high- level language source code specifies for an instance of an abstract data type; based on the set of operations, selecting, by the compiler, a certain implementation for said instance; and in response to selecting said certain implementation, performing by the compiler: rewriting the high-level language source code specifying operations on said instance to generate rewritten source code, and compiling the rewritten source code using the certain implementation; and wherein the method 1s performed by one or more computing devices. REJECTIONS Claims 1, 3, 4, 11, 13, and 14 stand rejected under 35 U.S.C. § 102 as anticipated by Stall (US 2010/0180269 Al; July 15, 2010). Final Act. 3--4. Claims 5-8 and 15-18 stand rejected under 35 U.S.C. § 103 as obvious in view of Stall and Data Structures, UNF (2011) https://www.unf.edu/-wkloster/3 540/wiki_book. pdf ("Data Structures"). Final Act. 5-6. ANALYSIS REJECTION OF CLAIMS 1, 3, 4, 11, 13, AND 14 The Examiner finds Stall discloses every limitation recited in claims 1, 3, 4, 11, 13, and 14 and, accordingly, rejects the claims as anticipated by Stall. Final Act. 3--4. The Examiner finds Stall's description that "the compilation is performed on the source code being implemented according 2 Appeal2018-003386 Application 14/276,895 to the selected type implementation" discloses "rewriting the source code using the selected type implementation." Final Act. 4; see Ans. 3 (citing Stall ,r,r 16-17). The Examiner states: "the compiler does not generate[] the source code, rather it compiles the code according to the selected type implementation, therefore, the source code is considered to be rewritten according to the type implementation) during the compilation)." Final Act. 4. We first interpret the Examiner's rejection to be based on the following findings: ( 1) Stall's source code version of the target instruction set discloses the recited "high-level language source code specifying operations on said instance"; (2) Stall's compiled code version of the target instruction set, which includes the automatically selected implementation type, discloses the recited "rewritten source code," which is generated in the rewriting step; and (3) Stall's compilation of the target instruction set discloses the recited compiling step ( our "first interpretation"). See Final Act. 3--4 ( citing Stall ,r,r 16-17); Ans. 3 ("compiling generates type instances of the type according to the selected type implementation within that domain" ( citing Stall ,r 17)). An alternate interpretation of the Examiner's rejection is one based on a finding that Stall discloses binding an implementation type to the target instruction set based on the implementation domain and this binding, in conjunction with the source code version of the target instruction set, discloses the recited rewritten source code ( our "second interpretation"). See Ans. 3 ("the source code version of the target instruction set with the selected type implementation bound to the type instances during compilation 3 Appeal2018-003386 Application 14/276,895 is considered to be rewritten source code as it incorporates the selected type implementation"). The Examiner provides little explanation and does not clearly map Stall's disclosures to the recited elements. Rather, the Examiner's rejection quotes multiple recited steps followed by quoted sections of Stall. Moreover, the Final Action appears to map Stall's compiled version of the target instruction set that includes a particular implementation type for each type instance to the recited rewritten source code, see Final Act. 4, but the Answer appears to map Stall's source code version of the target instruction set, in combination with the binding, to the recited rewritten source code. Ans. 3. The fact that the Examiner's rejection is, on its face, ambiguous is problematic. Nevertheless, we address both possible bases in this Decision. Appellants present various arguments, including that Stall does not disclose "rewriting the high-level language source code specifying operations on said instance to generate rewritten source code," as recited in claims 1 and 11. Br. 4. Appellants assert Stall compiles a source code version of a target instruction set, but the target instruction set is not "rewritten source code." Br. 4. Rather, the target instruction set is compiled, machine-executable code and Stall does not disclose or suggest rewritten source code. Br. 4--5. Under either interpretation of the Examiner's rejection, we agree with Appellants that Stall does not disclose the rewriting step. Under our first interpretation, the Examiner's findings fail to account for "high-level language source code," "rewritten source code" generated from the high- level language source code, and "compiling the rewritten source code." Specifically, even accepting the Examiner's finding that Stall discloses a 4 Appeal2018-003386 Application 14/276,895 source code version of the target instruction set, the Examiner's finding that Stall's source code version of the target instruction set discloses the recited high-level language source code and the compiled version of the target instruction set discloses the recited rewritten source code, the Examiner fails to account for the recited step of "compiling the rewritten source code." In other words, under our first interpretation in which Stall's compiled code including the bound implementation type discloses the recited rewritten source code, the Examiner fails to explain how Stall discloses further compiling the already compiled version of the target instruction set. Under our second interpretation, we also find the Examiner erred. First, the Examiner has not demonstrated that Stall's binding discloses any change to the source code. Stall discloses "a type binding instruction set 42 that binds type instances within the target instruction set 14 to a particular type implementation." Stall ,r 26. Stall discloses three exemplary type binding instruction sets. Stall ,r 26. The examples disclose generating a class implementation at runtime based on the execution domain, "configur[ing] a compiled version of the target instruction set 14 to generate type instances of a type according to a particular type implementation," or determining the type from information in the target instruction set 14 itself. Stall ,r 26. We see nothing in Stall to indicate that Stall's type binding instruction sets generate rewritten source code. Based on the record before us, and under either interpretation of the Examiner's rejection, Appellants have persuaded us the Examiner erred in finding Stall discloses the rewriting step recited in independent claims 1 and 11. Accordingly, we reverse the rejection of claims 1 and 11 as anticipated 5 Appeal2018-003386 Application 14/276,895 by Stall. Claims 3 and 4 depend from claim 1 and claims 13 and 14 depend from claim 11, incorporating the rewriting step recited in claims 1 and 11. Therefore, we also reverse the rejection of claims 3, 4, 13, and 14 for the same reason. Claims 5-8 and 15-18 depend from and incorporate the limitations of claims 1 and 11, respectively. Although these claims were rejected as obvious, the Examiner does not rely on additional teachings or rationale for curing the deficiency addressed above. Therefore, we also reverse the rejection of claims 5-8 and 15-18 as obvious for the same reason. DECISION We reverse the Examiner's decision to reject claims 1, 3, 4, 11, 13, and 14 under 35 U.S.C. § 102. We reverse the Examiner's decision to reject claims 5-8 and 15-18 under 35 U.S.C. § 103. REVERSED 6 Copy with citationCopy as parenthetical citation