Internet of Things Patterns
This is an excerpt of the pattern that was first published in [1].

Factory Bootstrap

Icon of the Factory Bootstrap pattern

The information a device requires to create the first connection to its communication partners is placed on the device during manufacturing. A special chip or preconfigured firmware is build into the device. The device uses this information to create the first connection.

Context:

You have a new device which has to communicate with other components to fulfill its purpose. The device is either connected directly to the other components, or it goes through a network and multiple intermediaries. Either way, the new device has to know how to create these connections. Besides, the device has to work reliably in harsh environments, e.g., outside in the remote wilderness, underwater, in dust and sand, or exposed to vibrations.

Problem:

A device, which needs to communicate with other components, is added to an existing IoT system. It needs some basic information to be able to create connection and to start communication. It has to be robust and reliable enough to withstand harsh environments.

Forces:

  • Resilience: Some devices need to be built to withstand harsh conditions, but some components will decrease their ability to do so, for example, movable parts which break more easily or external ports which could let in water or dust.

  • Physical Access: Some devices may be hard to reach because they are set up in high places or at remote locations or rough terrain.

  • Planning: It may be hard to plan every detail concerning device communication before the devices are produced.

  • Maintenance: Depending on how the device is build, it may be hard to maintaine it once it is finished.

Solution:

Place the information required for creating the first connection on the device during the manufacturing process. Either hard code it into onto the device or add it as part of the firmware or software which is put on the device during manufacturing.

Solution sketch of the Factory Bootstrap pattern

Solution Details:

This is an excerpt of a previously published pattern. The full pattern can be found in [1].


Benefits:
Drawbacks:

Variants:

Related Patterns:

Known Uses:

  1. L. Reinfurt, U. Breitenbücher, M. Falkenthal, F. Leymann, and A. Riegg, “Internet of Things Patterns for Device Bootstrapping and Registration,” in Proceedings of the 22nd European Conference on Pattern Languages of Programs (EuroPLoP), New York, NY, USA, 2017. Available at https://dl.acm.org/citation.cfm?doid=3147704.3147721