Ex Parte Mitran et alDownload PDFPatent Trial and Appeal BoardJun 30, 201611536047 (P.T.A.B. Jun. 30, 2016) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE FIRST NAMED INVENTOR 111536,047 09/28/2006 46429 7590 07/05/2016 CANTOR COLBURN LLP-IBM POUGHKEEPSIE 20 Church Street 22nd Floor Hartford, CT 06103 Marcel Mitran 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. POU920060219US 1 8456 EXAMINER HEBERT, THEODORE E ART UNIT PAPER NUMBER 2199 NOTIFICATION DATE DELIVERY MODE 07/05/2016 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): usptopatentmail@cantorcolbum.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte MARCEL MITRAN, VIJA Y SUNDARESAN, and ALEXANDER V ASEILEVSKIY Appeal2015-000788 Application 11/536,047 Technology Center 2100 Before ROBERT E. NAPPI, CARLA M. KRIVAK, and JEFFREY A. STEPHENS, Administrative Patent Judges. KRIVAK, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from a Final Rejection of claims 1, 2, 4, 6-9, 11, 13-16, 18, and 20. 1 We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 Claims 3, 5, 10, 12, 17, and 19 have been canceled. Appeal2015-000788 Application 11/536,047 STATEMENT OF THE CASE Appellants' invention is directed to "selective retrieval of expressions from memory" by "scanning code for expressions that can be effectively accessed directly from highly cached memory without needing to be loaded into a register" (Title; Abstract). Independent claim 1, reproduced below, is exemplary of the subject matter on appeal. 1. A method for selectively retrieving expressions from memory during compilation, comprising: scanning code for expressions that can be effectively accessed from highly cached memory without being loaded into registers, wherein scanning the code includes: creating a bit vector to represent a plurality of expressions in a code region; initializing bits of the bit vector as set such that the expressions in the code region are initially marked as candidates for retrieval from the highly cached memory; determining whether a first expression of the expressions in the code region is modified by the code; resetting a bit associated with the first expression, of the bit vector responsive to determining that the first expression is modified by the code; and traversing the code region, looking for uses of expressions for which the bits of the bit vector associated with the expressions in the code region have not been reset; and retrieving the expressions for which the bits have not been reset, that can be effectively accessed directly from the highly cached memory rather than loading the expressions for which the bits have not been reset into the registers. REFERENCES and REJECTIONS The Examiner rejected claims 1, 2, 4, 6, 8, 9, 11, 13, 15, 16, and 18 under 35 U.S.C. § 103(a) based upon the teachings of Agaram (US 2 Appeal2015-000788 Application 11/536,047 2005/0132139 Al; June 16, 2005), Bhansali (US 2006/0059474 Al; Mar. 16, 2006), and Tyson ("A Modified Approach to Data Cache Management," IEEE 1072--4451/95;(1995)). The Examiner rejected claims 7, 14, and 20 under 35 U.S.C. § 103(a) based upon the teachings of Agaram, Bhansali, Tyson, and Wall ("Global Register Allocation at Link Time," Western Research Lab (1986)). ANALYSIS With respect to claim 1, the Examiner finds Tyson teaches determining whether an expression is modified by code because "the claimed term 'modified,' under the broadest reasonable interpretation when read in light of the specification, is taught by Tyson's disclosure of determining whether an instruction has been utilized within the code" (Ans. 4; Final Act. 2, 3, 5 (citing Tyson p. 95, section 4)). We do not agree. We agree with Appellants that Tyson's utilizing or reading an expression within code does not teach or suggest the expression is modified by the code as required in claim 1 (App. Br. 10, 11 ). Appellants contend the Examiner's interpretation of the claimed "determining whether a first expression ... is modified by the code" (emphasis added) as corresponding to Tyson's determining the expression is utilized in the code is incorrect because the claimed determining "does not hinge on whether the expressions are used[; r]ather, it hinges on how the expressions are used in the code" (Reply Br. 2, 4 (citing Spec. i-fi-f 12, 28-30)). We agree with Appellants and conclude the Examiner's claim interpretation with respect to the claimed determining is overly broad, when properly construed in view of Appellants' 3 Appeal2015-000788 Application 11/536,047 disclosure, which requires a determination based on the expression's use in the code.2 The Examiner has not shown that the additional teachings of Agaram, Bhansali, and Wall make up for the above-noted deficiencies of Tyson. Absent findings that Tyson, Agaram, Bhansali, or Wall teaches the claimed determining whether an expression is modified by the code and resetting a bit responsive to the determining, we do not sustain the Examiner's rejection of independent claim 1 and claims 2, 4, 6, and 7 dependent therefrom. We also do not sustain the Examiner's rejection of independent claims 8 and 15, argued for substantially the same reasons as claim 1, and claims 9, 11, 13, 14, 16, 18, and 20 dependent therefrom (App. Br. 12, 13). We do not address Appellants' remaining arguments because this issue is dispositive with respect to all claims on appeal. DECISION The Examiner's decision rejecting claims 1, 2, 4, 6-9, 11, 13-16, 18, and 20 is reversed. REVERSED 2 Appellants' Specification provides "the code is scanned for expressions that can be effectively accessed from highly cached memory, e.g., expressions that are not modified by the rest of the code. This involves examining the use of the expression . ... If the use of the expression requires that the expression be loaded into a register, the bit corresponding to that expression is seen as reset. ... If no use of the expression caused the bit to be reset, then unspilling may be performed ... "(Spec. i-fi-129, 30 (emphasis added)). 4 Copy with citationCopy as parenthetical citation