A data-flow control device comprising: a device-side metadata acquisition unit configured to acquire device-side metadata indicating a specification of data that can be provided by a device for each of a plurality of devices; an application-side metadata acquisition unit configured to acquire application-side metadata indicating a specification of data requested by an application that uses the data provided by the device; a storage configured to store the device-side metadata and the application-side metadata; a matching unit configured to extract a combination of the application-side metadata corresponding to the application and the device-side metadata corresponding to the device that can provide the data satisfying the specification requested by the application by performing matching of the application-side metadata and the device-side metadata; and a data-flow controller configured to generate a data-flow control command specifying the device and the application extracted by the matching unit, wherein the device-side metadata includes permission information that is information indicating whether to permit a combination with a plurality of pieces of other party metadata, wherein the permission information included in the device-side metadata is a multiple pair permission flag indicating whether pairing with a plurality of pieces of application-side metadata is permitted with respect to the device-side metadata, and the matching unit is configured to determine whether to generate a combination with a single piece of other party metadata or a combination with a plurality of pieces of other party metadata based on the permission information included in the device-side metadata, wherein the permission information includes a maximum number of pieces of other party metadata which is permitted to be combined with a target metadata, and the matching unit is configured to extract up to the maximum number of pieces of other party metadata that is a target of a combination with the target metadata, wherein the maximum number of pieces of other party metadata is set to value based on a processing capacity of the device not being exceeded. a device-side metadata acquisition unit configured to acquire device-side metadata indicating a specification of data that can be provided by a device for each of a plurality of devices; an application-side metadata acquisition unit configured to acquire application-side metadata indicating a specification of data requested by an application that uses the data provided by the device; a storage configured to store the device-side metadata and the application-side metadata; a matching unit configured to extract a combination of the application-side metadata corresponding to the application and the device-side metadata corresponding to the device that can provide the data satisfying the specification requested by the application by performing matching of the application-side metadata and the device-side metadata; and a data-flow controller configured to generate a data-flow control command specifying the device and the application extracted by the matching unit, wherein the device-side metadata includes permission information that is information indicating whether to permit a combination with a plurality of pieces of other party metadata, wherein the permission information included in the device-side metadata is a multiple pair permission flag indicating whether pairing with a plurality of pieces of application-side metadata is permitted with respect to the device-side metadata, and the matching unit is configured to determine whether to generate a combination with a single piece of other party metadata or a combination with a plurality of pieces of other party metadata based on the permission information included in the device-side metadata, wherein the permission information includes a maximum number of pieces of other party metadata which is permitted to be combined with a target metadata, and the matching unit is configured to extract up to the maximum number of pieces of other party metadata that is a target of a combination with the target metadata, wherein the maximum number of pieces of other party metadata is set to value based on a processing capacity of the device not being exceeded.