Community Seismic Network for Early Warning Rishi Chandy Rita A. and Øisten Skjellum SURF Fellow Daniel Obenshain Kiyo and Eiko Tomiyasu SURF Scholar Daniel.

Slides:



Advertisements
Similar presentations
T-Mon SERVER CONNECTOR
Advertisements

Categories of I/O Devices
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
theory and practice collide The Next Big One: Detecting Earthquakes and Other Rare Events from Community Sensors Matthew Faulkner,
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
CCNA – Network Fundamentals
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
Community Seismic Network Daniel Obenshain along with K. Mani Chandy, Robert Clayton, Andreas Krause, Michael Olson, Matthew Faulkner, Leif Strand, Rishi.
Rapid Detection of Rare Geospatial Events: Earthquake Warning Applications A Review by Zahid Mian WPI CS525D September 10, 2012.
Tracking & Login Data persistence User tracking.
Chapter 19: Network Management Business Data Communications, 4e.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Mini-Project 2006 Secure positioning in vehicular networks based on map sharing with radars Mini-Project IC-29 Self-Organized Wireless and Sensor Networks.
Wireless LAN Topology Visualiser Project Supervisor: Dr Arkady Zaslavsky Project Team Members: Jignesh Rambhia Robert Mark Bram Tejas Magia.
Cumulative Violation For any window size  t  Communication-Efficient Tracking for Distributed Cumulative Triggers Ling Huang* Minos Garofalakis.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Final (Part A) Presentation 31/10/04 Virtual Traffic Signal Presented by: Ron Herman Ofir Shentzer Instructor: Mr. Mony Orbach Technion – Israel Institute.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
Gursharan Singh Tatla Transport Layer 16-May
Real time vehicle tracking and driver behavior monitoring using a cellular handset based on accelerometry and GPS data Kevin Burke Interim Presentation.
Mobile Sensor Application Group 4. Introduction Modern smartphones are often equipped with quite a large number of sensors. The sensors data can be used.
Wolfgang Schneider NSI: A Client-Server-Model for PKI Services.
Process-to-Process Delivery:
By: Joel Rodriguez.  International student from Mexico  Delicias, Chihuahua Mexico  Spanish  Sports and Music.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
The Pulse of UCF James Doty EEL 6788 University of Central Florida 19 April 2010.
University of Calgary – CPSC 441.  UDP stands for User Datagram Protocol.  A protocol for the Transport Layer in the protocol Stack.  Alternative to.
Indoor Localization using Wireless LAN infrastructure Location Based Services Supervised by Prof. Dr. Amal Elnahas Presented by Ahmed Ali Sabbour.
Presentation on Osi & TCP/IP MODEL
Characteristics of Communication Systems
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Mukesh N. Tekwani Elphinstone College Mumbai
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
CSCI 530 Lab Intrusion Detection Systems IDS. A collection of techniques and methodologies used to monitor suspicious activities both at the network and.
University of the Western Cape Chapter 12: The Transport Layer.

1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transmission Control Protocol
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
Quake Data Distribution System Alan Jones Stephen Jacobs David Oppenheimer.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 25 November 16, 2004.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Guide to TCP/IP Fourth Edition
Role Of Network IDS in Network Perimeter Defense.
An Active Security Infrastructure for Grids Stuart Kenny*, Brian Coghlan Trinity College Dublin.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 3 TCP and IP 1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Internet.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
GSU Indoor Navigation Senior Project Fall Semester 2013 Michael W Tucker.
IShake System: Earthquake Detection with Smartphones Presenter: Jize Zhang Da Huo Original Paper:Reilly, Jack, et al. "Mobile phones as seismologic sensors:
START Application Spencer Johnson Jonathan Barella Cohner Marker.
 Attacks and threats  Security challenge & Solution  Communication Infrastructure  The CA hierarchy  Vehicular Public Key  Certificates.
Chapter 9: Transport Layer
Chapter 3 TCP and IP Chapter 3 TCP and IP.
Instructor Materials Chapter 9: Transport Layer
Faulkner, Matthew, Michael Olson, Rishi Chandy, Jonathan Krause, K
Process-to-Process Delivery:
CS4470 Computer Networking Protocols
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Community Seismic Network for Early Warning Rishi Chandy Rita A. and Øisten Skjellum SURF Fellow Daniel Obenshain Kiyo and Eiko Tomiyasu SURF Scholar Daniel Rosenberg Kiyo and Eiko Tomiyasu SURF Scholar Annie Tang Mentors: K. Mani Chandy, Robert Clayton, Andreas Krause California Institute of Technology

Who are we? Daniel Obenshain Annie Tang Rishi Chandy Daniel Rosenberg

Our Mentors Dr. K. Mani Chandy Professor of Computer Science Dr. Andreas Krause Assistant Professor of Computer Science Dr. Rob Clayton Professor of Geophysics Michael Olson Grad Student Computer Science

Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake

Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations

Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations Providing early warning is an interesting problem Providing early warning is an interesting problem –Bayesian decision theory, geology, distributed computing

Background Earthquakes are dangerous threats Earthquakes are dangerous threats –USGS estimates 2000 deaths and $200 billion damages from 7.8 magnitude quake Early warning could minimize suffering Early warning could minimize suffering –Activate safeguards in critical operations Providing early warning is an interesting problem Providing early warning is an interesting problem –Bayesian decision theory, geology, distributed computing Current seismic network is too sparse Current seismic network is too sparse –Can’t provide enough early warning

Sensor Network is too Sparse A sensor network of one hundred sensors. A sensor network of one thousand sensors. SCSN (Southern California Seismic Network) has ~350 sensors right now.

Sensor Network is too Sparse Ten thousand sensors! Both a 3 second wave and a 1 second wave.

Early Warning Can Help Slow trains

Early Warning Can Help Slow trains Stop elevators

Early Warning Can Help Slow trains Stop elevators Open fire station doors

Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. Southern California Edison Territory

Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. The grid can be shut down and made safe prior to severe shaking. The grid can be shut down and made safe prior to severe shaking. Southern California Edison Territory

Early Warning Can Help The information can also help the electrical grid. The information can also help the electrical grid. The grid can be shut down and made safe prior to severe shaking. The grid can be shut down and made safe prior to severe shaking. Power back in a day, not weeks after earthquake. Power back in a day, not weeks after earthquake. Southern California Edison Territory

Benefits Provide Early Warning Provide Early Warning Easy deployment in areas without existing seismic networks Easy deployment in areas without existing seismic networks –Peru and Indonesia  Cell phones are prevalent Identify hard-hit areas quickly Identify hard-hit areas quickly –Direct first responders

That’s why we’re doing it. What about how we’re doing it?

Expand the Network We want to add more data. We want to add more data.

Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible?

Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible? Add in acceleration devices of different types, cell phones, laptops, etc. Add in acceleration devices of different types, cell phones, laptops, etc.

Expand the Network We want to add more data. We want to add more data. Why not get data from as many sources as possible? Why not get data from as many sources as possible? Add in acceleration devices of different types, cell phones, laptops, etc. Add in acceleration devices of different types, cell phones, laptops, etc. The User installs some client software and his or her acceleration data becomes part of the network. The User installs some client software and his or her acceleration data becomes part of the network.

The Client Registration Handler Registration Handler Sensor Handler Sensor Handler Server Registration Handler Server Registration Handler Error, No Update, or Handlers Calculation Handler Calculation Handler Alert Handler Controller Registration handler invoked on first run Returns Proceed, Error, or New Handlers Handlers and Queues managed Core processing Server Alert Listener Server Alert Listener

Picking Algorithm How often should the client send data to the server? How often should the client send data to the server?

Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring.

Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know?

Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know? It performs a simple calculation on the incoming data stream. It performs a simple calculation on the incoming data stream.

Picking Algorithm How often should the client send data to the server? How often should the client send data to the server? Only when significant shaking is occurring. Only when significant shaking is occurring. How does the client know? How does the client know? It performs a simple calculation on the incoming data stream. It performs a simple calculation on the incoming data stream. We call this the “Picking Algorithm.” We call this the “Picking Algorithm.”

Picking Algorithm STA/LTA > trigger

Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points STA/LTA > trigger

Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points LTA – Long Term Average : the average acceleration over more data points LTA – Long Term Average : the average acceleration over more data points STA/LTA > trigger

Picking Algorithm STA – Short Term Average : the average acceleration over the past several data points STA – Short Term Average : the average acceleration over the past several data points LTA – Long Term Average : the average acceleration over more data points LTA – Long Term Average : the average acceleration over more data points trigger – a threshold trigger – a threshold STA/LTA > trigger

Picking Algorithm Accelerometer Long Term Average Short Term Average

Picking Algorithm Accelerometer New Data Long Term Average Short Term Average

Picking Algorithm Accelerometer Short Term Average Long Term Average

Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.”

Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.” The algorithm then waits a little bit before sending a message to the server. The algorithm then waits a little bit before sending a message to the server.

Picking Algorithm If STA/LTA > trigger is true, then we have “picked.” If STA/LTA > trigger is true, then we have “picked.” The algorithm then waits a little bit before sending a message to the server. The algorithm then waits a little bit before sending a message to the server. This is to make sure it sends data from the peak of the wave. This is to make sure it sends data from the peak of the wave.

Picking Algorithm Pause for this length of time before sending a message to the server Detected significant shaking 2.Maximum shaking 3.Sent message to server

Picking Algorithm After sending a message to the server, the client will wait a while before picking again. After sending a message to the server, the client will wait a while before picking again.

Picking Algorithm After sending a message to the server, the client will wait a while before picking again. After sending a message to the server, the client will wait a while before picking again. This is to stop the client from picking multiple times for the same shaking. This is to stop the client from picking multiple times for the same shaking.

Picking Algorithm Delay for this length of time before picking again. 1 1.Last message sent to server 2.The coda of the earthquake, where we don’t want to pick 2

Picking Algorithm Five tunable parameters. Five tunable parameters.

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server –How long to wait between messages

Picking Algorithm Five tunable parameters. Five tunable parameters. –Length of STA –Length of LTA –Value of trigger –How long to wait after picking before sending a message to the server –How long to wait between messages They can all be tuned by the server, on a client-by-client basis. They can all be tuned by the server, on a client-by-client basis.

GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen.

GUI Promotes use of the software. Promotes use of the software.

GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen. Promotes use of the software. Promotes use of the software. Can be used in science classrooms to explain project. Can be used in science classrooms to explain project.

GUI Acceleration data is displayed in real time on the user’s screen. Acceleration data is displayed in real time on the user’s screen. Promotes use of the software. Promotes use of the software. Can be used in science classrooms to explain project. Can be used in science classrooms to explain project. Each message to the server marked by a red line. Each message to the server marked by a red line.

GUI 3 Axes 3 Axes

GUI Data streams from the right Data streams from the right

GUI 3 Axes 3 Axes Data streams from the right Data streams from the right The red line represents a message to the server The red line represents a message to the server

Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event.

Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library.

Sensor Validation Tested our sensor with artificial event. Tested our sensor with artificial event. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Compared our sensor to the SCSN (Southern California Seismic Network) sensor in the basement of Millikan Library. Caused seismic activity with a sledgehammer. Caused seismic activity with a sledgehammer.

Sensor Validation

We have since switched to better noise filtering and a better sensor We have since switched to better noise filtering and a better sensor Still, the correlation is visible Still, the correlation is visible

Client Side Overview Registration Registration –Keys, location, sensor type, address (optional) –Client ID Data Storage Data Storage –SAC file, ring buffer Heartbeat Heartbeat –Sensor “check in”, log request, playback request

Registration TCP Message: TCP Message: –Keys, location, sensor type, address (optional) –Client ID Key Generator: Key Generator: –Key pair: public key & private key –DSA

Registration Skyhook Skyhook –Software only Hybrid Positioning System (XPS)  Combine WPS, GPS, and Cellular Towers –Accuracy: 10 to 20 meters –Latitude, longitude, address –Reasons to choose Skyhook:  GPS signal is not always available  Fast and accurate  Cons: needs Wi-Fi –IP Address

Data Storage Ring Buffer Ring Buffer –New data is pushed in –Oldest data is deleted –Keep STA/LTA SAC File SAC File –Seismic Analysis Code –Analyze data in time series

Data Storage SAC File (continue) SAC File (continue) –Header  Sampling interval, start time, length, station location, etc. –Logs

Heartbeat TCP Message TCP Message –Time, location, Client ID –Log Request, Playback Request, Updates Purpose Purpose –Active Sensors –Current Locations –Communication between client and server –Calibration

Data

Data We have lots of it.

Server Four main tasks Four main tasks –Handle new user registration

Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages

Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages –Handle heartbeat messages

Server Four main tasks Four main tasks –Handle new user registration –Listen for pick messages –Handle heartbeat messages –Analyze data Main tech Main tech –Java, PHP, Javascript, XML –MySQL –Apache Java Libraries

Server Registration Handler Pick Handler Heartbeat Handler DatabaseAssociator

Messaging Open and extensible XML schema Open and extensible XML schema –Allows others to join the network We use TCP and UDP We use TCP and UDP

UDP vs TCP We send messages using two different protocols. TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) –Handshake delay –Error correction

UDP vs TCP We send messages using two different protocols. TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) –Handshake delay –Error correction UDP (User Datagram Protocol) UDP (User Datagram Protocol) –Fast –Unreliable

Pick Message Handler Pick messages are sent using UDP packets. Reasons: Reasons: –Unsure of condition of network –Speed is important

Pick Message Handler Listen for incoming picks Listen for incoming picks

Pick Message Handler Listen for incoming picks Listen for incoming picks –Parse message

Pick Message Handler Listen for incoming picks Listen for incoming picks –Parse message –Check signature

Pick Message Handler Listen for incoming picks Listen for incoming picks –Parse message –Check signature –Check for playback flag  If the flag is not present, the pick is stored in the database.  If the message is flagged as playback, it is written to a separate table in the database.

Security All messages from the client are verified using XML signatures. All messages from the client are verified using XML signatures.

Security –Client has private key, Server knows public key

Security All messages from the client are verified using XML signatures. All messages from the client are verified using XML signatures. –Client has private key, Server knows public key –Client signs messages using its private key

Security All messages from the client are verified using XML signatures. All messages from the client are verified using XML signatures. –Client has private key, Server knows public key –Client signs messages using its private key –Server verifies messages using the stored public key

Security All messages from the client are verified using XML signatures. All messages from the client are verified using XML signatures. –Client has private key, Server knows public key –Client signs messages using its private key –Server verifies messages using the stored public key This prevents any message interception attacks This prevents any message interception attacks We can control valid clientIDs We can control valid clientIDs

Server-side Challenges Incoming messages from a vast network Incoming messages from a vast network –Can’t get overwhelmed –Want to grab as much data as we can –Application must be scalable Response time is critical Response time is critical –Excessive latency is unacceptable –Indiana Jones effect Methods must be accurate and precise Methods must be accurate and precise –EW is useless otherwise

Registration Clients sends XML Clients sends XML –Latitude, Longitude –Public Key Server returns XML Server returns XML –Unique clientID

Example Registration XML 349oi3j4oij32ui E California Blvd Pasadena, CA usb:deviceID

Heartbeat Clients update us on their status Clients update us on their status –location Server returns: Server returns: –Software updates –Tunable parameters –Playback waveforms –Log Requests Location is updated in DB Location is updated in DB

Playback Operation We can distribute waveforms for clients to simulate We can distribute waveforms for clients to simulate

Playback Operation We can distribute waveforms for clients to simulate We can distribute waveforms for clients to simulate Stress-test the network Stress-test the network Evaluate new algorithms Evaluate new algorithms Determine network latencies Determine network latencies

Log Requests Clients send Pick Messages using UDP Clients send Pick Messages using UDP –Sufficient for early warning calculation

Log Requests Clients send Pick Messages using UDP Clients send Pick Messages using UDP –Sufficient for early warning calculation –Insufficient for later analysis After an earthquake, server requests logs during Heartbeat After an earthquake, server requests logs during Heartbeat

Server Operation Registration Listener Registration Listener Alert Listener Clients’ Registration Handlers Clients’ Registration Handlers Signed Regstr Mesg Error, No Update, or Handlers Calculation Handler Calculation Handler Warning Handler Warning Handler Controller Server’s Registration Listener is self-contained Handlers and Queues managed Core processing Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Equipment, devices, notification systems Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Registration Handlers Clients’ Alert Handlers Clients’ Alert Handlers

Server-side Analysis Bayesian decision-making Bayesian decision-making

Server-side Analysis Bayesian decision-making Bayesian decision-making Once posterior is sufficient, we send EW Once posterior is sufficient, we send EW

Next Steps Cell phones w/ accelerometers Cell phones w/ accelerometers –Android Laptops w/ accelerometers Laptops w/ accelerometers Google App Engine Google App Engine –Robust, scalable

Acknowledgements Thanks to Professors K. Mani Chandy, Rob Clayton, Andreas Krause, and Michael Olson for their mentorship and guidance Thanks to Professors K. Mani Chandy, Rob Clayton, Andreas Krause, and Michael Olson for their mentorship and guidance Our generous SURF sponsors Our generous SURF sponsors –Rita A. and Øisten Skjellum –Kiyo and Eiko Tomiyasu

Thank You Q&A Session