SlideShare a Scribd company logo
Time-State Analytics
Evan Chan, Principal Engineer
© 2024 Conviva. All Rights Reserved.
In every app there are critical user flows that highly impact
growth, engagement, and retention in real-time
Can’t access
high-value content
Can’t catch
a ride
Can't subscribe to
your service
Can't log into
the app
2
Monitoring Infrastructure & Services is not Enough to
Ensure a Great User Experience
© 2024 Conviva. All Rights Reserved.
3
App
App
App
App
Sampled view of application
performance (RUM) with no user
quality of experience visibility
+
Custom solutions with high cost, long
time to insights
Noisy alerts from server-side telemetry
(APM, Infra, etc.) with no definitive
understanding of user impact
MTTR for QoE issues
is hours to days
Blind to 80% of
QoE issues
Engineering
Operations
Product
Focus and investments
are misaligned with QoE
Infrastructure & Services
Impact of poor user
QoE is 7x higher than
the impact of outages
Conviva Combines Server and Client Side Analytics to
Measure End User QoE
© 2023 Conviva. All Rights Reserved.
4
User Data
Measure product activity, 10s of
events per minute, per endpoint
Machine Data
Measure machine activity, 1,000s of
events per minute, per endpoint
Infrastructure
Scale
Thousands of
endpoints
Network, server & cloud monitoring
focused on real-time mission-critical
operational use cases
Internet Scale
Millions of
endpoints
Marketing & Product analytics on
non-real-time BI use cases
Complete user experience & app performance based
on full-census client-side telemetry
7 Billion
Sensors deployed
5 Trillion
Events processed
every day
Stateful Context-Sensitive Metrics
are Critical for User Experience
© 2023 Conviva. All Rights Reserved.
5
Connection Induced Rebuffering
Change CDN
How much time did this session spend
buffering while using CDN C1?
Rebuffering Related Exits
Churn
Which sessions quit immediately after
a connection induced rebuffer?
Login/Discovery
Simplify Login
How long does login take and how
often did users go to the next page?
Signup
Fix Signup Page
How long does the signup process take,
and what is the success rate?
…
OTT Video
App/Web
© 2024 Conviva. All Rights Reserved.
6
The world is a state machine!
• Need real-time stateful computation at Internet
scale to compute QoE metrics from client-side
event streams
• Need real-time stateful computation to connect
the dots across multiple telemetry sources
• Need real-time high cardinality to perform root-
cause analysis across millions of dimension
combinations
Efficient
Internet
Scale
Real Time
Stateful
Computation
High
Cardinality
Computing QoE at
Scale: A Big
Data/Streaming
Challenge
© 2023 Conviva. All Rights Reserved.
7
Agenda
How we
tackled the
problem
Limitations
of Status
Quo
Primer on
Stateful
Analytics Quick Intro
to Conviva
Conviva Stateful Metric: Connection-Induced Rebuffering
© 2023 Conviva. All Rights Reserved.
8
buffering
Player State Bitrate CDN Seek
Buffer Pause Play Buffer
B1 B3 B1
Seek
Buffer
t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
Play
Raw measurements from a video session
Play
Play
C1 C2
B2
connection-
Induced rebuffering
with C1
How much time did this session spend
in a connection-induced rebuffering state
while using CDN C1?
Count the duration where:
1. Currently buffering &
2. Play has already initialized &
3. Hasn’t seeked in last 5 seconds &
4. Using CDN C1
9
Time Stress change Activity change Sleep stats VO2 Heart rate (bpm)
6:00 5 Rest Deep - 58
7:00 - - 52
8:00 Light - 61
9:30 6 Work - - 94
1:30 8 - - 122
5:00 7 - - 105
6:40 9 Run: 4 mi/hr - 44 143
6:50 Run: 5 mi/hr - 44 163
An easier example:
Events from a Fitness Tracker
Simple Stateless Analytics: “Count Events”
© 2023 Conviva. All Rights Reserved.
10
Stateless è Agnostic to Sequence, Timing, System State
6:00AM 9:30AM 6:40PM
Work
Rest Run
Activity Events
Stress Events
6:00AM 9:30AM
5
6
9
7
9
1:30PM 5:00PM6:40PM
Stateful Analysis Critical for Better Outcomes!
© 2023 Conviva. All Rights Reserved.
11
6:00AM 9:30AM 6:40PM
Activity
Stress Levels
Rest
Work
Run
Is my avg stress high when “Working”? à Have fewer meetings
How long was I in a high stress? à Take mini breaks
9
8
7
6
5
Stateful Analytics Appear in Every Domain
© 2023 Conviva. All Rights Reserved.
12
Video
Change CDN
How much time did this session spend
buffering while using CDN C1?
Finance
Fraud alert, block
Which credit card users made purchases at
geographically-separate locations in the
last 5 minutes?
Cybersecurity
Block URL
Quarantine host
Which Android users sent a sequence of
anomalous DNS requests after visiting
website xyz.com in the last hour?
Manufacturing
Rebalance load,
Repair
How many machines from vendor X are
showing degrading health status over time?
…
© 2023 Conviva. All Rights Reserved.
13
Stateful Real-Time Analytics is Critical for Business
Operational Outcomes
(e.g., Engagement, Fraud/Attack Detection, etc.)
Event Streams / Telemetry
Actionable insights
in dynamic systems
needs Stateful Analysis:
Stateful
Analytics
⬢ Sequence
⬢ Timing
⬢ State of system Video
App
Infra O11Y
E-commerce
Health/Fitness
Security
Fintech
….
© 2023 Conviva. All Rights Reserved.
14
Agenda
How we
tackled the
problem
Primer on
Stateful
Analytics Quick Intro
to Conviva
Limitations
of Status
Quo
Stateful
Analytics is
Hard: Fitness
© 2023 Conviva. All Rights Reserved.
15
High dev effort
High cost
Count duration of
high stress (>=6)
when working
Stateful
Analytics is
Hard: Video
© 2023 Conviva. All Rights Reserved.
16
High dev effort
High cost
Count the duration where:
1. Currently buffering &
2. Play has already initialized &
3. Hasn’t seeked in last 5 seconds &
4. Using CDN C1
Most data tech stems from
1970s abstraction:
Relational Model & Algebra
Data is modeled as relations (tables)
Algebraic relational operators to compute relations
© 2023 Conviva. All Rights Reserved.
17
Why?
Timestamp Player State Bitrate CDN Seek
t1 Buffer
t2 C1
t3 B1
t4 Play
t5 Buffer
t6 Play
t7 Seek
t8 B2
t9 Paused
t10 Play
t11 B3
t12 Buffer
t13 C2
t14 Play
t15 B1
Tabular Model
Isn’t Well-Suited
for Stateful
© 2023 Conviva. All Rights Reserved.
18
Player State Bitrate CDN Seek
Buffer Pause Play Buffer
B1 B3 B1
Seek
Buffer
t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
Play
Raw measurements from a video session
Play
Play
C1 C2
B2
Count the duration where:
1. Currently buffering &
2. Play has already initialized &
3. Hasn’t seeked in last 5 seconds &
4. Using CDN C1
Timestamp Player State Bitrate CDN Seek
t1 Buffer
t2 C1
t3 B1
t4 Play
t5 Buffer
t6 Play
t7 Seek
t8 B2
t9 Paused
t10 Play
t11 B3
t12 Buffer
t13 C2
t14 Play
t15 B1
State and
Context Over
Continuous Time
is Hard
© 2023 Conviva. All Rights Reserved.
19
Timestamp Player State Bitrate CDN Seek
t1 Buffer
t2 Buffer C1
t3 Buffer B1 C1
t4 Play B1 C1
t5 Buffer B1 C1
t6 Play B1 C1
t7 Play B1 C1 Seek
t8 Play B2 C1
t9 Paused B2 C1
t10 Play B2 C1
t11 Play B3 C1
t12 Buffer B3 C1
t13 Buffer B3 C2
t14 Play B3 C2
t15 Play B1 C2
Duration?
t7 + 5
seconds?
Count the duration where:
1. Currently buffering &
2. Play has already initialized &
3. Hasn’t seeked in last 5 seconds &
4. Using CDN C1
[…]
[…]
[…]
© 2023 Conviva. All Rights Reserved.
20
Agenda
Primer on
Stateful
Analytics Quick Intro
to Conviva
Limitations
of Status
Quo
How we
tackled the
problem
21
Time Stress change Activity change Sleep stats VO2 Heart rate (bpm)
6:00 5 Rest Deep - 58
7:00 - - 52
8:00 Light - 61
9:30 6 Work - - 94
1:30 8 - - 122
5:00 7 - - 105
6:40 9 Run: 4 mi/hr - 44 143
6:50 Run: 5 mi/hr - 44 163
Let’s go back to first principles
A visual Timeline interpretation of the data
© 2023 Conviva. All Rights Reserved.
22
“Geometric abstractions are powerful tools” – Fred Brooks
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
Stress
level
4
5
6
7
3
Geometric view makes it easy to do stateful analytics!
© 2023 Conviva. All Rights Reserved.
23
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
Stress
level
4
5
6
7
3
How long was I in High Stress (>= 6) state?
Total Duration = 3 hours
© 2023 Conviva. All Rights Reserved.
24
Intuitive
“Geometric”
Logic
How long was I in High Stress (>= 6) state?
Interpret the Stress column
as a “states” over time
Check when
Stress State >= 6
Calculate Duration
when condition was True
Time-State Analytics, in a Nutshell
© 2023 Conviva. All Rights Reserved.
25
Step Function
Event Continuously Evolving
Data abstraction with 3 types of timeline dynamics
Connectors with external
data sources/sinks
Metric
Compositional language for
defining DAG of operators
Metric
Raw events
Library of operators
…
© 2023 Conviva. All Rights Reserved.
26
Example Operator: Greater than equal to
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
Stress
level
4
5
6
7
3
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
False
True
Example Operator: DurationTrue
© 2023 Conviva. All Rights Reserved.
27
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
False
True
6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30
1 hour
1.5 hours
2 hours
Stateful Metrics == Operator Composition
© 2023 Conviva. All Rights Reserved.
28
Interpret the Stress column
as a “states” over time
Check when
Stress State >= 6
Calculate Duration
when condition was True
How long was I in High Stress (>= 6) state?
Event
Data
GetState(“Stress Level”)
Greater than equal to
(“6”)
DurationTrue
Equals
(“Working”)
How Long Until Stress from Work?
© 2023 Conviva. All Rights Reserved.
29
Event
Data
GetState
(“Stress”)
Greater than
equal to (“6”)
Merge
Events
TwoEventPattern
Duration
(Work -> Stress)
Duration between start of Work and High Stress (>= 6) state
GetState
(“Activities”)
State
Change
Events
State
Change
Events
Zoom in: Operators Transform Timelines
© 2023 Conviva. All Rights Reserved.
30
GetState
(“Stress”)
Greater than
equal to (“6”)
State
Change
Events
6:00
30 7:30
8:00
8:30
9:00 10:00
10:30
St
re
s
s
le
v
el
4
5
6
7
3
6:00 7:00 8:00 9:00 10:30
F
T
6:00 7:00 8:00 9:00 10:30
Stress
Event
6:00 7:00 8:00 9:00 10:30
Zoom in: Merging Timelines and Pattern Recognition
© 2023 Conviva. All Rights Reserved.
31
State
Change
Events
6:00 7:00 8:00 9:00 10:30
Stress
Event
Merge
Events
TwoEventPattern
Duration
(Work -> Stress)
State
Change
Events
6:00 7:00 8:00 9:00 10:30
Start
Work
Stress
Event
Start
Work
Abstraction Reduces Dev Effort to Support New Metrics
© 2023 Conviva. All Rights Reserved.
32
Onboarding:
Weeks à Days
Semantic Bugs:
Dropped by 80%
Prototype query language
9.24 9.25
9.82
12.01
Abstraction
Enables High
Performance:
Outperforms
State-of-Art
Systems
© 2023 Conviva. All Rights Reserved.
33
Conviva
Time-State
Spark
Streaming
Spark
Streaming
+
Clickhouse
Flink
Streaming
+
Clickhouse
Flink
Streaming
Normalized
Cost
(
Using
CPU-seconds
as
proxy)
1.00
Rich Operator Set for Rich Analytics
© 2023 Conviva. All Rights Reserved.
34
Duration and Time
Management
State Management
Pattern Matching
AI/ML/Feature Eng
+ - * / And Or Not
If, Flow Control
ETL, Data
Transformation
… more coming
Takeaways on TimeState Analytics
© 2023 Conviva. All Rights Reserved.
35
Need for
Real-Time
Stateful Analytics
Fundamentally
hard problem!
Existing systems
are not effective
Why:
Classical tabular
model is ineffective
High cost, low
performance
High dev effort, bugs
Conviva TimeState:
A geometric basis for
Stateful Analytics
10X better
cost/performance
10X reduced effort
This is general
industry wide
problem
Would love to hear
about your
Stateful Analytics
and Experience
use cases
Democratizes
Stateful Analytics
@ Scale
To reach me:
• evanchan@conviva.com
• Twitter @evanfchan
• Linked In / Instagram (@platypus.arts)
Please come by the Conviva booth and talk to us!
© 2023 Conviva. All Rights Reserved.
36
We are hiring!
Ad

More Related Content

Similar to Time-State Analytics: MinneAnalytics 2024 Talk (20)

Mathworks CAE simulation suite – case in point from automotive and aerospace.
Mathworks CAE simulation suite – case in point from automotive and aerospace.Mathworks CAE simulation suite – case in point from automotive and aerospace.
Mathworks CAE simulation suite – case in point from automotive and aerospace.
WMG centre High Value Manufacturing Catapult
 
Quantifying Genuine User Experience in Virtual Desktop Ecosystems
Quantifying Genuine User Experience in Virtual Desktop EcosystemsQuantifying Genuine User Experience in Virtual Desktop Ecosystems
Quantifying Genuine User Experience in Virtual Desktop Ecosystems
Data Con LA
 
The Visual Environment Limited The Visual Environment Limited ...
The Visual Environment Limited The Visual Environment Limited ...The Visual Environment Limited The Visual Environment Limited ...
The Visual Environment Limited The Visual Environment Limited ...
Videoguy
 
Real-Time Systems Intro.pptx
Real-Time Systems Intro.pptxReal-Time Systems Intro.pptx
Real-Time Systems Intro.pptx
20EUEE018DEEPAKM
 
Real time applications using the R Language
Real time applications using the R LanguageReal time applications using the R Language
Real time applications using the R Language
Lou Bajuk
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
Quentin Samelson
 
Case Study: Datalink—Manage IT monitoring the MSP way
Case Study: Datalink—Manage IT monitoring the MSP wayCase Study: Datalink—Manage IT monitoring the MSP way
Case Study: Datalink—Manage IT monitoring the MSP way
CA Technologies
 
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Christopher Kelley
 
Public Sector Virtual Town Hall: High Availability for PostgreSQL
Public Sector Virtual Town Hall: High Availability for PostgreSQLPublic Sector Virtual Town Hall: High Availability for PostgreSQL
Public Sector Virtual Town Hall: High Availability for PostgreSQL
EDB
 
3DConsulting_Presentation
3DConsulting_Presentation3DConsulting_Presentation
3DConsulting_Presentation
Joseph Baca
 
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
C4Media
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at Scale
DevOps.com
 
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERSROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
Deepak Shankar
 
Data Democratization at Nubank
 Data Democratization at Nubank Data Democratization at Nubank
Data Democratization at Nubank
Databricks
 
Wavefront-by-VMware-April-2019
Wavefront-by-VMware-April-2019Wavefront-by-VMware-April-2019
Wavefront-by-VMware-April-2019
Anil Gupta (AJ) - vExpert
 
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
Nur Shiqim Chok
 
Best practices for live streaming
Best practices for live streamingBest practices for live streaming
Best practices for live streaming
Ashok Lalwani
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward
 
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
Masaaki Nakagawa
 
Wavefront presentation-May-2019
Wavefront presentation-May-2019Wavefront presentation-May-2019
Wavefront presentation-May-2019
Anil Gupta (AJ) - vExpert
 
Quantifying Genuine User Experience in Virtual Desktop Ecosystems
Quantifying Genuine User Experience in Virtual Desktop EcosystemsQuantifying Genuine User Experience in Virtual Desktop Ecosystems
Quantifying Genuine User Experience in Virtual Desktop Ecosystems
Data Con LA
 
The Visual Environment Limited The Visual Environment Limited ...
The Visual Environment Limited The Visual Environment Limited ...The Visual Environment Limited The Visual Environment Limited ...
The Visual Environment Limited The Visual Environment Limited ...
Videoguy
 
Real-Time Systems Intro.pptx
Real-Time Systems Intro.pptxReal-Time Systems Intro.pptx
Real-Time Systems Intro.pptx
20EUEE018DEEPAKM
 
Real time applications using the R Language
Real time applications using the R LanguageReal time applications using the R Language
Real time applications using the R Language
Lou Bajuk
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
Quentin Samelson
 
Case Study: Datalink—Manage IT monitoring the MSP way
Case Study: Datalink—Manage IT monitoring the MSP wayCase Study: Datalink—Manage IT monitoring the MSP way
Case Study: Datalink—Manage IT monitoring the MSP way
CA Technologies
 
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Intelligent Management of Assets in Large Scale Infrastructures with Cisco Co...
Christopher Kelley
 
Public Sector Virtual Town Hall: High Availability for PostgreSQL
Public Sector Virtual Town Hall: High Availability for PostgreSQLPublic Sector Virtual Town Hall: High Availability for PostgreSQL
Public Sector Virtual Town Hall: High Availability for PostgreSQL
EDB
 
3DConsulting_Presentation
3DConsulting_Presentation3DConsulting_Presentation
3DConsulting_Presentation
Joseph Baca
 
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
Have Your Cake and Eat It Too -- Further Dispelling the Myths of the Lambda A...
C4Media
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at Scale
DevOps.com
 
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERSROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
ROLE OF DIGITAL SIMULATION IN CONFIGURING NETWORK PARAMETERS
Deepak Shankar
 
Data Democratization at Nubank
 Data Democratization at Nubank Data Democratization at Nubank
Data Democratization at Nubank
Databricks
 
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
[Cisco Connect 2018 - Vietnam] Yedu hn-introducing cisco dna assurance-yedu f...
Nur Shiqim Chok
 
Best practices for live streaming
Best practices for live streamingBest practices for live streaming
Best practices for live streaming
Ashok Lalwani
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward
 
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
Masaaki Nakagawa
 

More from Evan Chan (17)

Porting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustPorting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to Rust
Evan Chan
 
Designing Stateful Apps for Cloud and Kubernetes
Designing Stateful Apps for Cloud and KubernetesDesigning Stateful Apps for Cloud and Kubernetes
Designing Stateful Apps for Cloud and Kubernetes
Evan Chan
 
Histograms at scale - Monitorama 2019
Histograms at scale - Monitorama 2019Histograms at scale - Monitorama 2019
Histograms at scale - Monitorama 2019
Evan Chan
 
FiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
FiloDB: Reactive, Real-Time, In-Memory Time Series at ScaleFiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
FiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
Evan Chan
 
Building a High-Performance Database with Scala, Akka, and Spark
Building a High-Performance Database with Scala, Akka, and SparkBuilding a High-Performance Database with Scala, Akka, and Spark
Building a High-Performance Database with Scala, Akka, and Spark
Evan Chan
 
700 Updatable Queries Per Second: Spark as a Real-Time Web Service
700 Updatable Queries Per Second: Spark as a Real-Time Web Service700 Updatable Queries Per Second: Spark as a Real-Time Web Service
700 Updatable Queries Per Second: Spark as a Real-Time Web Service
Evan Chan
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Evan Chan
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
Evan Chan
 
Breakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and SparkBreakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and Spark
Evan Chan
 
Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job ServerProductionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Evan Chan
 
Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015
Evan Chan
 
MIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data ArchitectureMIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data Architecture
Evan Chan
 
OLAP with Cassandra and Spark
OLAP with Cassandra and SparkOLAP with Cassandra and Spark
OLAP with Cassandra and Spark
Evan Chan
 
Spark Summit 2014: Spark Job Server Talk
Spark Summit 2014:  Spark Job Server TalkSpark Summit 2014:  Spark Job Server Talk
Spark Summit 2014: Spark Job Server Talk
Evan Chan
 
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Evan Chan
 
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and SparkCassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Evan Chan
 
Real-time Analytics with Cassandra, Spark, and Shark
Real-time Analytics with Cassandra, Spark, and SharkReal-time Analytics with Cassandra, Spark, and Shark
Real-time Analytics with Cassandra, Spark, and Shark
Evan Chan
 
Porting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to RustPorting a Streaming Pipeline from Scala to Rust
Porting a Streaming Pipeline from Scala to Rust
Evan Chan
 
Designing Stateful Apps for Cloud and Kubernetes
Designing Stateful Apps for Cloud and KubernetesDesigning Stateful Apps for Cloud and Kubernetes
Designing Stateful Apps for Cloud and Kubernetes
Evan Chan
 
Histograms at scale - Monitorama 2019
Histograms at scale - Monitorama 2019Histograms at scale - Monitorama 2019
Histograms at scale - Monitorama 2019
Evan Chan
 
FiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
FiloDB: Reactive, Real-Time, In-Memory Time Series at ScaleFiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
FiloDB: Reactive, Real-Time, In-Memory Time Series at Scale
Evan Chan
 
Building a High-Performance Database with Scala, Akka, and Spark
Building a High-Performance Database with Scala, Akka, and SparkBuilding a High-Performance Database with Scala, Akka, and Spark
Building a High-Performance Database with Scala, Akka, and Spark
Evan Chan
 
700 Updatable Queries Per Second: Spark as a Real-Time Web Service
700 Updatable Queries Per Second: Spark as a Real-Time Web Service700 Updatable Queries Per Second: Spark as a Real-Time Web Service
700 Updatable Queries Per Second: Spark as a Real-Time Web Service
Evan Chan
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Evan Chan
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
Evan Chan
 
Breakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and SparkBreakthrough OLAP performance with Cassandra and Spark
Breakthrough OLAP performance with Cassandra and Spark
Evan Chan
 
Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job ServerProductionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Evan Chan
 
Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015
Evan Chan
 
MIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data ArchitectureMIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data Architecture
Evan Chan
 
OLAP with Cassandra and Spark
OLAP with Cassandra and SparkOLAP with Cassandra and Spark
OLAP with Cassandra and Spark
Evan Chan
 
Spark Summit 2014: Spark Job Server Talk
Spark Summit 2014:  Spark Job Server TalkSpark Summit 2014:  Spark Job Server Talk
Spark Summit 2014: Spark Job Server Talk
Evan Chan
 
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Evan Chan
 
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and SparkCassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Evan Chan
 
Real-time Analytics with Cassandra, Spark, and Shark
Real-time Analytics with Cassandra, Spark, and SharkReal-time Analytics with Cassandra, Spark, and Shark
Real-time Analytics with Cassandra, Spark, and Shark
Evan Chan
 
Ad

Recently uploaded (20)

Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Ad

Time-State Analytics: MinneAnalytics 2024 Talk

  • 1. Time-State Analytics Evan Chan, Principal Engineer
  • 2. © 2024 Conviva. All Rights Reserved. In every app there are critical user flows that highly impact growth, engagement, and retention in real-time Can’t access high-value content Can’t catch a ride Can't subscribe to your service Can't log into the app 2
  • 3. Monitoring Infrastructure & Services is not Enough to Ensure a Great User Experience © 2024 Conviva. All Rights Reserved. 3 App App App App Sampled view of application performance (RUM) with no user quality of experience visibility + Custom solutions with high cost, long time to insights Noisy alerts from server-side telemetry (APM, Infra, etc.) with no definitive understanding of user impact MTTR for QoE issues is hours to days Blind to 80% of QoE issues Engineering Operations Product Focus and investments are misaligned with QoE Infrastructure & Services Impact of poor user QoE is 7x higher than the impact of outages
  • 4. Conviva Combines Server and Client Side Analytics to Measure End User QoE © 2023 Conviva. All Rights Reserved. 4 User Data Measure product activity, 10s of events per minute, per endpoint Machine Data Measure machine activity, 1,000s of events per minute, per endpoint Infrastructure Scale Thousands of endpoints Network, server & cloud monitoring focused on real-time mission-critical operational use cases Internet Scale Millions of endpoints Marketing & Product analytics on non-real-time BI use cases Complete user experience & app performance based on full-census client-side telemetry 7 Billion Sensors deployed 5 Trillion Events processed every day
  • 5. Stateful Context-Sensitive Metrics are Critical for User Experience © 2023 Conviva. All Rights Reserved. 5 Connection Induced Rebuffering Change CDN How much time did this session spend buffering while using CDN C1? Rebuffering Related Exits Churn Which sessions quit immediately after a connection induced rebuffer? Login/Discovery Simplify Login How long does login take and how often did users go to the next page? Signup Fix Signup Page How long does the signup process take, and what is the success rate? … OTT Video App/Web
  • 6. © 2024 Conviva. All Rights Reserved. 6 The world is a state machine! • Need real-time stateful computation at Internet scale to compute QoE metrics from client-side event streams • Need real-time stateful computation to connect the dots across multiple telemetry sources • Need real-time high cardinality to perform root- cause analysis across millions of dimension combinations Efficient Internet Scale Real Time Stateful Computation High Cardinality Computing QoE at Scale: A Big Data/Streaming Challenge
  • 7. © 2023 Conviva. All Rights Reserved. 7 Agenda How we tackled the problem Limitations of Status Quo Primer on Stateful Analytics Quick Intro to Conviva
  • 8. Conviva Stateful Metric: Connection-Induced Rebuffering © 2023 Conviva. All Rights Reserved. 8 buffering Player State Bitrate CDN Seek Buffer Pause Play Buffer B1 B3 B1 Seek Buffer t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 Play Raw measurements from a video session Play Play C1 C2 B2 connection- Induced rebuffering with C1 How much time did this session spend in a connection-induced rebuffering state while using CDN C1? Count the duration where: 1. Currently buffering & 2. Play has already initialized & 3. Hasn’t seeked in last 5 seconds & 4. Using CDN C1
  • 9. 9 Time Stress change Activity change Sleep stats VO2 Heart rate (bpm) 6:00 5 Rest Deep - 58 7:00 - - 52 8:00 Light - 61 9:30 6 Work - - 94 1:30 8 - - 122 5:00 7 - - 105 6:40 9 Run: 4 mi/hr - 44 143 6:50 Run: 5 mi/hr - 44 163 An easier example: Events from a Fitness Tracker
  • 10. Simple Stateless Analytics: “Count Events” © 2023 Conviva. All Rights Reserved. 10 Stateless è Agnostic to Sequence, Timing, System State 6:00AM 9:30AM 6:40PM Work Rest Run Activity Events Stress Events 6:00AM 9:30AM 5 6 9 7 9 1:30PM 5:00PM6:40PM
  • 11. Stateful Analysis Critical for Better Outcomes! © 2023 Conviva. All Rights Reserved. 11 6:00AM 9:30AM 6:40PM Activity Stress Levels Rest Work Run Is my avg stress high when “Working”? à Have fewer meetings How long was I in a high stress? à Take mini breaks 9 8 7 6 5
  • 12. Stateful Analytics Appear in Every Domain © 2023 Conviva. All Rights Reserved. 12 Video Change CDN How much time did this session spend buffering while using CDN C1? Finance Fraud alert, block Which credit card users made purchases at geographically-separate locations in the last 5 minutes? Cybersecurity Block URL Quarantine host Which Android users sent a sequence of anomalous DNS requests after visiting website xyz.com in the last hour? Manufacturing Rebalance load, Repair How many machines from vendor X are showing degrading health status over time? …
  • 13. © 2023 Conviva. All Rights Reserved. 13 Stateful Real-Time Analytics is Critical for Business Operational Outcomes (e.g., Engagement, Fraud/Attack Detection, etc.) Event Streams / Telemetry Actionable insights in dynamic systems needs Stateful Analysis: Stateful Analytics ⬢ Sequence ⬢ Timing ⬢ State of system Video App Infra O11Y E-commerce Health/Fitness Security Fintech ….
  • 14. © 2023 Conviva. All Rights Reserved. 14 Agenda How we tackled the problem Primer on Stateful Analytics Quick Intro to Conviva Limitations of Status Quo
  • 15. Stateful Analytics is Hard: Fitness © 2023 Conviva. All Rights Reserved. 15 High dev effort High cost Count duration of high stress (>=6) when working
  • 16. Stateful Analytics is Hard: Video © 2023 Conviva. All Rights Reserved. 16 High dev effort High cost Count the duration where: 1. Currently buffering & 2. Play has already initialized & 3. Hasn’t seeked in last 5 seconds & 4. Using CDN C1
  • 17. Most data tech stems from 1970s abstraction: Relational Model & Algebra Data is modeled as relations (tables) Algebraic relational operators to compute relations © 2023 Conviva. All Rights Reserved. 17 Why?
  • 18. Timestamp Player State Bitrate CDN Seek t1 Buffer t2 C1 t3 B1 t4 Play t5 Buffer t6 Play t7 Seek t8 B2 t9 Paused t10 Play t11 B3 t12 Buffer t13 C2 t14 Play t15 B1 Tabular Model Isn’t Well-Suited for Stateful © 2023 Conviva. All Rights Reserved. 18 Player State Bitrate CDN Seek Buffer Pause Play Buffer B1 B3 B1 Seek Buffer t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 Play Raw measurements from a video session Play Play C1 C2 B2 Count the duration where: 1. Currently buffering & 2. Play has already initialized & 3. Hasn’t seeked in last 5 seconds & 4. Using CDN C1
  • 19. Timestamp Player State Bitrate CDN Seek t1 Buffer t2 C1 t3 B1 t4 Play t5 Buffer t6 Play t7 Seek t8 B2 t9 Paused t10 Play t11 B3 t12 Buffer t13 C2 t14 Play t15 B1 State and Context Over Continuous Time is Hard © 2023 Conviva. All Rights Reserved. 19 Timestamp Player State Bitrate CDN Seek t1 Buffer t2 Buffer C1 t3 Buffer B1 C1 t4 Play B1 C1 t5 Buffer B1 C1 t6 Play B1 C1 t7 Play B1 C1 Seek t8 Play B2 C1 t9 Paused B2 C1 t10 Play B2 C1 t11 Play B3 C1 t12 Buffer B3 C1 t13 Buffer B3 C2 t14 Play B3 C2 t15 Play B1 C2 Duration? t7 + 5 seconds? Count the duration where: 1. Currently buffering & 2. Play has already initialized & 3. Hasn’t seeked in last 5 seconds & 4. Using CDN C1 […] […] […]
  • 20. © 2023 Conviva. All Rights Reserved. 20 Agenda Primer on Stateful Analytics Quick Intro to Conviva Limitations of Status Quo How we tackled the problem
  • 21. 21 Time Stress change Activity change Sleep stats VO2 Heart rate (bpm) 6:00 5 Rest Deep - 58 7:00 - - 52 8:00 Light - 61 9:30 6 Work - - 94 1:30 8 - - 122 5:00 7 - - 105 6:40 9 Run: 4 mi/hr - 44 143 6:50 Run: 5 mi/hr - 44 163 Let’s go back to first principles
  • 22. A visual Timeline interpretation of the data © 2023 Conviva. All Rights Reserved. 22 “Geometric abstractions are powerful tools” – Fred Brooks 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 Stress level 4 5 6 7 3
  • 23. Geometric view makes it easy to do stateful analytics! © 2023 Conviva. All Rights Reserved. 23 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 Stress level 4 5 6 7 3 How long was I in High Stress (>= 6) state? Total Duration = 3 hours
  • 24. © 2023 Conviva. All Rights Reserved. 24 Intuitive “Geometric” Logic How long was I in High Stress (>= 6) state? Interpret the Stress column as a “states” over time Check when Stress State >= 6 Calculate Duration when condition was True
  • 25. Time-State Analytics, in a Nutshell © 2023 Conviva. All Rights Reserved. 25 Step Function Event Continuously Evolving Data abstraction with 3 types of timeline dynamics Connectors with external data sources/sinks Metric Compositional language for defining DAG of operators Metric Raw events Library of operators …
  • 26. © 2023 Conviva. All Rights Reserved. 26 Example Operator: Greater than equal to 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 Stress level 4 5 6 7 3 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 False True
  • 27. Example Operator: DurationTrue © 2023 Conviva. All Rights Reserved. 27 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 False True 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 10:30 1 hour 1.5 hours 2 hours
  • 28. Stateful Metrics == Operator Composition © 2023 Conviva. All Rights Reserved. 28 Interpret the Stress column as a “states” over time Check when Stress State >= 6 Calculate Duration when condition was True How long was I in High Stress (>= 6) state? Event Data GetState(“Stress Level”) Greater than equal to (“6”) DurationTrue
  • 29. Equals (“Working”) How Long Until Stress from Work? © 2023 Conviva. All Rights Reserved. 29 Event Data GetState (“Stress”) Greater than equal to (“6”) Merge Events TwoEventPattern Duration (Work -> Stress) Duration between start of Work and High Stress (>= 6) state GetState (“Activities”) State Change Events State Change Events
  • 30. Zoom in: Operators Transform Timelines © 2023 Conviva. All Rights Reserved. 30 GetState (“Stress”) Greater than equal to (“6”) State Change Events 6:00 30 7:30 8:00 8:30 9:00 10:00 10:30 St re s s le v el 4 5 6 7 3 6:00 7:00 8:00 9:00 10:30 F T 6:00 7:00 8:00 9:00 10:30 Stress Event
  • 31. 6:00 7:00 8:00 9:00 10:30 Zoom in: Merging Timelines and Pattern Recognition © 2023 Conviva. All Rights Reserved. 31 State Change Events 6:00 7:00 8:00 9:00 10:30 Stress Event Merge Events TwoEventPattern Duration (Work -> Stress) State Change Events 6:00 7:00 8:00 9:00 10:30 Start Work Stress Event Start Work
  • 32. Abstraction Reduces Dev Effort to Support New Metrics © 2023 Conviva. All Rights Reserved. 32 Onboarding: Weeks à Days Semantic Bugs: Dropped by 80% Prototype query language
  • 33. 9.24 9.25 9.82 12.01 Abstraction Enables High Performance: Outperforms State-of-Art Systems © 2023 Conviva. All Rights Reserved. 33 Conviva Time-State Spark Streaming Spark Streaming + Clickhouse Flink Streaming + Clickhouse Flink Streaming Normalized Cost ( Using CPU-seconds as proxy) 1.00
  • 34. Rich Operator Set for Rich Analytics © 2023 Conviva. All Rights Reserved. 34 Duration and Time Management State Management Pattern Matching AI/ML/Feature Eng + - * / And Or Not If, Flow Control ETL, Data Transformation … more coming
  • 35. Takeaways on TimeState Analytics © 2023 Conviva. All Rights Reserved. 35 Need for Real-Time Stateful Analytics Fundamentally hard problem! Existing systems are not effective Why: Classical tabular model is ineffective High cost, low performance High dev effort, bugs Conviva TimeState: A geometric basis for Stateful Analytics 10X better cost/performance 10X reduced effort This is general industry wide problem Would love to hear about your Stateful Analytics and Experience use cases Democratizes Stateful Analytics @ Scale
  • 36. To reach me: • [email protected] • Twitter @evanfchan • Linked In / Instagram (@platypus.arts) Please come by the Conviva booth and talk to us! © 2023 Conviva. All Rights Reserved. 36 We are hiring!