Application Management
Application management is the process of deploying, activating, deactivating, and decommissioning applications in the GEISA execution environment. Please see notes from the Technical Deep dive for additional notes / context.
Note: Application Monitoring is treated as a separate topic.
Application Metadata
GEISA’s application management system will follow a model similar to Amazon IoT Greengrass or Microsoft Azure IoT in which applications have a recipe, manifest, or other set of meta-data describing their requirements and dependencies.
The application meta-data shall include:
Name, Description, and Version of the application
Hash of the application image
The GEISA application execution environment shall not activate an application unless the hash of the image matches the hash in the meta-data
System Resources required
External Dependencies
GEISA applications should be as self-contained as possible, with all necessary dependencies contained within the application image if at all possible.
Application Boot Configuration
Some applications will need basic information to initialize, such as the URL of a server. The system operator should be able to change the boot configuration information without needing to redeploy the application image.
Launch Strategy
Includes details such whether the application should automatically be restarted if it fails, and how many failure within a given period of time constitutes a permanent failure.
Application Management Protocol
GEISA needs to select a specific application management protocol to enable interoperability. Given the scale of GEISA (millions of devices), it is critical that the protocol be as light-weight as possible. ReSTful architectures are proven to scale very well, and thus are a preferred starting point. GEISA is currently exploring several possible management protocols, including:
Welotec SMART EMS
Both LWM2M & CSMP are ReSTful in nature. LWM2M originated with CoAp and has been expanded to other protocols including HTTP and MQTT. CSMP is CoAp only.
The team also discussed the potential of using Mender. Mender appears to provide a robust over-the-air firmware update and application update solution, but not a more general management solution.
Comparison Table
| LWM2M | CSMP | Welotec |
|
---|---|---|---|---|
ReSTful | Y | Y |
|
|
Template Based |
|
| Y |
|
Protocols | CoAP, SMS, HTTP, MQTT | CoAP |
|
|
Data Formats | Protobuf TLV |
|
| |
Security | DTLS, TLS, DTLS+CID | Signatures |
|
|
Extensible | Y | Y |
|
|
Existing Object Registry | Y | N |
|
|
Firmware Upgrade | Y | Y | Y |
|
Network Management | Y | Y |
|
|
Device Registration | Y | Y |
|
|
Application Management | Y | N |
|
|
Deploying
Activating
Deactivating
Decommissioning
Management Agent