AMWA-TV/is-11

Missing device_id on Input/Output resources

alabou opened this issue · 11 comments

The normative language indicates "When properties of any Input/Output are changed, then the version attribute of the relevant IS-04 Device MUST be incremented."

The problem is that the input.json and output.json schemas do not have the usual "device_id" property to associate the input/output resource with a device.

Yep, that makes sense, and would align with the relationships shown in the data model diagram - https://github.com/AMWA-TV/is-11/blob/v1.0-dev/docs/Data%20Model.md#identity-hierarchy

Because control endpoint (like IS-05 and IS-11) are expressed through a Device shall I assume 1) that if a Node supports multiple devices that each URL for a control endpoint is unique to a Device and 2) that because IS-11 is associated to a Device there is no need to have device_id in Input/Output resources because it could be derived from the URL used to access the IS-11 control endpoint? do I miss something here?

I don't think we require (1) for IS-05, IS-07, IS-08, ...

So control endpoints should have been declared in the Node, not the Device and there is no association of a control endpoint to a Device.

No, I think it's intended to be flexible, the control endpoint MAY be per Device, or MAY be used for more than one Device.

How would a Controller know the difference?

Controller always has to go from IS-04 Device to control endpoint. It therefore knows that control API is associated with that Device. I don't believe it can know whether that control API is also for any other Devices.

Found this example from IS-08

Example 2: The ‘controls’ attribute of an NMOS Device of a Node which advertises a different Channel Mapping API instance for each device
"controls": [
{
"type": "urn:x-nmos:control:cm-ctrl/v1.0",
"href": "http://192.168.10.3/x-nmos/channelmapping/v1.0/slot2B/"
}
]
...

Yes, though I'm not sure that extra api_selector is necessary to achieve what you want.

Agreed. I think we really need the device_id in the Input and Output resources.

Resolved by #110.