Power of open source communities to oneM2M - ETSI 1 Power of open source communities to oneM2M Prof....
Transcript of Power of open source communities to oneM2M - ETSI 1 Power of open source communities to oneM2M Prof....
12/11/2015
1
Power of open source communities to oneM2M
Prof. Song JaeSeung([email protected])
Sejong University & KETI
11. December, 2015
ETSI M2M Workshop 2015 featuring oneM2M
(2)
1 Introduction to open source
2 oneM2M based open source implementations
3 Global IoT open source forum (GoIoT-Forum)
4 Reasons open source is good for oneM2M
5 Summary
12/11/2015
2
(3)
What is Open Source Software
source = software in source code form
open = free to:» View the source code
» Run the software for any purpose
» Modify the software in any way
» Distribute the software and any modifications
Software development model
Philosophy—share and collaborate
Licensing Model
(4)
The word “free” in “free software” pertains to freedom, not price
Think of “free” as in “free speech,” not as in “free wine”
12/11/2015
3
(5)
Open Source Software Development Model
Developers
TrustedDevelopers
Trusted Repository
Distributors
Users
Form a development community
DeliverSource code
Distribute Source code
Bug reports & suggest patches
Users typically use software without paying licensing fees Users typically pay for training & support (competed) Users are responsible for paying/developing new
improvements & any evaluations that they need
(6)
Open Source Licensing Models
GNU General Public License
BSD-style license
Other models:» Mozilla
» I.B.M., Apple, Intel, RealNetworks, etc.
» Artistic license
» GNU Lesser GPL
Open Source Initiative (opensource.org)
12/11/2015
4
(7)
GNU & BSD-style Licenses
BSD-style license
License grant: unlimited use, modification, distribution No warranties; disclaimer of consequential damages No endorsement Attribution
GNU license
Unlimited right to run program Unlimited access to source code Unlimited right to distribute verbatim copies May create derivatives IF you agree to make the derivatives
“free” License is “viral” No warranties; disclaimer of consequential damages
(8)
ARE THERE ONEM2M-BASED OPEN SOURCE IMPLEMENTATIONS?
YES!!
There exist three open source communities implementing oneM2M specifications
OCEAN (Korea), OM2M (Europe), IoTDM (USA)
12/11/2015
5
(9)
1 Introduction to open source
2 oneM2M based open source implementations
3 Global IoT open source forum (GoIoT-Forum)
4 Reasons open source is good for oneM2M
5 Summary
(10)
Strong oneM2M Implementations
Open source implementations
Several commercial implementations and services
IoTDM
12/11/2015
6
(11)
http://open‐iot.net/ocean
OPEN SOURCE
(12)
OCEAN Open Source Implementation
What is OCEAN?» OCEAN (Open allianCE for iot stANdard) » Established in Jan. 6th, 2015 by KETI and Korea
government» Share IoT open sources based on IoT standards » Support vendors and developers using the
OCEAN source code
License policy» 3-Clause BSD Licence policy» Adopt IPR policy of the standards
referred by OCEAN (in this case oneM2M)
Current Members» 214 members (Oct. 1st, 2015)
Availability» oneM2M-based IoT platform for device, gateway
and server» Several guideline documents» Website: http://iotocean.org
12/11/2015
7
(13)
OCEAN Milestone
Open source roadmap and release plan– Mobius: Blue Octopus v1.1 for Spring Framework (Sep. 2015)
– Mobius: Yellow Turtle v1.1 for Node.js (Sep. 2015)
– &Cube: Lavender for Java v1.0 (Aug. 2015)
– oneM2M - AllJoyn Interworking IPE (Feb. 2016 expected)
– oneM2M - OIC Interworking IPE (Feb. 2016 expected)
– Semantic descriptor (Mid 2016 expected)
OCEAN (Open alliance for iot standard)
2014 2015 2016 2017
oneM2M 1.0 oneM2M 2.0
~2015IEEE …
oneM2M 2.0
IETF
2016~
Expand
Other Alliance
Interworking
(14)
OCEAN open sources
oneM2M Nodes
SW nameAE
CSEFramework
ASN MN IN
MobiusBlue Octopus √ Spring
Yellow Turtle √ Node.js
&Cube
Rosemary√ Java
√ Node.js
Lavender√ Java
√ Node.js
Thyme√ Java
√ Node.js
Not yet openedOpened
12/11/2015
8
(15)
Eclipse OM2MOpen source standard‐based
IoT platform
eclipse.org/[email protected]
OPEN SOURCE
(16)
Open source project developed at the Eclipse Foundation.
Horizontal service platform for M2M interoperability
OM2M is under Eclipse Public License (EPL) a business-friendly free software license
Compliant with SmartM2M (April 2014)
Compliant with oneM2M (September 2015)
Restful API with generic set of service capabilities
Facilitate deployment of vertical applications
OSGI-based architecture extensible via plugins
Developed by research labs and companies
Eclipse OM2M Platform
12/11/2015
9
(17)
OM2M Building Blocks
DeviceManage.
LWM2M
OMA‐DM
Interworking Proxy
ZIGBEE
Comm. Binding
COAP
HTTP
OthersSecurity
TLS‐PSK
Java Virtual Machine
OSGi framework (Equinox, knopflerfish, Karaf, etc.)
Operating System
GenericProcess
.
CORE
Hardware
Your
plugin!
KNX
HUE
TLS
ContentFormat
JSON
XML
Storage
MongoDB
H2
Phidgets
Generic
LoRa
SIGFO
X
Z‐Wave
EnOcean
Opensourceplugin
LAAS‐CNRS private pluginLAAS‐CNRS private prototype
pluginLAAS and partners plugin
seman
tic
Autonomic
• OM2M is a java platform running on top of an OSGi runtime• Highly extensible via plugins.
• Flexible OSGi container: Equinox, Knopflerfish, or others.
• Flexible database: SQL or NoSQL.
• Each CSE includes required plugins and is build as an Eclipse product using Maven and Tycho.
(18)
OM2M Project Stats
• Downloads : 1120 since April 2015• Contributors : 8
Website access
12/11/2015
10
(19)
Eclipse OM2M Roadmap
Eclipse OM2M Release 0.8.0 (April 2015)» SmartM2M-based platform.
Eclipse OM2M Release 1.0.0 (September 2015)» oneM2M-based platform.» IN, MN, ASN, and MN nodes support.
– Protocol-independent CORE module.
– HTTP and CoAP communication bindings.
– XML and JSON resource formats.
– Interworking driver for simulated devices.
– Web interface for resource browsing and debugging.
– DAO persistence layer for SQL and NOSQL databases.
– Semantic capabilities.
– Android support.
(20)
OPEN SOURCE
IoTDMDaylight
Open Source Projecthttps://wiki.opendaylight.org/view/IoTDM:Main
12/11/2015
11
(21)
IoTDM from Open Daylight Project
The IoTDM project is about developing a data-centric middleware
oneM2M compliant IoT Data Broker (IOTDM)
Enable authorized applications to retrieve IoT data uploaded by any device.
• Project Creation Date: December 9th, 2014• Contributors: Cisco, ETRI, Echelon• Repository: https://git.opendaylight.org/gerrit/iotdm
(22)
IoTDM oneM2M Features
Implement IoTDM as closely to the oneM2M specifications as possible.
Keep in mind that the specifications are still evolving.
RESTconf is also supported but it is a non-oneM2M standard method for accessing the tree. Bundles providing the API: odl-iotdm-onem2m
REST API commands include: onem2m-request-primitive for CRUDN
Information about what is supported from oneM2M R1 https://wiki.opendaylight.org/images/5/55/IoTDM_oneM2M_Features_Lithium.pdf
Examples of CRUDN calls and JSON formats: https://wiki.opendaylight.org/images/9/93/API_Calls_Examples.pdf
12/11/2015
12
(23)
ARE THESE OPEN SOURCE IMPLEMENTATIONS INTEROPERABLE?
YES!!
They have participated 1st oneM2M Interop. test event and shown their interoperability
They have even created a forum, GoIoT Forum
(24)
1 Introduction to open source
2 oneM2M based open source implementations
3 Global IoT open source forum (GoIoT-Forum)
4 Reasons open source is good for oneM2M
5 Summary
12/11/2015
13
(25)
Initiate a joint forum among oneM2M based IoT open source communities» OCEAN (Korea)
» OM2M (Europe)
» IoTDM (USA)
Founders: KETI, LAAS‐CNRS, Cisco, Sejong University
Main purposes is to share experiences and information
Expected activities: » Joint workshops and conferences
» Joint hackathon events
» Collaboration on open source implementations
» Collaboration on standards activities
» Global IoT research projects
» Share activities, events, and news
» Interoperability and conformance testing
Global Open Source IoT Forum - GoIoT
(26)
IoTDM
Make sure these three open source implementations are interoperable with each other» Participate oneM2M Interoperability events
» Closely testing each other
» Open three live IN-CSE to public
Interoperability
12/11/2015
14
(27)
IoTDM
Support plug and play
» Developed core functions in one open source community can be plugged in to other open source implementations without modification (or with minimum modification)
» App developers only need to develop an app only once in any platform
Residential
Semantics(new function)
Plug and Play
(28)
1 Introduction to open source
2 oneM2M based open source implementations
3 Global IoT open source forum (GoIoT-Forum)
4 Reasons open source is good for oneM2M
5 Summary
12/11/2015
15
(29)
Founders of open source communities are all the member of oneM2M, except for my university (SejongUniversity)
All oneM2M open source communities aware of the oneM2M IPR policy
Open source communities provide users the freedomto use their source code not Intellectual Property (IP)
Policies of open source communities notify the fact that “user has to follow the IPR policy of oneM2M ”
Legal Issues
(30)
Five Benefits of Open Source for oneM2M
1. Try before you buy or implement
2. Freedom (use & modify)
3. Quality
4. Security & Reliability
5. Interoperability
12/11/2015
16
(31)
oneM2M Eco-system with OSS
IoTDM
GoIoT Forum
Provide feedbacks for new standard features & Suggest new features
from the open source communities
Adjust new standards features to open source
implementations
(32)
1 Introduction to open source
2 oneM2M based open source implementations
3 Global IoT open source forum (GoIoT-Forum)
4 Reasons open source is good for oneM2M
5 Summary
12/11/2015
17
(33)
Introduction to open source software
oneM2M based open source implementations and
communities
GoIoT Forum – Global open source IoT forum
Benefits of open source communities to oneM2M eco-
system
THANK YOU
Prof. Song [email protected] University
Summary