[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: [dsml] parallel processing and sequence of responses
Works for me, nice compromise. John McGarvey wrote: >I'd suggest the addition of a responseOrder attribute to resolve this >question. > ><!-- **** DSML Batch Request Envelope **** --> > <xsd:complexType name="BatchRequest"> > <xsd:sequence> > <xsd:element name="requestID" type="xsd:string" minOccurs >="0"/> > <xsd:group ref="DSMLRequests" minOccurs="0" maxOccurs >="unbounded"/> > </xsd:sequence> > <xsd:attribute name="processing" use="optional" default >="sequential"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="sequential"/> > <xsd:enumeration value="parallel"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > > <xsd:attribute name="responseOrder" use="optional" default >="sequential"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="sequential"/> > <xsd:enumeration value="unordered"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > > <xsd:attribute name="onError" use="optional" default="exit"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="resume"/> > <xsd:enumeration value="exit"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > </xsd:complexType> > >If a BatchRequest envelope does not specify both a responseOrder of >unordered and a processing value of parallel, then the server must return a >BatchResponse envelope in which the DSMLResponse members are so ordered as >to provide a positional correspondence between each DSMLRequest in the >BatchRequest and the resulting DSMLResponse in the BatchResponse. If a >BatchRequest envelope specifies a responseOrder of unordered, every >DSMLRequest in that envelope must have a requestID. If a BatchRequest >specifies a responseOrder of unordered and a processing value of parallel, >the server may return the DSMLResponses in any order within the >BatchResponse envelope. When a client permits unordered responses, this >facilitates efficient processing by the server, as the responses to >parallel operations may be returned in the order they complete. > >If the BatchRequest envelope specifies a processing value of parallel but >does not specify a responseOrder of unordered, the server may ignore the >request for parallel processing or may limit the amount of parallel >processing so as to ensure the DSMLResponses are returned in order within >the BatchResponse envelope. > >----------------- >With this approach, the worst that could happen is that DSMLv2 clients that >do not support unordered responses will observe slower performance with >some DSMLv2 servers, because of server side limitations on parallelism or >the need to buffer responses. > >Regards, >John > > >---------------------------------------------------------------- >To subscribe or unsubscribe from this elist use the subscription >manager: <http://lists.oasis-open.org/ob/adm.pl> > -- Pete Rowley Developer Netscape Directory Server
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC