Ex Parte Barsness et alDownload PDFPatent Trial and Appeal BoardMar 24, 201411928768 (P.T.A.B. Mar. 24, 2014) 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. 11/928,768 10/30/2007 Eric Lawrence Barsness ROC920070247US1 7809 46797 7590 03/24/2014 IBM CORPORATION, INTELLECTUAL PROPERTY LAW DEPT 917, BLDG. 006-1 3605 HIGHWAY 52 NORTH ROCHESTER, MN 55901-7829 EXAMINER SHANMUGASUNDARAM, KANNAN ART UNIT PAPER NUMBER 2158 MAIL DATE DELIVERY MODE 03/24/2014 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 ERIC LAWRENCE BARSNESS, DAVID L. DARRINGTON, AMANDA PETERS, and JOHN MATTHEW SANTOSUOSSO __________ Appeal 2011-011708 Application 11/928,768 Technology Center 2100 __________ Before DONALD E. ADAMS, DEMETRA J. MILLS, and JEFFREY N. FREDMAN, Administrative Patent Judges. FREDMAN, Administrative Patent Judge. DECISION ON APPEAL This is an appeal1 under 35 U.S.C. § 134 involving claims to a method of performing a garbage collection cycle on a parallel computing system having a plurality of compute nodes. The Examiner rejected the claims as anticipated and as obvious. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 Appellants identify the Real Party in Interest as International Business Machines Corporation (see App. Br. 2). Appeal 2011-011708 Application 11/928,768 2 Statement of the Case Background “A garbage collector is software that runs concurrently with object- oriented applications to free up memory as applications release objects” (Spec. 1 ¶ 0002). The Specification teaches that “[k]eeping objects logically separated allows the garbage collector to more aggressively check the objects in the nursery since they are more likely to be short-lived, and only periodically analyze the objects in the tenured space since they are more likely to be long-lived” (Spec. 2 ¶ 0005). The Claims Claims 1-7, 9-15, and 17-23 are on appeal. Claim 1 is representative and reads as follows: 1. A method of performing a garbage collection cycle on a parallel computing system having a plurality of compute nodes each running an instance of a computing job and a garbage collector, comprising: identifying, by the instance of the garbage collector running on each of the plurality of compute nodes, an object space in a memory of a respective compute node, wherein the object space stores one or more objects allocated by the instance of the computing job running on the respective compute node; evaluating each object in the object space to determine whether the memory allocated to each respective object is eligible to be collected; upon determining that the memory allocated to a given object is eligible to be collected, removing the given object from the object space and returning memory allocated to the given object to a pool; determining a set of garbage collection statistics associated with at least one evaluated object in the object space; and Appeal 2011-011708 Application 11/928,768 3 transmitting the set of garbage collection statistics to a master garbage collector running on a compute node of the parallel computing system, wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes, of the plurality. The issues A. The Examiner rejected claims 1, 9, and 17 under 35 U.S.C. § 102(b) as anticipated by Taura2 (Ans. 4-10). B. The Examiner rejected claims 2-7, 10-15, and 18-23 under 35 U.S.C. § 103(a) as obvious over Taura and Agesen3 (Ans. 11-23). Because both of these rejections turn on the same issues, we will consider these rejections together. The Examiner finds that Taura teaches all of the limitations of the claims, including the limitation in claim 1 to transmitting the set of garbage collection statistics to a master garbage collector running on a compute node of the parallel computing system, wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes, of the plurality. 2 Kenjiro Taura & Akinori Yonezawa, An Effective Garbage Collection Strategy for Parallel Programming Languages on Large Scale Distributed-Memory Machines, PROCEEDINGS OF THE SIXTH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING 264-275 (1997). 3 Agesen et al., US 2001/0044856 A1, published Nov. 22, 2001. Appeal 2011-011708 Application 11/928,768 4 (Ans. 4-6.) The Examiner finds that “heap size in Taura is a garbage collection statistic because heap size is directly related to the garbage collection process” (Ans. 27). The Examiner finds that “[s]ince heap size is increased only when necessary to avoid too frequent garbage collections, then the heap size is ‘derived from garbage collection activities performed by a garbage collector on a processing node’ as required by the Appellant” (Ans. 28). The Examiner finds that Taura teaches “wherein a set of garbage collection statistics are determined (‘H’ is determined), transmitted, and then distributed when in Taura, the processor i.e. node, has the largest local heap size, i.e. M, and each processor is informed of that heap size i.e. during the global collection” (Ans. 26-27). The issue with respect to this rejection is: Does the evidence of record support the Examiner’s conclusion that Taura anticipates claim 1? Findings of Fact 1. The Specification teaches that: The garbage collector 320 running on each node 112 may collect specific information about the object types they are tracking, such as percentage of objects of this type that are long lived, average life time of an object, average life time of short lived objects of this type, average life time of long lived objects of this type, etc. The nodes then share this information to the master node, which then distributes the shared information back out to all of the nodes. (Spec. 12 ¶ 0038.) 2. The Specification teaches that “the garbage collector may store job creation statistics in the garbage collection statistics 530. Job creation Appeal 2011-011708 Application 11/928,768 5 statistics may include, e.g., object type, date and time of object creation, and name of method that creates the object” (Spec. 17 ¶ 0053). 3. Taura teaches “design and implementation of a garbage collection scheme on large-scale distributed-memory computers” (Taura, abstract). 4. Taura teaches A global collection is invoked when a local collection is not invoked by the criterion in the previous section and when enough allocation has been done since the last global collection. More precisely, letting H be the local heap size, Al the amount of allocation done since the last local collection, Ag the amount of allocation done since the last global collection, and r a customizable parameter, we invoke a global collection when: Al ≤ H/r < Ag. That is, when enough allocation has not been done since the last local collection, but has been done since the last global collection. (Taura 269, col. 2.) 5. Taura teaches that Each processor is informed of the largest local heap size over all the processors. Let us call the value M, which is made consistent at every global collection. When a processor’s local heap size is smaller than cM where c is a constant close to 1.0 (we currently set c to 0.8), the processor expands the heap without invoking a garbage collection. (Taura 269, col. 1.) Appeal 2011-011708 Application 11/928,768 6 6. Taura teaches that “if this policy would not be taken, synchronized local collections would become unreasonably frequent” (Taura 269, col. 1). Principles of Law “In proceedings before the Patent and Trademark Office, the Examiner bears the burden of establishing a prima face case of obviousness based upon the prior art.” In re Fritch, 972 F.2d 1260, 1265 (Fed. Cir. 1992). In addition, “obviousness requires a suggestion of all limitations in a claim.” CFMT, Inc. v. Yieldup Int’l Corp., 349 F.3d 1333, 1342 (Fed. Cir. 2003). Analysis We begin with claim interpretation, since before a claim is properly interpreted, its scope cannot be compared to the prior art. There are two disputed phrases, “garbage collection statistic” and “wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes, of the plurality” in claim 1. During prosecution, claim terms are given their broadest reasonable interpretation as they would be understood by persons of ordinary skill in the art in the light of the Specification. Therefore, we first turn to the Specification to interpret these phrases. Appeal 2011-011708 Application 11/928,768 7 “Garbage collection statistic” The issue here is whether the broadest reasonable interpretation of “garbage collection statistic” encompasses “heap size” as such a statistic. Appellants contend that the “size of the heap on a given processing node is not a garbage collection statistic” (App. Br. 13). Appellants contend that while “Taura points out the heap size may be relevant to what type of garbage collection cycle to perform, it is not a statistic derived from garbage collection activities performed by a garbage collector on a given processing node” (App. Br. 13). The Specification teaches that the garbage collectors “collect specific information about the object types they are tracking, such as percentage of objects of this type that are long lived, average life time of an object” (Spec. 12 ¶ 0038; FF 1). The Specification also teaches that “the garbage collector may store job creation statistics in the garbage collection statistics 530. Job creation statistics may include, e.g., object type, date and time of object creation, and name of method that creates the object” (Spec. 17 ¶ 0053; FF 2). Thus, “garbage collection statistics” reasonably include a variety of different statistics relating to garbage collection. When Taura teaches that heap size is a statistic shared by processors (FF 5) which is obtained because otherwise “synchronized local collections would become unreasonably frequent” (FF 6) by the garbage collector, we agree with the Examiner that “heap size” in Taura is reasonably interpreted as a “garbage collection statistic.” Appeal 2011-011708 Application 11/928,768 8 “wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes, of the plurality” The subtle issue for this phrase is whether it encompasses the situation where a single node provides a “statistic” for distribution to the plurality of other nodes, or whether the phrase requires that each of the plurality of nodes provide a “statistic” for distribution to the plurality of nodes. Appellants contend that “even if the heap size of a given processor is presumed to be a ‘garbage collection statistic,’ nothing in Taura suggests that the heap size of each node is transmitted to all the processing nodes, as recited by the present claims” (App. Br. 14). The Specification teaches that the “nodes then share this information to the master node, which then distributes the shared information back out to all of the nodes” (Spec. 12 ¶ 0038; FF 1). Thus, the Specification provides descriptive support for the second alternative, where each node provides “statistics” to the master node which are then distributed back to all of the nodes (FF 1). We find that claim 1 is reasonably interpreted as requiring that each node provides information to the master node which redistributes to each of the nodes, since the claim states that “wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes.” This is most reasonably understood as requiring that each node has a garbage collector Appeal 2011-011708 Application 11/928,768 9 which has transmitted “statistics” to a master garbage collector. The claim then requires that these are distributed back to the plurality of garbage collection nodes. Having interpreted claim 1, we agree with Appellants that while Taura teaches distribution by a master node of a garbage statistic to each of the other nodes (FF 5), Taura does not teach receiving garbage collection statistics from each of the nodes. At best, Taura teaches receiving the heap size statistic from a particular node. The Examiner has not established that Taura teaches a master node which receives garbage collection statistics from each of the respective nodes. Conclusion of Law The evidence of record does not support the Examiner’s conclusion that Taura anticipates claim 1. B. 35 U.S.C. § 103(a) over Taura and Agesen This rejection relies upon the underlying anticipation rejection over Taura. Having reversed the rejection of claim 1, we necessarily reverse this obviousness rejection further including Agesen, since Agesen is not relied upon to teach “wherein the master garbage collector distributes the transmitted set of garbage collection statistics received from the garbage collector on each respective compute node to the instance of the garbage collector running on the other compute nodes, of the plurality” as required by claim 1. Appeal 2011-011708 Application 11/928,768 10 SUMMARY In summary, we reverse the rejection of claims 1, 9, and 17 under 35 U.S.C. § 102(b) as anticipated by Taura. We reverse the rejection of claims 2-7, 10-15, and 18-23 under 35 U.S.C. § 103(a) as obvious over Taura and Agesen. REVERSED cdc Copy with citationCopy as parenthetical citation