Method and system for serialization of hierarchically defined objects
AssigneeValve Corporation
InventorMike Dussault
Life of this patent
Estimating the term…
Abstract
A method and system are directed to serialization of hierarchically defined objects for communication over a network. A change associated with an object, a field within the object, and the like, may be flagged. Such flagged changes between one game frame and another frame may be included into a frame delta of changes. The frame delta data may include an object identifier, field identifier, and a value associated with the change. The frame delta data may be serialized and sent across a network, employing any of a variety of network protocols.
Claims21
A method of managing an update over a network, comprising:
- searching a current frame snapshot of a current state of a plurality of objects for at least one change flag in the current frame snapshot, wherein the at least one change flag within the current frame snapshot identifies which object in the plurality of objects in the current frame snapshot is changed between a previous frame snapshot and the current frame snapshot such that a presence of the at least one change flag in the current frame snapshot indicates the object in the current frame snapshot is changed;
- searching a last frame snapshot associated with a client device for at least another change flag in the last frame snapshot, wherein the at least another change flag within the last frame snapshot identifies that the object has another change between the last frame snapshot and another previous frame snapshot associated with the client device such that a presence of the at least another change flag in the last frame snapshot indicates that the object has another change;
- employing the change flag and the other change flag to identify the changed object such that the identified changes are extracted to generate a delta of changes of the object based on:
- when the change flag or the other change flag indicates an object-level change, extracting data for each non-excluded field for the object, and
- when the change flag or the other change flag indicates a field-level change, and when a field indicated by the change flag or the other change flag is a non-excluded field, extracting data for the non-excluded field;
- and
- creating a frame delta having at least the delta of changes identified using at least the change flag and the other change flag;
- and
- sending the frame delta to the client device over the network.
A network device for managing a change over a network, comprising:
- a transceiver for receiving data from a client and for sending the change to the client;
- and
- a serialization manager that is configured to perform actions, including:
- searching a frame data snapshot to locate at least one change flag within the frame data snapshot indicating a change to an object in the frame data snapshot, wherein a presence of the at least one change flag in the frame data snapshot indicates the object in the frame data snapshot is changed;
- determining another frame data snapshot associated with the client;
- employing the located change of the object to generate a frame delta of changes of the object between the frame data snapshot and the other frame data snapshot based on:
- when the change flag indicates an object-level change, extracting data for each non-excluded field for the object, and
- when the change flag indicates a field-level change, and when a field indicated by the change flag is a non-excluded field, extracting data for the non-excluded field;
- and
- serializing the frame delta;
- and
- providing the serialized frame delta to the client over the network.
A non-transitory, processor readable storage medium that includes data and instructions, wherein the execution of the instructions on a computing device provides for managing an update of an object, performing actions comprising:
- searching for a change flag in a frame data snapshot to locate a change for the object in the frame data snapshot between a first frame and a second frame, wherein a presence of the change flag in the frame data snapshot indicates that the object in the frame data snapshot is changed, and wherein the change flag is not part of the changed object, the change for the object being determined by:
- when the change flag indicates an object-level change, extracting data for each non-excluded field for the object, and
- when the change flag indicates a field-level change, and when a field indicated by the change flag is a non-excluded field, extracting data for the non-excluded field;
- and
- sending the change and information associated with the object to a frame delta;
- serializing the frame delta;
- and
- sending the serialized frame delta over the network.
Dependencies are inferred from the claim text.