Ex Parte Chen et alDownload PDFPatent Trial and Appeal BoardOct 31, 201613444907 (P.T.A.B. Oct. 31, 2016) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE FIRST NAMED INVENTOR 13/444,907 04/12/2012 Tong Chen 50170 7590 10/31/2016 IBM CORP, (WIP) c/o WALDER INTELLECTUAL PROPERTY LAW, P.C. 17304 PRESTON ROAD SUITE 200 DALLAS, TX 75252 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. AUS920100107US2 2351 EXAMINER VU, TUAN A ART UNIT PAPER NUMBER 2193 MAILDATE DELIVERY MODE 10/31/2016 PAPER 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. PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte TONG CHEN, BRIAN FLACHS, BRAD W. MICHAEL, MARK R. NUTTER, JOHN K.P. O'BRIEN, KATHRYN M. O'BRIEN, and TAO ZHANG 1 Appeal2015-003650 Application 13/444,907 Technology Center 2100 Before ALLEN R. MacDONALD, HUNG H. BUI, and MICHAEL M. BARRY, Administrative Patent Judges. BARRY, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from a Final Rejection of claims 1, 6-10, and 22, which constitute all pending claims. We have jurisdiction under 35 U.S.C. § 6(b). We REVERSE. 1 Appellants identify the real party in interest as International Business Machines Corp. App. Br. 2. Appeal2015-003650 Application 13/444,907 Introduction Appellants describe their application as relating "to mechanisms for arranging binary code based on call graph partitioning to reduce instruction cache conflict misses." (Spec i-f 1.) Claim 1 is representative: 1. A method, in a data processing system, for arranging binary code to reduce instruction cache conflict misses, compnsmg: generating, by a processor of the data processing system executing a compiler, a call graph of a portion of code; weighting, by the compiler, nodes and edges in the call graph to generate a weighted call graph; partitioning, by the compiler, the weighted call graph according to the weights, affinities between nodes of the call graph, and the size of cache lines in an instruction cache of the data processing system, so that binary code associated with one or more subsets of nodes in the call graph are combined into individual cache lines based on the partitioning; and outputting, by the compiler, the binary code corresponding to the partitioned call graph for execution in a computing device, wherein each node in the call graph is weighted according to a size of code associated with the node and each edge in the call graph is weighted according to an estimate of a number of calls between nodes of the edge, and wherein partitioning the weighted call graph comprises performing the following operations iteratively until an edge having a maximum weight cannot be selected from unprocessed edges of the weighted call graph: selecting an edge from the unprocessed edges of the weighted call graph that has a maximum weight of the weights of the unprocessed edges; determining if nodes of the selected edge should be merged into a new node or not; and 2 Appeal2015-003650 Application 13/444,907 merging the nodes of the selected edge into a new node in response to a determination that the nodes of the selected edge should be merged. App. Br. 37 (Claims App'x) (dispositive requirement emphasized). Rejections (1) Claims 1and6-8 stand rejected under 35 U.S.C. § 103(a) as obvious over: Ju et al. ("Ju2")2 Chilimbi et al. ("Chilimbi") Lams et al. ("Lams")3 Ju et al. ("Ju") Li et al. ("Li") Archambault et al. ("Archambault") US 6, 175,957B1 US 6,330,556 B 1 US 6,360,361 Bl US 6,839,895 Bl US 2005/0155023 Al US 2005/0246700 Al Delong et al. ("Delong") US 2007 /0286483 Al Final Act. 2-14. Jan 16, 2001; Dec. 11, 2001; Mar. 19, 2002; Jan. 4, 2005; July 14, 2005; Nov. 3, 2005; and Dec. 13, 2007. (2) Claims 9 and 10 stand rejected under 35 U.S.C. § 103(a) as obvious over Ju, Ju2, Li, Archambault, Chilimbi, Delong, Lams, and Kawaguchi (US 5,926,632; July 20, 1999). Final Act. 14--18. (3) Claim 22 stands rejected under 35 U.S.C. § 103(a) as obvious over Ju, Ju2, Li, Archambault, Delong, Chilimbi, and Kiriansky et al. (US 2004/0133777 Al; July 8, 2004) ("Kiriansky"). Final Act. 18-19. ( 4) Claims 1, 6-10, and 22 stand provisionally rejected under the judicially created doctrine of obviousness-type double patenting over claims 11 and 16-28 of Application No. 12/823,244 (the "'244 application"). Final Act. 20. 2 Ju was filed as a continuation of the application from which Ju2 issued. 3 Chilimbi also includes and describes the same figures as in Lams (applications for both were filed contemporaneously, by the same inventors). 3 Appeal2015-003650 Application 13/444,907 ANALYSIS 35U.S.C.§103(a) Rejection In rejecting claim 1 as obvious, the Examiner finds Ju does not disclose the dispositive requirement (Final Act. 6) but that it teaches "cumulatively clustering of nodes in view of a size limit to determine whether node pair merging (based on weight of their edges) can be carried out or stopped" as part of an iterative process (Final Act. 7). The Examiner reasons that for such an iterative process in Ju, "for implementing spatial closeness in cache, [giving priority] to highest weight of edges" as required by the dispositive requirement "is either disclosed or would have been obvious." (Final Act. 8). The Examiner further finds Lams, Delong, and Archambault each teach processing a weighted graph in weight order, starting with the node having the highest weight. (Final Act. 8-10.) The Examiner determines that modifying Ju's heuristic to achieve the dispositive requirement based on the teachings of "Ju, Delong, Lams, and/or Archambault, for the purpose of improving cache utilization and reducing performance drawback[s] ... would have been obvious .... " Final Act. 10. Appellants argue the Examiner misinterprets Ju, and instead that essentially what Ju is doing is generating clusters based on a smallest power of 2 multiple of a cache line, and then using the clusters as nodes in a next level PEG [Program Execution Graph] in which the weights of the clusters are set to 1 and the weights of the edges between the clusters is equal to the number of edges between nodes in one cluster and nodes in the other cluster. It is noted that nowhere in this process, is there any selection of any edge in the PEG based on the edge having a maximum weight of the unprocessed edges. There simply is no operation anywhere in Ju that performs such a selection .... 4 Appeal2015-003650 Application 13/444,907 Reply Br. 13 (referring to the process described for Ju Figures 6a-b). We agree. Appellants persuade us that Ju's iterative process for generating clusters of (merging) nodes does not teach or suggest the dispositive requirement to iteratively select an unprocessed edge that has a maximum weight (which then is processed) until it is impossible to select such a maximally weighted, unprocessed edge. (See App. Br. 7-12.) Appellants further persuade us that Lams, Li, Archambault, Chilimbi, and Delong, alone or in combination, do not teach or suggest the dispositive requirement. (See App. Br. 12-22; Reply Br. 7-16). We accordingly do not sustain the rejection of claim 1under35 U.S.C. § 103(a). We thus also do not sustain the§ 103(a) rejection of dependent claims 6-10 and 22. Provisional Obviousness-Type Double Patenting Rejection We note the '244 application, the claims of which the Examiner used for this double-patenting rejection; issued as U.S. Patent No. 9;459;851 B2 on October 4, 2016 ("'851 patent"). The claims of the '244 application considered by the Examiner in the rejection are substantively the same as the claims in the '851 patent. Appellants do not contest the merits of the provisional double- patenting rejection and instead state it "should be held in abeyance until such time as one or both of the applications are in condition for allowance[,] at which time Appellants will consider the merits of the rejection with regard to the then state of the claims." (App. Br. 3.) Notwithstanding Appellants' invitation for us to "take a pass" on this issue, we exercise our discretion to decide whether or not to sustain this rejection. (See Hyatt v. Dudas, 551 5 Appeal2015-003650 Application 13/444,907 F.3d 1307, 1314 (Fed. Cir. 2008) (explaining the PTO may affirm an uncontested rejection, without even considering the merits.) We agree with the Examiner's stated reasons for why claims 1, 6-10, and 22 are obvious variants of the corresponding claims of the "244 application. (See Final Act. 20.) Accordingly, we sustain the rejection of claims 1, 6-10, and 22 for obviousness-type double patenting. We note Appellants can overcome this rejection with a timely filed terminal disclaimer in compliance with 37 C.F.R. § 1.321(c). DECISION For the foregoing reasons, we reverse the rejection of claims 1, 6-10, and 22 as obvious under 35 U.S.C. § 103(a) and affirm the rejection of these claims under the doctrine of obviousness-type double patenting. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(l )(iv) REVERSED 6 Copy with citationCopy as parenthetical citation