Patent ID: 8046780

Claim:
A method of handling out of order messages in an asset management system, the method comprising: receiving messages from a queue, each message associated with a tracking device coupled with an asset tracked by the asset management system; determining from the queue a first message associated with a first asset tracked by the asset management system, the first message including a pre-state of the first tracking device; retrieving a last stored state of the first tracking device; determining whether the pre-state of the first tracking device matches the last stored state of the first tracking device; responsive to a determination that the pre-state and last stored state match, processing the first message; determining whether processing the first message associated with the first tracking device changes the last stored state of the first device; responsive to a change in the last stored state caused by processing of the first message, evaluating a second message in the queue to determine whether the second message is suitable for processing, wherein the second message is associated with a predicate and evaluating the second message comprises evaluating the associated predicate to determine whether the second message is suitable for processing; and responsive to a determination that the pre-state and last stored state do not match, returning the first message to the queue.