IP Library Granted Patent US 8,909,712
Granted Patent B2
US 8,909,712 · App. 10/720,669 · Granted Dec 9, 2014

System and method for a generic mobile synchronization framework

View Patent ↗
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 8,909,712
App. No.
10/720,669
Granted
Dec 9, 2014
Kind
B2
Abstract

A generic mobile synchronization framework facilitates synchronization of data objects between platforms by comparing these data objects from one platform with a replica of data objects on the other platform. Generic messages identifying the differences in the data objects are converted into an adapted message suitable for use by the underlying synchronization hardware and sent to the platform needing synchronization. That platform converts adapted message to the corresponding original generic messages, and executes them, synchronizing the data objects in that platform with the originating platform.

Claims (43)

1. A system for synchronizing data objects for a user between a primary platform and a plurality of auxiliary platforms comprising:

a memory; and

processing means, coupled to the memory, to execute at least one computer program for:

creating, by a primary platform synchronization framework, a set of generic messages identifying changes to the data objects on the primary platform since a previous synchronization, the generic message not being dependent on a specific platform;

accessing a database to obtain a user identifier, the user identifier being associated with the user and linking to two or more device identifiers, the device identifiers identifying the plurality of auxiliary platforms;

converting, by a primary platform synchronization adapter, the generic messages to adapted messages corresponding to each of the auxiliary platforms based on the obtained user identifier and the linked device identifiers, the adapted messages being in adapted message formats used by underlying synchronization software;

sending the adapted messages from the primary platform to auxiliary platform synchronization adapters in the corresponding auxiliary platforms;

converting, by the corresponding auxiliary platform synchronization adapters, the adapted messages to generic messages on each of the auxiliary platforms; and

executing, by an auxiliary synchronization framework on each corresponding auxiliary platform, add, modify, and/or delete functions in the generic messages to synchronize the data objects used by a corresponding auxiliary platform application.

2. A computer-implemented method for synchronizing data objects for a user between a primary platform and a plurality of auxiliary platforms comprising

accessing a synchronization store database to obtain data characterizing changes to the data objects on the primary platform since a previous synchronization;

creating a set of generic messages identifying changes to the data objects on the primary platform since the previous synchronization based on the data obtained from the synchronization store database, the generic messages being platform independent;

accessing a synchronization database, the database comprising a first table with entries linking a user identifier for the user with two or more device identifiers stored in the database, the device identifiers identifying the plurality of auxiliary platforms, the adapted messages being in a form compatible with underlying synchronization software executing on the corresponding auxiliary platform;

converting the generic messages to adapted messages corresponding to each of the auxiliary platforms based on the linked device identifiers;

sending the adapted messages from the primary platform to the corresponding auxiliary platforms;

converting the adapted messages to generic messages on each of the auxiliary platforms; and

executing the generic messages on the corresponding auxiliary platform to update the data objects on the corresponding auxiliary platform.

3. A method as in claim 2 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the method further comprising:

determining that an error is generated with respect to one or more data objects in a group associated with the transaction; and

canceling all data objects synchronizations relating to the transaction.

4. A method as in claim 2 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the method further comprising:

determining that an error is generated with respect to one or more data objects in a group associated with the transaction; and

rolling back all data objects synchronizations relating to the transaction.

5. A system as in claim 1 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the at least one computer program further:

determines that an error is generated with respect to one or more data objects in a group associated with the transaction; and

cancels all data objects synchronizations relating to the transaction.

6. A system as in claim 1 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the at least one computer program product further:

determines that an error is generated with respect to one or more data objects in a group associated with the transaction; and

rolls back all data objects synchronizations relating to the transaction.

7. A non-transitory computer program product for synchronizing data objects for a user between a primary platform and a plurality of auxiliary platforms, the computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing system, result in operations comprising

accessing a synchronization store database to obtain data characterizing changes to the data objects on the primary platform since a previous synchronization;

creating a set of generic messages identifying changes to the data objects on the primary platform since the previous synchronization based on the data obtained from the synchronization store database, the generic messages being platform independent;

accessing a synchronization database, the database comprising a first table with entries linking a user identifier for the user with two or more device identifiers stored in the database, the device identifiers identifying the plurality of auxiliary platforms, the adapted messages being in a form compatible with underlying synchronization software executing on the corresponding auxiliary platform;

converting the generic messages to adapted messages corresponding to each of the auxiliary platforms based on the linked device identifiers;

sending the adapted messages from the primary platform to the corresponding auxiliary platforms;

converting the adapted messages to generic messages on each of the auxiliary platforms; and

executing the generic messages on the corresponding auxiliary platform to update the data objects on the corresponding auxiliary platform.

8. A computer program product as in claim 7 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the operations further comprising:

determining that an error is generated with respect to one or more data objects in a group associated with the transaction; and

canceling all data objects synchronizations relating to the transaction.

9. A computer program product as in claim 7 , wherein all data objects supporting a particular transaction are grouped together in the synchronization store database, the operations further comprising:

determining that an error is generated with respect to one or more data objects in a group associated with the transaction; and

rolling back all data objects synchronizations relating to the transaction.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
CHANGE OF NAME Recorded Dec 20, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017377/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2004
From: SINGH, UMA KANT; NARAYANAN, AJIT KUMAR
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015285/0332 →