Академический Документы
Профессиональный Документы
Культура Документы
Peer-to-Peer Technology:
Driving Innovative User
Experiences in Mobile
Marcello Lioy
Director, Engineering,
Qualcomm Innovation Center, Inc.
PAGE 1
Agenda
AllJoyn Overview
Architecture and Security Concepts
Performance Considerations
Open Source
Q&A
PAGE 2
AllJoyn Overview
PAGE 3
What is AllJoyn?
AllJoyn enables ad hoc, proximity based, peer-to-peer, bearer
agnostic networking between devices and applications
PAGE 4
What is peer-to-peer
and why is it important?
Enables devices and applications to
communicate with each other without the
need of a server
Mobile peer-to-peer will enable a new
generation of proximal experiences
PAGE 5
PAGE 6
Adapt
Manage
Interoperate
Exchange
devices and
applications
around you
to devices
coming and
going
transports like
Bluetooth and
Wi-Fi and
message routing
across them
across disparate
Operating
Systems and
bearers
Information in a
secure manner
PAGE 7
MEDIA
SHARING
Trade pictures,
videos or business
cards
PROXIMAL
AWARENESS
CHAT
Exchange tips, ask
questions or taunt your
opponent
MULTI-PLAYER
GAMING
Play head-to-head
Notification of others
nearby
SOCIAL
Find people nearby to
follow or places to like
PROXIMAL
SERVICES
Coupons & rewards
PAGE 8
PAGE 9
Overview
AllJoyn is a distributed software bus
Each device runs a bus daemon
Applications communicate directly with daemon
Daemons on each device communicate with daemons on other devices
Daemons do message routing and namespace management
PAGE 10
Object oriented
Objects, interfaces, methods, and properties
Language neutral
Bindings for C, Java, Python, Perl, etc.
PAGE 11
DBus Compatibility
Peer sessions
Service
Advertisement
& Discovery
Distributed
Bus
Management
Object model
Authentication
&
Encryption
DBus Compatibility
Wire-protocol
Routing rules
Client-bus
authentication
Header
Compression
Message
Expiration (TTL)
Signals
Remote
procedure call
Introspection
Device-to-device
message
routing
Name space
Raw Session
support
Topology
management
Bluetooth
PAGE 12
WiFi
App X
App Y
Daemon
Device 2
App X
App Z
Daemon
PAGE 13
Device 3
App Y
App Z
Daemon
Device
Find-Name
request
Advertise-Name
request
Client App
Daemon
Service App
Eureka!
PAGE 14
Device
Daemon
Device
Device
Client App
Service App
Peer Session
Daemon
PAGE 15
Distributed bus
Daemon
Object Model
AllJoyn applications expose their functionality via objects
These are typically organized in a hierarchy
Application
Event
handler
Bus
Proxy
Object
Signal
PAGE 16
Bus
Object
Tree
Signal
Language Bindings
Native implementation for AllJoyn is C++
Java binding is available for Android
Binding for JavaScript is under development
Considering bindings for C, C# and Python
Object model is similar for all bindings
PAGE 17
Security-enabled interface
Authentication is required to make method calls
Authentication required to receive signals
PAGE 18
Key
Store
Signals from a
security-enabled
interface are
designed to be
encrypted and
authenticated.
Key
AllJoyn
Store Application
PAGE 19
AllJoyn
Distributed
Bus
AllJoyn
Application
Key
Store
Application
can allow a
mix of securityenabled and
non-secure
interfaces.
Maintain own
key storecan
use password.
Performance Considerations
PAGE 20
Message Efficiency
Header compression
Designed to significantly reduce the size of message headers
Intended for messages that are sent frequently
Designed to allow short messages to fit into single-slot Bluetooth packets
Time to live
Added for multi-player games and streaming where stale data is useless
Expired messages are silently discarded
Mainly applies to signals
Introduces a new message header field
Multipoint sessions
Bounds the scope of broadcast signals to session members
Provides mechanism for deciding when radios are no longer in use
PAGE 21
Process
Removes overhead by
providing direct access to
underlying socket
PAGE 22
Open Source
PAGE 23
PAGE 24
Apache 2 License
Download
Documentation
SDK
Contribute Code
Participate
Get Source
PAGE 25
PAGE 26
Summary
Easier P2P Development
OS and platform
independent
Download SDK
PAGE 27
Contribute
Questions?
Questions?
Questions?
Sprgsml?
Sprgsml?
Cwestiynau?
Cwestiynau?
PAGE 28
Questions?
Disclaimer
Copyright 2011 Qualcomm Innovation Center, Inc. All rights reserved. AllJoyn is a trademark
of Qualcomm Innovation Center, Inc. Other product and brand names may be trademarks or
registered trademarks of their respective owners.
PAGE 29