Prosecution Insights
Last updated: July 17, 2026
Application No. 18/635,555

UNIVERSAL TIME-SERIES FORECASTING WITH ADAPTIVE INPUTS/OUTPUTS FOR REAL-WORLD RANDOM MISSING DATA

Non-Final OA §101§102§103
Filed
Apr 15, 2024
Examiner
BOLEN, NICHOLAS D
Art Unit
3624
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Volkswagen AG
OA Round
1 (Non-Final)
9%
Grant Probability
At Risk
1-2
OA Rounds
1y 8m
Est. Remaining
19%
With Interview

Examiner Intelligence

Grants only 9% of cases
9%
Career Allowance Rate
12 granted / 127 resolved
-42.6% vs TC avg
Moderate +10% lift
Without
With
+9.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 11m
Avg Prosecution
19 currently pending
Career history
156
Total Applications
across all art units

Statute-Specific Performance

§101
6.4%
-33.6% vs TC avg
§103
91.3%
+51.3% vs TC avg
§102
2.4%
-37.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 127 resolved cases

Office Action

§101 §102 §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 . Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-24 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Step 1: Claims 1-20 are directed to statutory categories, namely a process (claims 1-8), an article of manufacture (claims 9-16) and a machine (claims 17-24). Step 2A, Prong 1: Claims 1, 9 and 17 in part, recite the following abstract idea: …A method comprising: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series; generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array; providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array; generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series [Claim 1], …to perform: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series; generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array; providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array; generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series [Claim 9], …to perform: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series; generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array; providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array; generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series [Claim 17]. These concepts are not meaningfully different than the following concepts identified by the MPEP: Concepts relating to Mathematical Concepts. The aforementioned limitations describe steps for mathematical formulas and calculations. Specifically, forecasting results of a time series analysis involving a core model and encoders/decoders is considered to set forth mathematical calculations. Concepts relating to Mental Processes. The aforementioned limitations describe steps for concepts performed in the human mind (including an observation, evaluation, judgment, or an opinion). Specifically, forecasting results of a time series analysis involving a core model and encoders/decoders is considered to set forth an evaluation of input data. As such, claims 1, 9 and 17 recite concepts identified as abstract ideas. The dependent claims recite limitations relative to the independent claims, including, for example: …extracting second input features from received future time-dependent inputs, wherein the second input features are represented at least in part by a second plurality of input time series; generating, by a second encoder with a second cross-attention mechanism based at least in part on the second input features, a prompt to the decoder; wherein the forecasting results are generated by the decoder based further on the prompt generated by the second encoder [Claims 2, 10 and 18], …generating, by a pre-processing mechanism from received time-independent inputs, a latent array of a predefined shape, wherein the pre-processing mechanism includes a sequence of a first feed forward network for element multiplication, a variable selection mechanism, and a second feed forward network for element multiplication; providing the latent array of the predefined shape as a query input to one of: a second encoder designated to process future inputs or the first encoder designated to process past inputs [Claims 3, 11 and 19], …wherein the past time-dependent inputs are preprocessed into a key input to the first encoder by a variable selection mechanism and followed by a feed forward network for element multiplication; wherein the past time-dependent inputs are preprocessed into a value input to the first encoder by a feed forward network for matrix multiplication. [Claims 4, 12 and 20], …wherein at least one of the first encoder or the pretrained core model includes multiple attention heads [Claims 5, 13 and 21], …wherein the first input features are encoded with relative temporal positional information [Claims 6, 14 and 22], …wherein the first plurality of input time series includes a specific input time series comprising physical sensory data in a specific contiguous time duration; wherein the specific contiguous time duration includes one or more time gaps for which there is no physical sensor data available in the specific time series [Claims 7, 15 and 23], …wherein the forecasting results include predictions of one or more of: future State of Charge (SoC) values of an electric vehicle (EV), future home availabilities of the EV, future electricity demands of a home for the EV, or future electricity generation of the home; wherein the forecasting results are used by an optimization system to generate future electricity charging scheduling events for the EV [Claims 8, 16 and 24]. The limitations of these dependent claims are merely narrowing the abstract idea identified in the independent claims, and thus, the dependent claims also recite abstract ideas. Step 2A, Prong 2: This judicial exception is not integrated into a practical application. In particular, claims 1, 9 and 17 only recite the following additional elements – Claim 1 recites no additional elements. One or more non-transitory computer readable media storing a program of instructions that is executable by one or more computing processors… [Claim 9], A system comprising: one or more computing processors; one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors… [Claim 17]. The apparatus and executable instructions are recited at a high-level of generality (see MPEP § 2106.05(a)), like the following MPEP example: ii. Accelerating a process of analyzing audit log data when the increased speed comes solely from the capabilities of a general-purpose computer, FairWarning IP, LLC v. Iatric Sys., 839 F.3d 1089, 1095, iii. Mere automation of manual processes, such as using a generic computer to process an application for financing a purchase, Credit Acceptance Corp. v. Westlake Services, 859 F.3d 1044, 1055, 123 USPQ2d 1100, 1108-09 (Fed. Cir. 2017) or speeding up a loan-application process by enabling borrowers to avoid physically going to or calling each lender and filling out a loan application, LendingTree, LLC v. Zillow, Inc., 656 Fed. App'x 991, 996-97 (Fed. Cir. 2016) (non-precedential); iii. Gathering and analyzing information using conventional techniques and displaying the result, TLI Communications, 823 F.3d at 612-13, 118 USPQ2d at 1747-48; Furthermore, the computer implemented element is considered to amount to no more than mere instructions to apply the exception using a generic computer component (see MPEP 2106.05(f)), like the following MPEP example: i. A commonplace business method or mathematical algorithm being applied on a general purpose computer, Alice Corp. Pty. Ltd. V. CLS Bank Int’l, 573 U.S. 208, 223, 110 USPQ2d 1976, 1983 (2014); Gottschalk v. Benson, 409 U.S. 63, 64, 175 USPQ 673, 674 (1972); Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); Accordingly, these additional elements do not integrate the abstract idea into a practical application. The remaining dependent claims do not recite any new additional elements, and thus do not integrate the abstract idea into a practical application. Step 2B: Claims 1, 9 and 17 and their underlying limitations, steps, features and terms, considered both individually and as a whole, do not include additional elements that are sufficient to amount to significantly more than the judicial exception for the following reasons: Claim 1 recites no additional elements. One or more non-transitory computer readable media storing a program of instructions that is executable by one or more computing processors… [Claim 9], A system comprising: one or more computing processors; one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors… [Claim 17]. These elements do not amount to significantly more than the abstract idea for the reasons discussed in 2A prong 2 with regard to MPEP 2106.05(a) and MPEP 2106.05(f). By the failure of the elements to integrate the abstract idea into a practical application there, the additional elements likewise fail to amount to an inventive concept that is significantly more than an abstract idea here, in Step 2B. As such, both individually or in combination, these limitations do not add significantly more to the judicial exception. The remaining dependent claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the dependent claims do not recite any new additional elements other than those mentioned in the independent claims, which amount to no more than mere instructions to apply the exception using a generic computer component (see MPEP 2106.05(f)). As such, these claims are not patent eligible. Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 1-4, 6, 9-12, 14, 17-20 and 22 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Fairbank et al., U.S. Patent No. 10,417,556 [hereinafter Fairbank]. Regarding Claim 1, Fairbank discloses …A method comprising: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series (Fairbank, column 8, lines 43-54, In some embodiments, system 100 can implement a set of rules which includes loan terms and invoice factorization terms (e.g., the ruleset); a store of time series data (e.g., the store); a software module for constructing a timeline of events (e.g., the timeline assembler); a software module for building model input features (discloses extracting time-series input features) from the timeline (e.g., the featurizer and windowizer); a data science model for predicting the balance of the lockbox account (e.g., the balance prediction model); a system for training and tuning the model (e.g., the model fitter); and a software module for running simulations which test variances of the ruleset, for optimization purposes (e.g., the optimizer)), (Id., column 9, lines 8-18, The data store can be implemented as a database, for example containing the following fields: merchant_id; timestamp; event type (invoice generated, payment made, deposit received, invoice paid, invoice advanced, reserve paid, etc.); event amount; party name (name of party, other than merchant, involved in the event). In some embodiments, the data store contains time series data, where each record represents a historical transaction. For example, the data store can store historical data that will be transformed and used to train the learning model (e.g., balance predictor model) and/or is used as input for the learning model); generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array (Id., column 10, lines 31-37, In some embodiments, the timeline assembler (discloses cross-attention mechanism) can query the store for the set of events involving a specific merchant, and build a data structure in memory which contains the events, ordered by time. This structure may be a sparse array (discloses encoder output array) of lists of events. Each array element may be a list representing one day of time, and containing the events that occurred on that day), (Id., column 10, lines 46-64, The balance prediction model can represent learning model 106 of FIG. 1. For example, the balance prediction model can be implemented as a variational auto-encoder (discloses encoder). Suppose a number of days, or a window size, is defined at 90 (any other suitable number of days can be implemented). The variational auto-encoder can be trained to predict the balances for N number of days in the future—for example, suppose 90 days; given the input of scalars for days 1 through 90, the predicated output can be received for days 91 through 180; the scalars for days 2-91 can then be used to predict the output for days 92-181, and so on. In some embodiments, the featurizer and model fitter iterate the balance prediction model through a complete set of training scenarios which are supported by the amount of time series data contained in the data store. This produces a trained model which, given the metrics of the event information available from a past window of time, can estimate or predict the lockbox balance at a point in the future), (Id., column 31, lines 4-12, This functionality would be more difficult to achieve using conventional approaches, such as a standard feed-forward neural network. Because of the ability to project data with certainty based on past transactions, embodiments are better able to identify patterns and trends from the data. Such improved identification provides increased time series data prediction accuracy, which in turn generates a more accurate result once the reinforcement learning model has learned an optimized policy) providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array (Id., column 12, lines 35-67, TABLE-US-00006 tx A hash that contains key-value pairs, where keys represent the column name in the database and the value contains a value for the row (discloses key and value inputs) represented by tx in the database {At 408} Let tx_date=tx[‘tx_timestamp’] (which represents the timestamp for the transaction) {At 410} if the min_date is nil, and the max_date is nil: {At 412} Set min_date=tx_date {At 412} Set max_date=tx_date {At 410} Else {At 414} Set min_date=earlier of the two dates tx_date and min_date {At 414} Set max_date=later of the two dates tx_date and max_date {At 416} If the transactions property does not contain a list corresponding to tx_date, {At 418} then create one, and add it to the transactions hash, where the key is tx_date and the value is the empty list {At 420 and 422} Append tx to the list in transactions property that corresponds with tx_date (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 13, lines 7-14, With reference to FIG. 6, assembler 602 can implement the get_timline function 604 to assemble the timeline of transactions for the given merchant (e.g., identified by the merchant id). Initially, at 606, a query, such as a structured query language query, can be used to obtain data from a data store, such as a data store that stores transactions for one or more merchants according to the schema described above), (Id., column 3, lines 45-55, In some embodiments, the learning model (e.g., neural network) can be trained using time series data (discloses trained core model) that represents transactions for a given merchant over time and a balance for the lockbox over time. The learning model can then generate predictions for a balance of the lockbox over time, for example based on expected transaction activity for the merchant given the historical transaction data. In some embodiments, the lockbox balance can be predicted on a day by day basis over a defined number of days in the future. In other words, time series data that includes a lockbox balance over a number of days can be predicted); generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 31, FIG. 25 illustrates a flow diagram for generating time series data predictions used to determine parameters by a reinforcement learning model (discloses forecasting predictions based on core model output) according to an example embodiment. At 2502, a trained neural network that is configured to generate a plurality of predictions for a plurality of periods of time in the future based on input data can be received, where the neural network is trained using training data that includes time series data segmented into a plurality of windows. For example, the trained neural network can be a variational auto-encoder that includes an encoder that encodes the generated input data and a decoder that decodes output data to generate the plurality of data predictions. In some embodiments, the training data can be time series data segmented into windows that can be a predetermined number of days, such as a windows size), (Id., column 12, lines 50-67, (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 31, lines 31-39, At 2506, using the trained neural network and the generated input data, a plurality of data predictions for the plurality of periods of time in the future can be generated. In an embodiment, the generated input data can be segmented time series data over a fixed length window of time, and the plurality of periods of time in the future can be segmented time series data over a same fixed length window of time. For example, the fixed length window of time can be a linear sequence of a predetermined number of days). Regarding Claim 2, Fairbank anticipates… The method of Claim 1… Fairbank further anticipates …further comprising: extracting second input features from received future time-dependent inputs, wherein the second input features are represented at least in part by a second plurality of input time series (Id., column 14, lines 3-13, Embodiments of the featurizer, as depicted in this disclosure, outline specific features; however, these features could be subject to change and are mere examples. For instance, it may be beneficial to model the features in such a way that they represent accounts receivable and accounts payable from the perspective of the Lockbox. To that extent, the individual features which are being computed from the transaction stream may be subject to modification, addition of new features, or subtraction of features outlined in this document. Other embodiments can implement any suitable features), (Id., column 3, lines 25-44, In some embodiments, the time series data can include transactions for a merchant. (discloses second time series data) For example, a merchant can experience a number of transactions observed over time, such as an invoice billed to a payor from the merchant, payment of such an invoice, a cash advance provided from an entity, such as a factor, to the merchant, repayment of the advance, and the like. In an embodiment, the merchant may be a party to an agreement, such as a lending agreement with a lender and a factor. For example, the agreement can be based on an account, or a lockbox, where the factor manages the release of funds to the lender and/or the merchant from the lockbox. In some embodiments, the funds in the lockbox increase when a payor of the merchant pays an invoice. Funds can then be released from the lockbox to the merchant when certain obligations to the lender are met, such as satisfying a payment schedule for a loan, and/or once fee or other payment obligations to the factor have been met. In addition, a demand can also be submitted that releases funds from the lockbox to the lender when these obligations are not met, such as when a merchant is delinquent on a loan); generating, by a second encoder with a second cross-attention mechanism based at least in part on the second input features, a prompt to the decoder (Id., column 2, lines 39-41, FIG. 11 illustrates a flow diagram for initializing an encoder for a variational auto-encoder (discloses second encoder) according to an example embodiment, as demonstrated by the following: (108) block Variational_Auto_Encoder), (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 16, lines 3-20, (101) As illustrated above, in order to perform time series data prediction, the balance predictor model (discloses cross-attention mechanism), which can be a variational auto-encoder, is implemented along with various forms of data, including time series data that is transformed in a variety of ways. FIGS. 20-24 illustrate data structures implemented with the variational auto-encoder model according to an example embodiment. Data structure 2000 of FIG. 20 represent raw data (e.g., ‘Raw Input’), which is simply raw transactional data for a merchant that is fed into the system as input. For example, the raw data can include attributes such as a timestamp, transaction type (e.g., invoice, advance, repay_advance, pay_fee, and the like), source_type (e.g., merchant, factor, lockbox, payor, lender), destination type (e.g., merchant, factor, lockbox, payor, lender), amount (e.g., of funds for the transaction), and the like. Other suitable merchant attributes can similarly be implemented. Data structure 2100 of FIG. 21 represents data that the Timeline Assembler generates from the raw input—which is a list of transactions grouped by date. Data structure 2100 can be similar to data structure 2000, except sorted by timestamp, and then type. Once the timeline is assembled, it can be passed to the featurizer for further transformation, as shown in FIGS. 22-24 wherein the forecasting results are generated by the decoder based further on the prompt generated by the second encoder (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 20, lines 10-35, …take samples from X_hat we will call this the posterior predictive sample */ {At 1338} call Bernoulli_Sample(X_hat_distribution); {At 1402} posterior_predictive; {At 1402} posterior_predictive_probs=sigmoid(logits); /* take sample from a Z N(0, 1) and put it through the decoder (discloses prompting the decoder) we will call this the prior predictive sample*/ {At 1404} call Normal_Init(loc,scale); {At 1406} standard_normal; {At 1408} call Normal_Sample(standard_normal); {At 1410} Z_std; {At 1410} current_layer_value=Z_std; {At 1412, 1414, 1422} for(i=0; i<decoder_layers.length; i++) { {At 1416} layer=decoder_layers; {At 1418} call Dense_Layer_Forward(current_layer_value); {At 1420} current_layer_value; }; {At 1424} logits=current_layer_value; {At 1426} call Bernoulli_Init(logits=logits); {At 1428} prior_predictive_dist; {At 1430} call Bernoulli_Sample(prior_predictive_dist); {At 1432} prior_predictive; {At 1434} prior_predictive_probs=sigmoid(logits)…), (Id., column 28, Once trained, the balance predictor model can be used to generate time series data for the optimizer (e.g., simulator and AI agent). In an embodiment, the simulator can begin by picking loan terms and simulating outcomes (known as exploration) and can eventually learn policies through continued experimentation. In an embodiment, once gaining more experience, the simulator can iterate over less random exploration, and instead simulate lending based on the policy that it has learned (exploitation). The balance the agent/simulator strikes with regard to exploration and exploitation can be adjusted using different values of epsilon and/or decay rate). Regarding Claim 3, Fairbank anticipates… The method of Claim 1… Fairbank further anticipates …further comprising: generating, by a pre-processing mechanism from received time-independent inputs, a latent array of a predefined shape, wherein the pre-processing mechanism includes a sequence of a first feed forward network for element multiplication, a variable selection mechanism, and a second feed forward network for element multiplication (Id., column 10, lines 31-37, In some embodiments, the timeline assembler can query the store for the set of events involving a specific merchant, and build a data structure in memory which contains the events, ordered by time. This structure may be a sparse array (discloses latent array of a predefined shape) of lists of events. Each array element may be a list representing one day of time, and containing the events that occurred on that day), (Id., column 10, lines 37-45, In some embodiments, the featurizer (discloses pre-processing mechanism) may construct a list of scalar values for each day, such as lockbox balance; total payments by payors; total funds received by merchant; total of invoices sent by merchant; and the like. The list of these lists of scalars can be the set of features to be input to the model. The transaction data stored within the data store and/or the data featurized by the featurizer can represent training data 102 and/or input 104 of FIG. 1), (Id., column 19, lines 14-40, FIG. 12 illustrates a flow diagram for a feed forward neural network (discloses feed forward networks for element multiplication) according to an example embodiment. For example, the dense layer init function 1202 and dense layer forward function 1204, as called by the encoder initialization function, are depicted in FIG. 12, as demonstrated by the following: (117) block Dense_Layer { (118) function Dense_Layer_Init(M1, M2, f=tan h) { (119) /* the number of input layers (M1), the number of output layers (M2) and the activation function (f) */ (120) begin; (121) {At 1206} M1←M1; {At 1208} M2←M2; {At 1210} f←f; /* Define variable to hold layer weights */ {At 1212} W←Sample from a random normal distribution with shape=(M1, M2); * Define a variable to hold bias values */ {At 1214} b←bias; end; }; function Dense_Layer_Forward(X) { begin; /* f is the activation function */ {At 1216} Return f(Input (X)×Weights (W)+bias (b)); end), (Id., column 27, lines 13-20, In some embodiments, continuous variables can be ‘bucketized’ (discloses variable selection mechanism) so that the action space and state space can be constrained to reasonable sizes. These constraints allow for a policy to be learned using a reasonable amount of computing power. In some embodiments, the interval sizes for a continuous variable can be a hyper parameter that is adjusted as part of the simulation); providing the latent array of the predefined shape as a query input to one of: a second encoder designated to process future inputs or the first encoder designated to process past inputs (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 10, lines 31-37, In some embodiments, the timeline assembler can query the store for the set of events involving a specific merchant, and build a data structure in memory which contains the events, ordered by time. This structure may be a sparse array (discloses latent array of a predefined shape) of lists of events. Each array element may be a list representing one day of time, and containing the events that occurred on that day), (Id., column 20, lines 10-35, …take samples from X_hat we will call this the posterior predictive sample */ {At 1338} call Bernoulli_Sample(X_hat_distribution); {At 1402} posterior_predictive; {At 1402} posterior_predictive_probs=sigmoid(logits); /* take sample from a Z N(0, 1) and put it through the decoder (discloses prompting the decoder) we will call this the prior predictive sample*/ {At 1404} call Normal_Init(loc,scale); {At 1406} standard_normal; {At 1408} call Normal_Sample(standard_normal); {At 1410} Z_std; {At 1410} current_layer_value=Z_std; {At 1412, 1414, 1422} for(i=0; i<decoder_layers.length; i++) { {At 1416} layer=decoder_layers; {At 1418} call Dense_Layer_Forward(current_layer_value); {At 1420} current_layer_value; }; {At 1424} logits=current_layer_value; {At 1426} call Bernoulli_Init(logits=logits); {At 1428} prior_predictive_dist; {At 1430} call Bernoulli_Sample(prior_predictive_dist); {At 1432} prior_predictive; {At 1434} prior_predictive_probs=sigmoid(logits)…), (Id., column 28, Once trained, the balance predictor model can be used to generate time series data for the optimizer (e.g., simulator and AI agent). In an embodiment, the simulator can begin by picking loan terms and simulating outcomes (known as exploration) and can eventually learn policies through continued experimentation. In an embodiment, once gaining more experience, the simulator can iterate over less random exploration, and instead simulate lending based on the policy that it has learned (exploitation). The balance the agent/simulator strikes with regard to exploration and exploitation can be adjusted using different values of epsilon and/or decay rate). Regarding Claim 4, Fairbank anticipates… The method of Claim 1… Fairbank further anticipates …wherein the past time-dependent inputs are preprocessed into a key input to the first encoder by a variable selection mechanism and followed by a feed forward network for element multiplication (Id., column 10, lines 37-45, In some embodiments, the featurizer (discloses pre-processing mechanism) may construct a list of scalar values for each day, such as lockbox balance; total payments by payors; total funds received by merchant; total of invoices sent by merchant; and the like. The list of these lists of scalars can be the set of features to be input to the model. The transaction data stored within the data store and/or the data featurized by the featurizer can represent training data 102 and/or input 104 of FIG. 1), (Id., column 19, lines 14-40, FIG. 12 illustrates a flow diagram for a feed forward neural network (discloses feed forward networks for element multiplication) according to an example embodiment. For example, the dense layer init function 1202 and dense layer forward function 1204, as called by the encoder initialization function, are depicted in FIG. 12, as demonstrated by the following: (117) block Dense_Layer { (118) function Dense_Layer_Init(M1, M2, f=tan h) { (119) /* the number of input layers (M1), the number of output layers (M2) and the activation function (f) */ (120) begin; (121) {At 1206} M1←M1; {At 1208} M2←M2; {At 1210} f←f; /* Define variable to hold layer weights */ {At 1212} W←Sample from a random normal distribution with shape=(M1, M2); * Define a variable to hold bias values */ {At 1214} b←bias; end; }; function Dense_Layer_Forward(X) { begin; /* f is the activation function */ {At 1216} Return f(Input (X)×Weights (W)+bias (b)); end), (Id., column 27, lines 13-20, In some embodiments, continuous variables can be ‘bucketized’ (discloses variable selection mechanism) so that the action space and state space can be constrained to reasonable sizes. These constraints allow for a policy to be learned using a reasonable amount of computing power. In some embodiments, the interval sizes for a continuous variable can be a hyper parameter that is adjusted as part of the simulation), (Id., column 12, lines 35-67, TABLE-US-00006 tx A hash that contains key-value pairs, where keys represent the column name in the database and the value contains a value for the row (discloses key and value inputs) represented by tx in the database {At 408} Let tx_date=tx[‘tx_timestamp’] (which represents the timestamp for the transaction) {At 410} if the min_date is nil, and the max_date is nil: {At 412} Set min_date=tx_date {At 412} Set max_date=tx_date {At 410} Else {At 414} Set min_date=earlier of the two dates tx_date and min_date {At 414} Set max_date=later of the two dates tx_date and max_date {At 416} If the transactions property does not contain a list corresponding to tx_date, {At 418} then create one, and add it to the transactions hash, where the key is tx_date and the value is the empty list {At 420 and 422} Append tx to the list in transactions property that corresponds with tx_date), (Id., column 10, lines 46-64, The balance prediction model can represent learning model 106 of FIG. 1. For example, the balance prediction model can be implemented as a variational auto-encoder (discloses encoder). Suppose a number of days, or a window size, is defined at 90 (any other suitable number of days can be implemented). The variational auto-encoder can be trained to predict the balances for N number of days in the future—for example, suppose 90 days; given the input of scalars for days 1 through 90, the predicated output can be received for days 91 through 180; the scalars for days 2-91 can then be used to predict the output for days 92-181, and so on. In some embodiments, the featurizer and model fitter iterate the balance prediction model through a complete set of training scenarios which are supported by the amount of time series data contained in the data store. This produces a trained model which, given the metrics of the event information available from a past window of time, can estimate or predict the lockbox balance at a point in the future); wherein the past time-dependent inputs are preprocessed into a value input to the first encoder by a feed forward network for matrix multiplication (Id., column 12, lines 35-67, TABLE-US-00006 tx A hash that contains key-value pairs, where keys represent the column name in the database and the value contains a value for the row (discloses key and value inputs) represented by tx in the database {At 408} Let tx_date=tx[‘tx_timestamp’] (which represents the timestamp for the transaction) {At 410} if the min_date is nil, and the max_date is nil: {At 412} Set min_date=tx_date {At 412} Set max_date=tx_date {At 410} Else {At 414} Set min_date=earlier of the two dates tx_date and min_date {At 414} Set max_date=later of the two dates tx_date and max_date {At 416} If the transactions property does not contain a list corresponding to tx_date, {At 418} then create one, and add it to the transactions hash, where the key is tx_date and the value is the empty list {At 420 and 422} Append tx to the list in transactions property that corresponds with tx_date), (Id., column 26, lines 16-40, In some embodiments, a Q-table can be generated by the simulation that can include reward values for the different sets of loan parameters. For example, a Q-table can be thought of as a matrix, where each row of the matrix represents a different unique state, and each column represents a given action that can be taken, given that state. The value contained in the matrix for a given action and given state is known as the Q-value, and represents the relative expected reward if a given action is taken during a given state. (161) In a sample implementation, the unique actions represented in embodiments of the Q-table would be different possible permutations of loan parameters as previously disclosed (e.g., demand timing frequency, demand timing ordinal, loan principal, loan interest rate, loan term, loan payment frequency, and the like). The below table represents an initialized Q-table, where initially the Q-table can be populated with zeros. As the simulations are performed, and the Q-values can be updated in the Q-table based on the outcomes of each simulation step. For example, a positive reward causes the Q-value to be adjusted upward, a negative reward causes the Q-value to be adjusted downward, and so on), (Id., column 19, lines 14-40, FIG. 12 illustrates a flow diagram for a feed forward neural network (discloses feed forward networks for element multiplication) according to an example embodiment. For example, the dense layer init function 1202 and dense layer forward function 1204, as called by the encoder initialization function, are depicted in FIG. 12…). Regarding Claim 6, Fairbank anticipates… The method of Claim 1… Fairbank further anticipates …wherein the first input features are encoded with relative temporal positional information (Fairbank, column 8, lines 43-55, In some embodiments, system 100 can implement a set of rules which includes loan terms and invoice factorization terms (e.g., the ruleset); a store of time series data (e.g., the store); a software module for constructing a timeline of events (e.g., the timeline assembler); a software module for building model input features from the timeline (e.g., the featurizer and windowizer); a data science model for predicting the balance of the lockbox account (e.g., the balance prediction model); a system for training and tuning the model (e.g., the model fitter); and a software module for running simulations which test variances of the ruleset, for optimization purposes (e.g., the optimizer)), (Id., column 28, lines 8-35, (170) Once trained, the balance predictor model can be used to generate time series data for the optimizer (e.g., simulator and AI agent). In an embodiment, the simulator can begin by picking loan terms and simulating outcomes (known as exploration) and can eventually learn policies through continued experimentation. In an embodiment, once gaining more experience, the simulator can iterate over less random exploration, and instead simulate lending based on the policy that it has learned (exploitation). The balance the agent/simulator strikes with regard to exploration and exploitation can be adjusted using different values of epsilon and/or decay rate. Below are sample parameters that the simulator and AI agent can vary and/or optimize: (discloses demand timing feature relative to day, week or month to demand payment). PNG media_image1.png 187 337 media_image1.png Greyscale Regarding Claim 8, Fairbank discloses …One or more non-transitory computer readable media storing a program of instructions that is executable by one or more computing processors to perform: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series (Fairbank, column 8, lines 43-54, In some embodiments, system 100 can implement a set of rules which includes loan terms and invoice factorization terms (e.g., the ruleset); a store of time series data (e.g., the store); a software module for constructing a timeline of events (e.g., the timeline assembler); a software module for building model input features (discloses extracting time-series input features) from the timeline (e.g., the featurizer and windowizer); a data science model for predicting the balance of the lockbox account (e.g., the balance prediction model); a system for training and tuning the model (e.g., the model fitter); and a software module for running simulations which test variances of the ruleset, for optimization purposes (e.g., the optimizer)), (Id., column 9, lines 8-18, The data store can be implemented as a database, for example containing the following fields: merchant_id; timestamp; event type (invoice generated, payment made, deposit received, invoice paid, invoice advanced, reserve paid, etc.); event amount; party name (name of party, other than merchant, involved in the event). In some embodiments, the data store contains time series data, where each record represents a historical transaction. For example, the data store can store historical data that will be transformed and used to train the learning model (e.g., balance predictor model) and/or is used as input for the learning model), (Id., column 5, lines 29-40, Non-transitory memory 214 may include a variety of computer-readable medium that may be accessed by processor 222. For example, memory 214 may include any combination of random access memory (“RAM”), dynamic RAM (“DRAM”), static RAM (“SRAM”), read only memory (“ROM”), flash memory, cache memory, and/or any other type of non-transitory computer-readable medium. Processor 222 is further coupled via bus 212 to a display 224, such as a Liquid Crystal Display (“LCD”). A keyboard 226 and a cursor control device 228, such as a computer mouse, are further coupled to communication device 212 to enable a user to interface with system 200); generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array (Id., column 10, lines 31-37, In some embodiments, the timeline assembler (discloses cross-attention mechanism) can query the store for the set of events involving a specific merchant, and build a data structure in memory which contains the events, ordered by time. This structure may be a sparse array (discloses encoder output array) of lists of events. Each array element may be a list representing one day of time, and containing the events that occurred on that day), (Id., column 10, lines 46-64, The balance prediction model can represent learning model 106 of FIG. 1. For example, the balance prediction model can be implemented as a variational auto-encoder (discloses encoder). Suppose a number of days, or a window size, is defined at 90 (any other suitable number of days can be implemented). The variational auto-encoder can be trained to predict the balances for N number of days in the future—for example, suppose 90 days; given the input of scalars for days 1 through 90, the predicated output can be received for days 91 through 180; the scalars for days 2-91 can then be used to predict the output for days 92-181, and so on. In some embodiments, the featurizer and model fitter iterate the balance prediction model through a complete set of training scenarios which are supported by the amount of time series data contained in the data store. This produces a trained model which, given the metrics of the event information available from a past window of time, can estimate or predict the lockbox balance at a point in the future), (Id., column 31, lines 4-12, This functionality would be more difficult to achieve using conventional approaches, such as a standard feed-forward neural network. Because of the ability to project data with certainty based on past transactions, embodiments are better able to identify patterns and trends from the data. Such improved identification provides increased time series data prediction accuracy, which in turn generates a more accurate result once the reinforcement learning model has learned an optimized policy) providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array (Id., column 12, lines 35-67, TABLE-US-00006 tx A hash that contains key-value pairs, where keys represent the column name in the database and the value contains a value for the row (discloses key and value inputs) represented by tx in the database {At 408} Let tx_date=tx[‘tx_timestamp’] (which represents the timestamp for the transaction) {At 410} if the min_date is nil, and the max_date is nil: {At 412} Set min_date=tx_date {At 412} Set max_date=tx_date {At 410} Else {At 414} Set min_date=earlier of the two dates tx_date and min_date {At 414} Set max_date=later of the two dates tx_date and max_date {At 416} If the transactions property does not contain a list corresponding to tx_date, {At 418} then create one, and add it to the transactions hash, where the key is tx_date and the value is the empty list {At 420 and 422} Append tx to the list in transactions property that corresponds with tx_date (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 13, lines 7-14, With reference to FIG. 6, assembler 602 can implement the get_timline function 604 to assemble the timeline of transactions for the given merchant (e.g., identified by the merchant id). Initially, at 606, a query, such as a structured query language query, can be used to obtain data from a data store, such as a data store that stores transactions for one or more merchants according to the schema described above), (Id., column 3, lines 45-55, In some embodiments, the learning model (e.g., neural network) can be trained using time series data (discloses trained core model) that represents transactions for a given merchant over time and a balance for the lockbox over time. The learning model can then generate predictions for a balance of the lockbox over time, for example based on expected transaction activity for the merchant given the historical transaction data. In some embodiments, the lockbox balance can be predicted on a day by day basis over a defined number of days in the future. In other words, time series data that includes a lockbox balance over a number of days can be predicted); generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 31, FIG. 25 illustrates a flow diagram for generating time series data predictions used to determine parameters by a reinforcement learning model (discloses forecasting predictions based on core model output) according to an example embodiment. At 2502, a trained neural network that is configured to generate a plurality of predictions for a plurality of periods of time in the future based on input data can be received, where the neural network is trained using training data that includes time series data segmented into a plurality of windows. For example, the trained neural network can be a variational auto-encoder that includes an encoder that encodes the generated input data and a decoder that decodes output data to generate the plurality of data predictions. In some embodiments, the training data can be time series data segmented into windows that can be a predetermined number of days, such as a windows size), (Id., column 12, lines 50-67, (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 31, lines 31-39, At 2506, using the trained neural network and the generated input data, a plurality of data predictions for the plurality of periods of time in the future can be generated. In an embodiment, the generated input data can be segmented time series data over a fixed length window of time, and the plurality of periods of time in the future can be segmented time series data over a same fixed length window of time. For example, the fixed length window of time can be a linear sequence of a predetermined number of days). Regarding Claims 10-12 and 14, these claims recite limitations substantially similar to those recited in claims 2-4 and 6, respectively, and are rejected for the same reasons as stated above. Regarding Claim 17, Fairbank discloses … A system comprising: one or more computing processors; one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform: extracting first input features from received past time-dependent inputs, wherein the first input features are represented at least in part by a first plurality of input time series (Fairbank, column 8, lines 43-54, In some embodiments, system 100 can implement a set of rules which includes loan terms and invoice factorization terms (e.g., the ruleset); a store of time series data (e.g., the store); a software module for constructing a timeline of events (e.g., the timeline assembler); a software module for building model input features (discloses extracting time-series input features) from the timeline (e.g., the featurizer and windowizer); a data science model for predicting the balance of the lockbox account (e.g., the balance prediction model); a system for training and tuning the model (e.g., the model fitter); and a software module for running simulations which test variances of the ruleset, for optimization purposes (e.g., the optimizer)), (Id., column 9, lines 8-18, The data store can be implemented as a database, for example containing the following fields: merchant_id; timestamp; event type (invoice generated, payment made, deposit received, invoice paid, invoice advanced, reserve paid, etc.); event amount; party name (name of party, other than merchant, involved in the event). In some embodiments, the data store contains time series data, where each record represents a historical transaction. For example, the data store can store historical data that will be transformed and used to train the learning model (e.g., balance predictor model) and/or is used as input for the learning model), (Id., column 5, lines 29-40, Non-transitory memory 214 may include a variety of computer-readable medium that may be accessed by processor 222. For example, memory 214 may include any combination of random access memory (“RAM”), dynamic RAM (“DRAM”), static RAM (“SRAM”), read only memory (“ROM”), flash memory, cache memory, and/or any other type of non-transitory computer-readable medium. Processor 222 is further coupled via bus 212 to a display 224, such as a Liquid Crystal Display (“LCD”). A keyboard 226 and a cursor control device 228, such as a computer mouse, are further coupled to communication device 212 to enable a user to interface with system 200); generating, by a first encoder with a first cross-attention mechanism based at least in part on the first input features, a first encoder output array (Id., column 10, lines 31-37, In some embodiments, the timeline assembler (discloses cross-attention mechanism) can query the store for the set of events involving a specific merchant, and build a data structure in memory which contains the events, ordered by time. This structure may be a sparse array (discloses encoder output array) of lists of events. Each array element may be a list representing one day of time, and containing the events that occurred on that day), (Id., column 10, lines 46-64, The balance prediction model can represent learning model 106 of FIG. 1. For example, the balance prediction model can be implemented as a variational auto-encoder (discloses encoder). Suppose a number of days, or a window size, is defined at 90 (any other suitable number of days can be implemented). The variational auto-encoder can be trained to predict the balances for N number of days in the future—for example, suppose 90 days; given the input of scalars for days 1 through 90, the predicated output can be received for days 91 through 180; the scalars for days 2-91 can then be used to predict the output for days 92-181, and so on. In some embodiments, the featurizer and model fitter iterate the balance prediction model through a complete set of training scenarios which are supported by the amount of time series data contained in the data store. This produces a trained model which, given the metrics of the event information available from a past window of time, can estimate or predict the lockbox balance at a point in the future), (Id., column 31, lines 4-12, This functionality would be more difficult to achieve using conventional approaches, such as a standard feed-forward neural network. Because of the ability to project data with certainty based on past transactions, embodiments are better able to identify patterns and trends from the data. Such improved identification provides increased time series data prediction accuracy, which in turn generates a more accurate result once the reinforcement learning model has learned an optimized policy) providing the first encoder output array as query, key and value inputs to a pretrained core model with a self-attention mechanism to generate a core model output array (Id., column 12, lines 35-67, TABLE-US-00006 tx A hash that contains key-value pairs, where keys represent the column name in the database and the value contains a value for the row (discloses key and value inputs) represented by tx in the database {At 408} Let tx_date=tx[‘tx_timestamp’] (which represents the timestamp for the transaction) {At 410} if the min_date is nil, and the max_date is nil: {At 412} Set min_date=tx_date {At 412} Set max_date=tx_date {At 410} Else {At 414} Set min_date=earlier of the two dates tx_date and min_date {At 414} Set max_date=later of the two dates tx_date and max_date {At 416} If the transactions property does not contain a list corresponding to tx_date, {At 418} then create one, and add it to the transactions hash, where the key is tx_date and the value is the empty list {At 420 and 422} Append tx to the list in transactions property that corresponds with tx_date (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 13, lines 7-14, With reference to FIG. 6, assembler 602 can implement the get_timline function 604 to assemble the timeline of transactions for the given merchant (e.g., identified by the merchant id). Initially, at 606, a query, such as a structured query language query, can be used to obtain data from a data store, such as a data store that stores transactions for one or more merchants according to the schema described above), (Id., column 3, lines 45-55, In some embodiments, the learning model (e.g., neural network) can be trained using time series data (discloses trained core model) that represents transactions for a given merchant over time and a balance for the lockbox over time. The learning model can then generate predictions for a balance of the lockbox over time, for example based on expected transaction activity for the merchant given the historical transaction data. In some embodiments, the lockbox balance can be predicted on a day by day basis over a defined number of days in the future. In other words, time series data that includes a lockbox balance over a number of days can be predicted); generating, by a decoder based at least in part on the core model output array, forecasting results in a forecasting time period, wherein the forecasting results are represented by one or more output time series (Id., column 19, lines 42-44, FIGS. 13-14 illustrates a flow diagram for initializing a decoder (discloses decoder) for a variational auto-encoder according to an example embodiment), (Id., column 31, FIG. 25 illustrates a flow diagram for generating time series data predictions used to determine parameters by a reinforcement learning model (discloses forecasting predictions based on core model output) according to an example embodiment. At 2502, a trained neural network that is configured to generate a plurality of predictions for a plurality of periods of time in the future based on input data can be received, where the neural network is trained using training data that includes time series data segmented into a plurality of windows. For example, the trained neural network can be a variational auto-encoder that includes an encoder that encodes the generated input data and a decoder that decodes output data to generate the plurality of data predictions. In some embodiments, the training data can be time series data segmented into windows that can be a predetermined number of days, such as a windows size), (Id., column 12, lines 50-67, (73) With reference to FIG. 5, the to_array function (discloses self-attention mechanism) can be used to generate and return an array of transactions grouped by date (discloses core model output array), as demonstrated by the following: {At 502} Let txs=an empty list {At 502} Let curdate=‘min_date’ property {At 504} while curdate<=‘max_date’ property {At 506} If the transactions property does not contain a record corresponding to curdate: {At 510} Append a tuple containing curdate, and the empty list to ‘txs’ {At 506} Else: {At 508} Append a tuple containing curdate, and the list of transactions in the ‘transactions’ property that corresponds to curdate {At 512} Set curdate=curdate+1 day {At 514} Return txs), (Id., column 31, lines 31-39, At 2506, using the trained neural network and the generated input data, a plurality of data predictions for the plurality of periods of time in the future can be generated. In an embodiment, the generated input data can be segmented time series data over a fixed length window of time, and the plurality of periods of time in the future can be segmented time series data over a same fixed length window of time. For example, the fixed length window of time can be a linear sequence of a predetermined number of days). Regarding Claims 18-20 and 22, these claims recite limitations substantially similar to those recited in claims 2-4 and 6, respectively, and are rejected for the same reasons as stated above. 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 5, 13 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Fairbank in view of Dang et al., U.S. Publication No. 2021/0350225 [hereinafter Dang]. Regarding Claim 5, Fairbank anticipates… The method of Claim 1… While suggested in at least Fig. 1 and related text, Fairbank does not explicitly disclose …wherein at least one of the first encoder or the pretrained core model includes multiple attention heads. However, Dang discloses …wherein at least one of the first encoder or the pretrained core model includes multiple attention heads (Dang, ¶ 45, The encoder component 202 can build the various encoding networks of the deep learning neural network model employed by the time series analysis component 110 based on a Transformer network approach, which can enhance efficiency by eliminating recurrent connections. For example, the encoder component 202 can adopt a multi-head attention structure. The encoder component 202 can train each encoder network of the deep learning neural network model (e.g., denoted by f.sup.ω.sup.E) for each component i-th time series. At time stamp t, input from i-th time series to f.sup.ω.sup.E can be a sequence {x.sub.t-1.sup.(i), . . . , x.sub.t-m.sup.(i)}, which can be well aligned with a positioning encoding vector that can incorporate information about the entry order of the times series sequence. In one or more embodiments, the encoder component 202 can employ a sinusoidal function for the positional encoding task. Through multiple layers of non-linear transformation and self-attention, f.sup.ω.sup.E can output the feature encoding vector h.sub.t.sup.(t) represented for the i-th time series at time stamp t), (Id., ¶ 46, FIG. 3 illustrates a diagram of the example, non-limiting system 100 further comprising aggregation component 302 in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity. In various embodiments, the aggregation component 302 can aggregate the feature encoding vectors generated by the encoding component 202. For example, the aggregation component 302 can aggregate multiple encoding vectors, generated by one or more encoding components 202 and/or encoding networks, in preparation for subsequent distribution to one or more further layers of the deep learning neural network model employed by the time series analysis component 110). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have modified the time-series elements of Fairbank to include the multi-head attention structure elements of Dang in the analogous art of determining multivariate time series data dependencies. The motivation for doing so would have been to implement “a technical improvement over conventional time series analyses by exploiting a Bayesian approach that enables the deep learning neural network to learn a probability distribution over the neural weights and thereby strengthen the model's notation of reliability” [Dang, ¶ 30], wherein such improvements would benefit Fairbank’s method which provides “ methods for generating time series data predictions used to determine parameters by a reinforcement learning model that substantially improve upon the related art” [Dang, ¶ 30; Fairbank, column 1, lines 44-50]. Regarding Claims 13 and 21, these claims recite limitations substantially similar to those recited in claim 5, and are rejected for the same reasons as stated above. Claims 7-8, 15-16 and 23-24 are rejected under 35 U.S.C. 103 as being unpatentable over Fairbank in view of Dang et al., U.S. Publication No. 2021/0350225 [hereinafter Simonis]. Regarding Claim 7, Fairbank anticipates… The method of Claim 1… While suggested in at least Fig. 1 and related text, Fairbank does not explicitly disclose …wherein the first plurality of input time series includes a specific input time series comprising physical sensory data in a specific contiguous time duration; wherein the specific contiguous time duration includes one or more time gaps for which there is no physical sensor data available in the specific time series. However, Simonis discloses …wherein the first plurality of input time series includes a specific input time series comprising physical sensory data in a specific contiguous time duration; wherein the specific contiguous time duration includes one or more time gaps for which there is no physical sensor data available in the specific time series (Simonis, ¶ 23, The usage model can replicate actual usage behavior by also providing for phases of inactivity and the data reconstruction for these phases of inactivity. In real phases of inactivity predefined by the usage pattern or usage behavior, the energy store is not used and there is no loading of the energy store as a result of electrical energy being supplied or drawn. Nevertheless, the energy store is affected by loading that can be in the form of a temperature of the energy store, without said loading being detected by sensor. (discloses time-series data captured by sensor) In particular in the case of high states of charge of a battery as energy store, a high ambient temperature can additionally load the battery and lead to intensified aging), (Id., ¶ 25, There can be provision for the usage patterns for generating time series of the at least one load variable to be provided on the basis of a driver-individual data-based usage pattern model using historic usage behaviors. The usage patterns are used in particular to reconstruct data gaps (discloses reconstructing data gaps in a time-series when the sensor is unavailable) during the calculation and to predict the state of health), (Id., ¶ 85, An inactivity model 12 is used to monitor the time characteristics of the operating variables F. If there is no phase of inactivity, the operating variables F received from the relevant vehicle 4 are used to calculate the state of health SOH in the manner described above. If it is found that the time characteristics of the operating variables have a time gap of relatively long duration, which indicates that the vehicle has been switched off, then the usage pattern model 10 and the dynamic model 9 are used to generate time characteristics of artificial operating variables. This is accomplished by virtue of the usage pattern model 10 using a temperature model 10a to generate a time characteristic of the battery temperature T and of the battery current (e.g. 0 A) and using the dynamic model 9 to generate a characteristic of the state of charge SOC and of the voltage, as described below. The generated data then replace the conventionally received time characteristics of the operating variables). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have modified the time-series elements of Fairbank to include the sensory elements of Simonis in the analogous art of providing predicted states of health of electrical energy stores for a device using machine learning methods. The motivation for doing so would have been to provide an improved method for generating time series of the at least one load variable to be provided on the basis of a driver-individual data-based usage pattern model using historic usage behaviors” [Simonis, ¶ 25], wherein such improvements would benefit Fairbank’s method which provides “ methods for generating time series data predictions used to determine parameters by a reinforcement learning model that substantially improve upon the related art” [Simonis, ¶ 25; Fairbank, column 1, lines 44-50]. Regarding Claim 8, Fairbank anticipates… The method of Claim 1… While suggested in at least Fig. 1 and related text, Fairbank does not explicitly disclose …wherein the forecasting results include predictions of one or more of: future State of Charge (SoC) values of an electric vehicle (EV), future home availabilities of the EV, future electricity demands of a home for the EV, or future electricity generation of the home; wherein the forecasting results are used by an optimization system to generate future electricity charging scheduling events for the EV. However, Simonis discloses …wherein the forecasting results include predictions of one or more of: future State of Charge (SoC) values of an electric vehicle (EV), future home availabilities of the EV, future electricity demands of a home for the EV, or future electricity generation of the home; wherein the forecasting results are used by an optimization system to generate future electricity charging scheduling events for the EV (Simonis, ¶ 76, FIG. 4 is based on the hybrid state of health model of FIG. 2, with a dynamic model 9 and a usage pattern model 10 additionally being used in order to generate characteristics of battery voltages U and states of charge SOC, on the basis of load variables L, such as the battery currents I and the battery temperatures T. The dynamic model can comprise a battery model that takes an electrical equivalent circuit model as a basis for generating operating variables from the load variables. It allows this even independently of the provision of real operating variables of the vehicle battery 41, since the physical health model 5 requires time series or characteristics of the operating variables F for modeling the state of health. This is done on the basis of the state of health of the energy store 41 that causes the dynamic model to be updated. The response characteristic of the dynamic model 9 therefore changes on the basis of the age of the energy store 41. Preferably, this is done by updating either parameters and/or states of the dynamic model 9 on the basis of the calculated modeled state of health SOH), (Id., ¶ 58, Additionally, it is possible to ascertain operating variables, for example by linear or non-linear extrapolation or using a prediction model, future states of health of the vehicle battery 41. Preferably, data-based algorithms can be used to predict the operating features, such as deep learning algorithms or autoregressive methods using ARIMA models, which characterizes not only trends but also periodicities in the characteristic of the historic operating features for the prediction thereof. (Id., ¶ 80, The usage pattern model 10 results in the usage patterns N leading to the output of time characteristics of a battery current I and a battery temperature T as load variables L, from which the set of operating variables (F) with the time characteristics of the battery voltage U and the state of charge SOC are formed using the dynamic model 9, so that the operating variables' time series that are needed for the state of health model are complete. The usage pattern model can accordingly be in the form of a recurrent neural network (LSTM, GRU) trained with real, vehicle-individual operating variables on the basis of large volumes of data from vehicle batteries and the accordingly resultant aging. The usage pattern model therefore takes a state of health SOH and a usage pattern N as a basis for generating time series of the load variables that characterize the vehicle-individual load profile and, in the hybrid state of health model, lead to an ascertainment of a state of health that corresponds to the usage pattern N), (Id., ¶ 77, In order to introduce the state of health information into the system dynamics, a usage pattern model 10 is operated on the basis of the modeled state of health SOH. It is thus possible, for example in the case of a vehicle operated using the battery, to allow for a driver being more likely to have to charge 3 times a week when the battery has aged, instead of only 2 times, as initially, in order to cover his desired distance). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have modified the time-series elements of Fairbank to include the state-of-charge elements of Simonis in the analogous art of providing predicted states of health of electrical energy stores for a device using machine learning methods for the same reasons as stated for claim 7. Regarding Claims 15-16 and 23-24, these claims recite limitations substantially similar to those recited in claims 7-8, respectively, and are rejected for the same reasons as stated above. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Okanohara et al., U.S. Publication No. 2016/0371316, discloses cross-domain time series data conversion apparatus, methods, and systems. Fan et al., U.S. Publication No. 2020/0074274, discloses a system and method for multi-horizon time series forecasting with dynamic temporal context learning. Briancon et al., U.S. Publication No. 2020/0356900, discloses predictive, machine-learning, locale-aware computer models suitable for location- and trajectory-aware training sets. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS D BOLEN whose telephone number is (408)918-7631. The examiner can normally be reached Monday - Friday 8:00 AM - 5:00 PM PST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Patty Munson can be reached at (571) 270-5396. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /NICHOLAS D BOLEN/ Examiner, Art Unit 3624 /HAMZEH OBAID/Primary Examiner, Art Unit 3624
Read full office action

Prosecution Timeline

Apr 15, 2024
Application Filed
Jun 18, 2026
Non-Final Rejection mailed — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12205077
SMART REMINDERS FOR RESPONDING TO EMAILS
7y 7m to grant Granted Jan 21, 2025
Patent 12198105
SMART REMINDERS FOR RESPONDING TO EMAILS
7y 6m to grant Granted Jan 14, 2025
Patent 12093873
USER PERFORMANCE ANALYSIS AND CORRECTION FOR S/W
3y 7m to grant Granted Sep 17, 2024
Patent 11935077
OPERATIONAL PREDICTIVE SCORING OF COMPONENTS AND SERVICES OF AN INFORMATION TECHNOLOGY SYSTEM
3y 4m to grant Granted Mar 19, 2024
Patent 11635224
OPERATION SUPPORT SYSTEM, OPERATION SUPPORT METHOD, AND NON-TRANSITORY RECORDING MEDIUM
4y 9m to grant Granted Apr 25, 2023
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

1-2
Expected OA Rounds
9%
Grant Probability
19%
With Interview (+9.9%)
3y 11m (~1y 8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 127 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