Ex Parte Delmonte et alDownload PDFBoard of Patent Appeals and InterferencesOct 6, 201111089109 (B.P.A.I. Oct. 6, 2011) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ____________ Ex parte JANIS DELMONTE, JOE DOUGLAS BOLDING, and DANIEL G. TORMEY ____________ Appeal 2009-010388 Application 11/089,1091 Technology Center 2100 ____________ Before JOSEPH L. DIXON, JEAN R. HOMERE, and MICHAEL R. ZECHER, Administrative Patent Judges. ZECHER, Administrative Patent Judge. DECISION ON APPEAL 1 Filed on March 24, 2005. The real party in interest is Hewlett-Packard Development Co., L.P. (App. Br. 2.) Appeal 2009-010388 Application 11/089,109 2 I. STATEMENT OF THE CASE Appellants appeal under 35 U.S.C. § 134(a) (2002) from the Examiner’s final rejection of claims 1-11 and 18-25. (App. Br. 2.) Claims 12-17 have been cancelled. (Id.) We have jurisdiction under 35 U.S.C. § 6(b) (2008). We affirm. Appellants’ Invention Appellants invented a method, computer-readable medium, and system for evaluating code usage that includes monitoring instructions executed by a processor, counting instances of execution of each instruction, correlating the executed instructions with source code instructions, and providing an indication of source code usage to a user. (Spec. 2, ll. 10-14.) Illustrative Claim 1. A method for evaluating code usage, the method comprising: monitoring instructions of a program executed by a processor; counting instances of execution of each of the instructions; correlating the executed instructions with source code instructions; and providing from the correlating an indication of source code usage to a user; wherein no code is added to the program to facilitate monitoring. Appeal 2009-010388 Application 11/089,109 3 Prior Art Relied Upon Bolosky US 5,485,574 Jan. 16, 1996 Levine US 2005/0071816 A1 Mar. 31, 2005 (filed on Sept. 30, 2003) Bennett US 6,934,935 B1 Aug. 23, 2005 (filed Apr. 25, 2000) Dimpsey US 2005/0210452 A1 Sept. 22, 2005 (filed Mar. 22, 2004) Rejections on Appeal Claims 1, 8-10, 18, and 22 stand rejected under 35 U.S.C. § 102(b) as being anticipated by Bolosky. Claims 2-7 and 19-21 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over the combination of Bolosky and Levine. Claim 11 stands rejected under 35 U.S.C. § 103(a) as being unpatentable over the combination of Bolosky and Dimpsey. Claims 23 and 24 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over the combination of Bolosky and Bennett. Claim 25 stands rejected under 35 U.S.C. § 103(a) as being unpatentable over the combination of Bolosky, Bennett, and Levine. Appellants’ Contentions Appellants contend that Bolosky’s disclosure of counting the number of instructions executed by a function each time the function is called does not describe “counting instances of execution of each of the instructions,” as recited in independent claim 1. (App. Br. 9; Reply Br. 2-3.) Further, Appellants argue that Bolosky’s disclosure of not requiring modifications to the program being monitored does not describe that “no code is added to the Appeal 2009-010388 Application 11/089,109 4 program to facilitate monitoring,” as claimed. (App. Br. 10-11; Reply Br. 3.) In particular, Appellants allege that Bolosky’s disclosure of adding code to the program being monitored to enable breakpoints necessary to count execution of the instructions directly contradicts the Examiner’s position that Bolosky’s disclosure of not requiring modifications amounts to not adding code to the program being monitored. (App. Br. 11-12; Reply Br. 3-5.) Examiner’s Findings and Conclusions The Examiner finds that Bolosky’s disclosure of a facility that allows a user to count the number of executions executed by a function each time the function is called describes “counting instances of execution of each of the instructions,” as recited in independent claim 1. (Ans. 17.) Further, the Examiner finds that Bolosky’s disclosure of providing a nonintrusive approach to performance monitoring that does not require any modifications to the program being monitored describes “no code is added to the program to facilitate monitoring,” as claimed. (Id. at 18-19.) Moreover, the Examiner distinguishes Bolosky’s disclosure of adding breakpoints to a program under debugging execution from a program under normal execution, which should not be interrupted by breakpoints. (Id. at 19.) II. ISSUE Have Appellants shown that the Examiner erred in finding that Bolosky anticipates independent claim 1? In particular, the issue turns on whether Bolosky describes the following claim limitations: (a) “counting instances of execution of each of the instructions;” and Appeal 2009-010388 Application 11/089,109 5 (b) “wherein no code is added to the program to facilitate monitoring.” III. FINDINGS OF FACT The following Findings of Fact (hereinafter “FF”) are shown by a preponderance of the evidence. Bolosky FF 1. Bolosky discloses a facility within the kernel of an operating system that monitors the performance of programs. (Col. 2, ll. 13-15.) In particular, Bolosky discloses that the facility allows a user to count the number of instructions executed by a function each time that the function is called. (Id. at ll. 16-18.) FF 2. Bolosky discloses that the facility within the kernel of the operating system enhances the speed of monitoring and provides a nonintrusive approach to performance monitoring that does not require any modifications to the program being monitoring. (Id. at ll. 28-32.) FF 3. Bolosky discloses using a breakpoint interrupt to break the uninhibited execution of a program. (Col. 3, ll. 36-37.) Bolosky discloses that a breakpoint interrupt is helpful in debugging and performance monitoring programs. (Id. at ll. 36-37.) Bolosky also discloses that in many instances, the majority of a program may already be debugged or tuned and, therefore, only a small portion of the program needs to be examined in more detail. (Id. at ll. 39-42.) Bolosky discloses that a breakpoint interrupt is especially suited in such circumstances. (Id. at ll. 42-43.) FF 4. Bolosky discloses generating a breakpoint interrupt by inserting a special operation code into a program. (Id. at ll. 43-44.) Appeal 2009-010388 Application 11/089,109 6 IV. ANALYSIS 35 U.S.C. § 102(b) Rejection Claim 1 Independent claim 1 recites, inter alia, 1) “counting instances of execution of each of the instructions;” and 2) “wherein no code is added to the program to facilitate monitoring.” As detailed in the Findings of Fact section supra, Bolosky discloses a facility located within the kernel of an operating system that allows a user to count the number of instructions executed by a function each time the function is called. (FF 1.) In particular, by counting the number of instructions executed by a function each time the function is called, Bolosky describes identifying and recording each instance of execution of each instruction by the function. Thus, we find that Bolosky describes “counting instances of execution of each of the instructions,” as recited in independent claim 1. Further, since independent claim 1 recites “wherein no code is added to the program to facilitate monitoring,” independent claim 1 includes a negative limitation. Although permissible,2 a negative limitation merely recites what a claim lacks and, therefore, is broad by its very nature. Consequently, the scope and breadth of independent claim 1 is fully met by a method that includes monitoring the instructions of a program executed by 2 See generally Animal Legal Defense Fund v. Quigg, 932 F.2d 920, 923 (Fed. Cir. 1991) (“The use of a negative limitation to define the metes and bounds of the claimed subject matter is a permissible form of expression.”) (citation omitted). Appeal 2009-010388 Application 11/089,109 7 a processor wherein the method does not otherwise include the negative limitation—namely adding code to facilitate monitoring. Bolosky discloses that the facility located within the kernel of the operating system provides a nonintrusive approach to performance monitoring that does not require any modifications to a program being monitored. (FF 2.) Since the disclosed performance monitoring does not require any modifications to a program being executed by the processor, we agree with the Examiner that such failure to modify the program is tantamount to “wherein no code is added to the program to facilitate monitoring” as recited in independent claim 1. (Ans. 18-19.) Moreover, we are not persuaded by Appellants’ argument that Bolosky’s disclosure of adding code to the program being monitored to enable breakpoints necessary to count execution of the instructions directly contradicts the Examiner’s position that Bolosky’s disclosure of not requiring modifications amounts to not adding code to the program being monitored. (App. Br. 11-12; Reply Br. 3-5.) We find Appellants’ argument irrelevant to whether the Examiner’s position is in error. Nonetheless, in order to fully address Appellants’ argument, Bolosky discloses that generating a breakpoint interrupt by inserting special operation code into a program is helpful in order to break the uninhibited execution of a program. (FFs 3 and 4.) In particular, Bolosky discloses that breakpoint interrupts are especially suited in circumstances where only a small portion of the program needs to be examined in more detail. (FF 3.) We find that such disclosure implies that although generating a breakpoint interrupt may be suitable in some circumstance, it may not be suitable in other circumstances. Since independent claim 1 does not explicitly differentiate Appeal 2009-010388 Application 11/089,109 8 between monitoring the instructions of a long and short program, we find that the special circumstance where the instructions of a short program are being monitored breakpoint interrupts need not be generated. Therefore, we are satisfied that Bolosky’s disclosure specifically prescribes against adding special operation code to a program to facilitate monitoring (e.g., monitoring the instructions of a short program). As a result, we find that Appellants’ argument does not show reversible error in the Examiner’s rejection. Consequently, since the textual portion of Bolosky relied upon by the Examiner sufficiently describes the negative limitation, it follows that Appellants have not shown the Examiner erred in finding that Bolosky anticipates independent claim 1. Claims 8-10 Appellants do not provide separate and distinct arguments for patentability with respect to dependent claims 8-10. (See App. Br. 8-10.) Consequently, we accept Appellants’ grouping of dependent claims 8-10 with independent claim 1. (Id.) Therefore, dependent claims 8-10 fall with independent claim 1. See 37 C.F.R. § 41.37(c)(1)(vii). Claims 18 and 22 Independent claim 18 recites similar claim limitations as independent claim 1. (See App. Br. 13.) Therefore, for the same reasons discussed supra, Appellants have not shown the Examiner erred in finding that Bolosky anticipates independent claim 18. Moreover, Appellants do not provide separate and distinct arguments for patentability with respect to dependent claim 22. (Id.) Consequently, we accept Appellants’ grouping of dependent claim 22 with independent claim 18. (Id.) Therefore, dependent claim 22 falls with independent claim 18. See 37 C.F.R. § 41.37(c)(1)(vii). Appeal 2009-010388 Application 11/089,109 9 35 U.S.C. § 103(a) Rejections Claims 2-7, 11, 19-21, and 25 Appellants argue that neither Levine, Dimpsey, nor Bennett cure the noted deficiencies of Bolosky and, therefore, the cited combinations do not render dependent claims 2-7, 11, 19-21, and 25 unpatentable. (See App. Br. 14-17.) We do not agree. As discussed supra, we find no such deficiencies in Bolosky for Levine, Dimpsey, or Bennett to remedy. It follows that Appellants have not shown the Examiner erred in concluding that: 1) the combination of Bolosky and Levine renders dependent claims 2-7 and 19-21 unpatentable, 2) the combination of Bolosky and Dimpsey renders dependent claim 11 unpatentable; and 3) the combination of Bolosky, Bennett, and Levine renders dependent claims 25 unpatentable. Claims 23 and 24 Appellants contend that Bennett’s disclosure of counting the number of cycles to execute the instructions of a basic block does not teach or suggest “count[ing] instances of execution of each instruction,” as recited independent claim 23. (App. Br. 15-16.) However, we find that Appellants’ argument is misplaced. As discussed supra, the Examiner relied upon Bolosky to teach or suggest the disputed limitation. It follows that Appellants have not shown the Examiner erred in concluding that the combination of Bolosky and Bennett renders independent 23 unpatentable. Moreover, Appellants do not provide separate and distinct arguments for patentability with respect to dependent claim 24. (Id.) Consequently, we accept Appellants’ grouping of dependent claim 24 with independent claim Appeal 2009-010388 Application 11/089,109 10 23. (Id.) Therefore, dependent claim 24 falls with independent claim 23. See 37 C.F.R. § 41.37(c)(1)(vii). V. CONCLUSIONS OF LAW 1. Appellants have not shown the Examiner erred in rejecting claims 1, 8-10, 18, and 22 as being anticipated under 35 U.S.C. § 102(b). 2. Appellants have not shown the Examiner erred in rejecting claims 2-7, 11, 19-21, and 23-25 as being unpatentable under 35 U.S.C. § 103(a). VI. DECISION 1. We affirm the Examiner’s decision to reject claims 1, 8-10, 18, and 22 as being anticipated under 35 U.S.C. § 102(b). 2. We affirm the Examiner’s decision to reject claims 2-7, 11, 19- 21, and 23-25 as being unpatentable under 35 U.S.C. § 103(a). 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 tj Copy with citationCopy as parenthetical citation