The document provides an overview of the AllJoyn development framework for enabling peer-to-peer connectivity between devices. It discusses what AllJoyn is, compares it to other P2P solutions, reviews AllJoyn fundamentals including its distributed software bus architecture and object model, and provides code snippets for connecting to the bus, registering bus objects and handlers, discovering services, creating sessions, and joining sessions.
AllJoyn is an open source framework in the fight to become the standard for IoT applications. The presentation brings together information scattered around to give an overview of the framework and its applications.
AllSeen Alliance Technical Steering Committee Chair Greg Burns explains the importance of open source for the Internet of Things and why AllJoyn is moving the market forward at the Linux Foundation's 2015 Collaboration Summit.
Yuping Tseng, CTO of ThroughTek, discusses how to incorporate the AllJoyn framework to the ThroughTek Kalay Platform at the AllSeen Alliance's LinuxCon Japan Mini-Summit in June 2015.
The AllSeen Alliance Gateway Working Group develops and creates the gateway agent which provides a standard and secure, remote access method for AllJoyn devices and applications to connect to external/cloud services, PAN technologies, other networks. No need to go out to the cloud to talk to devices right near you.
Art Lancaster, Affinegy, Gerard O'Keeffe, GeoPal Solutions, and Warren Coles, ThroughTek Co., Ltd., gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
Noah Harlan, Founder of Two Bulls, gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
About Two Bulls: Two Bulls is Community Member of the AllSeen Alliance that works with some of the world’s top brands and innovative startups in designing and developing apps, services, products and ecosystems for mobile, desktop and emerging platforms. Its apps have been downloaded millions of times by users around the world. Noah Harlan, Two Bulls Founder, shares his thoughts on being a part of the Alliance, the road to interoperability and the importance of open source in realizing the Internet of Everything.
AllJoyn is an open source framework in the fight to become the standard for IoT applications. The presentation brings together information scattered around to give an overview of the framework and its applications.
AllSeen Alliance Technical Steering Committee Chair Greg Burns explains the importance of open source for the Internet of Things and why AllJoyn is moving the market forward at the Linux Foundation's 2015 Collaboration Summit.
Yuping Tseng, CTO of ThroughTek, discusses how to incorporate the AllJoyn framework to the ThroughTek Kalay Platform at the AllSeen Alliance's LinuxCon Japan Mini-Summit in June 2015.
The AllSeen Alliance Gateway Working Group develops and creates the gateway agent which provides a standard and secure, remote access method for AllJoyn devices and applications to connect to external/cloud services, PAN technologies, other networks. No need to go out to the cloud to talk to devices right near you.
Art Lancaster, Affinegy, Gerard O'Keeffe, GeoPal Solutions, and Warren Coles, ThroughTek Co., Ltd., gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
Noah Harlan, Founder of Two Bulls, gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
About Two Bulls: Two Bulls is Community Member of the AllSeen Alliance that works with some of the world’s top brands and innovative startups in designing and developing apps, services, products and ecosystems for mobile, desktop and emerging platforms. Its apps have been downloaded millions of times by users around the world. Noah Harlan, Two Bulls Founder, shares his thoughts on being a part of the Alliance, the road to interoperability and the importance of open source in realizing the Internet of Everything.
Danny Lousberg, Director of Product Management for Technicolor, gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
Kalay Platform Enhancing Multimedia on AllJoyn DevicesAllSeen Alliance
Â
This presentation was given at the AllSeen Alliance's 2015 Mobile World Congress Partner Programme.
About ThroughTek: ThroughTek, headquartered in Taipei, provides a peer-to-peer (P2P) connection platform for the Internet of Things.
Learn more about the OMA Developer Tool Kit, as delivered to attendees at Mobile World Congress, March 2015. The developer tool kit is the first in a series of revolutionary new tools designed to make OMA Enablers more accessible and easier to use for application developers.
Short-range wireless communication technologies such as Bluetooth or ZigBee represent an important part of the Internet of Things ecosystem.
By design, this category of smart devices has physically limited reachability inside their Wireless Personal Area Network (WPAN) and are not directly compatible with the TCP/IP stack.
However, users may need to access them from anywhere at any moment.
To address this problem, we design a new application-agnostic approach called RCM (Remote Connection Manager) enabling transparent communication between an application and out-of-range devices.
It creates new IoT use cases by seamlessly mixing remote and local devices.
We implemented an open-source prototype for Bluetooth Low Energy (BLE) technology on top of Linux and Android BLE stacks and demonstrated its efficiency through experiments performed on real devices.
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...EIT Digital Alumni
Â
What if your coffee machine makes your coffee when you wake up and how about if it tells your toaster to keep your sandwich ready at your breakfast time? Thread is built to turn cool ideas like these into reality!
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlowCohesive Networks
Â
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Software Defined Networking (SDN) is a new approach to networking, both to the data centre, and as a connection across data centers. SDN defines the networks in software, meaning designers can operate, control, and configure networks without physical access to the hardware. Effectively, SDN frees the network and applications from underlying hardware. New technologies are making it possible for enterprises to use virtualized networks over any type of hardware in any physical location - including unifying physical data centers and federating cloud-based data centers.
In his session at the 12th International Cloud Expo, Patrick Kerpan, the CEO and co-founder of CohesiveFT, will highlight customer use cases to demonstrate a broader SDN definition.
WebRTC extracts voice and video from phones and apps and puts them in browsers without requiring plug-ins (WebRTC-compliant browsers only). The AT&T Enhanced WebRTC (Beta) API extends WebRTC by also allowing calls to regular phone numbers, plus browser-to-browser calling with the following features.
To Build or Not to Build Your WebRTC InfrastructureTsahi Levent-levi
Â
These are the slides for the Upperside Webinar I talked at.
The acquisition of AddLive by SnapChat created some discomfort among companies using a WebRTC API platform. It made the threat, well known to all those building their future on someone else’s service, apparent and real. If you are now planning your service the first decision to be made is whether to build your own infrastructure or use an API platform.
Should decisions be made only in light of current happenings in the market? Are there more options except for to build or use a service?
The selection of an API platform is an important one. There are over 20 such platforms available. But they are different. They don't offer the same set of capabilities, they aren't focused on the same types of use cases and customers. The selection process requires an understanding of the use case, the business values, the features and requirements you have. In this webinar, we will review the various KPIs and selection criteria, offering an instruction manual for vendor selection and self built infrastructure options.
Danny Lousberg, Director of Product Management for Technicolor, gave this presentation at the AllSeen Alliance's Partner Programme at Mobile World Congress 2015.
Kalay Platform Enhancing Multimedia on AllJoyn DevicesAllSeen Alliance
Â
This presentation was given at the AllSeen Alliance's 2015 Mobile World Congress Partner Programme.
About ThroughTek: ThroughTek, headquartered in Taipei, provides a peer-to-peer (P2P) connection platform for the Internet of Things.
Learn more about the OMA Developer Tool Kit, as delivered to attendees at Mobile World Congress, March 2015. The developer tool kit is the first in a series of revolutionary new tools designed to make OMA Enablers more accessible and easier to use for application developers.
Short-range wireless communication technologies such as Bluetooth or ZigBee represent an important part of the Internet of Things ecosystem.
By design, this category of smart devices has physically limited reachability inside their Wireless Personal Area Network (WPAN) and are not directly compatible with the TCP/IP stack.
However, users may need to access them from anywhere at any moment.
To address this problem, we design a new application-agnostic approach called RCM (Remote Connection Manager) enabling transparent communication between an application and out-of-range devices.
It creates new IoT use cases by seamlessly mixing remote and local devices.
We implemented an open-source prototype for Bluetooth Low Energy (BLE) technology on top of Linux and Android BLE stacks and demonstrated its efficiency through experiments performed on real devices.
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...EIT Digital Alumni
Â
What if your coffee machine makes your coffee when you wake up and how about if it tells your toaster to keep your sandwich ready at your breakfast time? Thread is built to turn cool ideas like these into reality!
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlowCohesive Networks
Â
Cloud Expo New York: OpenFlow Is SDN Yet SDN Is Not Only OpenFlow
Software Defined Networking (SDN) is a new approach to networking, both to the data centre, and as a connection across data centers. SDN defines the networks in software, meaning designers can operate, control, and configure networks without physical access to the hardware. Effectively, SDN frees the network and applications from underlying hardware. New technologies are making it possible for enterprises to use virtualized networks over any type of hardware in any physical location - including unifying physical data centers and federating cloud-based data centers.
In his session at the 12th International Cloud Expo, Patrick Kerpan, the CEO and co-founder of CohesiveFT, will highlight customer use cases to demonstrate a broader SDN definition.
WebRTC extracts voice and video from phones and apps and puts them in browsers without requiring plug-ins (WebRTC-compliant browsers only). The AT&T Enhanced WebRTC (Beta) API extends WebRTC by also allowing calls to regular phone numbers, plus browser-to-browser calling with the following features.
To Build or Not to Build Your WebRTC InfrastructureTsahi Levent-levi
Â
These are the slides for the Upperside Webinar I talked at.
The acquisition of AddLive by SnapChat created some discomfort among companies using a WebRTC API platform. It made the threat, well known to all those building their future on someone else’s service, apparent and real. If you are now planning your service the first decision to be made is whether to build your own infrastructure or use an API platform.
Should decisions be made only in light of current happenings in the market? Are there more options except for to build or use a service?
The selection of an API platform is an important one. There are over 20 such platforms available. But they are different. They don't offer the same set of capabilities, they aren't focused on the same types of use cases and customers. The selection process requires an understanding of the use case, the business values, the features and requirements you have. In this webinar, we will review the various KPIs and selection criteria, offering an instruction manual for vendor selection and self built infrastructure options.
David Ward's keynote from JavaOne 2011 on how networks are now programmable & intuitive, allowing application developers to access real-time data, geo-loc, and more information from the network through APIs and new protocols.
Learn more about the Junos Space SDK, it's APIs, Tools, and more. See specific code samples using Junos Space APIs with Java, Perl, Python, PHP, .NET, and more. Walk thru customer examples.
When developer's api simplify user mode rootkits developing.Yury Chemerkin
Â
This is a series of articles about shell extensions that enhance high-level features of any operation system. However, such possibilities not only enrich platform but simplify developing trojans, exploits that leads to the new security holes. Mostly this kind of extensions are known as usermode rootkits.
http://hakin9.org/theultimat/
Presentation delivered by David Ward at the Open Networking Summit in October 2011.
Details of OpenFlow, New Applications, and how to deliver it to your business. Network engineer & developer focused.
Programmable WAN Networking is SFW (Open Networking Summit version)Juniper Networks
Â
Presentation delivered by David Ward at the Open Networking Summit in October 2011. Details of OpenFlow, New Applications, and how to deliver it to your business. Network engineer & developer focused.
Quantum is an OpenStack project to provide network connectivity as a service between interface devices. It will enable cloud tenants to create rich networking topologies, build advanced network services and innovative network capabilities.
Imaginea brings more than 12 years of product engineering and services to software companies from several different industries at any stage of the life-cycle process. Through the use of several technologies and strong, innovative development processes, we deliver dependable software products at a lower cost and fulfill our customer’s business needs.
It is no wonder then that all of our customers, from the startups to the big guys, call on us for comprehensive development of core products and are often return customers!
We provide product engineering services with a very reliable technology partnership to independent software vendors, enterprises and online SaaS businesses. Services are comprehensive and cover the development process from beginning to end.
Ericsson Labs is a website primarily provided to you as a developer and innovator of new applications where we will provide you early prototypes of new enabling technologies for you to experiment with.
[MobileMonday Switzerland #3 : Mobile application platforms]
Claude Florin gave an introduction on the key industry trends in mobile environments and question to be addressed by the speakers. He invited Swiss start-ups to Mobile Mondays peer awards. At HP, he is marketing manager for Communication solutions, responsible for user experience and emerging applications worldwide.
http://cflorin.blogspot.com/
600.250 UI Cross Platform Development and the Android Security ModelMichael Rushanan
Â
In this presentation I provided undergraduates an introduction to the wildes of cross platform development in the mobile domain. In the end, we explored a few solutions and talked about the strengths/weaknesses of those third party providers. The second half of the talk involved the Android security model and how it WAS important to application developers.
Junos Space SDK - Imagination, Ideas, InnovationJuniper Networks
Â
The availability of Junos Space SDK further extends Juniper’s open ecosystem, enabling developers to build network-aware applications quickly and economically.
Similar to Jornada Formativa Qualcomm y Movilforum: Alljoyn (20)
En el documento encontrarás los hitos de 2015 y los retos de 2016 del programa de partners de Telefónica movilforum. La presentación fue realizada por la responsable del programa Julia Fraile.
PresentaciĂłn Alma technology en Networking Day movilforumvideos
Â
Presentación Alma technology en Networking Day movilforum, en las que nos explican las áreas de colaboración que ofrecen a otros partners movilforum.
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...videos
Â
Presentación acuerdo de colaboración Fieldas y EasyOnPad en Networking Day movilforum. Es una muestra más de las conexiones entre partners que se generan en el ecosistemas movilforum
PresentaciĂłn Billage en Networking Day movilforumvideos
Â
PresentaciĂłn Billage en Networking Day movilforum celebrado el dĂa 3 de diciembre de 2015 en Madrid, en el que nos describen Face on y las posibilidades de negocio.
PresentaciĂłn Face On en Networking Day movilforumvideos
Â
PresentaciĂłn Face On en Networking Day movilforum celebrado el dĂa 3 de diciembre de 2015 en Madrid, en el que nos describen Face on y las posibilidades de negocio.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
Â
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Â
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Â
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Â
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Â
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
Â
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Â
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Â
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Â
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Â
Jornada Formativa Qualcomm y Movilforum: Alljoyn
1. Open Source. Open Possibilities.
Overview of the AllJoyn™
Development Framework
Nick Clarey
January 11, 2013
2. Agenda
 What is AllJoyn?
 What About Other Peer-to-peer Solutions?
 AllJoyn Fundamentals
 Add AllJoyn to an Android Application
 Add AllJoyn to a Unity Application
 Q&A
PAGE 2 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
4. Why Peer-to-peer (P2P) Is Hard
P2P Friction Developers Face Today
Device Service
Discovery Discovery
Pairing Platforms
Security Radios
Ad Hoc Transient
Networking Devices
PAGE 4 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
5. AllJoyn Makes Peer-to-peer Frictionless
DISCOVER ADAPT MANAGE INTEROPERATE EXCHANGE
devices and to apps and transports like Wi-Fi across disparate Information in
applications devices and Wi-Fi Direct programming a secure manner
around you coming and message routing languages,
and going across them operating systems,
and bearers
PAGE 5 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
6. What Is AllJoyn?
Open Source Application Development Framework to Enable
Ad Hoc, Proximity-based, Peer-to-peer Networking
AllJoyn brings proximity awareness to mobile apps, unleashing a whole new set
of user experiences to smartphones, tablets, PCs, TVs and more
PAGE 6 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
7. AllJoyn is a Software Framework
Applications
Open Sourced (Apache 2.0 License)
Third-
Multiplayer Party
JamJoyn™ Media Social Chat or OEM
Gaming Enables Developers to Easily Add P2P
Experiences to Their Apps
AllJoyn Development Framework S
C++ Java JavaScript Objective-C CLR O o
p u Application Layer Discovery
e r (What services are running on nearby
Network Cross- Wireless- devices that are reachable)
Discovery Security Pairing n c
Management Platform Optimized
e
Application Layer Security
(What information can a service access
Wi-Fi Direct Wi-Fi BT on your phone, what’s off limits)
Chipset Interoperate Across Different OS
and Bearers
(Developer does not need to know
anything about Wi-Fi, Wi-Fi Direct,
Android, Windows, etc.)
Tablets Mobiles Televisions Laptop/PC
PAGE 7 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
8. What New Experiences Can AllJoyn Enable?
ENTERTAINMENT
MULTISCREEN COLLABORATIVE
& GAMING
EXPERIENCES EXPERIENCES
EXPERIENCES
AllJoyn Ushers
in New User
Experiences for
Smartphones, Tablets,
PCs & TVs
GAMES OFFICE SOCIAL IMAGING TV
APPS NETWORKING APPS CONNECTIONS
PAGE 8 Open Source. Open Possibilities.
Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
9. Open Source. Open Possibilities.
What About Other
P2P Solutions?
PAGE 9
10. What About Existing Protocols?
AllJoyn DLNA® UPnP Bonjour
Other peer-to-peer
Multiple wireless transports platforms focus on
Application Centric
their own ecosystem
Device Centric
Could be standards
Network management that are slow to change
and fixed in design
App development
framework
Media streaming & security AllJoyn is a complete
package that works
Control plane across different operating
systems and programming
Discovery languages to provide
a complete solution
IP Transport
PAGE 10 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
12. AllJoyn Fundamentals
AllJoyn is a distributed software bus
 Each device runs a bus daemon
 Applications communicate directly only with the daemon
 Daemons on each device communicate with daemons on other devices
 Daemons do message routing and namespace management
Bus formation is ad hoc
 Based on proximal discovery
 Abstracts multiple discovery mechanisms
Protocol is transport independent
 Supports Wi-Fi currently
 Working on Wi-Fi Direct
PAGE 12 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
13. What Operating Systems and Languages?
TODAY LANGUAGE BINDINGS
Android Windows® 7 C++
Linux C
2.1 (Éclair) and newer and XP (native implementation)
iOS/OS X Windows® RT Windows® 8 Java C# Objective C
(Unity)
IN DEVELOPMENT/DEMONSTRATED
JavaScript C#
(General)
AllJoyn is open source and available
http://www.alljoyn.org
PAGE 13 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
14. AllJoyn Distributed Software Bus
Device 1  Conceptually peers are
applications not devices.
AppX AppY
IP or Bluetooth  Applications communicate
Local socket with a local daemon
Daemon
 Daemons handle routing
between devices
Device 2 Device 3
AppX AppZ AppY AppZ
Daemon Daemon
PAGE 14 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
15. Ad Hoc Bus Formation
Device Device
Client App Find-Name Advertise-Name Service
App
request request
Eureka!
Daemon Daemon
Actual discovery mechanism is transport dependent:
 On Wi-Fi a light-weight IP multicast protocol
 On Wi-Fi Direct pre-association discovery
PAGE 15 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
16. Ad Hoc Bus Formation
Device Device
Service
Client App
App
Peer Session
Daemon distributed bus Daemon
Once connected daemons form a single bus with a shared namespace
 Peers can discover when other peers join or leave the bus
 Peers can make RPC calls and send and receive events
 Session reference counting keeps device-to-device connections alive
 Multicast events can be sent to all peers in the session
PAGE 16 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
17. Object Model
AllJoyn applications expose their functionality via objects
 These are typically organized in a hierarchy
Objects implement interfaces (one or more)
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
 Properties – data members
 These are accessed by built-in get/set methods
PAGE 17 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
18. Bus Attachments, Objects, Proxy Objects
An application needs Bus Objects implement interfaces Proxy Bus Objects are local
a Bus Attachment to  Bus Objects path names look like file representations of remote
communicate with the bus paths, e.g. /org/AllJoyn/Games/chess Bus Objects.
 Bus Attachments provide a root (/)  Bus Object have methods than can be  Applications use proxy bus
for the object hierarchy called remotely objects to make method
calls to remote objects
 Bus Objects can emit signals
Application Application
Bus Attachment Bus Attachment
Proxy
Event Object
handler Bus
PAGE 18 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
19. Connect to the AllJoyn Bus
mBus = new BusAttachment(getClass().getName(), BusAttachment.RemoteMessage.Receive);
This object represents
mBus.useOSLogging(true);
the connection to the
mBus.setDebugLevel("ALLJOYN_JAVA", 7);
bus (daemon)
mBus.registerBusListener(new LocalBusListener());
status = mBus.connect();
Connect the
if(Status.OK != status) {/*ERROR */}
attachment to the bus
Application Application
Bus Attachment Connect Bus Attachment
Bus
PAGE 19 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
20. Register Bus Objects
/* Define an interface that will be your AllJoyn interface for P2P communication */
@BusInterface (name = "org.alljoyn.bus.samples.training")
Define the Interface that
public interface AllJoynTrainingInterface {
@BusMethod(signature = "s")
represents the methods
public void TraningMethod(String arg) throws BusException; of your P2P application
}
class TrainingService implements AllJoynTrainingInterface, BusObject { Implement the interface
public void TraningMethod(String arg) { /* some code */ } and BusObject so we can
} register this with the bus
Create an object for the
theService = new TrainingService();
Status status = mBus.registerBusObject(theService, “/TrainingService”);
service and register with
if(Status.OK != status) {/*ERROR */} the AllJoyn Bus
Application Application
Bus Attachment Bus Attachment
Bus Bus
Connected Object
Tree
PAGE 20 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
21. Register Signal Handler
/* Define an interface that will be your AllJoyn interface for P2P communication */
@BusInterface (name = "org.alljoyn.bus.samples.training")
Define the Interface that
public interface AllJoynTrainingInterface {
@BusSignal(signature = "s")
represents the methods of your
public void SignalMethod(String arg) throws BusException; P2P application
}
/* in the application register the class that implements the SignalMethod handler*/
Let the Bus know what class
status = mBus.registerSignalHandlers(this);
contains the handler for signals
if(Status.OK != status) {/*ERROR */}
/* Here is the handler */
This method executes when a
@BusSignalHandler(iface = “com.alljoyn.bus.samples.training”, signal = “SignalMethod")
public void SignalMethod(String arg) { /* some code */ }
signal is sent out assuming device
is connected on same session
Application Application
Bus Attachment Bus Attachment
Signal
Handler
Bus
Connected
PAGE 21 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
22. Advertise Well-Known Name
Status status = mBus.advertiseName(“com.alljoyn.org.samples.training”, SessionOpts.TRANSPORT_ANY);
if(Status.OK != status) {
Register with the bus that we
/*ERROR – Failed to advertise name*/
status = mBus.releaseName(“com.alljoyn.org.samples.training”);
are going to be aliased the
} com.alljoyn.org.samples.training class
“com.alljoyn.org.samples.training”
Application Application
Bus Attachment Advertise Bus Attachment
Signal
Handler
Bus
Connected
PAGE 22 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
23. Discover Well-Known Names
class LocalBusListener extends BusListener {
public void foundAdvertisedName(String name, short transport, String namePrefix) {
}
public void lostAdvertisedName(String name, short transport, String namePrefix) {
Listener class for discovery
}
public void nameOwnerChanged(String busName, String previousOwner, String newOwner) {
events. This is where we are
} informed of other services
}
…
...
Status status = mBus.findAdvertisedName(“com.alljoyn.org.samples.training”);
if(Status.OK != status) {/*ERROR */}
…
… Look for a com.alljoyn.org.samples.training service
“com.alljoyn.org.samples.training”
Application Application
Bus Attachment findAdvertised Bus Attachment
Signal
Handler
Bus Bus
Listener
Connected Connected
PAGE 23 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
24. Create a Session
class MySessionPortListener extends SessionPortListener {
public boolean acceptSessionJoiner(short sessionPort, String joiner, SessionOpts sessionOpts) {
Listener class for session events.
return true;
} Lets us accept sessions and
public void sessionJoined(short sessionPort, final int sessionId, String joiner) { informs when users join.
mBus.setSessionListener(sessionId, new MySessionListener());
}
}
--------------
Mutable.ShortValue agreedUponPort = new Mutable.ShortValue(55); /* value can be 1 to 32767 (max short) */
SessionOpts sessionOpts = new SessionOpts();
sessionOpts.traffic = SessionOpts.TRAFFIC_MESSAGES; We create the session based on
sessionOpts.isMultipoint = true;
the Session Options we pass. We
sessionOpts.proximity = SessionOpts.PROXIMITY_ANY;
sessionOpts.transports = SessionOpts.TRANSPORT_ANY; can specify the transport interface
Status status = mBus.bindSessionPort(agreedUponPort, sessionOpts, new MySessionPortListener()); here for the supported types
if(Status.OK != status) { /*ERROR – Could not create a session*/ }
Application Application
Session
Port Bus Attachment Bus Attachment
Listener
Signal
Handler
Bus
Connected
Session Session on port 55
Listener
PAGE 24 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
25. Join a Session
short agreedUponPort = 55; /* value can be 1 to 32767 (max short) */
SessionOpts sessionOpts = new SessionOpts();
Mutable.IntegerValue sessionId = new Mutable.IntegerValue(); We have already found the name
Status status = mBus.joinSession(“com.alljoyn.org.sample.training”, agreedUponPort , sessionId, so we now join the session
sessionOpts, new MySessionListener());
if(Status.OK == status) {
/* NOW CONNECTED */
} else if(status == Status.ALLJOYN_JOINSESSION_REPLY_ALREADY_JOINED) {
/* ALREADY JOINED */
class MySessionListener extends SessionListener {
} else { public void sessionLost(int sessionId) { }
/* ERROR */ public void sessionMemberAdded(int sessionId, String uniqueName) {}
} public void sessionMemberRemoved(int sessionId, String uniqueName) {}
}
True or False
acceptSessionJoiner
Status.OK
sessionJoined
Application joinSession
Application
Session
Port Bus Attachment Bus Attachment
Listener
Signal
Handler
Bus Bus
Listener
Connected Connected
Session Session on port 55
Listener
PAGE 25 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc. * Code snippets licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
26. Open Source. Open Possibilities.
Add AllJoyn to
an Android Application
PAGE 26
27. Steps to Add AllJoyn to Existing Application
Download complete documentation here:
 https://www.alljoyn.org/docs-and-downloads/documentation/guide-alljoyn-development-using-java-sdk
 https://www.alljoyn.org/docs-and-downloads/documentation/alljoyn-android-environment-setup-guide
First: Import AllJoyn libraries
 Create libs folder that contains:
 alljoyn.jar
 armeabi/liballjoyn_java.so
Second: Modify manifest to include permissions
Third: Add AllJoyn code
PAGE 27 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
28. AllJoyn for Android as a Service
When an Activity implements AllJoyn the connection does not persist
unless the activity is active
 This can be used but is not recommended
A Service can startup on device power on
Complex AllJoyn interactions or delays will block a UI thread
Depending on AllJoyn interface design remote devices can communicate
to show notifications or toasts
NOTE: The service is waiting for AllJoyn callback and does not consume device resources,
so battery performance is maintained
PAGE 28 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
29. Open Source. Open Possibilities.
Add AllJoyn to a
Unity Application
PAGE 29
30. Add AllJoyn Unity Extension to Existing Application
Supported platforms
 Currently supports Android & Windows desktop
 iOS support in development
Download complete documentation here:
 https://www.alljoyn.org/docs-and-downloads/documentation/alljoyn-unity-setup-quick-start-guide
First: Import AllJoyn extension
 Drop the AllJoynAgent prefab into your scene
Second: Modify manifest to include permissions
Third: Add AllJoyn code
 Development using Unity Editor w/ C# scripts
PAGE 30 Open Source. Open Possibilities.
MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.