Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein
|
|
- Raymond Rice
- 5 years ago
- Views:
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 Amit Levy, James Hong, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein The Internet of Things Ideal Future The Internet of
More informationBeetle: 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 informationBeetle: 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 informationBark: 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 informationChapter 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 informationWhen 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 informationI/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 informationClick 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 informationBluetooth 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 informationBluetooth 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 informationTolerating 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 informationImproving 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 informationI/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 informationI/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 informationCIS 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 informationTracker 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 informationChapter 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 informationWhat 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 informationSMART 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 informationHow 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 informationTap 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 informationChapter 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 informationChapter 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 informationChapter 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 informationLast 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 informationInternet 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 informationDigital 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 informationDisclaimer 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 informationScalable 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 informationApplication 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 informationReplication. 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 informationA 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 informationBluegiga 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 informationSilicon 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 informationGFS 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 informationAgenda. 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 informationArachne. 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 informationPhone 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 informationEngineering 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 informationATSAMB11 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 informationOperating 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 informationPSoC 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 informationKST3300 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 informationIntegrating 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 informationVersion 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 informationDevice-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 informationChapter 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 informationPortal 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 informationChapter 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 informationCOURSE 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 informationCSE 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 informationChe-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 informationOperating 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 informationMultiprocessor 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 informationIOTIVITY 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 informationWorkspace. 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 informationMobile 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 informationIntegrating 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 informationDistributed 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 informationMultiprocessor 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 informationVirtual 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 informationEngineering 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 informationFeasibility 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 informationRead-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 informationChapter 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 information416 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 informationChapter 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 informationmpop 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 informationSymantec 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 informationAsynchronous 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 informationI/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 informationHow 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 informationModule 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 informationSafely 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 informationFlash: 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 informationDiscovering 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 informationAndroid. 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 informationChapter 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 informationModule 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 informationCompatibility 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 informationOS-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 informationLinux 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 informationOperating 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 informationBluetooth 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 informationLightstreamer. 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 informationWrite 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 informationOperating 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 informationModule 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 informationParallelism 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 informationAdditional 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 informationHow 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 informationEECS 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 informationAccessing 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 informationBLE 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 informationEECS 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 informationThe 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 informationRevision 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 informationLow-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 informationAbout 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 informationCSE 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