I have read through the current draft
of the specification. My big concern after reading this is the way
in which a DMI factory is going to get its job done.
Consider what a factory has to do. It
is given a source, S0, and a sink, S1, to move data between, as well as
other important information. But let's concentrate on the source
and sink aspects at this point. The factory also support doing transfers
using one or more transfer mechanisms/protocols, call them P0...PN. The
fundamental problem facing the factory is to find which of the Pi are supported
by both S0 and S1 and which will meet the QoS goals of the transfer. I
am struggling to understand how the factory can find which of the Pi are
mutually supported. The current specification provides no architected
mechanism for making this determination.
With no architected mechanism, the factory
must have a means, presumably specific to each Pi, of asking S0 and S1
if they support Pi. I suppose that this is a solution but doesn't
it then place a requirement on the specification of each possible transfer
mechanism to provide such an interface? Do all transfer mechanisms
have this, especially those already with approved specifications or, even,
de facto specifications?
Another approach would be for the factory
to run through the Pi trying to create a transfer using that Pi. Possible,
does not add additional requirements on the specifications of transfer
protocols but it sure seems inefficient to me.
Is there some other way of doing this
without placing something in the DMI spec?
In the Data Architecture document (http://forge.ogf.org/sf/go/doc14053?nav=1)
we explicitly attacked this problem. We proposed a simple interface provided
by each data service that allows the DMI factory to get a list of the transfer
protocols supported by that service. This seemed to us to be simple
to specify, effective in solving the problem and easy to implement in a
data service. I suggest that DMI take this approach and architect
such an inquiry interface between DMI factories and sources/sinks.
Comments? Suggestions?
Allen Luniewski
IBM Cross Brand Services
IBM Silicon Valley Laboratory
555 Bailey Ave.
San Jose, CA 95141
408-463-2255
408-930-1844 (mobile)