Ex Parte Khan et alDownload PDFPatent Trial and Appeal BoardMar 26, 201311591010 (P.T.A.B. Mar. 26, 2013) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte GAZALA KHAN, SALEEM MOHIDEEN, and MANISH AHLUWALIA ____________ Appeal 2010-007160 Application 11/591,010 Technology Center 2100 ____________ Before SCOTT R. BOALICK, JOHN A. JEFFERY, and DENISE M. POTHIER, Administrative Patent Judges. JEFFERY, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from the Examiner’s rejection of claims 1, 5-11, 14-16, 19, and 20. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. STATEMENT OF THE CASE During execution of a binary program, Appellants’ invention flushes pages in a file cache corresponding to a binary file before continuing program execution. Flushing smaller pages in this fashion enables later use Appeal 2010-007160 Application 11/591,010 2 of larger page sizes during execution. See generally Abstract; Spec 6:8– 7:25; Figs. 3A-3B. Claim 1 is illustrative: 1. A method of executing a binary program by a computer system, the method comprising: beginning execution of a first instance of the binary program; reading program header table data for the binary program from a binary file on disk storage; storing the program header table data in cache memory for use by subsequent instances of the binary program; and applying a flush procedure relating to flushing pages in a file cache that correspond to the binary file prior to continuing with execution of said first instance, the flush procedure making a determination whether or not to flush said pages if a preferred text page size for the binary file is greater than a first threshold size. THE REJECTION The Examiner rejected claims 1, 5-11, 14-16, 19, and 20 under 35 U.S.C. § 103(a) as unpatentable over Case (US 7,278,008 B1; Oct. 2, 2007; filed Jan. 30, 2004) and Loechel (US 5,895,488; Apr. 20, 1999). Ans. 3-7.1 CONTENTIONS Regarding claim 1, the Examiner finds that Case (1) begins executing a first instance of a binary program that accesses a cluster table; (2) reads “program header table data” (i.e., the cluster table) from a binary file on disk storage; and (3) stores this data in cache memory via an on-chip cache. Ans. 3. The Examiner acknowledges that Case does not flush cache entries, but 1 Throughout this opinion, we refer to (1) the Appeal Brief filed October 21, 2009 (“App. Br.”); (2) the Examiner’s Answer mailed January 19, 2010 (“Ans.”); and (3) the Reply Brief filed March 17, 2010 (“Reply Br.”). Appeal 2010-007160 Application 11/591,010 3 cites Loechel as teaching this feature in concluding that the claim would have been obvious. Ans. 3-4, 7-9. Appellants argue that since Case’s cluster table is not a program header table, the cited prior art does not read a program header table from a binary file on disk storage as claimed. App. Br. 4-6; Reply Br. 1-2. Appellants add that Loechel’s cache flushing based on a percentage of “dirty” cache lines does not teach flushing based on determining whether or not a preferred text page size for a binary file is greater than a first threshold size as claimed. App. Br. 6-7; Reply Br. 2-3. Appellants also contend that the Examiner’s motivation to combine the cited references is misplaced in view of the claimed invention’s fragmentation reduction capabilities. App. Br. 5-6. ISSUES I. Under § 103, has the Examiner erred in rejecting claim 1 by finding that Case and Loechel collectively would have taught or suggested (1) reading program header table data from a binary file on disk storage, and (2) applying a flush procedure that determines whether or not to flush pages in a file cache if a preferred text page size for the binary file is greater than a first threshold size? II. Is the Examiner’s combining the teachings of these references supported by articulated reasoning with some rational underpinning to justify the Examiner’s obviousness conclusion? Appeal 2010-007160 Application 11/591,010 4 ANALYSIS Claims 1 and 5-10 We begin by construing a key disputed term of representative claim 1, namely “program header table data” (emphasis added). We emphasize the term “data” here, for the claim does not recite a table per se, but rather table data. Although this data is read from a binary file and stored in cache memory for use in subsequent program instances in claim 1, whether this data is derived from a table associated with a program header is not functionally tied to the recited flush procedure which flushes pages from a file cache based on page text size. In that sense, then, the particular type of data (i.e., program header table data) is non-functional descriptive material.2 Therefore, even if a file’s program header table is “an array of structures describing information a computing system requires in order to prepare or execute a program or create an executable image” as Appellants contend (App. Br. 5), that data comes from a header table is irrelevant at least with respect to the disputed steps of claim 1. As such, leaving aside the fact that a program header table is undefined in the Specification as the Examiner indicates (Ans. 8), and can include a wide variety of data including metadata and unspecified “other data” according to Appellants’ non-limiting example (App. Br. 5), Appellants’ arguments regarding Case’s cluster table not constituting a program header table (App. Br. 5-6; Reply Br. 1-2) are not commensurate with the scope of the claim which recites, among other things, reading and storing data and not a table. 2 See In re Ngai, 367 F.3d 1336, 1339 (Fed. Cir. 2004); see also Ex parte Nehls, 88 USPQ2d 1883, 1887-89 (BPAI 2008) (precedential) (discussing cases pertaining to non-functional descriptive material). Appeal 2010-007160 Application 11/591,010 5 We are therefore unpersuaded of error in the Examiner’s reliance on Case’s cluster table in connection with the recited data reading step, for Case at least suggests reading data from a binary file on disk storage by reading data from the cluster table for address translation. See Ans. 3 (citing Case, col. 3, ll. 30-40); Case, col. 11, ll. 26-44. Although Case does not expressly state that the cluster table’s data is read from a binary file, Case nonetheless indicates that the table can reside in main system memory or elsewhere in the system as Appellants acknowledge (Reply Br. 2 (citing Case, col. 11, ll. 30-32)), which reasonably suggests some sort of associated stored binary file for this data. See Case, Fig. 1 (showing system memory 104 with cluster table 140, system disk 128, and removable storage device 129). Nor are we persuaded of error in the Examiner’s reliance on Loechel for teaching the recited flush procedure. As Appellants acknowledge, Loechel flushes a cache if a determined percentage of “dirty”3 cache lines exceeds a predetermined threshold. App. Br. 6; Reply Br. 2 (citing Loechel, Abstract; col. 6, ll. 52-59; Fig. 5). Despite Appellants’ arguments to the contrary, we see no error in the Examiner’s equating the percentage of dirty cache lines to the recited preferred text page size. Ans. 8-9. This finding is based on the notion that a “page” comprises multiple cache lines (Ans. 9): an unrebutted finding that has a rational basis given the Specification’s reference to pages as contiguous blocks of memory address space. See Spec. 1:27-29. To the extent that Appellants argue that this “page” size is not a text page size, we find this distinction to be without a functional difference 3 “Dirty” data is data not yet written to persistent memory. Loechel, col. 2, ll. 15-18. Appeal 2010-007160 Application 11/591,010 6 here, for the Examiner’s finding is based on data size—data that skilled artisans would recognize could include text. Combining Loechel’s teaching with Case’s system that caches cluster data as the Examiner proposes would predictably yield a procedure that would flush “pages” from the cache if they exceed a threshold page size. Since skilled artisans would recognize that this cached cluster data is derived at least partly from an associated binary file for the cluster table as noted above, the preferred page size is therefore for a binary file as claimed. Lastly, we find unpersuasive Appellants’ contention that the Examiner’s motivation to combine the cited references is misplaced in view of the claimed invention’s fragmentation reduction capabilities. App. Br. 5- 6. Applying Loechel’s cache-flushing technique to Case’s cache which stores cluster information would predictably flush the cache when needed to make the cache available for additional data as the Examiner indicates. Ans. 4. Since this enhancement predictably uses prior art elements according to their established functions (see KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 417 (2007)), we find the Examiner’s combining the cited references’ teachings supported by articulated reasoning with some rational underpinning to justify the Examiner’s obviousness conclusion. We are therefore not persuaded that the Examiner erred in rejecting representative claim 1, and claims 5-10 not separately argued with particularity. Claims 11, 14-16, 19, and 20 Despite nominally arguing claims 11, 14-16, 19, and 20 separately, Appellants reiterate similar arguments made in connection with claim 1 (see Appeal 2010-007160 Application 11/591,010 7 App. Br. 8-15; Reply Br. 4) which we find unpersuasive for the reasons previously discussed. CONCLUSION The Examiner did not err in rejecting claims 1, 5-11, 14-16, 19, and 20 under § 103. ORDER The Examiner’s decision rejecting claims 1, 5-11, 14-16, 19, and 20 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