Bosch IoT Device Management

Device management and software update capabilities

images/inline/e0558c19430f4c792beec273b2b05a3717efb36b.png


The features in detail:

Device Inventory

  • Device connectivity

    • Straightforward registration of gateways and the edge devices connected to them, to the cloud.

  • Device type model (Metadata)

    • Serves as a general abstraction for device representation and manipulation,
      which is applicable for management and monitoring of any device type,
      regardless of the concrete device capabilities, network communication protocols, and management interfaces supported by the device.

    • Based on the Eclipse Vorto model.

  • Device listing and maintenance

    • Listing of all registered devices regardless of their type in a convenient manner.
      You can list connected stand-alone devices, or gateways only, or gateways with their edge devices.

    • Enables users to view and control the status of devices.

  • Grouping

    • Grouping by directories - hierarchical organization of devices by specified criteria e.g. location, business unit, functionality, etc.

    • Grouping by tags - facilitate grouping and searching of devices by various criteria.
      A device may have multiple tags attached to it, meaning that it will be included in multiple tag groups.

    • Grouping by filters - a filter group is created by saving a search filter for future use.
      Thus every time you apply this saved filter, it will involve different members.

  • Searching and filtering

    • Searching for a device or a set of devices that match specified criteria, based on the information that the service keeps in the Device Inventory.

    • Searching and filtering is possible for example by: ID, online status, device capabilities, available software components, runtime status and configuration, custom properties, etc.

  • Single-device management

    • Sending commands to single devices connected to the system for an instant and unconditional execution of management actions.

    • Applying of configuration changes on a per-device basis. For example, changing cloud-side URLs, re-configuring client authorizations, increasing or decreasing reconnect intervals, etc.

    • Convenient way for the operator to send commands in accordance with the Vorto model concept, without the need to know the actual command message format.

Mass Device Management

  • Manual launching of mass operations

    • Flexible management of large device fleets with a single operation.

    • Direct, unconditional and one-time execution of mass operations
      (aka mass management actions) in the form of tasks launched manually.

  • Rule-based automation of mass operations

    • Automated, recurrent and condition-based execution of mass management actions in the form of predefined rules.

    • Each rule has one or several triggers, which can be timer-based (Cron expressions), event-based (device functional events) or manual.

  • Scripting

    • Use of the Groovy scripting language to define the management action, which will be executed on the relevant devices.

    • Action definitions are based on the Groovy DI API.

  • Execution options

    • Allow you to adjust and fine-tune the execution of tasks and rules based on your specific environment:

      • Behavior in execution overlapping scenarios.

      • Concurrency limit, which restricts the maximum number of devices concurrently executing the rule.

      • Concurrency timeout, by which a non-confirmed execution expires and stops occupying room in the limit.

      • Time constraints defined by Cron expressions.

  • Scope

    • Several ways to select the devices (group of devices) on which the mass management action will be executed:

      • Predefined group (as explained under grouping),

      • Device IDs,

      • Groovy or RQL filter.

  • Persistence

    • A persistent queue for the commands sent to a device.
      If the device is not currently connected, these commands are sent when the device connects again.

  • Monitoring of the mass operations

    • Allows monitoring of the actual execution of mass management actions from the perspective of a task / rule or an involved device.

    • Summarizing an action's partial execution states into device task execution states and device rule execution states respectively.
      Their corresponding attributes can be used for statistical purposes.

Software Management

  • Software Repository - A software repository is a database, which deals with structuring and managing of software updates, which can be remotely provisioned on the target device.
    It holds the provisioning targets (i.e. devices) and assignable software distributions, including a full software update history for every device.

    • Distribution sets and software modules

      • A software update (distribution set) consists out of software modules, which themselves contain multiple files.

      • Every software module has a specific type (e.g. application).

      • A distribution set is also of a certain type, which specifies which software module types have to, or can be included.

      • Optional meta-data can be added to both entities.

    • Validation - When defining a new distribution set, Bosch IoT Rollouts makes sure that the types of the software modules fit to defined type of the distribution set.

    • Tagging and filtering - Software updates (distribution sets) can be tagged by user-defined tags. This allows filtering and auto-assignments of updates.

  • Single software & firmware update

    • Performing of single software & firmware updates is possible directly on the device, or via content delivery network providers.

    • Shipping a variety of software artifacts to various types of devices.

    • The different statuses of the update process can be monitored.

  • Software update campaigns

    • The campaign management (rollouts management) allows managing software update operations for large-scale IoT scenarios with hundreds of thousands of devices.

    • Campaign management system to support large-scale rollouts.
      It handles large volumes of devices at rollout creation time with flexible deployment group definitions and monitoring of the rollout progress.

    • Updates can be rule-based, time- or trigger-based.
      Software campaigns should provide bulk assignment of updates, and if needed should include specifics for each existing device group.

    • Creating and updating campaigns is possible via:

      • Selection of targets as input for the campaign based on target filter functionality.

      • Selection of a distribution set.

      • Auto-splitting of the input target list into a defined number of deployment groups (automatic group definition).

      • Optional definition of custom deployment groups with individual conditions (semi-automatic group definition).

    • Cascading start of the deployment groups based on installation status of the previous group.

    • Emergency shutdown of the campaign in case a group exceeds the defined error threshold.

    • Campaign progress monitoring for the entire rollout and the individual groups.

  • Reporting and monitoring of the update process

    • Action history - Means to monitor the status of every device via its action history. This action history makes transparent which action happened at which particular time and with its result.

    • Statistics - In addition to the action history there are aggregated graphical views on:

      • Device status,

      • Device activities,

      • Devices connected over time,

      • Actions created over time,

      • Assignments of software updates,

      • Installed software updates.

  • Artifact content delivery

    • Software Updates can be provided to devices via content distribution networks (CDNs). It allows the integration with different CDNs or object storages. In case of AWS, customers benefit from AWS CloudFront.

Device management at the edge

Additionally, device communication at the edge can be enabled by Bosch IoT Edge if used in combination with Bosch IoT Device Management.

  • Remote configuration

    • Management and configuration of OCI containers

    • File and log upload from device

    • Backup and restore of various device configurations

    • Management of various device configurations

  • Remote software management

    • Over-the-air (OTA) installation and updates for edge applications (e.g. standard OCI containers, OSGi bundles)

    • Firmware-over-the-air (FOTA) updates for edge devices

    • Customizable script-based software updates