Ex Parte Lange-LastDownload PDFBoard of Patent Appeals and InterferencesMar 20, 201210892437 (B.P.A.I. Mar. 20, 2012) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ____________ Ex parte SVEN LANGE-LAST ___________ Appeal 2009-014103 Application 10/892,437 Technology Center 2100 ____________ Before KRISTEN L. DROESCH, ERIC B. CHEN, and BRUCE R. WINSOR, Administrative Patent Judges. CHEN, Administrative Patent Judge. DECISION ON APPEAL Appeal 2009-014103 Application 10/892,437 2 This is an appeal under 35 U.S.C. § 134(a) from the final rejection of claims 1-10, all the claims pending in the application. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. STATEMENT OF THE CASE Appellant’s invention relates to a method and system for fault finding in repository management code. A repeated sequence of undoing a respective last operation and subsequent checking of the consistency of the repository is performed until the repository is found consistent again. The fault finding system redoes the last operation by a redo operation, and generates a diagnostic output including some debugging information which is usable for retrieving the one or more software instructions which indicates a reason for the inconsistency that was found. (Abstract.) Claim 1 is exemplary, with disputed limitations in italics: 1. A method for automated fault finding in repository management code, the repository being operated in a processing infrastructure comprising a logging mechanism and undo and redo functionality for repository operations, comprising the steps of: determining if an inconsistency was found in said repository management code; when said inconsistency is found: undoing a respective last operation involving said repository management code; after undoing the respective last operation, determining if the repository management code is consistent; in response to determining that the repository management code is still inconsistent, repeating the steps of undoing a respective last operation and determining if the repository management code is consistent until a determination is made that the repository management code is consistent; Appeal 2009-014103 Application 10/892,437 3 in response to determining that the repository management code is consistent, identifying a faulty instruction that caused the inconsistency; debugging the faulty instruction to form a corrected instruction; and redoing the last operation prior to the occurrence of said inconsistency using the corrected instruction. Claims 1-10 stand rejected under 35 U.S.C. § 102(b) as being anticipated by Chung (U.S. Patent No. 6,044,475; Mar. 28, 2000). ANALYSIS We are not persuaded by Appellant’s arguments (Br. 12-13) that Chung does not describe the first disputed limitation “after undoing the respective last operation, determining if the repository management code is consistent,” as recited in independent claim 1. The Examiner found that the disclosure in Chung of restoring the volatile and persistent checkpoints after detection of a failure corresponds to the first disputed limitation. (Ans. 8-9; Chung, col. 7, ll. 43-47.) We agree with the Examiner. Chung “relates to a system for checkpointing and restoring the state of a process,” in particular, “to systems for checkpointing and restoring the process state . . . .” (Col. 1, ll. 15-18.) Chung discloses that a state of a process includes both a volatile state and a persistent state. (Col. 2, ll. 6-7.) “Although the persistent state is generally not lost upon a failure, it is necessary to restore the persistent state to the same point as the restored volatile state, in order to maintain data consistency.” (Col. 2, ll. 11-14.) In one embodiment, upon detection of a failure F1, a volatile state of the process is rolled back to a latest volatile checkpoint VC3 by restoring the Appeal 2009-014103 Application 10/892,437 4 checkpoint data associated with the checkpoint VC3. (Col. 7, ll. 43-47; Fig. 2.) Furthermore, persistent checkpoints, PC3 and PC3", allow each of the modifications to the persistent state to be undone since the latest volatile checkpoint VC3. (Col. 7, ll. 47-50; Fig. 2.) In other words, Chung describes the limitation “after undoing the respective last operation, determining if the repository management code is consistent.” Appellant argues that “[o]nce the restoration subroutine has restored the states associated with the checkpoint, Chung teaches that the states are consistent” and thus, “by definition according to Chung’s design, once the restoration subroutine has been executed, the states are always going to be consistent.” (Br. 12-13.) However, as discussed previously, Chung discloses restoring the persistent state to the same point as the restored volatile state to maintain data consistency. Therefore, we agree with the Examiner that Chung describes the limitation “after undoing the respective last operation, determining if the repository management code is consistent.” We are also not persuaded by Appellant’s arguments (Br. 13-14) that Chung does not describe the second disputed limitation “in response to determining that the repository management code is still inconsistent, repeating the steps of undoing a respective last operation and determining if the repository management code is consistent until a determination is made that the repository management code is consistent,” as recited in independent claim 1. The Examiner found that Figure 2 of Chung, which illustrates multiple checkpoints (i.e., VC1, VC2 and VC3), corresponds to the second disputed limitation. (Ans. 8-9; Chung, Fig. 2.) We agree with the Examiner. Appeal 2009-014103 Application 10/892,437 5 Chung discloses that during execution of a user application process 40, “checkpoints of the volatile state are invoked, such as the volatile checkpoints VC1, VC2 and VC3.” (Col. 7, ll. 12-16; see also Fig. 2.) Figure 2 also illustrates upon a detected failure F1, the volatile state of the process can be rolled back to volatile checkpoints VC1, VC2 and VC3. In other words, Chung describes the limitation “in response to determining that the repository management code is still inconsistent, repeating the steps of undoing a respective last operation and determining if the repository management code is consistent until a determination is made that the repository management code is consistent.” Appellant argues that “Chung, Figure 10, does not teach ‘in response to determining that the repository management code is still inconsistent, repeating the steps of undoing a respective last operation and determining if the repository management code is consistent until a determination is made that the repository management code is consistent’” because “Chung teaches being unable to allocate dynamic memory” and “[b]eing unable to allocate dynamic memory does not teach repository management code being inconsistent.” (Br. 14.) However, the Examiner also cited Figure 2 of Chung for the disclosure of the second disputed limitation. Appellant has not provided any persuasive arguments or evidence to address why the Examiner’s citation of Figure 2 of Chung was in error. Therefore, we agree with the Examiner that Chung describes the limitation “in response to determining that the repository management code is still inconsistent, repeating the steps of undoing a respective last operation and determining if the repository management code is consistent until a determination is made that the repository management code is consistent.” Appeal 2009-014103 Application 10/892,437 6 We are further not persuaded by Appellant’s arguments (Br. 15-16) that Chung does not describe the third disputed limitation “debugging the faulty instruction to form a corrected instruction,” as recited in independent claim 1. The Examiner found that the disclosure in Chung of tolerating one or more flaws in a software component corresponds to the third disputed limitation. (Ans. 10; Chung, col. 3, ll. 58-60, 63-67.) We agree with the Examiner. Chung discloses that “one or more flaws in a software component” imported into the user application process can be tolerated. (Col. 3, ll. 58- 60.) In one embodiment, the flaw is an introduction of an undesirable memory state and a checkpointing step performs a checkpoint of the memory state before the undesirable memory state is introduced. (Col. 20, ll. 43-46; see also col. 3, ll. 63-67.) In other words, Chung discloses the limitation “debugging the faulty instruction to form a corrected instruction.” Appellant argues that “Chung teaches undoing modifications to the persistent state” (Br. 15) and “[u]ndoing modifications to a persistent state has nothing whatsoever to do with locating and correcting an error in an instruction” (Br. 16). However, the Examiner also found that the disclosure in Chung of introducing one or more flaws into a software component corresponds to the third disputed limitation. (Ans. 10.) Again, Appellant has not provided any persuasive arguments or evidence to address why the Examiner’s findings were erroneous. Therefore, we agree with the Examiner that Chung describes the limitation “debugging the faulty instruction to form a corrected instruction.” Appeal 2009-014103 Application 10/892,437 7 Last, we are not persuaded by Appellant’s arguments (Br. 16) that Chung does not describe the fourth disputed limitation “redoing the last operation prior to the occurrence of said inconsistency using the corrected instruction,” as recited in independent claim 1. The Examiner found that the disclosure in Chung of restoring checkpointed portions of a process state corresponds to the fourth disputed limitation. (Ans. 10; Chung, col. 4, ll. 1-6.) We agree with the Examiner. Chung discloses that the checkpoint and restoration system can be utilized to exclude the entire persistent state, such that “only a ‘clean’ memory state is included in the checkpointed data, which may be restored from time to time to avoid a gradual build up of an undesirable memory state.” (Col. 3, ll. 9-15; see also col. 4, ll. 1-6.) In other words, Chung describes the limitation “redoing the last operation prior to the occurrence of said inconsistency using the corrected instruction.” Appellant argues that “Chung teaches continuing to attempt to allocate dynamic memory until a maximum number of attempts has been exceeded” and thus, “Chung does not teach redoing the last operation prior to the occurrence of said inconsistency using the corrected instruction.” (Br. 16.) However, the Examiner also found that the disclosure in Chung of restoring checkpointed portions corresponds to the fourth disputed limitation. (Ans. 10.) Again, Appellant has not provided any persuasive arguments or evidence to address why the Examiner’s findings were erroneous. Therefore, we agree with the Examiner that Chung describes the limitation “redoing the last operation prior to the occurrence of said inconsistency using the corrected instruction.” Appeal 2009-014103 Application 10/892,437 8 Accordingly, we sustain the rejection of independent claim 1 under 35 U.S.C. § 102(b). Claims 2-4 depend from independent claim 1, and Appellant had not presented any substantive arguments with respect to these claims. Therefore, we sustain the rejection of claims 2-4 under 35 U.S.C. § 102(b) for the same reasons discussed with respect to independent claim 1. Independent claims 5, 9 and 10 recite limitations similar to those discussed with respect to independent claim 1, and Appellant has not presented any substantive arguments with respect to these claims. We sustain the rejection of claims 5, 9 and 10, as well as claims 6-8, which depend from claim 5, for the same reasons discussed with respect to claim 1. DECISION The Examiner’s decision to reject claims 1-10 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