Manual User-Driven Registration
A user manually registers new devices using an API or GUI provided by the backend server. The user has to create a new or select an existing device model, create an instance of it and fill it with the metadata of the device. Once completed, the device can now connect to the backend server.
Aliases:
Manual Registration, Onboarding by Owner
Context:
Some devices should be connected to a backend server. Often, the backend server has to allocate resources for each device, for example, communication queues or storage space for stored events.
Problem:
Usually, many devices will be connected to one backend server, but not any device should be able to connect at will. Some information about the authorized devices has to be known to the backend in order to be able to contact and manage them. But not all devices or backends are capable of Automatic Client-Driven Registration or Automatic Server-Driven Registration or the user may want more control over the registration process.
Forces:
-
Scalability: In some cases, a large number of devices might be intended to connect to one backend server. Allocating the necessary resources and managing the registration by hand would involve a lot of work.
-
Control: Some cases might require a lot of user control to get all details right.
-
Compatibility: Not all devices or servers support automated registration. To maintain compatibility, a way to manually register devices is needed.
-
Simplicity: Automatically registering devices can be difficult to implement. Manually registering devices is simple and easy to implement.
-
Security: Automatically registering devices may lead to security issues. Manual control over the registration process can increase security.
Solution:
Allow authorized users to manually register devices on the backend server. Provide them an API or GUI where they can enter the device details for first registration. Allow them to change these details later on if needed.
Solution Details:
Benefits:
Variants:
Related Patterns:
Known Uses:
- 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