Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

AllJoyn

AllJoyn은 IoT, M2M 시스템을 구축하기 위한 시스템으로 아래의 기능들을 가지고 있다.
  • Announce : 네트워크에 참여하면, 자신의 정보(어떤 서비스를 제공하는지, 어떻게 서비스를 사용할 수 있는지)를 주변의 다른 기기들에 알려준다.
  • Service Discovery : 주변에 어떤 서비스들이 있는지를 확인할 수 있다.
  • Data exchange : 주변의 서비스들과 데이터를 교환할 수 있다.
위의 기능을 이용해서 제품과 애플리케이션의 연동과 상호운용성을 보장한다.

퀄컴이 기술을 주도하고 있다. IoT 시장 확산의 최대 수혜자는 칩 제조업체일 것으로 예상들 하고 있다. 퀄컴은 AllJoyn 기술과 SDK를 오픈소스로 공개하고, AllJoyn을 중심 축으로 하는 AllSeen Alliance를 만들었다. AllSeen은 퀄컴이 주도하고 있으며, LG 전자, MS, 파나소닉, Sharp, Sony등이 프리미어 멤버로 참여하고 있다. 기타 Cisco, LG U+, ADT, AT&T Digital life 등이 참여하는 연합체다.

OMA(Open Mobile Alliance)와 경쟁관계인 느낌이다. IoT 시장 초기에 하나의 기술에 올인하는 것은 매우 위험하다고 생각해서인지, AT&T, MS, Sony등이 양 연합에 모두에 참여하고 있다. 심지어는 퀄컴도 스폰서로 참여하고 있다. 어차피 퀄컴이야 IoT 시장만 확대된다면 땡큐인 입장이니.

시장이 어떻게 될지 모르지만 두 개 이상의 기술들이 혼용될 확률이 높다.

로컬 기반 시스템

AllJoyn은 기본적으로 로컬(홈)을 대상으로 하는 시스템으로, 원격 연결은 주 관심사가 아니다. 이런 관점에서 본다면, IoT라기 보다는 M2M으로 봐야 할 듯 싶다.

대신 AllJoyn Gateway를 이용해서, 인터넷 IoT 인프라와 연결하는 식으로 IoT로의 확장을 계획하고 있다. 로컬과 원격(인터넷)을 분리한 거라고 보면 되겠다. 로컬과 원격의 성격이 워낙 다르기 때문에, 이렇게 나누는게 맞는 방향인 것 같다.

유사 기술과 비교

DBUS

Data exchange를 위해서 DBus를 사용하고 있다. DBus는 IPC로 사용하고 있는데, 인터페이스, 메서드, 메서드 호출을 위한 매개변수, 시그널(signal)등의 스펙을 이용해서 로컬에서 애플리케이션을 찾고 기능을 실행할 수 있다.

AllJoyn은 원격에 있는 애플리케이션의 기능을 호출할 수 있도록 DBus를 확장해서 사용하고 있다. 즉 RPC 모델을 따른다.

MQTT와의 관계

MQTT와는 영역이 다르다. MQTT는 메시지 버스로 모델인데 반해, AllJoyn은 RPC 모델을 따른다. 로컬에서 MQTT를 쓸 일은 없을 것 같다. 대신 인터넷 IoT 인프라와의 통신 프로토콜로는 MQTT가 유력하다. AllJoyn gateway에 MQTT 플러그인 개발이 진행 중이다.

AllJoyn이 MQTT를 사용하지 않은 이유는 아마도 AllJoyn이 "홈, 가전" 중심이기 때문인 것 같다. 가전은 안정적인 전력공급이 가능하며, 컴퓨팅 파워나 네트워크도 비교적 안정적이다. 굳이 MQTT를 이용 할 필요는 없다고 할 수있겠다. 우선 DBus 자체가 상당히 무거운 시스템인데, 이걸 쓴 것 자체가 산업용은 목표가 아니라는 반증이다.

참고

  • http://openmobilealliance.org/
  • https://allseenalliance.org/
  • https://developer.qualcomm.com/sites/default/files/open-source-introduction-to-allJoyn-project.pdf