[Nsi-wg] NSI Issues list – Rio de Janeiro Demo

Tomohiro Kudoh t.kudoh at aist.go.jp
Sun Sep 18 09:50:15 CDT 2011


Hi all,

Here is G-LAMBDA/AIST's lessons learned and comments on the NSI plugfest:

1. WSDL provisioning

While some clients (AIST and KDDI) tried to get WSDL from servers
before establishing a session, some servers did not provide WSDL. This
problem was solved by make AIST and KDDI implementations to read local
WSDL, but we are not sure whether using a local WSDL is right thing or
not.

2. Lessons learned (?)

- Ack and conf/fail sequence problem. AIST implemented processing of
request such as reserve as a different thread from the one which
receives requests. Therefore, a confirm message is sometimes returned
before the ack. But some implementations did not allow it. (this
problem has not been fixed yet)

- We experienced network problems (like connection refused),
especially between OpenNSA and others. The ack and conf/fail sequence
matter may be the cause of these network problems . But not quite
sure. This should be investigated further.

- Implementations used different timezones in specifying times. One of
the implementations worked only if a reservation request is made in
the same timezone. Also, using different timezones for logs is not
very human understandable.

2. SAML

We don't think the discussion on SAML is mature enough. At this
moment, we should not put SAML security attributes in the WSDL.
Extensible specification can be used for future extension (including
SAML) like :

<xsd:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>

Just as an example, OGF OGSA-BES (Basic Execution Service) does not
include security attributes in WSDL or schema, and uses xsd:any
multiple times so that outer schema can be used for security
attributes.

3. synchronous/asynchronous call

It seems using a separate session for confirm/fail is confusing. We
have to introduce correlation id, and also we encountered a problem in
the order of ack and confirm messages as stated above.

Asynchronous calls are now widely used for many services, and
supported by most of toolkits including Axis, CXF, Glassfish and
Websphere.

A major advantage of asynchronous call is that the client can be at
behind a NAT. On the other hand,  since a connection is there until a
reply is sent back, there is a limit in the number of requests which
have not been replied. But (especially if we will modify the protocol
to reply to provision request in Autostart immediately), there will
not be so many connections at a time.

We are not proposing this for v1.0, but we think it should be
considered (again) for v2.0.

4. WSDL related

- The STP list is defined in WSDL as:
    <xsd:complexType name="OrderedServiceTerminationPointType">
        <xsd:sequence>
            <xsd:element name="stpId" type="tns:StpIdType" />
        </xsd:sequence>
        <xsd:attribute   name="order" type="xsd:integer" />
    </xsd:complexType>

But <order> is not necessary. Order of array elements are guaranteed
in both JAXB and SOAP. Same for DetailedPathType.

- xsd:integer can be xsd:int

xsd:integer is mapped to BigInteger in Java. Normal xsd:int would be sufficient.


More information about the nsi-wg mailing list