Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein

Size: px
Start display at page:

Download "Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein"

Transcription

1 Beetle Sharing, flexibility and access control for Bluetooth Low Energy Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein Stanford University June 24, / 26

2 Meet Grace 2 / 26

3 Meet Grace 2 / 26

4 Meet Grace Strava 2 / 26

5 Meet Grace Strava HrView 2 / 26

6 Meet Grace Strava HrView 2 / 26

7 Meet Grace Strava HrView 2 / 26

8 Meet Grace Strava HrView 2 / 26

9 Meet Fabian 3 / 26

10 Meet Fabian 3 / 26

11 Meet Fabian BatteryMon 3 / 26

12 Meet Fabian BatteryMon 3 / 26

13 Meet Esther 4 / 26

14 Meet Esther 4 / 26

15 Meet Esther 4 / 26

16 Meet Esther 4 / 26

17 Strava OneTouch Flux No extensibility, no access control, limited communication 5 / 26

18 Limitations of Bluetooth Low Energy (BLE) 1 Applications must run on the gateway 2 One application at a time 3 All-or-nothing access Peripherals need to be simple Low cost Low power Hard to update Gateway oblivious to peripheral functionality How to virtualize generally? Who can access what? 6 / 26

19 The gateway should enable flexible and safe sharing 7 / 26

20 Beetle Sharing Applications can safely share access to peripherals without explicit coordination Access Control Users can specify fine-graned access policies on peripherals and applications Communication flexiblity Many-to-many communication between peripherals, gateway applications and cloud applications Backwards compatible Doesn t require changes to existing peripherals or applications 8 / 26

21 Current Gateways: Explicit support Dedicated drivers understand a class of peripherals: Printers Keyboards Disks 9 / 26

22 Current Gateways: Explicit support Dedicated drivers understand a class of peripherals: Printers Keyboards Disks Pros Safe virtualization Access control Cons Need a trusted module for each device class Has worked OK for desktops, but does is scale? 9 / 26

23 Current Gateways: Exclusive access from one application For special case peripherals, gateway provides an exclusive, raw channel: Oscilloscope, hardware debugger USB breathalyzer, USB blood pressure monitor Most IoT peripherals (door locks, lights, fitness bands) 10 / 26

24 Current Gateways: Exclusive access from one application For special case peripherals, gateway provides an exclusive, raw channel: Oscilloscope, hardware debugger USB breathalyzer, USB blood pressure monitor Most IoT peripherals (door locks, lights, fitness bands) Pros Don t need explicit support for each new device class Cons Can t allow multiple apps to use peripheral App gets complete control over peripheral 10 / 26

25 Current Gateway Systems OS Explicit Driver Exclusive Access HomeOS Linux (BLE sockets) Android (Google Health) ios (Health/HomeKit) Explicit support Impractical for operating systems to anticipate new device functionality vs Exclusive access No sharing, no access control, inflexible communication 11 / 26

26 Bluetooth Low Energy application protocol 12 / 26

27 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE 12 / 26

28 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

29 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

30 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

31 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Char at handle 2 Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

32 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Char at handle 2 Read handle 2 Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

33 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Char at handle 2 Read handle 2 Char value at handle 4 Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

34 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Char at handle 2 Read handle 2 Char value at handle 4 Read handle 4 Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

35 Bluetooth Low Energy application protocol Attribute Protocol (ATT): Key-type-value store Transactional flow-control READ, WRITE, NOTIFY, FIND-BY-TYPE Example, heart rate monitor Find Char with UUID HRM Char at handle 2 Read handle 2 Char value at handle 4 Read handle 4 157BPM Generic Attribute Profile (GATT): Structure over attributes Characteristic: Groups attributes for a value Services: Groups related characteristics 12 / 26

36 Beetle: Key insight BLE application protocol (GATT) is amenable to multiplexing: Unified data model Standardized data types Transactions are meaningful to applications 13 / 26

37 Beetle Architecture Local apps Virtual Devices Gateway Beetle Kernel Bluetooth Driver Peripherals 14 / 26

38 Beetle Architecture Local apps Gateway Beetle Kernel Bluetooth Driver Peripherals 14 / 26

39 Beetle Architecture Local apps Gateway Beetle Kernel Bluetooth Driver Peripherals 14 / 26

40 Beetle Architecture iforgotthelights Local apps Gateway Beetle Kernel Bluetooth Driver Peripherals 14 / 26

41 Beetle Architecture iforgotthelights Local apps Gateway Beetle Kernel Bluetooth Driver Peripherals 14 / 26

42 Virtual Devices: Just speak GATT Look like a peripheral to applications Look like a gateway to peripherals Provide: Sharing by multiplexing transactions from different clients Access control by mapping handle space Flexible communication by allowing transactions over any link 15 / 26

43 Virtual Devices: Sharing Strava HrView 16 / 26

44 Virtual Devices: Sharing READ REQ: 1 Strava READ REQ: 2 HrView 16 / 26

45 Virtual Devices: Sharing Strava READ REQ: 1 READ REQ: 2 HrView 16 / 26

46 Virtual Devices: Sharing Strava READ RESP: 1 READ REQ: 2 HrView 16 / 26

47 Virtual Devices: Sharing Strava READ RESP: 1 READ REQ: 2 HrView 16 / 26

48 Virtual Devices: Sharing Strava READ REQ: 2 HrView 16 / 26

49 Virtual Devices: Sharing Strava READ REQ: 2 HrView 16 / 26

50 Virtual Devices: Sharing Strava READ RESP: 2 HrView 16 / 26

51 Virtual Devices: Sharing Strava READ RESP: 2 HrView 16 / 26

52 Virtual Devices: Access Control BatteryMon 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

53 Virtual Devices: Access Control BatteryMon 6 Battery Char 7 Battery value 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

54 Virtual Devices: Access Control BatteryMon READ REQ: 7 6 Battery Char 7 Battery value 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

55 Virtual Devices: Access Control BatteryMon 6 Battery Char 7 Battery value READ REQ: 7 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

56 Virtual Devices: Access Control BatteryMon READ REQ: 2 6 Battery Char 7 Battery value 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

57 Virtual Devices: Access Control BatteryMon ERR 6 Battery Char 7 Battery value 2 Glucose Char 3 Glucose value 6 Battery Char 7 Battery value 17 / 26

58 Implementation Linux User-space daemon (C++) Applications connect via UNIX domain or TCP sockets Access control via database + browser interface Android Modified Android s Bluetooth Service app Applications connect over Intents (IPC) Access control via normal user control flow 18 / 26

59 Applications Multi-app Heart Rate Monitor Battery Monitor Generic Home Gateway 19 / 26

60 Performance Latency (ms) Without Beetle With Beetle Latency (ms) Direct Through Proxy Connection Interval (ms) Connection Interval (ms) One app to one peripheral no significant overhead 17x connection interval with/without Beetle Multi-client throughput depends on workload Reads are linearly scalable via caching Peripheral-to-peripheral ~2-3x due to extra hop Could be improved with better coordination by gateway 20 / 26

61 Limitations Bluetooth Low Energy specific Relies on properties of the application layer protocol Peripherals must conform to GATT transactional semantics But peripheral-specific virtual devices could mask violations Access control does not solve secure naming Does not offer a management solution Complimentary to systems, like HomeOS 21 / 26

62 Discussion Safe and flexible peripheral sharing Can and should be provided first-class by the gateway 22 / 26

63 Discussion Safe and flexible peripheral sharing Can and should be provided first-class by the gateway Lessons for protocol design Data model at the right abstraction level Standardized data types Global namespace 22 / 26

64 Discussion Safe and flexible peripheral sharing Can and should be provided first-class by the gateway Lessons for protocol design Data model at the right abstraction level Standardized data types Global namespace Lessons for BLE peripheral builders Don t rely on exclusive access for semantics One GATT transaction per application transaction 22 / 26

65 Discussion Safe and flexible peripheral sharing Can and should be provided first-class by the gateway Lessons for protocol design Data model at the right abstraction level Standardized data types Global namespace Lessons for BLE peripheral builders Don t rely on exclusive access for semantics One GATT transaction per application transaction 22 / 26

66 Are corporations just evil?

67 Are corporations just evil?

68 Are corporations just evil? 23 / 26

69 Attribute Caching app1 app2 24 / 26

70 Attribute Caching READ REQ: 1 app1 READ REQ: 1 app2 24 / 26

71 Attribute Caching app1 READ REQ: 1 READ REQ: 1 app2 24 / 26

72 Attribute Caching app1 READ RESP: 1 READ REQ: 1 app2 24 / 26

73 Attribute Caching app1 READ RESP: 1 READ RESP: 1 READ REQ: 1 app2 24 / 26

74 Attribute Caching app1 READ RESP: 1 app2 24 / 26

75 Attribute Caching app1 READ RESP: 1 READ RESP: 1 app2 24 / 26

76 Handling Subscriptions app1 app2 25 / 26

77 Handling Subscriptions Subscriptions: app1 app2 25 / 26

78 Handling Subscriptions Subscriptions: SUBSCRIBE app1 app2 25 / 26

79 Handling Subscriptions Subscriptions: app1 app1 app2 25 / 26

80 Handling Subscriptions Subscriptions: app1 app1 SUBSCRIBE app2 25 / 26

81 Handling Subscriptions Subscriptions: app1 app1 app2 25 / 26

82 Handling Subscriptions Subscriptions: app1 app1 NOTIFY app2 25 / 26

83 Handling Subscriptions Subscriptions: app1 app1 NOTIFY app2 25 / 26

84 Handling Subscriptions Subscriptions: app1 app1 app2 25 / 26

85 Handling Subscriptions Subscriptions: app1 app1 SUBSCRIBE app2 25 / 26

86 Handling Subscriptions Subscriptions: app1 app2 app1 app2 25 / 26

87 Handling Subscriptions Subscriptions: app1 app2 app1 NOTIFY app2 25 / 26

88 Handling Subscriptions Subscriptions: app1 app2 app1 NOTIFY NOTIFY app2 25 / 26

89 Handling Subscriptions Subscriptions: app1 app2 app1 app2 25 / 26

90 Handling Subscriptions Subscriptions: app1 app2 app1 UNSUBSCRIBE app2 25 / 26

91 Handling Subscriptions Subscriptions: app1 app1 UNSUBSCRIBE app2 25 / 26

92 Handling Subscriptions Subscriptions: app1 UNSUBSCRIBE app1 app2 25 / 26

93 Handling Subscriptions Subscriptions: UNSUBSCRIBE app1 app2 25 / 26

94 Handling Subscriptions Subscriptions: app1 UNSUBSCRIBE app2 25 / 26

95 Performance: Caching 99th %tile latency per request Without Caching With Caching # concurrent requests 26 / 26

Beetle: Operating System Support for the Internet of Things

Beetle: Operating System Support for the Internet of Things Beetle: Operating System Support for the Internet of Things Amit Levy, James Hong, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein The Internet of Things Ideal Future The Internet of

More information

Beetle: Many-to-many communication in Bluetooth LE. Amit Levy, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein

Beetle: Many-to-many communication in Bluetooth LE. Amit Levy, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein Beetle: Many-to-many communication in Bluetooth LE Amit Levy, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein The ideal Internet of Things The Internet of Things today It's Not An

More information

Beetle: Flexible Communication for Bluetooth Low Energy

Beetle: Flexible Communication for Bluetooth Low Energy Beetle: Flexible Communication for Bluetooth Low Energy Amit Levy, James Hong, Laurynas Riliskis, Philip Levis, Keith Winstein Computer Science Department, Stanford University Stanford, CA, U.S.A. levya,jhong16,lauril,pal,keithw@cs.stanford.edu

More information

Bark: Default-Off Networking and Access Control for the IoT. James Hong, Amit Levy, Laurynas Riliskis, Philip Levis Stanford University

Bark: Default-Off Networking and Access Control for the IoT. James Hong, Amit Levy, Laurynas Riliskis, Philip Levis Stanford University Bark: Default-Off Networking and Access Control for the IoT James Hong, Amit Levy, Laurynas Riliskis, Philip Levis Stanford University The IoT is everywhere So are the attacks... 1. Devices easily compromised

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

When is Bluetooth not Bluetooth?

When is Bluetooth not Bluetooth? When is Bluetooth not Bluetooth? Mike Anderson Chief Scientist The PTR Group, Inc. http://www.theptrgroup.com Bluetooth variants Sample devices Dealing with broadcast devices Connecting to a Bluetooth

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

Click to edit Master title style Buzzing Smart Devices

Click to edit Master title style Buzzing Smart Devices Click to edit Master title style Buzzing Smart Devices Smart Watch Hacking 1 Click to edit Master title style I Have A Question.? 2 Click to edit Master title style Why CATS Everywhere?????? Cats are Evil

More information

Bluetooth low energy technology Bluegiga Technologies

Bluetooth low energy technology Bluegiga Technologies Bluetooth low energy technology Bluegiga Technologies Topics Background What is Bluetooth low energy? Basic concepts Architecture Differentiation and comparison Markets and applications Background Background

More information

Bluetooth Low Energy on Android

Bluetooth Low Energy on Android Bluetooth Low Energy on Android Getting it done Android Builders Summit 2013 Szymon Janc szymon.janc@tieto.com Łukasz Rymanowski lukasz.rymanowski@tieto.com Agenda Introduction Quick Bluetooth Low Energy

More information

Tolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich

Tolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich XXX Tolerating Malicious Drivers in Linux Silas Boyd-Wickizer and Nickolai Zeldovich How could a device driver be malicious? Today's device drivers are highly privileged Write kernel memory, allocate memory,...

More information

Improving Scalability of Processor Utilization on Heavily-Loaded Servers with Real-Time Scheduling

Improving Scalability of Processor Utilization on Heavily-Loaded Servers with Real-Time Scheduling Improving Scalability of Processor Utilization on Heavily-Loaded Servers with Real-Time Scheduling Eiji Kawai, Youki Kadobayashi, Suguru Yamaguchi Nara Institute of Science and Technology JAPAN Motivation

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January WT 2008/09

I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January WT 2008/09 21 I/O Management (1) I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January 26 2009 WT 2008/09 2009 Universität Karlsruhe, System Architecture Group 1 Recommended Reading

More information

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know: CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,

More information

Tracker Design Guidelines

Tracker Design Guidelines s..0 Copyright Samsung Electronics, Co., Ltd. All rights reserved. Overview This document includes design guidelines for the Samsung Digital Health SDK s tracker and tracker tile. Tracker The tracker is

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives

More information

What is an Operating System?

What is an Operating System? Februrary 2, 2007 What are the main purposes of an OS? What are the main purposes of an OS? What are some of the main roles of an OS? What are the main purposes of an OS? What are some of the main roles

More information

SMART Technologies. Introducing bluetooth low energy and ibeacon

SMART Technologies. Introducing bluetooth low energy and ibeacon SMART Technologies Introducing bluetooth low energy and ibeacon In real life you may call me Frederick Bousson Competence Leader Mobile @ Ordina Smartphone as life s remote control Focus on Software Development

More information

How to find your IP address information

How to find your IP address information How to set up a VPN server on Windows 10 Source: https://pureinfotech.com/setup-vpn-server-windows-10/ Here are the step-by-step instructions to set up a VPN server using the built-in Incoming Connection

More information

Tap BLE API Documentation

Tap BLE API Documentation Tap BLE API Documentation Version 1.0.1 Table of contents Tap BLE API Documentation 1 Table of contents 1 General description 2 Device discovery 2 Scanning 2 Connecting & pairing 2 Usage of API 2 Types

More information

Chapter 12: I/O Systems

Chapter 12: I/O Systems Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and

More information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

Internet of Things Bill Siever. New Applications. Needs. Wearables. Embedded Smarts. Simple to Setup. Networking w/ Long Battery Life (Low Power)

Internet of Things Bill Siever. New Applications. Needs. Wearables. Embedded Smarts. Simple to Setup. Networking w/ Long Battery Life (Low Power) Internet of Things Bill Siever New Applications Wearables Embedded Smarts Needs Simple to Setup Networking w/ Long Battery Life (Low Power) Solution: BLE A.K.A. Bluetooth Smart or Bluetooth Low Energy

More information

Digital Design W/S Arduino 101 Bluetooth Interfacing

Digital Design W/S Arduino 101 Bluetooth Interfacing Digital Design W/S Arduino 101 Bluetooth Interfacing Tom Moxon @PatternAgents Instructions on Hackster.Io https://www.hackster.io/moxbox/arduino101bluetooth-interfacing-3fc2bc source: PatternAgents Arduino101

More information

Disclaimer This presentation may contain product features that are currently under development This overview of new technology represents no commitmen

Disclaimer This presentation may contain product features that are currently under development This overview of new technology represents no commitmen ADV1609BE Any App, Anywhere, Any Device with Blast Extreme Matt Coppinger, VMware John Wilkinson, VMware #VMworld #ADV1609BE Disclaimer This presentation may contain product features that are currently

More information

Scalable Concurrent Hash Tables via Relativistic Programming

Scalable Concurrent Hash Tables via Relativistic Programming Scalable Concurrent Hash Tables via Relativistic Programming Josh Triplett September 24, 2009 Speed of data < Speed of light Speed of light: 3e8 meters/second Processor speed: 3 GHz, 3e9 cycles/second

More information

Application of Android Mobile Platform in Remote Medical Monitoring System

Application of Android Mobile Platform in Remote Medical Monitoring System Application of Android Mobile Platform in Remote Medical Monitoring System Prof D Somashekara Reddy 1, Lokesh G 2 1,2 Master of Computer Applications, NHCE Bengaluru Abstract : Due to the actual demand

More information

Replication. Consistency models. Replica placement Distribution protocols

Replication. Consistency models. Replica placement Distribution protocols Replication Motivation Consistency models Data/Client-centric consistency models Replica placement Distribution protocols Invalidate versus updates Push versus Pull Cooperation between replicas Client-centric

More information

A Scalable Event Dispatching Library for Linux Network Servers

A Scalable Event Dispatching Library for Linux Network Servers A Scalable Event Dispatching Library for Linux Network Servers Hao-Ran Liu and Tien-Fu Chen Dept. of CSIE National Chung Cheng University Traditional server: Multiple Process (MP) server A dedicated process

More information

Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1

Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1 Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1 Table of Contents Introduction to the Bluetooth Smart Software Bluetooth Smart Software v.1.3 5/28/2014 2 Introduction to Bluetooth Smart Software Bluetooth

More information

Silicon Valley LAB Intern Report. Hyunjung KIM Youngsong KIM

Silicon Valley LAB Intern Report. Hyunjung KIM Youngsong KIM Silicon Valley LAB Report Hyunjung KIM Youngsong KIM Contents I. LG Silicon Valley LAB II. III. Company Visit Part 1 LG Silicon Valley LAB LG Silicon Valley LAB LG Electronics premier innovation center

More information

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures GFS Overview Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures Interface: non-posix New op: record appends (atomicity matters,

More information

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008 Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread

More information

Arachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout

Arachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Arachne Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Granular Computing Platform Zaharia Winstein Levis Applications Kozyrakis Cluster Scheduling Ousterhout Low-Latency RPC

More information

Phone Overview. Important buttons on your Jitterbug Smart

Phone Overview. Important buttons on your Jitterbug Smart Phone Overview Important buttons on your Jitterbug Smart A B A) Volume Button: PRESS upper end of button to increase volume, PRESS the lower end to decrease volume B) Power/Lock Button: PRESS and release

More information

Engineering Robust Server Software

Engineering Robust Server Software Engineering Robust Server Software Server Software Servers Software Servers accept requests from clients Exchange information (take requests, give responses) Generally do much of the "computing" We'll

More information

ATSAMB11 BluSDK SMART Example Profiles Application User's Guide

ATSAMB11 BluSDK SMART Example Profiles Application User's Guide ATSAMB11 BluSDK SMART Example Profiles Application User's Guide Introduction This document describes how to set the ATSAMB11-MR/ZR evaluation boards for various example applications supported by the Advanced

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

PSoC Academy: How to Create a PSoC BLE Android App Lesson 3: Configure the BLE Component 1

PSoC Academy: How to Create a PSoC BLE Android App Lesson 3: Configure the BLE Component 1 1 Welcome back. At this point we ve completely configured our schematic. The schematic will define all of the firmware that will run inside of our project. Remember there s two things going on. There will

More information

KST3300 Firmware Specification

KST3300 Firmware Specification Revision 1.1 - Last Updated November 6, 2018 1 Table Of Contents Table Of Contents Introduction Document Revision History Overview Architecture Operational Description State Machine Uplink Messages Downlink

More information

Integrating Bluetooth Low Energy Peripherals with the Amulet

Integrating Bluetooth Low Energy Peripherals with the Amulet Integrating Bluetooth Low Energy Peripherals with the Amulet Anna J. Knowles Senior Thesis Advised by Professor David Kotz Dartmouth Computer Science Technical Report TR2016-807 Abstract The Amulet is

More information

Version June 2016

Version June 2016 HOSTING GUIDE Version 3.2.3 June 2016 This guide is sold in conjunction with the VETtrak Hosting Serv ice and is current at the time of purchase. Later v ersions are av ailable for download from www.v

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

Portal Quick Start Guide Portal version 1.9

Portal Quick Start Guide Portal version 1.9 Portal Quick Start Guide 1 Content 1. Unboxing... 4 1.1. Packaging content... 4 1.2. What you need to start... 5 2. Set up your account... 6 2.1. Sign up to the Portal... 6 2.2. Download your gateway application...

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

COURSE OUTLINE: A+ COMPREHENSIVE

COURSE OUTLINE: A+ COMPREHENSIVE COURSE OUTLINE: A+ COMPREHENSIVE Course Outline CompTIA A+ Comprehensive Chapter Outline 1. The Path of the PC Tech What is the CompTIA A+? How to Pass the A+ Exams 2. Operational Procedures Professionalism

More information

CSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 Overview Objective: Explore the structure of an operating system

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage

More information

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and

More information

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8.

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8. Multiprocessor System Multiprocessor Systems Chapter 8, 8.1 We will look at shared-memory multiprocessors More than one processor sharing the same memory A single CPU can only go so fast Use more than

More information

IOTIVITY INTRODUCTION

IOTIVITY INTRODUCTION IOTIVITY INTRODUCTION Martin Hsu Intel Open Source Technology Center 1 Content may contain references, logos, trade or service marks that are the property of their respective owners. Agenda Overview Architecture

More information

Workspace. User Guide (End Users) Date

Workspace. User Guide (End Users) Date Date 2018-11-16 Contents Contents 1 Basic Concepts...1 1.1 Getting to Know...1 1.2 Software Client... 1 1.3 Mobile Terminal... 1 1.4 Desktop...1 2 Common Operation...3 2.1 Logging In to a Desktop Using

More information

Mobile Operating Systems Lesson 01 Operating System

Mobile Operating Systems Lesson 01 Operating System Mobile Operating Systems Lesson 01 Operating System Oxford University Press 2007. All rights reserved. 1 Operating system (OS) The master control program Manages all software and hardware resources Controls,

More information

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu Integrating Concurrency Control and Energy Management in Device Drivers Chenyang Lu Overview Ø Concurrency Control: q Concurrency of I/O operations alone, not of threads in general q Synchronous vs. Asynchronous

More information

Distributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1

Distributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1 Distributed File Systems Issues NFS (Network File System) Naming and transparency (location transparency versus location independence) Host:local-name Attach remote directories (mount) Single global name

More information

Multiprocessor Systems. COMP s1

Multiprocessor Systems. COMP s1 Multiprocessor Systems 1 Multiprocessor System We will look at shared-memory multiprocessors More than one processor sharing the same memory A single CPU can only go so fast Use more than one CPU to improve

More information

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Today s Papers Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Edouard

More information

Engineering Robust Server Software

Engineering Robust Server Software Engineering Robust Server Software Server Software Servers Software Servers accept requests from clients Exchange information (take requests, give responses) Generally do much of the "computing" We'll

More information

Feasibility of Gateway-less IoT e-health Applications

Feasibility of Gateway-less IoT e-health Applications Feasibility of Gateway-less IoT e-health Applications C. PEREIRA, D. GUIMARÃES, J. MESQUITA, F. SANTOS, L. ALMEIDA, A. AGUIAR W O R K I N T H E S C O P E O F T H E N A N O S T I M A P R O J E C T ( N O

More information

Read-Copy Update in a Garbage Collected Environment. By Harshal Sheth, Aashish Welling, and Nihar Sheth

Read-Copy Update in a Garbage Collected Environment. By Harshal Sheth, Aashish Welling, and Nihar Sheth Read-Copy Update in a Garbage Collected Environment By Harshal Sheth, Aashish Welling, and Nihar Sheth Overview Read-copy update (RCU) Synchronization mechanism used in the Linux kernel Mainly used in

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

416 Distributed Systems. Distributed File Systems 1: NFS Sep 18, 2018

416 Distributed Systems. Distributed File Systems 1: NFS Sep 18, 2018 416 Distributed Systems Distributed File Systems 1: NFS Sep 18, 2018 1 Outline Why Distributed File Systems? Basic mechanisms for building DFSs Using NFS and AFS as examples NFS: network file system AFS:

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

mpop Printer Software Installation Manual

mpop Printer Software Installation Manual unified, multi-model driver and configuration suite mpop Printer Software Installation Manual Rev. 1.0 Contents 1. Software Overview... 1 1.1 Windows Printer Driver...1 1.2 Printer Utility...2 1.2.1 Starting

More information

Symantec Endpoint Protection Family Feature Comparison

Symantec Endpoint Protection Family Feature Comparison Symantec Endpoint Protection Family Feature Comparison SEP SBE SEP Cloud SEP Cloud SEP 14.2 Device Protection Laptop, Laptop Laptop, Tablet Laptop Tablet & & Smartphone Smartphone Meter Per Device Per

More information

Asynchronous Events on Linux

Asynchronous Events on Linux Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy

More information

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007). Many, if not

More information

How to test the USBLE232D and USBLE232DEXA Serial Bluetooth Smart Low Energy Adapter

How to test the USBLE232D and USBLE232DEXA Serial Bluetooth Smart Low Energy Adapter How to test the USBLE232D and USBLE232DEXA Serial Bluetooth Smart Low Energy Adapter (Tested with Samsung Galaxy S8 Android and Windows 10) This guide describes how to connect one of our Serial Bluetooth

More information

Module 11: I/O Systems

Module 11: I/O Systems Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance

More information

Safely and Efficiently Multiprogramming a 64kB Computer

Safely and Efficiently Multiprogramming a 64kB Computer Safely and Efficiently Multiprogramming a 64kB Computer Amit Levy Daniel Giffin Bradford Campbell Branden Ghena Pat Pannuto Prabal Dutta Philip Levis Niklas Adolfsson Fredrik Nilsson Josh Adkins Neal Jackson

More information

Flash: an efficient and portable web server

Flash: an efficient and portable web server Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that

More information

Discovering Computers 2016

Discovering Computers 2016 Discovering Computers 2016 Tools, Apps, Devices, and the Impact of Technology Chapter 9 Operating Systems Objectives Overview Explain the purpose of an operating system Describe the start-up process and

More information

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1 Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013! Chapter 13: I/O Systems I/O Hardware" Application I/O Interface" Kernel I/O Subsystem" Transforming I/O Requests to Hardware Operations" STREAMS"

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

Compatibility and Support Information Nasuni Corporation Boston, MA

Compatibility and Support Information Nasuni Corporation Boston, MA Information Nasuni Corporation Boston, MA Contents 1. Introduction... 1 2.... 1 2.1. Virtualization platforms... 1 3. Filers... 2 3.1. Filer properties... 2 3.2. Clients... 4 3.3. VSS... 7 3.4. Security...

More information

OS-caused Long JVM Pauses - Deep Dive and Solutions

OS-caused Long JVM Pauses - Deep Dive and Solutions OS-caused Long JVM Pauses - Deep Dive and Solutions Zhenyun Zhuang LinkedIn Corp., Mountain View, California, USA https://www.linkedin.com/in/zhenyun Zhenyun@gmail.com 2016-4-21 Outline q Introduction

More information

Linux in the connected car platform

Linux in the connected car platform Linux in the connected car platform Background Long time desktop Linux user Designed several capes for the BeagleBone Black Currently an Embedded engineer for Dialexa What is a connected car anyway? A

More information

Operating System Overview

Operating System Overview A Typical Computer from a Hardware Point of View... Operating System Overview Otto J. Anshus Memory Chipset I/O bus (including slides from, Princeton University) University of Tromsø Keyboard Network /OJA

More information

Bluetooth LE 4.0 and 4.1 (BLE)

Bluetooth LE 4.0 and 4.1 (BLE) Bluetooth LE 4.0 and 4.1 (BLE) Lab 11 Lunch April 23rd, 2014 Noah Klugman Josh Adkins 1 Outline History of Bluetooth Introduction to BLE Architecture Controller Host Applications Power Topology Example:

More information

Lightstreamer. The Streaming-Ajax Revolution. Product Insight

Lightstreamer. The Streaming-Ajax Revolution. Product Insight Lightstreamer The Streaming-Ajax Revolution Product Insight 1 Agenda Paradigms for the Real-Time Web (four models explained) Requirements for a Good Comet Solution Introduction to Lightstreamer Lightstreamer

More information

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical Identify a problem Review approaches to the problem Propose a novel approach to the problem Define, design, prototype an implementation to evaluate your approach Could be a real system, simulation and/or

More information

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System Operating System Operating Systems Structure Chapter 2 1 Is a control program that controls the execution of application programs OS must relinquish control to user programs and regain it safely and efficiently

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Parallelism Marco Serafini

Parallelism Marco Serafini Parallelism Marco Serafini COMPSCI 590S Lecture 3 Announcements Reviews First paper posted on website Review due by this Wednesday 11 PM (hard deadline) Data Science Career Mixer (save the date!) November

More information

Additional Resources

Additional Resources Appendix B Additional Resources This appendix contains a list of relevant Apple Knowledge Base articles and recommended documents related to the topic of each lesson. The Knowledge Base is a free online

More information

How Parallels RAS Enhances Microsoft RDS. White Paper Parallels Remote Application Server

How Parallels RAS Enhances Microsoft RDS. White Paper Parallels Remote Application Server How Parallels RAS Enhances Microsoft RDS White Paper Parallels Remote Application Server Table of Contents Introduction... 3 Overview of Microsoft Remote Desktop Services... 3 Microsoft RDS Pain Points...

More information

EECS 452 Lecture 9 TLP Thread-Level Parallelism

EECS 452 Lecture 9 TLP Thread-Level Parallelism EECS 452 Lecture 9 TLP Thread-Level Parallelism Instructor: Gokhan Memik EECS Dept., Northwestern University The lecture is adapted from slides by Iris Bahar (Brown), James Hoe (CMU), and John Shen (CMU

More information

Accessing CharityMaster data from another location

Accessing CharityMaster data from another location Accessing CharityMaster data from another location When all of your computers are on the same Local Area Network (LAN), you can place the back end files (including your data and the Word templates) onto

More information

BLE Command Line Interface Document

BLE Command Line Interface Document BLE Command Line Interface Document BLE Command Line Interface Sheet 1 of 31 V1.18 Nov 11, 2016 Index: 1. Introduction... 6 Supported Platform... 7 Reference... 7 2. Commands Status Responses... 8 2.1

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha Naming and directories How to specify file to be accessed? File name, click on icon, or describe contents

More information

The Future of Lighting Is Smart. Martin Mueller Roger Sexton

The Future of Lighting Is Smart. Martin Mueller Roger Sexton The Future of Lighting Is Smart Martin Mueller Roger Sexton The Future of Lighting Is Smart What is Smart Lighting and how do we get there? Communication methods DALI BLE Communication: lighting services

More information

Revision 1.0.0, 5/30/14

Revision 1.0.0, 5/30/14 6465 South 3000 East Suite 104 Holladay, Utah 84121 801-268-3088 phone 801-268-2772 fax www.centurysoftware.com Sales@centurysoftware.com Revision 1.0.0, 5/30/14 Table of Contents User s Guide... 1 Gestures...

More information

Low-Latency Datacenters. John Ousterhout

Low-Latency Datacenters. John Ousterhout Low-Latency Datacenters John Ousterhout The Datacenter Revolution Phase 1: Scale How to use 10,000 servers for a single application? New storage systems: Bigtable, HDFS,... New models of computation: MapReduce,

More information

About us. How we help?

About us. How we help? Go to Top About us Mobile Device Manager Plus is a mobile device management solution developed by ManageEngine. Mobile Device Manager Plus provides admins the power to perform device management from a

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write

More information