This proposal has been approved and the Eclipse Leshan™ project has been created.
Visit the project page for the latest information and development.

Leshan

Wednesday, September 10, 2014 - 09:10 by Julien Vermillard
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Working Group
Proposal State
Created
Background

Most IoT (Internet of Things) developers these days are building their solutions with an approach where the Internet connectivity is taken as granted. That is, they focus very much on the application level without taking into consideration the network infrastructure. In the context of the Internet of Things, we’re talking about very constrained computing devices, that very often do not offer any sort of human-machine interface for operating purposes besides the fact that they are – hopefully – connected to the Internet. In order to manage and operate large fleets of such devices, and be able to track their overall “health” (battery level, quality of the cellular signal, etc) or upgrade them over the air, specific protocols as well as server-side infrastructure must be deployed.

 

The Open Mobile Alliance (OMA) is a standards body which develops open standards for the mobile phone industry like Multimedia Messaging Service (MMS), OMA Data Synchronization (OMA-DS) and OMA Device Management (OMA-DM).

OMA Lightweight M2M is a protocol for device and service management. The main purpose of this technology is to address service and management needs for constrained IoT devices, over a number of transports and bearers. 

 

A device which is LWM2M-ready can be managed remotely from a LWM2M server, and therefore be e.g. rebooted, upgraded, etc.

Scope

The Eclipse Leshan project provides a complete infrastructure for building IoT solutions using OMA LWM2M and the Java programming language:

 

  • A device management server library.

  • A device management client library.

  • A device management server with a web user interface.

  • A bootstrapping server (server in charge of the initial security configuration (keying) of the devices).
Description

Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.

Eclipse Leshan relies on the Eclipse IoT Californium project for the CoAP and DTLS implementation. It is tested against the LWM2M C cliented provided by the Eclipse IoT Wakaama project.

Why Here?

Eclipse Leshan is a natural fit for the Eclipse IoT ecosystem since it builds on top of existing standard IoT protocols and implementations that already live at Eclipse. Moreover, in order to facilitate the adoption of open standards like LWM2M, it is important to leverage the IP policies of the Eclipse Foundation to provide open source implementations that have clean IP and can safely be used in commercial products.

Project Scheduling

The plan is to implement the whole OMA Lightweight M2M specification incrementally.


The main addition to the features already available on GitHub would be the implementation of the device-initiated bootstrap specification.

 

First 0.2 release expected in Q4 of 2014.

 

Project Leads
Committers
Julien Vermillard (This committer does not have an Eclipse Account)
Simon Bernard (This committer does not have an Eclipse Account)
Kai Hudalla (This committer does not have an Eclipse Account)
Mentors
Interested Parties

Sierra Wireless

Bosch Software Innovations

Zebra Technologies Corporation, Zatar

Intel

Vodafone

Initial Contribution

The initial code contribution consists of several Java-based components built using Apache Maven:

  • leshan-core is a Java library implementing a Lightweight M2M server. It uses Eclipse Californium for implementing the CoAP device API and the DTLS security layer.

  • leshan-standalone is a standalone Java server that uses “leshan-core” for running a Lightweight M2M server, with a web user interface.

  • The Web UI is built using Angular JS and Twitter Bootstrap. A REST API is exposed, using Eclipse Jetty and Google GSon, and used by the web UI for communicating with the server.


A Dockerfile is also provided in order to facilitate the deployment of Leshan in Docker containers.

Source Repository Type

This is great news, Julien :-)

+1 for adding leshan to eclipse IoT. We strongly support the development and will continue to contribute code. However, could you please replace "Bosch S.I." with "Bosch Software Innovations" in the Interested Parties section?

Thanks a lot,

Kai