IP Library Granted Patent US 12,353,387
Granted Patent B1
US 12,353,387 · App. 18/883,772 · Granted Jul 8, 2025

Multi-cohort replay storage and retrospective anomaly detection analysis

Inventors: Harshavardhan Kamarthi (Atlanta, GA); Harshil Shah (San Francisco, CA); Yan Li (Foster City, CA); Bodicherla Aditya Prakash (Marietta, GA); Vyas Sekar (Foster City, CA)
Assignee: Conviva Inc.
G06F16/2246G06F16/244G06F16/24568H04L41/0631
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,353,387
App. No.
18/883,772
Granted
Jul 8, 2025
Kind
B1
Abstract

Facilitating analytics such as retrospective analysis includes ingesting session data. It further includes summarizing the session data and generating leaf-level summarizations of leaf groups present in the session data. It further includes storing the leaf-level summarizations. It further includes deriving parent-level summarizations for a parent group from leaf-level summarizations of leaf groups that are children of the parent group.

Claims (44)

1. A system, comprising:

one or more processors configured to:

temporarily store, in a session-level epoch store, ingested telemetry data pertaining to a plurality of individual sessions for a time-step, wherein each session is annotated with a combination of attribute values;

generate a leaf-level epoch store for the time-step, wherein generating the leaf-level epoch store for the time-step comprises generating leaf-level summarizations for leaf groups present for the time-step in the session-level epoch store, and wherein generating a leaf-level summarization for a leaf group comprises:

grouping together sessions in the session-level epoch store that share a same combination of attribute values into the leaf group; and

aggregating a portion of the telemetry data pertaining to the sessions grouped together into the leaf group that share the same combination of attribute values;

flush the session-level epoch store of the telemetry data pertaining to the plurality of individual sessions for the time-step, wherein ingested session-level telemetry data pertaining to a next time-step is subsequently stored in the session-level epoch store; and

retain the leaf-level epoch store generated for the time-step; and

a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

2. The system recited in claim 1 , wherein the leaf-level epoch store resides in-memory on a single compute node.

3. The system recited in claim 1 , wherein a parent-level summarization of telemetry data for a parent group of sessions is derivable from leaf-level summarizations for leaf groups that are children of the parent group.

4. The system recited in claim 1 , wherein generating the leaf-level summarization comprises determining a decomposable statistic based at least in part on the portion of the telemetry data pertaining to the sessions grouped together into the leaf group.

5. The system recited in claim 1 , wherein the leaf-level epoch store is retained for subsequent accessing during a data retrieval stage to determine input to provide to a timeseries analysis task.

6. A method, comprising:

temporarily storing, in a session-level epoch store, ingested telemetry data pertaining to a plurality of individual sessions for a time-step, wherein each session is annotated with a combination of attribute values;

generating a leaf-level epoch store for the time-step, wherein generating the leaf-level epoch store for the time-step comprises generating leaf-level summarizations for leaf groups present for the time-step in the session-level epoch store, and wherein generating a leaf-level summarization for a leaf group comprises:

grouping together sessions in the session-level epoch store that share a same combination of attribute values into the leaf group; and

aggregating a portion of the telemetry data pertaining to the sessions grouped together into the leaf group that share the same combination of attribute values;

flushing the session-level epoch store of the telemetry data pertaining to the plurality of individual sessions for the time-step, wherein ingested session-level telemetry data pertaining to a next time-step is subsequently stored in the session-level epoch store; and

retaining the leaf-level epoch store generated for the time-step.

7. The method of claim 6 , wherein the leaf-level epoch store resides in-memory on a single compute node.

8. The method of claim 6 , wherein a parent-level summarization of telemetry data for a parent group of sessions is derivable from leaf-level summarizations for leaf groups that are children of the parent group.

9. The method of claim 6 , wherein generating the leaf-level summarization comprises determining a decomposable statistic based at least in part on the portion of the telemetry data pertaining to the sessions grouped together into the leaf group.

10. The method of claim 6 , wherein the leaf-level epoch store is retained for subsequent accessing during a data retrieval stage to determine input to provide to a timeseries analysis task.

11. A system, comprising:

one or more processors configured to:

access a retained leaf-level epoch store that was previously generated for a time-step, wherein the leaf-level epoch store comprises leaf-level summarizations generated for leaf groups present for the time-step, and wherein a leaf-level summarization for a leaf group was generated at least in part by:

grouping together sessions in a session-level epoch store that share a same combination of attribute values into the leaf group, wherein ingested telemetry data pertaining to a plurality of individual sessions for the time-step was temporarily stored in the session-level epoch store, and wherein each session was annotated with a combination of attribute values; and

aggregating a portion of the telemetry data pertaining to the sessions grouped together into the leaf group that share the same combination of attribute values, wherein the session-level epoch store was flushed of the telemetry data pertaining to the plurality of individual sessions for the time-step, and wherein ingested session-level telemetry data pertaining to a next time-step was subsequently stored in the session-level epoch store;

derive, from leaf-level summarizations for at least one leaf group, a parent-level summarization of telemetry data for sessions comprised in a parent group of the at least one leaf group and that are associated with the time-step; and

provide the parent-level summarization of telemetry data as input to a timeseries analysis task; and

a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

12. The system recited in claim 11 , wherein the leaf-level epoch store resides in-memory on a single compute node.

13. The system recited in claim 11 , wherein the deriving is performed using a CUBE operation.

14. The system recited in claim 11 , wherein the timeseries analysis task comprises retrospective analysis.

15. A method, comprising:

accessing a retained leaf-level epoch store that was previously generated for a time-step, wherein the leaf-level epoch store comprises leaf-level summarizations generated for leaf groups present for the time-step, and wherein a leaf-level summarization for a leaf group was generated at least in part by:

grouping together sessions in a session-level epoch store that share a same combination of attribute values into the leaf group, wherein ingested telemetry data pertaining to a plurality of individual sessions for the time-step was temporarily stored in the session-level epoch store, and wherein each session was annotated with a combination of attribute values; and

aggregating a portion of the telemetry data pertaining to the sessions grouped together into the leaf group that share the same combination of attribute values, wherein the session-level epoch store was flushed of the telemetry data pertaining to the plurality of individual sessions for the time-step, and wherein ingested session-level telemetry data pertaining to a next time-step was subsequently stored in the session-level epoch store;

deriving, from leaf-level summarizations for at least one leaf group, a parent-level summarization of telemetry data for sessions comprised in a parent group of the at least one leaf group and that are associated with the time-step; and

providing the parent-level summarization of telemetry data as input to a timeseries analysis task.

16. The method of claim 15 , wherein the leaf-level epoch store resides in-memory on a single compute node.

17. The method of claim 15 , wherein the deriving is performed using a CUBE operation.

18. The method of claim 15 , wherein the timeseries analysis task comprises retrospective analysis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2024
From: KAMARTHI, HARSHAVARDHAN; SHAH, HARSHIL; LI, YAN; PRAKASH, BODICHERLA ADITYA; SEKAR, VYAS
To: CONVIVA INC.
Reel/Frame 069544/0920 →
Continuity (2)
Provisional Application 63650309 · May 21, 2024
Provisional Application 63538768 · Sep 15, 2023
References Cited (23)
US 5822751A · Gray · 1998 [cited by examiner]
US 9398347B2 · Jadallah · 2016 [cited by examiner]
US 11044533B1 · Li · 2021 [cited by examiner]
US 11336506B1 · Li · 2022 [cited by examiner]
US 11621904B1 · Matthews · 2023 [cited by examiner]
US 20050065910A1 · Welton · 2005 [cited by examiner]
US 20180048527A1 · Ganjam · 2018 [cited by examiner]
US 20200012541A1 · Lube · 2020 [cited by examiner]
US 20220129456A1 · Conradi · 2022 [cited by examiner]
US 20230205193A1 · Lavrentyev · 2023 [cited by examiner]
Rollup and Cube. Archived at archive.org on Feb. 13, 2021 [retrieved on Nov. 14, 2024]. data.world. https://web.archive.org/web/20210213092722/https://docs.data.world/documentation/sql/concepts/advanced/ROLLUP_and_CUBE.… [cited by examiner]
Ben-Basat et al. Heavy Hitters in Streams and Sliding Windows. In IEEE Infocom 2016—The 35th Annual IEEE International Conference on Computer Communications. IEEE, 1-9. 2016. [cited by applicant]
Chao Zhang. Symmetric and Asymmetric Aggregate Function in Massively Parallel Computing (extended version). Ph.D. Dissertation. LIMOS (UMR CNRS 6158), Université Clermont Auvergne, France. 2017. [cited by applicant]
Jiang et al. Catch Tartan: Representing and Summarizing Dynamic Multicontextual Behaviors. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 945-954. 2016. [cited by applicant]
Liu et al. Isolation forest. In 2008 Eighth IEEE International Conference on Data Mining. IEEE, 413-422. 2008. [cited by applicant]
Manousis et al. Enabling Efficient and General Subpopulation Analytics in Multidimensional Data Streams. In VLDB 2022. PVLDB, 2022. [cited by applicant]
Overview of ClickHouse Architecture. ClickHouse Docs. https://web.archive.org/web/20230519094251/https://clickhouse.com/docs/en/development/architecture. May 19, 2023. [cited by applicant]
Panos Vassiliadis. Modeling Multidimensional Databases, Cubes and Cube Operations. In Proceedings. Tenth International Conference on Scientific and Statistical Database Management (Cat. No. 98TB100243). IEEE, 53-62. 199… [cited by applicant]
Ren et al. Time-Series Anomaly Detection Service at Microsoft. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 3009-3017. 2019. [cited by applicant]
Shrivastava et al. Medians and Beyond: New Aggregation Techniques for Sensor Networks. In Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems. 239-249. 2004. [cited by applicant]
Yang et al. Druid A Real-time Analytical Data Store. In Proceedings of the 2014 ACM SIGMOD international conference on Management of data. 157-168. 2014. [cited by applicant]
Yu et al. Distributed Aggregation for Data-Parallel Computing: Interfaces and Implementations. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. 247-260. 2009. [cited by applicant]
Jesus et al. A Survey of Distributed Data Aggregation Algorithms. pp. 1-45. arXiv:1110.0725v1 [cs.DC]. Oct. 4, 2011. [cited by applicant]