Ex Parte Scian et alDownload PDFPatent Trial and Appeal BoardOct 17, 201210869345 (P.T.A.B. Oct. 17, 2012) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte ANTHONY F. SCIAN and HARRY R. MAJOR ____________ Appeal 2010-006589 Application 10/869,345 Technology Center 2100 ____________ Before BRUCE R. WINSOR, JEREMY J. CURCURI, and DAVID C. MCKONE, Administrative Patent Judges. MCKONE, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from an August 3, 2009, Final Rejection of claims 1, 2, 4-9, and 11-30, which constitute all the claims pending in this application. Claims 3 and 10 are cancelled. App. Br. 2. We have jurisdiction under 35 U.S.C. § 6(b). We affirm-in-part. Appeal 2010-006589 Application 10/869,345 2 STATEMENT OF THE CASE Appellants’ invention relates to compressing software routines predicted to be seldom used prior to loading the routines onto a mobile device. See, e.g., Spec. 1. Claims 1 and 26, which are illustrative of the invention, read as follows: 1. A system for reducing the size of a device application to be loaded onto a mobile device, comprising: a processor; a predictor module executable by the processor to apply a predicate to the plurality of software routines, the predicate being a function operable to identify a pre-determined feature within one or more of the software routines; and a compression module executable by the processor to compress the identified software routine to generate a compressed software routine; wherein the mobile device is to decompress the compressed software routine when the compressed software routine is to be accessed on the mobile device; wherein the pre-determined feature is a reserved word; wherein the pre-determined feature is indicative of a software routine less likely to be executed repeatedly on the mobile device. 26. A method for reducing the size of software stored in a mobile device, comprising the steps of: selecting a predicate function that is operable to identify a feature within a software routine, wherein the feature is indicative of a Appeal 2010-006589 Application 10/869,345 3 software routine that is less likely to be executed repeatedly on the mobile device; applying the predicate function to a plurality of software routines to be stored on the mobile device to identify one or more of the software routines that include the feature; compressing the identified software routine; and loading the software routines, including the compressed software routine, onto the mobile device; wherein the mobile device is to decompress the compressed software routine when the compressed software routine is to be accessed by an execution thread on the mobile device. Claims 1, 2, 4-5, 8-9, 13, 15-21, and 29-30 stand rejected under 35 U.S.C. § 103(a) as obvious1 over Debray (S. Debray et al., Profile-Guided Code Compression, ACM 2002-PLDI’02, Berlin, Germany, 95-105) (Jun. 2002) and Venners (B. Venners, Objects and Java, Building Object- Oriented, Multi-Threaded Applications with Java, Jan. 12, 2002, 1-23, archived at: http://web.archive.org/web/20020124044957/ http://www.artima.com/objectsandjava/webuscript/index.html). See Final Rej. 4-10; see also Ans. 4-12. 1 Page 4 of the Final Rejection states that the rejection is under 35 U.S.C. § 102(b). However, page 5 states the Examiner’s view that the claims are obvious. The Examiner’s Answer, at 2, also states the basis for the rejection as 35 U.S.C. § 103(a). Appellants’ Brief, at 11, also acknowledges that the rejections are under Section 103(a). Therefore, we interpret the rejection to be under Section 103(a) and view the Examiner’s recitation of Section 102(b) in the Final Office Action as a harmless typographical error. Appeal 2010-006589 Application 10/869,345 4 Claims 6-7 stand rejected under 35 U.S.C. § 103(a) as obvious over Debray, Venners, and Online C++ Tutorial (Online C++ Tutorial, Section 7.3: Constructors and Destructors, 1-2, archived at: http://web.archive.org/web/20011207123904/www.intap.net/~d rw/cpp/cpp07_03.htm). See Final Rej. 10-11; see also Ans. 12-13. Claim 14 stands rejected under 35 U.S.C. § 103(a) as obvious over Debray, Venners, and Horsley (US 5,260,693, Nov. 9, 1993, filed Oct. 11, 1991). See Final Rej. 11-12; see also Ans. 13-14. Claims 11, 12, 22, 23, and 25-28 stand rejected under 35 U.S.C. § 103(a) as obvious over Debray and Venners. See Final Rej. 12-14; see also Ans. 10-12. ISSUES Appellants argue independent claims 1, 15, 26, 27, 29, and 30 together as a group. See App. Br. 11. Although Appellants nominally argue independent claims 15, 26, 27, 29, and 30 separately from claim 1, see App. Br. 15-19, the arguments presented for claims 15, 26, 27, 29, and 30 are substantially the same as those presented for claim 1. Appellants do not separately argue the rejections of the dependent claims with particularity. See generally App. Br. 11-19. Accordingly, we will discuss Appellants’ contentions by reference to claim 1. Appellants contend that neither Debray nor Venners discloses: 1. a “predicate being a function operable to identify a pre- determined feature within one or more software routines”; 2. “compress[ing] the identified software routine;” or Appeal 2010-006589 Application 10/869,345 5 3. “wherein the pre-determined feature is a reserved word,” as recited in claim 1. See App. Br. 12 (emphasis and bracketed alterations by Appellants). Accordingly, the issues raised by Appellants’ contentions are as follows: With regard to each of the above referenced claim limitations, did the Examiner err in finding that the combination of Debray and Venners teaches or suggests the limitation? Rather than repeat the arguments here, we refer to the Briefs and the Answer for the respective positions of Appellants and the Examiner. Only those arguments actually made by Appellants have been considered in this decision. Arguments that Appellants did not make in the Briefs have not been considered and are deemed to be waived. See 37 C.F.R. § 41.37(c)(1)(vii). ANALYSIS Rejections of Claims 1, 2, 4-9, 11-25, and 27-30 under 35 U.S.C. § 103(a) Appellants contend that neither Debray nor Venners discloses a “predicate being a function operable to identify a pre-determined feature within one or more of the software routines.” According to Appellants’ Specification, at 3, “[a] predicate 18 is a function that is applied by the predictor module 12 in order to identify a particular feature (or features) within one or more of the software routines 16 that is indicative of a routine that is less likely to be executed by the mobile device 22.” The Specification further explains that “software routines . . . may be segments or portions of one or more software applications or other contiguous program files . . . .” Id. Appeal 2010-006589 Application 10/869,345 6 The Examiner found that Debray discloses this limitation in Figure 1, at page 96 and in Section 5, starting at page 101. According to the Examiner, Debray “discloses the detailed implementation of identifying infrequently executed portion of program (cold code) by searching/identifying each of [the] instructions executed at runtime and comparing with the total number of instructions executed by the program at runtime to determine the execution frequency.” Ans. 4, 15 (emphasis by Appellants); see also Final Rej. 3. We agree with the Examiner’s finding. Debray’s technique identifies a portion of software code to compress and compresses that portion prior to runtime. See Debray 96 and Figure 1 (showing the organization of Debray’s code before and after compression). Debray identifies a candidate for compression by identifying pre-existing features of a block, namely the number of instructions in the block and the execution frequency of those instructions, “i.e., the block’s contribution to the total number of instructions executed at runtime.” Debray 101. If the block’s contribution is below a chosen threshold, it is “considered to be cold,” id., a term Debray uses to describe code that is “infrequently executed,” Debray 95. Appellants also contend that neither Debray nor Venners discloses “compress[ing] the identified software routine.” The Examiner found that Debray discloses “a compression module executable by the processor to compress the identified software routine to generate a compressed software routine” in Section 4, “Compressible Regions,” starting at page 99. We agree with the Examiner’s finding. Debray’s technique “create[s] ‘functions’ from arbitrary code regions and allow[s] these regions to be compressed and decompressed.” Debray 99. After blocks of code are Appeal 2010-006589 Application 10/869,345 7 identified as “cold,” Debray’s technique groups “cold” blocks from a single function together into a “tree” or “set” and determines whether it is “profitable” to compress those blocks. Debray 100. If the performance benefit of compressing the set of blocks outweighs the cost, “we make this tree a compressible region.” Id. Thus, Debray discloses compressing the identified software routine. Appellants argue that in their invention, “[a]ll software routines so identified are compressed.” App. Br. 11 (emphasis by Appellants). This argument is not commensurate in scope with the claim language. Instead, claim 1, for example, simply requires the identification of a pre-determined feature within “one or more of the software routines” and the subsequent compression of that identified software routine. It suffices that a pre- determined feature of at least one of Debray’s software routines is identified and that software routine is compressed. Appellants also contend that neither Debray nor Venners discloses “wherein the pre-determined feature is a reserved word.” The Examiner concedes that Debray “does not explicitly disclose wherein the pre- determined feature is a reserved word . . . .” Ans. 5. However, the Examiner found that Venners disclosed using a reserved word, specifically “” as an identifier for a class and that Venners describes this class as only invoked once during execution. See Id. The tag “” is the same “reserved word” described as an example in Appellants’ Specification (e.g., Spec. 4). The Examiner further found that Venners and Debray were in analogous arts, and that it would have been obvious to use the reserved word described in Venners to identify cold code for compression in Debray: Appeal 2010-006589 Application 10/869,345 8 Therefore, it would have been obvious to one having ordinary skill in the art at the time the invention was made to directly use the reserved word in the function to identify the cold code during the examining procedure. Because the special reserved word “” is easy to identif[y] and indicative of [code] less likely to be executed repeatedly (invoke[d] once). One would have been motivated to do so to identify/compress the cold code in order to reduce code size as suggested by Debray (see for example, p.95, section 1, Introduction, first paragraph, “This makes it desirable to reduce the application’s runtime memory requirements for both instructions and data”). Ans. 5. Appellants dispute this finding. Appellants characterize Debray as disclosing a “processor-intensive task of comparing all of the instructions executing at runtime to determine the execution frequency of each instruction,” an approach that “entails complex algorithms and extensive processing resources.” Reply Br. 2. In contrast, “the claimed compression technique requires only the identification of a pre-determined reserved word.” Id.; see also App. Br. 13 (“software routines are selected for compression based simply on the identification of a reserved word in the code.”). According to Appellants, to modify Debray to search for reserved words would be to disregard Debray’s teaching. See Reply Br. 3. We agree with Appellants that modifying Debray as suggested by the Examiner would be contrary to the teachings of Debray. Debray recognized that: The “functions” that we use as a unit of compression and decompression may not agree with the functions specified by the program. It is often the case that a program-specified function will contain some frequently-executed code that should not be compressed, and some infrequently-executed (cold) code that should be compressed. Appeal 2010-006589 Application 10/869,345 9 Debray 99. “To address this issue, [Debray] create[s] ‘functions’ from arbitrary code regions and allow[s] these regions to be compressed and decompressed.” Id. The size of the blocks are, in turn, chosen by balancing the size of the runtime buffer that would be necessary to accommodate the blocks against the number of times control would transfer between compressed and uncompressed code. See id. Debray also provides for flexibility in setting thresholds between code that is frequently used and code that is “cold” so that a user can choose the approximate percentage of the total number of instructions to compress. See Debray 101. Moreover, even if blocks of code are compressible, Debray’s approach still evaluates whether it is “profitable” to do so. See Debray 100. The Examiner reasons that “it would have been obvious to one having ordinary skill in the art at the time the invention was made to directly use the reserved word in the function to identify the cold code during the examining procedure.” Ans. 5. According to the Examiner, Debray could be modified to “only search[] for user specified (pre-determined) reserved word and compressing such identified user specified (predetermined) software routines for the purpose of reducing the program code size as indicated by Debray . . . .” Ans. 16. This would be done to “efficiently identify the cold code.” Id. We are not persuaded by the Examiner’s reasoning. The stated goals of Debray include “the design of an effective compression/decompression scheme so that the decompressor code is small and quick . . .; identification of appropriate units for compression and decompression . . .; as well as optimizations that improve the overall performance of the system . . . .” Debray 95. While it may be more efficient to simply search for reserved words to identify cold code, it would be at the expense of the flexibility and Appeal 2010-006589 Application 10/869,345 10 accuracy detailed in Debray. “Trade-offs often concern what is feasible, not what is, on balance, desirable. Motivation to combine requires the latter.” Winner Int’l Royalty Corp. v. Wang, 202 F.3d 1340, 1349 (Fed. Cir. 2000), see also id. at 1349 n.8 (“The fact that the motivating benefit comes at the expense of another benefit, however, should not nullify its use as a basis to modify the disclosure of one reference with the teachings of another. Instead, the benefits, both lost and gained, should be weighed against one another.”). The Examiner does not persuasively explain why a person of ordinary skill in the art would seek to sacrifice the stated objectives of Debray in order to achieve more efficiency in identifying cold code. Therefore, we conclude that the Examiner has not articulated a reasoning with rational underpinnings that a person of ordinary skill in the art would have modified Debray to search for reserved words, such as the reserved word discussed in Venners. See In re Kahn, 441 F.3d 977, 988 (Fed. Cir. 2006). Accordingly, we do not sustain the rejection of (1) claim 1; (2) claims 15, 27, 29, and 30, which include recitations substantially the same as those we find to not be taught or suggested by the cited prior art; (3) claims 2, 4-9, and 11-14, which depend from claim 1; (4) claims 16-25, which depend from claim 15; and (5) claim 28, which depends from claim 27. Rejection of Claim 26 under 35 U.S.C. § 103(a) Appellants also argue claim 26 in conjunction with claim 1 and only nominally argue it separately. See App. Br. 11, 16. Although Appellants argue in their Brief, at 11, and Reply, at 2, that the claimed pre-determined feature of claim 26 is a reserved word, this is not recited in claim 26. Otherwise, claim 26 is substantially the same as claim 1. For the reasons Appeal 2010-006589 Application 10/869,345 11 detailed above for representative claim 1, we agree with the Examiner’s findings that Debray discloses “applying the predicate function to a plurality of software routines . . . to identify one or more of the software routines that include the feature” and “compressing the identified software routine” and are unpersuaded by Appellants’ arguments to the contrary. The Examiner’s rejection of claim 26 was under 35 U.S.C. § 103(a). See Ans. 2. We note, however, that the Examiner found each of the limitations of claim 26 in Debray, see Ans. 4-5, 12, a finding we agree with. Thus, the Examiner properly could have rejected claim 26 under 35 U.S.C. § 102(b). Furthermore, the Board may rely on less than all of the references applied by the Examiner in an obviousness rationale without designating it as a new ground of rejection. See In re Bush, 296 F.2d 491, 496 (CCPA 1961); In re Boyer, 363 F.2d 455, 458 n.2 (CCPA 1966). In any case, “[i]t is well settled that anticipation is the epitome of obviousness.” In re McDaniel, 293 F.3d 1379, 1385 (Fed. Cir. 2002) (internal quotation marks omitted). The Examiner’s rejection of claim 26 as obvious is sustainable. See In re Pearson, 494 F.2d 1399, 1402 (C.C.P.A. 1974) (“[T]his court has sanctioned the practice of nominally basing rejections on § 103 when, in fact, the actual ground of rejection is that the claims are anticipated by the prior art.”). Accordingly, we sustain the rejection of claim 26. ORDER The decision of the Examiner to reject claims 1, 2, 4-9, 11-25, and 27- 30 is reversed. The decision of the Examiner to reject claim 26 is affirmed. Appeal 2010-006589 Application 10/869,345 12 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) (2010). AFFIRMED-IN-PART rwk Copy with citationCopy as parenthetical citation