 It takes a village to raise a child, the one that's interoperable. I want to talk today from Qualcomm's perspective about the All Scene Alliance and the All Join open source project, which the All Scene Alliance now runs. So I thought I'd start with a little bit of history. How did we start All Join? What was the problem that we tried to solve? Well, we were actually working with the mobile app developer community, and we started to notice that it was weird that almost 100% of the phones and tablets that are out there have Wi-Fi and Bluetooth proximal radio connections, yet there are almost no apps out there that allowed you to discover people that were nearby, devices that were nearby, and just communicate with them. Why is it that when we're in this conference room or you're in a board room or a classroom, the devices can't just all connect up and create a peer-to-peer connection? So we asked a whole lot of developers who are building some really cool peer-to-peer experiences, why they were always going out to the cloud and not just doing these types of collaborative games or sharing or social experiences peer-to-peer. And after a lot of research, we learned the very, very deep answer to that question. It's hard. Okay. So why is it hard? Well, it turns out that the guys that are building these super cool user experiences that we all love on our mobile phones aren't necessarily radio protocol experts. So being able to discover devices nearby, then being able to discover what services are available on those devices nearby, being able to adapt to networks where people are coming in and out of this conference room, devices are coming and dropping, being able to deal with different transports. So not everything necessarily is always connected with the same radio links. Some things might be connected nearby with Bluetooth, some things with Wi-Fi, some things with other radio protocols. Being able to interoperate across OSs. So I want an iOS phone to deal and talk to an Android phone to discover and talk to a Microsoft phone and so on and so forth to obviously be able to exchange data and information and perhaps most importantly to be able to do that in a secure manner so that if I want to connect with one of you guys and share pictures of my children peer to peer, I can choose to do so in a secure way where I can encrypt that transmission and not allow everyone else that can actually see my device to necessarily get that information. So what we did at the time is we said this is something that actually we can solve because we do come from that radio background. Now we create an SDK for app developers where we solve these difficult radio level problems, make it transparent and easy, and then let the guys that are making really cool user experiences start to create much more interesting peer to peer experiences. And so we did. We called it all join. We open sourced it. We made that SDK available. And what happened? Bam! Really interesting new applications started to come out. Some more kinds of gaming companies that you're familiar with, Namco, Digital Chocolate, EA, entertainment experiences like peer to peer games where we can race with one another and we don't have to go through the cloud. So wherever your car is I can actually see it exactly on my screen because there's no latency going to the cloud. We saw some really cool multi-screen experiences start to come up. So smart televisions talking to multiple tablets and phones from different vendors where the, for example, here in the picture hip-hop karaoke where the television was actually leveraging resources that are available on the tablets nearby where I can sing my song into the microphone of the tablet and then that gets used by the television as a karaoke. Sesame Street did an amazing application with all join where actually Sesame Street characters flew from the televisions onto the tablet screens that the children were using and used the camera resource on the tablet to actually take a picture of the child who was playing with that and then the child's picture flew back up along with the character to the TV screen. So they feel like they're magically part of that whole Sesame Street experience. Really, really cool things that kind of change the way you think about how devices can start to interact with one another and of course social experiences. So it really unleashed a whole new set of user experiences and we thought that was exciting. That was about three and a half years ago. After all, mobile is big and that's kind of where Qualcomm comes from. If you add up all of the PC cells and DVRs and blue rays and flat panels and game consoles, all of these products, volumes combined are still smaller than the number of tablets and smartphones shipped in the world. So getting all of the smartphones and tablets to be able to start to have this ability to discover and connect and enable these user experiences was really, really exciting. But then about, I guess, a year and a half ago, we started looking at this other trend that people have been talking about a lot called IoT. And it turns out that that mobile platform that is so huge is about to be dwarfed. And depending on who you read, there's lots and lots of opinions on what these numbers are going to be. I think this was from GSMA, 25 billion connected devices by 2020, Cisco's numbers are even bigger, some people say trillions, bottom line is a lot. There are going to be a lot of connected devices as you start to get all of the physical objects around us connected. It goes way beyond even mobile and tablets. So we started to think, what would happen if we can take that little software protocol that we put into all these smartphones and tablets that allow them to have these interesting peer-to-peer experiences? What would happen if we can take that protocol and get it onto all the other physical things, onto the door locks, onto appliances, into automotive, into light bulbs? Would all these things now be able to talk and interact? And that's really the evolution of how AllJoin started becoming really central to our whole strategy in the Internet of Everything. And so we extended the vision to take AllJoin into the Internet of Everything. But I think what's really important when we talk about this is to first take a look at what's happening today. I mean, the Internet of Everything is happening. If you've been to CES, if you've been to MWC, if you read any tech blog, you'll see every other day there's a company talking about how they're connecting their device, how they have a new quote-unquote Internet of Everything device. But the way that these things are happening is each manufacturer is basically adding some type of connectivity to their device. That device then connects up to their cloud. And then their app talks to that device. So my thermostat talks to my thermostat cloud, my speaker talks to my speaker cloud, my TV talks to my TV cloud, my refrigerator talks to my refrigerator cloud, my light bulbs talk to the light bulb cloud. Which is cool, and there's actually a lot of really cool things I can do with my connected thermostat and connected light bulb and connected toothbrush. But is it enough? Is that the vision that we have for the Internet of Things? Our view is no. That's not enough. That there's so much more we can do if all of these devices weren't necessarily siloed. So indeed, the Internet of Things, this concept of ubiquitous connectivity in all the physical things in our life does promise to make devices smarter. But the truth of the matter is, if you take a look at how it's being manifested today, only if they can speak the same language do they really realize that intelligence. And they don't speak the same language today. There's these silos that are being created. And sometimes those silos are being created based on brand, based on manufacture. Sometimes these silos are being created perhaps based on service providers. But somehow or another, we need to be able to bridge communication across brands, across verticals. Like it shouldn't just be some type of solution that's created just for the connected home. And then another type of solution that's created just for the connected automobile. And then another type of solution that's created just for the connected education or health care area. There should be one common language that all of these different devices speak. We believe that language could be all-joined. And all-joined's goal, all-joined's mission as an open source protocol is really to make that a reality. A lot of people, when they hear about all-joined or they do a little bit of research on it, kind of walk away from talks that I've been at going, OK, I think I get it. All-joined is this piece of software that allows you to do discovery and interoperability, right? OK. Actually, one of the most fundamental tenets of all-joined, one of the most important differentiators of all-joined as an open source protocol, is missed. And I want to take a couple of minutes to describe that because I think it's so powerful and it's so important that I like to talk about it with an analog to the mobile phone. Clearly, that's where I come from. So one really unique aspect of all-joined is that it allows devices to describe their capabilities or to describe their resources in a dynamic way via consistent APIs, via interfaces, what we call in all-joined speak service frameworks. So let's take a look back at what happened when we went from feature phones to smartphones. What was the big transition? The key thing that happened when we went from feature phones to smartphones was not some new necessary hardware advancement. In fact, many of the early smartphones had a lot of the same hardware that had been in phones for years. The GPS had been in phones for years. Microphones, speakers, screens, CPUs, all these things had been in phones for years. What happened was a few companies figured out a way to expose all the resources that were in hardware through a set of consistent APIs. So iOS, Android, Microsoft, several others basically created these OSs that allowed developers, guys that completely came from different worlds to enter the world of mobile and start to leverage the resources that were available on these phones via consistent set of APIs. And what happened? It changed the way we live our life today. It has transformed our world. Because now there's millions and millions of apps that we use every single day, and there's an app for that, there's an app for that, and there's an app for that. In fact, the guys who were building mobile phones for 10, 15 years before never would have thought that someone would take that phone and turn it into a flute, but someone did. Because they got access to the mic, they got access to the touch screen, they got access to some speakers, and they turned the phone into a flute. The guys who were building phones for 15, 20 years, we probably never would have thought to turn our phone into a golf swing measurement tool. Someone did. Because they got access to the accelerometer, and to the gyro, and to a couple of other things, and they turned our phone into a golf swing measurement tool. So this concept of being able to expose your resources in a consistent way, and opening that up to all kinds of other creative people to come in and take advantage has been transformational to our world. So now imagine this. What if there was a way that we can start to expose resources outside of that little tiny black box we call a phone? What if there was a way that I can start to expose the resources of that speaker, of this mic, of these big screens, of that thermostat, of these light bulbs, so that an app developer that comes into this room could write an app that leverages the resources on the phone, like he or she is used to, but could also start to leverage the resources of the physical objects around us. It will be transformational. It will change the way we live our lives. And that is one of the most interesting things that AllJoin does that is often overlooked, is the ability to expose the capabilities of the physical objects in our world in a consistent manner, so that devices can describe themselves. They could say, hey, I can play back an audiophile. Hey, I can display notifications. Hey, I can set clocks. You can set a timer on me. You can turn me on. You can turn me off. The ability to allow developers to do that and then to leverage resources beyond the physical limitations of one device is very, very powerful. And that is one of the reasons we think it's important that devices interoperate. That's one of the reasons we think it's important that devices across verticals, across brands, can discover and talk. And that's when the internet of things, the internet of everything, really becomes magical. So how does it work? Again, AllJoin is basically a piece of software. It's a software framework that's designed to be able to run on any type of device. We started off, of course, making sure that it can run on all the high-level OSs that are in tablets and phones and smart televisions. But we've extended that vision now to also ensure that AllJoin could fit into some of the smallest devices in our lives, so things like light bulbs and sensors and appliances where there's very limited memory and very limited resources, computing resources. We scaled AllJoin to allow it to fit onto all of these devices, which is a very unique aspect of a very unique value proposition of that open source project. So not only does it fit onto all kinds of different devices from big ones to small ones, another key aspect of AllJoin is that it's able to allow devices to discover one another, regardless of how they connect to the network. Why is that important? So there are lots of alliances out there and specs that are being built around particular protocols, radio protocols. The problem is that if you take a look at a lot of different people's homes around the world, not everything is always connected through one protocol. Some devices might be connected up through Wi-Fi, some devices might be connected up to ethernet, some by many parts of the world. A lot of people are using PowerLine, some devices might have Bluetooth, might have proprietary solutions. So we wanted that to be agnostic. Once you get these devices onto the network, if they speak AllJoin, they can discover one another. And then what happens is they create kind of a virtual software bus. This room is very familiar with D-Bus, and the virtual software bus is actually based off of D-Bus. And all of these devices that create this virtual software bus can then start to describe themselves and describe their interfaces, i.e. capabilities. So what interfaces have they instantiated? What are the capabilities that they have to offer? So some of the devices might describe themselves as being able to send out notifications. Some of the devices might describe themselves as being able to receive or display notifications. Some of the devices might describe themselves as being able to play back files. Some of the devices might describe themselves as being able to blink or flash or strobe. And the more standard interfaces that are developed over time, on top of all join, the more rich the language will be of how devices can describe themselves. And that kind of starts to get into why it takes a village. Proximal network topology is really another core tenant of all join, and we think that it's extremely important. If we take a look again at kind of how are things happening today. There are several key trends that you can start to draw. The first one is, if the fridge goes out and talks to the fridge's cloud, and the speakers go out and talk to the speaker's cloud, and the thermostat talks to its cloud, the only way that these things can be really interoperable is if some of these devices happen to have open APIs on the cloud side, and then the clouds talk to one another. So that's cool. So in some cases, there might be a couple of devices that I bring home where actually the clouds do leverage each other's open APIs, and they can talk to one another. But not everything I bring home will necessarily have been written to talk to the various open APIs that are out there, since every single company is creating their own cloud. This is not a very scalable solution. So there's an interoperability issue with this topology. But maybe more important than that, there's a bigger problem with this topology. A really, really big problem, we think, and it has to do around security. If every single device in your home that you bring in opens up a path to the public internet to talk to its cloud, then that means if I have 100 different connected devices in my home, I can have 100 holes poked through to go out to the public internet, do my firewall. And maybe 80% of the devices that I buy are built from manufacturers who really, really care about security. And they've done an excellent job ensuring the security of their device out to their cloud so that it's not hackable. We all know that anything that's connected to the internet is at risk of being hacked. The problem with this topology is that all it takes is one weak link. All it takes is one device that I brought home that isn't that secure. And if someone can hack into that device, they can hack into my whole network. So the more devices, the more connected devices that I bring home that go out and talk to their own cloud, that punch a hole through my home firewall and talk to the public internet, the bigger the surface area of attack in my home. The reality, though, is that this is how the internet of everything is evolving. This is how every manufacturer is kind of going out to market. And we actually totally get that. I mean, the reason for that is this is how manufacturers can easily get products out to market. It's how they can control their devices. It's how they can ensure that all of their cloud services can speak to their devices. Makes total business sense. I actually don't think this is going to change near term. But at some point, as the internet of things gets really big and a lot more common in households, we think that consumers, and if security really does become an issue where attacks grow, we think consumers will get upset. And they're going to look for topologies that ensure better security. And you're starting, you're just starting to hear about that now. You hear about the refrigerator that was attacked. You hear about baby cameras that were attacked and bad guys are starting to talk to the babies. You hear about like toilets that were attacked and people are messing around with your toilet and flushing the toilet. So we're starting to hear that. But I don't think it's mainstream yet. But at some point, if this becomes mainstream, we have to look for alternatives. And the Algebra and Open Source framework actually offers that alternative. Because it's a proximal network, you can basically allow all of the various devices to connect to one another and talk to one another. But frankly, we think 80% of the smartness in the devices around you have more to do with proximal interactions, reacting to things that are nearby, reacting to me when I'm nearby. But of course, we recognize there's always an importance of a cloud component. There's going to be services that people want to offer me. Maybe it's energy management services. Maybe it's home automation services, and I want to have access to that cloud. There's a concept of a gateway agent. The gateway agent is really just a software logical element that can reside on any piece of hardware. In this picture, it happens to reside on a picture of a router. It doesn't have to sit on a router, but it could. The gateway agent basically does the bridging between the proximal all-join network to the cloud. And it allows a homeowner to have a lot more control to say, I don't want maybe every time I flush a toilet for that to go out to the internet. I don't want every time someone goes in and out of my front door for that to go out to the internet. I do, however, want to be able to control my thermostat or my air conditioner remotely. So I'm going to allow this device, this device, and this device to go out to the internet through the gateway agent. And these devices, I'd like to have more control. And it's not even at the device level. With all-join, you can actually control it at the interface level. So maybe I'll allow my air conditioner to be controlled remotely. But you can only turn it on and off remotely. You can't change the temperature. So you can really start to get granular on what you expose. So this topology does several things. I mean, it allows all of the proximal things to communicate externally. But it gives the consumer the opportunity to make the decisions on what goes out and what doesn't. It allows you to authorize the traffic. So I may say that, for example, my family can access some of my devices. But I don't want just anyone who's not authorized, who I haven't authorized their open ID or their email to access any of my devices. And probably most importantly, this solution minimizes the surface area of attack. Because there's really only one hole out. So I think topology really matters. I think it's something that we don't talk about a lot in the internet of things. And it's an interesting aspect of what the open source brings. Last but not least, of course, there's this concept of latency. So if you continue down the path of all the different devices just going out to clouds and then talking to one another via the cloud, there's the delay that's incurred when you have to go out to cloud services talking to another cloud service coming back and talking. When I hit a button to control a light, I want that light to react right away. Just the way I'm used to it now with a switch. And I'll join a lounge for that because it's proximal. A couple of quick slides on the high level architecture. How does it work? Again, as I said, all join is OS and physical layer agnostic. So it can work on any OS or any physical layer. And then it's really made up of two key parts, the router and what we call all join apps. The router is really what manages all the communications between different devices and also manages the dynamic ad hoc nature of devices coming and going. The all join apps are made up of three components. Core libraries, the service frameworks, and the app layer. The core libraries is really how all join apps interact with the router. And it really allows some of the core discovery APIs, all of the basic fundamental things that all join does, exposed up to app developers. The all join service frameworks are what define the common interfaces between devices. So I gave a couple of examples of notifications and audio streaming. These are some of the initial service frameworks that are currently in the open source project. What we're hoping will happen with the alliance is we get a lot more developers, such as those in the room here, to help contribute and grow the service framework over time, have all kinds of new interfaces, standard interfaces defined for app developers. And then, of course, the all join app layer is what defines a user experience. So if you're building a project or you're building a product that leverages, for example, notifications, all join notifications, then the all join app layer is where you define what will that text message say and what will trigger that text message to go out, that notification that I'll get. But there's really two versions of the all join framework to choose from, depending on what type of device you're building. There's the standard all join, which is everything that I just described. It has the router. Usually it runs on a high level OS, like Linux. And then there's the thin version. And the thin version does not come with a router. It's much smaller in terms of memory requirements. It can fit on devices that are usually extremely constrained devices. And the devices that run the thin all join actually have to discover at least one other device in the proximal network that's running standard so that there's a router that can help bridge it to the rest of the proximal network. As long as there's one router, everything is fine. Now, once all of these devices are connected to one another, they are all actually equal citizens. So applications and services have no idea what devices are thin clients and what devices are standard clients. So I kind of described so far a lot about what is all join and how does that project work. But I think the main point that we want to get across here is that the vision that we have is huge. To achieve the goals that I've laid out of what the internet of everything can and should be, we can't do it alone. Qualcomm can't do this alone. To get all join onto all the different devices that are out there in the world, from big to small and everything in between, we can't do it alone. To evolve the roadmap of the standard interfaces that describe devices, we can't do it alone. We're not experts in HVAC system and experts or in appliances or light bulbs or all the different things that we want. We want the companies who are experts in all of these fields to come and help expand that roadmap, to evangelize the framework, to define the standard interfaces. We can't do it alone. This is something that we really need to have as a collaborative project. The reason that we looked to the Linux Foundation is obviously it's a very well-established independent. I think that throughout the industry, it's seen as a very trustworthy and neutral partner, which we felt was really important for the success of this alliance. Because the Linux Foundation hosts so many other collaborative projects, open source projects, there's a lot of infrastructure that we felt that we could leverage and reuse. And we think many of the members of the Linux Foundation, quite frankly, are ideal members to have in our alliance. We would love to have you help contribute to expand and make this vision a reality. And I think probably everyone in this room would agree that the Linux Foundation collaborative projects are really looked at as a gold standard. And we want this alliance to be a member of that. So the All Seen Alliance's mission is really to take companies from around the world across very different verticals to work together to create open source, to show thought leadership, and to drive innovation across the internet of things with this open source platform. And to grow the ecosystem, get the All Join Open Source project into as many devices as possible, as fast as possible, and help grow the code, help evolve the code, help evolve the project. So as of this morning when I started this talk, an announcement just went out that we actually have six new members that have joined the alliance. So now there's over, there's 41 members in the alliance. I think we only announced the All Seen Alliance at the end of last year. So in a very short amount of time, this alliance has grown. And I think that Qualcomm's been quite humbled by this whole experience, that there's so many companies, big and small, some of the strongest brands in the world, that recognize there's very few homes where your door lock, and your refrigerator, and your laundry, and your dishwasher, and your light bulbs all come from one manufacturer. And I think companies recognize that they want to be part of this ecosystem. They don't want to be left alone on an island. They want to be part of this ecosystem where devices can share and extend their capabilities. And this is really a great open source and truly open governance opportunity to make that happen. It's an alliance where code talks. The members who want to contribute code really are going to be able to drive the future of where this alliance goes. And we really are looking for contributors. Definitely not an alliance where we're just looking to write specs. And that's a key reason why we chose to work with the foundation.