Prosecution Insights
Last updated: April 19, 2026
Application No. 16/727,219

GENERATING FULL METADATA FROM PARTIAL DISTRIBUTED METADATA

Final Rejection §103§112
Filed
Dec 26, 2019
Examiner
LE, MICHAEL
Art Unit
2163
Tech Center
2100 — Computer Architecture & Software
Assignee
Yahoo Assets LLC
OA Round
10 (Final)
66%
Grant Probability
Favorable
11-12
OA Rounds
3y 3m
To Grant
88%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allow Rate
568 granted / 864 resolved
+10.7% vs TC avg
Strong +22% interview lift
Without
With
+22.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
61 currently pending
Career history
925
Total Applications
across all art units

Statute-Specific Performance

§101
12.4%
-27.6% vs TC avg
§103
52.7%
+12.7% vs TC avg
§102
13.4%
-26.6% vs TC avg
§112
15.9%
-24.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 864 resolved cases

Office Action

§103 §112
DETAILED ACTION Summary and Status of Claims The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Office Action is in response to Applicant’s reply filed 1/2/2026. Claims 1-20 are pending. Claims 1-20 are rejected under 35 U.S.C. 112(a). Claims 1-20 are rejected under 35 U.S.C. 112(b). Claims 1, 2, 6-9, 13-16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192) Claims 5, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192), further in view of in view of Hiyoshi (US Patent 6,643,632) of record. Claims 3, 4, 10, 11, 17, and 18 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192), further in view of Infante Suarez et al. (US Patent Pub 2017/0337229) of record. The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. Claims 1-20 are rejected under 35 U.S.C. 112(a) as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for pre-AIA the inventor(s), at the time the application was filed, had possession of the claimed invention. Claims 1, 8, and 15 recite “writing, by the writer process, the data to a buffer in memory while concurrently writing a first portion of the data to a first file persistently stored in the storage device,” “monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer,” “detecting … a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds the available memory space, wherein detecting the split boundary comprises determining that the buffer has reached a maximum capacity before completing the writing of the first portion,” and “in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record.” However, these limitations are not described by the specification. The paragraphs previously cited by Applicant as support for the amendments are reproduced below. [0036] In addition to raw data (202, 204, 206), decoration data is stored in three locations (208, 210, 212). Similar to locations (202, 204, 206), the decoration data is stored in individual files stored on the same or different computing devices. Notably, the decoration data is stored in files separate from the raw data. [0053] As illustrated, the composite data set object (321) also includes a structure property that represents the flattened, algebraic representation of the composite dataset, described above. The structure property comprises a set of terms (323) that define the structure of the composite dataset. Each term is a summand in the algebraic representation and contains a dataset element for each factor (described in connection with element 325). In the example depicted in FIG. 3A, the structure property would include three terms: X1·Y·Z, X2·Y·Z, and X3·Y·Z. [0054] In the illustrated embodiment, a term (323) includes a factors property. The factors property comprises an array of dataset objects (e.g., 325). In the example, depicted in FIG. 3A the term X1.Math.Y.Math.Z would include three factors of X1, Y, and Z. [0063] In step 403a, the method (400a) writes the data to disk. In some embodiments, the method (400a) creates one or more files and begins writing out the received data to disk after processing the data according to one or more operations (described as the write task in FIG. 3A). In one embodiment, the method (400a) maintains a row counter and increments this row counter as rows are written to disk. As reproduced above, para. 0036 describes how “decoration data” is stored in individual files on the same or different computing devices that are separate from the “raw data,” paras. 0053-54 describe a composite data object and its algebraic representation, and para. 0063 describes writing data to the disks and the method includes a row counter that increments as rows are written to the disk. None of these cited paragraphs nor in the remainder of the specification, is there a description of the method writing the data to a buffer, monitoring actual memory consumption of the buffer in order to detect a split boundary, and reading backwards in the buffer from an end position to find a last logical boundary of a record. While buffers are known parts of storage devices and computer components, their specific use as now recited in the claim, is unconventional. As further discussed in the rejection under 112(b) below, the limitations seem to conflate the use of the buffer with the storage device. Accordingly, the claims are rejected under prior art below as best understood by the Examiner given the new limitations. For at least these reasons, claims 1, 8, and 15 fail to comply with the written description requirement. The remaining claims are rejected because they depend on a rejected claim. The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. Claims 1-20 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention. Claims 1, 8, and 15 recite “… to detect if a size of the first file exceeds available memory space in the buffer” in the “monitoring” limitation. The limitation seems to conflate the buffer and the storage device. The “writing” limitation writes “the data” to the buffer but writes the “first file” in the storage device where it is persistently stored. It’s unclear how monitoring “actual memory consumption of the buffer” would allow detection of whether the size of the first file “exceeds available memory space in the buffer” because the “first file” is not stored in the buffer. It is also unclear whether “memory” is distinct from the previously recited “storage device”. Clarification is required. Similarly, claims 1, 8, and 15 further recites “wherein detecting the split boundary comprises determining that the buffer has reached a maximum capacity before completing the writing of the first portion” in the “detecting” limitation. It is unclear how it can be determined that a buffer has reached a maximum capacity and whether the first file exceeds the available memory space of the buffer because the first file is stored in the storage device. Clarification is required. For the prior art rejections below, the “buffer” is treated as being the same as the “storage device” because it is unclear how each of them is used when monitoring actual memory consumption and detecting a split boundary. The remaining claims are rejected because they depend on a rejected claim. Note on Prior Art Rejections 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. Claim Rejections - 35 USC § 103 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 text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. 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. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. Claims 1, 2, 6-9, 13-16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) (Sareen) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192) (Bensberg). In regards to claim 1, Sareen discloses a method comprising: a. receiving, by a processor via a writer process executed by the processor, data to write to a storage device, the data comprising a subset of a dataset, wherein the data comprises a set of rows within the subset of the dataset (Sareen at paras. 0027-29, 0067)1; b. writing, by the writer process, the data to a buffer in memory while concurrently writing a first portion of the data to a first file persistently stored in the storage device, the first portion comprising a first subset of rows in the set of rows, by creating a file on the storage device and writing the first portion to the storage device (Sareen at paras. 0036, 0038, 0054-56)2; c. recording, by the processor, metadata describing the split boundary, the metadata including a size of the first subset of rows written to the first file (Sareen at paras. 0036, 0038, 0055)3; d. after completing the writing of the data to the storage device: i. generating, by the processor, a partial metadata file for the data, the partial metadata file including the split boundary (Sareen at paras. 0036, 0038)4, and ii. transmitting, by the processor, the partial metadata to a partial metadata collector. Sareen at paras. 0036, 0038.5 Sareen does not expressly disclose monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer, detecting, by the processor, a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds available memory space, wherein detecting the split boundary comprises determining that the buffer has reached maximum capacity before completing the writing of the first portion, in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record, and continuing, by the processor, to write a remaining portion of the data to at least one other file stored in the storage device. It is noted that Sareen does disclose writing portions of a big file into smaller file portions. Sareen at para. 0038. It is also noted that the “volatile memory device” here is interpreted as the recited “storage device”, which is consistent with what is described in the specification. Bensberg discloses a system and method for dynamic range partitioning. The method includes writing records (i.e., rows) to a default partition (i.e., first file). As records are written, it is determined whether the size of the default partition (i.e., first file) is greater than a threshold size, wherein “size” may be a number of records, a memory amount (i.e., actual memory consumption), or any other suitable unit of size. Bensberg at Fig. 2; para. 0026. If the default partition (i.e., first file) is determined to be greater than the threshold size (i.e., first file exceeds the available memory space because the buffer has reached a maximum capacity before completing the writing of the first portion), the partition is considered full and metadata is written for it. In this case, a logical boundary is determined by Bensberg as a result of determining the last fully stored record (i.e., reading backward from an end point …). Subsequently, a new default partition (i.e., at least one other file …) and new records are written to the new default partition (i.e., continuing to write a remaining portion …). Bensberg at Fig. 2; paras. 0033-34. Sareen and Bensberg are analogous art because they are both directed to the same field of endeavor of row data and distributing row data into smaller portions. At the time before the effective filing date of the instant application, it would have been obvious to one of ordinary skill in the art to modify Sareen by adding the features of monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer, detecting, by the processor, a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds available memory space, wherein detecting the split boundary comprises determining that the buffer has reached maximum capacity before completing the writing of the first portion, in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record, and continuing, by the processor, to write a remaining portion of the data to at least one other file stored in the storage device, as disclosed by Bensberg. By doing so, the file portions of Sareen can be dynamically sized based on available memory pool capacity. The motivation for doing so would have been to provide efficient allocation of storage. Bensberg at para. 0023. In regards to claim 2, Sareen in view of Bensberg discloses the method of claim 1 further comprising generating alignment data after recording the split boundary, the alignment data comprising metadata aligning the first portion of the data to a root dataset. Sareen at para. 0038.6 In regards to claim 6, Sareen in view of Bensberg discloses the method of claim 1, the detecting the split boundary comprising detecting that a current file is too large to fit in a memory coupled to the processor. Sareen at para. 0036.7 In regards to claim 7, Sareen in view of Bensberg discloses the method of claim 1, the generating the partial metadata file for the data comprising writing a schema to the partial metadata file. Sareen at para. 0038.8 Claim 8 is essentially the same as claim 1 in the form of a non-transitory computer readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor (Sareen at paras. 0107), the computer program instructions defining the steps of the method recited in claim 1. Therefore, it is rejected for at least the same reasons. Claims 9 and 13-14 are essentially the same as claims 2, 6, and 7, respectively, in the form of a computer readable storage medium. Therefore, they are rejected for the same reasons. In regards to claim 15, Sareen discloses an apparatus comprising: a. a processor (Sareen at para. 0107); and b. a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic causing the processor to perform the operations (Sareen at para. 0107) of: i. receiving, via a writer process executed by the processor, data to write to a storage device, the data comprising a subset of a dataset, wherein the data comprises a set of rows within the subset of the dataset (Sareen at paras. 0027-29, 0067)9; ii. writing, by the writer process, the data to a buffer in memory while concurrently writing a first portion of the data to a first file persistently stored in the storage device, the first portion comprising a first subset of rows in the set of rows, by creating a file on the storage device and writing the first portion to the storage device (Sareen at paras. 0036, 0038, 0054-56)10, iii. recording metadata describing the split boundary, the metadata including a size of the first subset of rows written to the first file (Sareen at paras. 0036, 0038, 0055)11, and iv. after completing the writing of the data to the storage device: generating a partial metadata file for the data, the partial metadata file including the split boundary (Sareen at paras. 0036, 0038)12, and transmitting the partial metadata to a partial metadata collector. Sareen at paras. 0036, 0038.13 Sareen does not expressly disclose monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer, detecting, by the processor, a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds available memory space, wherein detecting the split boundary comprises determining that the buffer has reached maximum capacity before completing the writing of the first portion, in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record, and continuing, by the processor, to write a remaining portion of the data to at least one other file stored in the storage device. It is noted that Sareen does disclose writing portions of a big file into smaller file portions. Sareen at para. 0038. It is also noted that the “volatile memory device” here is interpreted as the recited “storage device”, which is consistent with what is described in the specification. Bensberg discloses a system and method for dynamic range partitioning. The method includes writing records (i.e., rows) to a default partition (i.e., first file). As records are written, it is determined whether the size of the default partition (i.e., first file) is greater than a threshold size, wherein “size” may be a number of records, a memory amount (i.e., actual memory consumption), or any other suitable unit of size. Bensberg at Fig. 2; para. 0026. If the default partition (i.e., first file) is determined to be greater than the threshold size (i.e., first file exceeds the available memory space because the buffer has reached a maximum capacity before completing the writing of the first portion), the partition is considered full and metadata is written for it. In this case, a logical boundary is determined by Bensberg as a result of determining the last fully stored record (i.e., reading backward from an end point …). Subsequently, a new default partition (i.e., at least one other file …) and new records are written to the new default partition (i.e., continuing to write a remaining portion …). Bensberg at Fig. 2; paras. 0033-34. Sareen and Bensberg are analogous art because they are both directed to the same field of endeavor of row data and distributing row data into smaller portions. At the time before the effective filing date of the instant application, it would have been obvious to one of ordinary skill in the art to modify Sareen by adding the features of monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer, detecting, by the processor, a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds available memory space, wherein detecting the split boundary comprises determining that the buffer has reached maximum capacity before completing the writing of the first portion, in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record, and continuing, by the processor, to write a remaining portion of the data to at least one other file stored in the storage device, as disclosed by Bensberg. By doing so, the file portions of Sareen can be dynamically sized based on available memory pool capacity. The motivation for doing so would have been to provide efficient allocation of storage. Bensberg at para. 0023. Claims 16 and 20 are essentially the same as claims 2 and 6, respectively, in the form of an apparatus. Therefore, they are rejected for the same reasons. Claims 5, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) (Sareen) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192) (Bensberg), further in view of Hiyoshi (US Patent 6,643,632). In regards to claim 5, Sareen in view of Bensberg discloses the method of claim 1, but does not expressly disclose wherein the size of the first subset of rows comprises a row count of the split. Hiyoshi discloses a system and method for processing data base rows and storing them in individual files. The process involves receiving records and writing a first portion to a first file. Each output file includes a maximum file size (i.e., row count of the split). Hiyoshi at col. 5, lines 15-40. Sareen, Bensberg and Hiyoshi are analogous art because they are both directed to the same field of endeavor of row data and distributing row data into smaller portions. At the time before the effective filing date of the instant application, it would have been obvious to one of ordinary skill in the art to modify Sareen in view of Bensberg by adding the features of monitoring, by the processor, memory usage of the first file during the writing of the first portion to detect if the first file exceeds a memory pool capacity, detecting, by the processor, a split boundary during the writing of the first portion based on the monitored memory usage indicating the first file exceeds the memory pool capacity, and continuing, by the processor, to write a remaining portion of the data to at least one other file stored in the storage device, as disclosed by Bensberg. By doing so, the file portions of Sareen can be dynamically sized based on available memory pool capacity. The motivation for doing so would have been to allow individual files to be processed and used as desired. Hiyoshi at col. 5, lines 38-41. Claims 12 and 19 are essentially the same as claim 5, in the form of an computer readable storage medium and an apparatus, respectively. Therefore, they are rejected for the same reasons. Claims 3, 4, 10, 11, 17, and 18 are rejected under 35 U.S.C. 103 as being unpatentable Sareen et al. (US Patent Pub 2014/0222843) (Sareen) of record, in view of Bensberg et al. (US Patent Pub 2016/0055192) (Bensberg), further in view of Infante Suarez et al. (US Patent Pub 2017/0337229) (Suarez) of record. In regards to claim 3, Sareen in view of Bensberg discloses the method of claim 1, further comprising: a. receiving, by the processor, the partial metadata file and a plurality of additional partial metadata files (Sareen at paras. 0036)14; b. sorting, by the processor, the partial metadata file and the plurality of additional partial metadata files to generate a sorted list of partial metadata files (Sareen at para. 0039)15; c. sorting, by the processor, split records within the partial metadata files based on one or more split boundaries in a respective file (Sareen at para. 0039)16; and d. writing, by the processor, the sorted list of partial metadata to the storage device as a full metadata file. Infante Suarez at paras. 0067-6817. Sareen in view of Bensberg does not expressly disclose writing, by the processor, the sorted list of partial metadata to the storage device as a full metadata file. Suarez discloses a system and method for indexing distributed storage of data using local indexes (i.e., partial metadata). The local indexes and their records, are sorted, and combined to generate a global index (i.e., writing … the sorted list of partial metadata … as a full metadata file). Suarez at paras. 0062, 0067-68. Sareen, Bensberg, and Suarez are analogous art because they are all directed to the same field of endeavor of distributed storage. At the time before the effective filing date of the instant application, it would have been obvious to one of ordinary skill in the art to modify Sareen in view of Bensberg by adding the feature of writing, by the processor, the sorted list of partial metadata to the storage device as a full metadata file, as disclosed by Suarez. The motivation for doing so would have been to efficiently identify local indexes to respond to a query. Suarez at para. 0068. Much like Sareen and Bensberg, Suarez discloses storing metadata for individual parts of the distributed data (i.e., partial metadata). As disclosed by Suarez, combining these partial metadata into a large global index allows more efficient processing. In regards to claim 4, Sareen in view of Bensberg and Suarez discloses the method of claim 3, further comprising validating alignment of the splits after sorting the splits. Sareen at Fig. 1; para. 0036-39.18 Claims 10 and 11 are essentially the same as claims 3 and 4, respectively, in the form of a computer readable storage medium. Therefore, they are rejected for the same reasons. Claims 17 and 18 are essentially the same as claims 3 and 4, respectively, in the form of an apparatus. Therefore, they are rejected for the same reasons. Response to Amendment Objection to claims 8 and 15 for Minor Informalities Applicant’s amendment to claims 8 and 15 to address the minor informalities is acknowledged. Consequently, the objection to claims 8 and 15 is withdrawn. Response to Arguments Rejection of Claims 1-20 under 35 U.S.C 112(a) Applicant’s arguments in regards to the rejections to claims 1-20 under 35 U.S.C. 112(a), have been fully considered but they are not persuasive. As noted in the rejection above, Examiner asserts the specification does not provide sufficient written description for (1) “writing, by the writer process, the data to a buffer in memory while concurrently writing a first portion of the data to a first file persistently stored in the storage device,” (2) “monitoring, by the processor, actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer,” (3) “detecting … a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds the available memory space, wherein detecting the split boundary comprises determining that the buffer has reached a maximum capacity before completing the writing of the first portion,” and (4) “in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record.” In regards to limitation (1), Applicant argues the specification provides ample support at paras. 0064 (0063 as filed), para. 0075 (0074 as filed), and para. 0082 (0081 as filed). Indeed these paragraphs describe a feature of detecting a split for a current file based on the file being too large to fit in memory or memory usage. However, none of these paragraphs describe writing data to a buffer in memory while concurrently writing a first portion of the data to a first file in a persistence storage device. These paragraphs, and the remainder of the specification, merely describe the processing of writing data to a current file on a disk (i.e., a storage device), row by row (as discussed at para. 0080) until a split condition is met (i.e., a split is detected), such as the current file is too large or some other configuration setting. Applicant seems to be referencing features disclosed by Sareen, such as the “buffer”, and “reading backwards in the buffer … last logical boundary of a record” as discussed in regards to limitation (4) below. Applicant argues that one of ordinary skill would recognize that in distributed processing environments, such as Hadoop, data is necessarily buffered in memory during write operations before being flushed to a persistent storage and equates this process to the writer writing data to disk while maintaining row counters and monitoring for split conditions. Remarks at 2. Examiner respectfully disagrees. In no way does the claim limitations or the invention described in the specification, flush data to a persistent storage. In regards to limitations (2) and (3), Applicant argues detecting that the buffer has reached maximum capacity before completing the writing is supported by para. 0064 (0063 as filed) because it states that a split is detected when a file is “too physically large to fit in memory during processing.” Remarks at 2. However, as explained in the rejection above, the specification does not describe a “buffer.” As noted above, Applicant seems to be referencing features disclosed by Sareen. Sareen discloses a buffer in which ingestion of data occurs. Sareen at para. 0053. In regards to limitation (4), Applicant argues that “reading backwards” is described in the specification because the split detection occurs when the buffer reaches capacity, meaning the system looks back from the current position to find the last complete row. Remarks at 2. Examiner respectfully disagrees. As noted above, Applicant seems to be references features disclosed by Sareen. Sareen expressly discloses “… the agent reads backwards in the buffer from the end until it finds the last logical boundary of the record.” Sareen at para. 0053. In contrast, none of the cited paragraphs describe such a feature and referencing a row counter to determine a split boundary is simply not the same thing. For at least the reasons explained above, the rejection of claims 1-20 under 35 U.S.C. 112(a) is maintained. Rejection of Claims 1-20 under 35 U.S.C 112(b) Applicant’s arguments in regards to the rejections to claims 1-20 under 35 U.S.C. 112(b), have been fully considered but they are not persuasive. Although buffers are well understood paradigms in computer science, its usage is not always the same in every instance. Moreover, the specification does not mention or describe a buffer or its usage in the manner claimed. Further, even if the claimed “buffer” is interpreted as commonly known buffer, the buffer as described by Applicant as functioning to “hold data in volatile memory during the write operation” is inconsistent with how the claim limitations are recited and argued by Applicant. If a buffer’s purpose is to “hold data” then concurrently writing data to the storage device would result in duplicate data being written. If duplicate data exists, then utilizing the buffer to flush its contents to persistent storage, as explained by Applicant (Remarks at 2), would be inefficient. In response to Applicant’s argument that buffer acts as an intermediary between incoming data and persistent storage, while this is true, the purpose is to allow improve I/O operations due to the difference in speed when compared to a persistent storage device. As explained above, using the buffer to determine when to create a boundary in duplicate data, somehow concurrently stored in persistent storage, is not only unsupported by the specification, but is inconsistent with buffer usage in its common implementation. For at least these reasons, Examiner asserts the claims recite limitations that do not particularly claim subject matter, which the inventors regards as their invention. Consequently, the rejection to claims 1-20 under 35 U.S.C. 112(b) is maintained. Rejection of claims 1, 2, 6-9, 13-16, and 20 under 35 U.S.C. 103 Applicant’s arguments in regards to the rejections to claims 1, 2, 5-9, 12-16, 19, and 20 under 35 U.S.C. 103, have been fully considered but they are not persuasive. Applicant alleges Sareen in view of Bensberg does not disclose (1) “writing, by the writer process, the data to a buffer in memory while concurrently writing a first portion of the data to a first file persistently stored in the storage device,” (2) “monitoring … actual memory consumption of the buffer during the writing of the first portion to detect if a size of the first file exceeds available memory space in the buffer,” (3) “detecting … a split boundary during the writing of the first portion based on the actual memory consumption indicating the first file exceeds the available memory space, wherein detecting the split boundary comprises determining that the buffer has reached a maximum capacity before completing the writing of the first portion”, and (4) “in response to detecting the split boundary, reading backwards in the buffer from an end position to find a last logical boundary of a record.” Remarks at 11-12. Examiner is required to give claim limitations their broadest reasonable interpretation in light of the specification. However, limitations from the specification are not read into the claims. MPEP 2111. In regards to limitations (1) and (2), Applicant argues against the references individually. One cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). As noted in the rejections under 112(a) and 112(b) above, a buffer and it’s particular claimed usage, is not described in the specification. Accordingly, Examiner interprets the “buffer” as the claimed “storage device.” Given this interpretation, Sareen in view of Bensberg discloses writing a “first portion comprising a first subset of rows in the set of rows” to a ”first file persistently stored in the storage device.” Sareen at para. 0053. In particular, Bensberg discloses writing rows. Bensberg at para. 0019. Bensberg also discloses at Fig. 2 the process of writing records/rows to a table in a default partition. Once a record is written, the size of the default partition (i.e., actual memory consumption) is checked to determine whether it exceeds a threshold size. If not, another record is retrieved and stored. Bensberg at Fig. 2; para. 0026. Here, the threshold size is the “available memory space in the buffer” of the claim. Applicant argues the references do not disclose the dual-write operation claimed. Remarks at 4-5. However, as explained above, such a dual-write operation is not supported by the specification and Applicant’s citations to the specification do not resolve the issue. Applicant further argues the “memory amount” in Bensberg does not refer to monitoring actual memory consumption of a buffer during write operations because Bensberg merely checks the size of the already-stored records against a threshold. Remarks at 5. However, it is unclear how checking a current size of a partition is different from determining how much memory is being utilized. The specification describes a “row counter” that is incremented “as rows are written to disk.” Specification at para. 0062. Accordingly, the invention seems to store data as rows. As shown in Fig. 2 of Bensberg, a “first portion of the data” is written to the partition (i.e., file) and it is determined whether the size of the partition (i.e., size of the file) exceeds a threshold (i.e., exceeds available memory space). For at least these reasons, Sareen in view of Bensberg discloses limitations (1) and (2). In regards to limitation (3), Bensberg discloses determining when a partition size (i.e., actual memory consumption) exceeds a threshold (i.e., determining the buffer has reached a maximum capacity …) during the writing of the rows (i.e., first portion). If the threshold is exceeded, a new partition is allocated and metadata is generated. Bensberg at Fig. 2; paras. 0024-34. This is before completing the writing of the first portion, otherwise a new partition would not be necessary to continuing writing the first portion. Applicant argues that this process is post-hoc size check on stored data and not a real-time detection that a buffer has reached a maximum capacity during writing. Remarks at 6. Examiner respectfully disagrees. As shown in Fig. 2 of Bensberg, the check for the size of the partition occurs while writing records to a table. It is not performed after all records are stored. For at least these reasons, Sareen in view of Bensberg discloses limitation (3). In regards to limitation (4), Applicant argues Bensberg does not disclose reading backwards in a buffer to find a record boundary because Bensberg discloses determining partition boundaries based on the minimum and maximum values of a partitioning column in records already stored in a partition. Remarks at 6. Examiner respectfully disagrees. As explained above, the specification does not support “reading backwards in a buffer”. The limitation, as best understood in light of the specification, is interpreted to mean determining a boundary based on the last fully written row. Contrary to Applicant’s allegation, Bensberg determines a partition size, and therefore where the boundary is set, is based on the rows that are written to it, as shown in Fig. 2 of Bensberg. The max and min values of the column in stored records simply define what type of records are stored within it. Bensberg at paras. 0030-32. As discussed above, Bensberg discloses checking a partition size after writing a row. Thus, if the partition size exceeds the threshold (i.e., actual memory consumption exceeds the maximum capacity), the last written row is utilized to determine a boundary after which a new partition is created and metadata is generated. Bensberg at Fig. 2; paras. 0023-34. For at least these reasons, Sareen in view of Bensberg discloses limitation (4). Applicant does not present arguments with regards to the remaining limitations. Accordingly, Examiner asserts Sareen in view of Bensberg discloses the limitations of claim 1. Applicant further argues one of ordinary skill in the art would not have been motivated to combine Sareen with Bensberg in the manner set forth in the rejection because Bensberg’s value based partitioning does not solve a problem of splitting data during write operations. Remarks at 7. Examiner respectfully disagrees. Both Sareen and Bensberg are directed toward storing large data sets comprised of records/rows and both describe systems that split the records/rows, as set forth in the rejection above. One of ordinary skill would have been motivated to further modify Sareen because Bensberg’s disclosure provides efficient allocation of storage space. Bensberg at para. 0023. Applicant further argues the combination is based on impermissible hindsight. Remarks at 8. In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971). Applicant also does not present arguments in regards to the remaining claims. Therefore, they remain rejected for at least the same reasons as explained. Consequently, the rejection of claims 1, 2, 6-9, 13-16, and 20 under 35 U.S.C. 103 is maintained. Rejection of claims 5, 12, and 19 under 35 U.S.C. 103 Applicant does not present arguments in regards to claims 5, 12, and 19. Therefore, they remain rejected for at least the same reasons as explained above. Rejection of claims 3, 4, 10, 11, 17, and 18 under 35 U.S.C. 103 Applicant does not present arguments in regards to claims 3, 4, 10, 11, 17, and 18. Therefore, they remain rejected for at least the same reasons as explained above. Additional Prior Art Additional relevant prior art are listed on the attached PTO-892 form. Some examples are: Banerjee et al. (US Patent Pub 2019/0181887) discloses a system and method for improving read/write performance in a distributed file system while monitoring memory usage. Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Examiner Michael Le whose telephone number is 571-272-7970 and fax number is 571-273-7970. The examiner can normally be reached Mon-Fri 9:30 AM – 6 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Tony Mahmoudi can be reached on 571-272-4078. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /MICHAEL LE/Examiner, Art Unit 2163 /TONY MAHMOUDI/Supervisory Patent Examiner, Art Unit 2163 1 Log data (i.e., dataset) is received by the system periodically or in real time (i.e., data comprising a subset of a dataset). The log data comprises log records (i.e., wherein the data comprises a set of rows). 2 Log data is split into sub-sections (i.e., first portion comprising a first subset of rows …) and written to a container files (i.e., a first file stored in the storage device). 3 Metadata is added to each section and/or sub-section as needed. 4 Metadata is added to each sub-section (i.e., generating a partial metadata file for the data). The metadata indicates how the sections fit together with others (i.e., including the split boundary). 5 The sections/sub-sections and their respective metadata are collected (i.e., transmitting … the partial metadata to a partial metadata collector) so that they can be used to restore the data to its original non-split form. 6 The metadata for a section/sub-section includes information about whether it is a partial section, its sequential section number, whether it is a last part, etc. All this information can be used to align the section/sub-section with its original form (i.e., root dataset). 7 The system determines that a file is too large because it exceeds a threshold (i.e., memory capacity) and breaks it into smaller pieces. 8 The metadata for each section/subsection include particular fields (i.e., schema). 9 Log data (i.e., dataset) is received by the system periodically or in real time (i.e., data comprising a subset of a dataset). The log data comprises log records (i.e., wherein the data comprises a set of rows). 10 Log data is split into sub-sections (i.e., first portion comprising a first subset of rows …) and written to a container files (i.e., a first file stored in the storage device). 11 Metadata is added to each section and/or sub-section as needed. 12 Metadata is added to each sub-section (i.e., generating a partial metadata file for the data). The metadata indicates how the sections fit together with others (i.e., including the split boundary). 13 The sections/sub-sections and their respective metadata are collected (i.e., transmitting … the partial metadata to a partial metadata collector) so that they can be used to restore the data to its original non-split form. 14The sections/subsections and their corresponding metadata (i.e., partial metadata file and a plurality of additional partial metadata files) are collected for aggregation (i.e., receiving …). 15 The sections/subsections and their metadata are sorted so that they are contiguous according to their metadata schema. 16 The sections/subsections and their respective metadata are all sorted (i.e., sorting … split records) based on their schema (i.e., based on one or more split boundaries …). 17 The local indexes are combined (i.e., writing the sorted list of partial metadata) into a global index (i.e., full metadata file). 18 When the large file is to be accessed, the sub-sections are gathered and sorted based on the metadata. This sorting and aggregating process is validated to ensure all subsections have been loaded and that all sections are correctly numbered from 1 to N, where N is the value of the last subsection (i.e., validating alignment of the splits after sorting the splits).
Read full office action

Prosecution Timeline

Dec 26, 2019
Application Filed
Dec 30, 2019
Response after Non-Final Action
Sep 29, 2021
Non-Final Rejection — §103, §112
Jan 06, 2022
Response Filed
Apr 07, 2022
Final Rejection — §103, §112
Jul 12, 2022
Request for Continued Examination
Jul 19, 2022
Response after Non-Final Action
Dec 16, 2022
Non-Final Rejection — §103, §112
Mar 21, 2023
Response Filed
Jul 10, 2023
Final Rejection — §103, §112
Oct 03, 2023
Response after Non-Final Action
Oct 03, 2023
Notice of Allowance
Nov 09, 2023
Response after Non-Final Action
Feb 28, 2024
Non-Final Rejection — §103, §112
Jun 06, 2024
Response Filed
Oct 09, 2024
Final Rejection — §103, §112
Jan 16, 2025
Request for Continued Examination
Jan 23, 2025
Response after Non-Final Action
Jan 25, 2025
Non-Final Rejection — §103, §112
Apr 30, 2025
Response Filed
Jun 14, 2025
Final Rejection — §103, §112
Sep 15, 2025
Request for Continued Examination
Sep 22, 2025
Response after Non-Final Action
Sep 28, 2025
Non-Final Rejection — §103, §112
Jan 02, 2026
Response Filed
Feb 21, 2026
Final Rejection — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12579211
AUTOMATED SHIFTING OF WEB PAGES BETWEEN DIFFERENT USER DEVICES
2y 5m to grant Granted Mar 17, 2026
Patent 12579738
INFORMATION PRESENTING METHOD, SYSTEM THEREOF, ELECTRONIC DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM
2y 5m to grant Granted Mar 17, 2026
Patent 12579072
GRAPHICS PROCESSOR REGISTER FILE INCLUDING A LOW ENERGY PORTION AND A HIGH CAPACITY PORTION
2y 5m to grant Granted Mar 17, 2026
Patent 12573094
COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM
2y 5m to grant Granted Mar 10, 2026
Patent 12558788
SYSTEM AND METHOD FOR REAL-TIME ANIMATION INTERACTIVE EDITING
2y 5m to grant Granted Feb 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

11-12
Expected OA Rounds
66%
Grant Probability
88%
With Interview (+22.1%)
3y 3m
Median Time to Grant
High
PTA Risk
Based on 864 resolved cases by this examiner. Grant probability derived from career allow 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