SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
28 May 2015 AllSeen Alliance 1
Internet of Everything
Development using
AllJoyn
Nobuyuki Uchida
Qualcomm Japan Inc.
28 May 2015 AllSeen Alliance 22
1. AllJoyn Overview
2. Software Components
3. Security Concepts
4. Base Services
– Onboarding Service
– Notification Service Framework
– Control Panel Service Framework
Agenda
28 May 2015 AllSeen Alliance 3
What is AllJoyn?
• An Open Source API Framework For the Internet of Everything
• A way devices and applications publish APIs over a network in a standard
way
• Why APIs?
– Because this is what software developers understand and work with every day
• These APIs are the functionality that the “things” on the network expose to
other “things”
– E.g. temperature, time of day, etc.…
– Services and/or devices can compose these APIs to provide whatever set of
functionality they require
– The APIs are critical to interoperability between devices and services
• How do applications know what APIs are available?
– AllJoyn provides application discovery and fine-grained discovery of the APIs
supported by applications
– This is accomplished in a platform and radio-link agnostic way
28 May 2015 AllSeen Alliance 4
Overview
• AllJoyn implements a “distributed software bus”
– The bus provides the “medium” that enables AllJoyn applications to communicate via
published APIs
• Applications may be firmware on microcontrollers, mobile device “apps” or traditional applications on
PCs/servers
– Applications publishing APIs are services, while those consuming the APIs are clients
• An application can be both a service and a client: this is makes AllJoyn a peer-to-peer system
– Communication is via messages that map directly to APIs in high-level programming
languages
• Bus formation is ad hoc
– Based on discovery of applications/services
– Abstracts link-specific discovery mechanisms
• Protocol is network-independent
– Wire protocol is based on the D-Bus wire-protocol with extensions
– Can run over Wi-Fi, Wi-Fi Direct, Ethernet and PLC
• Could likely run over others
28 May 2015 AllSeen Alliance 5
High Level System Architecture
• AllJoyn Bus is composed of two types of nodes:
– Routing Nodes (RN)
– Leaf Nodes (LN)
• LN can only connect to RN
• RN can connect to other RN
– AllJoyn can be thought of as a mesh of stars
Routing
Node
Routing
Node
Leaf
Node
Leaf
Node
Leaf
NodeLeaf
Node
Leaf
Node
Routing
Node
Routing
Node
Leaf
Node
Leaf
Node
Leaf
Node
Routing
Node
Leaf
NodeLeaf
Node
Routing
Node
Leaf
Node
Routing
Node
Leaf
Node
Leaf
Node
Leaf
Node
Leaf
Node
Leaf
Node
Routing
Node
Routing
Node
28 May 2015 AllSeen Alliance 6
DeviceDevice
Ad Hoc Bus Formation: Discovery
Find interface
org.allseen.media.aud
io
Implement interfaces
org.allseen.media.audio
org.allseen.media.video
…Eureka!
Interface descriptions contained in About message
 Services advertise, and Clients find, About messages
 connect to advertisers supporting desired interfaces
Actual discovery mechanism is transport dependent:
 On Wi-Fi, PLC, Ethernet: lightweight IP multicast protocol
 On Wi-Fi Direct: would use pre-association discovery
Service App
Router
Client App
Router
28 May 2015 AllSeen Alliance 7
Ad Hoc Bus Formation: Session
Creation
Session creation will cause Routing Nodes to connect and extend the bus
 Once connected, buses merge and have a single shared namespace
 Peers can discover when other peers join or leave the bus
 Peers can interact via their APIs
 Session reference counting keeps device-to-device connections alive
 Multicast events can be sent to all peers in the session
DeviceDevice
Client App
Router
Service App
RouterAllJoyn Distributed Bus
Peer Session
Connect to
org.allseen.media.au
dio
8
Software Components
28 May 2015 AllSeen Alliance 9
AllJoyn Software Framework: High-
level architecture
• A comprehensive software communication framework
IP Network Connection: Wi-Fi, PLC, Ethernet
Applications
Base Service Frameworks
AllJoyn Core Framework
Onboarding Control Panel Notifications Config
Discovery Security
Connection
Management
Network
Management
AllJoyn Core Framework
• Two main components:
• Client Library and
Router
• These provide the core
functionality:
• Discovery, connectivity,
security
• Language bindings,
interoperability
• Dynamic network intelligence
AllJoyn Service Frameworks
• Interoperable, cross-platform
building blocks for common IoE
functionality
• Audio, onboarding, control,
notifications etc.
28 May 2015 AllSeen Alliance 10
Software Components
• Client Library
– This is referred to as a Client Library because all AllJoyn applications are clients of the router
• This is true regardless of if, in their application context, they are exposing services, or are clients of other
services
• Applications are peers if they implement both client and service functionality
– The Client Library is what software developers interact with: the API set of the AllJoyn SDK
– There are two implementations of the Client Library: the Standard Client (SC) and the Thin
Client (TC)
– The SC is targeted at applications running in HLOS environments
• The SDK APIs for the SC provide a high level of abstraction, and allow complex multi-threaded
applications
• Native implementation is in C++ and there are a number of language bindings for various platforms
available
– The TC is targeted at applications that would reside on deeply embedded devices (i.e.
device firmware)
• Targets a very minimal memory (RAM and ROM) footprint,
• Implemented in C, with no other language bindings
• TC depends on a Routing Node running elsewhere, likely off device
• AllJoyn has two main architectural components: the Client Library and the Router
28 May 2015 AllSeen Alliance 11
Software Components: Router
• Router
– Any node containing the router is a Routing Node
– The router is built using the Standard Client library, and so must run on an HLOS
– This can be deployed as a standalone daemon/service or integrated with the SC in an
application
• The only platforms on which standalone functionality is currently supported are Linux-based,
such as OpenWRT
– The Router functionality consists of bus management and routing AllJoyn messages
• Bus management includes
– Managing the namespace: application addressing over the bus
– Cross-device communication: discovering services and connecting to the routing node supporting that
service on behalf leaf nodes
• Message routing consists of delivering messages between applications, or to the router itself
– AllJoyn control signaling also uses AllJoyn messages
– Routing Nodes do the “heavy lifting” in the Alljoyn system
– Leaf Nodes depend on Routing Nodes to interact with other nodes
28 May 2015 AllSeen Alliance 12
Software Components: Language
Bindings
• Standard Client Library supports multiple language bindings
• C++
• C
• Java
• Object-C
– All of the bindings are currently wrappers around the native C++ implementation
– Same object model for all bindings
– Seamless interoperability between applications written in different languages
• Thin Client Library only supports C
– Most appropriate language for embedded RTOS development
– Other language wrappers around the C implementation being investigated
28 May 2015 AllSeen Alliance 13
Device 2
Device 3
AppX
Integrated Router
AppX AppY
Standalone Routing Node
Components deployed in AllJoyn
Distributed Bus
IP or Bluetooth
Local socket
 Applications communicate
with router or routing node
 Routers instances deliver
messages between devices
Device 1
AppX AppZ
Standard Client Applcation
Device 4
AppZ
Thin Client Application
AllJoyn
Distributed
BusRouter
Routing
Node
Routing
Node
IP
28 May 2015 AllSeen Alliance 14
AllJoyn SDK Concepts
• AllJoyn applications expose their functionality via APIs implemented in objects
– Most applications will expose only a single object
– Object hierarchies are supported if required by application model
• AllJoyn will create parent objects automatically if application object is not the root
• Objects implement one or more interfaces
– These are the APIs that can be discovered using About
• Interfaces are composed of members, which fall into three categories
– Methods – classic OO object interaction
– Signals – asynchronous event notification
• Can be broadcast, multicast, or point-to-point
• Can also send a Sessionless Signal: a broadcast signal that doesn’t require an application session to be
delivered
– Properties – data members
• These are accessed by built-in get/set methods
• All of this information can be introspected remotely
• Exposing Functionality
28 May 2015 AllSeen Alliance 15
Bus
AllJoyn SDK Concepts
• Bus Attachment is required to interact with/over the bus
– They are the application’s presence on the AllJoyn Bus
– They provide the root (/) of the object hierarchy
• Objects are published to local Bus Attachment
– Object path names look like file paths
• e.g. /Games/chess
• Proxy Objects
– Local representation of a remote object
• Signal handlers are registered with the Bus
Attachment
– Registered by applications to take action when a
signal is received
• Sessions
– Flow controlled connections between applications
– Can be point-to-point or multipoint
• Connecting-to and Using the Bus
Bus AttachmentBus AttachmentBus Attachment
Object
Application
Signal
Handler
Proxy
Object
Application
Session
28 May 2015 AllSeen Alliance 16
Bus
AllJoyn SDK Concepts
• Method Calls are made by using Proxy Objects
– This results in a method call message being sent to the object the proxy object represents
– Method handler is invoked to execute method and generate the reply
– The method reply is sent by the object back to the proxy object
• Signals are emitted by Objects and consumed by Signal Handlers
– Sessionless signals work the same way, but do not require the application to create a session
• They are broadcast and are delivered to any app interested in receiving sessionless signals
• Only a single instance of a signal will be sent, i.e. if the same signal is emitted multiple times, only the last will be
delivered
– Useful for sending isochronous data, such as state updates
• Method Calls and Signals
Bus AttachmentBus Attachment
Object
Bus Attachment
Signal
Handler
Proxy
Object
Method_Call
Method_Reply Method_Reply
Application Application
28 May 2015 AllSeen Alliance 17
AllJoyn SDK Concepts
• As stated earlier, the Object model is similar for all language
bindings
– Create a BusAttachment to connect to the bus
– Create BusInterface(s) that will be implemented by BusObjects
– Create and register BusObject(s) with the BusAttachment
– BusObjects handle remote method calls and emit Signals
– Applications call methods on remote objects using ProxyBusObjects
– Applications register Signal handlers with BusAttachment
• Object Model
18
Security Concepts
28 May 2015 AllSeen Alliance 19
Design of Security Framework
• Authentication and encryption is designed to be app-to-app
– Trust relationship established between the applications*
• There is no trust relationship established at the device level
– The Router is not involved other than to route the messages
– Device pairing not required unless the transport requires it
• Security is enabled per interface
– Authentication and key exchange initiated on demand
– Applications can have a mixture of secured interfaces and open interfaces
• Security-enabled interface
– Authentication is required to make method calls
– Authentication required to receive signals
– All messages are encrypted
• Regardless of authentication mechanism, encryption always uses same AES-128
CCM algorithm
28 May 2015 AllSeen Alliance 20
AllJoyn
Distributed Bus
AllJoyn
Application
Application can allow a
mix of security-enabled
and non-secure
interfaces.
Apps can provide own
key store or use default
one provided.
Method calls to security-
enabled interface are
encrypted and authenticated.
If call is encrypted, so is reply.
AllJoyn
Application
AllJoyn
Application
Key
Store
Key
Store
Key
Store
Signals from a
security-enabled
interface are
encrypted and
authenticated.
Security Model – Authentication and
Encryption
28 May 2015 AllSeen Alliance 21
Built-In Authentication Mechanisms
• Four mechanisms supported
– Mechanism negotiated using SASL protocol
– Mechanism chosen by application developer
– Most mechanisms adapted from TLS protocols per RFC 5256
• Simple Pin-code pairing
– Specifically for Thin Client applications that lack resources to support big-
number arithmetic
• Pin-code SRP
– Pairing with a single-use password using Secure Remote Password protocol
• Logon SRP
– User name and password using Secure Remote Password protocol
– Password required every time peers connect
• Certificate-based
– RSA public key authentication and X.509 certificate-based
– Trust relationship lasts while certificate valid
22
Base Services
28 May 2015 AllSeen Alliance 23
AllJoyn Base Services for
fundamental use cases
• Standard AllJoyn building blocks for generically useful services
– Onboarding
– Notifications
– Control Panel
– Config
• Accelerate application and device development
24
Onboarding Service
28 May 2015 AllSeen Alliance 25
Onboarding
• Provides a standard way to get devices onto a WiFi Network
– Onboarder is an application running on a smart device
– Onboardee is the device to be added to the WiFi network
• Basic flow
– Onboarder discovers device that needs to be onboarded
– Connects to it, and provides configuration information
– Onboardee verifies it can connect
• Informs onboarder that it has been successful or not
28 May 2015 AllSeen Alliance 26
Onboarding Service
AllJoyn Device
AJ API
App
AllJoyn Platform
AllJoyn Core
Configurator Device
AJ API
Onboard App
AllJoyn Platform
AllJoyn Core
Device OS Device OS
Onboardingservice
27
Notification Service
Framework
28 May 2015 AllSeen Alliance 28
AllJoyn Notifications Service
Framework
• Simple, standardized interface for sending and receiving human-readable
messages
– Contents are text
• Possible to reference image, audio, video: application can fetch media using reference
– Works across devices, operating systems and connection types
• WiFi, Ethernet, PLC, etc…
– Producer (sender) can assign priority to notification
– Consumer (receiver) can configure preferences on types of notifications it receives
• Examples
– Refrigerator could send a notification that freezer door has been left open for more
than 2 minutes
• This could be rendered on any producer: mobile device, TV, set top box, etc…
– Washing machine can send a notification when wash cycle is complete
28 May 2015 AllSeen Alliance 29
Notification Service Framework
Example
Notification
• Freezer door left open for > 5 minutes
• Refrigerator emits notification
• TV renders it
• Could also be rendered on a mobile device
Freezer door open for 5
minutes
28 May 2015 AllSeen Alliance 30
Notification Service
AllJoyn Producer Device
AJ API
Producer App
AllJoyn Consumer Device
Consumer App
AllJoyn Platform AllJoyn Platform
SLS Store and
Forward Cache
AllJoyn Core
Notification API AJ API
AllJoyn Sessionless
Signal
Device OS Device OS
Notification API
Notification
Service
Framework
AllJoyn CoreAllJoyn Core
Notification
Service
Framework
31
Control Panel Service
Framework
28 May 2015 AllSeen Alliance 32
Control Panel Service Framework
• Infrastructure for exposing user interfaces for devices remotely
– Model is there is a controller and a controllee
– Controlee exposes it’s UI using the framework,
– Controller renders the UI and sends control commands back to controllee base on
UI input
– Defined such that any control application using the framework can render a
controllee exposed UI
• That is a generic app can control any type of devices that exposes controls using this
framework
• Examples
– After receiving a notification that the oven has been on Broil for 5 minutes a user
could bring up the ovens control panel and change the setting to “bake at 250” to
keep the food warm
– A user could check the current values of a refrigerator (including current
temperature) and modify the settings to make things hotter or colder as needed.
28 May 2015 AllSeen Alliance 33
Control Panel Service Framework
Example
• After detecting refrigerator
• Mobile device fetches the controls and values
• On receipt it renders them on the display
• Freezer temperature changed on mobile
• Change in the temperature is reported to
refrigerator
Fetch Controls and Values
Controls and current values
-
1
7
3
Change Freezer Temp
Freezer Cooler
Refrigerato
r controls
-15
Refrigerator
controls
28 May 2015 AllSeen Alliance 34
Control Panel Service High Level
Architecture
AllJoyn Controllee Device
App
AllJoyn Platform
AllJoyn Core
Control
Interfaces
AllJoyn Controller Device
Controller
App
AllJoyn Platform
AllJoyn Core
Device OS Device OS
Control Panel
Service
Metadata
Control Panel
Service UI Toolkit
Adaptation Layer
© 2013 Qualcomm Innovation Center, Inc. All rights reserved.
28 May 2015 AllSeen Alliance 35
Thank you
Follow us on
For more information on AllSeen Alliance, visit us at:
allseenalliance.org & allseenalliance.org/news/blogs

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoynAlex Gonzalez
 
Mobile interoperability and business productivity
Mobile interoperability and business productivityMobile interoperability and business productivity
Mobile interoperability and business productivityAllSeen Alliance
 
Jornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: AlljoynJornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: Alljoynvideos
 
Mobile Networks as Secure and Reliable Communication Platform for Smart Home
Mobile Networks as Secure and Reliable Communication Platform for Smart HomeMobile Networks as Secure and Reliable Communication Platform for Smart Home
Mobile Networks as Secure and Reliable Communication Platform for Smart HomeAllSeen Alliance
 
Building Universal Windows Apps with AllJoyn
Building Universal Windows Apps with AllJoynBuilding Universal Windows Apps with AllJoyn
Building Universal Windows Apps with AllJoynAllSeen Alliance
 
Developing Interoperable IoT Controls
Developing Interoperable IoT ControlsDeveloping Interoperable IoT Controls
Developing Interoperable IoT ControlsAllSeen Alliance
 
Designing For Interoperability in Mobile
Designing For Interoperability in MobileDesigning For Interoperability in Mobile
Designing For Interoperability in MobileAllSeen Alliance
 
Kalay Platform Enhancing Multimedia on AllJoyn Devices
Kalay Platform Enhancing Multimedia on AllJoyn DevicesKalay Platform Enhancing Multimedia on AllJoyn Devices
Kalay Platform Enhancing Multimedia on AllJoyn DevicesAllSeen Alliance
 
My Scale Just Told the Cloud I'm Fat
My Scale Just Told the Cloud I'm FatMy Scale Just Told the Cloud I'm Fat
My Scale Just Told the Cloud I'm FatAllSeen Alliance
 
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...Open Mobile Alliance
 
Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014gregulator
 
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICON
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICONOSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICON
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICONjochen.hiller
 
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlowCloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlowCohesive Networks
 
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...mfrancis
 
Scaling IoT Deployments: DevOps for the Internet of Things
Scaling IoT Deployments: DevOps for the Internet of ThingsScaling IoT Deployments: DevOps for the Internet of Things
Scaling IoT Deployments: DevOps for the Internet of ThingsBalena
 
OMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World CongressOMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World CongressOpen Mobile Alliance
 
OMA Overview of the Organization & Work
OMA Overview of the Organization & WorkOMA Overview of the Organization & Work
OMA Overview of the Organization & WorkOpen Mobile Alliance
 
Bluemix overview with Internet of Things
Bluemix overview with Internet of ThingsBluemix overview with Internet of Things
Bluemix overview with Internet of ThingsEric Cattoir
 

Was ist angesagt? (20)

Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoyn
 
Mobile interoperability and business productivity
Mobile interoperability and business productivityMobile interoperability and business productivity
Mobile interoperability and business productivity
 
Jornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: AlljoynJornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: Alljoyn
 
Mobile Networks as Secure and Reliable Communication Platform for Smart Home
Mobile Networks as Secure and Reliable Communication Platform for Smart HomeMobile Networks as Secure and Reliable Communication Platform for Smart Home
Mobile Networks as Secure and Reliable Communication Platform for Smart Home
 
Building Universal Windows Apps with AllJoyn
Building Universal Windows Apps with AllJoynBuilding Universal Windows Apps with AllJoyn
Building Universal Windows Apps with AllJoyn
 
Developing Interoperable IoT Controls
Developing Interoperable IoT ControlsDeveloping Interoperable IoT Controls
Developing Interoperable IoT Controls
 
Designing For Interoperability in Mobile
Designing For Interoperability in MobileDesigning For Interoperability in Mobile
Designing For Interoperability in Mobile
 
The Social Home
The Social HomeThe Social Home
The Social Home
 
Kalay Platform Enhancing Multimedia on AllJoyn Devices
Kalay Platform Enhancing Multimedia on AllJoyn DevicesKalay Platform Enhancing Multimedia on AllJoyn Devices
Kalay Platform Enhancing Multimedia on AllJoyn Devices
 
My Scale Just Told the Cloud I'm Fat
My Scale Just Told the Cloud I'm FatMy Scale Just Told the Cloud I'm Fat
My Scale Just Told the Cloud I'm Fat
 
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...
IoT Seminar (Jan. 2016) - (3) benjamin cabé - building an open internet of th...
 
Intro to OMA GotAPI
Intro to OMA GotAPIIntro to OMA GotAPI
Intro to OMA GotAPI
 
Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014Canopy SF Home Automation Meetup Slides 10/14/2014
Canopy SF Home Automation Meetup Slides 10/14/2014
 
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICON
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICONOSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICON
OSGi Users' Forum Germany - Meeting Darmstadt 2014-04-14 - QIVICON
 
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlowCloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
 
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...
Developing Applications for Your Smart Home with QIVICON - Kai Kreuzer,Jochen...
 
Scaling IoT Deployments: DevOps for the Internet of Things
Scaling IoT Deployments: DevOps for the Internet of ThingsScaling IoT Deployments: DevOps for the Internet of Things
Scaling IoT Deployments: DevOps for the Internet of Things
 
OMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World CongressOMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World Congress
 
OMA Overview of the Organization & Work
OMA Overview of the Organization & WorkOMA Overview of the Organization & Work
OMA Overview of the Organization & Work
 
Bluemix overview with Internet of Things
Bluemix overview with Internet of ThingsBluemix overview with Internet of Things
Bluemix overview with Internet of Things
 

Andere mochten auch

“Seamless and Batteryless” Creating an Internet of Everything
“Seamless and Batteryless” Creating an Internet of Everything“Seamless and Batteryless” Creating an Internet of Everything
“Seamless and Batteryless” Creating an Internet of EverythingAllSeen Alliance
 
Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...AllSeen Alliance
 
Digital Communities and the Internet of Everything Case Studies
Digital Communities and the Internet of Everything Case StudiesDigital Communities and the Internet of Everything Case Studies
Digital Communities and the Internet of Everything Case StudiesConnected Futures
 
Public Safety and the Internet of Everything
Public Safety and the Internet of EverythingPublic Safety and the Internet of Everything
Public Safety and the Internet of EverythingConnected Futures
 
Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Stenio Fernandes
 
Cisco Internet of Everything - Adtech Asia 2015
Cisco Internet of Everything - Adtech Asia 2015Cisco Internet of Everything - Adtech Asia 2015
Cisco Internet of Everything - Adtech Asia 2015Huw Hopkin
 
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin Dig-IT
 
Wearables and IoT Strategy
Wearables and IoT StrategyWearables and IoT Strategy
Wearables and IoT StrategyAllSeen Alliance
 
Creating an Internet of Everything
Creating an Internet of Everything Creating an Internet of Everything
Creating an Internet of Everything AllSeen Alliance
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGGMyTAGG
 
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBi
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBiWHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBi
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBiDigitasLBi Paris
 
BII The Internet Of Everything 2015
BII The Internet Of Everything 2015 BII The Internet Of Everything 2015
BII The Internet Of Everything 2015 BI Intelligence
 
Iot Presentation ( 22 Aug 2015 )
Iot Presentation ( 22 Aug 2015 )Iot Presentation ( 22 Aug 2015 )
Iot Presentation ( 22 Aug 2015 )Adun Nanthakaew
 

Andere mochten auch (17)

Android and DDS
Android and DDSAndroid and DDS
Android and DDS
 
“Seamless and Batteryless” Creating an Internet of Everything
“Seamless and Batteryless” Creating an Internet of Everything“Seamless and Batteryless” Creating an Internet of Everything
“Seamless and Batteryless” Creating an Internet of Everything
 
Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...
 
Digital Communities and the Internet of Everything Case Studies
Digital Communities and the Internet of Everything Case StudiesDigital Communities and the Internet of Everything Case Studies
Digital Communities and the Internet of Everything Case Studies
 
Public Safety and the Internet of Everything
Public Safety and the Internet of EverythingPublic Safety and the Internet of Everything
Public Safety and the Internet of Everything
 
Internet everything
Internet everythingInternet everything
Internet everything
 
Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...
 
Cisco Internet of Everything - Adtech Asia 2015
Cisco Internet of Everything - Adtech Asia 2015Cisco Internet of Everything - Adtech Asia 2015
Cisco Internet of Everything - Adtech Asia 2015
 
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin
Atelier Technique LAN Cisco TOULOUSE - Jeudi 18 Juin
 
Version Final Presentation
Version Final PresentationVersion Final Presentation
Version Final Presentation
 
Wearables and IoT Strategy
Wearables and IoT StrategyWearables and IoT Strategy
Wearables and IoT Strategy
 
Creating an Internet of Everything
Creating an Internet of Everything Creating an Internet of Everything
Creating an Internet of Everything
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGG
 
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBi
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBiWHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBi
WHAT'S NEXT...OBJETS CONNECTÉS par DigitasLBi
 
BII The Internet Of Everything 2015
BII The Internet Of Everything 2015 BII The Internet Of Everything 2015
BII The Internet Of Everything 2015
 
Iot Presentation ( 22 Aug 2015 )
Iot Presentation ( 22 Aug 2015 )Iot Presentation ( 22 Aug 2015 )
Iot Presentation ( 22 Aug 2015 )
 
Internet Of Things
Internet Of Things Internet Of Things
Internet Of Things
 

Ähnlich wie Internet of Everything Development Using AllJoyn

Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudTesora
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
DEVNET-1175 OpenDaylight Service Function Chaining
DEVNET-1175	OpenDaylight Service Function ChainingDEVNET-1175	OpenDaylight Service Function Chaining
DEVNET-1175 OpenDaylight Service Function ChainingCisco DevNet
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p appgeniushkg
 
Tizen introduction & architecture
Tizen introduction & architectureTizen introduction & architecture
Tizen introduction & architectureYoonsoo Kim
 
Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.AEGIS-ACCESSIBLE Projects
 
Anypoint platform security components
Anypoint platform security componentsAnypoint platform security components
Anypoint platform security componentsD.Rajesh Kumar
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDMichael Blackstock
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring IntegrationVadim Mikhnevych
 
Open Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network ServicesOpen Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network ServicesCharles Eckel
 
Displaying google maps in mobileapplication.pptx
Displaying google maps in mobileapplication.pptxDisplaying google maps in mobileapplication.pptx
Displaying google maps in mobileapplication.pptxsanaiftikhar23
 
Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Codemotion
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36MysoreMuleSoftMeetup
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating SystemUday_Peddur
 

Ähnlich wie Internet of Everything Development Using AllJoyn (20)

Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Synapseindia android apps overview
Synapseindia android apps overviewSynapseindia android apps overview
Synapseindia android apps overview
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
DEVNET-1175 OpenDaylight Service Function Chaining
DEVNET-1175	OpenDaylight Service Function ChainingDEVNET-1175	OpenDaylight Service Function Chaining
DEVNET-1175 OpenDaylight Service Function Chaining
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p app
 
Tizen introduction & architecture
Tizen introduction & architectureTizen introduction & architecture
Tizen introduction & architecture
 
Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.
 
Anypoint platform security components
Anypoint platform security componentsAnypoint platform security components
Anypoint platform security components
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-RED
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring Integration
 
SDN Framework and APIs
SDN Framework and APIsSDN Framework and APIs
SDN Framework and APIs
 
Cloud to Edge
Cloud to EdgeCloud to Edge
Cloud to Edge
 
Open Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network ServicesOpen Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network Services
 
Displaying google maps in mobileapplication.pptx
Displaying google maps in mobileapplication.pptxDisplaying google maps in mobileapplication.pptx
Displaying google maps in mobileapplication.pptx
 
Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating System
 

Kürzlich hochgeladen

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Kürzlich hochgeladen (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Internet of Everything Development Using AllJoyn

  • 1. 28 May 2015 AllSeen Alliance 1 Internet of Everything Development using AllJoyn Nobuyuki Uchida Qualcomm Japan Inc.
  • 2. 28 May 2015 AllSeen Alliance 22 1. AllJoyn Overview 2. Software Components 3. Security Concepts 4. Base Services – Onboarding Service – Notification Service Framework – Control Panel Service Framework Agenda
  • 3. 28 May 2015 AllSeen Alliance 3 What is AllJoyn? • An Open Source API Framework For the Internet of Everything • A way devices and applications publish APIs over a network in a standard way • Why APIs? – Because this is what software developers understand and work with every day • These APIs are the functionality that the “things” on the network expose to other “things” – E.g. temperature, time of day, etc.… – Services and/or devices can compose these APIs to provide whatever set of functionality they require – The APIs are critical to interoperability between devices and services • How do applications know what APIs are available? – AllJoyn provides application discovery and fine-grained discovery of the APIs supported by applications – This is accomplished in a platform and radio-link agnostic way
  • 4. 28 May 2015 AllSeen Alliance 4 Overview • AllJoyn implements a “distributed software bus” – The bus provides the “medium” that enables AllJoyn applications to communicate via published APIs • Applications may be firmware on microcontrollers, mobile device “apps” or traditional applications on PCs/servers – Applications publishing APIs are services, while those consuming the APIs are clients • An application can be both a service and a client: this is makes AllJoyn a peer-to-peer system – Communication is via messages that map directly to APIs in high-level programming languages • Bus formation is ad hoc – Based on discovery of applications/services – Abstracts link-specific discovery mechanisms • Protocol is network-independent – Wire protocol is based on the D-Bus wire-protocol with extensions – Can run over Wi-Fi, Wi-Fi Direct, Ethernet and PLC • Could likely run over others
  • 5. 28 May 2015 AllSeen Alliance 5 High Level System Architecture • AllJoyn Bus is composed of two types of nodes: – Routing Nodes (RN) – Leaf Nodes (LN) • LN can only connect to RN • RN can connect to other RN – AllJoyn can be thought of as a mesh of stars Routing Node Routing Node Leaf Node Leaf Node Leaf NodeLeaf Node Leaf Node Routing Node Routing Node Leaf Node Leaf Node Leaf Node Routing Node Leaf NodeLeaf Node Routing Node Leaf Node Routing Node Leaf Node Leaf Node Leaf Node Leaf Node Leaf Node Routing Node Routing Node
  • 6. 28 May 2015 AllSeen Alliance 6 DeviceDevice Ad Hoc Bus Formation: Discovery Find interface org.allseen.media.aud io Implement interfaces org.allseen.media.audio org.allseen.media.video …Eureka! Interface descriptions contained in About message  Services advertise, and Clients find, About messages  connect to advertisers supporting desired interfaces Actual discovery mechanism is transport dependent:  On Wi-Fi, PLC, Ethernet: lightweight IP multicast protocol  On Wi-Fi Direct: would use pre-association discovery Service App Router Client App Router
  • 7. 28 May 2015 AllSeen Alliance 7 Ad Hoc Bus Formation: Session Creation Session creation will cause Routing Nodes to connect and extend the bus  Once connected, buses merge and have a single shared namespace  Peers can discover when other peers join or leave the bus  Peers can interact via their APIs  Session reference counting keeps device-to-device connections alive  Multicast events can be sent to all peers in the session DeviceDevice Client App Router Service App RouterAllJoyn Distributed Bus Peer Session Connect to org.allseen.media.au dio
  • 9. 28 May 2015 AllSeen Alliance 9 AllJoyn Software Framework: High- level architecture • A comprehensive software communication framework IP Network Connection: Wi-Fi, PLC, Ethernet Applications Base Service Frameworks AllJoyn Core Framework Onboarding Control Panel Notifications Config Discovery Security Connection Management Network Management AllJoyn Core Framework • Two main components: • Client Library and Router • These provide the core functionality: • Discovery, connectivity, security • Language bindings, interoperability • Dynamic network intelligence AllJoyn Service Frameworks • Interoperable, cross-platform building blocks for common IoE functionality • Audio, onboarding, control, notifications etc.
  • 10. 28 May 2015 AllSeen Alliance 10 Software Components • Client Library – This is referred to as a Client Library because all AllJoyn applications are clients of the router • This is true regardless of if, in their application context, they are exposing services, or are clients of other services • Applications are peers if they implement both client and service functionality – The Client Library is what software developers interact with: the API set of the AllJoyn SDK – There are two implementations of the Client Library: the Standard Client (SC) and the Thin Client (TC) – The SC is targeted at applications running in HLOS environments • The SDK APIs for the SC provide a high level of abstraction, and allow complex multi-threaded applications • Native implementation is in C++ and there are a number of language bindings for various platforms available – The TC is targeted at applications that would reside on deeply embedded devices (i.e. device firmware) • Targets a very minimal memory (RAM and ROM) footprint, • Implemented in C, with no other language bindings • TC depends on a Routing Node running elsewhere, likely off device • AllJoyn has two main architectural components: the Client Library and the Router
  • 11. 28 May 2015 AllSeen Alliance 11 Software Components: Router • Router – Any node containing the router is a Routing Node – The router is built using the Standard Client library, and so must run on an HLOS – This can be deployed as a standalone daemon/service or integrated with the SC in an application • The only platforms on which standalone functionality is currently supported are Linux-based, such as OpenWRT – The Router functionality consists of bus management and routing AllJoyn messages • Bus management includes – Managing the namespace: application addressing over the bus – Cross-device communication: discovering services and connecting to the routing node supporting that service on behalf leaf nodes • Message routing consists of delivering messages between applications, or to the router itself – AllJoyn control signaling also uses AllJoyn messages – Routing Nodes do the “heavy lifting” in the Alljoyn system – Leaf Nodes depend on Routing Nodes to interact with other nodes
  • 12. 28 May 2015 AllSeen Alliance 12 Software Components: Language Bindings • Standard Client Library supports multiple language bindings • C++ • C • Java • Object-C – All of the bindings are currently wrappers around the native C++ implementation – Same object model for all bindings – Seamless interoperability between applications written in different languages • Thin Client Library only supports C – Most appropriate language for embedded RTOS development – Other language wrappers around the C implementation being investigated
  • 13. 28 May 2015 AllSeen Alliance 13 Device 2 Device 3 AppX Integrated Router AppX AppY Standalone Routing Node Components deployed in AllJoyn Distributed Bus IP or Bluetooth Local socket  Applications communicate with router or routing node  Routers instances deliver messages between devices Device 1 AppX AppZ Standard Client Applcation Device 4 AppZ Thin Client Application AllJoyn Distributed BusRouter Routing Node Routing Node IP
  • 14. 28 May 2015 AllSeen Alliance 14 AllJoyn SDK Concepts • AllJoyn applications expose their functionality via APIs implemented in objects – Most applications will expose only a single object – Object hierarchies are supported if required by application model • AllJoyn will create parent objects automatically if application object is not the root • Objects implement one or more interfaces – These are the APIs that can be discovered using About • Interfaces are composed of members, which fall into three categories – Methods – classic OO object interaction – Signals – asynchronous event notification • Can be broadcast, multicast, or point-to-point • Can also send a Sessionless Signal: a broadcast signal that doesn’t require an application session to be delivered – Properties – data members • These are accessed by built-in get/set methods • All of this information can be introspected remotely • Exposing Functionality
  • 15. 28 May 2015 AllSeen Alliance 15 Bus AllJoyn SDK Concepts • Bus Attachment is required to interact with/over the bus – They are the application’s presence on the AllJoyn Bus – They provide the root (/) of the object hierarchy • Objects are published to local Bus Attachment – Object path names look like file paths • e.g. /Games/chess • Proxy Objects – Local representation of a remote object • Signal handlers are registered with the Bus Attachment – Registered by applications to take action when a signal is received • Sessions – Flow controlled connections between applications – Can be point-to-point or multipoint • Connecting-to and Using the Bus Bus AttachmentBus AttachmentBus Attachment Object Application Signal Handler Proxy Object Application Session
  • 16. 28 May 2015 AllSeen Alliance 16 Bus AllJoyn SDK Concepts • Method Calls are made by using Proxy Objects – This results in a method call message being sent to the object the proxy object represents – Method handler is invoked to execute method and generate the reply – The method reply is sent by the object back to the proxy object • Signals are emitted by Objects and consumed by Signal Handlers – Sessionless signals work the same way, but do not require the application to create a session • They are broadcast and are delivered to any app interested in receiving sessionless signals • Only a single instance of a signal will be sent, i.e. if the same signal is emitted multiple times, only the last will be delivered – Useful for sending isochronous data, such as state updates • Method Calls and Signals Bus AttachmentBus Attachment Object Bus Attachment Signal Handler Proxy Object Method_Call Method_Reply Method_Reply Application Application
  • 17. 28 May 2015 AllSeen Alliance 17 AllJoyn SDK Concepts • As stated earlier, the Object model is similar for all language bindings – Create a BusAttachment to connect to the bus – Create BusInterface(s) that will be implemented by BusObjects – Create and register BusObject(s) with the BusAttachment – BusObjects handle remote method calls and emit Signals – Applications call methods on remote objects using ProxyBusObjects – Applications register Signal handlers with BusAttachment • Object Model
  • 19. 28 May 2015 AllSeen Alliance 19 Design of Security Framework • Authentication and encryption is designed to be app-to-app – Trust relationship established between the applications* • There is no trust relationship established at the device level – The Router is not involved other than to route the messages – Device pairing not required unless the transport requires it • Security is enabled per interface – Authentication and key exchange initiated on demand – Applications can have a mixture of secured interfaces and open interfaces • Security-enabled interface – Authentication is required to make method calls – Authentication required to receive signals – All messages are encrypted • Regardless of authentication mechanism, encryption always uses same AES-128 CCM algorithm
  • 20. 28 May 2015 AllSeen Alliance 20 AllJoyn Distributed Bus AllJoyn Application Application can allow a mix of security-enabled and non-secure interfaces. Apps can provide own key store or use default one provided. Method calls to security- enabled interface are encrypted and authenticated. If call is encrypted, so is reply. AllJoyn Application AllJoyn Application Key Store Key Store Key Store Signals from a security-enabled interface are encrypted and authenticated. Security Model – Authentication and Encryption
  • 21. 28 May 2015 AllSeen Alliance 21 Built-In Authentication Mechanisms • Four mechanisms supported – Mechanism negotiated using SASL protocol – Mechanism chosen by application developer – Most mechanisms adapted from TLS protocols per RFC 5256 • Simple Pin-code pairing – Specifically for Thin Client applications that lack resources to support big- number arithmetic • Pin-code SRP – Pairing with a single-use password using Secure Remote Password protocol • Logon SRP – User name and password using Secure Remote Password protocol – Password required every time peers connect • Certificate-based – RSA public key authentication and X.509 certificate-based – Trust relationship lasts while certificate valid
  • 23. 28 May 2015 AllSeen Alliance 23 AllJoyn Base Services for fundamental use cases • Standard AllJoyn building blocks for generically useful services – Onboarding – Notifications – Control Panel – Config • Accelerate application and device development
  • 25. 28 May 2015 AllSeen Alliance 25 Onboarding • Provides a standard way to get devices onto a WiFi Network – Onboarder is an application running on a smart device – Onboardee is the device to be added to the WiFi network • Basic flow – Onboarder discovers device that needs to be onboarded – Connects to it, and provides configuration information – Onboardee verifies it can connect • Informs onboarder that it has been successful or not
  • 26. 28 May 2015 AllSeen Alliance 26 Onboarding Service AllJoyn Device AJ API App AllJoyn Platform AllJoyn Core Configurator Device AJ API Onboard App AllJoyn Platform AllJoyn Core Device OS Device OS Onboardingservice
  • 28. 28 May 2015 AllSeen Alliance 28 AllJoyn Notifications Service Framework • Simple, standardized interface for sending and receiving human-readable messages – Contents are text • Possible to reference image, audio, video: application can fetch media using reference – Works across devices, operating systems and connection types • WiFi, Ethernet, PLC, etc… – Producer (sender) can assign priority to notification – Consumer (receiver) can configure preferences on types of notifications it receives • Examples – Refrigerator could send a notification that freezer door has been left open for more than 2 minutes • This could be rendered on any producer: mobile device, TV, set top box, etc… – Washing machine can send a notification when wash cycle is complete
  • 29. 28 May 2015 AllSeen Alliance 29 Notification Service Framework Example Notification • Freezer door left open for > 5 minutes • Refrigerator emits notification • TV renders it • Could also be rendered on a mobile device Freezer door open for 5 minutes
  • 30. 28 May 2015 AllSeen Alliance 30 Notification Service AllJoyn Producer Device AJ API Producer App AllJoyn Consumer Device Consumer App AllJoyn Platform AllJoyn Platform SLS Store and Forward Cache AllJoyn Core Notification API AJ API AllJoyn Sessionless Signal Device OS Device OS Notification API Notification Service Framework AllJoyn CoreAllJoyn Core Notification Service Framework
  • 32. 28 May 2015 AllSeen Alliance 32 Control Panel Service Framework • Infrastructure for exposing user interfaces for devices remotely – Model is there is a controller and a controllee – Controlee exposes it’s UI using the framework, – Controller renders the UI and sends control commands back to controllee base on UI input – Defined such that any control application using the framework can render a controllee exposed UI • That is a generic app can control any type of devices that exposes controls using this framework • Examples – After receiving a notification that the oven has been on Broil for 5 minutes a user could bring up the ovens control panel and change the setting to “bake at 250” to keep the food warm – A user could check the current values of a refrigerator (including current temperature) and modify the settings to make things hotter or colder as needed.
  • 33. 28 May 2015 AllSeen Alliance 33 Control Panel Service Framework Example • After detecting refrigerator • Mobile device fetches the controls and values • On receipt it renders them on the display • Freezer temperature changed on mobile • Change in the temperature is reported to refrigerator Fetch Controls and Values Controls and current values - 1 7 3 Change Freezer Temp Freezer Cooler Refrigerato r controls -15 Refrigerator controls
  • 34. 28 May 2015 AllSeen Alliance 34 Control Panel Service High Level Architecture AllJoyn Controllee Device App AllJoyn Platform AllJoyn Core Control Interfaces AllJoyn Controller Device Controller App AllJoyn Platform AllJoyn Core Device OS Device OS Control Panel Service Metadata Control Panel Service UI Toolkit Adaptation Layer © 2013 Qualcomm Innovation Center, Inc. All rights reserved.
  • 35. 28 May 2015 AllSeen Alliance 35 Thank you Follow us on For more information on AllSeen Alliance, visit us at: allseenalliance.org & allseenalliance.org/news/blogs