SlideShare a Scribd company logo
Open Source. Open Possibilities.




                                   Overview of the AllJoyn™
                                   Development Framework
                                   Nick Clarey


                                   January 11, 2013
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.
Open Source. Open Possibilities.




  What is AllJoyn?




PAGE 3
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.
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.
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.
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.
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.
Open Source. Open Possibilities.




  What About Other
  P2P Solutions?




PAGE 9
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.
Open Source. Open Possibilities.




  AllJoyn Fundamentals




PAGE 11
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.
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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
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
Open Source. Open Possibilities.




  Add AllJoyn to
  an Android Application




PAGE 26
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.
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.
Open Source. Open Possibilities.




  Add AllJoyn to a
  Unity Application




PAGE 29
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.
Qualcomm Innovation Center, Inc.
                                                                                          5775 Morehouse Drive
                                                                                        San Diego, CA. 92121-1714
                                                                                                 U.S.A.

                                                                           Copyright © 2012 Qualcomm Innovation Center, Inc.

                                                                                             All rights reserved.




      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 Innovation Center, Inc.

      This technical data may be subject to U.S. and international export, re-export, or transfer ("export") laws. Diversion contrary to U.S. and international law is strictly prohibited.

      AllJoyn, JamJoyn, QuIC and the QuIC logo are trademarks 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.




      [10/25/2012]




PAGE 31      Open Source. Open Possibilities.

MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
Open Source. Open Possibilities.




  Questions?
  Thank you!



   Follow us on Twitter!

            AllJoyn. @AllJoyn
            QDevNet.
            @Qualcomm_Dev




PAGE 32

More Related Content

What's hot

Designing For Interoperability in Mobile
Designing For Interoperability in MobileDesigning For Interoperability in Mobile
Designing For Interoperability in Mobile
AllSeen 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 Devices
AllSeen Alliance
 
Wi-Fi Direct
Wi-Fi DirectWi-Fi Direct
Wi-Fi Direct
shivam_kedia
 
Catching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) WaveCatching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) Wave
Chuck Petras
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p app
geniushkg
 
Wi-Fi Direct
Wi-Fi DirectWi-Fi Direct
Wi-Fi Direct
Ashutosh Jha
 
Wi fi direct
Wi fi direct Wi fi direct
Wi fi direct
Ramesh Akula
 
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
Open Mobile Alliance
 
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
PĂ´le Systematic Paris-Region
 
OMA Overview of the Organization & Work
OMA Overview of the Organization & WorkOMA Overview of the Organization & Work
OMA Overview of the Organization & Work
Open Mobile Alliance
 
MediaInteractive - Born for the New World
MediaInteractive - Born for the New WorldMediaInteractive - Born for the New World
MediaInteractive - Born for the New World
Dialogic Inc.
 
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
EIT Digital Alumni
 
Introduction to Wi-Fi Direct
Introduction to Wi-Fi DirectIntroduction to Wi-Fi Direct
Introduction to Wi-Fi DirectWei-Tsung Su
 
14A81A05B1
14A81A05B114A81A05B1
14A81A05B1
Chaitanya Ram
 
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
Cohesive Networks
 
Modello, More Than Just a Pretty Picture
Modello, More Than Just a Pretty PictureModello, More Than Just a Pretty Picture
Modello, More Than Just a Pretty Picture
Ryo Jin
 
S60 - Over the air
S60 - Over the airS60 - Over the air
S60 - Over the air
Nokia
 
AT&T Enhanced WebRTC API Overview
AT&T Enhanced WebRTC API OverviewAT&T Enhanced WebRTC API Overview
AT&T Enhanced WebRTC API Overview
AT&T Developer Program
 
To Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC InfrastructureTo Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC Infrastructure
Tsahi Levent-levi
 
ARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewARM Mali "Egil" technical preview
ARM Mali "Egil" technical preview
Phil Hughes
 

What's hot (20)

Designing For Interoperability in Mobile
Designing For Interoperability in MobileDesigning For Interoperability in Mobile
Designing For Interoperability in Mobile
 
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
 
Wi-Fi Direct
Wi-Fi DirectWi-Fi Direct
Wi-Fi Direct
 
Catching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) WaveCatching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) Wave
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p app
 
Wi-Fi Direct
Wi-Fi DirectWi-Fi Direct
Wi-Fi Direct
 
Wi fi direct
Wi fi direct Wi fi direct
Wi fi direct
 
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
 
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
 
OMA Overview of the Organization & Work
OMA Overview of the Organization & WorkOMA Overview of the Organization & Work
OMA Overview of the Organization & Work
 
MediaInteractive - Born for the New World
MediaInteractive - Born for the New WorldMediaInteractive - Born for the New World
MediaInteractive - Born for the New World
 
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
 
Introduction to Wi-Fi Direct
Introduction to Wi-Fi DirectIntroduction to Wi-Fi Direct
Introduction to Wi-Fi Direct
 
14A81A05B1
14A81A05B114A81A05B1
14A81A05B1
 
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
 
Modello, More Than Just a Pretty Picture
Modello, More Than Just a Pretty PictureModello, More Than Just a Pretty Picture
Modello, More Than Just a Pretty Picture
 
S60 - Over the air
S60 - Over the airS60 - Over the air
S60 - Over the air
 
AT&T Enhanced WebRTC API Overview
AT&T Enhanced WebRTC API OverviewAT&T Enhanced WebRTC API Overview
AT&T Enhanced WebRTC API Overview
 
To Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC InfrastructureTo Build or Not to Build Your WebRTC Infrastructure
To Build or Not to Build Your WebRTC Infrastructure
 
ARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewARM Mali "Egil" technical preview
ARM Mali "Egil" technical preview
 

Similar to Jornada Formativa Qualcomm y Movilforum: Alljoyn

Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- QualcommExperiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
videos
 
Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)
Juniper Networks
 
JavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFWJavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFW
Juniper Developer Resources Cooney
 
IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011WASecurity
 
An In-Depth Look at Junos Space SDK
An In-Depth Look at Junos Space SDKAn In-Depth Look at Junos Space SDK
An In-Depth Look at Junos Space SDK
Juniper Developer Resources Cooney
 
I flapp full presentation full
I flapp full presentation   fullI flapp full presentation   full
I flapp full presentation full
dieple88
 
When developer's api simplify user mode rootkits developing.
When developer's api simplify user mode rootkits developing.When developer's api simplify user mode rootkits developing.
When developer's api simplify user mode rootkits developing.
Yury Chemerkin
 
Programmable WAN Networking is SFW
Programmable WAN Networking is SFWProgrammable WAN Networking is SFW
Programmable WAN Networking is SFW
Juniper Developer Resources Cooney
 
Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)
Juniper Networks
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
Lew Tucker
 
Fi ware short overview - zaragoza
Fi ware short overview - zaragoza Fi ware short overview - zaragoza
Fi ware short overview - zaragoza Jose Jimenez
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
deepers
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview Slides
XebiaLabs
 
Jerry Romanek series mobile development 2012 year end review
Jerry Romanek series   mobile development 2012 year end reviewJerry Romanek series   mobile development 2012 year end review
Jerry Romanek series mobile development 2012 year end reviewLeigh Williamson
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About Us
Imaginea
 
Ericsson Labs 100322
Ericsson Labs 100322Ericsson Labs 100322
Ericsson Labs 100322
Tor Björn Minde
 
Mobile application platforms - Introduction
Mobile application platforms - IntroductionMobile application platforms - Introduction
Mobile application platforms - Introduction
MobileMonday Switzerland
 
600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model
Michael Rushanan
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009
servicesmobiles.fr
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, Innovation
Juniper Networks
 

Similar to Jornada Formativa Qualcomm y Movilforum: Alljoyn (20)

Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- QualcommExperiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
Experiencias Ăşnicas mĂłviles con tecnologĂ­as de Ăşltima generaciĂłn- Qualcomm
 
Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)
 
JavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFWJavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFW
 
IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011
 
An In-Depth Look at Junos Space SDK
An In-Depth Look at Junos Space SDKAn In-Depth Look at Junos Space SDK
An In-Depth Look at Junos Space SDK
 
I flapp full presentation full
I flapp full presentation   fullI flapp full presentation   full
I flapp full presentation full
 
When developer's api simplify user mode rootkits developing.
When developer's api simplify user mode rootkits developing.When developer's api simplify user mode rootkits developing.
When developer's api simplify user mode rootkits developing.
 
Programmable WAN Networking is SFW
Programmable WAN Networking is SFWProgrammable WAN Networking is SFW
Programmable WAN Networking is SFW
 
Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
Fi ware short overview - zaragoza
Fi ware short overview - zaragoza Fi ware short overview - zaragoza
Fi ware short overview - zaragoza
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview Slides
 
Jerry Romanek series mobile development 2012 year end review
Jerry Romanek series   mobile development 2012 year end reviewJerry Romanek series   mobile development 2012 year end review
Jerry Romanek series mobile development 2012 year end review
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About Us
 
Ericsson Labs 100322
Ericsson Labs 100322Ericsson Labs 100322
Ericsson Labs 100322
 
Mobile application platforms - Introduction
Mobile application platforms - IntroductionMobile application platforms - Introduction
Mobile application platforms - Introduction
 
600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, Innovation
 

More from videos

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016
videos
 
PresentaciĂłn Atlantida en Networking Day moviforum
PresentaciĂłn Atlantida en Networking Day moviforum PresentaciĂłn Atlantida en Networking Day moviforum
PresentaciĂłn Atlantida en Networking Day moviforum
videos
 
PresentaciĂłn Quetal en Networking Day moviforum
PresentaciĂłn Quetal  en Networking Day moviforum PresentaciĂłn Quetal  en Networking Day moviforum
PresentaciĂłn Quetal en Networking Day moviforum
videos
 
PresentaciĂłn GMTECH en Networking Day moviforum
PresentaciĂłn GMTECH en Networking Day moviforum PresentaciĂłn GMTECH en Networking Day moviforum
PresentaciĂłn GMTECH en Networking Day moviforum
videos
 
PresentaciĂłn movilok en Networking Day moviforum
PresentaciĂłn movilok en Networking Day moviforum PresentaciĂłn movilok en Networking Day moviforum
PresentaciĂłn movilok en Networking Day moviforum
videos
 
PresentaciĂłn 3G mobile en Networking Day moviforum
PresentaciĂłn 3G mobile en Networking Day moviforumPresentaciĂłn 3G mobile en Networking Day moviforum
PresentaciĂłn 3G mobile en Networking Day moviforum
videos
 
PresentaciĂłn microestrategy en Networking Day moviforum
PresentaciĂłn microestrategy en Networking Day moviforumPresentaciĂłn microestrategy en Networking Day moviforum
PresentaciĂłn microestrategy en Networking Day moviforum
videos
 
PresentaciĂłn Telnet en Networking Day moviforum
PresentaciĂłn Telnet en Networking Day moviforumPresentaciĂłn Telnet en Networking Day moviforum
PresentaciĂłn Telnet en Networking Day moviforum
videos
 
PresentaciĂłn Alma technology en Networking Day movilforum
PresentaciĂłn Alma technology en Networking Day movilforumPresentaciĂłn Alma technology en Networking Day movilforum
PresentaciĂłn Alma technology en Networking Day movilforum
videos
 
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
videos
 
PresentaciĂłn Icar Vision en Networking Day movilforum
PresentaciĂłn Icar Vision en Networking Day movilforumPresentaciĂłn Icar Vision en Networking Day movilforum
PresentaciĂłn Icar Vision en Networking Day movilforum
videos
 
PresentaciĂłn Billage en Networking Day movilforum
PresentaciĂłn Billage en Networking Day movilforumPresentaciĂłn Billage en Networking Day movilforum
PresentaciĂłn Billage en Networking Day movilforum
videos
 
PresentaciĂłn Face On en Networking Day movilforum
PresentaciĂłn Face On en Networking Day movilforumPresentaciĂłn Face On en Networking Day movilforum
PresentaciĂłn Face On en Networking Day movilforum
videos
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge terms
videos
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challenge
videos
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
videos
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overview
videos
 
7 hands on
7 hands on7 hands on
7 hands on
videos
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling tools
videos
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
videos
 

More from videos (20)

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016
 
PresentaciĂłn Atlantida en Networking Day moviforum
PresentaciĂłn Atlantida en Networking Day moviforum PresentaciĂłn Atlantida en Networking Day moviforum
PresentaciĂłn Atlantida en Networking Day moviforum
 
PresentaciĂłn Quetal en Networking Day moviforum
PresentaciĂłn Quetal  en Networking Day moviforum PresentaciĂłn Quetal  en Networking Day moviforum
PresentaciĂłn Quetal en Networking Day moviforum
 
PresentaciĂłn GMTECH en Networking Day moviforum
PresentaciĂłn GMTECH en Networking Day moviforum PresentaciĂłn GMTECH en Networking Day moviforum
PresentaciĂłn GMTECH en Networking Day moviforum
 
PresentaciĂłn movilok en Networking Day moviforum
PresentaciĂłn movilok en Networking Day moviforum PresentaciĂłn movilok en Networking Day moviforum
PresentaciĂłn movilok en Networking Day moviforum
 
PresentaciĂłn 3G mobile en Networking Day moviforum
PresentaciĂłn 3G mobile en Networking Day moviforumPresentaciĂłn 3G mobile en Networking Day moviforum
PresentaciĂłn 3G mobile en Networking Day moviforum
 
PresentaciĂłn microestrategy en Networking Day moviforum
PresentaciĂłn microestrategy en Networking Day moviforumPresentaciĂłn microestrategy en Networking Day moviforum
PresentaciĂłn microestrategy en Networking Day moviforum
 
PresentaciĂłn Telnet en Networking Day moviforum
PresentaciĂłn Telnet en Networking Day moviforumPresentaciĂłn Telnet en Networking Day moviforum
PresentaciĂłn Telnet en Networking Day moviforum
 
PresentaciĂłn Alma technology en Networking Day movilforum
PresentaciĂłn Alma technology en Networking Day movilforumPresentaciĂłn Alma technology en Networking Day movilforum
PresentaciĂłn Alma technology en Networking Day movilforum
 
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
PresentaciĂłn acuerdo de colaboraciĂłn Fieldeas y EasyOnPad en Networking Day m...
 
PresentaciĂłn Icar Vision en Networking Day movilforum
PresentaciĂłn Icar Vision en Networking Day movilforumPresentaciĂłn Icar Vision en Networking Day movilforum
PresentaciĂłn Icar Vision en Networking Day movilforum
 
PresentaciĂłn Billage en Networking Day movilforum
PresentaciĂłn Billage en Networking Day movilforumPresentaciĂłn Billage en Networking Day movilforum
PresentaciĂłn Billage en Networking Day movilforum
 
PresentaciĂłn Face On en Networking Day movilforum
PresentaciĂłn Face On en Networking Day movilforumPresentaciĂłn Face On en Networking Day movilforum
PresentaciĂłn Face On en Networking Day movilforum
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge terms
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challenge
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overview
 
7 hands on
7 hands on7 hands on
7 hands on
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling tools
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
 

Recently uploaded

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
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.
  • 3. Open Source. Open Possibilities. What is AllJoyn? PAGE 3
  • 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.
  • 11. Open Source. Open Possibilities. AllJoyn Fundamentals PAGE 11
  • 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.
  • 31. Qualcomm Innovation Center, Inc. 5775 Morehouse Drive San Diego, CA. 92121-1714 U.S.A. Copyright © 2012 Qualcomm Innovation Center, Inc. All rights reserved. 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 Innovation Center, Inc. This technical data may be subject to U.S. and international export, re-export, or transfer ("export") laws. Diversion contrary to U.S. and international law is strictly prohibited. AllJoyn, JamJoyn, QuIC and the QuIC logo are trademarks 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. [10/25/2012] PAGE 31 Open Source. Open Possibilities. MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION. Qualcomm Innovation Center, Inc.
  • 32. Open Source. Open Possibilities. Questions? Thank you! Follow us on Twitter! AllJoyn. @AllJoyn QDevNet. @Qualcomm_Dev PAGE 32