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

TIME SERIES DATABASE PROCESSING SYSTEM

Non-Final OA §103§DP
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)
66%
Grant Probability
Favorable
5-6
OA Rounds
0m
Est. Remaining
92%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allowance Rate
73 granted / 110 resolved
+11.4% vs TC avg
Strong +26% interview lift
Without
With
+25.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 7m
Avg Prosecution
10 currently pending
Career history
130
Total Applications
across all art units

Statute-Specific Performance

§101
12.9%
-27.1% vs TC avg
§103
58.2%
+18.2% vs TC avg
§102
9.0%
-31.0% vs TC avg
§112
6.3%
-33.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 110 resolved cases

Office Action

§103 §DP
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 . 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 02/05/2026 has been entered. Response to Amendment The amendment filed 02/05/2026 has been entered. Claims 2 and 14 have been amended. Claims 2-3, 5-15, and 17-21 remain pending in the application. Response to Arguments Claim Rejections - 35 USC §103 Regarding the newly amended independent claim 2, Applicant argues that “the art of record does not teach or suggest at least "modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series," as recited in the amended Claim 2.” In response, Examiner relies on a new combination of references. 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;) and apply the time series expression to the 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]). However ‘US11397730 B2 ‘ in view of FARAHAT in view of Haas in view of Aymeloglu does not recite: “modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series;” However YUKA discloses: modify the time series expression to further comprise an interpolation node, (YUKA , page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, (YUKA , page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; (YUKA, page 3, third paragraph- The acquisition request data requests by updating the measurement value in the element that does not have the actual measurement value using the measurement value interpolated by the time series interpolation function unit for the element corresponding to a sensor different from the sensor corresponding to A spatial interpolation function unit that generates a measurement value; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 12, 4th paragraph- Thereafter, the time series interpolation function unit 105 outputs a signal instructing the spatial interpolation function unit 108 to perform spatial interpolation (sequence S824). Upon receiving the signal output from the time series interpolation function unit 105, the spatial interpolation function unit 108 reads the actual sensor data from the actual sensor data matrix storage unit 104 (sequence S825), and generates a decision tree (sequence S826). 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 in view of Aymeloglu with the teaching of YUKA so that the influence of the error included in one sensor data is reduced and a more accurate value can be obtained, (YUKA, page 12, 6th paragraph) and to perform more accurate interpolation for data loss caused by a difference between a data acquisition cycle by a sensor and a data acquisition cycle required by an application (YUKA, abstract). 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]). However ‘US10417224B2 ‘ in view of FARAHAT in view of Haas in view of Aymeloglu does not recite: “modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series;” However YUKA discloses: modify the time series expression to further comprise an interpolation node, (YUKA , page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, (YUKA , page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; (YUKA, page 3, third paragraph- The acquisition request data requests by updating the measurement value in the element that does not have the actual measurement value using the measurement value interpolated by the time series interpolation function unit for the element corresponding to a sensor different from the sensor corresponding to A spatial interpolation function unit that generates a measurement value; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 12, 4th paragraph- Thereafter, the time series interpolation function unit 105 outputs a signal instructing the spatial interpolation function unit 108 to perform spatial interpolation (sequence S824). Upon receiving the signal output from the time series interpolation function unit 105, the spatial interpolation function unit 108 reads the actual sensor data from the actual sensor data matrix storage unit 104 (sequence S825), and generates a decision tree (sequence S826).) 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 in view of Aymeloglu with the teaching of YUKA so that the influence of the error included in one sensor data is reduced and a more accurate value can be obtained, (YUKA, page 12, 6th paragraph) and to perform more accurate interpolation for data loss caused by a difference between a data acquisition cycle by a sensor and a data acquisition cycle required by an application (YUKA, abstract). 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) in further view of YUKA (JP2011174737A) 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 time series expression to the 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 nodes 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, modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; 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 nodes of the plurality of nodes are linked in a tree format; modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; 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 nodes 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]). However FARAHAT in view of Haas in view of Aymeloglu does not clearly disclose: modify the time series expression to further comprise an interpolation node, wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; However YUKA discloses: modify the time series expression to further comprise an interpolation node, (YUKA , page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) wherein the interpolation node comprises application of the first interpolation operation to the first portion of the first time series, (YUKA , page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 17, e.g. The measured value obtained by the time series interpolation function unit interpolating the measured value by a sensor different from the sensor ; page 8, e.g. 1st paragraph-4th paragraph- A conditional expression using explanatory variables is assigned to each of the nodes N1 to N7 including the root N1. For example, the conditional expression “C <2.838” using the explanatory variable C is assigned to the node N1… first, each of the explanatory variables B and C is set to the interpolation target time. The values of the unit areas B and C are substituted… Since the conditional expression C (= 10.1) <12 of the node N3 is satisfied, the left branch branches to the leaf N14, and the value “9.6” of the leaf N14 is set as the value after interpolation; page 10, 4th paragraph- In step S410, the decision tree generation unit 110 reads, from the time series interpolation matrix storage unit 107; page 18- The measurement value requested by the acquisition request data is generated by updating the measurement value of the element not having the actual measurement value using the measurement value interpolated in the time series interpolation step for the element corresponding to the sensor different from Spatial interpolation) and wherein application of the interpolation node to the first portion of the first time series generates an interpolated first time series; (YUKA, page 3, third paragraph- The acquisition request data requests by updating the measurement value in the element that does not have the actual measurement value using the measurement value interpolated by the time series interpolation function unit for the element corresponding to a sensor different from the sensor corresponding to A spatial interpolation function unit that generates a measurement value; page 5, e.g. 5th paragraph- The decision tree generation unit 110 generates a decision tree used for spatial interpolation…The decision tree application unit 112 performs spatial interpolation on each element of the time series interpolation matrix using the decision tree; page 12, 4th paragraph- Thereafter, the time series interpolation function unit 105 outputs a signal instructing the spatial interpolation function unit 108 to perform spatial interpolation (sequence S824). Upon receiving the signal output from the time series interpolation function unit 105, the spatial interpolation function unit 108 reads the actual sensor data from the actual sensor data matrix storage unit 104 (sequence S825), and generates a decision tree (sequence S826). 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 in view of Aymeloglu with the teaching of YUKA so that the influence of the error included in one sensor data is reduced and a more accurate value can be obtained, (YUKA, page 12, 6th paragraph) and to perform more accurate interpolation for data loss caused by a difference between a data acquisition cycle by a sensor and a data acquisition cycle required by an application (YUKA, abstract). Claim 14 corresponds to claim 2, and is rejected accordingly. Regarding claim 3, FARAHAT in view of Haas in view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 view of Aymeloglu in view of YUKA 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 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 Mondays, Wednesdays and Thursdays. 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 /SANJIV SHAH/ Supervisory Patent 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 — §103, §DP
Dec 11, 2025
Interview Requested
Dec 18, 2025
Applicant Interview (Telephonic)
Dec 18, 2025
Examiner Interview Summary
Feb 05, 2026
Request for Continued Examination
Feb 17, 2026
Response after Non-Final Action
Jul 16, 2026
Non-Final Rejection mailed — §103, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12724782
Flexible Seed Extension for Hash Table Genomic Mapping
2y 10m to grant Granted Sep 01, 2026
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
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
66%
Grant Probability
92%
With Interview (+25.7%)
3y 7m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 110 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