Ex Parte KalraDownload PDFBoard of Patent Appeals and InterferencesAug 24, 201010229186 (B.P.A.I. Aug. 24, 2010) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ________________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ________________ Ex parte MOHIT KALRA ________________ Appeal 2009-000716 Application 10/229,186 Technology Center 2100 ________________ Before HOWARD B. BLANKENSHIP, ST. JOHN COURTENAY III, and STEPHEN C. SIU, Administrative Patent Judges. SIU, Administrative Patent Judge. DECISION ON APPEAL1 1 The two-month time period for filing an appeal or commencing a civil action, as recited in 37 C.F.R. § 1.304, or for filing a request for rehearing, as recited in 37 C.F.R. § 41.52, begins to run from the “MAIL DATE” (paper delivery mode) or the “NOTIFICATION DATE” (electronic delivery mode) shown on the PTOL-90A cover letter attached to this decision. Appeal 2009-000716 Application 10/229,186 2 STATEMENT OF THE CASE This is an appeal under 35 U.S.C. § 134(a) from the Examiner’s final rejection of claims 16-35. We have jurisdiction under 35 U.S.C. § 6(b). Invention Appellant’s invention relates to the use of breakpoints in debuggers to initiate time-based breaks (Spec. 1, ll. 5-6). Independent claim 16 is illustrative: 16. A method comprising: setting, in response to a user request, a breakpoint at a first location in the executable code of a computer program; encountering the breakpoint during execution of the executable code; activating a timer in response to encountering the breakpoint; monitoring the timer; performing a first specified action when a specified time period has elapsed. References The Examiner relies on the following references as evidence in support of the rejection: Andrew P. Tolmach et al., Debugging Standard ML Without Reverse Engineering, Proc. of the 1990 ACM Conference on LISP and Functional Programming, pp. 1-12 (1990) (“Tomalch ’90”). Andrew P. Tolmach et al., Debuggable Concurrency Extensions for Standard ML, Proc. of the 1991 ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 120-131 (1991) (“Tomalch ’91”). Appeal 2009-000716 Application 10/229,186 3 Rejection Claims 16-35 are rejected under 35 U.S.C. § 102(b) as being anticipated by Tomalch ’90 and Tomalch ’91.2 ISSUES Issue 1 Appellant argues that “the counter disclosed in [Tolmach ’90] is activated upon initialization of a program and is incremented each time an ‘event’ is executed” (App. Br. 9). Issue: Did the Examiner err in finding that Tolmach ’90 teaches activating a timer in response to encountering a breakpoint? Issue 2 Appellant argues that Tolmach ’90 “discloses incrementing a counter whenever an automatically inserted event is encountered in the code” (App. Br. 9). Issue: Did the Examiner err in finding that Tolmach ’90 teaches performing a first specified action when a specified time period has elapsed? 2 The Examiner merely uses Tolmach ’91 as evidence that “[p]ausing is inherent in debugging process, particularly it is associated with time [sic]” (Ans. 11) (emphasis added). Appellant is aware that Tolmach ’91 “is only referenced with respect to dependent claim 31” (App. Br. 6), but Appellant does not raise any issues based on the Examiner’s use of Tolmach ’91. Therefore, we do not address the proprietary of the Examiner’s use of Tolmach ’91 in conjunction with Tolmach ’90 as the basis for the § 102(b) rejection of claim 31, and claim 32 which depends therefrom. Appeal 2009-000716 Application 10/229,186 4 Issue 3 Appellant argues that Tolmach ’90 “discusses how breakpoints can be set with respect to location or with respect to a number of events that have been executed” (App. Br. 9). Issue: Did the Examiner err in finding that Tolmach ’90 teaches performing a second specified action if a specified time period has not lapsed? Issue 4 Appellant argues that “to effectuate location-based breakpoints, [Tolmach ’90] teaches monitoring of a counter that identifies when events have been encountered, which is the same mechanism used to effectuate ‘time’-based breakpointing” (App. Br. 10). Issue: Did the Examiner err in finding that Tolmach ’90 teaches determining whether a breakpoint is a time-based breakpoint, and wherein activating a timer includes activating the timer if the breakpoint is a time- based breakpoint? Issue 5 Appellant argues that Tolmach ’90 “discloses . . . the incrementing of a counter each time an event that is automatically inserted into code by the debugger is executed” (App. Br. 10) (footnote omitted). Issue: Did the Examiner err in finding that Tolmach ’90 teaches a timer that measures the time during which a central processing unit executes a specified process, a timer that measures the time during which an operating Appeal 2009-000716 Application 10/229,186 5 system kernel is allocated to a process, and a timer that measures a wall- clock time? Issue 6 Appellant argues that Tolmach ’90 “is devoid of any reference to a hardware breakpoint” (App. Br. 10). Issue: Did the Examiner err in finding that Tolmach ’90 teaches a hardware breakpoint? Issue 7 Appellant argues that “[t]he Examiner has misconstrued [claim 30]” (App. Br. 11). Issue: Did the Examiner err in finding that Tolmach ’90 teaches wherein a specified action includes re-activating a timer and wherein a method includes repeating a step of performing? FINDINGS OF FACT The following Findings of Fact (FF) are shown by a preponderance of the evidence. 1. Tolmach ’90 discloses that “encountering a breakpoint simply returns control to the user; in principle, it would be easy to associate actions with these breakpoints as well” (p. 4, col. 2). 2. Tolmach ’90 discloses that “[t]o restart the user program from an arbitrary previous time t, the debugger resets the program state to the latest time ≤ t for which it has a checkpoint, sets targetTime to t, and re-executes forward” (p. 4, col. 1). Appeal 2009-000716 Application 10/229,186 6 3. Tolmach ’90 discloses that the “time-travel mechanism is encapsulated in a routine called gotoTime, which is used as a primitive by many debugger commands” (p. 4, col. 1). 4. Tolmach ’90 discloses that “a break is taken at an event execution if the time of that event matches the value of a targetTime variable maintained by the debugger” (p. 2, col. 2). 5. Tolmach ’90 discloses “[a] summary of . . . instrumentation code” (p. 2, col. 2): fun event(eventNum,lastBindTime,boundValues) = (currentTime := !currentTime + 1; if (!currentTime) = (!targetTime) then break (eventNum,lastBindTime,boundValues) else (); update (eventTimes,eventNum,!currentTime)) (p. 3, fig. 1). 6. Tolmach ’90 discloses that “the methods described can handle multiple breakpoints and mixtures of time- and location-based breakpoints without difficulty” (p. 4, col. 2). 7. Tolmach ’90 discloses that “Execution Time [measured in CPU (central processing unit) seconds] is the time needed to execute the instrumented program to completion without taking breaks” (p. 8, cols. 1-2; tab. 1). 8. Tolmach ’90 discloses an I/O (input/output) program instrumented for debugging (p. 7; tab. 1). 9. Tolmach ’90 discloses that an “instrumented version [of code] requires only a small additional data structure describing events” (p. 9, col. 1). Appeal 2009-000716 Application 10/229,186 7 10. The Specification discloses that “[t]he ‘wall-clock’ time tracks . . . the time elapsed . . . . as if an external entity is using an accurate stopwatch to calculate the time elapsed” (p. 20, ll. 9-11). PRINCIPLES OF LAW Claim interpretation “In the patentability context, claims are to be given their broadest reasonable interpretations. . . . [L]imitations are not to be read into the claims from the specification.” In re Van Geuns, 988 F.2d 1181, 1184 (Fed. Cir. 1993) (citations omitted). Any special meaning assigned to a term “must be sufficiently clear in the specification that any departure from common usage would be so understood by a person of experience in the field of the invention.” Multiform Desiccants Inc. v. Medzam Ltd., 133 F.3d 1473, 1477 (Fed. Cir. 1998). Anticipation In rejecting claims under 35 U.S.C. § 102, “[a] single prior art reference that discloses, either expressly or inherently, each limitation of a claim invalidates that claim by anticipation.” Perricone v. Medicis Pharm. Corp., 432 F.3d 1368, 1375 (Fed. Cir. 2005) (citation omitted). ANALYSIS Issue 1 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches activating a timer in response to encountering a breakpoint. Based on Appeal 2009-000716 Application 10/229,186 8 Appellant’s arguments in the Appeal Brief, we will decide the appeal of claims 16-35 with respect to issue 1 on the basis of claim 16. See 37 C.F.R. § 41.37(c)(1)(vii). Tolmach ’90 teaches that a break is taken at an event execution if the time of that event matches the value of a targetTime variable (FF 4). Tolmach ’90 further teaches returning control to a user after encountering a breakpoint (FF 1) and restarting a user program at time t by setting targetTime to t (FF 2). The time-travel mechanism is encapsulated in a routine called gotoTime, which is used by many debugger commands (FF 3). The targetTime variable is a timer because it establishes a time at which to break. Setting targetTime to time t enables this time-based break, therefore setting targetTime activates the timer. Appellant claims “activating a timer in response to encountering [a] breakpoint” (claim 16). However, the meaning of “in response to,” given a reasonably broad interpretation, allows for additional prerequisites for the activating, such as a user request. Therefore, Tolmach ’90 teaches activating a timer (setting targetTime to t) in response to (after the user invokes a debugger command that uses gotoTime) encountering a breakpoint (the user having regained control after a breakpoint was encountered). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 16, and claims 17-35 which fall therewith with respect to this issue. Appeal 2009-000716 Application 10/229,186 9 Issue 2 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches performing a first specified action when a specified time period has elapsed. Based on Appellant’s arguments in the Appeal Brief, we will decide the appeal of claims 16-35 with respect to issue 2 on the basis of claim 16. See 37 C.F.R. § 41.37(c)(1)(vii). Tolmach ’90 teaches that a break is taken at an event execution if the time of that event matches the value of a targetTime variable (FF 4). This only occurs when the currentTime variable has been incremented a sufficient number of times (FF 5). Time is needed to execute the instrumented program (FF 7), thus, currentTime is incremented as time passes. Therefore, Tolmach ’90 teaches performing a first specified action (breaking) when a specified time period has elapsed (once currentTime equals targetTime). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 16, and claims 17-35 which fall therewith with respect to this issue. Issue 3 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches performing a second specified action when a specified time period has not elapsed. Tolmach ’90 teaches performing an update when currentTime does not equal targetTime (FF 5). If execution of the instrumented code resumes after a break, then this update can also be performed when currentTime equals targetTime (id.). However, the claim language does not preclude Appeal 2009-000716 Application 10/229,186 10 performing a second specified action in the event that a specified time period has elapsed. Therefore, Tolmach ’90 teaches performing a second specified action (updating) if a specified time period has not elapsed (when currentTime does not equal targetTime). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 19 with respect to this issue. Issue 4 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches activating a timer based on a time-based breakpoint. Based on Appellant’s arguments in the Appeal Brief, we will decide the appeal of claims 20 and 21 with respect to issue 4 on the basis of claim 20. See 37 C.F.R. § 41.37(c)(1)(vii). Tolmach ’90 teaches handling mixtures of time- and location-based breakpoints (FF 6). Tolmach further teaches setting targetTime as part of a time-travel mechanism encapsulated in a routine called gotoTime. Therefore, Tolmach ’90 teaches determining (handling) whether a breakpoint is a time-based breakpoint (vis-à-vis a location-based breakpoint), and wherein activating a timer (setting targetTime) includes activating the timer if the breakpoint is a time-based breakpoint (as part of gotoTime). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 20, and claim 21 which falls therewith with respect to this issue. Appeal 2009-000716 Application 10/229,186 11 Issue 5 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches the claimed time measurements. As discussed previously, in Tolmach ’90 currentTime is incremented as time passes (FF 5, 7). Tolmach ’90 teaches that a break is taken in instrumented code when currentTime equals targetTime (FF 4 , 5). Thus, targetTime is a timer that measures when sufficient time has passed. Execution time is measured in CPU seconds (FF 7). Therefore, Tolmach ’90 teaches a timer (targetTime) that measures (measuring) the time during which a central processing unit (when sufficient CPU time has passed) executes a specified process (within instrumented code). Tolmach ’90 provides an I/O program as an example of program instrumented for debugging (FF 8). Appellant does not dispute the Examiner’s finding that the I/O program “meets the definition of [an operating system] kernel program” (Ans. 19). Therefore, Tolmach ’90 teaches a timer (targetTime) that measures (measuring) the time during which an operating system kernel is allocated (when sufficient CPU time has passed) to the process (within an instrumented operating system kernel program). As disclosed in the Specification, wall-clock time is like an external entity calculating elapsed time with an accurate stopwatch (FF 10). Wall- clock time elapses while Execution Time elapses (FF 7). Therefore, Tolmach ’90 teaches a timer (targetTime) that measures (measuring) a wall-clock time (Execution Time). Appeal 2009-000716 Application 10/229,186 12 For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejections of claim 22, 23, and 24 with respect to this issue. Issue 6 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches a hardware breakpoint. Based on Appellant’s arguments in the Appeal Brief, we will decide the appeal of claims 28 and 33 with respect to issue 6 on the basis of claim 28. See 37 C.F.R. § 41.37(c)(1)(vii). Appellant submits that “one example of . . . a hardware breakpoint is a debug register which is part of a chip” (App. Br. 10) (emphasis added). Because hardware breakpoints are not limited to debug registers, we find that a hardware breakpoint is any breakpoint implemented with the aid of hardware. Tolmach ’90 teaches breakpoints implemented with instrumented code (FF 5). Tolmach ’90 further teaches that an instrumented version of code requires an additional data structure (i.e., memory, a type of hardware) describing events (FF 9). Therefore, Tolmach ’90 teaches a breakpoint that is a hardware breakpoint (implemented with the aid of memory). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 28, and claim 33 which falls therewith with respect to this issue. Issue 7 Appellant challenges the Examiner’s finding that Tolmach ’90 teaches a specified action that includes re-activating a timer and repeating a step of performing. Appeal 2009-000716 Application 10/229,186 13 Tolmach ’90 teaches a specified action of breaking (FF 4) and returning control to a user (FF 1). Tolmach ’90 also teaches restarting a program and setting targetTime to t (FF 2) based on the invocation of a debugger command (FF 3). When currentTime equals targetTime, the breaking is once again performed (FF 4- 5). Therefore, Tolmach ’90 teaches wherein a specified action (a break) includes re-activating a timer (setting targetTime to t based on invocation of a debugger command) and wherein a method includes repeating the step of performing (re-enabling the breaking once currentTime equals the new targetTime). For at least these reasons, we find no evidence persuasive of error in the Examiner’s 35 U.S.C. § 102(b) rejection of claim 30 with respect to this issue. CONCLUSIONS OF LAW Based on the findings of facts and analysis above, we find no evidence persuasive that the Examiner erred in finding: 1. that Tolmach ’90 teaches activating a timer in response to encountering a breakpoint (issue 1); 2. that Tolmach ’90 teaches performing a first specified action when a specified time period has elapsed (issue 2); 3. that Tolmach ’90 teaches performing a second specified action if a specified time period has not lapsed (issue 3); 4. that Tolmach ’90 teaches determining whether a breakpoint is a time-based breakpoint, and wherein activating a timer includes Appeal 2009-000716 Application 10/229,186 14 activating the timer if the breakpoint is a time-based breakpoint (issue 4); 5. that Tolmach ’90 teaches a timer that measures the time during which a central processing unit executes a specified process, a timer that measures the time during which an operating system kernel is allocated to a process, and a timer that measures a wall- clock time (issue 5); 6. that Tolmach ’90 teaches a hardware breakpoint (issue 6); and 7. that Tolmach ’90 teaches wherein a specified action includes re- activating a timer and wherein a method includes repeating a step of performing (issue 7). DECISION We affirm the Examiner’s decision rejecting claims 16-35 under 35 U.S.C. § 102(b). 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 Appeal 2009-000716 Application 10/229,186 15 msc Driggs, Hogg, Daugherty & Del Zoppo Co., L.P.A. 38500 CHARDON ROAD DEPT. IEN WILLOUGHBY HILLS OH 44094 Copy with citationCopy as parenthetical citation