DETAILED ACTION
This action is in response to the filing 11/27/2024. Claims 1-20 are pending and have been fully examined.
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 .
Status of the Claims
Claim 18 is objected to.
Claims 1-20 are rejected under 35 U.S.C. 101.
Claims 1, 3, 6-10, 12-15, and 17-18 are rejected under 35 U.S.C. 102.
Claims 11 and 20 are rejected under 35 U.S.C. 103.
Claim Objections
Claim 18 is objected to because of the following informalities: Claim 18 recites, “a higher value matrix profile indicates to a user, …” The comma following “user” should be replaced with a semicolon to clearly indicate that the higher matrix profile indicates both (i) the appearance of anomalous and (ii) a lower likelihood that an identified area is anomalous. Appropriate correction is required.
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 abstract ideas without significantly more. The claims recite a mental process. The judicial exception is not integrated into practical application because the claims generally link abstract ideas to a generic computer. The claims to not include additional elements that are sufficient to amount to significantly more than the judicial exception because they include mental processes on a generic computer without creating a significant, novel improvement or change to the computer.
Claim 1
Step 1: Claim 1 recites a method.
Step 2A Prong 1: Abstract Idea
Claim 1 recites,
comparing the time series to a second time series of data… This limitation recites a step of comparing numerical values (scaler values) to (existing) numerical values. This is an act of evaluating information that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
identifying presence of one or more anomalies based on the comparison… This limitation recites a step of using the act of performing a comparison to identify anomalies. This is an act of evaluating information that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
Step 2A Prong 2: Additional Elements
Claim 1 additionally recites,
assigning one or more data to one or more windows based on one or more group level characteristics of the one or more data; This limitation merely describes formatting data into windows according to descriptive data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
assigning the one or more data to one or more sub-windows based on one or more time stamps, the one or more sub-windows inside the windows; This limitation merely describes formatting data into sub windows by time. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
creating a data count for each of the sub-windows, wherein the data count is a scalar value; This limitation merely describes formatting data dimensionally or graphically (time by data count, see specification [0111]). Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
creating a first time series from the data count of each of the sub-windows, wherein the first time series of the data is a real-time synchronous time series of data; This limitation merely describes formatting or arranging data as a time series. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
alerting a user to the presence of one or more anomalies based on a result of the comparison; This limitation merely describes outputting data in the form of an alert at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
modifying the second time series based on the first time series. This limitation merely describes making a modification to (existing) data, recited at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3). Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Step 2B: Significantly More
Claim 1 additionally recites,
assigning one or more data to one or more windows based on one or more group level characteristics of the one or more data; This limitation merely describes formatting data into windows according to descriptive data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
assigning the one or more data to one or more sub-windows based on one or more time stamps, the one or more sub-windows inside the windows; This limitation merely describes formatting data into sub windows by time. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
creating a data count for each of the sub-windows, wherein the data count is a scalar value; This limitation merely describes formatting data dimensionally or graphically (time by data count, see specification [0111]). Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
creating a first time series from the data count of each of the sub-windows, wherein the first time series of the data is a real-time synchronous time series of data; This limitation merely describes formatting or arranging data as a time series. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
alerting a user to the presence of one or more anomalies based on a result of the comparison; This limitation merely describes outputting data in the form of an alert at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
modifying the second time series based on the first time series. This limitation merely describes making a modification to (existing) data, recited at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3). Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Claim 2 recites,
wherein the method is implemented using an application programming interface with a unified stream-processing and batch-processing framework.
This limitation merely describes performing a method using an application programming interface with specifications for real-time stream data processing, as performed in the above method. Merely performing the above claimed steps on a computer in its ordinary capacity for tasks or merely adding a general-purpose computer or computer components after the fact to an abstract idea does not integrate a judicial exception into a practical application or provide significantly more. See MPEP 2106.05(f)(2).
Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Claim 3 recites,
wherein the sub-windows are fixed size, non-overlapping, contiguous time interval windows.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 4 recites,
wherein the sub-windows are sliding windows.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 5 recites,
wherein group level characteristics include…
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 6 recites,
wherein the one or more windows is seven days.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 7 recites,
wherein the one or more windows is twenty-four hours.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 8 recites,
wherein a time interval of the one or more sub-windows is five minutes or less.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 9 recites,
wherein the second time series is a mathematical average of previously collected time series data.
This claim merely provides information on the data formatting steps performed in the above claim. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 10 recites,
wherein the comparing comprises comparing the first time series with the second time series at every sub-window interval.
This claim merely recites a further feature of the comparing-abstract idea of Claim 1 and does not provide further features beyond the time at which the comparison occurs. Therefore, Claim 10 recites the abstract idea of Claim 1, see MPEP 2106.04(a)(2)(III).
Claim 11 recites,
wherein the comparing comprising comparing the first time series with the second time series at a user specified time interval.
This claim merely recites further elements of the comparing-abstract idea of Claim 1 and does not provide further features beyond the time at which the comparison occurs. Therefore, Claim 11 recites the abstract idea of Claim 1, see MPEP 2106.04(a)(2)(III).
Claim 12
Step 1: Claim 12 recites a method.
Step 2A Prong 1: Abstract Idea
Claim 12 recites,
identifying one or more repeated patterns in the first time series of data using a value of the matrix profile at one or more times; This limitation recites performing an identification to identify repeated patterns using known data. This is an act of evaluating information that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
identifying one or more top discords in the first time series of data using a value of the matrix profile at the one or more times; This limitation recites performing an identification to identify discords in known data. This is an act of evaluating information that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
stopping one or more false alerts from being sent based on a determination that the first time series of data is made up of the one or more repeated patterns; This limitation recites determining to not output data based on the act of performing identification to identify repeated patterns. This is an act of determination that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
Step 2A Prong 2: Additional Elements
Claim 12 additionally recites,
storing one or more distance profiles of one or more subsequences for a first time series of data, into a matrix profile that is a vector; This limitation merely describes storing data and the format of the data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
storing one or more minimum distances between each of the one or more subsequences into the matrix profile; This limitation merely describes storing data a feature of data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
outputting one or more alerts based on identification of top discords. This limitation merely describes outputting data in the form of an alert at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Step 2B: Significantly More
Claim 12 additionally recites,
storing one or more distance profiles of one or more subsequences for a first time series of data, into a matrix profile that is a vector; This limitation merely describes storing data and the format of the data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
storing one or more minimum distances between each of the one or more subsequences into the matrix profile; This limitation merely describes storing data a feature of data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
outputting one or more alerts based on identification of top discords. This limitation merely describes outputting data in the form of an alert at a high level of generality. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Claim 13 recites,
wherein the matrix profile allows a comparison of one or more time period’s data value to previously collected time period’s data value to identify if the one or more time period is having a unique flow of data compared to the previously collected time period data.
This limitation describes using existing formatted data to perform a comparison in order to identify discrepancies between a first and second data ("unique flow of data"). This is an act of evaluating information that can be practically performed in the human mind and therefore recites a mental process, see MPEP 2106.04(a)(2)(III).
Claim 14 recites,
wherein the one or more repeated patterns comprise spikes or drops.
This claim merely describes a type of content of the data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 15 recites,
wherein a matrix profile with a lower value corresponds with identification of one or more repeated patterns.
This claim merely recites further elements of the identifying-abstract idea of Claim 12 and does not provide further features beyond the meaning of the comparison results. Therefore, Claim 15 recites the abstract idea of Claim 12, see MPEP 2106.04(a)(2)(III).
Claim 16 recites,
wherein the one or more top discords comprise sudden spikes or sudden drops.
This claim merely describes a type of content of the data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 17 recites,
wherein a higher value matrix profile corresponds with identification of one or more top discords.
This claim merely recites further elements of the identifying-abstract idea of Claim 12 and does not provide further features beyond the meaning of the comparison results. Therefore, Claim 17 recites the abstract idea of Claim 12, see MPEP 2106.04(a)(2)(III).
Claim 18 recites,
wherein a higher value matrix profile indicates to a user, a higher likelihood that an area that appears anomalous is actually anomalous compared to areas that are not anomalous; and a lower likelihood that an identified area is the type of data expected to be seen or seen before compared to previously time series of data.
These limitations merely describes the meaning of the content of formatted data. Therefore, this step is a mere data gathering, extra solution activity that is understood to be merely nominal. See MPEP 2106.05(g)(3).
The combination of these additional elements are no more than mere data gathering in conjunction with the abstract idea in order to provide data for the mental process to be applied to. Therefore, this does not meaningfully limit the claim, see MPEP 2106.05(g)(3).
Claim 19 recites,
The method of claim 12, wherein the method is implemented using an application programming interface with a unified stream-processing and batch-processing framework.
This limitation merely describes performing a method using an application programming interface with specifications for real-time stream data processing, as performed in the above method. Merely performing the above claimed steps on a computer in its ordinary capacity for tasks or merely adding a general-purpose computer or computer components after the fact to an abstract idea does not integrate a judicial exception into a practical application or provide significantly more. See MPEP 2106.05(f)(2).
Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
Claim 20 recites a shift in statutory category and is rejected under 35 U.S.C. 101 as containing the same abstract ideas as claims 1 and 12. Additionally, Claim 20 recites,
the system comprising: a memory having processor-readable instructions stored therein; and at least one processor configured to access the memory and execute the processor-readable instructions to perform operations including…
Merely performing the above step on a computer in its ordinary capacity for tasks or merely adding a general-purpose computer or computer components, i.e. a memory and processor, after the fact to an abstract idea does not integrate a judicial exception into a practical application or provide significantly more. See MPEP 2106.05(f)(2).
Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(d) and 2106.05(f)(2). The claim does not contain significantly more than the judicial exception.
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, 3, and 6-10 are rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by Maheshwari (U.S. PGPub No. 20170154275).
Regarding Claim 1, Maheshwari teaches,
A computer-implemented method for processing live streaming data, the method comprising: assigning one or more data to one or more windows based on one or more group level characteristics of the one or more data (a current window (404) of time-series data (406) is generated [0057] where time series data (406) is a downstream component of data from monitored systems [0056]; where monitored data is aggregated by application and/or data server ("group level characteristics") [0033]);
assigning the one or more data to one or more sub-windows based on one or more time stamps, the one or more sub-windows inside the windows (the data within current-window (404) is separated into intervals (408) ("sub-windows") within the current-window (404) ("inside") [005] where the intervals may be, exemplary, in intervals of 5-minutes [0058] the examiner notes that therefore, the sub-windows are based on time-stamps);
creating a data count for each of the sub-windows, wherein the data count is a scalar value (time-series data within the intervals (408) may be aggregated into a count [0058]; where the examiner notes that no indication is given that "a count" excludes a singular-dimensional (scalar) value);
creating a first time series from the data count of each of the sub-windows, wherein the first time series of the data is a real-time synchronous time series of data (the data split into intervals (408) is aggregated, creating time-series data (406) ("first time series") [0058]);
comparing the time series to a second time series of data, wherein the second time series of data is previous time series data (aggregated time-series data (406) is compared against baseline values (416) [0063]; where baseline values (416) ("second time series") comprises historic time-series data that has been aggregated [0060]);
identifying presence of one or more anomalies based on the comparison of first time series to the second time series, wherein the comparison is based on comparison of the scalar values (the comparison between time-series data (406) and baseline values (416) is used to identify statistically significant deviation, or anomalies (422) [0063]);
alerting a user to the presence of one or more anomalies based on a result of the comparison (the user may be alerted of the identified anomaly/ies (422) which was detected by comparison [0063&0065]); and
modifying the second time series based on the first time series (where, after an anomaly is determined in the first time-series, the baseline values (416) ("second time series") are transformed according to the highest increase in baseline values (416) which a statistically significant deviation in first data is still found (therefore, "based on the first time series" [0064]).
Regarding Claim 3, Maheshwari teaches,
The method of claim 1, wherein the sub-windows are fixed size, non-overlapping, contiguous time interval windows (where 5-minute intervals ("sub-windows") within a two-hour window produce 24 sets of aggregated time-series data (406) ("first time-series data") [0058]; the examiner notes that 120/5=24, therefore, the sub-windows are of fixed size (5 minutes), non-overlapping, and contiguous).
Regarding Claim 6, Maheshwari teaches,
The method of claim 1, wherein the one or more windows is seven days (the time interval (408) ("sub-window") may be within a larger window ("window") of "previous days, weeks" [0052]; the examiner notes that seven days is one week).
Regarding Claim 7, Maheshwari teaches,
The method of claim 1, wherein the one or more windows is twenty-four hours (the time interval (408) ("sub-window") may be within a larger window ("window") of "previous days" [0052]; the examiner notes that twenty-four hours is a day).
Regarding Claim 8, Maheshwari teaches,
The method of claim 1, wherein a time interval of the one or more sub-windows is five minutes or less (the time interval (408) may be, exemplary, five-minutes [0058]).
Regarding Claim 9, Maheshwari teaches,
The method of claim 1, wherein the second time series is a mathematical average of previously collected time series data (the time-series baseline values (416) may be aggregated using an average [0060]).
Regarding Claim 10, Maheshwari teaches,
The method of claim 1, wherein the comparing comprises comparing the first time series with the second time series at every sub-window interval (the comparison between intervals and baseline values may be continuously performed [0122]).
Claims 12-15 and 17-18 are rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by Law (U.S. PGPub No. 20200258157).
A computer-implemented method for processing live streaming data, the method comprising: storing one or more distance profiles of one or more subsequences for a first time series of data, into a matrix profile that is a vector (a matrix profile may be generated from two distance profiles (left and right matrix profiles) for each subsequence [0078]; the matrix profile is a vector [0095]);
storing one or more minimum distances between each of the one or more subsequences into the matrix profile (the matrix profile stores the minimum-distance subsequences from the reference subsequence [0078]; where the distances themselves are stored in the matrix profile as demonstrated by Figs. 4D-4M, at least);
identifying one or more repeated patterns in the first time series of data using a value of the matrix profile at one or more times (the matrix profile is analyzed to identify "high arc counts" which are indicative of repeated patterns [0216]; where Fig. 28 (referenced in [0216]) is shown to have time at the x-axis, therefore "a value of the matrix profile at one or more times");
identifying one or more top discords in the first time series of data using a value of the matrix profile at the one or more times (the matrix profile is analyzed to identify highest local maxima which are considered discords [0184]; note that [0184] references Fig. 18, where the x-axis is time, therefore "at the one or more times");
stopping one or more false alerts from being sent based on a determination that the first time series of data is made up of the one or more repeated patterns (where the technique of using a matrix profile prevents false negatives (failing to identify repeated patterns) [0065]; the examiner notes, that therefore, correctly identifying repeated patterns is what prevents false negative reporting; additionally see the user setting pattern identification thresholds "at a level where the user believes the number of false positives are minimal" [0137]); and
outputting one or more alerts based on identification of top discords (detection of discords are highlighted on the user-interface display of the data ("alert") [0178 & FIG. 16]; also see section "User Interfaces" beginning [0097] showing that the data is displayed to the user).
Regarding Claim 13, Law teaches,
The method of claim 12, wherein the matrix profile allows a comparison of one or more time period’s data value to previously collected time period’s data value to identify if the one or more time period is having a unique flow of data compared to the previously collected time period data (where the matrix profile values are considered for motifs (patterns) and discords, a reference subsequence to other subsequences in order to identify motifs ("comparison of data values") and identification of discords is indicative of "uniqueness" ("unique flow of data") [0183-0184]).
Regarding Claim 14, Law teaches,
The method of claim 12, wherein the one or more repeated patterns comprise spikes or drops (see Fig. 26 demonstrating extracted motifs (patterns) [0204]; the examiner notes that the pattern shown in Fig. 26 is comprised of spikes and drops).
Regarding Claim 15, Law teaches,
The method of claim 12, wherein a matrix profile with a lower value corresponds with identification of one or more repeated patterns (lowest local maxima in the matrix profile values indicate motifs (patterns) [0183]).
Regarding Claim 17, Law teaches,
The method of claim 12, wherein a higher value matrix profile corresponds with identification of one or more top discords (highest local maxima in the matrix profile values indicate discords [0184]).
Regarding Claim 18, Law teaches,
The method of claim 12, wherein a higher value matrix profile indicates to a user, a higher likelihood that an area that appears anomalous is actually anomalous compared to areas that are not anomalous (a highest local maxima in the matrix profile value indicates discords (anomalies [0165]) [0184]; the examiner notes that "highest local maxima" indicating discords/anomalous data therefore indicates a higher likelihood of anomalous compared to areas not indicated as "highest local maxima"); and
a lower likelihood that an identified area is the type of data expected to be seen or seen before compared to previously time series of data (a highest local maxima in the matrix profile value indicates uniqueness of the subsequence [0184]; the examiner notes that the definition of uniqueness is being the only one of its kind, unlike anything else, therefore an area identified as unique means there is a lower likelihood said area is like previous data).
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 11 and 20 are rejected under 35 U.S.C. 103 as being taught by Maheshwari (U.S. PGPub No. 20170154275) in view of Law (U.S. PGPub No. 20200258157).
Regarding Claim 1, Maheshwari teaches comparing a first and second time series [0063], but does not appear to disclose and Law teaches,
The method of claim 1, wherein the comparing comprising comparing the first time series with the second time series at a user specified time interval (where a user may instruct a control system [0060]; the control selects a first subsequence length corresponding to a request [0152]).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the time-series anomaly detection method of Maheshwari to include allowing a user to manually select a sub-window length. The resulting combination allows for a user to control granularity of the anomaly detection and prepare for known seasonality trends in the data to prevent false positives.
Regarding Claim 20, Maheshwari teaches,
A system for determining group-level anomalies for information technology events, the system comprising: a memory having processor-readable instructions stored therein; and at least one processor configured to access the memory a computer system (1400) comprising a processor (1402) and a memory (1404) and execute the processor-readable instructions to perform operations including :
assigning one or more data to one or more windows based on one or more group level characteristics of the one or more data (a current window (404) of time-series data (406) is generated [0057] where time series data (406) is a downstream component of data from monitored systems [0056]; where monitored data is aggregated by application and/or data server ("group level characteristics") [0033]);
assigning the one or more data to one or more sub-windows based on one or more time stamps, the one or more sub-windows inside the windows (the data within current-window (404) is separated into intervals (408) ("sub-windows") within the current-window (404) ("inside") [005] where the intervals may be, exemplary, in intervals of 5-minutes [0058] the examiner notes that therefore, the sub-windows are based on time-stamps);
creating a data count for each of the sub-windows, wherein the data count is a scalar value (time-series data within the intervals (408) may be aggregated into a count [0058]; where the examiner notes that no indication is given that "a count" excludes a singular-dimensional (scalar) value);
creating a first time series from the data count of each of the sub-windows, wherein the first time series of the data is a real-time synchronous time series of data (the data split into intervals (408) is aggregated, creating time-series data (406) ("first time series") [0058]);
comparing the time series to a second time series of data, wherein the second time series of data is previous time series data (aggregated time-series data (406) is compared against baseline values (416) [0063]; where baseline values (416) ("second time series") comprises historic time-series data that has been aggregated [0060]);
identifying presence of one or more anomalies based on the comparison of first time series to the second time series, wherein the comparison is based on comparison of the scalar values (the comparison between time-series data (406) and baseline values (416) is used to identify statistically significant deviation, or anomalies (422) [0063]);
alerting a user to the presence of one or more anomalies based on a result of the comparison (the user may be alerted of the identified anomaly/ies (422) which was detected by comparison [0063&0065]);
modifying the second time series based on the first time series (where, after an anomaly is determined in the first time-series, the baseline values (416) ("second time series") are transformed according to the highest increase in baseline values (416) which a statistically significant deviation in first data is still found (therefore, "based on the first time series" [0064]);
Maheshwari does not appear to disclose and Law teaches,
storing one or more distance profiles of one or more subsequences for the first time series of data, into a matrix profile that is a vector (a matrix profile may be generated from two distance profiles (left and right matrix profiles) for each subsequence [0078]; the matrix profile is a vector [0095]);
storing one or more minimum distances between each of the one or more subsequences into the matrix profile (the matrix profile stores the minimum-distance subsequences from the reference subsequence [0078]; where the distances themselves are stored in the matrix profile as demonstrated by Figs. 4D-4M, at least);
identifying one or more repeated patterns in the first time series of data using a value of the matrix profile at one or more times (the matrix profile is analyzed to identify "high arc counts" which are indicative of repeated patterns [0216]; where Fig. 28 (referenced in [0216]) is shown to have time at the x-axis, therefore "a value of the matrix profile at one or more times");
identifying one or more top discords in the first time series of data using a value of the matrix profile at the one or more times (the matrix profile is analyzed to identify highest local maxima which are considered discords [0184]; note that [0184] references Fig. 18, where the x-axis is time, therefore "at the one or more times");
stopping one or more false alerts from being sent based on a determination that the first time series of data is made up of the one or more repeated patterns (where the technique of using a matrix profile prevents false negatives (failing to identify repeated patterns) [0065]; the examiner notes, that therefore, correctly identifying repeated patterns is what prevents false negative reporting; additionally see the user setting pattern identification thresholds "at a level where the user believes the number of false positives are minimal" [0137]);
and outputting one or more alerts based on identification of top discords (detection of discords are highlighted on the user-interface display of the data ("alert") [0178 & FIG. 16]; also see section "User Interfaces" beginning [0097] showing that the data is displayed to the user).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the time-series anomaly detection method comparing two distinct time series (AB-joins, as described in Law) as taught by Maheshwari to incorporate the time-series anomaly detection of Law utilizing matrix profiles. The resulting combination to reduce computational time and power, prevent missed patterns and discords (“opportunities”) in stock trading data, and prevent influence of intuition over manual techniques [Law; 0003-0004].
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Beaver et al. (U.S. PGPub No. 20200210393) discloses techniques for detecting anomalies in time-series data including methods to prevent alarm fatigue [0010]; algorithms for detecting discords [0111]; and a plurality of window dimensions, by example, [0164].
Farahat et al. (U.S. PGPub No. US 20200057689 A1) discloses a first and second period of time for providing failure recommendations based on time-series data, where feature data is transformed into a vector for each window and combined [0070].
C. -C. M. Yeh et al., "Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View That Includes Motifs, Discords and Shapelets," 2016, discloses performing all-pair similarity search for discords and motifs in data utilizing matrix profiles.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AUDREY E WHITESELL whose telephone number is (703)756-4767. The examiner can normally be reached 8:30am - 5:00pm MST.
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, Bryce Bonzo can be reached at 5712723655. 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.
/A.E.W./Examiner, Art Unit 2113 /BRYCE P BONZO/Supervisory Patent Examiner, Art Unit 2113