Prosecution Insights
Last updated: July 17, 2026
Application No. 17/814,466

TIME SERIES DATABASE PROCESSING SYSTEM

Non-Final OA §101§103
Filed
Jul 22, 2022
Priority
Aug 14, 2017 — provisional 62/545,036 +2 more
Examiner
FOROUHARNEJAD, FAEZEH
Art Unit
2166
Tech Center
2100 — Computer Architecture & Software
Assignee
Palantir Technologies Inc.
OA Round
5 (Non-Final)
67%
Grant Probability
Favorable
5-6
OA Rounds
0m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allowance Rate
72 granted / 108 resolved
+11.7% vs TC avg
Strong +26% interview lift
Without
With
+26.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 7m
Avg Prosecution
13 currently pending
Career history
127
Total Applications
across all art units

Statute-Specific Performance

§101
0.3%
-39.7% vs TC avg
§103
97.3%
+57.3% vs TC avg
§102
2.2%
-37.8% vs TC avg
§112
0.3%
-39.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 108 resolved cases

Office Action

§101 §103
DETAILED ACTION 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 . Response to Amendment The amendment filed 06/18/2025 has been entered. Claims 2, 5, 14 and 17 have been amended. Claims 2-3, 5-15, and 17-21 remain pending in the application. Response to Arguments Claim Rejections - 35 USC §101 Regarding the newly amended independent claim 2, Applicant argues that “at least "display, via an interactive graphical user interface, a first time series," and "display, via the interactive graphical user interface, the resulting time series," could not be practically performed in the human mind. Further, even if it were assumed that the claimed limitations recited a mental process for the purpose of this response only, the claims elevate the alleged judicial exception such that they are directed to patent-eligible subject matter. Applicant respectfully asserts that the claims are directed to patent eligible subject matter at least because any alleged mental process is integrated into a practical application and/or amounts to significantly more. "A claim reciting a judicial exception is not directed to the judicial exception if it also recites additional elements demonstrating that the claim as a whole integrates the exception into a practical application. One way to demonstrate such integration is when the claimed invention improves the functioning of a computer or improves another technology or technical field." M.P.E.P. § 2106.04(d)(1). In order to expedite prosecution, the claims have been amended in view of the interview to further recite features that improve a technical process enabling a user to efficiently retrieve, query, view, and interact with time series information via a user interface. For example, Applicant's Specification at paragraph [0047] describes that the user interface "can enable a user to retrieve time series data, query and/or find a time series, view time series data at different periods of time, view time series data at different zoom levels, and/or simultaneously view different time series data over the same time period." Applicant's amended Claim 2 includes recitations of displaying "a first time series" and "the resulting time series" via an interactive graphical user interface, which improves the ability of a user to analyze the first time series and the resulting time series as described in Applicant's specification,. For example, Applicant's Specification at paragraph [0047] describes that time series data may be generated based on a vehicle fuel sensor, and a user can investigate fuel consumption over time of one or more vehicles using the user interface. Further, Applicant respectfully submits that the claimed solution enabling a user to efficiently interact with time series information to obtain insights is necessarily rooted in computer technology in order to overcome a problem specifically arising in the realm analyzing and displaying information related to time series data, similar to the reasoning the Federal Circuit provided in finding claims patent-eligible in DDR Holdings, LLC v. Hotels.com et al., 773 F.3d 1245 (Fed. Cir. 2014).”. In response to applicant’s amendments, rejection of claims 2-3, 5-15, and 17-21 has been withdrawn. Claim Rejections - 35 USC §103 Regarding the newly amended independent claim 2, Applicant argues that “nowhere in Farahat is it described that a time series expression "comprises a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series, and wherein two or more modes of the plurality of nodes are linked in a tree format," as recited in Applicant's amended Claim 2. Further, while Haas is not cited for the above-noted recitation, Applicant respectfully submits that nothing in the teachings of Haas, alone or in combination with Farahat, cures the deficiencies in the teachings of Farahat.”. In response, Examiner relies on a new combination of references. Claim Objections Claims 2 and 14 are objected to because of the following informalities: Claim 2 recites, at line 10, “wherein two or more modes of the plurality of nodes are linked in a tree format;”. Examiner suggests that “modes” be replaced with “nodes”. Claim 14 recites, at line 9, wherein two or more modes of the plurality of nodes are linked in a tree format;”. Examiner suggests that “modes” be replaced with “nodes”. Appropriate correction is required. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 2-3 and 11-15 are rejected on the ground of nonstatutory obviousness type double patenting as being unpatentable over claims 1-3 and 5 of U.S. Patent No. 11397730. Although the claims at issue are not identical, they are not patentably distinct from each other because it would be obvious to one of ordinary skill in the art at the time of invention that the claims cover substantially the same subject matter. The table below shows how each of these claims is anticipated by the claims of U.S. Patent No. 11397730. Instant Application 17/814,466 U.S. Patent No. 11397730 2. A computing system comprising: a non-transitory computer storage medium configured to store metadata associated with time series; 1. A computing system comprising: a non-transitory computer storage medium configured to store metadata associated with time series; and one or more hardware computer processors programmed, via executable code instructions, to cause the computing system to: receive a time series expression to be applied to a first time series and a second time series, wherein the time series expression comprises a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series, and one or more hardware computer processors programmed, via executable code instructions, to implement a time series service to: receive a first time series expression identifying a first time series indicator and a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series; determine a first time unit associated with the first time series; 1. determine, based on the stored metadata, first metadata associated with the first time series indicator; 2. wherein the first metadata includes a first association between the first time series and a first time unit determine a second time unit associated with the second time series; determine that the first time unit and the second time unit are different, wherein the second time unit is more granular than the first time unit; 2. a second metadata includes a second association between a second time series and a second time unit,…, determine, using the first metadata and the second metadata, that the first time unit and the second time unit are different; determine that the second time unit is more granular than the first time unit; 3. determine the first time unit from first metadata associated with the first time series; 2. wherein the first metadata includes a first association between the first time series and a first time unit…determine, using the first metadata and the second metadata, that the first time unit and the second time unit and determine the second time unit from second metadata associated with the second time series. 2. a second metadata includes a second association between a second time series and a second time unit,…, determine, using the first metadata and the second metadata, that the first time unit and the second time unit 11. wherein determining the first interpolation operation is based on receiving one or more interpolation configuration parameters. 5. wherein a time series request further comprises an interpolation configuration parameter that indicates a type of interpolation to be performed. 12. determine a granularity of the first and second time series is different; 2. determine, using the first metadata and the second metadata, that the first time unit and the second time unit are different; determine that the second time unit is more granular than the first time unit; identify a granularity of the second time unit; and apply normalization operation to at least a portion of at least one of the first time series or the second time series. generate a normalized set of timestamps from the first set of timestamps and the second time unit; generate, from the first time series and the normalized set of timestamps, a first normalized data set; and generate, from the second time series and the second set of timestamps, a second data set, wherein the first data comprises the first normalized data set and second data comprises the second data set. 13. wherein applying the normalization operation comprises applying a scaling function to timestamps of the at least one of the first time series or the second time series. 3. wherein generating the normalized set of timestamps from the first set of timestamps and the second time unit further comprises: applying a time scaling function to each timestamp from the first set of timestamps, wherein the time scaling function converts a timestamp from the first time unit to the second time unit. Claim 14 corresponds to claim 2, and is rejected accordingly. Claim 15 corresponds to claim 3, and is rejected accordingly. Each patent claim in the above chart contains all the limitations recited in the corresponding claim of the instant application. In other words, each patent claim is either 1) narrower than or 2) substantially equivalent to the corresponding claim of the instant application. It would have been obvious to a person of ordinary skill in the data processing art at the time the invention was made to omit elements when the remaining elements perform as before. A person of ordinary skill could have arrived at the present claims by omitting the details of the patent claims. See In re Karlson (CCPA) 136 USPQ 184, decided January 16, 1963 (“Omission of element and its function in combination is obvious expedient if remaining elements perform same functions as before.”). Regarding claim 2, ‘US11397730 B2 ‘ discloses the features of claim 2 of the instant application as shown above, However ‘US11397730 B2 ‘ does not recite: “based in part on the second time unit being more granular than the first time unit, determine a first interpolation operation to apply to at least a first portion of the first time series; apply the first interpolation operation to the first portion of the first time series to generate an interpolated first time series; and apply the time series expression to the interpolated first time series and the second time series.” However, FARAHAT discloses: determine a first interpolation operation to apply to at least a first portion of the first time series; (FARAHAT, [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto;) apply the first interpolation operation to the first portion of the first time series to generate an interpolated first time series; (FARAHAT, [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) and apply the time series expression to the interpolated first time series and the second time series. (FARAHAT, Fig. 2(c); Fig. 4; Fig. 6 (a); [0065]-[0071], e.g. [0069] Correlations: Detect and quantify correlations (corresponding to “expression”) between multiple sensor measurements: s1, s2, … sk or multiple event types or between sensors and event types ; [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US11397730 B2 ‘ with the teaching of FARAHAT to group together certain specified units as a subset when there is a particular need to apply a unique model to those specified units, (FARAHAT, [0089]), and also to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps, (FARAHAT, [0045]). However ‘US11397730 B2 ‘ in view of FARAHAT does not recite: based in part on the second time unit being more granular than the first time unit, However Haas discloses: based in part on the second time unit being more granular than the first time unit, (Haas , column 10 , lines 41- 67, e.g. The detection and correction of time mismatches are now discussed. An exemplary problem of time-aligned data transformation arises in the obesity model in several instances. The buying-and-eating model (the "source") outputs a set of data once every two simulated days, whereas the BMI model (the "target") expects input once per simulated day (corresponding to “the second time unit being more granular than the first time unit”) . Thus a time-aligned data transformation is needed. In this case, data for odd numbered days such as "weight" must be interpolated using the data from the even numbered days;… quantities.) After these time alignments are performed to yield an interpolated time series of daily outputs from the buying-and eating model, these outputs must be transformed into suitable inputs for the BMI model via a schema mapping.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US11397730 B2 ‘ in view of FARAHAT with the teaching of Haas of computing the desired interpolated data to detect and correct time mismatches. (Haas, column 10, line 42) and also to comparing the source and target specification information to determine if the set of source timeseries data are time-aligned with the set of target time-series data and converting the set of source time-series data to the set of target time-series data upon determination that time alignment is needed, (Haas, abstract). However ‘US11397730 B2 ‘ in view of FARAHAT in view of Haas does not recite: ‘display, via an interactive graphical user interface, a first time series; and wherein two or more modes of the plurality of nodes are linked in a tree format; display, via the interactive graphical user interface, the resulting time series.’ However Aymeloglu discloses: display, via an interactive graphical user interface, a first time series; (Aymeloglu[0012] displaying a graphical representation of the first time series in a graphical user interface.) and wherein two or more modes of the plurality of nodes are linked in a tree format; (Aymeloglu, [0062] the received expression is parsed. For example, the expression described above, [0063] (MSFT.CLOSE+GOOG.CLOSE).HVOL may be recursively parsed to generate an AST, based on which the expression may be evaluated to generate a time series. FIG. 2B illustrates a block diagram of a tree in-memory representation of the above expression. The "HVOL" method is represented at root node 220 of in-memory tree 215. Node 222 represents the addition operator "+"as the left sub-tree of root node 220; [0005], times series… "MSFT”… (IVOL), historical volatility (HVOL); PNG media_image1.png 821 1429 media_image1.png Greyscale and display, via the interactive graphical user interface, the resulting time series. (Aymeloglu, [0056] a client component of the application may provide a graphical user interface that is configured to receive user input and to display results to a user, and a server component of the application may be operable to generate or access a time series based on the user input.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US11397730 B2 ‘ in view of FARAHAT in view of Haas with the teaching of Aymeloglu to provide a user with the ability to generate a time series from an expression of arbitrary complexity and to provide a user with an intuitive and flexible way to generate or access any type of time series based on user input that defines how the time series are to be generated, (Aymeloglu, [0055]). Claims 2 -3 and 11– 15 are rejected on the ground of nonstatutory obviousness type double patenting as being unpatentable over claims 1-4, 6 and 9 of U.S. Patent No. 10417224B2. Although the claims at issue are not identical, they are not patentably distinct from each other because they are obvious variants of each other. The chart below shows the correspondence between the claims in the current application and the patent claims. Current Application U.S. Patent No. 10417224B2 2. A computing system comprising: a non-transitory computer storage medium configured to store metadata associated with time series; 1. A system comprising: a non-transitory computer storage medium configured to store metadata associated with a time series; and one or more hardware computer processors programmed, via executable code instructions, to cause the computing system to: receive a time series expression to be applied to a first time series and a second time series, wherein the time series expression comprises a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series, and one or more hardware computer processors programmed, via executable code instructions, to implement a time series service to: receive a time series request comprising a first time series expression, the first time series expression comprising a first time series indicator and a plurality of nodes, wherein each node of two or more of the plurality of nodes correspond to a time series operation, wherein the time series operation indicates an operation on one or more time series and is different from a time series; determine a first time unit associated with the first time series; determine a second time unit associated with the second time series; determine that the first time unit and the second time unit are different , wherein the second time unit is more granular than the first time unit; 2. first metadata comprising a first association between the first time series and a first time unit, and second metadata comprising a second association between the second time series and a second time unit, determine, using the first metadata and the second metadata, that the first time unit and the second time unit are different; 4. determine that the second time unit is more granular than the first time unit 3. determine the first time unit from first metadata associated with the first time series; and determine the second time unit from second metadata associated with the second time series. 2. first metadata comprising a first association between the first time series and a first time unit, and second metadata comprising a second association between the second time series and a second time unit, determine, using the first metadata and the second metadata, that the first time unit and the second time unit are different; 11. wherein determining the first interpolation operation is based on receiving one or more interpolation configuration parameters. 6. wherein the time series request further comprises an interpolation configuration parameter that indicates a type of interpolation to be performed. 12. determine a granularity of the first and second time series is different; and apply normalization operation to at least a portion of at least one of the first time series or the second time series. 9. determining that the second time unit is more granular than the first time unit; and generating a normalized data set from the first time series and the second time unit, the first data comprising the normalized data set. 13. wherein applying the normalization operation comprises applying a scaling function to timestamps of the at least one of the first time series or the second time series. 3. wherein generating the normalized set of timestamps from the first set of timestamps and the second time unit further comprises :applying a time scaling function to each timestamp from the first set of timestamps, Claim 14 corresponds to claim 2, and is rejected accordingly. Claim 15 corresponds to claim 3, and is rejected accordingly. Each patent claim in the above chart contains all the limitations recited in the corresponding claim of the instant application. In other words, each patent claim is either 1) narrower than or 2) substantially equivalent to the corresponding claim of the instant application. It would have been obvious to a person of ordinary skill in the data processing art at the time the invention was made to omit elements when the remaining elements perform as before. A person of ordinary skill could have arrived at the present claims by omitting the details of the patent claims. See In re Karlson (CCPA) 136 USPQ 184, decided January 16, 1963 (“Omission of element and its function in combination is obvious expedient if remaining elements perform same functions as before.”). Regarding claim 2, ‘US10417224B2 ‘ discloses the features of claim 2 of the instant application as shown above, However ‘US10417224B2 ‘ does not recite: “based in part on the second time unit being more granular than the first time unit, determine a first interpolation operation to apply to at least a first portion of the first time series; apply the first interpolation operation to the first portion of the first time series to generate an interpolated first time series; and apply the time series expression to the interpolated first time series and the second time series.” However, FARAHAT discloses: determine a first interpolation operation to apply to at least a first portion of the first time series; (FARAHAT, [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto;) apply the first interpolation operation to the first portion of the first time series to generate an interpolated first time series; (FARAHAT, [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) and apply the time series expression to the interpolated first time series and the second time series. (FARAHAT, Fig. 2(c); Fig. 4; Fig. 6 (a); [0065]-[0071], e.g. [0069] Correlations: Detect and quantify correlations (corresponding to “expression”) between multiple sensor measurements: s1, s2, … sk or multiple event types or between sensors and event types ; [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US10417224B2’ with the teaching of FARAHAT to group together certain specified units as a subset when there is a particular need to apply a unique model to those specified units, (FARAHAT, [0089]) and also to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps, (FARAHAT, [0045]). However ‘US10417224B2’ in view of FARAHAT does not recite: based in part on the second time unit being more granular than the first time unit, However Haas discloses: based in part on the second time unit being more granular than the first time unit, (Haas , column 10 , lines 41- 67, e.g. The detection and correction of time mismatches are now discussed. An exemplary problem of time-aligned data transformation arises in the obesity model in several instances. The buying-and-eating model (the "source") outputs a set of data once every two simulated days, whereas the BMI model (the "target") expects input once per simulated day (corresponding to “the second time unit being more granular than the first time unit”) . Thus a time-aligned data transformation is needed. In this case, data for odd numbered days such as "weight" must be interpolated using the data from the even numbered days;… quantities.) After these time alignments are performed to yield an interpolated time series of daily outputs from the buying-and eating model, these outputs must be transformed into suitable inputs for the BMI model via a schema mapping.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US10417224B2’ in view of FARAHAT with the teaching of Haas of computing the desired interpolated data to detect and correct time mismatches. (Haas, column 10, line 42) and also to comparing the source and target specification information to determine if the set of source timeseries data are time-aligned with the set of target time-series data and converting the set of source time-series data to the set of target time-series data upon determination that time alignment is needed, (Haas, abstract). However ‘US10417224B2’ in view of FARAHAT in view of Haas does not recite: ‘display, via an interactive graphical user interface, a first time series; and wherein two or more modes of the plurality of nodes are linked in a tree format; display, via the interactive graphical user interface, the resulting time series.’ However Aymeloglu discloses: display, via an interactive graphical user interface, a first time series; (Aymeloglu[0012] displaying a graphical representation of the first time series in a graphical user interface.) and wherein two or more modes of the plurality of nodes are linked in a tree format; (Aymeloglu, [0062] the received expression is parsed. For example, the expression described above, [0063] (MSFT.CLOSE+GOOG.CLOSE).HVOL may be recursively parsed to generate an AST, based on which the expression may be evaluated to generate a time series. FIG. 2B illustrates a block diagram of a tree in-memory representation of the above expression. The "HVOL" method is represented at root node 220 of in-memory tree 215. Node 222 represents the addition operator "+"as the left sub-tree of root node 220; [0005], times series… "MSFT”… (IVOL), historical volatility (HVOL); PNG media_image1.png 821 1429 media_image1.png Greyscale and display, via the interactive graphical user interface, the resulting time series. (Aymeloglu, [0056] a client component of the application may provide a graphical user interface that is configured to receive user input and to display results to a user, and a server component of the application may be operable to generate or access a time series based on the user input.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of ‘US10417224B2’ in view of FARAHAT in view of Haas with the teaching of Aymeloglu to provide a user with the ability to generate a time series from an expression of arbitrary complexity and to provide a user with an intuitive and flexible way to generate or access any type of time series based on user input that defines how the time series are to be generated, (Aymeloglu, [0055]). 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, 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. Claims 2-3, 5-15 and 17-21 are rejected under 35 U.S.C. 103 as being unpatentable over FARAHAT (US 20200057689 A1) in view of Haas (US 9,607,067 B2) in further view of Aymeloglu (US 2013/0290161 Al) Regarding claim 2, FARAHAT discloses: A computing system comprising: a non-transitory computer storage medium configured to store metadata associated with time series; (FARAHAT [0038] Metadata: Metadata describes extra information about the characteristics of the equipment and environment in which the equipment is installed… All metadata can appear in structured, semi-structured or unstructured formats; [0044] The data preparation module 103 is configured to receive as input historical/new sensor data 101 along with metadata about the equipment, and can include the following processes. A loading function 200 can be configured as a buffer to load in the sensor data 101; [0035] Sensor data can involve streaming and historical time series data collected from different sensors measuring desired metrics of components or other aspects of an apparatus. Each time series represent the readings of the sensor value for every k period of time, where k can depend on the frequency by which data can be retrieved from a given sensor.) and one or more hardware computer processors programmed, via executable code instructions, to cause the computing system to: receive a time series expression to be applied to a first time series and a second time series, (FARAHAT, Fig. 2(c); Fig. 4; Fig. 6 (a); [0065]-[0071], e.g. [0069] Correlations: Detect and quantify correlations (corresponding to “expression”) between multiple sensor measurements: s1, s2, … sk or multiple event types or between sensors and event types ; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp; [0047] the data cleaning process 201 receives a sensor time series. At 213, the data cleaning submodule 201 detects outliers in the sensor reading. When an outlier is detected, the data cleaning process 201 can either remove the outlier or replace the outlier with values calculated based on other readings of the same sensor ( e.g., average or median of nearest neighbors); ) determine a first time unit associated with the first time series; determine a second time unit associated with the second time series; (FARAHAT, [0035] Each time series represent the readings of the sensor value for every k period of time, where k can depend on the frequency by which data can be retrieved from a given sensor. The sampling rate k can have different values for different sensors. Each sensor reading is associated with a timestamp that specifies the date and time of the reading. The data can also be collected from the sensor in batches, where each batch of data represents the sensor readings for a few days. Other time periods are possible depending on the desired implementation (e.g. a few hours); [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto; [0046] At 211, the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings), depending on the desired implementation.) determine that the first time unit and the second time unit are different, wherein the second time unit is more granular than the first time unit; (FARAHAT, [0046] At 211, the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings), depending on the desired implementation; [0035] Each time series represent the readings of the sensor value for every k period of time, where k can depend on the frequency by which data can be retrieved from a given sensor. The sampling rate k can have different values for different sensors. Each sensor reading is associated with a timestamp that specifies the date and time of the reading. The data can also be collected from the sensor in batches, where each batch of data represents the sensor readings for a few days. Other time periods are possible depending on the desired implementation (e.g. a few hours) (corresponding to “the second time unit is more granular than the first time unit”); [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto;) determine a first interpolation operation to apply to at least a first portion of the first time series; (FARAHAT, [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto;) apply the first interpolation operation to the first portion of the first time series to generate an interpolated first time series, (FARAHAT, [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) wherein the interpolated first time series is associated with an interpolated time unit, and wherein the interpolated time unit is the same as the second time unit; (FARAHAT, [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp; [0046]the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings) (corresponding to “the second time unit is more granular than the first time unit”), depending on the desired implementation;) apply the time series expression to the interpolated first time series and the second time series to generate a resulting time series; (FARAHAT, Fig. 2(c); Fig. 4; Fig. 6 (a); [0065]-[0071], e.g. [0069] Correlations: Detect and quantify correlations (corresponding to “expression”) between multiple sensor measurements: s1, s2, … sk or multiple event types or between sensors and event types ; [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; [0049] the data cleaning process 201 assembles the new sensor time series into records; [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp) However FARAHAT does not clearly disclose: display, via an interactive graphical user interface, a first time series; wherein the time series expression comprises a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series, and wherein two or more modes of the plurality of nodes are linked in a tree format; based in part on the second time unit being more granular than the first time unit, and display, via the interactive graphical user interface, the resulting time series However Haas discloses: based in part on the second time unit being more granular than the first time unit, (Haas , column 10 , lines 41- 67, e.g. The detection and correction of time mismatches are now discussed. An exemplary problem of time-aligned data transformation arises in the obesity model in several instances. The buying-and-eating model (the "source") outputs a set of data once every two simulated days, whereas the BMI model (the "target") expects input once per simulated day (corresponding to “the second time unit being more granular than the first time unit”) . Thus a time-aligned data transformation is needed. In this case, data for odd numbered days such as "weight" must be interpolated using the data from the even numbered days;… quantities.) After these time alignments are performed to yield an interpolated time series of daily outputs from the buying-and eating model, these outputs must be transformed into suitable inputs for the BMI model via a schema mapping.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of FARAHAT with the teaching of Haas of computing the desired interpolated data to detect and correct time mismatches. (Haas, column 10, line 42) and also to comparing the source and target specification information to determine if the set of source timeseries data are time-aligned with the set of target time-series data and converting the set of source time-series data to the set of target time-series data upon determination that time alignment is needed, (Haas, abstract). However FARAHAT in view of Haas does not clearly disclose: display, via an interactive graphical user interface, a first time series; wherein the time series expression comprises a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series, and wherein two or more modes of the plurality of nodes are linked in a tree format; and display, via the interactive graphical user interface, the resulting time series However Aymeloglu discloses: display, via an interactive graphical user interface, a first time series; (Aymeloglu[0012] displaying a graphical representation of the first time series in a graphical user interface.) wherein the time series expression comprises a plurality of nodes, (Aymeloglu, [0062] the received expression is parsed. For example, the expression described above, [0063] (MSFT.CLOSE+GOOG.CLOSE).HVOL may be recursively parsed to generate an AST, based on which the expression may be evaluated to generate a time series. FIG. 2B illustrates a block diagram of a tree in-memory representation of the above expression. The "HVOL" method is represented at root node 220 of in-memory tree 215. Node 222 represents the addition operator "+"as the left sub-tree of root node 220;) wherein each node corresponds to a time series operation performable on one or more time series, (Aymeloglu, [0062] the received expression is parsed. For example, the expression described above, [0063] (MSFT.CLOSE+GOOG.CLOSE).HVOL may be recursively parsed to generate an AST, based on which the expression may be evaluated to generate a time series. FIG. 2B illustrates a block diagram of a tree in-memory representation of the above expression. The "HVOL" method is represented at root node 220 of in-memory tree 215. Node 222 represents the addition operator "+"as the left sub-tree of root node 220; [0039] e.g. an expression may comprise a left-hand side and a right-hand side, where the left-hand side is an expression that evaluates to a time series, the right-hand side is an expression that evaluates to a time series, and the two expressions are joined by a binary operator (which may be included in, but is not restricted to, the set of { +, -, *, /} ). The output of the entire expression is a time series resulting from applying the binary operator to the results of evaluating the left and right-hand sides.) and wherein two or more modes of the plurality of nodes are linked in a tree format; (Aymeloglu, [0062] the received expression is parsed. For example, the expression described above, [0063] (MSFT.CLOSE+GOOG.CLOSE).HVOL may be recursively parsed to generate an AST, based on which the expression may be evaluated to generate a time series. FIG. 2B illustrates a block diagram of a tree in-memory representation of the above expression. The "HVOL" method is represented at root node 220 of in-memory tree 215. Node 222 represents the addition operator "+"as the left sub-tree of root node 220; [0005], times series… "MSFT”… (IVOL), historical volatility (HVOL); PNG media_image1.png 821 1429 media_image1.png Greyscale and display, via the interactive graphical user interface, the resulting time series.(Aymeloglu, [0056] a client component of the application may provide a graphical user interface that is configured to receive user input and to display results to a user, and a server component of the application may be operable to generate or access a time series based on the user input.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of FARAHAT in view of Haas with the teaching of Aymeloglu to provide a user with the ability to generate a time series from an expression of arbitrary complexity and to provide a user with an intuitive and flexible way to generate or access any type of time series based on user input that defines how the time series are to be generated, (Aymeloglu, [0055]). Claim 14 corresponds to claim 2, and is rejected accordingly. Regarding claim 3, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 3 further recites: wherein the one or more hardware computer processors are programmed, via the executable code instructions, to cause the computing system to: determine the first time unit from first metadata associated with the first time series; and determine the second time unit from second metadata associated with the second time series. (FARAHAT [0035] Each sensor reading is associated with a timestamp that specifies the date and time of the reading. The data can also be collected from the sensor in batches, where each batch of data represents the sensor readings for a few days. Other time periods are possible depending on the desired implementation (e.g. a few hours); [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps; [0046] the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings), depending on the desired implementation;) Claim 15 corresponds to claim 3, and is rejected accordingly. Regarding claim 5, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 5 further recites: wherein the one or more hardware computer processors are programmed, via the executable code instructions, to cause the computing system to: determine to apply the first interpolation operation in response to determining that the first time unit and the second time unit are different. (FARAHAT [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps; [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) Claim 17 corresponds to claim 5, and is rejected accordingly. Regarding claim 6, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 6 further recites: wherein applying the first interpolation operation comprises: identifying a first set of timestamps from the first time series and a second set of timestamps from the second time series; determining, based on the first and second sets of timestamps, a set of common timestamps; and generating the interpolated first time series based on the set of common timestamps. (FARAHAT [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps; [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) Claim 18 corresponds to claim 6, and is rejected accordingly. Regarding claim 7, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 6 as outlined above. Claim 7 further recites: wherein the set of common timestamps comprises a time unit matching second time unit. (FARAHAT, [0046] generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings); [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps; [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps; Fig. 4; Fig. 6 (a);) Claim 19 corresponds to claim 7, and is rejected accordingly. Regarding claim 8, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 8 further recites: wherein the one or more hardware computer processors are programmed, via the executable code instructions, to cause the computing system to: apply a second interpolation operation to a second portion of the first time series to generate the interpolated first time series. (FARAHAT [0045] The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps; [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps;) Claim 20 corresponds to claim 8, and is rejected accordingly. Regarding claim 9, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 8 as outlined above. Claim 9 further recites: wherein types of the respective first and second interpolation operations are based on characteristics of the respective first and second portions of the first time series. (FARAHAT [0046] the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings) (corresponding to “characteristics”); [0048] At 214, the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps) Claim 21 corresponds to claim 9, and is rejected accordingly. Regarding claim 10, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 10 further recites: wherein the first interpolation operation comprises at least one of: a none interpolation operation, a nearest interpolation operation, a previous interpolation operation, a next interpolation operation, a linear interpolation operation, or a polynomial interpolation operation. (FARAHAT, [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps (corresponding to “a nearest interpolation operation”) ) Regarding claim 11, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. FARAHAT does not clearly disclose: wherein determining the first interpolation operation is based on receiving one or more interpolation configuration parameters. However Haas discloses: wherein determining the first interpolation operation is based on receiving one or more interpolation configuration parameters. ( Haas, column 17, table 2, Applicable time alignment functions depending on the type and method of measurement, interpolation (nearest neighbor, linear interpolation) ; column 17, line 27- Except for the attributes utility and numCustomers, which has "interpolation" (i.e., linear interpolation) and "sum" methods as their time alignment functions, the rest have "copy-from-last" as their default time alignment function; see also column 12, line 20- The desired interpolated data d, is computed by applying appropriate alignment function to the data in Wi; see also column 12, line 29- The most common types of interpolation are piecewise linear interpolation and natural cubic spline interpolation.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of FARAHAT with the teaching of Haas of computing the desired interpolated data to detect and correct time mismatches. (Haas, column 10, line 42) o to comparing the source and target specification information to determine if the set of source timeseries data are time-aligned with the set of target time-series data and converting the set of source time-series data to the set of target time-series data upon determination that time alignment is needed, (Haas, abstract). Regarding claim 12, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 2 as outlined above. Claim 12 further recites: wherein the one or more hardware computer processors are programmed, via the executable code instructions, to cause the computing system to: determine a granularity of the first and second time series is different; (FARAHAT, [0046] At 211, the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings), depending on the desired implementation;[0035] Each time series represent the readings of the sensor value for every k period of time, where k can depend on the frequency by which data can be retrieved from a given sensor. The sampling rate k can have different values for different sensors. Each sensor reading is associated with a timestamp that specifies the date and time of the reading. The data can also be collected from the sensor in batches, where each batch of data represents the sensor readings for a few days. Other time periods are possible depending on the desired implementation (e.g. a few hours); [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto; [0048] the data cleaning process 201 conducts processing for a given sensor time series. The processing of the sensor time series may also include the estimation of the sensor values at each common timestamp by interpolating the readings of the sensor time series at nearby timestamps) and apply normalization operation to at least a portion of at least one of the first time series or the second time series. (FARAHAT, [0046] At 211, the data cleaning process 201 is configured to generate a common sequence of timestamps for the output data. The common sequence can be generated based on a fixed gap (e.g., every 5 minutes) or using the timestamps of one of the sensors ( e.g., the one with the largest number of readings), depending on the desired implementation; [0045] Sensor data can be collected from different data streams (e.g., equipment sensors and weather data). Each time series might have a different sampling rate and the data might arrive in batches of different sizes. The data cleaning process 201 is configured to consolidate data from different sources and obtain data in a format that relates sensors to sensor readings and timestamps. An example format can include a tabular format with columns that represent the sensors and each row represents the sensor readings at a unique timestamp, but is not limited thereto;) Regarding claim 13, FARAHAT in view of Haas in further view of Aymeloglu discloses all of the features with respect to claim 12 as outlined above. FARAHAT does not clearly disclose: wherein applying the normalization operation comprises applying a scaling function to timestamps of the at least one of the first time series or the second time series. However Haas discloses: wherein applying the normalization operation comprises applying a scaling function to timestamps of the at least one of the first time series or the second time series. ( Haas, column 10 , lines 41- 67, e.g. The detection and correction of time mismatches are now discussed. An exemplary problem of time-aligned data transformation arises in the obesity model in several instances. The buying-and-eating model (the "source") outputs a set of data once every two simulated days, whereas the BMI model (the "target") expects input once per simulated day. Thus a time-aligned data transformation is needed. In this case, data for odd numbered days such as "weight" must be interpolated using the data from the even numbered days;… quantities.) After these time alignments are performed to yield an interpolated time series of daily outputs from the buying-and eating model, these outputs must be transformed into suitable inputs for the BMI model via a schema mapping.) Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of FARAHAT with the teaching of Haas of computing the desired interpolated data to detect and correct time mismatches. (Haas, column 10, line 42) o to comparing the source and target specification information to determine if the set of source timeseries data are time-aligned with the set of target time-series data and converting the set of source time-series data to the set of target time-series data upon determination that time alignment is needed, (Haas, abstract). Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Faezeh Forouharnejad whose telephone number is (571)270-7416. The examiner can normally be reached on generally Monday through Friday. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Shah Sanjiv can be reached on (571)272-4098. 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 Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center and Private PAIR to authorized users only. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free) /F.F. / Examiner, Art Unit 2166 /VAN H OBERLY/Primary Examiner, Art Unit 2166
Read full office action

Prosecution Timeline

Show 14 earlier events
Jun 18, 2025
Response Filed
Oct 07, 2025
Final Rejection mailed — §101, §103
Dec 11, 2025
Interview Requested
Dec 18, 2025
Examiner Interview Summary
Dec 18, 2025
Applicant Interview (Telephonic)
Feb 05, 2026
Request for Continued Examination
Feb 17, 2026
Response after Non-Final Action
Jul 16, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12650903
SNAPSHOTS FOR DISTRIBUTED OBJECT-BASED DATASTORES
3y 0m to grant Granted Jun 09, 2026
Patent 12632415
WEAK REFERENCES OF ALLOCATED LOGICAL CLUSTERS
5y 5m to grant Granted May 19, 2026
Patent 12407645
SYSTEMS AND METHODS OF DATABASE INSTANCE CONTAINER DEPLOYMENT
3y 1m to grant Granted Sep 02, 2025
Patent 12298959
SYSTEMS AND METHODS FOR PROVIDING CUSTOM OBJECTS FOR A MULTI-TENANT PLATFORM WITH MICROSERVICES ARCHITECTURE
2y 1m to grant Granted May 13, 2025
Patent 12235877
INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM
1y 8m to grant Granted Feb 25, 2025
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

5-6
Expected OA Rounds
67%
Grant Probability
93%
With Interview (+26.5%)
3y 7m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 108 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