IP Library Patent Application 11289867
Patent Application
App. No. 11/289,867

Query based synchronization

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/289,867
Abstract

A method, system and user interface are disclosed for a query based system to synchronize an offline application with an online application. The queries may be user definable to identify only the limited data that the offline user desires to be updated and data satisfying the queries may be stored in a synchronization file on the online application. Once a synchronization file has been successfully communicated to the offline device, the synchronization file and a status file of the offline application on the online system may be updated to reflect the successful update.

Claims (38)

1 . A method of defining data that is synchronized between an online device and an offline device comprising:

creating a query to select a subset of data from a data source;

storing the subset of data in a memory;

communicating the subset of data to the offline device; and

updating on the online device an offline device status file wherein the offline device status file stores the update status of the offline device.

2 . The method of claim 1 , further comprising selecting a query from a plurality of predefined queries.

3 . The method of claim 1 , further comprising using the queries to collect data that is present on the online device and that not present on the offline device.

4 . The method of claim 1 , further comprising using the queries to compare the data on the online device to the data in the offline device status file and updating the offline device with the data that is new on the online device and not indicated as being present on the offline device by the offline device status file.

5 . The method of claim 1 , wherein the data is customer relationship management data.

6 . The method of claim 1 , further comprising translating the queries into fetch statements that are executed against a CRM database.

7 . The method of claim 1 , further comprising storing the selected subset of data in a synchronization file.

8 . The method of claim 7 , further comprising communicating the synchronization file to the offline device immediately when updated data is added to the synchronization file.

9 . The method of claim 7 , further comprising breaking the synchronization file into packages of a size that are user modifiable.

10 . The method of claim 7 , further comprising breaking the synchronization file into packages of a size that is appropriate in view of the communication channel used.

11 . The method of claim 7 , further comprising updating the synchronization file to indicate that data delivered to the offline device is no longer new data for the offline device when the synchronization file has been successfully communicated to the offline device.

12 . The method of claim 1 , further comprising allowing different queries to be created for different entities.

13 . The method of claim 1 , wherein the offline status file is a database table.

14 . The method of claim 13 , wherein creating the offline status file comprises merging deleted records, merging updated records and merging inserted records in the database table.

15 . The method of claim 1 , further comprising allowing the creation of individual queries for specific users.

16 . A computer readable medium adapted to store computer executable code to create queries to identify data to be synchronized between an online device and an offline device wherein the computer executable code comprises computer code to:

create a query to select a subset of data from a data source wherein the query compares the data on the online device to the data in an offline device status file wherein the offline device status file stores the update status of the offline device;

store the subset of data in a synchronization file;

communicate the synchronization file to the offline device thereby updating the offline device with the data that is not present in the offline device as indicated by the offline device status file; and

update on the online device the offline device status file.

17 . The computer readable medium of claim 16 , further comprising computer code to update the synchronization file to indicate that the data in the synchronization file was delivered to the offline device when the synchronization file has been successfully communicated to the offline device.

18 . The computer readable medium of claim 16 , further comprising computer code to break the synchronization file into packages of a size that are appropriate in view of the communication channel used.

19 . A computing apparatus, comprising:

a display unit that is capable of generating video images;

an input device;

a processing apparatus operatively coupled to said display unit and said input device, said processing apparatus comprising a processor and a memory operatively coupled to said processor,

a network interface connected to a network and to the processing apparatus;

said processing apparatus being programmed to:

create a query to select a subset of data from a data source wherein the query compares the data on the online device to the data in an offline device status file wherein the offline device status file stores the update status of the offline device;

store the subset of data in a synchronization file;

communicate the synchronization file to the offline device thereby updating the offline device with the data that is indicated as not being present on the offline device by the offline device status file;

update on the online device the offline device status file; and

update the synchronization file to indicate that the selected data has been delivered to the offline device when the synchronization file has been successfully communicated to the offline device.

20 . The computing apparatus of claim 19 , further comprising updating the synchronization file to break the synchronization file into packages of a size that are appropriate in view of the communication channel used.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2006
From: GREWAL, JASJIT SINGH; ZAYTSEV, ANDREY A.; SMITH, ILANA RAE; SMERTIN, ANDRIY; PRASAD, RAMAPRASAD HARI; JOHANSEN, JACOB
To: MICROSOFT CORPORATION
Reel/Frame 017510/0796 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2006
From: GREWAL, JASJIT SINGH; ZAYTSEV, ANDREY A.; SMITH, ILANA RAE; SMERTIN, ANDRIY; PRASAD, RAMAPRASAD HARI; JOHANSEN, JACOB
To: MICROSOFT CORPORATION
Reel/Frame 017009/0139 →