Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
AllJoyn Overview
Architecture and Concepts
Security Framework
Performance Considerations
Code Example
Q&A
AllJoyn Overview
What is AllJoyn?
AllJoyn is a new proximity based mobile peer-to-peer
software framework developed by Qualcomm Innovation
Center, Inc. ("QuIC")
Simple Definition:
Communicating with
stuff around you
without need for a
server
* Support
forthcoming
Java
C++
JavaScript
Service
Device
Routing
Multi-Threading
Data Marshalling
Ad-hoc networks
Language
Bindings
Simple
Discovery
Transport/ OS
Agnostic
Managed
Networking
Sessions
Lower Latency
Point to Multipoint
Raw-Data
Performance Optimizations
SOCIAL
APPLICATIONS
INFORMATION
EXCHANGE
GROUPWARE
MULTIPLAYER
GAMING
P2P AUGMENTED
REALITY
PROXIMITY-BASED
MEDIA
SERVICES
ENTERTAINMENT
7
An Open Source
Project
Architecture Concepts
Architecture Overview
AllJoyn is a distributed software bus
www.freedesktop.org/wiki/Software/dbus
Object oriented
Language neutral
DBus Compatibility
Peer sessions
Service
Advertisement
& Discovery
Distributed
Bus
Management
Object model
Authentication
&
Encryption
Wire-protocol
Client-bus
authentication
Header
Compression
Routing rules
DBus Compatibility
Signals
Remote
procedure call
Introspection
Message
Expiration (TTL)
Device-to-device
message
routing
Name space
Raw Session
support
Topology
management
Bluetooth
WiFi
13
Bus Objects path names look like file paths, e.g. /org/AllJoyn/Games/chess
Applications use proxy bus objects to make method calls to remote objects
Application
Application
Bus Attachment
Event
handler
Bus Attachment
Proxy
Object
Bus
Bus
Object
Tree
15
TCP or Bluetooth
Local socket
App X
App Y
Daemon
Device 2
App X
Daemon
Device 3
App Y
App Z
Daemon
16
Device
Daemon
Find-Name
request
Find-Name
request
Service App
Eureka!
Daemon
Device
Client App
Service App
Peer Session
Daemon
Distributed Bus
Daemon
Security Framework
Security Framework
Authentication and encryption is app-to-app:
Security-enabled interface:
20
Key
Store
AllJoyn
Application
Signals from a
security-enabled
interface are
encrypted and
authenticated
Key
Store
AllJoyn
Application
AllJoyn
Application
AllJoyn
Distributed Bus
Key
Store
Application can
allow a mix of
security-enabled
and non-secure
interfaces.
Maintain own key
storecan
use password
21
Pin-code
Logon
Certificate-based
Encrypted Message
Endian flag
Version #
Flag bits
Message type
Serial #
Header length
Authenticated
header
Body length
Header fields
0-7 bytes
Body length
bytes
Indicates
message is
encrypted
Zero padding
Body
Authentication
field
23
Performance Considerations
Message Efficiency
Time to live:
Added for multi-player games and streaming where stale data is useless.
Mainly applies to signals.
Introduces a new message header field.
Expired messages are silently discarded.
Header compression:
Multipoint sessions:
Process
26
Code Snippets
Language Bindings
* Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
31
Summary
Easier P2P Development
Multiple transports
Download SDK
Contribute
32
Questions?
33
Disclaimer
Not to be used, copied, reproduced in whole or in part, nor its contents revealed in any manner to others without the express
written permission of Qualcomm.
Qualcomm and Uplinq are trademarks of Qualcomm Incorporated, registered in the United States.
ALLJOYN is a trademark of Qualcomm Innovation Center, Inc.
Other product and brand names may be trademarks or registered trademarks of their respective owners.
Nothing in these materials is an offer to sell any of the components or devices referenced herein. Certain components for use in
the U.S. are available only through licensed suppliers. Some components are not available for use in the U.S.
34