Introduction

The Software Update Service is designed to deliver content from a back office system to an endpoint or device in a controlled and efficient manner. There are many ways that this content can be organized and delivered, however, and this introduction will touch on some of the most important aspects.

Introduction

Fleet

We use the term fleet to refer to all the devices you're managing. These need not be the same type of device (e.g., you could be managing cars and mobile phones). They could require different software and be on different update timetables.

Packages

A package is a software or configuration deliverable to your fleet of devices. For instance, if you had a new image to distribute to your fleet, you would wrap it in a package for distribution. Packages are comprised of a payload (what to send) and metadata (how to send it). They define rules that can restrict distribution to certain devices or provide information for integrity checks.

Releases

A release is comprised of one or more packages. You can use releases to manage groups of related content. For example, if you had 1000 tiles for a map, you might want to create a release for that and call it a map release. Releases allow you to have multiple versions of the same content. This way every time you rebuild or update the content, you can give the release a new version number. Like packages, releases have rules that can target them to members of the fleet that have certain properties.

Groups

To help manage the releases in the system, you can use a group. You can define a group to select from some of your devices and send updates only to them, rather than to all devices all the time. Groups are based on a definition of device properties. For instance, if you want to send the latest maps only to vehicles of the 2013 model year, you could define a group of "modelYear = 2013". You can now activate the release for this group and only the devices that are part of this group will receive the update.

Registration

When a device comes online for the first time, it must contact the software update server to register itself. By registering, the device notifies the server that it is active and sends the server the device profile. The device profile is a set of properties that is used later by the software update server to determine whether the device should get an update, and if so, how and when. A device must register every time its profile changes.