ORIGINAL QUESTION Imagine that your messaging system can deliver messages in a different order to that in which they were sent. Is it possible to operate the FpML protocol correctly over such a system? Q1: Does anyone actually operate FpML over an unordered transport? Q2: If so, how does the receiver reconstruct the order, or cope with this with compensatory actions? I don’t know the FpML protocol in any detail. But I do know protocols able to cope with unordered transports typically have sequence numbers (to spot gaps) or version numbers and complete copies of all the state in every message (so as to be able to pick the latest version, and not accidentally use a superceded one). Q3: Is it possible that the sender could send something like a lifecycle of messages something like [trade-start, update-trade, trade-completion] and if the receiver got [trade-start, trade-completion] it would act, and then if it got the update-trade it would have (potentially nasty) compensatory actions to take. UPDATED http://www.fpml.org/spec/fpml-4-4-12-rec-1/html/fpml-4-4-intro.html#s3.1.2.1 says “Messages may arrive in any order at the receiving messaging endpoints. However the message must be delivered before the maximum duration of time permitted. For each FpML document sent, sixty seconds is the maximum duration of time in within which all its preceding FpML documents must be sent.” So the receiver simply buffers for 60s. How this is supposed to be robust in the face of transient infrastructure failures and failover events I’m not sure. So Q1 and Q3 still stand. And I add Q4: Even if all predecessors of a message are there are waiting 60s, how is the order of the predecessors reconstructed? Could there be a business impact if this is inferred incorrectly? {{{ Andy