Prosecution Insights
Last updated: July 17, 2026
Application No. 18/098,378

MACHINE LEARNING BASED SYSTEM FOR PREDICTIVE GENERATION OF DATA PUDDLES

Final Rejection §103
Filed
Jan 18, 2023
Examiner
GALVIN-SIEBENALER, PAUL MICHAEL
Art Unit
2147
Tech Center
2100 — Computer Architecture & Software
Assignee
Bank of America Corporation
OA Round
2 (Final)
29%
Grant Probability
At Risk
3-4
OA Rounds
3m
Est. Remaining
29%
With Interview

Examiner Intelligence

Grants only 29% of cases
29%
Career Allowance Rate
2 granted / 7 resolved
-26.4% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 9m
Avg Prosecution
26 currently pending
Career history
46
Total Applications
across all art units

Statute-Specific Performance

§101
2.2%
-37.8% vs TC avg
§103
96.4%
+56.4% vs TC avg
§102
1.5%
-38.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 7 resolved cases

Office Action

§103
CTFR 18/098,378 CTFR 100502 DETAILED ACTION Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. This action is in response to the amendment filed on Jan. 18 th , 2023. The amendments are linked to the original application filed on Mar. 6 th , 2026. Response to Amendment The Examiner thanks the applicant for the remarks, edits and arguments. Regarding Claim Rejections – 35 USC 103 The applicant argues that the current amendments made to the claim would overcome the proposed art either alone or in any combination. As an example, the applicant argues that El Zarif fails to disclose, “capture data ingestion information associated with an end-point device over a period of time;”. The applicant believes that El Zarif does not disclose capturing data ingestion information associated with an end user. Further the applicant believes that El Zarif does not disclose capturing data over a period of time. The examiner would like to point to the broadest reasonable interpretation, BRI, of this claim limitation. A BRI of this claim limitation discloses a process of capturing data which is associated to an end-point device over a period of time. El Zarif discloses a system which retrieves data from a user, this would be a generated query. The examiner believes that this discloses capturing data associated with an end-point device. Next, El Zarif discloses, “ For each incoming query in the system, …” (Architecture of Neural Networks, pp. 4), which the examiner believes represents receiving multiple data queries over a period of time and not just receiving a static list or other data structure containing static queries. Further, disclosed in El Zarif, this model will find the top 5 queries of a time step, indicating a process that occurs over multiple periods of time. Therefore, the examiner believes, without any further amendments, the previous citation provided from El Zarif discloses this claim limitation. Next, The applicant argues that the proposed arts fail to disclose or teach the amendments made to the “determining, using machine learning…” limitation. The applicant believes that the clarification of the data ingestion pattern provides sufficient details to overcome the provided art. The examiner would like to point to the BRI of this claim limitation. A BRI of this claim limitation recites a process which uses machine learning to determine a pattern of data from an end-point based on the data ingestion information. The examiner notes that El Zarif discloses the use of a machine learning model to learn predictions from a set of training data. This process will evaluate patterns in the data that can be used to predict which query would most likely be requested by a user. The model disclosed in El Zarif uses a Recurrent Neural Network which contains two Long Short Term Memory layers LSTM. A LSTM is designed to evaluate sequences of data and remember patterns in that data. The examiner believes that El Zarif discloses a model, which uses known pattern evaluation architecture, to evaluate data and produce a prediction for later caching. As stated in the citation the model will, “… filtering the 30 thousand queries from duplicates.” (Architecture of Neural Networks, pp. 4) which would indicate a process where this system is able to determine repeat queries or repeating pattern. Next, considering the amendments to the limitation, “wherein the data ingestion pattern is associated with data regularities and patterns in the data ingestion information that identify specific data requirements for the end-point device;” A BRI would also be disclosed by El Zarif. A BRI of this claim limitation recites further disclosure of the data ingestion pattern as associated with data regularities, repeat patterns, and patterns in the data which identify specific data requirements for an end-point device, probability prediction. The data queries disclosed in El Zarif are not stored or generated randomly but are generated as a response to the user inputting queries. The citation discloses “occur at each time step” (Architecture of Neural Networks, pp. 4) which would lead one of ordinary skill in the art to believe this system is able to analyze patterns or changes in user input to produce a dynamic list with dynamically changing top 5 queries. This would be the result of the user input and patterns detected by the system. Finally, El Zarif states, “The LSTM is widely used to process a sequence of data as it solves the vanishing gradient problem when the sequence of data lingers in its length [64].” (Architecture of Neural Networks, pp. 4) which states that the process includes some way of identifying specific information to be disregarded by the system. This teaches a model that is able to identify specific data requirements and retain them and disregard other, less important data items. Next, the applicant argues that the current proposed prior arts fail to disclose or teach, “trigger the predictive extraction of the data from the data lake based on at least the query sequence; and” from the independent claims. The applicant believes that Tedeschi discloses a caching process and will check to see if memory is available to cache a prediction and perform steps accordingly. The applicant believes that this is not triggering the predictive extraction of the data. The examiner would like to point to the BRI of this claim limitation. A BRI of this limitation is a process that reacts in response to a request or event and activate the predictive extraction of data from a data source based on the generated query of the previous limitation. The examiner, in the previous office action, cited one of the multiple data caching schemes disclosed in Tedeschi. The citation includes a process of caching and eviction scheme. The examiner believes that this article discloses a process that occurs after a caching event, a trigger, and will take extracted data from a data lake and perform steps to store the extracted data in a local cache for rapid access. Further evaluation of this citation was performed and the examiner noted the claimed process is better disclosed in El Zarif. In Figure 3 of El Zarif discloses the overview of their caching system. At the end of the process the system will evaluate the five upcoming queries and prefetch some of them depending on cost. This teaches that the system will respond after an event or trigger and prefetch the queries and update a cache with the prefetched data. For clarity the examiner will rely on the El Zarif to disclose this claim limitation. Finally, for the reasons stated above, and reasons stated in the remarks, the applicant believes that the amendments made to the claims provide sufficient evidence to overcome the proposed prior arts. As a result, the applicant, request for removal of the rejection under 35 U.S.C. 103. After consideration of the amendments and the remarks from the applicant, the examiner believes that a person of ordinary skill at the time of filing this application would be able to research concepts related to data lake caching and would be able to discover the proposed arts to either combine or modify this information to disclose the claimed elements of this application. Therefore, the examiner believes that the current rejection under 35 USC 103 is upheld, see 103 rejection below for further explanation. Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim s 1, 4-9, 12-17, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over El Zarif et al., (El Zarif et al., "Pred-Cache: A Predictive Caching Method in Database Systems", 2020, hereinafter "El Zarif") in view of Tedeschi et al., (Tedeschi et al., "SMART CACHING IN A DATA LAKE FOR HIGH ENERGY PHYSICS ANALYSIS", Aug. 2022, hereinafter "Tedeschi") . Regarding claim 1 , El Zarif discloses, “ capture data ingestion information associated with an end-point device over a period of time; ” (Overview of our Framework, pp. 3; "Figure 3 shows an overview of our approach. For each incoming query in the system, first, our framework generates the query embeddings that converts the input query text to an embedding vector. Second, our framework predicts the next upcoming five queries using the RNN." Figure 3 shows the overall method process. It will first intake information from the user, this data is a query into a database. The system will then predict the top 5 anticipated queries and potentially store them in cache for later use. The top 5 changes over time based on the user requests and other factors. The teaches the intaking user data over time to produce predictive queries.) “ determine, using a machine learning (ML) subsystem, data ingestion pattern for the endpoint device based on at least the data ingestion information, wherein the data ingestion pattern is associated with data regularities and patterns in the data ingestion information that identify specific data requirements for the end-point device; ” (Architecture of Neural Networks, pp. 4; "As shown in Table 1, we train the RNN on the 30 thousand queries that form the benchmark dataset. The vocabulary of the dataset consists of 6 thousand unique queries after filtering the 30 thousand queries from duplicates. Hence, the output layer of the RNN consists of a Softmax layer with 6 thousand classes that represents the vocabulary of our corpus (i.e., the number of unique queries in the benchmark dataset). The Softmax layer serves as a probability prediction of the most suitable word (i.e., query) to occur at each time step. We take the highest five probabilities to predict the upcoming five queries from the previous queries." The proposed model uses machine learning to predict user queries to a database. This model uses a RNN to find patterns in user queries and is trained to generate the top 5 predicted queries.) and (Figure 3, pp. 4; This figure discloses producing a prediction using a RNN model which is based on evaluating the incoming query. This model will use LSTM layers to identify patterns in the sequence of data and associated with the incoming query from a user.) “ generate a query sequence for predictive extraction of data from a data lake based on at least the data ingestion pattern; ” (Caching Decision for the Different Mechanisms, pp. 4; "The RNN predicts for each incoming query the next five incoming queries and caches them. The prefetching mechanism relies on the patterns of occurrences of queries learned from the training process." The RNN model was trained on user data and is able to determine user patterns. It will cache the predicted queries after the user produces a query to the system.) “ trigger the predictive extraction of the data from the data lake based on at least the query sequence; and ” (Figure 3, pp. 4; This overview discloses a process that is able to intake queries and evaluate them. The model will then predict and generate the top 5 queries that could be called next by a user. The model then discloses that the predictions are evaluated based on different factors including cost and memory constraints. Finally, after an evaluation, select queries are prefetched and saved un an updated cache. This discloses a process which triggers the predictive extraction of data based on an input query of a user.) “ store the data in a data puddle associated with the end-point device in response to the predictive extraction. ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model is able to generate a prediction based on user patterns. This model will generate 5 predictions and evaluate the prediction. The most cost -efficient queries are stored in cache.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ A system for predictive generation of data puddles, the system comprising: a processing device; a non-transitory storage device containing instructions when executed by the processing device, causes the processing device to perform the steps of: ” (Data Lake at WLCG, pp. 3; (To summarize, the model we are considering is made of three basic components: the main storage system (i.e., where the files reside), a cache that serves the requests, and a client that requires the data. The main goal of the caching system is clearly to resolve all the client's requests and serve the files from the cache. This simplified model allows testing different policies to control the request flow." This article discloses different methods for predictive caching from a data lake. This discloses the overview of the environment, which contains a central storage system, data lake, cache memory, which is interpreted as a smaller data storage compared to the data lake, and the client, which is interpreted as a separate entity or generic computing system which contains processors and memory. These systems are executed on generic computing devices.) It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to combine El Zarif and Tedeschi. El Zarif teaches a predictive model that is able to evaluate user query data to generate cost effective predictions and prefetch this information and store it in a cache system. Tedeschi teaches an algorithm that is able to predictively draw data from a data lake to a cache system for the user and manage the cache system. One of ordinary skill would have motivation to combine a system that is able to generate predictive queries to a database for a user and fetch that data with a system that works with a data lake to preemptively draw data from the data lake to a cache system, "We compared the results obtained with the aforementioned algorithms SCDL, SDCL2 (implemented with different eviction approaches: simple LRU, eviction when memory full, eviction at the end of the day, eviction every K requests) and DQN QCache (implemented with different values of eviction frequency), with the results achieved with a "write everything" approach implemented with different eviction algorithms (LRU, LFU, Biggest Files first, Smallest Files first), since the latter are the most used in caching environments. Results are shown in Table 1, Looking at the results reported in Table 1 we can observe that the approaches we are proposing show overall better performances, in terms of Score, compared to the standard cache policies, like the LR U and LFU deleting systems." (Tedeschi, Experimental Results, pp. 13). Regarding claim 4 , El Zarif discloses, “ wherein the system is configured to: determine a likelihood of ingestion associated with one or more components of the data indicating a likelihood that the one or more components of the data will be used by the end-point device; and ” (The Recurrent Neural Network, pp. 4; "The neural network consists of two long short-term memory (LSTM) layers [19] with 10 units per layer. The LSTM layer serves the objective of predicting future queries at each time step. The time steps are the index of the query in the sentence of queries." The model proposed in the article uses different machine learning models to perform certain actions in the system. One of the models is a LSTM network which is designed to take the output of another model and make a prediction. This model will determine which queries are the next top 5 queries at a given time.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ determine an operational criticality of the one or more components of the data based on at least a type of operation to be performed by the end-point device using the one or more components of the data. ” (SCDL, pp. 7; “Each time the user requests a file f to the cache, the state s used by the agent is computed in terms of a set of statistics related to f , collected during the environment lifetime: the file size s f , the number of requests of the given file n f , and the delta time ∆ t f , that has passed since the last request of f . It is assumed that the environment uses a discrete internal time that is incremented at each request. The statistic history traces 7 days of file’s requests, and it is deleted if the file is no longer present in the cache memory.” This model is able to keep an ordered list of the user quests. The frequently requested are continually updated and the more times a file is requested in this more the higher the chance it will be in cache.) Regarding claim 5 , El Zarif discloses, “ wherein the system is configured to: determine one or more weights associated with the one or more components of the data based on at least the likelihood of ingestion associated with one or more components of the data and the operational criticality of the one or more components of the data. ” (The Recurrent Neural Network, pp. 4; "As shown in Table 1, we train the RNN on the 30 thousand queries that form the benchmark dataset. The vocabulary of the dataset consists of 6 thousand unique queries after filtering the 30 thousand queries from duplicates. Hence, the output layer of the RNN consists of a Softmax layer with 6 thousand classes that represents the vocabulary of our corpus (i.e., the number of unique queries in the benchmark dataset). The Softmax layer serves as a probability prediction of the most suitable word (i.e., query) to occur at each time step. We take the highest five probabilities to predict the upcoming five queries from the previous queries." The model proposed in this article is also able to predictively cache data based on user factors. To train this model they used a dataset containing queries and times. The model is trained to classify the queries vocabulary and time and use them to produce a prediction. The models' parameters and weights are updated during training to produce a more accurate result.) Regarding claim 6 , El Zarif discloses, “ wherein the system is configured to: determine, from the query sequence, an initial order of extraction of the one or more components of the data from the data lake; ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Second, our framework predicts the next upcoming five queries using the RNN. We chose the number five since the RNN is able to correctly predict the next five queries with high accuracy of 95%, on average, in our hyperparameter tuning experiments." This model will predict an initial set of 5 predictions to be added to cache. The initial order is the top 5 prediction queries.) “ determine a final order of extraction of the one or more components of the data based on at least the one or more weights; and ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model will evaluate the top 5 predicted queriers and determine a cost. After the queries are evaluated, the model will update the cache with a new list of queries, those being the most cost efficient. This teaches the use of an initial list, being the top 5 queriers, and a final list, the cost-efficient queries.) “ update the query sequence from the initial order of extraction to the final order of extraction to extract the one or more components of the data from the data lake. ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost efficient queries among the upcoming ones." This model will evaluate the top 5 predicted queriers and determine a cost. After the queries are evaluated, the model will update the cache with a new list of queries, those being the most cost efficient. The list of queries to be added to the cache was the initial list and then after the evaluation it is updated the top predicted and cost-efficient queries.) Regarding claim 7 , El Zarif discloses, “ wherein the data ingestion information is captured from a server log of a fog server associated with the end-point device. ” (Introduction, pp. 2; "Our framework can be deployed as an independent in-memory middleware layer between any software and database as the queries are abstracted. Hence, it does not require any configuration or modification in the database system." The method proposed in this article is designed to function as middleware between software and databases. The software in this case would be end user who is accessing the database using software. This method is designed to work with existing database systems. These systems typically consist of software installed on user devices which is used to access a database which is usually a server or set of servers.) Regarding claim 8 , Tedeschi discloses, “ wherein the system is configured to: receive a request for the data from the end-point device; and ” (Algorithm 2 Smart Cache for Data Lake 2 (SCDL2) algorithm pseudocode, pp. 9; This algorithm discloses the proposed SCDL 2 method. This system will receive a data request from the user and process it. This will attempt to predictively keep files in cache memory based on certain factors. This function will take in a request as seen at the method handle and will return the requested data. This will first check to see if the requested file is in a data cache. Using the broadest reasonable interpretation cache is interpreted as a data puddle because it is a smaller form of memory storage when compared to a data lake and is used to store limited specified data.) “ transmit, from the data puddle, the data to the end-point device in response to the request for the data, thereby reducing a latency associated with otherwise extracting the data from the data lake in response to the request for the data. ” (Algorithm 2 Smart Cache for Data Lake 2 (SCDL2) algorithm pseudocode, pp. 9; This method will retrieve data from a larger data lake predictively store files in a cache database. As seen in the algorithm, a request is input into the method and file variable will be saved from the result of request.filename command. Then the method will check to see if the file is in the cache, if it is then the system returns the file., saving time and energy.) Regarding claim 9 , El Zarif discloses, “ capture data ingestion information associated with an end-point device over a period of time; ” (Overview of our Framework, pp. 3; "Figure 3 shows an overview of our approach. For each incoming query in the system, first, our framework generates the query embeddings that converts the input query text to an embedding vector. Second, our framework predicts the next upcoming five queries using the RNN." Figure 3 shows the overall method process. It will first intake information from the user, this data is a query into a database. The system will then predict the top 5 anticipated queries and potentially store them in cache for later use. The top 5 changes over time based on the user requests and other factors. The teaches the intaking user data over time to produce predictive queries.) “ determine, using a machine learning (ML) subsystem, data ingestion pattern for the endpoint device based on at least the data ingestion information, wherein the data ingestion pattern is associated with data regularities and patterns in the data ingestion information that identify specific data requirements for the end-point device; ” (Architecture of Neural Networks, pp. 4; "As shown in Table 1, we train the RNN on the 30 thousand queries that form the benchmark dataset. The vocabulary of the dataset consists of 6 thousand unique queries after filtering the 30 thousand queries from duplicates. Hence, the output layer of the RNN consists of a Softmax layer with 6 thousand classes that represents the vocabulary of our corpus (i.e., the number of unique queries in the benchmark dataset). The Softmax layer serves as a probability prediction of the most suitable word (i.e., query) to occur at each time step. We take the highest five probabilities to predict the upcoming five queries from the previous queries." The proposed model uses machine learning to predict user queries to a database. This model uses a RNN to find patterns in user queries and is trained to generate the top 5 predicted queries.) and (Figure 3, pp. 4; This figure discloses producing a prediction using a RNN model which is based on evaluating the incoming query. This model will use LSTM layers to identify patterns in the sequence of data and associated with the incoming query from a user.) “ generate a query sequence for predictive extraction of data from a data lake based on at least the data ingestion pattern; ” (Caching Decision for the Different Mechanisms, pp. 4; "The RNN predicts for each incoming query the next five incoming queries and caches them. The prefetching mechanism relies on the patterns of occurrences of queries learned from the training process." The RNN model was trained on user data and is able to determine user patterns. It will cache the predicted queries after the user produces a query to the system.) “ trigger the predictive extraction of the data from the data lake based on at least the query sequence; and ” (Figure 3, pp. 4; This overview discloses a process that is able to intake queries and evaluate them. The model will then predict and generate the top 5 queries that could be called next by a user. The model then discloses that the predictions are evaluated based on different factors including cost and memory constraints. Finally, after an evaluation, select queries are prefetched and saved un an updated cache. This discloses a process which triggers the predictive extraction of data based on an input query of a user.) “ store the data in a data puddle associated with the end-point device in response to the predictive extraction. ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model is able to generate a prediction based on user patterns. This model will generate 5 predictions and evaluate the prediction. The most cost -efficient queries are stored in cache.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ A computer program product for predictive generation of data puddles, the computer program product comprising a non-transitory computer-readable medium comprising code causing an apparatus to: ” (Data Lake at WLCG, pp. 3; To summarize, the model we are considering is made of three basic components: the main storage system (i.e., where the files reside), a cache that serves the requests, and a client that requires the data. The main goal of the caching system is clearly to resolve all the client's requests and serve the files from the cache. This simplified model allows testing different policies to control the request flow." This article discloses different methods for predictive caching from a data lake. This discloses the overview of the environment, which contains a central storage system, data lake, cache memory, which is interpreted as a smaller data storage compared to the data lake, and the client, which is interpreted as a separate entity or generic computing system which contains processors and memory.) Regarding claim 12 , El Zarif discloses, “ wherein the computer program product is configured to: determine a likelihood of ingestion associated with one or more components of the data indicating a likelihood that the one or more components of the data will be used by the end-point device; and ” (The Recurrent Neural Network, pp. 4; "The neural network consists of two long short-term memory (LSTM) layers [19] with 10 units per layer. The LSTM layer serves the objective of predicting future queries at each time step. The time steps are the index of the query in the sentence of queries." The model proposed in the article uses different machine learning models to perform certain actions in the system. One of the models is a LSTM network which is designed to take the output of another model and make a prediction. This model will determine which queries are the next top 5 queries at a given time.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ determine an operational criticality of the one or more components of the data based on at least a type of operation to be performed by the end-point device using the one or more components of the data. ” (SCDL, pp. 7; “Each time the user requests a file f to the cache, the state s used by the agent is computed in terms of a set of statistics related to f , collected during the environment lifetime: the file size s f , the number of requests of the given file n f , and the delta time ∆ t f , that has passed since the last request of f . It is assumed that the environment uses a discrete internal time that is incremented at each request. The statistic history traces 7 days of file’s requests, and it is deleted if the file is no longer present in the cache memory.” This model is able to keep an ordered list of the user quests. The frequently requested are continually updated and the more times a file is requested in this more the higher the chance it will be in cache.) Regarding claim 13 , El Zarif discloses, “ wherein the computer program product is configured to: determine one or more weights associated with the one or more components of the data based on at least the likelihood of ingestion associated with one or more components of the data and the operational criticality of the one or more components of the data. ” (The Recurrent Neural Network, pp. 4; "As shown in Table 1, we train the RNN on the 30 thousand queries that form the benchmark dataset. The vocabulary of the dataset consists of 6 thousand unique queries after filtering the 30 thousand queries from duplicates. Hence, the output layer of the RNN consists of a Softmax layer with 6 thousand classes that represents the vocabulary of our corpus (i.e., the number of unique queries in the benchmark dataset). The Softmax layer serves as a probability prediction of the most suitable word (i.e., query) to occur at each time step. We take the highest five probabilities to predict the upcoming five queries from the previous queries." The model proposed in this article is also able to predictively cache data based on user factors. To train this model they used a dataset containing queries and times. The model is trained to classify the queries vocabulary and time and use them to produce a prediction. The models' parameters and weights are updated during training to produce a more accurate result.) Regarding claim 14 , El Zarif discloses, “ wherein the computer program product is configured to: determine, from the query sequence, an initial order of extraction of the one or more components of the data from the data lake; ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Second, our framework predicts the next upcoming five queries using the RNN. We chose the number five since the RNN is able to correctly predict the next five queries with high accuracy of 95%, on average, in our hyperparameter tuning experiments." This model will predict an initial set of 5 predictions to be added to cache. The initial order is the top 5 prediction queries.) “ determine a final order of extraction of the one or more components of the data based on at least the one or more weights; and ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model will evaluate the top 5 predicted queriers and determine a cost. After the queries are evaluated, the model will update the cache with a new list of queries, those being the most cost efficient. This teaches the use of an initial list, being the top 5 queriers, and a final list, the cost-efficient queries.) “ update the query sequence from the initial order of extraction to the final order of extraction to extract the one or more components of the data from the data lake. ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model will evaluate the top 5 predicted queriers and determine a cost. After the queries are evaluated, the model will update the cache with a new list of queries, those being the most cost efficient. The list of queries to be added to the cache was the initial list and then after the evaluation it is updated the top predicted and cost-efficient queries.) Regarding claim 15 , El Zarif discloses, “ wherein the data ingestion information is captured from a server log of a fog server associated with the end-point device. ” (Introduction, pp. 2; "Our framework can be deployed as an independent in-memory middleware layer between any software and database as the queries are abstracted. Hence, it does not require any configuration or modification in the database system." The method proposed in this article is designed to function as middleware between software and databases. The software in this case would be end user who is accessing the database using software. This method is designed to work with existing database systems. These systems typically consist of software installed on user devices which is used to access a database which is usually a server or set of servers.) Regarding claim 16 , Tedeschi discloses, “ wherein the computer program product is configured to: receive a request for the data from the end-point device; and ” (Algorithm 2 Smart Cache for Data Lake 2 (SCDL2) algorithm pseudocode, pp. 9; This algorithm discloses the proposed SCDL 2 method. This system will receive a data request from the user and process it. This will attempt to predictively keep files in cache memory based on certain factors. This function will take in a request as seen at the method handle and will return the requested data. This will first check to see if the requested file is in a data cache. Using the broadest reasonable interpretation cache is interpreted as a data puddle because it is a smaller form of memory storage when compared to a data lake and is used to store limited specified data.) “ transmit, from the data puddle, the data to the end-point device in response to the request for the data, thereby reducing a latency associated with otherwise extracting the data from the data lake in response to the request for the data. ” (Algorithm 2 Smart Cache for Data Lake 2 (SCDL2) algorithm pseudocode, pp. 9; This method will retrieve data from a larger data lake predictively store files in a cache database. As seen in the algorithm, a request is input into the method and file variable will be saved from the result of request.filename command. Then the method will check to see if the file is in the cache, if it is then the system returns the file., saving time and energy.) Regarding claim 17 , El Zarif discloses, “ capturing data ingestion information associated with an end-point device over a period of time; ” (Overview of our Framework, pp. 3; "Figure 3 shows an overview of our approach. For each incoming query in the system, first, our framework generates the query embeddings that converts the input query text to an embedding vector. Second, our framework predicts the next upcoming five queries using the RNN." Figure 3 shows the overall method process. It will first intake information from the user, this data is a query into a database. The system will then predict the top 5 anticipated queries and potentially store them in cache for later use. The top 5 changes over time based on the user requests and other factors. The teaches the intaking user data over time to produce predictive queries.) “ determining, using a machine learning (ML) subsystem, data ingestion pattern for the end-point device based on at least the data ingestion information, wherein the data ingestion pattern is associated with data regularities and patterns in the data ingestion information that identify specific data requirements for the end-point device; ” (Architecture of Neural Networks, pp. 4; "As shown in Table 1, we train the RNN on the 30 thousand queries that form the benchmark dataset. The vocabulary of the dataset consists of 6 thousand unique queries after filtering the 30 thousand queries from duplicates. Hence, the output layer of the RNN consists of a Softmax layer with 6 thousand classes that represents the vocabulary of our corpus (i.e., the number of unique queries in the benchmark dataset). The Softmax layer serves as a probability prediction of the most suitable word (i.e., query) to occur at each time step. We take the highest five probabilities to predict the upcoming five queries from the previous queries." The proposed model uses machine learning to predict user queries to a database. This model uses a RNN to find patterns in user queries and is trained to generate the top 5 predicted queries.) and (Figure 3, pp. 4; This figure discloses producing a prediction using a RNN model which is based on evaluating the incoming query. This model will use LSTM layers to identify patterns in the sequence of data and associated with the incoming query from a user.) “ generating a query sequence for predictive extraction of data from a data lake based on at least the data ingestion pattern; ” (Caching Decision for the Different Mechanisms, pp. 4; "The RNN predicts for each incoming query the next five incoming queries and caches them. The prefetching mechanism relies on the patterns of occurrences of queries learned from the training process." The RNN model was trained on user data and is able to determine user patterns. It will cache the predicted queries after the user produces a query to the system.) “ triggering the predictive extraction of the data from the data lake based on at least the query sequence; and ” (Figure 3, pp. 4; This overview discloses a process that is able to intake queries and evaluate them. The model will then predict and generate the top 5 queries that could be called next by a user. The model then discloses that the predictions are evaluated based on different factors including cost and memory constraints. Finally, after an evaluation, select queries are prefetched and saved un an updated cache. This discloses a process which triggers the predictive extraction of data based on an input query of a user.) “ storing the data in a data puddle associated with the end-point device in response to the predictive extraction. ” (OVERVIEW OF OUR FRAMEWORK, pp. 3; "Third, the FFNN predicts the cost (i.e., the runtime and memory consumption) of the upcoming queries. Finally, the framework prefetches the cost-efficient queries among the upcoming ones." This model is able to generate a prediction based on user patterns. This model will generate 5 predictions and evaluate the prediction. The most cost -efficient queries are stored in cache.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ A method for predictive generation of data puddles, the method comprising: ” (Algorithm 2 Smart Cache for Data Lake 2 (SCDL2) algorithm pseudocode, pp. 9; This algorithm discloses a method uses to predictively store data in specified locations. This method will predictively store data in a cache to be used by a user in a database.) Regarding claim 20 , El Zarif discloses, “ wherein the method further comprises: determining a likelihood of ingestion associated with one or more components of the data indicating a likelihood that the one or more components of the data will be used by the end- point device; and ” (The Recurrent Neural Network, pp. 4; "The neural network consists of two long short-term memory (LSTM) layers [19] with 10 units per layer. The LSTM layer serves the objective of predicting future queries at each time step. The time steps are the index of the query in the sentence of queries." The model proposed in the article uses different machine learning models to perform certain actions in the system. One of the models is a LSTM network which is designed to take the output of another model and make a prediction. This model will determine which queries are the next top 5 queries at a given time.) El Zarif fails to explicitly disclose the remaining elements of this claim. However, Tedeschi discloses, “ determining an operational criticality of the one or more components of the data based on at least a type of operation to be performed by the end-point device using the one or more components of the data. ” (SCDL, pp. 7; “Each time the user requests a file f to the cache, the state s used by the agent is computed in terms of a set of statistics related to f , collected during the environment lifetime: the file size s f , the number of requests of the given file n f , and the delta time ∆ t f , that has passed since the last request of f . It is assumed that the environment uses a discrete internal time that is incremented at each request. The statistic history traces 7 days of file’s requests, and it is deleted if the file is no longer present in the cache memory.” This model is able to keep an ordered list of the user quests. The frequently requested are continually updated and the more times a file is requested in this more the higher the chance it will be in cache.) 07-21-aia AIA Claim s 2, 3, 10, 11, 18, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Tedeschi and El Zarif in view of Chan et al, (Chan et al, "Big Data Driven Predictive Caching at the Wireless Edge" 2019, hereinafter "Chan") . Regarding claim 2 , Chan discloses, “ wherein, in determining the data ingestion pattern for the end-point device, the system is configured to: deploy, via the ML subsystem, a trained ML model on the data ingestion information captured over the period of time; and ” (Proposed Predictive Caching, pp. 2; "In predictive caching, the network proactively and periodically refreshes caches with content that has a high probability to be requested during the next time frame (e.g., next half-hour). The proactive refresh rate, R (e.g., 15 minutes, 30 minutes, 1 hour, etc.) can vary and be optimized by mobile operators based on the number of users in the network, the number of content requests, the similarity of users' behaviors, network load, and the size of the caches." This article proposes a method which is able to predictively cache data for users depending on certain factors. This will use machine learning to evaluate the user data and request information, such as request rates and user behaviors, to determine what information should be cached and where.) “ determine, using the trained ML model, the data ingestion pattern for the end-point device. ” (Proposed Predictive Caching, pp. 2; "Calculate the popularity scores for each content item in L by using weighting parameters (e.g., the weights for t+R, t+2R, t+3R, and t+4R are 1, 0.75, 0.5, 0.25). The effectiveness of other weighting methods can be investigated in future work." This method will generate a popularity score for different content parameters. The popularity score is used with other factors to determine what content should be added to a cache. This popularity score can be updated and changed overtime and depending on the content that is requested by users in the network.) It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to combine El Zarif, Tedeschi and Chan. El Zarif teaches a predictive model that is able to evaluate user query data to generate cost effective predictions and prefetch this information and store it in a cache system. Tedeschi teaches an algorithm that is able to predictively draw data from a data lake to a cache system for the user and manage the cache system. Chan teaches a system that uses machine learning to predictive cache data to edge devices which are connected to the network. One of ordinary skill would have motivation to combine a system that is able to generate predictive queries to a database for a user and fetch that data and a system that uses machine learning and works with a data lake to preemptively draw data from the data lake to a cache system with a system that is able to use machine learning to predictably store data for edge users based on time and user behaviors, "However, since these techniques [7-10] utilized different simulation parameters and undertook different case scenarios in evaluating their work, it is challenging to replicate the work in our simulation environment, which includes different dimensions in terms of mobility, service usage pattern, hierarchical caching, and different similarities in user content requests. Therefore, we take a conservative approach and summarize the average gain in cache hit rate reported by various strategies [7-10] as between 5% to 25% above the non-predictive caching model. The grey regions in Fig. 5 show the typical improvement range of ML-based caching strategies reported by [7-10]. The black lines with black circle markers indicate the number of content items that need to be transported from the CDN provider to the caches for PC. The red lines with red cross markers indicate the number of content items that need to be transported from the CDN provider to caches for LRU. Note that only LRU is plotted because the values for both LFU and LRU are similar." (Chan, Performance of predictive caching, pp. 4). Regarding claim 3 , Chan discloses, “ wherein the system is configured to: generate a feature set using the data ingestion information captured over the period of time; and ” (User level predictability, pp. 4; "Our findings show that the majority of our mobile users have high predictability. This helps us to answer: (1) what content and services should be cached (2) where in the network, and at (3) what time by predicting the spatio-temporal trajectory and the service and content usage patterns of individual users. However, effective ML-based techniques need to be used to perform predictions." The proposed model in this article is able to cache information which is relevant to the users. In this case the model is able to make prediction based on different features such as content type, user location, and time the content was accessed.) “ train, using the ML subsystem, an ML model using the feature set to generate the trained ML model. ” (MACHINE LEARNING-BASED PREDICTION, pp. 3; Data preprocess: We divide the data sets into 288 5- minute time slots per day and determine the geographical locations of all users. Suppose that there are K cells in the network which can deploy caches, and the cell set is denoted as C . Next, we convert each user’s travel trajectory into a sequence of time-stamped cell-location records < c 1 , t 1 > , … , < c i , t i > , … , c n , t n , where < c i , t i > indicates that a user is in cell c i at time t i . Training: We use the first two weeks of data as our training set to build the transition matrix with a dimension of K×K. Each entry in the transition matrix is the transition probability of a user travelling from cell c i to c j , which is calculated by: [ see equation (1) ] where N i j is the occurrence of two adjacency cells, c i and c j in the trajectory and Ni is the frequency of the user visiting cell ci. The initial probability of a user is calculated as: [ see equation (2) ] where N t o t a l is the total number of timestamps in the training set. Prediction: At time slot t- 1, given the user’s current cell id c t -1, the next cell of the user can be predicted as: [ see equation (3) ].” This model will train itself using different user patterns. This will first preprocess data into sequences of user's location and time. The model will then train on this data, which will be used for updating the popularity scores.) Regarding claim 10 , Chan discloses, “ wherein, in determining the data ingestion pattern for the end-point device, the computer program product is configured to: deploy, via the ML subsystem, a trained ML model on the data ingestion information captured over the period of time; and ” (Proposed Predictive Caching, pp. 2; "In predictive caching, the network proactively and periodically refreshes caches with content that has a high probability to be requested during the next time frame (e.g., next half-hour). The proactive refresh rate, R (e.g., 15 minutes, 30 minutes, 1 hour, etc.) can vary and be optimized by mobile operators based on the number of users in the network, the number of content requests, the similarity of users' behaviors, network load, and the size of the caches." This article proposes a method which is able to predictively cache data for users depending on certain factors. This will use machine learning to evaluate the user data and request information, such as request rates and user behaviors, to determine what information should be cached and where.) “ determine, using the trained ML model, the data ingestion pattern for the end-point device. ” (Proposed Predictive Caching, pp. 2; "Calculate the popularity scores for each content item in L by using weighting parameters (e.g., the weights for t+R, t+2R, t+3R, and t+4R are 1, 0.75, 0.5, 0.25). The effectiveness of other weighting methods can be investigated in future work." This method will generate a popularity score for different content parameters. The popularity score is used with other factors to determine what content should be added to a cache. This popularity score can be updated and changed overtime and depending on the content that is requested by users in the network.) Regarding claim 11 , Chan discloses, “ wherein the computer program product is configured to: generate a feature set using the data ingestion information captured over the period of time; and ” (User level predictability, pp. 4; "Our findings show that the majority of our mobile users have high predictability. This helps us to answer: (1) what content and services should be cached (2) where in the network, and at (3) what time by predicting the spatio-temporal trajectory and the service and content usage patterns of individual users. However, effective ML-based techniques need to be used to perform predictions." The proposed model in this article is able to cache information which is relevant to the users. In this case the model is able to make prediction based on different features such as content type, user location, and time the content was accessed.) “ train, using the ML subsystem, an ML model using the feature set to generate the trained ML model. ” (MACHINE LEARNING-BASED PREDICTION, pp. 3; Data preprocess: We divide the data sets into 288 5- minute time slots per day and determine the geographical locations of all users. Suppose that there are K cells in the network which can deploy caches, and the cell set is denoted as C . Next, we convert each user’s travel trajectory into a sequence of time-stamped cell-location records < c 1 , t 1 > , … , < c i , t i > , … , c n , t n , where < c i , t i > indicates that a user is in cell c i at time t i . Training: We use the first two weeks of data as our training set to build the transition matrix with a dimension of K×K. Each entry in the transition matrix is the transition probability of a user travelling from cell c i to c j , which is calculated by: [ see equation (1) ] where N i j is the occurrence of two adjacency cells, c i and c j in the trajectory and Ni is the frequency of the user visiting cell ci. The initial probability of a user is calculated as: [ see equation (2) ] where N t o t a l is the total number of timestamps in the training set. Prediction: At time slot t- 1, given the user’s current cell id c t -1, the next cell of the user can be predicted as: [ see equation (3) ].” This model will train itself using different user patterns. This will first preprocess data into sequences of user's location and time. The model will then train on this data, which will be used for updating the popularity scores.) Regarding claim 18 , Chan discloses, “ wherein, in determining the data ingestion pattern for the end-point device, the method further comprises: deploying, via the ML subsystem, a trained ML model on the data ingestion information captured over the period of time; and ” (Proposed Predictive Caching, pp. 2; "In predictive caching, the network proactively and periodically refreshes caches with content that has a high probability to be requested during the next time frame (e.g., next half-hour). The proactive refresh rate, R (e.g., 15 minutes, 30 minutes, 1 hour, etc.) can vary and be optimized by mobile operators based on the number of users in the network, the number of content requests, the similarity of users' behaviors, network load, and the size of the caches." This article proposes a method which is able to predictively cache data for users depending on certain factors. This will use machine learning to evaluate the user data and request information, such as request rates and user behaviors, to determine what information should be cached and where.) “ determining, using the trained ML model, the data ingestion pattern for the end-point device. ” (Proposed Predictive Caching, pp. 2; "Calculate the popularity scores for each content item in L by using weighting parameters (e.g., the weights for t+R, t+2R, t+3R, and t+4R are 1, 0. 75, 0.5, 0.25). The effectiveness of other weighting methods can be investigated in future work." This method will generate a popularity score for different content parameters. The popularity score is used with other factors to determine what content should be added to a cache. This popularity score can be updated and changed overtime and depending on the content that is requested by users in the network.) Regarding claim 19 , Chan discloses, “ wherein the method further comprises: generating a feature set using the data ingestion information captured over the period of time; and ” (User level predictability, pp. 4; "Our findings show that the majority of our mobile users have high predictability. This helps us to answer: (1) what content and services should be cached (2) where in the network, and at (3) what time by predicting the spatio-temporal trajectory and the service and content usage patterns of individual users. However, effective ML-based techniques need to be used to perform predictions." The proposed model in this article is able to cache information which is relevant to the users. In this case the model is able to make prediction based on different features such as content type, user location, and time the content was accessed.) “ training, using the ML subsystem, an ML model using the feature set to generate the trained ML model. ” (MACHINE LEARNING-BASED PREDICTION, pp. 3; Data preprocess: We divide the data sets into 288 5- minute time slots per day and determine the geographical locations of all users. Suppose that there are K cells in the network which can deploy caches, and the cell set is denoted as C . Next, we convert each user’s travel trajectory into a sequence of time-stamped cell-location records < c 1 , t 1 > , … , < c i , t i > , … , c n , t n , where < c i , t i > indicates that a user is in cell c i at time t i . Training: We use the first two weeks of data as our training set to build the transition matrix with a dimension of K×K. Each entry in the transition matrix is the transition probability of a user travelling from cell c i to c j , which is calculated by: [ see equation (1) ] where N i j is the occurrence of two adjacency cells, c i and c j in the trajectory and Ni is the frequency of the user visiting cell ci. The initial probability of a user is calculated as: [ see equation (2) ] where N t o t a l is the total number of timestamps in the training set. Prediction: At time slot t- 1, given the user’s current cell id c t -1, the next cell of the user can be predicted as: [ see equation (3) ].” This model will train itself using different user patterns. This will first preprocess data into sequences of user's location and time. The model will then train on this data, which will be used for updating the popularity scores.) Conclusion 07-39 AIA THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to PAUL MICHAEL GALVIN-SIEBENALER whose telephone number is (571)272-1257. The examiner can normally be reached Monday - Friday 8AM to 5PM. 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, Viker Lamardo can be reached at (571) 270-5871. 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. /PAUL M GALVIN-SIEBENALER/Examiner, Art Unit 2147 /VIKER A LAMARDO/Supervisory Patent Examiner, Art Unit 2147 Application/Control Number: 18/098,378 Page 2 Art Unit: 2147 Application/Control Number: 18/098,378 Page 3 Art Unit: 2147 Application/Control Number: 18/098,378 Page 4 Art Unit: 2147 Application/Control Number: 18/098,378 Page 5 Art Unit: 2147 Application/Control Number: 18/098,378 Page 6 Art Unit: 2147 Application/Control Number: 18/098,378 Page 7 Art Unit: 2147 Application/Control Number: 18/098,378 Page 8 Art Unit: 2147 Application/Control Number: 18/098,378 Page 9 Art Unit: 2147 Application/Control Number: 18/098,378 Page 10 Art Unit: 2147 Application/Control Number: 18/098,378 Page 11 Art Unit: 2147 Application/Control Number: 18/098,378 Page 12 Art Unit: 2147 Application/Control Number: 18/098,378 Page 13 Art Unit: 2147 Application/Control Number: 18/098,378 Page 14 Art Unit: 2147 Application/Control Number: 18/098,378 Page 15 Art Unit: 2147 Application/Control Number: 18/098,378 Page 16 Art Unit: 2147 Application/Control Number: 18/098,378 Page 17 Art Unit: 2147 Application/Control Number: 18/098,378 Page 18 Art Unit: 2147 Application/Control Number: 18/098,378 Page 19 Art Unit: 2147 Application/Control Number: 18/098,378 Page 20 Art Unit: 2147 Application/Control Number: 18/098,378 Page 21 Art Unit: 2147 Application/Control Number: 18/098,378 Page 22 Art Unit: 2147 Application/Control Number: 18/098,378 Page 23 Art Unit: 2147 Application/Control Number: 18/098,378 Page 24 Art Unit: 2147 Application/Control Number: 18/098,378 Page 25 Art Unit: 2147 Application/Control Number: 18/098,378 Page 26 Art Unit: 2147 Application/Control Number: 18/098,378 Page 27 Art Unit: 2147 Application/Control Number: 18/098,378 Page 28 Art Unit: 2147 Application/Control Number: 18/098,378 Page 29 Art Unit: 2147 Application/Control Number: 18/098,378 Page 30 Art Unit: 2147 Application/Control Number: 18/098,378 Page 31 Art Unit: 2147 Application/Control Number: 18/098,378 Page 32 Art Unit: 2147
Read full office action

Prosecution Timeline

Jan 18, 2023
Application Filed
Dec 08, 2025
Non-Final Rejection mailed — §103
Mar 06, 2026
Response Filed
Jun 02, 2026
Final Rejection mailed — §103 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
29%
Grant Probability
29%
With Interview (+0.0%)
3y 9m (~3m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 7 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