Communication and synchronization in a networked timekeeping environment
First Claim
1. A method of synchronizing a local database with a global database in a networked time-keeping environment, the networked time-keeping environment including a server with a computer readable memory that stores the global database and a plurality of client time-keeping terminals each including a computer readable memory storing a local database, wherein the global database and each local database includes a plurality of previously stored data elements and a timestamp corresponding to each previously stored data element, the method comprising:
- creating a new data element at a client terminal in response to a time-keeping event at the client terminal, wherein the new data element includes an edited attribute of a previously stored data element and a unique object identifier associated with the previously stored data element;
adding the new data element to the local database of the client terminal;
initiating a connection to the server from the client terminal;
sending the new data element from the client terminal to the server;
sending a previous timestamp associated with the previously stored data element from the client terminal to the server, wherein the previous timestamp was previously received from the server and indicates when the previously stored data element was added to the global database of the server;
if the unique object identifier assigned to the new data element is already stored in the global database,comparing the previous timestamp to a timestamp stored in the global database for the previously stored data element, and if the timestamps match,changing the previously stored data element in the global database to include the edited attribute,generating a new timestamp,storing the new timestamp in the global database, andsending a copy of the new timestamp to the client terminal;
receiving a timestamp for the new data element from the server indicating when the new data element was added to a global database of the server; and
storing the timestamp for the new data element to the local database of the client terminal.
1 Assignment
0 Petitions
Accused Products
Abstract
An optimized time and attendance system and methods. In some embodiments, a networked time and attendance system includes a network services server with a global database and a client device terminal with a local database. The device terminal is configured to create new time keeping records on the local database using information stored in the local database. The device terminal is further configured to initiate a connection to the host server and synchronize the local database with the global database. In some embodiments, the client terminal is configured to continue creating additional new time keeping records in the local database even when a connection to the host server is unavailable. In some embodiments, the client terminal includes a user interface, a local database, a first processor configured to control all system functions except for biometric data processing, and a second processor configured to capture and process biometric data.
22 Citations
19 Claims
-
1. A method of synchronizing a local database with a global database in a networked time-keeping environment, the networked time-keeping environment including a server with a computer readable memory that stores the global database and a plurality of client time-keeping terminals each including a computer readable memory storing a local database, wherein the global database and each local database includes a plurality of previously stored data elements and a timestamp corresponding to each previously stored data element, the method comprising:
-
creating a new data element at a client terminal in response to a time-keeping event at the client terminal, wherein the new data element includes an edited attribute of a previously stored data element and a unique object identifier associated with the previously stored data element; adding the new data element to the local database of the client terminal; initiating a connection to the server from the client terminal; sending the new data element from the client terminal to the server; sending a previous timestamp associated with the previously stored data element from the client terminal to the server, wherein the previous timestamp was previously received from the server and indicates when the previously stored data element was added to the global database of the server; if the unique object identifier assigned to the new data element is already stored in the global database, comparing the previous timestamp to a timestamp stored in the global database for the previously stored data element, and if the timestamps match, changing the previously stored data element in the global database to include the edited attribute, generating a new timestamp, storing the new timestamp in the global database, and sending a copy of the new timestamp to the client terminal; receiving a timestamp for the new data element from the server indicating when the new data element was added to a global database of the server; and storing the timestamp for the new data element to the local database of the client terminal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of synchronizing a global database with a plurality of local databases in a networked time-keeping environment, the networked time-keeping environment including a. server with a computer readable memory that stores the global database and a. plurality of client terminals each including a computer readable memory storing a local database, wherein the global database and each local database includes a plurality of previously stored data elements and a timestamp corresponding to each previously stored data element, the method comprising:
-
receiving a first data element from a first client terminal, the first data element including a timestamp and a first unique object identifier; determining whether a data element in the global database includes the first unique object identifier; when a data element in the global database includes the first unique object identifier, comparing the timestamp of the first data element to a timestamp of the data element in the global database; when the data element in the global database includes the first unique object identifier and the timestamp of the data element in the global database matches the timestamp of the first data element, replacing the data element in the global database with the first data element; when the data element in the global database includes the first unique object identifier and the time stamps of the data element in the global database matches the timestamp of the first data element, assigning a new timestamp to the first data element stored in the global database, the new timestamp indicating the time that the first data element was added to the global database; and when the data element in the global database includes the first unique object identifier and the timestamp of the data element in the global database does not match the timestamp of the first data element, sending an exception message from the server to the client terminal indicating that the first data element is an edited version of an obsolete data element. - View Dependent Claims (16, 17)
-
-
18. A method of synchronizing a global database with a local database in a networked time-keeping environment, the networked time-keeping environment including a server storing the global database, a first client terminal storing a first local database, and a second client terminal storing a second local database, wherein the global database, the first local database, and the second local database each include a plurality of previously stored data elements, and wherein a timestamp is assigned to each of the previously stored data element, the method comprising:
-
receiving, by the first client terminal, a first change to a data element at a first time; storing the first change to the data element in the first database; receiving, by the second client terminal, a second change to the same data element at a second time, wherein the second time is after the first time; storing the second change to the data element in the second database; performing a synchronization between the second client terminal and the server at a third time, wherein the third time is after the first time and after the second time and wherein the synchronization between the second client terminal and the server includes transmitting the data element including the second change stored in the second local database from the second client terminal to the server, comparing the timestamp of the data element including the second change from the second client terminal to the data element stored in the global database on the server, determining that the timestamps match, replacing the data element stored in the global database with the data element including the second change, and assigning a new timestamp to the data element including the second change stored in the global database; and performing a synchronization between the first client terminal and the server at a fourth time, wherein the fourth time is after the first time, after the second time, and after the third time, and wherein the synchronization between the first client terminal and the server includes transmitting the data element including the first change stored in the first local database from the first client terminal to the server, comparing the timestamp of the data element including the first change from the first client terminal to the data element including the second change stored in the global database, determining that the timestamps do not match, and sending an exception message from the server to the first client, wherein the data element including the first change is not added to the global database when the timestamps do not match. - View Dependent Claims (19)
-
Specification