Synchronization of multidimensional data in a multimaster synchronization environment with prediction
AssigneeMicrosoft Corporation
InventorMoe Khosravy
Life of this patent
Estimating the term…
Abstract
Various embodiments are provided for synchronizing with multidimensional data in a knowledge based synchronization framework for a multi-master synchronization environment. Prediction can be employed to transmit the next versions of a sequence of subsets of multidimensional data to consuming clients in an intuitive manner for a given application. For example, applications that render 2-D images on the client of multidimensional objects (e.g., 3-D graphical objects) stored on a server are achieved through synchronizing versions of the 2-D images to the client including predictively pre-computing and/or providing versions of the 2-D images to the client as synchronization updates.
Claims21
A method for synchronizing versions of data derived from multidimensional data of a server node to a node of a plurality of nodes via one or more networks in a multi-master synchronization environment, comprising:
- receiving a request, from the node, for at least one version of data derived from the multidimensional data via a multimaster synchronization protocol including receiving synchronization knowledge from the node including synchronization metadata representing corresponding versions for the data derived from the multidimensional data represented on the node, wherein representation of the synchronization knowledge is independent of data type;
- comparing the synchronization knowledge from the node with synchronization knowledge of the server node including synchronization metadata representing corresponding versions for the data represented on the server node;
- based on the comparing, transmitting synchronization updates to the node corresponding to the at least one version of the data requested by the node to model a delivery of N-dimensional data as Y-dimensional data;
- predictively determining at least one next version corresponding to the synchronization updates that is likely to be requested by the node after requesting the at least one version of the data requested by the node;
- and
- based on the predictively determining, performing a transform of the at least one version of the data corresponding to the synchronization updates requested by the node from an N-dimensional representation to a Y-dimensional representation, wherein N is an integer different than Y.
A node device of a plurality of nodes connectable via one or more networks that synchronizes a set of Y-dimensional objects between the node and another node of the plurality of nodes in a multi-master synchronization environment, the node device including at least one processor coupled to a machine-readable non-transitory storage medium, wherein the set of Y-dimensional objects are each a version computed from multidimensional data, comprising:
- a synchronization component configured to, in response to an application or service initiating at least one request for a set of Y-dimensional objects from the other node, to model a delivery of N-dimensional data as Y-dimensional data, N being a different integer than Y, where the set of Y-dimensional objects are derived from N-dimensional data on the other node, synchronize between the node and the other node of the plurality of nodes with respect to the Y-dimensional objects requested by the application or service, the synchronization component including:
- a synchronization communications component configured to initiate synchronization with the other node via a multimaster synchronization protocol that defines, independent of data type, metadata structure for a knowledge exchange between the other node and the node regarding the set of Y-dimensional objects, to transmit to the other node a request to synchronize with at least one of the requested Y-dimensional objects based on the synchronization protocol, and to receive external knowledge of the set of Y-dimensional objects from the other node in response including other node object versioning information corresponding to the set of Y-dimensional objects represented on the other node, wherein the requested Y-dimensional objects are generated by the other node from the N-dimensional data where the other node has no prior knowledge of the requested Y-dimensional objects;
- and
- a synchronization analysis component configured to update local knowledge of the set of Y-dimensional objects represented on the node and corresponding node object versioning information by comparing the external knowledge of the set of Y-dimensional objects including the corresponding other node object versioning information and corresponding node object versioning information to determine what changes should be reflected by updated local knowledge of the set of Y-dimensional objects and corresponding node object first versioning information;
- and
- wherein the node device is configured to receive a next likely Y-dimensional object of the set of Y-dimensional objects based on an analysis from a synchronization prediction component of previous successive at least two requests for Y-dimensional objects made by the application or service, whereby the next likely Y-dimensional object is predictively pre-computed by the other node based on the analysis of the previous successive at least two requests.
A method for synchronizing related subsets of multidimensional data from a server node to a node via one or more networks in a multi-master synchronization environment, comprising:
- requesting, by the node, at least one subset of the related subsets of the multidimensional data from the server node using a multimaster synchronization protocol including exchanging synchronization knowledge between the node and the server node of the subsets of the related subsets of multidimensional data represented on both nodes,
- wherein synchronization knowledge of the node and the server node includes synchronization metadata representing corresponding versions for the at least one subset of the related subsets of multidimensional data represented on the node and server node, respectively, and wherein representation of the synchronization knowledge is independent of multidimensional data type;
- based on the exchanging of synchronization knowledge, receiving, by the node synchronization changes corresponding to at least one version of the at least one subset of the related subsets of multidimensional data requested by the node, the synchronization changes corresponding to a transform from an N-dimensional form to a Y-dimensional form, N being a different integer than Y;
- requesting a next subset of the related subsets by the node;
- receiving the next subset as synchronization changes corresponding to at least one version of the at least one subset of the related subsets of multidimensional data;
- and
- receiving a predicted subset of the related subsets by the node where the predicted subset is predicted by the server node as likely to be the subset after the requested next subset based on at least one criterion.
Dependencies are inferred from the claim text.