Prosecution Insights
Last updated: July 17, 2026
Application No. 16/657,349

EFFICIENT WRITE OPERATIONS FOR DATABASE MANAGEMENT SYSTEMS

Non-Final OA §103
Filed
Oct 18, 2019
Priority
Oct 19, 2018 — provisional 62/748,257
Examiner
KIM, TAELOR
Art Unit
2859
Tech Center
2800 — Semiconductors & Electrical Systems
Assignee
ORACLE INTERNATIONAL Corporation
OA Round
7 (Non-Final)
62%
Grant Probability
Moderate
7-8
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 62% of resolved cases
62%
Career Allowance Rate
272 granted / 439 resolved
-6.0% vs TC avg
Strong +41% interview lift
Without
With
+40.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 10m
Avg Prosecution
2 currently pending
Career history
458
Total Applications
across all art units

Statute-Specific Performance

§101
0.9%
-39.1% vs TC avg
§103
89.4%
+49.4% vs TC avg
§102
8.1%
-31.9% vs TC avg
§112
0.5%
-39.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 439 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . DETAILED ACTION This action is in response to the application filed 11/24/2025. Claims 1-2, 7, 11-4, 18, and 20-31 are pending and have been examined. Claims 1-2, 7, 11-4, 18, and 20-31 are rejected. Response to Arguments Applicant's arguments filed 08/14/2023 have been fully considered but they are not persuasive. Applicant argues that the cited references fail to teach a second acknowledgement to confirm storing. Although the explicit sequence is not shown, Baddepudi teaches verification process where storing of data is verified. The modification of the process with acknowledgement of storing to include a verification process for confirming successful storage is obvious as explained below. Therefore, each limitation is taught by the combined teachings found in the references. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-21 are rejected under 35 U.S.C. 103 as being unpatentable over Sengupta et al. (US 20120102298; “Sengupta” hereinafter), further in view of Kimura (US 20210042286; “Kimura” hereinafter), and further in view of Baddepudi et al. (US 20130086330; “Baddepudi” hereinafter). As per claim 1, Sengupta discloses A computer-implemented method comprising: receiving, from a client application of a computing device, a request, at a database management system (DBMS), to store a first set of data entries for a particular database object; writing, by a first process of the DBMS, the first set of data entries into a first buffer of buffer memory in volatile memory (Sengupta [0023: “Various aspects of the technology described herein are generally directed towards using secondary storage (e.g., flash media storage) in a manner that uses only a relatively very small-sized RAM footprint compared to other technologies, such as for storing key-value pairs.”]; [0024-0026: “Thus, as used herein, "flash" is only an example that does not necessarily mean conventional flash media, but in general refers to any secondary storage (with conventional RAM considered primary storage). Moreover, the data structures described herein are only examples; indeed, the storage of any keyed records, not necessarily key-value pairs, may benefit from the technology described herein.”]; [ 0069: Volatile memory.]); [a) at least in part, in response to completing storing, by the first process, the first set of data entries in the first buffer in the volatile memory and b) while continuing to store at least a portion of the first set of data entries in the first buffer in the volatile memory of the DBMS] (Sengupta [0023: Describing use of buckets of buffers.]; [0025: " FIG. 1 shows example architectural components of one implementation of a key-value store maintained using relatively very fast RAM 102 and non-volatile secondary storage 104 (e.g., relatively fast compared to hard disk storage), which may be configured in flash media arranged as pages.]; [0069-0071: “The computer 1010 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 1010 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.”]): traversing, by a second process different from the first process, [a queue of buffers to select a buffer having data entries] to persistently store t [to persistent storage] of the DBMS, wherein the queue of buffers includes the first buffer (Sengupta [0030-0032 and 0039: “As represented by step 202 of FIG. 2, a key lookup (get) operation first looks for a key in the RAM write buffer 106.” Where RAM is analogous to “a queue of buffers”.]), and sending a first [acknowledgement to the client application that the first set of data entries for the particular database object is successfully stored on the DBMS before the first set of data entries is completely stored for the particular database object on the persistent storage of the DBMS;] after sending the first acknowledgement, [performing persistent write, by the second process of the DBMS the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS] (Sengupta [0028: Describing use of different storage to send data.]; [0032: “As generally represented in FIG. 3, a key insert (or, update/set) operation writes (step 302) the key-value pair into the RAM write buffer 106. As represented by step 304, when there are enough key-value pairs in the RAM write buffer 106 to fill a flash page (or, a configurable timeout interval since the client call has expired at step 306, such as on the order of one millisecond), the buffered entries are written to the secondary storage 104.”]) after the first acknowledgement that the first set of data entries for the particular database object is successfully stored on the DBMS and responsive to determining that the persistent write to the persistent storage of the DBMS is successful, [sending a second acknowledgement to the client application that confirms that the first set of data is persistently stored in the persistent storage of the DMBS from the first buffer in the volatile memory] (Sengupta [0075: “An auxiliary subsystem 1099 (e.g., for auxiliary display of content) may be connected via the user interface 1060 to allow data such as program content, system status and event notifications to be provided to the user, even if the main portions of the computer system are in a low power state.”]; See also Baddepudi below where two acknowledgements are sent.). Even though Sengupta teaches use of buffers and flash storage, it does not teach, but Kimura in an analogous art teaches: persistently storing first set of data entries from the first buffer in the volatile memory to persistent storage of the DBMS, in the volatile memory to the persistent storage of the DBMS, and persistently writing, by the second process of the DBMS the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS (Kimura [0116: Describing use of volatile memory to hold data then writing to persistent memory.]); traversing a queue of buffers that includes the first buffer (Kimura [0115-0119: “The mapper 113 can first reserve space in the reducer's buffer 115 by atomically modifying the state of the reducer's buffer 115.” Where copying buffer to memory space is analogous to traversing queue of buffers since queue is a memory location where the data is stored to copy the buffer.]); [acknowledgement] to the client application that the first set of data entries for the particular database object is successfully stored on the DBMS [without the first set of data entries being stored for the particular database object on the persistent storage of the DBMS] (Kimura [0116: Describes writing to persistent memory and acknowledgement or data receipt is implicit since data is successfully sent from one storage to anther.]; [0116: Describing use of volatile memory to hold data then writing to persistent memory.]; [0163: “In a database with data page-in/out of main memory (e.g., VRAM 30), multiple incoming pointers may cause issues with concurrency control.”]; [VRAM teaching is found throughout the reference.]). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to incorporate the writing data stored on cache/flash storage to permanent storage of Kimura into buffer model used in Sengupta to produce an expected result of using volatile memory to store into a persistent storage. The modification would be obvious because one of ordinary skill in the art would be motivated to provide users with a method of accessing data efficiently by using faster memory with slower disk memory to access less frequently accessed data. Kimura does not explicitly teach, however, Baddepudi in an analogous art teaches: a) at least in part, in response to completing storing, by the first process, the first set of data entries in the first buffer in the volatile memory and b) while continuing to store at least a portion of the first set of data entries in the first buffer in the volatile memory of the DBMS (Baddepudi [0028-0032: “In write-back mode, storage device 101 writes the data block requested by a client to a persistent cache device and acknowledges the commit of the data block before the data block may be written to the respective primary storage device. The cache copy may then later be written to primary storage device.”]) . . . before the first set of data entries is completely stored for the particular database object on the persistent storage of the DBMS (Baddepudi [0015: “The acknowledgement is sent without necessarily having written the data that was requested to be written to primary storage. Instead, the data is written to primary storage later.”]; [0008: “Often, a cache is a volatile memory device and primary storage is a non-volatile memory device.”]; [0007: “Storage, such as memory in a non-volatile memory device, that is used to hold temporary copies of data stored in a slower form of storage is referred to herein as a cache. The slower form of storage that stores data of which there are temporary copies in a cache is referred to herein as primary storage with respect to the cache.”]); sending a second acknowledgement to the client application that confirms that the first set of data is persistently stored in the persistent storage of the DMBS from the first buffer in the volatile memory (Baddepudi [0028-0029 and claim 3: Illustrates the second acknowledgement being sent for store commit.]; [0045, 0048: “According to an embodiment, to speed up recovery, verification of the block check value specified in the cache metadata 210 for a clean data block is not performed during recovery, but is instead performed when such data block is requested by a storage device client. This avoids reading many cache copies during recovery.”]). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to incorporate the acknowledgement message with timing in Baddepudi into buffer model used in Sengupta to produce an expected result of using volatile memory to store into a persistent storage and sending notifications. Although, the second acknowledgement in Baddepudi is not sent in response to a confirmation, it teaches a verification process for confirming final storage of data. The modification would be obvious because one of ordinary skill in the art would be motivated to provide users with more efficient memory uses including notifications (Baddepudi [0007-0008]). Also, it would be obvious to one of ordinary skill in the art before the effective filing data to modify Baddepudi in view of Sengupta and Kimura to include various implementations of acknowledgements for storing data. KSR Int'l Co. V. Teleflex Inc., 550 U.S. 398, 417 (2007) ("If a person of ordinary skill can implement a predictable variation, § 103 likely bars its patentability."). As per claim 2, rejection for claim 1 is incorporated and further Kimura discloses The method of Claim 1, further comprising: based on a buffer mapping data structure that references a plurality of buckets of the buffer memory in the volatile memory, identifying a first bucket of the plurality of buckets; wherein each bucket of the plurality of buckets comprises one or more buffers and metadata thereof; identifying the first buffer from the first bucket in the buffer memory to write the first set of data entries (Kimura [0116: Describing use of mapper to locate location for write operation.]). As per claim 7, rejection for claim 1 is incorporated and further Sengupta discloses The method of Claim 1, wherein identifying the first buffer in the buffer memory in the volatile memory comprises: the first process evaluating criteria for selecting the first buffer by determining that the first set of data entries can be written in available space of the first buffer (Sengupta [0032: Describing writing/inserting to first buffer.]). As per claim 11, rejection for claim 1 is incorporated and further Kimura discloses The method of Claim 1, further comprising: detecting that the first buffer has not been modified for a particular time period; based on detecting that the first buffer has not been modified for the particular time period, causing the second process to persistently store the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS (Kimura [0047: Describing cold data as data that has not been modified for a time period and stored into persistent memory.]). As per claim 12, rejection for claim 1 is incorporated and further Kimura discloses The method of Claim 1, wherein metadata of the first buffer has an indication that the first buffer is ready to be stored persistently, the method further comprising: based on the metadata of the first buffer having the indication that the first buffer is ready to be stored persistently (Kimura [0063: “In examples described herein, each data page, including the root data pages, can include dual pointers that include indications or addresses of the physical location of child pages.”]), modifying a queue of buffers for persistently storing in the persistent storage to include the first buffer; the second process traversing the queue of buffers (Kimura [0063, 0110: Describes use of pointers to locate buffers.]) to persistently store the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS (Kimura [0116: Describing use of volatile memory to hold data then writing to persistent memory.]). As per claim 21, rejection for claim 1 is incorporated and further Baddepudi in view of Sengupta and Kimura discloses The method of Claim 1, wherein the second process of the DBMS, different from the first process, persistently writing the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS comprising: after sending the acknowledgment to the client application that the first set of data entries for the particular database object is successfully stored on the DBMS; (Baddepudi [0015: “The acknowledgement is sent without necessarily having written the data that was requested to be written to primary storage. Instead, the data is written to primary storage later.”]; [0008: “Often, a cache is a volatile memory device and primary storage is a non-volatile memory device.”]; [0007: “Storage, such as memory in a non-volatile memory device, that is used to hold temporary copies of data stored in a slower form of storage is referred to herein as a cache. The slower form of storage that stores data of which there are temporary copies in a cache is referred to herein as primary storage with respect to the cache.”] See also Kimura [0116: Describes writing to persistent memory and acknowledgement or data receipt is implicit since data is successfully sent from one storage to anther.]; [0116: Describing use of volatile memory to hold data then writing to persistent memory.]; [0163: “In a database with data page-in/out of main memory (e.g., VRAM 30), multiple incoming pointers may cause issues with concurrency control.”]; [VRAM teaching is found throughout the reference.] and also see Sengupta [0024-0026: “Thus, as used herein, "flash" is only an example that does not necessarily mean conventional flash media, but in general refers to any secondary storage (with conventional RAM considered primary storage). Moreover, the data structures described herein are only examples; indeed, the storage of any keyed records, not necessarily key-value pairs, may benefit from the technology described herein.”]; [0069-0071: “The computer 1010 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 1010 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.”]); completing storing, by the second process, the first set of entries persistently in the persistent storage of the DBMS and flushing the first set of data entries from the volatile memory (Kimura [0116: Describing use of volatile memory to hold data then writing to persistent memory.]), and traversing, by the second process, from the first buffer in the queue of buffers to a next buffer in the queue of buffers to persistently store another set of data entries form the next buffer in the volatile memory to the persistent storage of the DBMS (Sengupta [0023: Describing use of buckets of buffers.]; [0025: " FIG. 1 shows example architectural components of one implementation of a key-value store maintained using relatively very fast RAM 102 and non-volatile secondary storage 104 (e.g., relatively fast compared to hard disk storage), which may be configured in flash media arranged as pages.]; [0069-0071: “The computer 1010 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 1010 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.”] also see rejection of claim 1 for storing process.). As per claim 22, rejection for claim 1 is incorporated and further Sengupta in view of Baddepudi discloses The method of Claim 1, wherein the first acknowledgement contains a reference to the first set of data entries stored on the DBMS (Baddepudi [0015: “The acknowledgement is sent without necessarily having written the data that was requested to be written to primary storage. Instead, the data is written to primary storage later.”]; [0042: “For example, in response to a data block read request from a storage device client for one or more data blocks, the data block is returned in an acknowledgement message and then the data block is written to a persistent cache device.”] Also see claim 1 where data entry information is used.). As per claim 23, rejection for claim 1 is incorporated and further Baddepudi discloses The method of Claim 1, wherein the first acknowledgement contains a reference to the first set of data entries stored on the DBMS (Baddepudi [0015: “The acknowledgement is sent without necessarily having written the data that was requested to be written to primary storage. Instead, the data is written to primary storage later.”]; [0042: “For example, in response to a data block read request from a storage device client for one or more data blocks, the data block is returned in an acknowledgement message and then the data block is written to a persistent cache device.”] Also see claim 1 where data entry information is used.), and the method further comprising: after sending the first acknowledgement to the client application that the first set of data entries for the particular database object is successfully stored on the DBMS, receiving, from the client application, a query for a persistence status of the first set of data entries, containing the reference to the first set of data entries (Baddepudi [0041: “After the procedure ends, a commitment acknowledgement is sent to the storage device client to acknowledge the commitment of the data block write request.”] where persistence status is interpreted under BRI to include data request as illustrated in Baddepudi.). As per claim 24, rejection for claim 1 is incorporated and further Baddepudi in view of Kimura discloses The method of Claim 1, further comprising: after sending the first acknowledgement to the client application that the first set of data entries for the particular database object is successfully stored on the DBMS, in response to a query from the client application for a persistence status of the first set of data entries, determining whether the persistent write of the first set of data entries from the first buffer in the volatile memory to the persistent storage of the DBMS was successful (Baddepudi [0041: “When a storage device client requests a block mode storage device to write a data block, the client receives a commit acknowledgement acknowledging that the data block has been committed, that is, has been written persistently.” See claim 3.]; [0043: “Since failure can occur while a write-back operation is being performed and before it completes, it is important that cache metadata be coherent if when a failure occurs in this situation.”] and also see Kimura [0 085: “If validation fails, execution of the transaction can abort, if execution of the transaction is aborted, the DBMS 100 can reattempt the transaction at a later time.”]). As per claim 25, rejection for claim 1 is incorporated and further Sengupta discloses The method of Claim 1, wherein receipt of the second acknowledgement causes the client application to discard at least in part the first set of data entries stored on the computing device (Baddepudi [0032; 0044-0048: “If a failure occurs while performing a write-back operation for a data block that entails overwriting a selected victim, the cache copy victim may be partially overwritten and cache metadata 210 never updated.”]; [Describing flushing similar to event pointed out by PTAB decision, Sengupta para.70 and Kimura paras 103, 115-119 describing data transfers.)). As per claim 26, rejection for claim 1 is incorporated and further Sengupta discloses The method of Claim 1, further comprising: [after the first acknowledgement that the first set of data entries for the particular database object is successfully stored on the DBMS, responsive to determining that the persistent write to the persistent storage of the DBMS is unsuccessful thereby failing to send the second acknowledgement,] receiving, from the client application, the first set of data entries to replay an attempt to persistently store the first set of data entries on the DBMS (See claim 1 rejection to repeat claim 1 steps.). Although Baddepudi in view of Kimura does not explicitly teach after the first acknowledgement that the first set of data entries for the particular database object is successfully stored on the DBMS, responsive to determining that the persistent write to the persistent storage of the DBMS is unsuccessful thereby failing to send the second acknowledgement, it teaches recovery and data recovery steps (Baddepudi [0031, 0043-44, 0046-47, 52-53] and Kimura [0085: “If validation fails, execution of the transaction can abort, if execution of the transaction is aborted, the DBMS 100 can reattempt the transaction at a later time.”]). Therefore, it would have been obvious to one of the ordinary skill in the art at the time of invention was made to incorporate the predicable variation of repeating storing stage if storing is unsuccessful to produce an expected result of repeating storage of data that fail to successfully store. The modification would be obvious because one of ordinary skill in the art would be motivated to use known variations of storing when prevented initially. KSR Int'l Co. V. Teleflex Inc., 550 U.S. 398, 417 (2007) ("If a person of ordinary skill can implement a predictable variation, § 103 likely bars its patentability."). Claims 13-14, 18, 20, and 27-32 are the CRM claims corresponding to method claims 1-2, 7, 11, 22-26, and 21, respectively. Sengupta discloses a non-transitory computer-readable media (¶ [0017]) for executing the method of claims 1-2, 7, 11, 22-26, and 21. Thus, claims 13-14, 18, 20, and 27-32 are rejected under the same rationale set forth in connection the rejections of claims 1-2, 7, 11, 22-26, and 21, respectively. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Sengupta et al. (US 20110276744) – Teaches use of write buffer and flash store to write data to a persistent disk store. Rajvanshy et al. (US 20110225367) – Teaches writing buffered data to persistent storage. The examiner requests, in response to this Office action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line no(s) in the specification and/or drawing figure(s). This will assist the examiner in prosecuting the application. When responding to this office action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections See 37 CFR 1.111(c). Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to Taelor Kim whose telephone number is (571) 270-7166. The examiner can normally be reached on Monday-Thursday (11AM-5PM) EST. The fax phone number for the organization where this application or proceeding is assigned is 571-270-8166. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. Taelor Kim /TAELOR KIM/Supervisory Patent Examiner, Art Unit 2836
Read full office action

Prosecution Timeline

Show 28 earlier events
Oct 15, 2024
Response after Non-Final Action
Oct 16, 2024
Response after Non-Final Action
Oct 17, 2024
Response after Non-Final Action
Oct 17, 2024
Response after Non-Final Action
Sep 19, 2025
Response after Non-Final Action
Nov 24, 2025
Request for Continued Examination
Dec 06, 2025
Response after Non-Final Action
Jun 10, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12676511
ULTRA-LOW POWER BEAMFORMING WIRELESS POWER TRANSFER SYSTEM
2y 1m to grant Granted Jul 07, 2026
Patent 12670206
TEMPORAL COPY USING EMBEDDING CONTENT DATABASE
3y 1m to grant Granted Jun 30, 2026
Patent 12639339
SYSTEMS AND METHODS FOR DATA VISUALIZATION IN THE METAVERSE WITH PORTABILITY TO MULTIPLE METAVERSE CHANNELS
2y 10m to grant Granted May 26, 2026
Patent 12596750
PARTITION PRUNING BY FUNCTION
4y 5m to grant Granted Apr 07, 2026
Patent 12596476
ELECTRONIC DEVICE FOR MANAGING STORAGE SPACE AND METHOD OF OPERATING THE SAME
3y 7m to grant Granted Apr 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

7-8
Expected OA Rounds
62%
Grant Probability
99%
With Interview (+40.8%)
3y 10m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 439 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month