Simultaneous transfer of database updates between multiple clients and a server
First Claim
1. At a server that is network connectable to a plurality of clients having limited system resources, a method for the server to simultaneously exchange data with at least two clients such that the clients can access and transfer data updates in a resource efficient manner, the method comprising:
- an act of establishing a first connection to a first PDA;
an act of accessing a first data subset in a server database, the first data subset corresponding to the first PDA;
an act of initiating transfer of the first data subset to the first PDA over the first connection, the first data subset for updating a first client database at the first PDA;
an act of establishing a second connection to a second PDA, prior to the first connection being terminated;
an act of accessing a second data subset in the server database, the second data subset corresponding to the second PDA;
an act of initiating transfer of the second data subset to the second PDA over the second connection, the second data subset for updating a second client database at the second PDA; and
an act of transferring at least a portion of the first data subset and at least a portion of the second data subset essentially simultaneously.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to simultaneous transfer of database updates between multiple clients and a server. A plurality of (potentially limited resource) clients simultaneously establishes (e.g., TCP) connections to a server. Database updates are efficiently transferred between the server and each of the plurality of clients simultaneously. Server resources are utilized at the server to resolve any data conflicts such that the limited resources (e.g., system memory) of any clients are conserved. Clients that receive database updates overwrite existing client database with the received database updates. In preparation for receiving a database update, clients can empty a client database such that a received database update is more efficiently written into the client database.
-
Citations
41 Claims
-
1. At a server that is network connectable to a plurality of clients having limited system resources, a method for the server to simultaneously exchange data with at least two clients such that the clients can access and transfer data updates in a resource efficient manner, the method comprising:
-
an act of establishing a first connection to a first PDA;
an act of accessing a first data subset in a server database, the first data subset corresponding to the first PDA;
an act of initiating transfer of the first data subset to the first PDA over the first connection, the first data subset for updating a first client database at the first PDA;
an act of establishing a second connection to a second PDA, prior to the first connection being terminated;
an act of accessing a second data subset in the server database, the second data subset corresponding to the second PDA;
an act of initiating transfer of the second data subset to the second PDA over the second connection, the second data subset for updating a second client database at the second PDA; and
an act of transferring at least a portion of the first data subset and at least a portion of the second data subset essentially simultaneously. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. At a client having limited system resources, the client being network connectable to a network along with one or more other clients and a server, a method for efficiently updating a client database at the client such that some of the client'"'"'s system memory is conserved, the method comprising:
-
an act of establishing a connection to the server;
an act of requesting a client database update from the server;
an act of receiving a current data subset for the client from the server, the current data subset being a subset of data contained in a server database at the server, the current data subset containing one or more current data values from the server database and being formatted for use at the client; and
an act of automatically replacing the client database with the current data subset, in response to receiving the current data subset. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. At a client having limited system resources, the client being network connectable to a network along with one or more other clients and a server, a method for efficiently updating a client database at the client such that some of the client'"'"'s system memory is conserved, the method comprising:
-
an act of receiving a client database update;
an act of sending the client database update to the server;
an act of emptying the client database subsequent to sending the client database update in preparation for receiving updated client data;
an act of receiving an updated client data subset from the server;
an act of storing the updated client data subset in the client database. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A computer program product for use at a server that is network connectable to a plurality of clients having limited system resources, the computer program product for implementing a method for the server to simultaneously exchange data with at least two clients such that the clients can access and transfer data updates in a resource efficient manner, the computer program product comprising one or more computer-readable media having stored thereon computer-executable instructions that, when executed by a processor, cause the server to perform the following:
-
establish a first connection to a first client;
access a first data subset in a server database, the first data subset corresponding to the first client;
initiate transfer of the first data subset to the first client over the first connection, the first data subset for updating a first client database at the first client;
establish a second connection to a second client, prior to the first connection being terminated;
access a second data subset in the server database, the second data subset corresponding to the second client;
initiate transfer of the second data subset to the second client over the second connection, the second data subset for updating a second client database at the second client; and
transfer at least a portion of the first data subset and at least a portion of the second data subset essentially simultaneously. - View Dependent Claims (31, 32, 33)
-
-
34. A computer program, product for use at a client having limited system resources, the client being network connectable to a network along with one or more other clients and a server, the computer program product for implementing a method for efficiently updating a client database at the client such that some of client'"'"'s system memory is conserved, the computer program product comprising one or more computer-readable media having stored thereon computer-executable instructions that, when executed by a processor, cause the client to perform the following establish a connection to the server;
-
request a client database update from the server;
receive a current data subset for the client from the server, the current data subset being a subset of data contained in a server database at the server, the current data subset containing one or more current data values from the server database and being formatted for use at the client; and
replace the client database with the current data subset, in response to receiving the current data subset. - View Dependent Claims (35, 36)
-
-
37. A computer program, product for use at a client having limited system resources, the client being network connectable to a network along with one or more other clients and a server, the computer program product for implementing a method for efficiently updating a client database at the client such that some of the client'"'"'s system memory is conserved, the computer program product comprising one or more computer-readable media having stored thereon computer-executable instructions that, when executed by a processor, cause the client to perform the following receive a client database update;
-
send the client database update to the server;
empty the client database subsequent to sending the client database update in preparation for receiving updated client data;
receive an updated client data subset from the server;
store the updated client data subset in the client database. - View Dependent Claims (38, 39, 40, 41)
-
Specification