Suvarna Garge (Editor)

AllJoyn

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Development status
  
Active

AllJoyn

Developer(s)
  
Linux Foundation AllSeen Alliance

Initial release
  
December 21, 2013; 3 years ago (2013-12-21)

Stable release
  
16.10 / December 1, 2016; 2 months ago (2016-12-01)

Written in
  
C, C++, Java, Objective-C, JavaScript

Operating system
  
Linux, Windows, Mac, FreeRTOS, Android, IOS

AllJoyn was a collaborative open source software framework that allows devices to communicate with other devices around them. AllJoyn framework is flexible, promotes proximal network and cloud connection is optional. A simple example would be a motion sensor letting a light bulb know no one is in the room it is lighting, so it can shut itself off.

Contents

In October 2016 they announced their merger into Iotivity. Also during the merging announcement, it was stated that current devices running either AllJoyn or Iotivity will be interoperable and backward compatible. Within the merging process, the project's licence is changed to Apache 2.0 Licence which makes it easier to other open source projects to include AllJoyn in their projects.

Details

The system itself is an open source project which provides a universal software framework and core set of system services that enable interoperability among connected products and software applications across manufacturers to create dynamic proximal networks using a D-Bus message bus. Qualcomm has led development of this open source project, and first presented it at the Mobile World Congress 2011. Unity Technologies has provided the 'AllJoyn Unity Extension' packaged with the AllJoyn SDK release 2.3.6 and above. Major OEM and ODM partners includes Foxconn, Technicolor, LG-Innotek, LeTV and Xiaomi.

The AllJoyn software framework and core system services let compatible devices and applications find each other, communicate and collaborate across the boundaries of product category, platform, brand, and connection type. Target devices include those in the fields of Connected Home, Smart TV, Smart Audio, Broadband Gateways, and Automotive. Qualcomm is working on providing OEM solutions. Currently, the communication layer (and thus hardware requirements) is limited to wi-fi.

Though the protocol started at Qualcomm, they have signed over AllJoyn, including the source code and trademark to the Linux Foundation with the creation of the AllSeen Alliance. The AllSeen Alliance has been created to promote some type of interoperability for the internet of things, and a number of consumer brands have signed on including LG, Sharp, Haier, Panasonic, Sony, Electrolux, Sears and Arçelik. Other members include Silicon Image, Cisco, TP-Link, Canary, Changhong, Two Bulls, Affinegy, doubleTwist, Fon, Harman, HTC, LIFX, Liteon, Muzzley, Onbiron, Sproutling, Microsoft and Wilocity

Technology

The system uses the Client–server model to organize itself. For example, a light could be a "producer" (server) and a switch a "consumer" (client).

Each "producer" on the network has an XML file called introspection that is used to advertise the device's abilities and what it can be asked to do.

It is possible to extend the AllJoyn framework's capabilities by bridging other protocols. Microsoft has added a technology called Device System Bridge that allows devices using home or building protocols such as Z-Wave and BACnet to appear on an AllJoyn network. Microsoft has integrated the AllJoyn runtime (standard client) and Router Node service in Windows 10.

The system also has technology for audio streaming to multiple device sinks in a synchronized way. Source code of the AllJoyn framework is located under AllSeen Alliance's repository. Also there is a slack channel dedicated for developers discussion managed by both AllJoyn and third party developers.

Services and APIs

AllJoyn provides several services that can be integrated with its core. See detailed API Guide for further usage.

  • Onboarding Service: Provides a consistent way to bring (onboard) a new device onto Wi-Fi network.
  • Configuration Service: Allows one to configure certain attributes of a device, such as its friendly name, default language, passcode etc.
  • Notification Service: Allows text-based, audio and image (view URLs) notifications to be sent and received by other devices on the network.
  • Control Panel Service: Allows devices to advertise a virtual control panel to be controlled remotely. By using the Control Panel Service it is possible to manage AllJoyn devices with a single app.
  • Common Device Model (CDM) Service: Allows a common way of monitoring and managing internet of things devices, regardless of device manufacturers. CDM defines a model for each device. The former Home Appliances & Entertainment (HAE) service is merged in to the CDM Service as of AllJoyn 16.04 version. Also the Lighting Service Framework (LSF) service is now integrated into the CDM.
  • References

    AllJoyn Wikipedia