Quake Data Distribution System Alan Jones Stephen Jacobs David Oppenheimer.

Slides:



Advertisements
Similar presentations
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Advertisements

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.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
How Clients and Servers Work Together. Objectives Web Server Protocols Examine how server and client software work Use FTP to transfer files Initiate.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
1 Java Networking – Part I CS , Spring 2008/9.
Networking Theory (part 2). Internet Architecture The Internet is a worldwide collection of smaller networks that share a common suite of communication.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
An Introduction to Internetworking. Why distributed systems - Share resources (devices & CPU) - Communicate people (by transmitting data)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
MIS 431 Chapter 71 Ch. 7: Advanced File Management System MIS 431 Created Spring 2006.
Prepared By E.Musa Alyaman1 Networking Theory Chapter 1.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Managing DHCP. 2 DHCP Overview Is a protocol that allows client computers to automatically receive an IP address and TCP/IP settings from a Server Reduces.
Electronic Mail (SMTP, POP, IMAP, MIME)
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
PEMSolutions Technology Training The New Early Warning System.
Bootstrap and Autoconfiguration (DHCP)
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 11.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
FTP (File Transfer Protocol) & Telnet
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
1 Version 3.0 Module 11 TCP Application and Transport.
Vassil Roussev 2 A socket is the basic remote communication abstraction provided by the OS to processes. controlled by operating system.
 TCP (Transport Control Protocol) is a connection-oriented protocol that provides a reliable flow of data between two computers.  TCP/IP Stack Application.
Routers and Routing Basics CCNA 2 Chapter 10.
Lecture 8 – Cookies & Sessions SFDV3011 – Advanced Web Development 1.
Computer Emergency Notification System (CENS)
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
QuakeWatch System CISN Display Client Technology used for Rapid and Reliable “Push” of Earthquake Information to Critical Users July 9, 2003 Paul Friberg,
Chapter 18 Host Configuration : DHCP
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
Advanced Photon Source Channel Access, CaSnooper, and CASW Kenneth Evans, Jr. Presented November 7, 2003 Argonne National Laboratory.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
1 Network Communications A Brief Introduction. 2 Network Communications.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
(class #2) CLICK TO CONTINUE done by T Batchelor.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
© MMII JW RyderCS 428 Computer Networks1 Electronic Mail  822, SMTP, MIME, POP  Most widely used application service  Sometimes only way a person ever.
The Common Gateway Interface (CGI) Pat Morin COMP2405.
What does LinkConnect do?
Chapter 11 User Datagram Protocol
ARP and RARP Objectives Chapter 7 Upon completion you will be able to:
Network Configurations
NET323 D: Network Protocols
Chapter 18 Host Configuration : DHCP
NET323 D: Network Protocols
Process-to-Process Delivery:
Networking Theory (part 2)
An Introduction to Internetworking
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
Process-to-Process Delivery: UDP, TCP
Networking Theory (part 2)
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Networking Theory (part 2)
Presentation transcript:

Quake Data Distribution System Alan Jones Stephen Jacobs David Oppenheimer

QDDS Goal Goal –Distribute rapid notification of earthquake parametric information from all regional networks and NEIC to both sophisticated earthquake recipients and the general public. Blame Blame –Designed, written by Stephen Jacobs in 1998 –Design input from SM, DO, RS, WE Supported by Alan Jones since 2000 Supported by Alan Jones since 2000 –Retired IBM’er, USGS Volunteer –Affiliated with SUNY Binghamton Administered by DO and SM Administered by DO and SM

Clients/Contributors Delivers information to Delivers information to –QDM (Recenteqs systems) –CISN Display –Software at RSN’s for teleseismic waveform triggers EqInTheNews. –PG&E GIS system –CBS News (Seismic/Eruption) 3 distribution hubs (2 USGS and one at IRIS). 3 distribution hubs (2 USGS and one at IRIS). 13 permanent, 21+ transient 13 permanent, 21+ transient

Design Strategy Based on an expanded client-server model. Based on an expanded client-server model. –In client-server model, the client makes requests to a server, and the server merely responds to each request. In this case, the server initiates contact when it has data to send as well as responding to requests. “Hub” terminology for the server-like systems at the center of the model; “Leaf" for the client-like systems “Hub” terminology for the server-like systems at the center of the model; “Leaf" for the client-like systems Each seismic network wishing to participate in the data exchange would have a "leaf“ Each seismic network wishing to participate in the data exchange would have a "leaf“ Leaves would, in general, talk to two or more "hubs". Leaves would, in general, talk to two or more "hubs". Hub does not care about at data content (usually) Hub does not care about at data content (usually)

Strategy continued Subscription to QDDS is self-initiated for users who only need to receive information Subscription to QDDS is self-initiated for users who only need to receive information Requires no intervention by maintainers of QDDS distribution systems. Requires no intervention by maintainers of QDDS distribution systems. Information delivery is designed to be robust in the presence of network outages and support large numbers of clients. Information delivery is designed to be robust in the presence of network outages and support large numbers of clients. Written in Java and therefore cross-platform portable Written in Java and therefore cross-platform portable

Strategy continued When a seismic network has data on an event to share, they put data in a file in a spool directory which the QDDS software polls every seconds. When a seismic network has data on an event to share, they put data in a file in a spool directory which the QDDS software polls every seconds. The leaf picks up the contents of the file in the spool directory, and submits/uploads it to every hub using a TCP connection. The leaf picks up the contents of the file in the spool directory, and submits/uploads it to every hub using a TCP connection. When a hub receives the message, it When a hub receives the message, it –stores it to its output and storage directory. –assigns it a unique message number independently of other hubs numbering systems –initiates distribution of message to all leaves Log everything Log everything

Permanent leaves Known to hub through its entry in the hub's comm.lst Known to hub through its entry in the hub's comm.lst Keeps trying to upload for a period of time if it does not get an immediate connection. Keeps trying to upload for a period of time if it does not get an immediate connection. Can stop running for any length of time with no problem. When it starts back up, it will again receive events. Any events lost during its down time will be requested when the leaf comes back up. Can stop running for any length of time with no problem. When it starts back up, it will again receive events. Any events lost during its down time will be requested when the leaf comes back up. A permanent leaf receives "alive" messages but it does not send alive messages. When it receives an alive message, it responds with an "Alive Reply": message which contains the Version and Level of the copy of QDDS it is running. A permanent leaf receives "alive" messages but it does not send alive messages. When it receives an alive message, it responds with an "Alive Reply": message which contains the Version and Level of the copy of QDDS it is running.

Transient leaves Can only receive messages Can only receive messages Can self (re)register with hubs Can self (re)register with hubs Not known to the hub when the hub starts. When the transient leaf starts, it issues a "request to register" command to the hub. When the hub accepts the request, it creates a new file called "comm.lst.trans" and writes the leaf's data into it. Not known to the hub when the hub starts. When the transient leaf starts, it issues a "request to register" command to the hub. When the hub accepts the request, it creates a new file called "comm.lst.trans" and writes the leaf's data into it. sends alive messages periodically to each hub to which it is attached. If a period of time goes by with no alive messages from a transient leaf, it is removed from the hub's in-memory list of leaves. The comm.lst.trans file is re-written with the leaf removed. sends alive messages periodically to each hub to which it is attached. If a period of time goes by with no alive messages from a transient leaf, it is removed from the hub's in-memory list of leaves. The comm.lst.trans file is re-written with the leaf removed.

Transmission If message < 64kb hub sends UDP datagrams If message < 64kb hub sends UDP datagrams –Minimizes use of CPU and I/O –Low connection overhead –UDP datagrams not guaranteed to reach all leaves Larger files are sent via TCP Larger files are sent via TCP –TCP socket connections are only attempted once in message distribution

Error Detection/Recovery A leaf determines that it has missed messages in one of two situations A leaf determines that it has missed messages in one of two situations –It will receive, for example, message 3 followed by message 5. –Hubs send out an "alive"/heartbeat message if no events have been dispatched in the last few minutes. The "alive" message contains the ID of the last message that was dispatched. The leaves keep track of which messages have been missed, and every few minutes send out a request for each message that is currently missing using the message number (ID). The leaves keep track of which messages have been missed, and every few minutes send out a request for each message that is currently missing using the message number (ID). The hub will respond either with a data message corresponding to that ID, or a message to say "I received your request, but I do not have a message with that ID". The hub will respond either with a data message corresponding to that ID, or a message to say "I received your request, but I do not have a message with that ID".

Limitations Cannot pass through firewalls without explicit configuration. Cannot pass through firewalls without explicit configuration. Message delivery is not guaranteed Message delivery is not guaranteed Primitive security, but Alan Jones has implemented public/private keys to the system. Primitive security, but Alan Jones has implemented public/private keys to the system. No Subscriptions (clients get everything) No Subscriptions (clients get everything) No installation package No installation package 1-sec polling, but supports callback method to receive messages directly 1-sec polling, but supports callback method to receive messages directly Protocol largely undefined Protocol largely undefined