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 Claims
2. This Office Action is issued in response to the claims filed on 08/09/2024.
Claims 1-20 are pending in this Office Action.
Priority
3. Acknowledgement is made of applicant’s Continuation claim of 18/243,802 filed on 09/08/2023 now US Patent 12063240, which is a CON of 18/088,127 filed on 12/23/2022 now US patent 11757913, which is a CON of 17/684,488 filed on 03/02/2022 now US patent 11606381, which is a CON of 16/445,157 filed on 06/18/2019 now US patent 11271956, which is a CON of 15/475,743 filed on 03/31/2017 now US Patent 10356115.
Information Disclosure Statement
4. The information disclosure statement (IDS) filed on 08/18/2024 has been considered by the Examiner.
Double Patenting
5. The non-statutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
6. Claims 1-2, 4-11, and 13-20 of the instant application are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1-2, 5-8, 10-11, 13-17, and 19-10 of US 10356115, claims 1, 3, 7, 9, and 19-10 of US 11271956, claims 1, 4, 8, 11, and 19-10 of US 11606381, claims 1-4, 6-13, and 15-18 of US 11757913, and claims 1-18 of US 12063240 (see table below). Although the claims at issue are not identical, they are not patentably distinct from each other as compared below. The emphasized parts show similarities of the instant application claims and the patent claims.
Instant Application 18/799,571
US Patents 10356115, 11271956, 11606381, 11757913, and 12063240
1. A computer implemented method for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving, by a server, flow data for one or more flows that correspond to the device-circuit pair;
calculating, by the server, a time difference for each flow of the one or more flows that correspond to the device-circuit pair;
based on the calculated time differences and the received flow data, updating, by the server, a probability distribution model associated with the device-circuit pair; and
determining, by the server, whether a time bucket, of the time series, is complete or open based on the updated probability distribution model.
1. (US 10356115) A computer implemented method for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving, by a server, flow data for one or more flows that correspond to the device-circuit pair;
calculating, by the server, a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating, by the server, a probability distribution model associated with the device-circuit pair;
determining, by the server, whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
detecting a network anomaly based on flow data corresponding to the time bucket, in response to determining that the time bucket is complete.
1. (US 11271956) A computer implemented method for processing a network flow with a device-circuit pair, comprising:
obtaining, by a server, a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences;
determining, by the server, a duration of a time bucket according to the probability distribution model associated with the device-circuit pair including determining, by the server, a time delay value according to the probability distribution model and extending, by the server, an end time of the time bucket according to the time delay value;
determining, by the server, whether to ignore the network flow according to the duration of the time bucket; and
detecting, by the server, a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow, wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by the server.
1. (US 11606381) A computer implemented method for processing a network flow with a device-circuit pair, comprising:
obtaining, by a server, a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences;
determining, by the server, a duration of a time bucket according to the probability distribution model associated with the device-circuit pair;
determining, by the server, whether to ignore the network flow according to the duration of the time bucket; and
detecting, by the server, a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow,
wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by the server.
1. (US 11757913) A computer implemented method for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving, by a server, flow data for one or more flows that correspond to the device-circuit pair;
calculating, by the server, a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair;
determining, by the server, whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, sending flow data that corresponds to the time bucket to a detection module to detect possible network anomalies.
1. (US 12063240)A computer implemented method for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving, by a server, flow data for one or more flows that correspond to the device-circuit pair;
calculating, by the server, a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair;
determining, by the server, whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, determining, by the server, based on the received flow data corresponding to the time bucket of the time series, that a denial of service attack is occurring based on a number of network flows being too high for a specific time period.
2. The method of claim 1, further comprising:
in response to determining that the time bucket is determined to be complete, ignoring, by the server, further flow data that corresponds to the time bucket; and
in response to determining that the time bucket is determined to be open, incorporating, by the server, further flow data that corresponds to the time bucket.
2. (US 10356115) The method of claim 1, further comprising:
in response to determining that the time bucket is complete, ignoring, by the server, additional flow data that corresponds to the time bucket; and
in response to determining that the time bucket is open, incorporating, by the server, additional flow data that corresponds to the time bucket.
3. (US 11271956) The method of claim 1, wherein determining whether to ignore the network flow according to the duration of the time bucket includes: determining, by the server, to ignore the network flow, in response to the network flow received by the server after the time bucket.
4. (US 11606381) The method of claim 1, wherein determining whether to ignore the network flow according to the duration of the time bucket includes: determining, by the server, to ignore the network flow, in response to the network flow received by the server after the duration of the time bucket.
2. (US 11757913) The method of claim 1, further comprising: when the time bucket is determined to be complete, ignoring further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporating further flow data that corresponds to the time bucket.
2. (US 12063240) The method of claim 1, further comprising: when the time bucket is determined to be complete, ignoring further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporating further flow data that corresponds to the time bucket.
4. The method of claim 1, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
3. (US 11757913) The method of claim 1, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
3. (US 12063240) The method of claim 1, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
5. The method of claim 4, wherein the updating the probability distribution model comprises:
incorporating, by the server, the received flow data and the calculated time differences into the probability distribution model;
calculating, by the server, a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating, by the server, a standard deviation value based the time differences and the flow data included in the probability distribution model.
4. (US 10356115) The computer implemented method of claim 3, wherein the updating the probability distribution model comprises:
incorporating, by the server, the received flow data and the calculated time differences into the probability distribution model;
calculating, by the server, a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating, by the server, a standard deviation value based on the time differences and the flow data included in the probability distribution model.
4. (US 11757913) The method of claim 3, wherein the updating the probability distribution model comprises:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based the time differences and the flow data included in the probability distribution model.
4. (US 12063240) The method of claim 3, wherein the updating the probability distribution model comprises:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based the time differences and the flow data included in the probability distribution model.
6. The method of claim 5, wherein the determining whether the time bucket is complete or open comprises:
calculating, by the server, a time delay value based on the standard deviation value; and
determining, by the server, whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
5. (US 10356115) The computer implemented method of claim 4, wherein the determining whether the time bucket is complete or open comprises:
calculating, by the server, a time delay value based on the standard deviation value; and
determining, by the server, whether the time bucket is complete or open based on the time delay value and the file stamp time.
5. (US 11757913) The method of claim 4, wherein the determining whether the time bucket is complete or open comprises:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
5. (US 12063240) The method of claim 4, wherein the determining whether the time bucket is complete or open comprises:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
7. The method of claim 6, wherein the calculating the time delay value comprises calculating, by the server, the time delay value based on the standard deviation value and the mean value.
6. (US 10356115) The computer implemented method of claim 5, wherein the calculating the time delay value comprises calculating the time delay value based on the standard deviation value and the mean value.
6. (US 11757913) The method of claim 5, wherein the calculating the time delay value comprises calculating the time delay value based on the standard deviation value and the mean value.
6. (US 12063240) The method of claim 5, wherein the calculating the time delay value comprises calculating the time delay value based on the standard deviation value and the mean value.
8. The method of claim 6, wherein the determining whether the time bucket is complete or open comprises:
creating, by the server, an expiry time based on an end time of the time bucket and the calculated time delay value;
determining, by the server, that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining, by the server, that the time bucket is open if the file stamp time is not beyond the created expiry time.
7. (US 10356115) The computer implemented method of claim 5, wherein the determining whether the time bucket is complete or open comprises:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
7. (US 11757913) The method of claim 5, wherein the determining whether the time bucket is complete or open comprises:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
7. (US 12063240) The method of claim 5, wherein the determining whether the time bucket is complete or open comprises:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
9. The method of claim 4, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
8. (US 11757913) The method of claim 3, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
8. (US 12063240) The method of claim 3, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
10. A system for processing network flow data over a time series associated with a device-circuit pair, comprising:
a memory; and at least one processor coupled to the memory and configured to:
receive flow data for one or more flows that correspond to the device-circuit pair;
calculate a time difference for each flow of the one or more flows that correspond to the device-circuit pair;
based on the calculated time differences and the received flow data, update a probability distribution model associated with the device-circuit pair; and
determine whether a time bucket, of the time series, is complete or open based on the updated probability distribution model.
8. (US 10356115) A system for processing network flow data over a time series associated with a device-circuit pair, comprising:
a memory; and at least one processor coupled to the memory and configured to:
receive flow data for one or more flows that correspond to the device-circuit pair;
calculate a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, update a probability distribution model associated with the device-circuit pair;
determine whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
detect a network anomaly based on flow data corresponding to the time bucket, in response to determining that the time bucket is complete.
7. (US 11271956) A system for processing a network flow with a device-circuit pair, comprising:
one or more processors; and a non-transitory computer readable storing instructions when executed by the one or more processors cause the one or more processors to:
obtain a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences,
determine a duration of a time bucket according to the probability distribution model associated with the device-circuit pair including determining a time delay value according to the probability distribution model and extending an end time of the time bucket according to the time delay value,
determine whether to ignore the network flow according to the duration of the time bucket, and
detect a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow, wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by the server.
8. (US 11606381) A system for processing a network flow with a device-circuit pair, comprising: one or more processors; and a non-transitory computer readable medium storing instructions when executed by the one or more processors cause the one or more processors to:
obtain a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences,
determine a duration of a time bucket according to the probability distribution model associated with the device-circuit pair,
determine whether to ignore the network flow according to the duration of the time bucket, and
detect a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow, wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by a server.
9. (US 11757913) A system for processing network flow data over a time series associated with a device-circuit pair, comprising:
a memory; and at least one processor coupled to the memory and configured to:
receive flow data for one or more flows that correspond to the device-circuit pair;
calculate a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, update a probability distribution model associated with the device-circuit pair;
determine whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, send flow data that corresponds to the time bucket to a detection module to detect possible network anomalies.
9. (US 12063240) A system for processing network flow data over a time series associated with a device-circuit pair, comprising:
a memory; and at least one processor coupled to the memory and configured to:
receive flow data for one or more flows that correspond to the device-circuit pair;
calculate a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, update a probability distribution model associated with the device-circuit pair;
determine whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, determine, based on the received flow data corresponding to the time bucket of the time series, that a denial of service attack is occurring based on a number of network flows being too high for a specific time period.
11. The system of claim 10, wherein the at least one processor is further configured to:
in response to determining that the time bucket is determined to be complete, ignore further flow data that corresponds to the time bucket; and
in response to determining that the time bucket is determined to be open, incorporate further flow data that corresponds to the time bucket.
9. (US 10356115) The system of claim 8, wherein the at least one processor is further configured to:
in response to determining that the time bucket is complete, ignore additional flow data that corresponds to the time bucket; and
in response to determining that the time bucket is open, incorporate additional flow data that corresponds to the time bucket.
9. (US 11271956) The system of claim 7, wherein the instructions that cause the one or more processors to determine whether to ignore the network flow according to the duration of the time bucket include instructions when executed by the one or more processors cause the one or more processors to: determine to ignore the network flow, in response to the network flow received by the system after the time bucket.
11. (US 11606381) The system of claim 8, wherein the instructions that cause the one or more processors to determine whether to ignore the network flow according to the duration of the time bucket include instructions when executed by the one or more processors cause the one or more processors to: determine to ignore the network flow, in response to the network flow received by the system after the duration of the time bucket.
10. (US 11757913) The system of claim 9, wherein the at least one processor is further configured to: when the time bucket is determined to be complete, ignore further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporate further flow data that corresponds to the time bucket.
10. (US 12063240) The system of claim 9, wherein the at least one processor is further configured to: when the time bucket is determined to be complete, ignore further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporate further flow data that corresponds to the time bucket.
13. The system of claim 10, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
10. (US 10356115) The system of claim 8, wherein the probability distribution model comprises the received flow data that corresponds to the device-circuit pair and the time differences for the one or more flows that correspond to the device-circuit pair.
11. (US 11757913) The system of claim 9, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
11. (US 12063240) The system of claim 9, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair.
14. The system of claim 13, wherein the at least one processor is further configured to update the probability distribution model by:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based the time differences and the flow data included in the probability distribution model.
11. (US 10356115) The system of claim 10, wherein the at least one processor is further configured to update the probability distribution model by:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based on the time differences and the flow data included in the probability distribution model.
12. (US 11757913) The system of claim 11, wherein the at least one processor is further configured to update the probability distribution model by:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based the time differences and the flow data included in the probability distribution model.
12. (US 12063240) The system of claim 11, wherein the at least one processor is further configured to update the probability distribution model by:
incorporating the received flow data and the calculated time differences into the probability distribution model;
calculating a mean value based on the time differences and the flow data included in the probability distribution model; and
calculating a standard deviation value based the time differences and the flow data included in the probability distribution model.
15. The system of claim 14, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
12. (US 10356115) The system of claim 11, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and the file stamp time.
13. (US 11757913) The system of claim 12, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
13. (US 12063240) The system of claim 12, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
calculating a time delay value based on the standard deviation value; and
determining whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data.
16. The system of claim 15, wherein the at least one processor is further configured to calculate the time delay value by calculating the time delay value based on the standard deviation value and the mean value.
13. (US 10356115) The system of claim 12, wherein the at least one processor is further configured to calculate the time delay value by calculating the time delay value based on the standard deviation value and the mean value.
14. (US 11757913) The system of claim 13, wherein the at least one processor is further configured to calculate the time delay value by calculating the time delay value based on the standard deviation value and the mean value.
14. (US 12063240) The system of claim 13, wherein the at least one processor is further configured to calculate the time delay value by calculating the time delay value based on the standard deviation value and the mean value.
17. The system of claim 15, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
14. (US 10356115) The system of claim 12, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
15. (US 11757913) The system of claim 13, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
15. (US 12063240) The system of claim 13, wherein the at least one processor is further configured to determine whether the time bucket is complete or open by:
creating an expiry time based on an end time of the time bucket and the calculated time delay value;
determining that the time bucket is complete if the file stamp time is beyond the created expiry time; and
determining that the time bucket is open if the file stamp time is not beyond the created expiry time.
18. The system of claim 13, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
16. (US 11757913) The system of claim 11, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
16. (US 12063240) The system of claim 11, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record.
19. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving flow data for one or more flows that correspond to the device-circuit pair;
calculating a time difference for each flow of the one or more flows that correspond to the device-circuit pair;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair; and
determining whether a time bucket, of the time series, is complete or open based on the updated probability distribution model.
15. (US 10356115) A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving flow data for one or more flows that correspond to the device-circuit pair;
calculating a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair;
determining whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
detecting a network anomaly based on flow data corresponding to the time bucket, in response to determining that the time bucket is complete.
13. (US 11271956) A non-transitory computer readable medium for processing a network flow with a device-circuit pair, the non-transitory computer readable medium storing instructions when executed by one or more processors cause the one or more processors to:
obtain a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences;
determine a duration of a time bucket according to the probability distribution model associated with the device-circuit pair including determining a time delay value according to the probability distribution model and extending an end time of the time bucket according to the time delay value;
determine whether to ignore the network flow according to the duration of the time bucket; and
detect a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow, wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by the server.
15. (US 11606381) A non-transitory computer readable medium for processing a network flow with a device-circuit pair, the non-transitory computer readable medium storing instructions when executed by one or more processors cause the one or more processors to:
obtain a probability distribution model associated with the device-circuit pair, the probability distribution model indicating, for different time differences of prior network flows through the device-circuit pair, corresponding numbers of occurrences;
determine a duration of a time bucket according to the probability distribution model associated with the device-circuit pair;
determine whether to ignore the network flow according to the duration of the time bucket; and
detect a network anomaly associated with the device-circuit pair according to the determination of whether to ignore the network flow, wherein each of the time differences is a difference between i) a start time or an end time of a corresponding prior network flow at one of the device-circuit pair and ii) a file stamp time of the corresponding prior network flow received by a server.
17. (US 11757913) A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving flow data for one or more flows that correspond to the device-circuit pair;
calculating a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair;
determining whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, sending flow data that corresponds to the time bucket to a detection module to detect possible network anomalies.
17. (US 12063240) A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving flow data for one or more flows that correspond to the device-circuit pair;
calculating a time difference for each flow of the one or more flows that correspond to the device-circuit pair, wherein calculating the time difference for each flow is based on a start time and an end time of each flow at one of the device-circuit pair and a file stamp time of a network flow record indicating each flow received by the server;
based on the calculated time differences and the received flow data, updating a probability distribution model associated with the device-circuit pair;
determining whether a time bucket, of the time series, is complete or open based on the updated probability distribution model; and
when the time bucket is determined to be complete, determining, based on the received flow data corresponding to the time bucket of the time series, that a denial of service attack is occurring based on a number of network flows being too high for a specific time period.
20. The non-transitory computer-readable medium of claim 19, further comprising:
in response to determining that the time bucket is determined to be complete, ignoring further flow data that corresponds to the time bucket; and
in response to determining that the time bucket is determined to be open, incorporating further flow data that corresponds to the time bucket.
16. (US 10356115) The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
in response to determining that the time bucket is complete, ignoring additional flow data that corresponds to the time bucket; and
in response to determining that the time bucket is open, incorporating additional flow data that corresponds to the time bucket.
15. (US 11271956) The non-transitory computer readable medium of claim 13, wherein the instructions that cause the one or more processors to determine whether to ignore the network flow according to the duration of the time bucket include instructions when executed by the one or more processors cause the one or more processors to: determine to ignore the network flow, in response to the network flow received by a server after the time bucket.
18. (US 11606381) The non-transitory computer readable medium of claim 15, wherein the instructions that cause the one or more processors to determine whether to ignore the network flow according to the duration of the time bucket include instructions when executed by the one or more processors cause the one or more processors to: determine to ignore the network flow, in response to the network flow received by the server after the duration of the time bucket.
18. (US 11757913) The non-transitory computer-readable medium of claim 17, further comprising: when the time bucket is determined to be complete, ignoring further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporating further flow data that corresponds to the time bucket.
18. (US 12063240) The non-transitory computer-readable medium of claim 17, further comprising: when the time bucket is determined to be complete, ignoring further flow data that corresponds to the time bucket; and when the time bucket is determined to be open, incorporating further flow data that corresponds to the time bucket.
Claim Rejections - 35 USC § 101
7. 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.
8. Claims 1-2, 4-11, and 13-20 are rejected under 35 U.S.C. 101.
a. Claim 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract ideas without significantly more.
Step 2A, Prong 1: The claim recites “receiving… flow data for one or more flows that correspond to the device-circuit pair; calculating… a time difference for each flow of the one or more flows that correspond to the device-circuit pair; …updating…a probability distribution model associated with the device-circuit pair; and determining… whether a time bucket, of the time series, is complete or open based on the updated probability distribution model.” These limitations, as drafted, under their broadest reasonable interpretations cover performance of the limitations in the mind or on paper. For example, the limitation “calculating a time difference for each flow of the one or more flows that correspond to the device-circuit pair” under its broadest reasonable interpretation, covers performance of the limitation in the mind or on paper. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind or on paper, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong 2: This judicial exception is not integrated into a practical application because the claims do not recite any application of the limitations besides abstract ideas. Therefore, the claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because besides the abstract ideas, additional element ‘server’ is recited at a high level of generality with no more than mere instructions to apply the exception using generic computer components. Therefore, the claim is not patent eligible.
Claims 2 and 4-9 depend on claim 1 and they do not limit independent claim 1 or themselves to a practical application or amount to significantly more than the judicial exception; therefore, claims 2 and 4-9 are also not patent eligible.
Similar analyses are applied to claim 10-11 and 13-20; therefore, claims10-11 and 13-20 are also not patent eligible.
Claim Rejections - 35 U.S.C. § 103
9. 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 of this title, 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.
10. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kakadia et al. (US 2015/0023170), hereinafter “Kakadia”, in view of Veteikis et al. (US 2013/0347103), hereinafter “Veteikis”.
Regarding claim 1, Kakadia discloses a computer implemented method for processing network flow data over a time series associated with a device-circuit pair, comprising:
receiving, by a server (Fig.1 with associated text, Network Analytics Device), flow data for one or more flows that correspond to the device-circuit pair (Fig. 4 and paragraph [0032]: “process 400 may include receiving packet information associated with a traffic flow (block 410). For example, network analytics device 250 may receive packet information, associated with a traffic flow of network 240, from network tap 210”);
calculating, by the server, a time difference for each flow of the one or more flows that correspond to the device-circuit pair (paragraphs [0040, 58, and 61]: latency-time difference- is calculated by comparing the timestamp associated with the packet information at the opening network tap and at the closing network tap);
based on the calculated time differences and the received flow data, [updating, by the server, a probability distribution model associated with the device-circuit pair] ; and determining, by the server, whether a time bucket, of the time series, is complete or open based on [the updated probability distribution model] (paragraph [0035]: “A time bucket, as used herein, may refer to a period of time during which packet information may be collected, stored, and/or grouped.” Paragraph [0036]: “network analytics device 250 may determine a period of time associated with collecting packet information in a particular time bucket, and may determine that the period of time has expired. The length of the period of time may be determined based on a network condition, such as network latency, packet delay, packet loss rate, or the like, in some implementations.” Latency-time difference- affects the length of the time bucket. Fig. 6B and associated text: multiple buckets belong to a time series.).
Kakadia does not explicitly disclose the time difference is used to update a probability distribution model. However, using time difference to update a probability distribution model is known in the art and Veteikis’ teaching is an example (paragraphs [0636-0642]: measurement of latency is represented using statistical method and latency boundaries of ranges are modified for one or more subsequent intervals, based at least in part on the average and standard deviation measured in the previous interval.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Kakadia’s teaching of using time difference of flow data to determine whether a time bucket is complete or open with Veteikis’ teaching of using time difference to update a probability distribution model. The motivation to do so would be to obtain a more general data for a time interval.
Regarding claim 2, Kakadia and Veteikis disclose the method of claim 1, further comprising: in response to determining that the time bucket is determined to be complete, ignoring, by the server, further flow data that corresponds to the time bucket; and in response to determining that the time bucket is determined to be open, incorporating, by the server, further flow data that corresponds to the time bucket (Kakadia, Fig. 4, blocks 430 and 440 and associated text, paragraphs [0035-37]: aggregating data when the period of time during which packet information is collected has expired.).
Regarding claim 3, Kakadia and Veteikis disclose the method of claim 2, further comprising: in response to determining that the time bucket is determined to be complete, sending, by the server, flow data that corresponds to the time bucket to a detection module to detect possible network anomalies (Kakadia, Fig. 4, blocks 430 -460 and associated text: when the period of time during which packet information is collected has expired, collected data is aggregated. Veteikis, paragraph [0006]: tracking anomalies in packet. The combination of Kakadia and Veteikis’s teachings make it obvious to anomalies detect anomalies from collected data.).
Regarding claim 4, Kakadia and Veteikis disclose the method of claim 1, wherein the probability distribution model comprises flow data that corresponds to the device-circuit pair and time differences for flows that correspond to the device-circuit pair (Kakadia, paragraphs [0040, 58, and 61]: latency-time difference- is calculated by comparing the timestamp associated with the packet information at the opening network tap and at the closing network tap. Paragraph [0035]: “The time bucket may be used to group packet information collected over a period of time, and may allow packets that have experienced a higher latency to be collected.” Therefore, latencies-time differences- of plurality packets are collected during the time period. Veteikis, paragraphs [0636-0642]: measurement of latency is represented using statistical method.).
Regarding claim 5, Kakadia and Veteikis disclose the method of claim 4, wherein the updating the probability distribution model comprises: incorporating, by the server, the received flow data and the calculated time differences into the probability distribution model (this is obvious from claims 1 and 4 above); calculating, by the server, a mean value based on the time differences and the flow data included in the probability distribution model; and calculating, by the server, a standard deviation value based the time differences and the flow data included in the probability distribution model (Veteikis, paragraph [0636]: latency is expressed in average measured value-average value is a form of mean value); and calculating a standard deviation value based the time differences and the flow data included in the probability distribution model (Veteikis, paragraphs [0638] and [0642-643]: standard deviation from latency).
Regarding claim 6, Kakadia and Veteikis disclose the method of claim 5, wherein the determining whether the time bucket is complete or open comprises: calculating, by the server, a time delay value based on the standard deviation value; and determining, by the server, whether the time bucket is complete or open based on the time delay value and a file stamp time value of a network flow record containing the received flow data (Kakadia, paragraph [0036]: “network analytics device 250 may determine a period of time associated with collecting packet information in a particular time bucket, and may determine that the period of time has expired. The length of the period of time may be determined based on a network condition, such as network latency, packet delay, packet loss rate, or the like, in some implementations.” Veteikis, paragraphs [0638] and [0642-643]: standard deviation from latency. The combination of Kakadia and Veteikis’ teachings make it obvious that time delay value is based on the standard deviation value and time bucket is complete or open based the time delay value and a file stamp time value of a network flow record containing the received flow data.).
Regarding claim 7, Kakadia and Veteikis disclose the method of claim 6, wherein the calculating the time delay value comprises calculating, by the server, the time delay value based on the standard deviation value and the mean value (this is obvious from Kakadia and Veteikis’ teachings in claims 5 and 6 above).
Regarding claim 8, Kakadia and Veteikis disclose the method of claim 6, wherein the determining whether the time bucket is complete or open comprises: creating, by the server, an expiry time based on an end time of the time bucket and the calculated time delay value; determining, by the server, that the time bucket is complete if the file stamp time is beyond the created expiry time; and determining, by the server, that the time bucket is open if the file stamp time is not beyond the created expiry time (Kakadia, paragraph [0036]: “network analytics device 250 may determine a period of time associated with collecting packet information in a particular time bucket, and may determine that the period of time has expired. The length of the period of time may be determined based on a network condition, such as network latency, packet delay, packet loss rate, or the like, in some implementations.” Fig. 4, blocks 430 -460 and associated text: when the period of time during which packet information is collected has expired, collected data is aggregated.).
Regarding claim 9, Kakadia and Veteikis disclose the method of claim 4, wherein each of the time differences in the probability distribution model is a time difference between a start time of each flow in the probability distribution model and a file stamp time of a corresponding network flow record (Kakadia, paragraphs [0032-33]: packet which include timestamp is captured at opening network tap and closing network tap. Paragraphs [0040, 58, and 61]: latency-time difference- is calculated by comparing the timestamp associated with the packet information at the opening network tap and at the closing network tap.)
Claims 10-18 disclose similar subject matter as claims 1-9 respectively. Therefore, claims 10-18 are rejected as least for the same reasons as claims 1-9 respectively.
Claims 19-20 disclose similar subject matter as claims 1-2 respectively. Therefore, claims 19-20 are rejected as least for the same reasons as claims 1-2 respectively.
Prior Art of Record
11. The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure: see attached PTO-892 Notice of References Cited.
Conclusion
12. Any inquiry concerning this communication or earlier communications from the examiner should be directed to THANH T. LE whose telephone number is (571)270-0279. The examiner can normally be reached on Monday-Friday 8:00 am - 4:30 pm EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Farid Homayounmehr can be reached on 571-272-3739. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/THANH T LE/Primary Examiner, Art Unit 2495