INTERNATIONAL BUSINESS MACHINES CORPORATIONDownload PDFPatent Trials and Appeals BoardJan 28, 20222020006486 (P.T.A.B. Jan. 28, 2022) 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. 15/805,675 11/07/2017 JOHN R. EELLS POU920170088US02 8709 46429 7590 01/28/2022 CANTOR COLBURN LLP-IBM POUGHKEEPSIE 20 Church Street 22nd Floor Hartford, CT 06103 EXAMINER COYER, RYAN D ART UNIT PAPER NUMBER 2191 NOTIFICATION DATE DELIVERY MODE 01/28/2022 ELECTRONIC 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. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): usptopatentmail@cantorcolburn.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________________ Ex parte JOHN R. EELLS and MARK A. NELSON _________________ Appeal 2020-006486 Application 15/805,675 Technology Center 2100 ____________________ Before ROBERT E. NAPPI, JOHN A. EVANS, and JOYCE CRAIG, Administrative Patent Judges. EVANS, Administrative Patent Judge. DECISION ON APPEAL1 Appellant2 seeks our review under 35 U.S.C. § 134(a) from the final rejection of Claims 1-5 and 7, all of the pending claims. Appeal Br. 2. We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM. 1 Our Decision refers to Appellant’s Appeal Brief filed April 15, 2020 (“Appeal Br.”); Appellant’s Reply Brief filed September 16, 2020 (“Reply Br.”); Examiner’s Answer mailed July 24, 2020 (“Ans.”); the Final Rejection mailed January 9, 2020 (“Final Act.”), and the Specification filed November 7, 2017 (“Spec.”). 2 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42. The Appeal Brief identifies International Business Machines Corporation, as the real party in interest. Appeal Br. 2. Appeal 2020-006486 Application 15/805,675 2 STATEMENT OF THE CASE INVENTION. The claims relate to a computer-implemented method to determine whether a program has been modified. See Abstract. An understanding of the invention can be derived from a reading of Claim 1, the sole independent claim, which is reproduced below: 1. A computer-implemented method for determining whether a program has been modified, comprising: determining, using a processor, that a first instance of the program is loaded in main memory; determining, using the processor, a starting memory location of the first instance of the program; loading, using the processor, a second instance of the program into main memory, wherein the second instance of the program is loaded such that memory references in the second instance of the program are resolved as if the second instance were loaded at the starting memory location of the first instance of the program; comparing, using the processor, the first instance of the program with the second instance of the program; and upon determining that the first instance of the program differs from the second instance of the program; identify a portion of the first instance of the program differs from the second instance of the program; replace the identified portion of first instance of the program with a corresponding portion of the second instance of the program; and storing information about detected differences between the first instance of the program differs from the second instance of the program, the stored data including a date and time of the detected differences, a number of bytes that were detected as being different, and an identification of the bytes that were detected as being different. Appeal 2020-006486 Application 15/805,675 3 Related Appeal Co-pending Application 15/653,699 is under appeal as Appeal 2020- 006480. Prior Art Name3 Reference Date Guidry US 2016/0357958 A1 Dec. 8, 2016 Monzoo Kim, et al., Java-MaC: A Run-Time Assurance Approach for Java Programs, Formal Methods in System Design, 24, 129-155, 2004. REJECTIONS4 AT ISSUE 1. Claims 1-5 and 7 stand rejected under 35 U.S.C. § 103 as obvious over Guidry and Kim. Final Act. 3-6. 2. Claims 1-5 and 7 stand provisionally rejected under the ground of nonstatutory double patenting over Claims 8-12, 14-18, and 20 of co- pending Application 15/653,699. Final Act. 7-8. ANALYSIS We review the appealed rejections for error based upon the issues identified by Appellant and in light of the arguments and evidence produced thereon. Ex parte Frye, 94 USPQ2d 1072, 1075 (BPAI 2010) (precedential), cited with approval in In re Jung, 637 F.3d 1356, 1365 (Fed. Cir. 2011) (“[I]t has long been the Board’s practice to require an applicant to identify the alleged error in the examiner’s rejections.”). We have considered in this decision only those arguments Appellant actually raised in the Briefs. Any 3 All citations herein to the references are by reference to the first named inventor/author only. 4 The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Final Act. 2. Appeal 2020-006486 Application 15/805,675 4 other arguments which Appellant could have made but chose not to make in the Briefs are deemed to be forfeit. See 37 C.F.R. § 41.37(c)(1)(iv). After considering the evidence presented in this Appeal and each of Appellant’s arguments, we are persuaded that Appellant identifies reversible error with respect to the rejection under 35 U.S.C. § 103, but are not persuaded with respect to the rejection under the judicial grounds of obviousness-type double patenting. CLAIMS 1-5 AND 7: OBVIOUSNESS OVER GUIDRY AND KIM. Appellant argues these claims as a group in view of the limitations of Claim 1. See Appeal Br. 6 (“Claims 2-5 and 7 are believed to be allowable of [sic “over”] Guidry in view of Kim at least due to their dependence on an allowable claim.”). Therefore, we decide the appeal of the § 103 rejections on the basis of Claim 1, which we designate as representative, and refer to the rejected claims collectively herein as “the claims.” See 37 C.F.R. § 41.37(c)(1)(iv); In re King, 801 F.2d 1324, 1325 (Fed. Cir. 1986). Independent Claim 1 recites, inter alia: storing information about detected differences between the first instance of the program differs from the second instance of the program, the stored data including a date and time of the detected differences, a number of bytes that were detected as being different, and an identification of the bytes that were detected as being different. Appeal Br. 7. The Examiner finds Guidry teaches the claims except failing to teach the limitation set forth above. The Examiner finds Kim teaches this limitation. Final Act. 4-5 (citing Kim, §§ 6.1-6.2). Appellant contends Kim generally discloses methods and systems Appeal 2020-006486 Application 15/805,675 5 for software validation, however, Kim fails to teach or disclose storing information, including a date and time of the detected differences, in particular, “a number of bytes that were detected as being different, and an identification of the bytes that were detected as being different, upon detecting differences between the two instances of a program”, as claimed. Appeal Br. 5. Appellant argues Kim teaches periodically taking timestamped snapshots of the running program. Id. Appellant argues the timestamps are when the snapshots are captured, but are not timestamps of when a difference between two snapshots was detected. Appeal Br. 5 (citing Kim, § 6.1). Appellant further argues, “Kim fails to teach storing a number of bytes that were detected as being different and an identification of the bytes that were detected as being different.” Id. The Examiner finds Kim discloses storing a timestamp, a unique identifier, and a location of problematic code. Ans. 10 (citing Kim, §§ 6.1- 6.2). The Examiner finds “Kim disclose[s] detecting a problem in a running program, taking a snapshot of the execution context in response to detecting the problem, recording a timestamp for the detected problem and its snapshot, using unique identifiers for all monitored values, identifying defective/problematic code, and identifying mismatching or unexpected bytes within problematic variables (e.g., detecting that only the least significant byte in an integer variable has changed).” Id., 10-11. Appellant re-iterates: “Kim fails to teach storing a number of bytes that were detected as being different and an identification of the bytes that were detected as being different.” Reply Br. 1 (citing Kim, § 6.1). Claim 1 recites loading first instance of a program in main memory and determining its starting memory location. Claim 1 further recites loading a second instance of the program in main memory such that memory Appeal 2020-006486 Application 15/805,675 6 references are resolved as though the second instance had been loaded at the starting memory location of the first instance. Claim 1 further recites determining whether the two instances differ and storing information about the differences, including the number of bytes that were detected as being different, and an identification of the bytes that were detected as being different. Appellant discloses: It is sometimes desirable to determine if a program or application that is currently loaded in random access memory (RAM) has been modified. Spec., ¶ 3. Appellant further discloses: There are a variety of reasons that one might want to compare two versions of operating system programs or applications that execute on operating system programs. For example, one might want to determine if a version of a program has been infected with malware, such as a virus, Trojan horse, and the like. Spec., ¶ 16. Appellant further discloses: To take a simplified example, a program can have “relocatable” constants. In other words, a certain value, instead of being stored or retrieved from a specific absolute memory address, is stored in a relative memory address. For example, the program has constants stored at 0x0010 bytes and 0x0040 bytes from the beginning of the program. Thus, a first instance of the program is stored beginning at memory location 0x1000, then the two constants in question will be stored at 0x1010 and 0x1040. Spec., ¶ 18. Appellant discloses: An operating system can have a program called a “Contents Supervisor” that includes a parameter that indicates a virtual storage address. The Contents Supervisor will load the program at a certain address for execution. But the Contents Supervisor performs the relocation as if the program were Appeal 2020-006486 Application 15/805,675 7 actually located at the specified virtual storage address. Thus, each instance of a program can be loaded by the Contents Supervisor as if they were loaded at the same memory location, enabling binary comparisons without having to worry about changed memory locations. Spec., ¶ 20. In contrast, Kim discloses: “a snapshot sent from the filter to the event recognizer consists of an ID of the monitored variable (1 byte) and the value of the variable (from 1 to 8 bytes).” Kim, § 6.1, ll. 1-2. The claims do not relate to monitoring a variable. Rather, the claims relate to storing “a number of bytes [of the program code] that were detected as being different, and an identification of the bytes [of the program code] that were detected as being different.” The identity and value of a variable, operated upon by a program, as disclosed by Kim, is not the same as an absolute memory location of program code, as claimed. In view of the foregoing, we reverse the rejection of Claims 1-5 and 7 under 35 U.S.C. § 103. CLAIMS 1-5 AND 7: PROVISIONAL OBVIOUSNESS-TYPE, NON-STATUTORY DOUBLE PATENTING. Appellant does not request review of the non-statutory obviousness type double patenting rejection over co-pending Application 15/653,699. (See Final Act. 8; Appeal Br. 3.) We, therefore, summarily affirm this rejection. See MANUAL OF PATENT EXAMINING PROCEDURE § 1205.02 (“If a ground of rejection stated by the examiner is not addressed in the appellant's brief, that ground of rejection will be summarily sustained by the Board.”). The failure to appeal is a waiver under Ex parte Frye, 2010 WL 889747 *4 (BPAI 2010) (precedential) (“If an appellant fails to present arguments on a Appeal 2020-006486 Application 15/805,675 8 particular issue-or, more broadly, on a particular rejection-the Board will not, as a general matter, unilaterally review those uncontested aspects of the rejection”). In affirming this rejection, we note that Panels of the Board have flexibility to reach, or not, the merits of a provisional rejection. See Ex parte Moncla, Appeal 2009-006448 slip op. at 3 (BPAI June 22, 2010) (precedential) (where the co-pending, reference application has not issued, it is “premature for the original Board panel to address the Examiner’s provisional rejection of the claims.”). Co-pending Application 15/653,699 is the subject of a rejection under 35 U.S.C. § 103 over similar art and arguments as discussed above and is appealed to the instant Panel, as Appeal 2020-006480. For reasons, substantially as discussed above, we will also reverse the obviousness rejections therein. In affirming the double patenting rejections in both cases, we leave to the Examiner’s discretion as to whether it is appropriate to maintain the double patenting rejection in either, or both, cases. DECISION In summary: Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1-5, 7 103 Guidry, Kim 1-5, 7 1-5, 7 Non-statutory Double Patenting 1-5, 7 Overall Outcome 1-5, 7 Appeal 2020-006486 Application 15/805,675 9 Because we have affirmed at least one ground of rejection with respect to each claim on appeal, the Examiner’s decision is affirmed. See 37 C.F.R. § 41.50(a)(1). 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). See 37 C.F.R. § 1.136(a)(1)(iv). AFFIRMED Copy with citationCopy as parenthetical citation