Ex Parte Cattell et alDownload PDFPatent Trial and Appeal BoardApr 30, 201411392304 (P.T.A.B. Apr. 30, 2014) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE __________ BEFORE THE PATENT TRIAL AND APPEAL BOARD __________ Ex parte RODERIC G. CATTELL and CRAIG L. RUSSELL1 __________ Appeal 2011-008893 Application 11/392,304 Technology Center 2100 __________ Before DEMETRA J. MILLS, ERIC GRIMES, and JEFFREY N. FREDMAN, Administrative Patent Judges. GRIMES, Administrative Patent Judge. DECISION ON APPEAL This is an appeal under 35 U.S.C. § 134 involving claims relating to database systems, which have been rejected as indefinite and obvious. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 Appellants identify the Real Party in Interest as Oracle America Inc. (App. Br. 1). Appeal 2011-008893 Application 11/392,304 2 STATEMENT OF THE CASE The Specification discloses “a memory-based relational data store that can be a cache to a backend relational database” (Spec. 2:8). “[T]he data store provides extremely fast updates, because updates need not be pushed to disk if the store is mirrored across two machines. A transaction commit can be performed by updating both the primary and standby stores.” (Id. at 2:14- 16.) A store can contain one or more sub-stores and “[e]ach sub-store can be configured independently. For example, a first sub-store may be configured as a single virtual memory cache to a backing database and another may be configured as a replicated store.” (Id. at 10:9-11.) In addition, a sub-store is divided into partitions; “[i]n a simple configuration there may be one partition, but in a distributed configuration there may be multiple partitions to achieve better scalability and availability” (id. at 10:17-19). Claims 1-3, 5-9, 11-14, 16-20, and 22-24 are on appeal. Claims 1 and 12 are illustrative and read as follows (emphasis added): 1. A data processing system having a plurality of independent sub data processing systems, the data processing system having a processor, a memory and a program running in the memory for managing an in-memory database, the data processing system performing a method comprising the steps of: providing the in-memory database in the memory as a cache for a backend database in data storage of the data processing system; distributing the in-memory database over at least two of the plurality of sub data processing systems; and modifying a field in an underlying row in the in-memory database during a current transaction, including: providing a row object that represents the underlying row; Appeal 2011-008893 Application 11/392,304 3 updating a field in the row object that corresponds to a field in the underlying row that is to be modified; and applying the updated field in the row object to the corresponding field in the underlying row when the current transaction commits. 12. A computer-readable storage medium on a data processing system having a processor, a memory and plurality of independent sub data processing systems containing instructions that cause a program to perform a method for managing an in-memory database, the method comprising the steps of: providing the in-memory database in the memory along with a database program run by the processor to manage a database stored in a data storage, wherein the in-memory database is configured as a cache of the database; and distributing the in-memory database over at least two of the plurality of sub data processing systems which reside in the same memory, wherein the distributing the in-memory database comprises partitioning the in- memory database over the at least two sub data processing systems. The claims stand rejected as follows: • Claim 24 under 35 U.S.C. § 112, second paragraph, as indefinite (Ans. 4); • Claims 1-3, 9, and 11 under 35 U.S.C. § 103(a) as obvious based on Bohannon2 and Whitmore3 (Ans. 5); • Claims 5 and 6 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Whitmore, and Cha4 (Ans. 8); • Claims 7 and 8 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Whitmore, and Robertson5 (Ans. 9); 2 Bohannon et al., US 5,845,292, patented Dec. 1, 1998. 3 Whitmore, US 6,070,165, patented May 30, 2000. 4 Cha et al., US 7,305,421 B2, patented Dec. 4, 2007. Appeal 2011-008893 Application 11/392,304 4 • Claim 22 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Whitmore, and Eshleman6 (Ans. 18); • Claim 24 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Whitmore, and Holenstein7 (Ans. 19); • Claims 12-14 and 19 under 35 U.S.C. § 103(a) as obvious based on Bohannon and Singh8 (Ans. 10); • Claims 16 and 17 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Singh, and Cha (Ans. 13); • Claim 18 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Singh, and Robertson (Ans. 14); and • Claims 20 and 23 under 35 U.S.C. § 103(a) as obvious based on Bohannon, Singh, and Toohey9 (Ans. 15). I. The Examiner has rejected claim 24 on the basis that it is indefinite: “Claim 24, recites ‘record updates are deferred until unavailability of ... ’, it is not clear how to perform record update when database is unavailable. Therefore it is indefinite.” (Ans. 4.) Appellants argue that as both the in-memory database and the at least one secondary replica copy of the in-memory database of claims 24 and 9 (to which Claim 24 depends from) may contain the same or similar information/updates (hence the name secondary replica copy), 5 Robertson et al., US 7,194,543 B2, patented Mar. 20, 2007. 6 Eshleman et al., US 7,162,467 B2, patented Jan. 9, 2007 7 Holenstein et al., US 2004/0133591 A1, published July 8, 2004. 8 Singh et al., US 5,987,468, patented Nov. 16, 1999. 9 Toohey et al., US 6,961,729 B1, patented Nov. 1, 2005. Appeal 2011-008893 Application 11/392,304 5 record updates may still be applied even upon unavailability of one of the in-memory database or the secondary replica copy. (App. Br. 19.) We agree with Appellants’ position, and reverse the rejection of claim 24 under 35 U.S.C. § 112, second paragraph, for the reason stated in the Appeal Brief. II. The Examiner has rejected claims 1-3, 9, and 11 as obvious based on Bohannon and Whitmore. The Examiner has also rejected claims 5-8, 22, and 24 as obvious based on Bohannon, Whitmore, and additional prior art. The same issue is dispositive for all of the rejections based on Bohannon and Whitmore. The Examiner finds that Bohannon discloses a database system performing the “providing” and “distributing” steps of claim 1 (Ans. 5-6) and Whitmore discloses modifying a field in an underlying row in the manner recited in the claim (id. at 6). The Examiner concludes that it would have been obvious “to modify Bohannon, as taught by Whitmore . . . in order to avoid inconsistency” (id. at 6-7). Appellants argue that, in the “modifying” step recited in claim 1, changes to the underlying row are initially made to the row object instead of the underlying row itself which allows a transaction to be rolled back in the event of a failure, changes to be sent to a standby replica, etc. It is only after the transaction has been committed that the corresponding field in the underlying row is updated. (App. Br. 6-7.) Appellants argue that, Appeal 2011-008893 Application 11/392,304 6 in direct contrast to the method of independent claim 1 . . . , the structured database of Whitmore conversely does not “commit” the transaction until after the structured database has been updated with the row instance changes (i.e., the transaction of Whitmore inherently cannot be “committed successfully” until after “all the rows have been saved”). (Id. at 8.) We agree with Appellants that the Examiner has not provided sufficient evidence to support the finding that Whitmore discloses “applying [an] updated field in [a] row object to the corresponding field in the underlying row when the current transaction commits,” as required by claim 1. “[T]he examiner bears the initial burden, on review of the prior art or on any other ground, of presenting a prima facie case of unpatentability.” In re Oetiker, 977 F.2d 1443, 1445 (Fed. Cir. 1992). “[P]atentability is determined on the totality of the record, by a preponderance of evidence with due consideration to persuasiveness of argument.” Id. Whitmore discloses a method in which a “processor is used to construct a single cohesive data structure, called a relational cache, that comprises all the row instances and that represents information retrieval from [a] structured database” (Whitmore, abstract). Whitmore states that [r]ow instances within the relational cache may be modified by the application, where the row instances are marked as modified but not saved to the database at that time. The framework ensures all modified row instances within the cache are saved at one time, which are presented to the database as a single transaction. (Id.) The Examiner found that Whitmore describes the disputed limitation at column 2, lines 49-52, and col. 13, lines 8-9 (Ans. 6). Those passages Appeal 2011-008893 Application 11/392,304 7 state that row instances from a database are “copied to cache memory as row object instances where said instances may be changed through an associated data display and editing form or batch data processing routine and the updated row object instances subsequently saved to the database” (Whitmore, col. 2, lines 48-52) and that “[w]hen all rows have been saved and the structured database transaction committed successfully, method software commits changes in relational cache” (id. at col. 13, ll. 8-11). Whitmore also states that the row instances copied from the database to cache memory can be edited (id. at col. 11, l. 19) or deleted (id. at col. 12, l. 3) and the changes made in the relational cache can be saved: “[o]bject- oriented application may request method software save relational cache at any time” (id. at col. 12, ll. 12-13). The Examiner has not persuasively explained why Whitmore’s disclosure would be viewed by those skilled in the art as meeting the claim limitations that require providing a row object that represents a row of an in- memory database (which itself is acting as a cache for a back-end database), updating a field in the row object, and only applying the updated field to the row of the in-memory database when the transaction commits. Whitmore’s system, in contrast, appears to involve only a structured database and a relational cache that is updated and then saved at a later time. Thus, we agree with Appellants (App. Br. 6-9) that Whitmore’s method appears to update the “underlying row” (of the cache) before committing the transaction rather than “when the current transaction commits,” as required by claim 1. Appeal 2011-008893 Application 11/392,304 8 The Examiner rejected certain dependent claims as obvious based on Bohannon and Whitmore combined with one of Cha, Robertson, Eshleman, or Holenstein. Those rejections suffer from the same deficiency discussed above. We therefore reverse all of the rejections based on Bohannon and Whitmore. III. The Examiner has rejected claims 12-14 and 19 as obvious based on Bohannon and Singh. The Examiner has also rejected claims 16-18, 20, and 23 as obvious based on Bohannon, Singh, and additional prior art. The same issue is dispositive for all of the rejections based on Bohannon and Singh. The Examiner finds that Bohannon teaches a computer-readable medium containing a program that causes a method to be performed that comprisescomprising providing an in-memory database as a cache for a database in data storage and distributing the in-memory database over at least two sub data processing systems (Ans. 10-11) and that Singh discloses distributing an in-memory database by partitioning it over at least two sub data processing systems (id. at 11). The Examiner concludes that it would have been obvious “to modify Bohannon, as taught by Singh, . . . in order to effective[ly] and efficiently perform[ ] a parallel query of a database” (id. at 12). Appellants argue that any attempt to partition the central database 125 of Bohannon in view of Singh (and/or any other of the cited references) would destroy the stated purposes of Bohannon to “allow operations to be performed locally thereon by respective clients 110” and to allow the distributed database to “be revised quickly” because each of the distributed counterparts 140 of the Appeal 2011-008893 Application 11/392,304 9 clients 110 would not have a complete or nearly complete version of the central database 125 which would be needed to perform such stated purposes of Bohannon. (App. Br. 14-15.) We agree with Appellants that the Examiner has not provided persuasive reasoning, supported by the evidence, for concluding that it would have been obvious to partition Bohannon’s in-memory database over at least two sub data processing systems, as required by claim 12. Bohannon discloses a system and method for restoring a distributed counterpart, stored in volatile memory, of “a central database associated with a server of a computer network, the central database having distributed counterparts stored in volatile memories of clients of the computer network to allow operations to be performed locally thereon” (Bohannon, col. 2, l. 65 to col. 3, l. 2). Bohannon’s system includes a stable log, for tracking operations on the central database, that has tails in the volatile memories, for tracking operations on the distributed counterparts of the central database (id. at col. 3, ll. 3-8). Bohannon describes an exemplary network that includes “a single server 105 that is suitably associated with a plurality of clients 110” (id. at col. 8, ll. 15-16). “Each of clients 110 also illustratively includes a processor 115 and a memory 120 . . . . Exemplary memory 120 illustrative[ly] includes a distributed counterpart (a copy) 140 of central database 125.” (Id. at col. 8, ll. 39-43.) Bohannon states that its system “provid[es] a distributed database that may be revised quickly (because it is stored in separate volatile memories of various computer systems of a computer network), but that is Appeal 2011-008893 Application 11/392,304 10 recoverable should it (or any of the distributed counterparts) become corrupted” (id. at col. 2, ll. 57-61). Bohannon therefore expressly discloses a network in which a set of clients each contains “a distributed counterpart (a copy)” of a central database. The Examiner concludes, however, that it would have been obvious to modify this system so that the central database is partitioned between clients, based on Singh. Singh discloses a method for rapidly and efficiently performing a parallel query of a database of high-dimensional data items to identify similar items having user defined similarity characteristics and joining the similar items into an output set of data items; a method characterized in that the database, an ε-k-d-B tree structure, [ ] is partitioned among the multiplicity of processing elements based on a load balancing weighting operation rather than on the number of points alone. (Singh, col. 5, ll. 45-53.) Singh discloses that its method is useful in databases with a high number of dimensions “in domains such as multimedia and time-series” (id. at col. 6, ll. 25-26). We agree with Appellants, however, that modifying Bohannon’s system to partition the central database between clients would be contrary to Bohannon’s purpose. Bohannon states that having distributed counterparts (copies) of the central database on each client “allow[s] operations to be performed locally” at the client (Bohannon, col. 3, l. 2) and thus allows the database to be revised quickly while still being recoverable if it becomes corrupted (id. at col. 2, ll. 57-61). The Examiner has not pointed to evidence, or provided persuasive logical or technical reasoning, to support the conclusion that partitioning Appeal 2011-008893 Application 11/392,304 11 Bohannon’s central database would have been considered obvious based on Singh’s disclosure of a partitioned database used for identifying similarities in multi-dimensional data items. In particular, the Examiner has not provided evidence to show that the proposed modification of Bohannon’s system would provide the result desired by Bohannon or other advantages that would offset the loss of the qualities described by Bohannon. The Examiner rejected certain claims as obvious based on Bohannon and Singh combined with one of Cha, Robertson, or Toohey. Those rejections suffer from the same deficiency discussed above. We therefore reverse all of the rejections based on Bohannon and Singh. SUMMARY We reverse all of the rejections on appeal. REVERSED cdc Copy with citationCopy as parenthetical citation