From the beginning, Bosch IoT Rollouts was designed as a cloud service. The following graphic provides a high-level perspective about the different modules of the service:
The following sections depict the features of Bosch IoT Rollouts. Links to the Bosch IoT Rollouts documentation allow going into the details, if this is required.
Device State Storage: The Device Repository is about managing connected devices (targets). It is possible to retrieve device details, and attributes, and to maintain descriptions, meta-data, as well as tags. Moreover, it is possible to obtain information about assigned and installed software versions, or the software update related status.
Tagging: Rollouts allows creating and maintaining arbitrary tags. These tags can be assigned to devices, which can be used as a simple filtering mechanism.
Filtering and Grouping: More sophisticated filtering is possible by using the so-called Target Filters. Target Filters help to manage devices by grouping them according to a query. Additionally, these filters are used for auto assignments of updates i.e., a newly registered device fitting the query will be automatically updated with a selected software update.
Distribution Sets and Software Modules: The software repository is about structuring and managing software updates. A software update (Distribution Set) consists out of Software Modules, which themselves contain multiple files. Every Software Module has a sepcific type (e.g. Application). A Distribution Set is also of a certain type, that specifies which Software Module types have to, or can be included. Of course, it is possible to assign meta-data 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 again allows for filtering.
Artifact Content Delivery
Content Delivery Network: Bosch IoT Rollouts provides Software Updates to devices via content distribution networks (CDNs). In case of AWS, customers benefit from AWS CloudFront.
Software Update and Rollout Management
Single Software Update: A software update can be assigned to a single device. Bosch IoT Rollouts then monitors the status of the update process. The status of a device can be unknown, registered, in sync, pending, or error.
Campaign Management: The campaign management (Rollouts Management) allows managing software update operations for large-scale IoT scenarios with hundreds of thousands of devices. Bosch IoT Rollouts allows for
Creating and updating campaigns
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 numbed 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.
Initial Device Provisioning: As described in the chapter Device Repository above, it is possible to use filters for auto assignments. Bosch IoT Rollouts identifies continuously all devices, which match the related filter criteria, and assigns a corresponding software update automatically (e.g. Zero-Day-Update).
Approval Workflows: For large-scale IoT scenarios, Bosch IoT Rollouts supports dual control principles when starting campaigns. The latter means that one person creates a campaign and the requests an approval from a responsible person. After an approval of the campaign, triggering its start is possible.
Reporting and Monitoring
Action History: Bosch IoT Rollouts provides 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 (UI): In addition to the action history there are aggregated graphical views on
Devices connected over time,
Actions created over time,
Assignments of software updates,
Installed software updates.
Bosch IoT Rollouts provides a fine granular user management, which allows assigning specific permissions to users.
Bosch IoT Rollouts provides a user interface, which allows controlling all available features in a convenient way.
The user interface is structured in following views: