Using embedded nodes in Thing Registries

All devices in Thing Registries are referenced using their XMPP address, their optional node identity, source identity, and partition. If the last three are not provided, they are assumed to be blank. The ThingRegistryClient that we use to interact with a Thing Registry has overloaded versions of all methods accepting embedded node references. This includes the RegisterThing, UpdateThing, Remove, Unregister, and Disown methods.

When we claim a device, we send only metadata to the registry. But the response contains a Node property that together with the JID property identifies the corresponding node. In the same way, the Claimed, Removed, and Disowned events contain a Node reference that points to the corresponding embedded node, if not empty. When searching for things using the Search method, each SearchResultThing found also contains a Node reference.

The concentrator can choose to either only register itself, leaving the node identity, source identity, and partition blank or omitted, or to register relevant embedded nodes as well. The first option is useful, if provisioning of embedded nodes is not of relevance. The second option allows each embedded node to be administered by a separate owner. Each embedded node will get its own stack of rules in the provisioning server. Presence subscription will be managed by the concentrator only, however.

Consider the following example: in a building there might be a PLC installed with many input/output modules. These modules might be shared by many of the apartments in the building. If the property manager wants to allow the residents to control their input/output modules, it makes sense to provision each embedded node by itself. This would allow each resident to be able to control their modules, without letting them control the modules of their neighbors, except with their explicit permission.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.122.162