Data sync engine, method and software
First Claim
Patent Images
1. A method for synchronizing data between a core computer system and a user device comprising the steps of:
- maintaining, for each of a plurality of users, lists of user devices enabled for communicating with a core computer system, the core computer system storing a database of user data for the plurality of users;
establishing data communications between the core computer system and a plurality of user devices from one of the lists of user devices, the user devices associated with one user of the plurality of users;
sending user data for the one user from the core computer system to the associated user devices;
on the core computer system, maintaining lists of data changes, for the one user, made to the database of user data which have not yet been made for the associated user devices, each list of data changes associated with one of the user devices associated with the user;
ordering the data changes to maintain relationships with the user data, the relationships comprising a relationship between a transaction and a transaction category so that a transaction is tied to an appropriate category, wherein a new transaction category is established when necessary to support a transaction;
prefiltering the data changes for the one of the associated user devices such that only desired types of data changes are used to update the user data on the one of the associated user devices, the data changes comprising created records, updated records, and deleted records;
when one of the associated user devices is in data communication with the core computer system;
using push notifications to force real-time individual changes of the user data on the one of the associated user devices using lists of data changes associated with the one of the associated user devices in response to the one of the associated user devices having connected to the core computer system within a predetermined period of time;
otherwise, forcing the one of the associated user devices to download a complete set of the user data from the core computer system in response to the one of the associated user devices not having connected to the core computer system within the predetermined period of time;
deleting a list of the data changes for the one of the associated user devices in response to receiving a sync token that indicates that the desired data changes have been made successfully; and
generating and storing within the core computer system different records of the last changes made to update user data on each of the associated user devices for the one user.
3 Assignments
0 Petitions
Accused Products
Abstract
A data sync engine, a related method and software achieve keeping the data set of a core computer system and a mobile device in sync so that a user may perform operations using several different devices connectable to the core computer system.
11 Citations
15 Claims
-
1. A method for synchronizing data between a core computer system and a user device comprising the steps of:
-
maintaining, for each of a plurality of users, lists of user devices enabled for communicating with a core computer system, the core computer system storing a database of user data for the plurality of users; establishing data communications between the core computer system and a plurality of user devices from one of the lists of user devices, the user devices associated with one user of the plurality of users; sending user data for the one user from the core computer system to the associated user devices; on the core computer system, maintaining lists of data changes, for the one user, made to the database of user data which have not yet been made for the associated user devices, each list of data changes associated with one of the user devices associated with the user; ordering the data changes to maintain relationships with the user data, the relationships comprising a relationship between a transaction and a transaction category so that a transaction is tied to an appropriate category, wherein a new transaction category is established when necessary to support a transaction; prefiltering the data changes for the one of the associated user devices such that only desired types of data changes are used to update the user data on the one of the associated user devices, the data changes comprising created records, updated records, and deleted records; when one of the associated user devices is in data communication with the core computer system; using push notifications to force real-time individual changes of the user data on the one of the associated user devices using lists of data changes associated with the one of the associated user devices in response to the one of the associated user devices having connected to the core computer system within a predetermined period of time; otherwise, forcing the one of the associated user devices to download a complete set of the user data from the core computer system in response to the one of the associated user devices not having connected to the core computer system within the predetermined period of time; deleting a list of the data changes for the one of the associated user devices in response to receiving a sync token that indicates that the desired data changes have been made successfully; and generating and storing within the core computer system different records of the last changes made to update user data on each of the associated user devices for the one user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for synchronizing data between a core computer system and a mobile device, wherein, using a processor, the core computer system is configured to:
-
maintain, for each of a plurality of users, lists of user devices enabled for communicating with the core computer system, the core computer system storing a database of user data for the plurality of users; establish data communications between then core computer system and a plurality of user devices from one of the lists of user devices, the user devices associated with one user of the plurality of users; send user data for the one user from the core computer system to the associated user devices; maintain lists of data changes, for the one user, made to the database of user data which have not yet been made for the associated user devices, each list of data changes associated with one of the user devices associated with the user; order the data changes to maintain relationships with the user data, the relationships comprising a relationship between a transaction and a transaction category so that a transaction is tied to an appropriate category, wherein a new transaction category is established when necessary to support a transaction; prefilter the data changes for the one of the associated user devices such that only desired types of data changes are used to update the user data on the one of the associated user devices, the data changes comprising created records, updated records, and deleted records; when one of the associated user devices is in data communication with the core computing system; use push notifications to force real-time individual changes of the user data on the one of the associated user devices using lists of data changes associated with the one of the associated user devices in response to the one of the associated user devices having connected to the core computer system within a predetermined period of time; otherwise, force the one of the associated user devices to download a complete set of the user data from the core computer system in response to the one of the associated user devices not having connected to the core computer system within the predetermined period of time; delete a list of the data changes for the one of the associated user devices in response to receiving a sync token that indicates that the desired data changes have been made successfully; and generate and store within the core computing system different records of the last changes made to update user data on each of the associated user devices for the one user. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage media storing instructions that, when executed by one or more processors, cause the processors to:
-
maintain, for each of a plurality of users, lists of user devices enabled for communicating with the core computer system, the core computer system storing a database of user data for the plurality of users; establish data communications between then core computer system and a plurality of user devices from one of the lists of user devices, the user devices associated with one user of the plurality of users; send user data for the one user from the core computer system to the associated user devices; maintain lists of data changes, for the one user, made to the database of user data on said the mobile device which have not yet been made for the associated user devices, each list of data changes associated with one of the user devices associated with the user; order the data changes to maintain relationships with the user data, the relationships comprising a relationship between a transaction and a transaction category so that a transaction is tied to an appropriate category, wherein a new transaction category is established when necessary to support a transaction; prefilter the data changes for the one of the associated user devices such that only desired types of data changes are used to update the user data on the one of the associated user devices, the data changes comprising created records, updated records, and deleted records; when one of the associated user devices is in data communication with the core computing system; use push notifications to force real-time individual changes of the user data on the one of the associated user devices using lists of data changes associated with the one of the associated user devices in response to the one of the associated user devices having connected to the core computer system within a predetermined period of time; otherwise, force the one of the associated user devices to download a complete set of the user data from the core computer system in response to the one of the associated user devices not having connected to the core computer system within the predetermined period of time; delete a list of the data changes for the one of the associated user devices in response to receiving a sync token that indicates that the desired data changes have been made successfully; and generate and store within the core computing system different records of the last changes made to update user data on each of the associated user devices for the one user.
-
Specification