Ex Parte BatesDownload PDFPatent Trial and Appeal BoardDec 20, 201612969804 (P.T.A.B. Dec. 20, 2016) 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. 12/969,804 12/16/2010 Cary L. Bates ROC920100312US1 4927 12/22/201630206 7590 IBM CORPORATION ROCHESTER IP LAW DEPT. 917 3605 HIGHWAY 52 NORTH ROCHESTER, MN 55901-7829 EXAMINER LOUIE, JUE WANG ART UNIT PAPER NUMBER 2193 NOTIFICATION DATE DELIVERY MODE 12/22/2016 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): rociplaw@us.ibm.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte CARY L. BATES Appeal 2015-007777 Application 12/969,804 Technology Center 2100 Before ST. JOHN COURTENAY III, JENNIFER L. McKEOWN, and ALEX S. YAP, Administrative Patent Judges. COURTENAY, Administrative Patent Judge. DECISION ON APPEAL STATEMENT OF THE CASE This is an appeal under 35 U.S.C. § 134(a) from the Examiner’s Final Rejection of claims 1—20. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. Invention The disclosed and claimed invention on appeal “relates to computer systems and more particularly to multiple threads of a program that encounters] breakpoints.” Spec. 11. Appeal 2015-007777 Application 12/969,804 Representative Claim 1. A method comprising computer-executed steps of: receiving input specifying a first instruction of a program containing a plurality of instructions as a breakpoint; responsive to a first thread of a plurality of threads of said program encountering said first instruction during execution of said first thread, halting execution of said first thread at said first instruction and receiving control by a debug engine, said debug engine presenting an interactive debug engine user interface for said first thread to a user; [LI] responsive to halting execution of said first thread at said first instruction and receiving control by said debug engine, automatically setting at least one all-threads breakpoint while said first thread is halted at said first instruction; responsive to automatically setting an all-threads breakpoint while said first thread is halted at said first instruction, [L2] automatically detecting any occurrences of encountering said at least one all-threads breakpoint by threads of said plurality of threads other than saidfirst thread to determine a subset of the plurality of threads that execute the first instruction while the first thread is halted at the first instruction, wherein the first instruction is a read instruction; and [L3] presenting identifiers of the subset of the plurality of threads that execute the first instruction while the first thread is halted at the first instruction via said debug engine user interface for the first thread. (Contested limitations LI, L2, and L3 are emphasized.) Rejections A. Claims 1, 2, 5, 6, 8, 9, 12, 13, 15, 18, and 19 are rejected under 35 U.S.C. § 103(a) as being obvious over the combined teachings and 2 Appeal 2015-007777 Application 12/969,804 suggestions of Erickson et al. “Effective Data-Race Detection for the Kemel”(2010) (hereinafter “Erickson”), in view of Sistare et al. (US 7,865,883 Bl; Jan. 4, 2011, hereinafter “Sistare”), further in view of Bates et al. (US 6,378,125 Bl; Apr. 23, 2002, hereinafter “Bates ‘125”). B. Claims 3,10, and 16 are rejected under 35 U.S.C. § 103(a) as being obvious over the combined teachings and suggestions of Erickson, Sistare, Bates ‘125, and Kekic et al. (US 5,999,179; Dec. 7, 1999, hereinafter “Kekic”), and further in view of Marejka (US 7,512,950 B1; Mar. 31,2009). C. Claims 4, 11, and 17 are rejected under 35 U.S.C. § 103(a) as being obvious over the combined teachings and suggestions of Erickson, Sistare, Bates ‘125, and further in view of Bates et al. (US 6,587,967 Bl; July 1, 2003, hereinafter “Bates ‘967”). D. Claims 7, 14, and 20 are rejected under 35 U.S.C. § 103(a) as being obvious over the combined teachings and suggestions of Erickson, Sistare, Bates ‘ 125, Bates ‘967, and further in view of Blasciak et al. (US 5,265,254; Nov. 23, 1993, hereinafter “Blasciak”). Grouping of Claims Based upon Appellant’s arguments, we decide the appeal of rejection A of claims 1, 5, 6, 8, 12, 13, 18, and 19 on the basis of representative claim 1. We address rejection A of claims 2, 9, and 15 separately, infra. To the extent Appellant has not advanced separate, substantive arguments for rejections B—D of the remaining claims on appeal, such arguments are considered waived. See 37 C.F.R. § 41.37(c)(l)(iv). 3 Appeal 2015-007777 Application 12/969,804 ANALYSIS We have considered all of Appellant’s arguments and any evidence presented. We find Appellant’s arguments unpersuasive for the reasons discussed infra. We adopt as our own: (1) the findings and legal conclusions set forth by the Examiner in the action from which this appeal is taken, and (2) the findings, legal conclusions, and explanations set forth in the Answer in response to Appellant’s arguments. (Ans. 13—27). We highlight and address specific findings and arguments for emphasis in our analysis below. Rejection of Independent Claim 1 under 35 U.S.C. § 103(a) Issue: Under 35 U.S.C. § 103(a), did the Examiner err in finding the cited combination of references would have taught or suggested contested limitations LI—L3, within the meaning of independent claim 1, under a broad but reasonable interpretation? We find this appeal turns upon claim construction, particularly regarding the contested claim term “all-threads breakpoint.” (Claim l).1 Regarding independent claim 1 and Erickson, Appellant contends, inter alia: “Erickson does not disclose setting an ‘all-threads breakpoint’ or detecting threads which encounter it.” (App. Br. 8). Appellant clarifies his interpretation of “breakpoint” (claim 1), as follows: As used in appellant’s specification and claims, a “breakpoint” is a code instruction which causes a break in execution when encountered. Typically, a special instruction is inserted into the code at the breakpoint causing a trap to a breakpoint handling routine. Thus, the break only occurs when the specific code 1 We give the contested claim limitations the broadest reasonable interpretation consistent with the Specification. See In re Morris, 111 F.3d 1048, 1054 (Fed. Cir. 1997); Cf with Spec. 1 53 (“The previous detailed description is, therefore, not to be taken in a limiting sense.”). 4 Appeal 2015-007777 Application 12/969,804 instruction is encountered. (App. Br. 11). We note there are two types of breakpoints recited in claim 1: (1) “receiving input specifying a first instruction of a program containing a plurality of instructions as a breakpoint;” and, (2) “automatically setting at least one all-threads breakpoint while said first thread is halted at said first instruction; . . . .” Claim 1 requires that a first thread is halted when a recited “breakpoint” first instruction is encountered, thus responsively “automatically setting at least one all-threads breakpoint while said first thread is halted at said first instruction.” (Emphasis added). Thus, the “all threads breakpoint” is the label or moniker accorded to the second type of breakpoint that is set automatically.2 In the Brief (11), Appellant urges: [djuring the time window that the thread is halted, Erickson detects and logs any accesses to the same physical memory location that was accessed by the halted thread. The Examiner apparently equates detecting access to a specific physical memory location with detecting execution of a specific code instruction. They are simply not the same. Appellant contends Erickson’s “data breakpoint” is not the same as the claimed “all-threads breakpoint” because “Erickson’s ‘data breakpoints’ are 2 Merely providing an automatic way to replace a manual activity, which accomplished the same result, is not sufficient to distinguish over the prior art. In re Venner, 262 F.2d 91, 95 (CCPA 1958). Moreover, an improved product in the art is obvious if that “product [is] not [one] of innovation but of ordinary skill and common sense.” KSR 550 U.S. at 421. 5 Appeal 2015-007777 Application 12/969,804 not true breakpoints at all. Erickson uses the term ‘data breakpoints’ to describe the physical memory locations which are trapped.” (App. Br. 12). Given Appellant’s contentions {id.), we find the dispositive issue before us on appeal is whether the scope of the contested “all-threads breakpoint” is limited to only an instruction breakpoint, and thus precludes the Examiner’s broader reading on Erickson’s data breakpoint. (Final Act. 3; Ans. 14). In the “Response to Arguments” (Ans. 14), the Examiner further explains the basis for the rejection, and finds: Erickson teaches that while a first thread is halted at a breakpoint at a first instruction (i.e., when a code breakpoint fires, pc is the first instruction, see page 152, Fig. 2, the instruction lines “OnCodeBreakpoint (pc)”, and page 152, right column, last paragraph), another breakpoint is automatically set (i.e., DataCollider sets a data breakpoint, see page 152, Fig. 2, the instruction lines “SetDataBreakpointRW (loc, size)”, and “SetBreakpointW (loc, size)”, and page 152, right column, last paragraph - page 153, left column, first paragraph). Erickson further teaches that other threads encountering the second breakpoint are presented to the user in a report (i.e., DataCollider sets a data breakpoint to trap conflicting accesses by other threads, see page 152, right column, last paragraph — page 153, left column, first paragraph, and data race reports from DataCollider provide debug information of the racing threads, see page 153, left column, paragraphs 3, 4). (Emphasis added). We find no definition of “all-threads breakpoint” in Appellant’s claim 1, or in the Specification, that would preclude the Examiner’s broader reading. (Final Act. 3; Ans. 14). Nor has Appellant argued a particular 6 Appeal 2015-007777 Application 12/969,804 definition.3 Turning to Appellant’s Specification for context, we find the contested claim 1 term “all-threads breakpoint” is described merely in terms of exemplary, non-limiting embodiments: “Fig. 5 depicts a flowchart of example processing for all-threads breakpoints, according to an embodiment of the invention.” (Spec. 140; see also 41—42, Fig. 5, blocks 515, 525); Appeal Br. 3 (“Summary of Claimed Subject Matter”) (Emphasis added). Exemplary Blocks 515 and 525 of Figure 5 of the Specification merely describe: (if TRUE 515) “DEBUG ENGINE STORES THREAD ID OF CURRENT THREAD AND CURRENT INSTRUCTION TO THREAD HISTORY DATA.” (if FALSE 525) “DEBUG ENGINE PRESENTS UI AND SETS ALL-THREADS BREAKPOINT AT THE CURRENT INSTRUCTION (OR AT THE ENTRY AND EXIT INSTRUCTIONS OF THE PROCEDURE THAT COMPRISES THE CURRENT INSTRUCTION).” We note the “all-threads breakpoint” recited in claim 1 is silent regarding the aforementioned language {id.), as described in blocks 515 and 525 of Figure 5 of Appellant’s Specification. We decline Appellant’s invitation to read limitations from the Specification into the claims. (App. Br. 10-12). Moreover, in considering the doctrine of claim differentiation, we note that claim 1 is broader than dependent claim 2, which further limits the 3 Arguments not made are waived. See 37 C.F.R. § 41.37(c)(l)(iv). See also Williamson v. Citrix Online, LLC, 792 F.3d 1339, 1346-47 (Fed. Cir. 2015) (“This court has repeatedly ‘cautioned against limiting the claimed invention to preferred embodiments or specific examples in the specification.’”) (quoting Teleflex, Inc. v. Ficosa N. Am. Corp., 299 F.3d 1313, 1328 (Fed. Cir. 2002)). See also n.l, supra. 7 Appeal 2015-007777 Application 12/969,804 “all-threads breakpoint” of claim 1 to an instruction breakpoint (e.g., a code breakpoint). Therefore, there is a legal presumption under the doctrine of claim differentiation that the “all-threads breakpoint” recited in claim 1 is not limited to merely an instruction breakpoint.4 For these reasons, we are not persuaded the Examiner’s reading is overly broad, unreasonable, or inconsistent with Appellant’s Specification.5 See Spec. 1 53 (“The previous detailed description is, therefore, not to be taken in a limiting sense.”). Accordingly, we conclude the scope of the contested “all-threads breakpoint” broadly but reasonably encompasses the “data breakpoint” (“SetDataBreakpointRW”) taught by Erickson (p. 152, col. 2), as found by the Examiner. (Ans. 14). In the event our reviewing court might adopt a more narrow construction, we find substituting a code or instruction breakpoint for a data breakpoint would have merely realized a predictable result to an artisan at 4 “When different words or phrases are used in separate claims, a difference in meaning is presumed.” Nystrom v. TREXCo., Inc., 424 F.3d 1136, 1143 (Fed. Cir. 2005). Under the doctrine of claim differentiation, “the presence of a dependent claim that adds a particular limitation gives rise to a presumption that the limitation in question is not present in the independent claim.” Phillips v. AWHCorp, 415 F.3d 1303, 1315 (Fed. Cir. 2005). This presumption is “especially strong when the limitation in dispute is the only meaningful difference between an independent and dependent claim, and one party is urging that the limitation in the dependent claim should be read into the independent claim.” SunRace Roots Enterprise Co., Ltd. v. SRAM Corp., 336 F.3d 1298, 1303 (Fed. Cir. 2003). 5 Because “applicants may amend claims to narrow their scope, a broad construction during prosecution creates no unfairness to the applicant or patentee.” In re ICON Health and Fitness, Inc., 496 F.3d 1374, 1379 (Fed. Cir. 2007) (citation omitted). 8 Appeal 2015-007777 Application 12/969,804 the time of Appellant’s invention, and thus would have been a “predictable use of prior art elements according to their established functions.” KSR Int 7 Co. v. Teleflex Inc., 550 U.S. 398, 417 (2007). Further, because there are a finite number of limited options (code or instruction breakpoints versus data breakpoints), we conclude such substitution would have at least been obvious to try.6 Therefore, on this record, and regarding the contested “all-threads breakpoint” recited in limitations LI and L2, Appellant has not persuaded us the Examiner erred. Additionally, regarding contested limitation L3, we agree with and adopt the Examiner’s findings regarding limitation L3 (“presenting identifiers ....”) as being taught or suggested by the debugging user interface of Bates ’125 (Col. 8,11. 45—63, col. 9,11. 9—22). (Ans. 6). 7 6 Where “the problem is known, the possible approaches to solving the problem are known and finite, and the solution is predictable through use of a known option,” a solution that is obvious to try may indeed be obvious. Abbott Labs. v. Sandoz, Inc., 544 F.3d 1341, 1351 (Fed. Cir. 2008), citing KSR, 550 U.S. at 398. See also Ortho-McNeil Pharm., Inc. v. Mylan Labs., Inc., 520 F.3d 1358, 1364 (Fed. Cir. 2008) (stating the number of options must be “small or easily traversed”). 7 Regarding the recited contested L3 step of “presenting identifiers” (claim 1), the Manual of Patent Examining Procedure (MPEP) guides: “where the claim as a whole is directed [to] conveying a message or meaning to a human reader independent of the intended computer system, and/or the computer-readable medium merely serves as a support for information or data, no functional relationship exists.” MPEP § 2111.05 (III.) (9th Ed., Rev. 07.2015, Last Revised Nov. 2015). See also Ex parte Nehls, 88 USPQ2d 1883, 1889 (BPAI 2008) (precedential) (“[T]he nature of the information being manipulated does not lend patentability to an otherwise unpatentable computer-implemented product or process.”). 9 Appeal 2015-007777 Application 12/969,804 Regarding the Examiner’s proffered combination of references, Appellant further urges: “The suggestion to collect the information and present it as claimed came from only one source: [Ajppellanf s disclosure” (App. Br. 16). However, Appellant does not point to any evidence of record that shows combining the references in the manner proffered by the Examiner would have been “uniquely challenging or difficult for one of ordinary skill in the art” or would have “represented an unobvious step over the prior art.” Leapfrog Enters., Inc. v. Fisher-Price, Inc., 485 F.3d 1157, 1162 (Fed. Cir. 2007) (citing KSR, 550 U.S. at 418). Nor has Appellant provided objective evidence of secondary considerations which our reviewing court guides “operates as a beneficial check on hindsight.” Cheese Systems, Inc. v. Tetra Pak Cheese and Powder Systems, Inc., 725 F.3d 1341, 1352 (Fed. Cir. 2013). Therefore, on this record, and based upon a preponderance of the evidence, Appellant has not persuaded us of error regarding the Examiner’s ultimate legal conclusion of obviousness regarding contested limitations El, L2, and L3 of representative claim 1. Accordingly, we sustain the Examiner’s rejection A of representative claim 1, and rejection A of grouped claims 5, 6, 8, 12, 13, 18, and 19 (not separately argued), which fall with claim 1 (see Grouping of Claims, supra). Rejection A of Claims 2, 9, and 15 Claim 2 recites: “The method of claim 1, wherein the automatically setting at least one all-threads breakpoint while the first thread is halted at said first instruction comprises: automatically setting an all-threads breakpoint at the first instruction while the first thread is halted at the first instruction.” (Emphasis added). 10 Appeal 2015-007777 Application 12/969,804 Regarding claims 2, 9, and 15 Appellant additionally contends: Even assuming argue[ndo] that it was proper to read Erickson’s “data breakpoint” as an “all-threads breakpoint” as recited in claim 1, an assertion appellant vigorously contests for the reasons stated in Part 1A above, the additional limitations of claim 15 and dependent claims 2 and 9 refute any such interpretation, and make it perfectly clear that Erickson does not disclose the setting of an “all-threads breakpoint”, as that term is qualified in the claims. (App. Br. 17). We note claims 9 and 15 recite similar language that further limits the scope of the “all-threads breakpoint” to an instruction breakpoint (i.e., synonymous with code breakpoint). See our discussion above regarding the doctrine of claim differentiation. See also n.4, supra. However, because we have found above (regarding our discussion of claim 1) that substituting a code or instruction breakpoint for a data breakpoint would have merely realized a predictable result to an artisan at the time of Appellant’s invention (and therefore would have been obvious under the guidance of KSR), on this record, Appellant has not persuaded us the Examiner’s legal conclusion of obviousness for claims 2, 9, and 15 is in error. Accordingly, we sustain the Examiner’s rejection A of claims 2, 9, and 15. Remaining Rejected Claims Appellant does not separately and/or substantively argue the remaining dependent claims which are rejected under rejections B, C, and D. Argument not made are considered waived. See 37 C.F.R. § 41.37(c)(l)(iv). Therefore, we sustain the Examiner’s rejections B, C, and D of the remaining claims over the cited combinations of prior art. 11 Appeal 2015-007777 Application 12/969,804 Reply Brief To the extent Appellant advances new arguments in the Reply Brief not in response to a shift in the Examiner's position in the Answer, we note arguments raised in a Reply Brief that were not raised in the Appeal Brief or are not responsive to arguments raised in the Examiner’s Answer will not be considered except for good cause. See 37 C.F.R. § 41.41(b)(2). DECISION We affirm the Examiner’s rejections of claims 1—20 under 35 U.S.C. § 103(a). No time for taking any action connected with this appeal may be extended under 37 C.F.R. § 1.136(a)(1). See 37 C.F.R. § 41.50(f). AFFIRMED 12 Copy with citationCopy as parenthetical citation