TSMP Time Synchronized Mesh Protocol Seminar in Distributed - - PowerPoint PPT Presentation

tsmp
SMART_READER_LITE
LIVE PREVIEW

TSMP Time Synchronized Mesh Protocol Seminar in Distributed - - PowerPoint PPT Presentation

TSMP Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zrich Joo Moreno TSMP: Time Synchronized Mesh Protocol Overview Definition Background Protocol Details Results Conclusions Seminar in Distributed


slide-1
SLIDE 1

Time Synchronized Mesh Protocol

TSMP

Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

slide-2
SLIDE 2

Overview

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Definition Background Protocol Details Results Conclusions

slide-3
SLIDE 3

What is it?

The TSMP is a medium access and networking protocol that provides reliable, low power and secure communication in a managed wireless mesh network!

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Also... scalable, flexible, low-maintenance, self-organizing, self-healing, wow!

slide-4
SLIDE 4

Background Check

industrial

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

monitoring control warning alarm automation Presented on DSN 2008, Orlando, Florida, USA Kristofer S. J. Pister, Lance Doherty

slide-5
SLIDE 5

Management

Yup, managed network. TSMP relies on the existence of a centralized controller to coordinate the communication schedule of the network. This guy is called the manager. Real deployments show that scalability and robustness are no big issues. But the limit is somewhere.

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

slide-6
SLIDE 6

Wireless Challenges

Interference Blocked paths Node loss

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

what?! I said... "can you hear me?!"

slide-7
SLIDE 7

TSMP is all about...

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Application Presentation Session Network Media Access Physical

slide-8
SLIDE 8

MA C

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

slide-9
SLIDE 9

Packet format

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno PHY Preamble MAC Header NET Header Payload APP MIC MAC MIC FCS

In the 802.15.4 wireless standard, packet size is 127 bytes,

  • f which 47 bytes are reserved by TSMP,

leaving 80 bytes as payload.

80 bytes

slide-10
SLIDE 10

Packet format

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno PHY Preamble MAC Header NET Header Payload APP MIC MAC MIC FCS

The MAC header contains information about Per-hop addressing and timing. The NET header contains information on End-to-End addressing and routing.

slide-11
SLIDE 11

Packet format

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno PHY Preamble MAC Header NET Header Payload APP MIC MAC MIC FCS

TSMP first constructs a Message Integrity Code of both the application layer payload and a nonce that resides in the Network Header.

slide-12
SLIDE 12

Packet format

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno PHY Preamble MAC Header NET Header Payload APP MIC MAC MIC FCS

Then, the MAC Message Integrity Code is build from both headers, the payload and the previous MIC.

slide-13
SLIDE 13

Nice packet!

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

TSM P

slide-14
SLIDE 14
  • 1. TDMA

Reduces interference from other TSMP nodes by scheduling communication in precise instances of time.

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time Division Multiple Access

Frame

Unallocated slot Allocated slot

Time

slide-15
SLIDE 15
  • 1. TDMA

Also, it may reduce energy consumption and increase credibility of QoS promises.

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time Division Multiple Access

Frame

Unallocated slot Allocated slot

Time

sync!

slide-16
SLIDE 16

Synchronization

Rule #1: Do it well

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Sync frequency Energy consumption

VS.

slide-17
SLIDE 17

Synchronization

Rule #2: Do it fast

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time spent sync'ing Time gained by sync'ing

VS.

slide-18
SLIDE 18

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time sync information is shared by piggybacking it with every ACK packet!

TSM P

ACK

  • h hai there!
slide-19
SLIDE 19

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Establish Tg seconds as the worst-case clock skew between any two nodes. Guard time → 2Tg A node expects a packet at instant t.

slide-20
SLIDE 20

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Given a guard time Tg, how often (Tsync) need two nodes to synchronize?

slide-21
SLIDE 21

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

r1 r2

ε ← r2 - r1

Once synced at t0, synced again at t, with synch error δ. Worst difference in shared time is Δtmax = ε (t - t0) + δ. Δtmax < Tg

(t - t0)max = Tsync < ( Tg - δ ) / ε !!!

slide-22
SLIDE 22

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

r1 r2

Tsync < ( Tg - δ ) / ε For example, define a guard time of ±1ms, 50μs of synch error and ±10ppm of rate difference between two nodes... ... they need to be synchronized every 48s!

slide-23
SLIDE 23

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

What if they're not? brb...

slide-24
SLIDE 24

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time is propagated from a single time-master...

mine is a Rolex!

slide-25
SLIDE 25

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

cool, I have a Swatch

... through a loop-free graph of participating nodes, creating a parent-child like hierarchy.

slide-26
SLIDE 26

TSMP Synchronization

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

What if they're not? Parents can broadcast beacon packets. Children can send keepalive packets. Ultimately how often your nodes will sync depends on the type

  • f network installed: periodic data-gathering, alert-based, et al.
slide-27
SLIDE 27
  • 2. FHSS

Reduces interference probability by spreading the signal over several channels, using different frequencies.

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Frequency-hopping Spread Spectrum

Time Channel

  • ffset

Frame

eeny meeny

slide-28
SLIDE 28
  • 2. FHSS

Also, it increases bandwidth in the order of the number of channels!

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Frequency-hopping Spread Spectrum

Time Channel

  • ffset

Frame

eeny meeny miny moe

slide-29
SLIDE 29

TSMP Channel Hopping

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Channel = Lookup[(ASN + Offset) % #Channels] Lookup is a randomly sorted loop-up-table with values ranging from 0 to #Channels-1. ASN stands for the Absolute Slot Number since the beginning

  • f the network.

Communication happens in links which are characterized by their offsets (more on links later).

slide-30
SLIDE 30

Bandwidth

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Using the 802.15.4 wireless, with 16 channels, 60 time slots per second and 80 bytes of payload, theoretically we get 16 * 60 * 80 = 76.8 KB/second

  • f application level bandwidth.
slide-31
SLIDE 31

Network Maintenance

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

But, do remember that TSMP reserves time slots for network configuration, neighbor discovery and join requests listening. This will come in handy in a sec...

slide-32
SLIDE 32
  • 3. DSSS

Reduces interference probability by spreading the signal over more bandwidth.

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Direct-sequence Spread Spectrum

Original signal Resulting signal Bandwidth Frequency

slide-33
SLIDE 33
  • 3. DSSS

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Direct-sequence Spread Spectrum

Original signal

Chipping sequence Resulting signal

slide-34
SLIDE 34
  • 3. DSSS

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Direct-sequence Spread Spectrum

Decoded signal Chipping sequence Received signal

slide-35
SLIDE 35

Extra: Link-Layer ACKs

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

One more thing... ACKs are generated on the Link layer! After FCS and MAC MIC verification, a positive or negative ACK is sent back accordingly.

PHY Preamble MAC Header NET Header Payload APP MIC MAC MIC FCS

slide-36
SLIDE 36

Extra: Link-Layer ACKs

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Provides reliability without too much overhead by doing this: instead of this:

slide-37
SLIDE 37

NET

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

slide-38
SLIDE 38

Definitions

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Paths, routes, links, oh my! Links are requested to the manager and with more links comes more bandwidth!

slide-39
SLIDE 39

Graph Routing

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Link allocation creates graphs of data flow! Multiple communication graphs in the same network are possible.

slide-40
SLIDE 40

Definitions

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

A network is a set of nodes that share a network ID, typically rooted by a gateway node that is both the timing master and responsible for relaying network configuration. But: "all nodes are created equal".

slide-41
SLIDE 41

Mesh Routing

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

A router node might become an end node, throughout the existence of the network, and vice-versa. Flexibility, extendability, scalability. Configurability too!

slide-42
SLIDE 42

Mesh Routing

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

TSMP provides fully redundant mesh routing and relies on both automatic node joining and constant network healing.

slide-43
SLIDE 43

Fully Redundant Routing

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

"Redundancy by diversity" Spacial diversity by maintaining multiple parent nodes and requesting links that connect to them. Temporal diversity by retry (ACKs) and failover mechanisms (memorization of missing ACKs).

slide-44
SLIDE 44

Joining a Network

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

A node tries to join a network by scanning several frequencies, looking for some communication going on.

slide-45
SLIDE 45

Joining a Network

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Once it listens to a network advertisement, it can synchronize with the network. Then, it continues the search for neighbors, but only using the time slots.

slide-46
SLIDE 46

Joining a Network

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

It builds a neighbor list and sends it in a join request to the

  • network. Eventually, the manager will receive, evaluate and

respond to it.

slide-47
SLIDE 47

Joining a Network

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

The manager assigns it some links, and after choosing its parent (s), it gets warmly welcomed in the group.

hi, my name is Bob and I'm a node hi Bob you're very brave, Bob

slide-48
SLIDE 48

Healing

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Periodic health reports are sent to the manager and have statistics like MAC packets transmitted and failed, APP layer packets dropped, battery life, etc. They provide the manager the right information for graph modifications and efficient link management.

slide-49
SLIDE 49

Network Modification

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Periodic neighbor discovery allows TSMP to stay in constant evolution by taking advantage of the temporal changes that might happen in the network. This provides network optimization as well as repair. Might be turned off for energy saving purposes.

slide-50
SLIDE 50

Security

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

The NET layer encrypts the application payload and authenticates the payload and NET header. The MAC layer authenticates the entire packet. Integrity is guaranteed via both the NET and MAC MICs.

slide-51
SLIDE 51

Security

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Encryption is a centralized security mechanism. Every network has a pre-configured Join Key. Upon joining a network with the right Join Key, and having been identified, a node is sent a Session Key, pseudo-randomly generated by the manager, used for encryption, and the Network Key, used for authentication.

slide-52
SLIDE 52

Results - Range

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Coker unit at oil refinery 24 nodes, no initial config, several hops of over 100m, installation performed by contractor. Reliability > 99.97% !

Network range over 400m

slide-53
SLIDE 53

Results - Reliability

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Print shop 44 nodes, 3-floor, 15.000m2 concrete and steel structure, environment heavily equipped with machines. Measurements over 26 days recorded 17 out of 3.6 million packets lost! Even with occasional paths' stabilities going down to null for entire days.

slide-54
SLIDE 54

Conclusions

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno

Time sync enables better performance in low-power networks than in an async fashion. Channel hopping provides higher stability and bandwidth. Link allocation for graph routing is the secret towards flexibility. Central management can indeed provide commercially interesting deployments (up to hundreds of nodes).

slide-55
SLIDE 55

Thanks!

TSMP: Time Synchronized Mesh Protocol Seminar in Distributed Computing, FS 2010, ETH Zürich João Moreno