SlideShare a Scribd company logo
SeamBlue:
Seamless Bluetooth Low Energy Connection
Migration for Unmodified IoT Devices
Wil Shen
2018/07/17
Reference
• “SeamBlue: Seamless Bluetooth Low Energy Connection Migration
for Unmodified IoT Devices”, Proceeding EWSN ’17 Proceedings of
the 2017 International Conference on Embedded Wireless Systems
and Networks, Pages 132-143, February 20 – 22, 2017
Outline
• Introduction of connection migration
• SeamBlue Framework
– Workflow
– Design Details
• Evaluation
• Conclusion
Introduction of connection migration -
Usage Scenario
Hospitals:
1. Patients can be localized and tracked
2. Physiological signals (HR) can be monitored
using a network of gateways deployed
3. Continuous monitoring and uninterrupted
services by connecting to nearby gateways.
Theme Parks:
1. Parents can monitor and locate their missing kids
via their mobile phone.
2. A passport for just about everything in the park.
3. Store credit card information to facilitate
transactions.
Magical Wristband
Seamless BLE Connectivity architecture
Challenges to BLE Connection Migration
Unmodified IoT Devices
• billions of IoT devices are already in use  no
changes
• Only change the BLE implementation of the
gateways
Identifying State Variables
• (bad) Manually browsing a large code base (up to
100K lines of code)
• (good) automatically finding
Gateway Selection for Connection
Transfer
• Not all the gateways in a network should be a
receiver of this information.
• A subset of gateways are selected
Secure and Fast Connection Transfer
• An adversary cannot obtain information and
impersonate a legitimate gateway. T
• The connection transfer should be fast enough
so that the services are not disrupted.
• The current gateway may need to establish a
trust relationship with that untrusted gateway
The Paper Proposed
A framework ensures seamless communication
• unmodified, BLE-enabled mobile IoT device
• without requiring pairing-bonding and connections to individual gateways.
A systematic approach for identifying connection state
• Static program analysis for BLE code base
• pairing-bonding and connection information
Two approaches for capturing a snapshot of connection state
• full stack cloning
• partial stack cloning
Gateway Selection
• the most suitable gateway for transferring information
SeamBlue Overview
A framework ensures seamless communication
A systematic approach for identifying connection state
Two approaches for capturing a snapshot of connection state
Gateway Selection
Step 1 - Performs static analysis on BLE source code and the
identified set of variables (that are required for connection transfers)
Manual Static Code Analysis?
• Cost 80+ man-hours.
• Connection States = program variables and objects
 are spread over different layers of BLE stack.
s1
s2
s3
s4
s5
Automatic Static Code Analysis
• Converted BLE code to intermediate representation (IR) using LLVM compiler
• build complete call graph
• Direct function call - build the control flow graph (CFG) from the IR
• Indirect function call - Use points-to analysis to find the all possible targets of any
indirect call in the program.
Automatic Static Code Analysis
The LLVM Compiler Infrastructure
• 非常模組化的編譯器
LLVM IR
C program
Control-flow graph (CFG)
Automatic Static Code Analysis
Packet Reception – from recv packet() to accept payload() call
• Functions in call chain - context and field sensitive inter-procedural points to analysis
• The set of basic blocks containing accept_payload() – intra-procedural post-
dominance frontier (PDF)
• Extract path constraints (branch instructions) from block
• Variables associated with path constraints  connection state variable
Dominance Frontier
• Node 5’s dominated region
is shown in grey
• Edges 6 -> 4; 8 -> 5; 8 -> 13;
and 7 -> 12 crossed the
border
•  Nodes 4, 5, 12, 13 form
the dominance frontier of
node 5.
支配節點
Automatic Static Code Analysis
accept_payload() -> packet processing functions (gateway generates events)
• Call-graph - To slice the code base into specific portions which process the
packet – points-to analysis
• Identify local/global variables that are defined
• Resolve local-variable aliasing
Resultant Set of Connection State Variable
BLE Stack Cloning
• Partial Stack Cloning required an additional
connection request for updating Link Layer values
Step 2 – the current gateway extracts
a set of pairing-bonding information from the connection
instrument the BLE
implementation to
obtain runtime values
Step 3 – disseminates the information
to a set of candidates gateways
Disseminates information
• (1) Pairing and bonding with
gateway A
• (2) gateway A shares pairing-
bonding information with the
gateways B, C, D, and E.
Step 4 – add the IoT device as a bonded(?) device.
but do not
initiate a connection
if two devices want to exchange data securely
• Pairing process - two devices exchange their identity information to
set up the trust and then establish the encryption keys for future
data exchange.
– By Security Manager Protocol (SMP)
• Identity Resolving key (IRK), 128bit
• Connection Signature Resolving Key (CSRK), 128bit
• Long Term Key (LTK), 128bit
• Encrypted Diversifier (EDIV), 16bit
• Random Number (RAND), 64bit
• Bonding process: storing the keys created during pairing for use in
subsequent connections in order to form a trusted device pair.
Step 5 – Perceiving the device moves out of it range
Ping-pong effect.
to estimate the
moving direction
(a) Subsequent gateway selection and
connection transfer as the user with
device moves from gateway A to D.
(b) Gateways selection and ping-pong
effect.
Common region
SeamBlue –
(1) Motion Predication
(2) Delay tolerant approach
Step 6 – identifies and transfers the snapshot
Step 7 – creates required objects related to connection, stores
information into NONVOL
the peripheral seamlessly connected to the subsequent gateway
Evaluation
• 1. Success rate of BLE connection migration is
measured
– Ping-pong effect is evaluated.
• 2. Overhead of SeamBlue
Experimental Setup - device
x5
Experimental Setup - Testbed
• Hanging Nexus 5 as IoT
gateways
• Any physical space is shared
by at most two gateways.
• some areas fall within the
ranges of more than two
gateways.
Experimental Setup - Applications
• BLE peripherals - nRF Connect
application
– Periodically sends packet of size
20bytes every second
• Gateways – a custom application
for Heart Rate monitoring service
Evaluation Result 1 –
BLE Connection Migration Success Rate
• 100% in our testbed - we found every connection
migration request successful when IoT devices are
both static and moving at different speeds
Ping-Pong Effect
• Connection Switch Times: 2X rate with the number of common
regions.
• SeamBlue – with motion predication  reduce half times
Evaluation Result 2 – Migration Cost
Extra bytes required for connection migration
• Both sends 512bytes for bonding
• Full stack cloning sends 2048 bytes
Time required for adding a peripheral as a bonded device
• Requires the gateway to load the device information from NVRAM
Time required for transferring state variables
• to transfer the state variables over WiFi.
Time required for connection migration
Packet loss
Time required for adding a peripheral as a
bonded device
Higher CPU speed and memory
Time Required for Transferring State Variables
the control plane packet losses increases with users mobility, the time
required for all the scenarios increases slightly with the increase of the
users moving speed.
Time Required For Connection Migration
(1) extract the values of connection related variables
(2) send this information to the next gateways securely
(3) decrypt the received information
(4) update the connection related state variables.
Number of packets lost
• Data packets are sent with 1 second time interval
loss of at most 2 packets
Conclusion
• Static analysis module (CFG !!!)
• A gateway selection mechanism (?)
• Reduces both communication overhead and
latency

More Related Content

What's hot

Carrier Ethernet
Carrier EthernetCarrier Ethernet
Carrier Ethernet
Azhar Khuwaja
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
Vipin Gupta
 
Deep Packet Inspection technology evolution
Deep Packet Inspection technology evolutionDeep Packet Inspection technology evolution
Deep Packet Inspection technology evolution
Daniel Vinyar
 
Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015
Deborah Porchivina
 
Software Defined Networking - 1
Software Defined Networking - 1Software Defined Networking - 1
Software Defined Networking - 1
Pradeep Kumar TS
 
SDN interfaces and performance analysis of SDN components
SDN interfaces and performance analysis of SDN componentsSDN interfaces and performance analysis of SDN components
SDN interfaces and performance analysis of SDN components
Steffen Gebert
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCoreEqual Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Hai Dinh Tuan
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
Azhar Khuwaja
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)
Ahmed Ayman
 
Ccna exploration 3 lan switching and wireless
Ccna exploration 3 lan switching and wirelessCcna exploration 3 lan switching and wireless
Ccna exploration 3 lan switching and wireless
kratos2424
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
Ahmed Marzouk
 
Sdn ppt
Sdn pptSdn ppt
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
Isaku Yamahata
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
Bangladesh Network Operators Group
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
idrajeev
 
RTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SDRTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SD
Real-Time Innovations (RTI)
 
Software defined networking
Software defined networkingSoftware defined networking
Software defined networking
Google
 
Dave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
Dave Chandler Presents SDN at World Wide Technology's TECday - St. LouisDave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
Dave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
World Wide Technology
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation
Frikha Nour
 

What's hot (19)

Carrier Ethernet
Carrier EthernetCarrier Ethernet
Carrier Ethernet
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
 
Deep Packet Inspection technology evolution
Deep Packet Inspection technology evolutionDeep Packet Inspection technology evolution
Deep Packet Inspection technology evolution
 
Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015
 
Software Defined Networking - 1
Software Defined Networking - 1Software Defined Networking - 1
Software Defined Networking - 1
 
SDN interfaces and performance analysis of SDN components
SDN interfaces and performance analysis of SDN componentsSDN interfaces and performance analysis of SDN components
SDN interfaces and performance analysis of SDN components
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCoreEqual Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCore
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)
 
Ccna exploration 3 lan switching and wireless
Ccna exploration 3 lan switching and wirelessCcna exploration 3 lan switching and wireless
Ccna exploration 3 lan switching and wireless
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Software defined network and Virtualization
Software defined network and VirtualizationSoftware defined network and Virtualization
Software defined network and Virtualization
 
RTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SDRTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SD
 
Software defined networking
Software defined networkingSoftware defined networking
Software defined networking
 
Dave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
Dave Chandler Presents SDN at World Wide Technology's TECday - St. LouisDave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
Dave Chandler Presents SDN at World Wide Technology's TECday - St. Louis
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation
 

Similar to 20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)

MPLS ppt
MPLS pptMPLS ppt
MPLS ppt
Jagtar Dhaliwal
 
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
 
The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines
Netronome
 
Internet of Things Protocol - Session 2
Internet of Things Protocol - Session 2Internet of Things Protocol - Session 2
Internet of Things Protocol - Session 2
NEEVEE Technologies
 
Banking and ATM networking reports
Banking and ATM networking reportsBanking and ATM networking reports
Banking and ATM networking reports
Shakib Ansaar
 
Integrating wireless sensor network into cloud services for real time data co...
Integrating wireless sensor network into cloud services for real time data co...Integrating wireless sensor network into cloud services for real time data co...
Integrating wireless sensor network into cloud services for real time data co...
Rajeev Piyare
 
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
Mokpo National University
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.com
ULLPTT
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.com
ULLPTT
 
Chapter 6 - Mobile Network Layer.ppt111111
Chapter 6 - Mobile Network Layer.ppt111111Chapter 6 - Mobile Network Layer.ppt111111
Chapter 6 - Mobile Network Layer.ppt111111
abenimelos
 
Chapter 6 - Mobile Network Layer.ppt11111
Chapter 6 - Mobile Network Layer.ppt11111Chapter 6 - Mobile Network Layer.ppt11111
Chapter 6 - Mobile Network Layer.ppt11111
abenimelos
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
punjab engineering college, chandigarh
 
CCN CEP.pptx
CCN CEP.pptxCCN CEP.pptx
CCN CEP.pptx
NOOR69810
 
IoT2.pdf
IoT2.pdfIoT2.pdf
IoT2.pdf
ShanuNizar2
 
ITN3052_04_Switched_Networks.pdf
ITN3052_04_Switched_Networks.pdfITN3052_04_Switched_Networks.pdf
ITN3052_04_Switched_Networks.pdf
ssuser2d7235
 
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptxGSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
null - The Open Security Community
 
Raga_SDN_NSX_1
Raga_SDN_NSX_1Raga_SDN_NSX_1
Raga_SDN_NSX_1
Ranjith Kumar
 
SDN & NFV.pptx
SDN & NFV.pptxSDN & NFV.pptx
SDN & NFV.pptx
RUKESHK1
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
SDN Hub
 
Network Telemetry
Network TelemetryNetwork Telemetry
Network Telemetry
Aalok Shah
 

Similar to 20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue) (20)

MPLS ppt
MPLS pptMPLS ppt
MPLS ppt
 
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
 
The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines
 
Internet of Things Protocol - Session 2
Internet of Things Protocol - Session 2Internet of Things Protocol - Session 2
Internet of Things Protocol - Session 2
 
Banking and ATM networking reports
Banking and ATM networking reportsBanking and ATM networking reports
Banking and ATM networking reports
 
Integrating wireless sensor network into cloud services for real time data co...
Integrating wireless sensor network into cloud services for real time data co...Integrating wireless sensor network into cloud services for real time data co...
Integrating wireless sensor network into cloud services for real time data co...
 
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
Integrating Wireless Sensor Network into Cloud Services for Real-time Data Co...
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.com
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.com
 
Chapter 6 - Mobile Network Layer.ppt111111
Chapter 6 - Mobile Network Layer.ppt111111Chapter 6 - Mobile Network Layer.ppt111111
Chapter 6 - Mobile Network Layer.ppt111111
 
Chapter 6 - Mobile Network Layer.ppt11111
Chapter 6 - Mobile Network Layer.ppt11111Chapter 6 - Mobile Network Layer.ppt11111
Chapter 6 - Mobile Network Layer.ppt11111
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
CCN CEP.pptx
CCN CEP.pptxCCN CEP.pptx
CCN CEP.pptx
 
IoT2.pdf
IoT2.pdfIoT2.pdf
IoT2.pdf
 
ITN3052_04_Switched_Networks.pdf
ITN3052_04_Switched_Networks.pdfITN3052_04_Switched_Networks.pdf
ITN3052_04_Switched_Networks.pdf
 
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptxGSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
GSM-CallFlowAndSecurity Features (2G-3G-4G).pptx
 
Raga_SDN_NSX_1
Raga_SDN_NSX_1Raga_SDN_NSX_1
Raga_SDN_NSX_1
 
SDN & NFV.pptx
SDN & NFV.pptxSDN & NFV.pptx
SDN & NFV.pptx
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 
Network Telemetry
Network TelemetryNetwork Telemetry
Network Telemetry
 

More from Will Shen

16格筆記讀書法
16格筆記讀書法16格筆記讀書法
16格筆記讀書法
Will Shen
 
Bade Smells in Code
Bade Smells in CodeBade Smells in Code
Bade Smells in Code
Will Shen
 
Intro To BOOST.Spirit
Intro To BOOST.SpiritIntro To BOOST.Spirit
Intro To BOOST.Spirit
Will Shen
 
20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...
Will Shen
 
20060411 face recognition using face arg matching
20060411 face recognition using face arg matching20060411 face recognition using face arg matching
20060411 face recognition using face arg matching
Will Shen
 
20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)
Will Shen
 
20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing
Will Shen
 
20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis
Will Shen
 
20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine
Will Shen
 
Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)
Will Shen
 
Junit Recipes - Elementary tests (1/2)
Junit Recipes  - Elementary tests (1/2)Junit Recipes  - Elementary tests (1/2)
Junit Recipes - Elementary tests (1/2)
Will Shen
 
Junit Recipes - Intro
Junit Recipes - IntroJunit Recipes - Intro
Junit Recipes - Intro
Will Shen
 
20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software
Will Shen
 
20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...
Will Shen
 
20041221 gui testing survey
20041221 gui testing survey20041221 gui testing survey
20041221 gui testing survey
Will Shen
 
20060927 application facades
20060927 application facades20060927 application facades
20060927 application facades
Will Shen
 
20111018 boost and gtest
20111018 boost and gtest20111018 boost and gtest
20111018 boost and gtest
Will Shen
 
Data collection for field studies
Data collection for field studiesData collection for field studies
Data collection for field studies
Will Shen
 

More from Will Shen (18)

16格筆記讀書法
16格筆記讀書法16格筆記讀書法
16格筆記讀書法
 
Bade Smells in Code
Bade Smells in CodeBade Smells in Code
Bade Smells in Code
 
Intro To BOOST.Spirit
Intro To BOOST.SpiritIntro To BOOST.Spirit
Intro To BOOST.Spirit
 
20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...
 
20060411 face recognition using face arg matching
20060411 face recognition using face arg matching20060411 face recognition using face arg matching
20060411 face recognition using face arg matching
 
20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)
 
20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing
 
20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis
 
20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine
 
Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)
 
Junit Recipes - Elementary tests (1/2)
Junit Recipes  - Elementary tests (1/2)Junit Recipes  - Elementary tests (1/2)
Junit Recipes - Elementary tests (1/2)
 
Junit Recipes - Intro
Junit Recipes - IntroJunit Recipes - Intro
Junit Recipes - Intro
 
20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software
 
20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...
 
20041221 gui testing survey
20041221 gui testing survey20041221 gui testing survey
20041221 gui testing survey
 
20060927 application facades
20060927 application facades20060927 application facades
20060927 application facades
 
20111018 boost and gtest
20111018 boost and gtest20111018 boost and gtest
20111018 boost and gtest
 
Data collection for field studies
Data collection for field studiesData collection for field studies
Data collection for field studies
 

Recently uploaded

Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
Prakhyath Rai
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
b0754201
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
vmspraneeth
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
AnasAhmadNoor
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 

Recently uploaded (20)

Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 

20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)

  • 1. SeamBlue: Seamless Bluetooth Low Energy Connection Migration for Unmodified IoT Devices Wil Shen 2018/07/17
  • 2. Reference • “SeamBlue: Seamless Bluetooth Low Energy Connection Migration for Unmodified IoT Devices”, Proceeding EWSN ’17 Proceedings of the 2017 International Conference on Embedded Wireless Systems and Networks, Pages 132-143, February 20 – 22, 2017
  • 3. Outline • Introduction of connection migration • SeamBlue Framework – Workflow – Design Details • Evaluation • Conclusion
  • 4. Introduction of connection migration - Usage Scenario Hospitals: 1. Patients can be localized and tracked 2. Physiological signals (HR) can be monitored using a network of gateways deployed 3. Continuous monitoring and uninterrupted services by connecting to nearby gateways. Theme Parks: 1. Parents can monitor and locate their missing kids via their mobile phone. 2. A passport for just about everything in the park. 3. Store credit card information to facilitate transactions. Magical Wristband
  • 6. Challenges to BLE Connection Migration Unmodified IoT Devices • billions of IoT devices are already in use  no changes • Only change the BLE implementation of the gateways Identifying State Variables • (bad) Manually browsing a large code base (up to 100K lines of code) • (good) automatically finding Gateway Selection for Connection Transfer • Not all the gateways in a network should be a receiver of this information. • A subset of gateways are selected Secure and Fast Connection Transfer • An adversary cannot obtain information and impersonate a legitimate gateway. T • The connection transfer should be fast enough so that the services are not disrupted. • The current gateway may need to establish a trust relationship with that untrusted gateway
  • 7. The Paper Proposed A framework ensures seamless communication • unmodified, BLE-enabled mobile IoT device • without requiring pairing-bonding and connections to individual gateways. A systematic approach for identifying connection state • Static program analysis for BLE code base • pairing-bonding and connection information Two approaches for capturing a snapshot of connection state • full stack cloning • partial stack cloning Gateway Selection • the most suitable gateway for transferring information
  • 8. SeamBlue Overview A framework ensures seamless communication A systematic approach for identifying connection state Two approaches for capturing a snapshot of connection state Gateway Selection
  • 9. Step 1 - Performs static analysis on BLE source code and the identified set of variables (that are required for connection transfers)
  • 10. Manual Static Code Analysis? • Cost 80+ man-hours. • Connection States = program variables and objects  are spread over different layers of BLE stack. s1 s2 s3 s4 s5
  • 11. Automatic Static Code Analysis • Converted BLE code to intermediate representation (IR) using LLVM compiler • build complete call graph • Direct function call - build the control flow graph (CFG) from the IR • Indirect function call - Use points-to analysis to find the all possible targets of any indirect call in the program.
  • 12. Automatic Static Code Analysis The LLVM Compiler Infrastructure • 非常模組化的編譯器 LLVM IR C program
  • 14. Automatic Static Code Analysis Packet Reception – from recv packet() to accept payload() call • Functions in call chain - context and field sensitive inter-procedural points to analysis • The set of basic blocks containing accept_payload() – intra-procedural post- dominance frontier (PDF) • Extract path constraints (branch instructions) from block • Variables associated with path constraints  connection state variable
  • 15. Dominance Frontier • Node 5’s dominated region is shown in grey • Edges 6 -> 4; 8 -> 5; 8 -> 13; and 7 -> 12 crossed the border •  Nodes 4, 5, 12, 13 form the dominance frontier of node 5. 支配節點
  • 16. Automatic Static Code Analysis accept_payload() -> packet processing functions (gateway generates events) • Call-graph - To slice the code base into specific portions which process the packet – points-to analysis • Identify local/global variables that are defined • Resolve local-variable aliasing
  • 17. Resultant Set of Connection State Variable
  • 18. BLE Stack Cloning • Partial Stack Cloning required an additional connection request for updating Link Layer values
  • 19. Step 2 – the current gateway extracts a set of pairing-bonding information from the connection instrument the BLE implementation to obtain runtime values
  • 20. Step 3 – disseminates the information to a set of candidates gateways
  • 21. Disseminates information • (1) Pairing and bonding with gateway A • (2) gateway A shares pairing- bonding information with the gateways B, C, D, and E.
  • 22. Step 4 – add the IoT device as a bonded(?) device. but do not initiate a connection
  • 23. if two devices want to exchange data securely • Pairing process - two devices exchange their identity information to set up the trust and then establish the encryption keys for future data exchange. – By Security Manager Protocol (SMP) • Identity Resolving key (IRK), 128bit • Connection Signature Resolving Key (CSRK), 128bit • Long Term Key (LTK), 128bit • Encrypted Diversifier (EDIV), 16bit • Random Number (RAND), 64bit • Bonding process: storing the keys created during pairing for use in subsequent connections in order to form a trusted device pair.
  • 24. Step 5 – Perceiving the device moves out of it range
  • 25. Ping-pong effect. to estimate the moving direction (a) Subsequent gateway selection and connection transfer as the user with device moves from gateway A to D. (b) Gateways selection and ping-pong effect. Common region SeamBlue – (1) Motion Predication (2) Delay tolerant approach
  • 26. Step 6 – identifies and transfers the snapshot
  • 27. Step 7 – creates required objects related to connection, stores information into NONVOL the peripheral seamlessly connected to the subsequent gateway
  • 28. Evaluation • 1. Success rate of BLE connection migration is measured – Ping-pong effect is evaluated. • 2. Overhead of SeamBlue
  • 29. Experimental Setup - device x5
  • 30. Experimental Setup - Testbed • Hanging Nexus 5 as IoT gateways • Any physical space is shared by at most two gateways. • some areas fall within the ranges of more than two gateways.
  • 31. Experimental Setup - Applications • BLE peripherals - nRF Connect application – Periodically sends packet of size 20bytes every second • Gateways – a custom application for Heart Rate monitoring service
  • 32. Evaluation Result 1 – BLE Connection Migration Success Rate • 100% in our testbed - we found every connection migration request successful when IoT devices are both static and moving at different speeds
  • 33. Ping-Pong Effect • Connection Switch Times: 2X rate with the number of common regions. • SeamBlue – with motion predication  reduce half times
  • 34. Evaluation Result 2 – Migration Cost Extra bytes required for connection migration • Both sends 512bytes for bonding • Full stack cloning sends 2048 bytes Time required for adding a peripheral as a bonded device • Requires the gateway to load the device information from NVRAM Time required for transferring state variables • to transfer the state variables over WiFi. Time required for connection migration Packet loss
  • 35. Time required for adding a peripheral as a bonded device Higher CPU speed and memory
  • 36. Time Required for Transferring State Variables the control plane packet losses increases with users mobility, the time required for all the scenarios increases slightly with the increase of the users moving speed.
  • 37. Time Required For Connection Migration (1) extract the values of connection related variables (2) send this information to the next gateways securely (3) decrypt the received information (4) update the connection related state variables.
  • 38. Number of packets lost • Data packets are sent with 1 second time interval loss of at most 2 packets
  • 39. Conclusion • Static analysis module (CFG !!!) • A gateway selection mechanism (?) • Reduces both communication overhead and latency