Ex Parte LI et alDownload PDFPatent Trial and Appeal BoardJun 29, 201713309300 (P.T.A.B. Jun. 29, 2017) 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. 13/309,300 12/01/2011 Fulu LI ORA120096-US -NP 1474 55498 7590 07/03/2017 Vista IP Law Group, LLP (Oracle) 2160 Lundy Avenue Suite 230 San Jose, CA 95131 EXAMINER BLACK, LINH ART UNIT PAPER NUMBER 2163 NOTIFICATION DATE DELIVERY MODE 07/03/2017 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): docketing@viplawgroup.com ev@viplawgroup.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte FULU LI, ATSUSHI MORIMURA, MICHAEL ZOLL, VINEET MARWAH, and AMIT GANESH Appeal 2017-004517 Application 13/309,3001 Technology Center 2100 Before JOHN A. JEFFERY, BRUCE R. WINSOR, and JUSTIN BUSCH, Administrative Patent Judges. BUSCH, Administrative Patent Judge. DECISION ON APPEAL Appellants seek our review under 35 U.S.C. § 134 of the Examiner’s final decision rejecting claims 1—5, 7—12, 14—18, and 20. Claims 6, 13, and 19 were canceled previously. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 According to Appellants, the real party in interest is Oracle International Corporation. App. Br. 3. Appeal 2017-004517 Application 13/309,300 CLAIMED SUBJECT MATTER Claims 1, 8, and 15 are independent claims. The claims generally relate to “implementing failover and resume when using ordered sequences in a multi-instance database environment.” Spec. Abstract. Claim 1 is representative and reproduced below: 1. A computer implemented method for implementing failover when using ordered sequences in a multi-instance database environment, the method comprising: instantiating a plurality of database instances of a database, wherein the plurality of database instances comprises at least a first database instance initially designated as an active instance, and one or more other database instances initially designated as passive instances; identifying a master sequence associated with the database, wherein access to the master sequence is controlled through a global lock; allocating one or more portions of the master sequence to form a sequence cache, wherein the sequence cache comprises a plurality of symbols to be accessed in an order for satisfying sequence value requests from one or more sessions associated with the first database instance and the one or more other database instances; designating the first database instance as master of the sequence cache, such that access to the sequence cache is controlled through a first instance lock on the first database instance; satisfying a first sequence value request by accessing the sequence cache through the first instance lock on the first database instance; using a second database instance to recognize that the first database instance has failed, where the second database instance that recognized that the first database instance has failed is designated as master of the sequence cache, such that access to the sequence cache is controlled through a second instance lock on the second database instance; and 2 Appeal 2017-004517 Application 13/309,300 satisfying a second sequence value request by accessing the sequence cache through the second instance lock on the second database instance. REJECTION Claims 1—5, 7—12, 14—18, and 202 3stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Colrain et al. (US 2006/0190453 Al; Aug. 24, 2006), Chen et al. (US 7,089,356 Bl; Aug. 8, 2006), and Cruz et al. (US 2005/0172161 Al; Aug. 4, 2005). Final Act. 3-9. OPINION The Examiner finds the combination of Colrain, Chen, and Cruz teaches or suggests each of the limitations of independent claims 1, 8, and 15. Final Act. 3 8. In particular, the Examiner finds Chen discloses, inter alia, allocating one or more portions of a master sequence to form a sequence cache. Id. at 6-1 (citing Chen 4:1 50, 5:5 67; Figures 1, 2). The Examiner finds Colrain discloses, inter alia, a sequence cache comprising a plurality of symbols to be accessed in an order for satisfying sequence value requests from one or more sessions associated with database instances. Id. at 5 (citing Colrain || 12, 13, 36, 48, 53 56; Figures 8 and 9). The Examiner concludes “it would have been obvious to one of ordinary skill in the art at the time of the invention to combine the teachings of Colrain and [Chen] in order to effectively and continuously [monitor and perform] sequences of database events without interruption of a database failure.” Id. at 7. 2 Although the Examiner includes cancelled claim 19 in the statement of the rejection and its corresponding discussion (Final Act. 3, 9), we nonetheless omit that claim and present the correct claim listing here for clarity. 3 Appeal 2017-004517 Application 13/309,300 Appellants contend “[t]he proposed combination of references . . . would render Colrain unsatisfactory for its intended purpose.” App. Br. 17. Specifically, Appellants assert Colrain discloses that a monitored database instance, during normal operation, acquires and holds a semaphore on a pseudo object using a holding process. Id. at 17 18 (citing Colrain Figures 5, 6). Appellants argue a second process acquiring the pseudo object controlled by the semaphore would eviscerate Colrain’s intended purpose because “Colrain is specifically premised upon an approach where [the] second process is prevented from acquiring [the pseudo object] controlled by [the] semaphore during normal operation.” Id. at 17. It is well established that, where the proposed modification would render the prior art invention being modified unsatisfactory for its intended purpose, the proposed modification would not have been obvious. See Tec Air Inc. v. Denso Mfg. Michigan Inc., 192 F.3d 1353, 1360 (Fed. Cir. 1999); In re Gordon, 733 F.2d 900, 902 (Fed. Cir. 1984). We agree with Appellants in concluding the proposed combination is problematic. First, Colrain is directed to detecting the termination of a monitored database instance using a lock- or event-based system. Colrain 1112—13. Colrain’s lock-based system begins by forking a lightweight parent process into a holding routine/process and a waiting routine/process in serial order. Id. at H 37, 42. Upon the holding routine obtaining an exclusive lock on a pseudo-object in the monitored database instance, the holding routine blocks on the pseudo-object and sleeps without releasing the exclusive lock. Id. at H 45, 46. The waiting routine then connects to the 4 Appeal 2017-004517 Application 13/309,300 monitored database instance and indefinitely attempts to acquire the exclusive lock on the same pseudo-object. Id. at 147. If the waiting routine successfully acquires the exclusive lock, a standard application error is returned. Id. Accordingly, we find one intended purpose of Colrain’s lock- based system is to not release the exclusive lock on the pseudo-object in the monitored database instance while the monitored database instance is operating. Second, Figure 2 of Chen, relied upon by the Examiner, is illustrative and reproduced below: 200 5 Appeal 2017-004517 Application 13/309,300 Figure 2 of Chen “depicts the relationships between a sequence object, multiple database instances and multiple parallel processes.” Chen 5:11—13. As shown, system (200) includes a sequence object (202) with a corresponding R lock (203). Id. at 5:16—18. System (200) further includes a plurality of database instances (204A, 204B, 204N) that call the sequence object (202) to gain control of the corresponding R lock (203). Id. at 5:45—55. Chen further teaches processes (e.g., 208A, 208B) in each database instance similarly gain control of the corresponding R lock (203). Id. at 6:4—12. Chen teaches the purpose of the R lock (203) is to “[prohibit] more than one database instance 204A, 204B, 204N, or associated processes, from concurrently accessing and obtaining sequence values from sequence object 202.” Id. at 5:38-41. Thus, we find Chen’s sequence object (202), allowing the database instances (204A, 204B, 204N) and their respective processes (e.g., 208A, 208B) to gain control of the corresponding R lock (203) and obtain and cache (206A, 206B) sequence values from sequence object (202) in a serial order, allowing database instances to maintain separate respective caches concurrently, runs counter to Colrain’s intended purpose discussed above. In response to Appellants’ contention, other than repeating the findings from the Final Action, the Examiner finds Colrain discloses “a failsafe environment for database instances” as claimed. Ans. 8. The Examiner further finds Figure 2 of Chen teaches allocating one or more portions of a master sequence (202) to form a sequence cache (206A through 206N). Id. at 9. The Examiner explains Chen’s allocation “does not prevent the active database instance to be monitored in case of failure.” Id. 6 Appeal 2017-004517 Application 13/309,300 The Examiner has not cogently explained how applying Chen’s architecture to Colrain would not defeat Colrain’s intended purpose of not releasing an exclusive lock on a pseudo-object in a monitored database instance while the monitored database instance is operating. Because the Examiner has supplied insufficient evidence or reasoning to explain why the skilled artisan would have made the proposed modification, we agree with Appellants. Accordingly, on this record, we must reverse the 35 U.S.C. § 103(a) rejections of claims 1—5, 7—12, 14—18, and 20. DECISION For the above reasons, the Examiner’s decision to reject claims 1—5, 7—12, 14—18, and 20 is reversed. REVERSED 7 Copy with citationCopy as parenthetical citation