US 12,231,522 B2
Network protocol for view replication over unreliable networks
Matthew John Reveley Lewis, London (GB)
Assigned to Improbable Worlds Limited, London (GB)
Filed by Improbable Worlds Limited, London (GB)
Filed on Sep. 11, 2023, as Appl. No. 18/244,404.
Application 18/244,404 is a continuation of application No. 17/090,965, filed on Nov. 6, 2020, granted, now 11,792,306.
Prior Publication US 2023/0421669 A1, Dec. 28, 2023
Int. Cl. H04L 69/16 (2022.01); H04L 47/193 (2022.01)
CPC H04L 69/16 (2013.01) [H04L 47/193 (2013.01)] 20 Claims
OG exemplary drawing
 
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.