| CPC H04L 69/16 (2013.01) [H04L 47/193 (2013.01)] | 20 Claims | 

| 
               1. A method for tracking state updates, comprising: 
            identifying, by a sending device, a currently agreed state between the sending device and a second device; 
                determining a first list of unacknowledged changes to the currently agreed state, wherein each unacknowledged change represents a change to the currently agreed state that has not been acknowledged by the second device; 
                generating a first delta message comprising an identifier of the currently agreed state, a first message ID, and the first list of unacknowledged changes to the currently agreed state; 
                checking for receipt of one or more acknowledgement messages from the second device, wherein one of the one or more acknowledgement messages identifies a message ID for one of previously sent delta messages and a source version number identifying a new currently agreed state, wherein the new currently agreed state is based on applying a first set of the list of changes in the delta message having the identified message ID to the currently agreed state; 
                based on a determination that a second set of the list of changes in the delta message have not been applied to the currently agreed state, generating a second delta message comprising an identifier of the new currently agreed state, a second message ID, the source version number, and a second list of unacknowledged changes to the new currently agreed state, wherein the second list of unacknowledged changes comprises a new set of changes not included in the first delta message and excludes the first set of the list of changes; 
                marking as acknowledged the first set of the list of changes included in the first delta message identified by the one of the one or more acknowledgement messages; and 
                repeating the identifying, determining, generating, checking, generating, and marking steps in ongoing predetermined intervals to maintain state consistency between the sending device and the second device. 
               |