SlideShare a Scribd company logo
Boundary Front end tech talk: how it works
Tech Talk - Frontend
Stephen Boak (steve@boundary.com)
Mark Mahoney (mark@boundary.com)
Matt King (m@boundary.com)
When we say real-time we mean it: JSON being
pushed to the browser once a second and
visualizations built to constantly move and adapt
to streaming data
Boundary | Architecture
Meters                                     !
         Lightweight and highly scalable, these sit on the cloud as well as
         private data centers across virtual or physical servers.
Intercept Meter data via Transport
Collectors   Layer Security (TLS) Authentication.
Collect all of the data at high resolution to gain rich insight into complex
Data Store   environments & problems before they can impact critical business services.
Real-time continuous data streaming at
Streaming   high resolution, low latency intervals.
Stream data to your dashboard with sub-second latency,
Streaming UI   providing you with intuitive, powerful dashboard.
How We Get Data

• CometD server (streaker)!

• Pulls in data from multiple backend services and
  streams it out to clients!

• Can also aggregate and filter data on demand
Subscriptions
         1                   2                  3                   4                5

       Make a            Get back a        Subscribe to           Receive          Receive
subscription request   subscription ID      new query           state-dump       add/remove
  (query and filters)     (Query ID)      (unique channel)   (inserts & schema)    messages




                                                                                   !!
       !




                                              !
                           !




                                                                 !
Data Structure

• Schema and key
  (which fields are concatenated for each record)

• State dump with schema for requested time window
  (up to 100kb state dumps)

• Save bandwidth with N-tuples indexed by the schema

• Adds/removes update the state with keys (subset of schema)
JSON
Example port:protocol subscription                           State Object
{                                                            {
    channel:""/query/ac3941b8924a2f73/custom9                    "1331234598000:80:6":"{
    query92f536bbc93f159418b98f1a973b5dc4e78379                    "epochMillis":=1331234598000,
    filter979564d6c94c9394f479abae906ff95a3411e9                   "portProtocol":="80:6",
    aggregation9b5cc18d49098d949c29a08497037b08a30e6"              "ingressPackets":"100,
    data:"{                                                        "ingressOctets":"8463,
      insert:"[[1331234598000,"80:6,"100,"8463,"93,"               "egressPackets":"93,
      9672],"[1331234925000,"8080:6,"242,"39657,"243,"             "egressOctets":"9672
      40865],"…],                                                },
      keys:"[epochMillis,"portProtocol],                         "1331234925000:8080:6":"{
      schema:"[epochMillis,"portProtocol,"ingressPackets,"         "epochMillis":=1331234925000,
      ingressOctets,"egressPackets,"egressOctets],                 "portProtocol":="8080:6",
      timestamp:"1331235119001                                     "ingressPackets":"242,
    }                                                              "ingressOctets":"39657,
}                                                                  "egressPackets":"243,
                                                                   "egressOctets":"40865
                                                                 }
                                                                 …
                                                             }
DataSource.js
• Negotiates between multiple data
  sources and subscribers on a page        Subscriptions

• One data source for N subscribers                Data
                                                Sources

• Abstracts CometD subscription
  process for JS development
                                            Subscribers
• Smart enough to resubscribe and
  notifies subscribers
 (so that state dumps aren’t doubled up)
bndry.datasource repo

//"Receives"object"with"properties"for"state,"inserts"and"removes."
function"updateData(data)"{"
" console.log(data.added);"
}"

//"Create"a"handle"to"a"new"data"source"
var"volumeDataSource"="bndry.dataSource('volume_1s');"

//"Add"a"subscriber"and"start"getting"updates."
volumeDataSource.addSubscriber(updateData);
Demo Time
Data and Subcription Problems

• Monolithic, Multi-Purpose Queries
• Large State Dumps cause CometD timeout
  (5-10MBs per second)
• No Resubscription
• Aggregated all data on front-end
Data and Subcription Solutions

• Stratified, Filterable Queries and server-side aggregation
• Top-N Limitations
  (constrained output)
• Resubscription & filtering
• Web workers haven’t helped much
• Time smoothing (1-second ticks)
Visualization

DOM manipulation is expensive         ...so is tweening




                                SVG                       Canvas
What’s Next

• WebSockets

• Historical Data and long term data storage

• HTML5 local storage (store data)

• Machine-learning for real-time network visualization
Thank You

More Related Content

What's hot (20)

PPTX
Mongo db – document oriented database
Wojciech Sznapka
 
PDF
MongoDB - An Introduction
sethfloydjr
 
PDF
Data day texas: Cassandra and the Cloud
jbellis
 
PPTX
Real-Time Integration Between MongoDB and SQL Databases
MongoDB
 
PPTX
MongoDB + Spring
Norberto Leite
 
PPTX
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
MongoDB
 
PPTX
Data Management 2: Conquering Data Proliferation
MongoDB
 
PPTX
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
SpringPeople
 
PPTX
Data Management 3: Bulletproof Data Management
MongoDB
 
PPTX
Back to Basics, webinar 2: La tua prima applicazione MongoDB
MongoDB
 
PPTX
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
MongoDB
 
PPTX
Yes, Sql!
Uri Cohen
 
PPTX
Back to Basics Webinar 2: Your First MongoDB Application
MongoDB
 
PPTX
Tms training
Chi Lee
 
PDF
Introduction to MongoDB
Mike Dirolf
 
PDF
Mongo db basics
Harischandra M K
 
PDF
JSONiq - The SQL of NoSQL
William Candillon
 
PPT
Lecture 40 1
patib5
 
PPTX
Druid realtime indexing
Seoeun Park
 
PDF
Mongo db
Noman Ellahi
 
Mongo db – document oriented database
Wojciech Sznapka
 
MongoDB - An Introduction
sethfloydjr
 
Data day texas: Cassandra and the Cloud
jbellis
 
Real-Time Integration Between MongoDB and SQL Databases
MongoDB
 
MongoDB + Spring
Norberto Leite
 
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
MongoDB
 
Data Management 2: Conquering Data Proliferation
MongoDB
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
SpringPeople
 
Data Management 3: Bulletproof Data Management
MongoDB
 
Back to Basics, webinar 2: La tua prima applicazione MongoDB
MongoDB
 
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
MongoDB
 
Yes, Sql!
Uri Cohen
 
Back to Basics Webinar 2: Your First MongoDB Application
MongoDB
 
Tms training
Chi Lee
 
Introduction to MongoDB
Mike Dirolf
 
Mongo db basics
Harischandra M K
 
JSONiq - The SQL of NoSQL
William Candillon
 
Lecture 40 1
patib5
 
Druid realtime indexing
Seoeun Park
 
Mongo db
Noman Ellahi
 

Viewers also liked (8)

PDF
Boundary for puppet @ puppet conf2012
Boundary
 
PDF
Distributed systems-radiology
Boundary
 
PDF
Invoke dynamic your api to hotspot
Boundary
 
PDF
Cad cam
sateesh jala
 
PPTX
PDM - Precedence Diagram Method
phantai24
 
PPTX
Solid modelling cg
Nareek
 
PPT
Introduction to solid modeling
*noT yeT workinG! !M stilL studyinG*
 
PPTX
Solid modeling
KRvEsL
 
Boundary for puppet @ puppet conf2012
Boundary
 
Distributed systems-radiology
Boundary
 
Invoke dynamic your api to hotspot
Boundary
 
Cad cam
sateesh jala
 
PDM - Precedence Diagram Method
phantai24
 
Solid modelling cg
Nareek
 
Introduction to solid modeling
*noT yeT workinG! !M stilL studyinG*
 
Solid modeling
KRvEsL
 
Ad

Similar to Boundary Front end tech talk: how it works (20)

PDF
MongoDB in FS
MongoDB
 
PPTX
MongoDB Use Cases: Healthcare, CMS, Analytics
MongoDB
 
PDF
Couchbase Korea User Gorup 2nd Meetup #1
won min jang
 
PDF
Confluent & MongoDB APAC Lunch & Learn
confluent
 
PDF
MongoDB and Web Scrapping with the Gyes Platform
MongoDB
 
PDF
Observability of InfluxDB IOx: Tracing, Metrics and System Tables
InfluxData
 
PPTX
What's new in MongoDB 3.6?
MongoDB
 
PDF
Fluentd meetup #3
Treasure Data, Inc.
 
PDF
MongoDB Tokyo - Monitoring and Queueing
Boxed Ice
 
PDF
Go simple-fast-elastic-with-couchbase-server-borkar
Dipti Borkar
 
PPTX
Couchbase Overview - Monterey Bay Information Technologists Meetup 02.15.17
Aaron Benton
 
PDF
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
SL Corporation
 
KEY
An Evening with MongoDB - Orlando: Welcome and Keynote
MongoDB
 
PDF
MongoDB .local Toronto 2019: Using Change Streams to Keep Up with Your Data
MongoDB
 
PDF
Lab pratico per la progettazione di soluzioni MongoDB in ambito Internet of T...
festival ICT 2016
 
PDF
MongoDB Solution for Internet of Things and Big Data
Stefano Dindo
 
PDF
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Dipti Borkar
 
PDF
InfluxData Platform Future and Vision
InfluxData
 
PDF
TechShift: There’s light beyond LAMP
Stephen Tallamy
 
PDF
Transition from relational to NoSQL Philly DAMA Day
Dipti Borkar
 
MongoDB in FS
MongoDB
 
MongoDB Use Cases: Healthcare, CMS, Analytics
MongoDB
 
Couchbase Korea User Gorup 2nd Meetup #1
won min jang
 
Confluent & MongoDB APAC Lunch & Learn
confluent
 
MongoDB and Web Scrapping with the Gyes Platform
MongoDB
 
Observability of InfluxDB IOx: Tracing, Metrics and System Tables
InfluxData
 
What's new in MongoDB 3.6?
MongoDB
 
Fluentd meetup #3
Treasure Data, Inc.
 
MongoDB Tokyo - Monitoring and Queueing
Boxed Ice
 
Go simple-fast-elastic-with-couchbase-server-borkar
Dipti Borkar
 
Couchbase Overview - Monterey Bay Information Technologists Meetup 02.15.17
Aaron Benton
 
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
SL Corporation
 
An Evening with MongoDB - Orlando: Welcome and Keynote
MongoDB
 
MongoDB .local Toronto 2019: Using Change Streams to Keep Up with Your Data
MongoDB
 
Lab pratico per la progettazione di soluzioni MongoDB in ambito Internet of T...
festival ICT 2016
 
MongoDB Solution for Internet of Things and Big Data
Stefano Dindo
 
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Dipti Borkar
 
InfluxData Platform Future and Vision
InfluxData
 
TechShift: There’s light beyond LAMP
Stephen Tallamy
 
Transition from relational to NoSQL Philly DAMA Day
Dipti Borkar
 
Ad

Recently uploaded (20)

PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
July Patch Tuesday
Ivanti
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
July Patch Tuesday
Ivanti
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 

Boundary Front end tech talk: how it works