The IoT (Internet of Things) continues to exceed growth projections and many intelligent device manufacturers are asking the same question – how will we monetize the IoT opportunities?
While there are many components to this question, software licensing is a key revenue driver for intelligent device manufacturers that are offering subscription- and usage-based software licensing with their hardware.
Specifically, many IoT vendors are debating if they’re going to put software licensing functionality on the endpoint – so Mathieu shares his observations and experiences over the last several years:
I always differentiate between “intelligent devices” and “sensors.” The reality is that sensor constraints are much tighter than intelligent devices due to factors like cost, size, power, and speed. For example, sensors have very little dynamic memory (30-60 KB), limited storage space (if any), require the least amount of power, and are firmware-driven to fit onto a small silicon footprint. Many sensors only have basic instructions necessary to run which makes trial or subscription licenses quite difficult.
Contrast that with intelligent devices which have a mature operating system (often Embedded Linux or Android), with storage in the hundreds of megs or gigs, dynamic memory in the megs or gigs, etc. So when discussing licensing and endpoints, it is important to keep the capability of the endpoints in mind. When possible – I recommend implementing licensing at the gateway level, not on the individual sensors:
This approach assumes some type of control software which receives data and input from sensors (and intelligent devices). For purposes of this conversation I’ll call that an “IoT Gateway” (gateway) but you may also hear terms like “management console”- at the end of the day we’re simply describing where edge devices/end-points, especially sensors, exchange data with bigger systems.
Several IoT vendors I’ve worked with have implemented the above. The sensors do not have a licensing client embedded on it. Instead, they talk to the gateway when they wake up and say “can I start” or “what ‘edition’ am I in.” The gateway will then use the software licensing component to check-out licenses from a local license server on behalf of that sensor and then reply with “sure-you can start” or “no-you cannot start” or “you can start as a standard sensor.”
Some advantages to implementing a gateway-based software licensing model are:
- You don’t have to get around the sensors’ constraints
- You don’t have to re-write the sensors’ software
- It does track licensing for sensors (either quantity or other more advanced capabilities)
- It does alleviate getting certifications for sensors
- It can be backwards compatible (assuming there already is a gateway)
- Make it easier for your customers to centrally manage large numbers of sensors
- Addresses security vulnerabilities
- Provides additional services without increasing the footprint to the sensors software
The disadvantages of this approach are that it requires an IoT gateway. If you cannot leverage a gateway then you can still deploy software licensing on the individual sensors - but you will need to increase space requirements as much as possible to meet the constraints of these sensors such as:
- Most likely you will need to rely on ECC (Elliptic Curve Cryptography) including ECDSA (Elliptic Curve Digital Signature Algorithm) cryptography since it uses less power and is much faster than RSA.
- You’ll probably drop SSL (Secure Sockets Layer) support and rely on the gateway to manage all secure communication.
- You will most likely put the licenses in memory. One trick you may want to explore is storing the licenses on a location off your sensors – have the sensors grab the licenses from there – and keep them in memory.
- Leverage compiler and linker options to strip away functions that will not be use; and use optimization flags if available
- Consider dynamic linking to reduce memory footprint
- Very dependent on physical security to protect software IP and can be very costly
Want more on ways you can monetize the IoT opportunity?
- Read our blogs on IoT
- Read the white paper, “Market Trends: Move Beyond Homegrown Licensing and Entitlement as the IoT Creates New Revenue for Software”
- Watch a demo