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 Objections
Claims 1, 3, 4, 9-11, 13, 19, and 20 are objected to because of the following informalities:
Claims 1, 3, 4, 9-11, 13, 19, and 20 contain typographical and grammatical errors that render the language unclear. Specifically:
Claims 1, 11, and 19 recite “to generated an altered data profile”, which is grammatically improper. The term “generated” should be corrected to “generate” or “generating”.
Claims 3 and 13 recite “outside a bounds of the first data profile”, which contains improper article usage. Bounds is plural and should be preceded by “the” or revised to “a bound”.
Claim 4 recites “the one or more first data value”, which is inconsistent with the plural phrase “one or more” and should be corrected to “values” and “corresponds” should be corrected to “correspond”.
Claim 9 recites “a same impactful information”, which is grammatically incorrect and should be corrected to “the same impactful information”.
Claim 10 recites “to identify to maximize”, which is an improper and unclear phrase and should be corrected for grammatical clarity to “to identify and maximize”.
Claim 20 recites “stress testing the data model the synthetic dataset”, which is missing necessary connecting language (e.g., “using” or “with”) and is therefore unclear.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claims 1, 11 and 19 recite “using the synthetic data”, whereas the preceding limitations introduces “a synthetic dataset”. The term “synthetic data” lacks proper antecedent basis, rendering the scope of the claims unclear. Claims 2, 12 and 20 further alternate between “synthetic dataset” and “synthetic data” when referring to the same element, resulting in unclear antecedent linkage and ambiguity in claim scope.
Claims 2-10, 12-18, and 20 are rejected because they depend from claim 1, 11 and 19, respectively.
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-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claims recite an abstract idea as discussed below. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons discussed below.
Step 1 of the 2019 Guidance requires the examiner to determine if the claims are to one of the statutory categories of invention. Applied to the present application, claims 1-20 are directed to methods, computer readable media, and a system which fall within one of the statutory categories of invention (Claims 1-10, process), (claims 11-18, machine) and (claims 19-20, manufacture) under 35 U.S.C. §101.
Claims 1-10 are reproduced below with the abstract idea underlined. Claims 11-18 are system claims with the same limitations as claims 1-18 and claims 19-20 are computer readable medium claims reciting same limitations as claims 1 and 2.
Claim 1 : a method for streamlined generation of synthetic data from a data profile, the method comprising: generating, from an initial training dataset used for training a data model, a first data profile, the first data profile comprising a descriptive summary of the initial training dataset; generating a stress profile from an analysis of the data model and the initial training dataset used for training the data model; modifying the first data profile by the stress profile to generated an altered data profile; generating a synthetic dataset from the altered data profile; and generating a stress performance output for the data model using the synthetic data.
Claim 2: the method of claim 1, wherein the synthetic dataset is used for stress testing the data model.
Claim 3: the method of claim 1, wherein the synthetic data, generated from the altered data profile, comprises one or more first data values outside a bounds of the first data profile associated with the initial training dataset.
Claim 4: the method of claim 3, wherein the one or more first data value corresponds to data values for which the data model does not produce a meaningful outcome.
Claim 5: the method of claim 3, further comprising: identifying a data range from the altered data profile that comprises the one or more first data values, and generating one or more second data values within the data range for evaluating a performance of the data model.
Claim 6: the method of claim 1, wherein the first data profile is generated by processing a plurality of data with an open source data profiler process.
Claim 7: the method of claim 1, wherein the stress profile is determined based on one or more identified weak points associated with a performance of the data model.
Claim 8: the method of claim 7, wherein the one or more identified weak points are identified based on characterizing the performance of the data model based on the first data profile.
Claim 9: the method of claim 1, further comprising distilling the initial training dataset into a reduced corpus of dataset that has a same impactful information as the initial training dataset.
Claim 10: the method of claim 1, wherein a data distillation process is applied to a plurality of stress training datasets, generated based on distinct stress profiles, to identify to maximize a quality of one or more training datasets required to simulate one or more specific stress conditions.
Claims 1-20 recite an abstract idea. Specifically, the claims recite steps of receiving data, generating data profiles, identifying characteristic of the data, modifying data, and generating synthetic data, which constitute data collection, analysis, and manipulation. Such operations can be performed in the human mind or using mathematical relationships, and therefore fall within the categories of mental processes and mathematical concepts. Accordingly, the claims recite an abstract idea.
In Step 2A prong 2: examiner needs to determine if the claim(s) recite additional elements that integrate the exception into a practical application of the exception.
The additional elements in the claims have been left in normal font. Claims do not integrate the judicial exception into a practical application because of the following reasons:
Claim 1: the additional elements of the claim merely recite generic data processing operations which are used only to analyze and manipulate data. The claim does not recite any application of the generated output to a real-world process. For example, the claim does not recite using the synthetic dataset to improve the operation of a computer or other technology, or perform real-world testing. Instead, the claim is directed to data generation and analysis without applying the results in a practical technological context.
Claims 11 and 19 recite additional elements corresponding to a system and anon-transitory computer-readable medium, respectively, including generic components such as processor and memory configured to perform the same functions recited in claim 1. These additional elements are merely generic computer components performing generic computer functions and do not impose any meaningful limit on the abstract idea.
Claims 2–10, 12–18, and 20 do not integrate the abstract idea into a practical application. The additional limitations recited in these claims, including using the synthetic dataset for stress testing (claims 2, 12, 20), identifying data values (claims 3, 13), determining outcomes of the data model (claims 4, 14), evaluating performance (claims 5, 15), generating a data profile using a data profiler process (claims 6, 16), identifying weak points (claims 7, 17), characterizing performance (claims 8, 18), and further data processing and evaluation (claims 9 and 10), merely provide further details of data analysis and manipulation. The additional elements do not apply the abstract idea in a manner that improves a technology, controls a machine, or performs a real-world process, but instead remain directed to processing and evaluating data. Accordingly, the dependent claims are not integrated into a practical application for the same reasons as claim 1. Claims 1–20 do not include additional elements that amount to significantly more than the abstract idea.
The additional elements recited in the claims, including methods for synthetic data generation and implementing the steps using generic computer components such as processors and memory, are well-understood, routine, and normal activities in the field of data processing. These elements are recited at a high level of generality and perform generic functions that do not provide an inventive concept sufficient to transform the abstract idea into patent-eligible subject matter. Accordingly, the claims do not recite significantly more than the abstract idea and also fail step 2B analysis.
Claim Rejections - 35 USC § 102
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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(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-5, 7-15, and 17-20 are rejected under 35 U.S.C. 102(a) (1) and 35 U.S.C. 102(a) (2) as being anticipated by Poornachandran et al. (US20230195601) hereinafter Poornachandran.
Regarding claim 1, a method for streamlined (Poornachandran describes a multi-step pipeline (loading filters, prioritizing parameters, generating data) that automates the creation of privacy-filtered and aggregated data, fig. 5A and fig. 5B) generation of synthetic data (synthetic data generation for enhanced microservice debugging, Abstract) from a data profile (based on activation profiles, user-configured profiles, and templates, Abstract and ¶ [69]), the method comprising:
generating, from an initial training dataset (original infield dataset, past raw infield data ¶ [67]) used for training a data model (generate a trained model using the machine learning analytics engine ¶ [124]), a first data profile (activation profiles ¶ [65]), the first data profile comprising a descriptive summary of the initial training dataset (the analytics manager uses an inference engine to identify the characteristics in the aggregated data based on the past real infield data, ¶ [80]. Analytics manager uses classification, inference, contextual analysis, or semantics mapping to summarize the raw data into a usable model or filter, ¶ [120]).
Generating a stress profile (prioritized synthetic parameters ¶ [70]. The system is designed to prioritize synthetic parameters of the filter (such as the amount of noise to insert or a specific sampling interval ¶ [70]) specifically to stress microservice component boundaries ¶ [22]. This prioritization of stress-including parameters functions as the stress profile that guides the synthesis of anomalous data.) from an analysis of the data model (microservice anomaly detector 336 identifying deviations, errors ¶ [60-61]) and the initial training dataset (past raw infield data ¶ [77] or original infield dataset ¶ [70] ) used for training the data model (to generate trained models and/or privacy filters ,¶ [85]).
Modifying the first data profile by the stress profile (by prioritizing the specific stress-inducing parameters based on service requirements (QoS metrics) ¶ [70], the system effectively modifies the baseline operational profile of the service to prepare for synthetic generation) to generate an altered data profile (the altered data profile is the intermediate object used by the generator to create data. Poornachandran teaches the “prioritized synthetic parameters in the filter” ¶ [70] that serves the exact same purpose.).
Generating (synthetic data generator 356/440, ¶ [70 &76]) a synthetic dataset from the altered data profile (generate a synthetic dataset for ingestion using the prioritized synthetic parameters in the filter ¶ [96]); and
Generating a stress performance output (evaluation metrics ¶ [73] and captured errors in the applications) for the data model (improve an algorithm of the machine learning training ¶ [73]) using the synthetic data (the evaluation manager 362 can generate evaluation metrics based on whether the query recommendation and generation as applied to the generated synthetic data are generating metrics that are meeting quality and service level standards, ¶ [73] ).
Regarding claim 2, Poornachandran teaches the method of claim 1, wherein the synthetic dataset is used for stress testing the data model (the synthetic data generation techniques can be used to stress microservice component boundaries in a microservices architecture, ¶ [22]).
Regarding claim 3, Poornachandran teaches the method of claim 1, wherein the synthetic data, generated from the altered data profile (synthetic data generator 356/440, ¶ [70 &76] generates a synthetic dataset for ingestion using the prioritized synthetic parameters in the filter ¶ [96]), comprises one or more first data values (generating dataset for ingestion by applying prioritized synthetic parameters to an “original infield dataset” ¶ [96]) outside bounds of the first data profile (Poornachandran prioritizes synthetic parameters including an amount of noise to insert into a synthetic dataset ¶ [70], (inserting noise into a clean dataset creates data variants that deviate from the statistical distribution (the bounds) of the past raw infield data)) associated with the initial training dataset (Poornachandran teaches that the synthetic data generation techniques can be used to stress microservice component boundaries in a microservices architecture, ¶ [22] and Poornachandran also uses the synthetic data to identify deviation from normal or typical behavior ¶ [61], testing boundaries and deviations implies using data points that are statistically extreme or distinct from the typical (baseline) training profile).
Regarding claim 4, Poornachandran teaches the method of claim 3, wherein the one or more first data value (the system prioritizes synthetic parameters (like noise and sampling intervals) applied to original infield data ¶ [70]) corresponds to data values for which the data model (Poornachandran targets micro service component boundaries and monitors service responses ¶ [22]. The boundaries are the limits where the model/service performance becomes unstable.) does not produce a meaningful outcome (the microservice anomaly detection component 336 is designed to provide hooks to capture errors in the applications ¶ [60]. For example, it identifies cases where a service level objective requires 30fps but the model only produce 28fps ¶ [60]. Failure to meet performance standards constitutes a non-meaningful outcome.)
Regarding claim 5, Poornachandran teaches the method of claim 3, further comprising: identifying a data range from the altered data profile (Poornachandran teaches that the synthetic data generator 356 prioritizes synthetic parameters of the filter such as amount of noise to insert or the sampling interval ¶ [70]. By selecting a specific magnitude of noise or sampling intervals, the system is effectively identifying the data range of stress conditions defined in the profile.) that comprises the one or more first data values (the system targets microservice component boundaries and captures anomalies or errors, ¶ [22 & 61], these boundaries and anomalies are the technical identity of the first data values (points outside normal operational bounds)) and generating one or more second data values within the data range (the system generates a synthetic dataset for ingestion by applying the prioritized parameters to the original infield dataset ¶ [96], a dataset implies the generation of multiple data points (second values) within the specific stress range defined by the prioritized parameters.) for evaluating a performance of the data model (evaluation manager 362 generates evaluation metrics to determine if the system is meeting service level standards ¶ [73]).
Regarding claim 7, Poornachandran teaches the method of claim 1, wherein the stress profile is determined (system loads a filter for a synthetic data generator and prioritizes synthetic parameters based on discovered activation profiles ¶ [95-96], the prioritized parameters (e.g., noise levels) acting on the filter constitute the functional determination of a stress profile) based on one or more identified weak points (the system utilizes a microservice anomaly detector 336 to identify deviations from normal or typical behavior and anomalies ¶ [61]) associated with a performance of the data model (the system identifies errors in the application where they fail to meet service level objectives (SLO) (processing at 28fps instead of the required 30fps)¶ [60], failing to meet SLOs or frame rate targets is a direct measurement of the model’s performance deficiency).
Regarding claim 8, Poornachandran teaches the method of claim 7, wherein the one or more identified weak points (the system utilizes a microservice anomaly detector 336 to identify deviations from normal or typical behavior and anomalies ¶ [61]) are identified based on characterizing the performance of the data model (the system identifies errors in the application where they fail to meet service level objectives (SLO) (processing at 28fps instead of the required 30fps)¶ [60], this analysis quantifiably characterizes performance deficiencies (e.g., 28fbps when 30fps is required)) based on the first data profile (the system identifies the deviations by comparing monitored data against past raw infield data and monitored previous activation profiles ¶ [73, 78 & 85]).
Regarding claim 9, Poornachandran teaches the method of claim 1, further comprising distilling the initial training dataset (analytics manager 354/420 aggregates raw sensory data and generates privacy-filtered and aggregated data ¶ [21 & 67], the process of aggregation and filtering is the functional equivalent of distillation as both involve selecting and refining raw data into a more concentrated form) into a reduced corpus of dataset (the system uses data aggregation policies (e.g., a sampling interval) which are configurable ¶ [77]. By sampling at specific intervals and applying privacy filters to remove irrelevant or sensitive content, the system creates a smaller more manageable dataset (reduced corpus) derived from the larger raw telemetry streams) that has the same impactful information as the initial training dataset (the system uses ML-based heuristics (classification, inference, context) ¶ [66 & 68] to identify characteristic in the aggregated data ¶ [80] and ensure the synthetic data mimics past real infield data ¶ [117]. The use of ML heuristics ensures that the aggregated data preserves the core functional relationships (impactful information) of the original infield data).
Regarding claim 10, Poornachandran teaches the method of claim 1, wherein a data distillation process is applied (analytics manager 354/420 aggregates raw sensory data and generates privacy-filtered and aggregated data ¶ [21 & 67], the process of aggregation and filtering is the functional equivalent of distillation as both involve selecting and refining raw data into a more concentrated form) to a plurality of stress training datasets, generated based on distinct stress profiles (the system generates a synthetic dataset for ingestion by prioritized synthetic parameters (noise, sampling intervals) to original infield data ¶ [122]. By varying the prioritized synthetic parameters to target different weak points across various microservices, system creates a plurality of distinct stress datasets. Moreover, filters are configured for the service based on service policies ¶ [117] (different policy configurations represents the distinct stress profile)), to identify and maximize the quality of one or more training datasets required (the system identifies synthetic profiles that do not match previous profiles and use them to improve an algorithm of the machine learning training ¶ [73]. By isolating the specific anomalous samples (non-matching profiles) that cause failure, the system identifies the optimal data needed to increase robustness ¶ [71]) to simulate one or more specific stress conditions (system uses synthetic data to stress microservices component boundaries and identify deviations from normal behavior ¶ [22] ).
Regarding claims 11 and 19, Poornachandran teaches a computing apparatus with one or more processors and memory ¶ [102-103] and provides a computer program product with instructions on machine-readable media ¶ [89], its technical disclosures for the method steps map perfectly to the system and medium versions of those steps.
Claims 11-15 and 17-18 are rejected for the same reasons as claims 1-5 and 7-10, respectively as they recite corresponding limitations in system form.
Claims 19 and 20 are rejected for the same reasons as claims 1 and 2, respectively as they recite corresponding limitations in the non-transitory computer-readable medium form.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or non-obviousness.
Claims 6 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Poornachandran Poorna Chandran et al. (US20230195601) hereinafter Poornachandran as applied to claim 1 above, and further in view of Herman Saffar et al. (US10824726 B1) hereinafter Herman Saffar.
Regarding claim 6, Poornachandran teaches the method of claim 1, wherein the first data profile is generated (system receives past raw infield data ¶ [77] and monitors previous activation profiles ¶ [69] of microservices, the activation profiles represent the first data profile (descriptive summary) of the service’s baseline behavior) by processing a plurality of data (analytics manager aggregates raw sensory data from a variety of input sources ¶ [77])
Poornachandran teaches using a machine learning analytics engine to generate trained models based on data aggregation ¶ [120], the analytics engine performs the profiling task (classification, inference, etc.) required to generate the profile.
However, Poornachandran does not teach generating a data profile with an open-source data profiler process.
Herman Saffar teaches using the Prometheus® monitoring tool to gather and preprocess information, noting that Prometheus® is an open-source monitoring tool (Col. 9 Lines 50-54). The Prometheus® tool collects raw data (file systems, processes, applications) which is then passed to data processing module 404 to obtain behavior metrics (Col. 9 Lines 55-58). These metrics are then separated into container profile data 502, which represents the normal baseline (Col. 10 Lines 3-7). The sequence of gathering raw data, preprocessing into metric, and establishing a baseline profile is the functional definition of the data profiler process.
It would have been obvious to a person having ordinary skills in the art at the time of filling to combine the profiling teaching of Herman Saffar with the synthetic data generation of Poornachandran because using open-source tools like Prometheus® allows for real-time or near real-time detection of anomalies (Herman Saffar, (Col. 11 Lines 10-14)), a goal shared by Poornachandran debugging framework (Poornachandran, ¶ [22]).
Claim 16 is rejected for the same reasons as claim 6, as it recites corresponding limitations in system form.
Relevant Prior Art
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Vengertsev et al. (US20210201195A1) describes systems and methods for masking and abstracting data to prevent ML models from memorizing sensitive information during training.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SAEEDE NAFOOSHE whose telephone number is (571)272-8629. The examiner can normally be reached Monday-Friday 8:00 am -5:00pm.
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, Andrew Schechter can be reached at 571-272-2302. 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.
/SAEEDE NAFOOSHE/Examiner, Art Unit 2857
/ANDREW SCHECHTER/Supervisory Patent Examiner, Art Unit 2857