Ex Parte MosbergerDownload PDFBoard of Patent Appeals and InterferencesApr 28, 201110886705 (B.P.A.I. Apr. 28, 2011) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ____________ Ex parte DAVID MOSBERGER _____________ Appeal 2009-011282 Application 10/886,705 Technology Center 2100 ____________ Before CARLA M. KRIVAK, THOMAS S. HAHN, and ELENI MANTIS MERCADER, Administrative Patent Judges. MANTIS MERCADER, Administrative Patent Judge. DECISION ON APPEAL Appeal 2009-011282 Application 10/886,705 2 STATEMENT OF THE CASE Appellant appeals under 35 U.S.C. § 134(a) from the non-final rejection of claims 1-33. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. INVENTION Appellant’s Figure 2 is reproduced below: Appeal 2009-011282 Application 10/886,705 3 Appellant’s Figure 2 and claimed invention is directed to a system used as an analysis tool operable to analyze call counts for functions called in the program being monitored. At step 201, a first software layer 120 and a second software layer 130 determine a sampling interval for sampling function calls for a program. The first software layer 120 may randomly select a sampling interval within a range received from the second software layer 130. At step 201, the first software layer 120 samples function calls based on the sampling interval. At step, 203 the second software layer 130 sums the sampled function calls collected during a predetermined period of time. Finally, at step 204, the second software layer 130 determines call counts for the program based at least on the sampled function calls collected during the predetermined period of time. See Spec. 6:9-11, 11:15–12:17; Figs.1, 2. Claims 1 and 26, reproduced below, are representative of the subject matter on appeal: 1. A method of determining call counts in a program, the method comprising: determining a sampling interval; sampling function calls based on the sampling interval; and determining the call counts based on the sampled function calls. 26. An apparatus comprising: a branch trace buffer operable to store entries for function calls executed in a program; and a processor operable to sample the branch trace buffer during a predetermined period of time to determine call counts of the function calls executed in the program. THE REJECTIONS The Examiner relies upon the following as evidence of unpatentability: Appeal 2009-011282 Application 10/886,705 4 Agrawal US 5,768,500 Jun. 16, 1998 Bates US 6,360,360 B1 Mar. 19, 2002 The following rejections are before us for review: 1. The Examiner rejected claim 26 under 35 U.S.C. § 102(b) as being anticipated by Bates. 2. The Examiner rejected claims 1-25 and 27-33 under 35 U.S.C. § 103(a) as being unpatentable over Bates in view of Agrawal. ISSUE The pivotal issue is whether Appellant has shown error in the Examiner’s finding that Bates teaches sampling function calls as required by claims 1 and 26. PRINCIPLES OF LAW Appellant has the burden on appeal to the Board to demonstrate error in the Examiner’s position. See In re Kahn, 441 F.3d 977, 985-86 (Fed. Cir. 2006). “[O]ne cannot show non-obviousness by attacking references individually where . . . the rejections are based on combinations of references.” In re Keller, 642 F.2d 413, 426 (CCPA 1981). ANALYSIS I. Analysis with respect to the rejection of claim 26 under 35 U.S.C. § 102(b) as being anticipated by Bates Appellant argues that Bates does not teach that a count vector 500 is sampled to determine count calls (Br. 9). Appellant argues that sampling as described in the Specification and as defined in Merriam-Webster’s Online Appeal 2009-011282 Application 10/886,705 5 Dictionary can be described as the act, process, or technique of selecting a representative part of a population for the purpose of determining parameters or characteristics of the whole population (Br. 10). Appellant asserts that at best, Bates may read the count vector 500 to determine the estimated call counts (Br. 10). However, the count vector 500 is not sampled to determine call counts, but rather, the final call counts (Br. 10). Appellant further argues that Bates fails to teach sampling a branch buffer at a predetermined period of time to determine count calls because the count vector 500 of Bates is an integer list of call counts—it is not a buffer and it is not sampled (Br. 11). We are not persuaded by Appellant’s arguments. We agree with the Examiner’s finding (Ans. 22-23) that Bates does not teach “the final call counts” but rather “an estimation of the number of times the corresponding function is called within the computer system” (col. 8, ll. 1-3 (emphasis added)). Furthermore, we agree with the Examiner’s reasoning that because the count vector 500 comprises an integer list for each function of the object (e.g., functions A-N in Fig. 5), each function is sampled from the population of all functions (i.e., function D is called 8 times whereas function C is called once) (see col. 7, l. 64–col. 8, l. 11) to determine how many times each function is called within the program (i.e., determining characteristics of the whole population). We are also not persuaded by Appellant’s assertion that the vector 500 is not a buffer because Appellant has not explained why it does not constitute a buffer, and thus, has not shown error in the Examiner’s rationale. Nonetheless, we agree with the Examiner’s reasoning (Ans. 23) that “buffer” can be a link list, an array, or a vector stored in a memory. We Appeal 2009-011282 Application 10/886,705 6 also agree with the Examiner (Ans. 23-24) that Bates (col. 8, ll. 43-48) additionally teaches that the function call profile is represented in count vector 500 of main memory 120, and thereby, even if vector 500 is not a buffer, the main memory 120 in Bates does constitute a buffer because it contains all the functions represented in count vector 500 and stores them until a compiler accesses it. For the foregoing reasons, we will affirm the Examiner’s rejection of claim 26. II. Analysis with respect to the rejection of claims 1-25 and 27-33 under 35 U.S.C. § 103(a) Appellant argues (Br. 12) that Agrawal fails to cure Bates’s deficiency of sampling function calls and sampling a branch trace buffer storing function calls to determine call counts. We are not persuaded for the reasons articulated supra under section I. Furthermore, one cannot show non-obviousness by attacking references individually (i.e., Agrawal not teaching sampling function calls and determining the call counts based on the sampled function calls) where the rejections are based on a combination of references (i.e., Bates teaches sampling function calls and determining the call counts based on the sampled function calls). See Keller, 642 F.2d at 426. Agrawal was introduced by the Examiner (Ans. 24) for teaching the limitation of “determining a sampling interval” as recited in representative claim 1, by teaching randomizing sampling by varying the inter-sample interval (col. 12, ll. 22-29). Thus, we will also affirm the Examiner’s rejection of representative claim 1, and for similar reasons the rejections of claims 2-25 and 27-33, which are not separately argued. Appeal 2009-011282 Application 10/886,705 7 CONCLUSION Appellant has not shown error in the Examiner’s finding that Bates teaches sampling function calls as required by claims 1 and 26. ORDER The decision of the Examiner to reject claims 1-33 is 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)(iv). AFFIRMED babc Copy with citationCopy as parenthetical citation