SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Designing For Interoperability in Mobile
Designing For Interoperability in MobileDesigning For Interoperability in Mobile
Designing For Interoperability in MobileAllSeen 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 DevicesAllSeen Alliance
 
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) WaveChuck Petras
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p appgeniushkg
 
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 CongressOpen 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 & WorkOpen Mobile Alliance
 
MediaInteractive - Born for the New World
MediaInteractive - Born for the New WorldMediaInteractive - Born for the New World
MediaInteractive - Born for the New WorldDialogic 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
 
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 OpenFlowCohesive 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 PictureRyo Jin
 
S60 - Over the air
S60 - Over the airS60 - Over the air
S60 - Over the airNokia
 
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 InfrastructureTsahi Levent-levi
 
ARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewARM Mali "Egil" technical preview
ARM Mali "Egil" technical previewPhil Hughes
 

Was ist angesagt? (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
 

Ähnlich wie 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- Qualcommvideos
 
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
 
IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011IT Vulnerability & Tools Watch 2011
IT Vulnerability & Tools Watch 2011WASecurity
 
I flapp full presentation full
I flapp full presentation   fullI flapp full presentation   full
I flapp full presentation fulldieple88
 
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 (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 ServiceLew 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 environmentdeepers
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs
 
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 UsImaginea
 
Mobile application platforms - Introduction
Mobile application platforms - IntroductionMobile application platforms - Introduction
Mobile application platforms - IntroductionMobileMonday 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 ModelMichael 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 2009servicesmobiles.fr
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJuniper Networks
 

Ähnlich wie 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
 

Mehr von 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/2016videos
 
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 moviforumvideos
 
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 moviforumvideos
 
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 moviforumvideos
 
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 movilforumvideos
 
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 movilforumvideos
 
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 movilforumvideos
 
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 movilforumvideos
 
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 termsvideos
 
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 challengevideos
 
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_trainingvideos
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overviewvideos
 
7 hands on
7 hands on7 hands on
7 hands onvideos
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling toolsvideos
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationalevideos
 

Mehr von 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
 

Kürzlich hochgeladen

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Kürzlich hochgeladen (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

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