Prosecution Insights
Last updated: July 17, 2026
Application No. 18/656,204

COMPUTING TABLE-LEVEL TIMESTAMPS USING MULTIPLE KEY RANGES

Non-Final OA §103
Filed
May 06, 2024
Examiner
COLAN, GIOVANNA B
Art Unit
2165
Tech Center
2100 — Computer Architecture & Software
Assignee
Rubrik Inc.
OA Round
3 (Non-Final)
72%
Grant Probability
Favorable
3-4
OA Rounds
1y 3m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
223 granted / 308 resolved
+17.4% vs TC avg
Strong +29% interview lift
Without
With
+28.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
8 currently pending
Career history
321
Total Applications
across all art units

Statute-Specific Performance

§101
1.4%
-38.6% vs TC avg
§103
75.7%
+35.7% vs TC avg
§102
21.6%
-18.4% vs TC avg
§112
0.7%
-39.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 308 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 . Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 03/31/2026 has been entered. 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, 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-2, 8-10, and 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Randall P. Spalten (US 2014/0052703) in view of Bhola et al. (US 2024/0126738). Regarding Claims 9, 1, and 17, Spalten discloses an apparatus, comprising: one or more memories storing processor-executable code ([0022], Spalten); and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the apparatus to ([0026], Spalten): query a source data storage environment for a starting point and an ending point of a table, the table comprising a set of keys in a keyspan that spans from the starting point to the ending point ([0036], Spalten); receive indications of a set of timestamps, each timestamp representing time ([0036], “(Joe, `123`, 01/01/12, 01/01/12) and (Joe, `123`, 01/01/12, 03/01/12), they are externally equal. In other words, to the user querying the database, there is just one value (Joe, `123`), which has two validity periods, one from January-February and one from February-March. The non-temporal key parts of the keys are both equal, but the temporal (begin/end) key parts are different,” Spalten) and a set of key ranges associated with the table ([0036], “(Joe, `123`, 01/01/12, 01/01/12) and (Joe, `123`, 01/01/12, 03/01/12), they are externally equal. In other words, to the user querying the database, there is just one value (Joe, `123`), which has two validity periods, one from January-February and one from February-March. The non-temporal key parts of the keys are both equal, but the temporal (begin/end) key parts are different,” Spalten); compute a subset of key ranges of the set of key ranges, wherein a timestamp corresponding to a first key range of the subset of key ranges is a temporally latest timestamp of the set of timestamps and wherein the subset of key ranges includes every key of the set of keys in the keyspan ([0037]-[0040], Spalten); compute a temporally earliest timestamp of a subset of timestamps associated with the subset of key ranges ([0051], [0053], [0055], “The index has no gaps in it at this point, since the earliest value is T2. Since gaps cannot have a beginning or ending time of infinity, if the earliest or latest value is deleted, this has the affect of removing the adjacent known gaps. The updated index and gap list are shown in FIG. 2,” Spalten); and output an indication of the temporally earliest timestamp of the subset of timestamps ([0055], Spalten). Spalten discloses all the limitations as discussed above but does not expressly disclose that each timestamp of a set of timestamps representing a time at which a respective key range of a set of key ranges was updated, wherein one or more key ranges of the set of key ranges comprises a plurality of keys in the keyspan. Bhola discloses: each timestamp of a set of timestamps representing a time at which a respective key range of a set of key ranges was updated, wherein one or more key ranges of the set of key ranges comprises a plurality of keys in the keyspan ([0036], [0053], [0105], and [0124], Bhola). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Spalten by incorporating thateach timestamp of a set of timestamps representing a time at which a respective key range of a set of key ranges was updated, wherein one or more key ranges of the set of key ranges comprises a plurality of keys in the keyspan, as disclosed by Bhola, in order to be able to query for historical data from a specific period of time ([0053], Bhola). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. Furthermore, Spalten/Bhola discloses that the temporally earliest timestamp comprising a table-level timestamp representative of a time at which a least up-to-date key of the table has been updated ([0003], “the keys may be sorted by key suffix in descending order (e.g., according to a version and/or timestamp), such that newer, more recent keys of a prefix sort before older, less recent keys of the same prefix,” [0036], “the timestamp corresponding to the range key is less (e.g., less recent, older, etc.) than or equal to the timestamp (e.g., historical timestamp) corresponding to the point key,” wherein the less recent historical timestamp is an example of a timestamp at which a least up-to-date key has been updated as claimed; Bhola). Regarding Claims 10, 2, and 18, Spalten/Bhola discloses an apparatus, wherein, to compute the subset of key ranges, the one or more processors are individually or collectively operable to execute the code to cause the apparatus to: determine that the subset of key ranges includes every key of the set of keys in the keyspan ([0037]-[0040], Spalten; and [0036], [0053], [0105], and [0124], Bhola). Regarding Claims 16 and 8, Spalten discloses an apparatus, wherein the set of key ranges are stored across a plurality of nodes ([0050] and [0065], Spalten; and ([0036], [0053], [0105], and [0124], Bhola). Claims 3-4, 11-12, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Randall P. Spalten (US 2014/0052703), in view of Bhola et al. (US 2024/0126738), and further in view of Bhattacharjee et al. (US 2004/0205066). Regarding Claims 11, 3, and 19, Spalten/Bhola discloses all the limitations as discussed above including: to determine, the one or more processors are individually or collectively operable to execute the code to cause the apparatus to ([0036], Spalten): generate an array of keys, the array of keys comprising a starting key and an ending key of every key range of the subset of key ranges, wherein the array of keys is sorted lexicographically ([0036], Spalten); compute a set of pseudo key ranges, wherein every pseudo key range of the set of pseudo key ranges comprises a key range between consecutive keys in the array of keys ([0036], “(Joe, `123`, 01/01/12, 01/01/12) and (Joe, `123`, 01/01/12, 03/01/12), they are externally equal. In other words, to the user querying the database, there is just one value (Joe, `123`), which has two validity periods, one from January-February and one from February-March. The non-temporal key parts of the keys are both equal, but the temporal (begin/end) key parts are different,” Spalten); and determine that every pseudo key range of the set of pseudo key ranges is included in the subset of key ranges ([0037]-[0040], Spalten). However, Spalten/Bhola does not expressly disclose the array of keys is sorted lexicographically. Bhattacharjee discloses: generate an array of keys, the array of keys comprising a starting key and an ending key of every key range of the subset of key ranges, wherein the array of keys is sorted lexicographically ([0052]-[0053], and [0127], Bhattacharjee); compute a set of pseudo key ranges, wherein every pseudo key range of the set of pseudo key ranges comprises a key range between consecutive keys in the array of keys ([0052]-[0053], and [0127], Bhattacharjee); and determine that every pseudo key range of the set of pseudo key ranges is included in the subset of key ranges ([0052]-[0053], and [0127], Bhattacharjee). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Spalten/Bhola by incorporating the array of keys is sorted lexicographically, as disclosed by Bhattacharjee, in order to facilitate the processing associated with "bracketed" index scans and to eliminate the need to sort output after scans ([0053], Bhattacharjee). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. Regarding Claims 12, 4, and 20, Spalten/Bhola/Bhattacharjee discloses an apparatus of claim 11, wherein, to compute the temporally earliest timestamp of the subset of timestamps, the one or more processors are individually or collectively operable to execute the code to cause the apparatus to: track the temporally earliest timestamp associated with each of the set of pseudo key ranges, wherein a timestamp associated with a first pseudo key range comprises a temporally earliest timestamp of a first timestamp associated with a key range including a starting key of the first pseudo key range and a second timestamp associated with a key range including an ending key of the first pseudo key range, and wherein tracking the temporally earliest timestamp comprises ([0051], [0053], [0055], “The index has no gaps in it at this point, since the earliest value is T2. Since gaps cannot have a beginning or ending time of infinity, if the earliest or latest value is deleted, this has the affect of removing the adjacent known gaps. The updated index and gap list are shown in FIG. 2,” Spalten): determining whether the timestamp of the first pseudo key range is temporally earlier than a timestamp of a subsequent pseudo range of the set of pseudo key ranges ([0051], [0053], [0055], “The index has no gaps in it at this point, since the earliest value is T2. Since gaps cannot have a beginning or ending time of infinity, if the earliest or latest value is deleted, this has the affect of removing the adjacent known gaps. The updated index and gap list are shown in FIG. 2,” Spalten). Claims 5-7 and 13-15 are rejected under 35 U.S.C. 103 as being unpatentable over Randall P. Spalten (US 2014/0052703), in view of Bhola et al. (US 2024/0126738), and further in view of Ramzan et al. (US 2021/0132907). Regarding Claims 13 and 5, Spalten/Bhola discloses an apparatus, wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to: generate an array of units based at least in part on the set of key ranges, wherein every unit of the array of units comprises a key of the set of keys, an indication of whether the key is a starting key or an ending key of an associated key range of the subset of key ranges, and the timestamp of the associated key range, and wherein an order of the array of units is based at least in part on a key associated with a respective unit, whether the key is a starting key, and a respective timestamp of every unit of the array of units ([0050] and [0065], Spalten; and [0036], [0053], [0105], and [0124], Bhola); and compute a tree including a first variable tracking a set of current temporally latest timestamps associated with every key of the set of keys and a second variable tracking a temporally earliest timestamp of the set of current temporally latest timestamps ([0050] and [0065], Spalten; and [0036], [0053], [0105], and [0124], Bhola). However, Spalten/Bhola does not expressly disclose a red-black tree. Ramzan discloses: a red-black tree ([0048]-[0050] and [0060], Ramzan). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Spalten/Bhola by incorporating the red-black tree, as disclosed by Ramsan, in order to rapidly store and retrieve ordered information. See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. Regarding Claims 14 and 6, Spalten/Bhola/Ramzan discloses an apparatus, wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to: process each unit of the array of units, wherein processing a first unit comprises: determine that the first unit is a starting key ([0036], Spalten); compare the timestamp of the first unit with the first variable ([0036], Spalten); update the second variable ([0036], Spalten); and insert the timestamp of the first unit into the red-black tree ([0036], Spalten; and [0048]-[0050] and [0060], Ramzan). Regarding Claims 15 and 7, Spalten/Bhola/Ramzan discloses an apparatus, wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to: process each unit of the array of units, wherein processing a first unit comprises ([0036], Spalten): determine that the first unit is an ending key ([0036], Spalten); compare the timestamp of the first unit with the first variable ([0036], Spalten); update the second variable ([0036], Spalten); and remove the timestamp of the first unit into the red-black tree ([0036], Spalten; and [0048]-[0050] and [0060], Ramzan). Response to Arguments Applicant argues that “computing a temporally earliest timestamp of a subset of timestamps associated with the subset of key ranges, the temporally earliest timestamp comprising a table-level timestamp representative of a time at which a least up-to-date key of the table has been updated." The Examiner respectfully disagrees. The applied art does disclose: compute a temporally earliest timestamp of a subset of timestamps associated with the subset of key ranges ([0051], [0053], [0055], “The index has no gaps in it at this point, since the earliest value is T2. Since gaps cannot have a beginning or ending time of infinity, if the earliest or latest value is deleted, this has the effect of removing the adjacent known gaps. The updated index and gap list are shown in FIG. 2,” Spalten), the temporally earliest timestamp comprising a table-level timestamp representative of a time at which a least up-to-date key of the table has been updated ([0003], “the keys may be sorted by key suffix in descending order (e.g., according to a version and/or timestamp), such that newer, more recent keys of a prefix sort before older, less recent keys of the same prefix,” [0036], “the timestamp corresponding to the range key is less (e.g., less recent, older, etc.) than or equal to the timestamp (e.g., historical timestamp) corresponding to the point key,” wherein the less recent historical timestamp is an example of a timestamp at which a least up-to-date key has been updated as claimed; Bhola). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to GIOVANNA B COLAN whose telephone number is (571)272-2752. The examiner can normally be reached on Mon - Fri 8:30-5:00. 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, Aleksandr Kerzhner can be reached on (571) 270-1760. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. 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 https://ppair-my.uspto.gov/pair/PrivatePair. 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. /GIOVANNA B COLAN/Primary Examiner, Art Unit 2165 May 28, 2026
Read full office action

Prosecution Timeline

Show 2 earlier events
Aug 26, 2025
Applicant Interview (Telephonic)
Aug 26, 2025
Examiner Interview Summary
Oct 16, 2025
Response Filed
Dec 31, 2025
Final Rejection mailed — §103
Mar 09, 2026
Interview Requested
Mar 31, 2026
Request for Continued Examination
Apr 06, 2026
Response after Non-Final Action
Jun 04, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675507
DATA PROCESSING METHOD
2y 0m to grant Granted Jul 07, 2026
Patent 12650968
MANAGING HIERARCHICAL DATA STRUCTURES FOR ENTITY MATCHING
10m to grant Granted Jun 09, 2026
Patent 12632423
DYNAMIC QUERY RESOURCE CONTROL
4y 7m to grant Granted May 19, 2026
Patent 12632450
Geospatial Query Caching
2y 2m to grant Granted May 19, 2026
Patent 12625914
INTELLIGENT DATA STORAGE FOR EFFICIENT RETRIEVAL BASED ON CONTEXTUAL AWARENESS FOR MOBILE APPLICATIONS
2y 9m to grant Granted May 12, 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

3-4
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+28.8%)
3y 5m (~1y 3m remaining)
Median Time to Grant
High
PTA Risk
Based on 308 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