IP Library Granted Patent US 9,754,000
Granted Patent B2
US 9,754,000 · App. 13/724,565 · Granted Sep 5, 2017

Integration scenario for master data with software-as-a-service system

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 9,754,000
App. No.
13/724,565
Granted
Sep 5, 2017
Kind
B2
Abstract

According to one general aspect, a method may include replicating, to a software-as-a-service application, a plurality of pieces of master data from a physically remote master database. The method may also include converting the plurality of pieces of master data into one or more pieces of local data of the software-as-a-service application. The method may include changing one or more of either the pieces of master data or the pieces of local data. The method may further include synchronizing the changed pieces of either master data or local data between the remote master database and the software-as-a-service application.

Claims (80)

1. A method comprising:

receiving, by a software-as-a-service apparatus, a plurality of pieces of master data from a physically remote master database, the software-as-a-service apparatus being communicatively coupled between the physically remote master database and a plurality of remote client devices;

replicating, to a software-as-a-service application operating on the software-as-a-service apparatus, the plurality of pieces of master data;

converting the plurality of pieces of master data into one or more pieces of local data of the software-as-a-service application;

determining whether one or more of the pieces of local data has changed through operation of the software-as-a-service application by a first of the plurality of remote client devices;

upon determining one or more of the pieces of local data has changed, synchronizing the pieces of local data that have changed between the remote master database and the software-as-a-service application;

determining whether one or more of the pieces of master data has changed at the physically remote master database based on an indication that a second of the plurality of remote client devices caused the change of the one or more of the pieces of master data; and

upon determining one or more of the pieces of master data has changed, synchronizing the pieces of master data—that have changed between the remote master database and the software-as-a-service application;

wherein:

the synchronizing of the pieces of local data includes:

converting one or more local business objects to a synchronizing message that includes an intermediate transmittal format,

transmitting the synchronizing message to the remote master database, and

wherein, receipt of the of the synchronizing message causes the remote master database to, convert the intermediate transmittal format of the synchronizing message to one or more master business objects; and

the synchronizing of the pieces of master data includes:

converting one or more local business objects to a synchronizing message that includes an intermediate transmittal format,

transmitting the synchronizing message to the remote master database, and

wherein, receipt of the of the synchronizing message causes the remote master database to, convert the intermediate transmittal format of the synchronizing message to one or more master business objects.

2. The method of claim 1 ,

wherein the receiving of the plurality of pieces of master data includes receiving three pieces of master data by the software-as-a-service apparatus; and

wherein the converting of the plurality of pieces of master data includes combining the three pieces of master data into a single piece of local data.

3. The method of claim 2 , wherein the three pieces of master data include two pieces of master data from a first business object associated with the remote master database and a third piece from a second business object associated with the remote master database.

4. The method of claim 2 ,

wherein the three pieces of master data include a customer name, a customer address, and a contact's work address; and

wherein the single piece of local data includes a customer account business object.

5. The method of claim 4 , wherein the converting of the plurality of pieces of master data includes mapping, based on a set of predefined rules, data values included by the pieces of master data to data values of a business object that includes the piece of local data.

6. The method of claim 1 , wherein the replicating of the plurality of pieces of master data includes:

converting one or more master business objects to a replicating message that includes an intermediate transmittal format;

transmitting the replicating message to the software-as-a-service application; and

wherein the converting of the one or more business objects includes converting the intermediate transmittal format of the replicating message to one or more local business objects.

7. The method of claim 1 , wherein

the synchronizing of the pieces of local data includes selectively synchronizing only the pieces of the local data which have changed since a prior data synchronization between the remote master database and the software-as-a-service application, and

the synchronizing of the pieces of master data includes selectively synchronizing only the pieces of the master data which have changed since a prior data synchronization between the remote master database and the software-as-a-service application.

8. The method of claim 1 , wherein

the synchronizing of the pieces of local data includes:

determining a changed sub-portion of the changed pieces of the local data and an unchanged sub-portion of the changed pieces of the local data, and

synchronizing only the changed sub-portion of the changed pieces of the local data; and

the synchronizing of the pieces of master data includes:

determining a changed sub-portion of the changed pieces of the master data and an unchanged sub-portion of the changed pieces of the master data, and

synchronizing only the changed sub-portion of the changed pieces of the master data.

9. An apparatus comprising:

a memory configured to store a plurality of pieces of local data;

a first network interface configured to receive, from a physically remote master database, a plurality of pieces of master data;

a second network interface communicatively coupled to a plurality of remote client devices; and

a processor configured to:

convert the plurality of pieces of master data into one or more pieces of local data,

store the one or more pieces of local data in the memory,

implement a software-as-a-service application;

change one or more of the pieces of local data in response to an operation of the software-as-a-service application by a first of the plurality of remote client devices,

receive, via the first network interface, an indication that a second of the plurality of remote client devices has caused a change to one or more of the pieces of master data, and

synchronize the pieces of master data and local data that have changed-between the remote master database and the software-as-a-service application.

10. The apparatus of claim 9 , wherein

the first network interface is configured to receive a first number of pieces of master data; and

wherein the processor is further configured to combine the first number of pieces of master data into a second number of pieces of local data.

11. The apparatus of claim 10 , wherein the first number of pieces of master data include two pieces of master data from a first business object associated with the remote master database and a third piece from a second business object associated with the remote master database.

12. The apparatus of claim 10 , wherein

the first number of pieces of master data include a customer name, a customer address, and a contact's work address; and

wherein the second number of pieces of local data includes a customer account business object.

13. The apparatus of claim 12 , wherein the processor is configured to convert by mapping, based on a set of predefined rules, data values included by the pieces of master data to data values of a business object that includes the piece of local data.

14. The apparatus of claim 9 , wherein the first network interface is configured to receive the plurality of pieces of master data by:

receiving a replicating message that includes one or more master business objects that were converted into an intermediate transmittal format by the remote master database; and

wherein the processor is configured to convert the intermediate transmittal format of the replicating message to one or more local business objects.

15. The apparatus of claim 9 , wherein the processor is further configured to selectively synchronize only the pieces of the master data or local data that have changed since a prior data synchronization between the remote master database and the apparatus.

16. The apparatus of claim 9 , wherein the processor is further configured to:

determine a changed sub-portion of the changed pieces of the master data or the local data and an unchanged sub-portion of the changed pieces of the master data or the local data; and

synchronize only the changed sub-portion of the changed pieces of the master data and the local data.

17. The apparatus of claim 9 , wherein the apparatus is configured to:

convert one or more local business objects to a synchronizing message that includes an intermediate transmittal format;

transmit the synchronizing message to the remote master database; and

wherein, receipt of the of the synchronizing message causes the remote master database to, convert the intermediate transmittal format of the synchronizing message to one or more master business objects.

18. A computer program product for synchronizing master data with a software-as-a-system apparatus, the computer program product being tangibly embodied on a non-transitory computer-readable medium and including executable code that, when executed, is configured to cause the software-as-a-system apparatus to:

receive a plurality of pieces of master data from a physically remote master database, the software-as-a-service apparatus being communicatively coupled between the physically remote master database and a plurality of remote client devices;

replicate, to a software-as-a-service application operating on the software-as-a-service apparatus, the plurality of pieces of master data;

convert the plurality of pieces of master data into one or more pieces of local data of the software-as-a-service application;

determine whether one or more of the pieces of local data has changed through operation of the software-as-a-service application by a first of the plurality of remote client devices;

upon determining one or more of the pieces of local data has changed, synchronizing the pieces of local data that have changed between the remote master database and the software-as-a-service application;

determine whether one or more of the pieces of master data has changed at the physically remote master database based on an indication that a second of the plurality of remote client devices caused the change of the one or more of the pieces of master data;

upon determining one or more of the pieces of master data has changed, synchronizing the pieces of master data—that have changed between the remote master database and the software-as-a-service application;

convert one or more local business objects to a synchronizing message that utilizes an intermediate transmittal format;

transmit the synchronizing message to the remote master database; and

wherein, receipt of the of the synchronizing message causes the remote master database to, convert the intermediate transmittal format of the synchronizing message to one or more master business objects.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2015
From: KREINDLINA, OLGA; BERGER, OLIVER; N, SANTHOSH; MOHAN, KARTHIK NARAYANAN; ZIMMERMANN, WALTER; BUECHELER, TORTSEN; KRAUT, SOPHIE; NEUMUELLER, ALBERT; WITT, STEFFEN; HENKES, DIETMAR; YANG, GUANG; VOGT, THOMAS; BECKER, MATTHIAS; HAERTERICH, MARTIN; MOELLER, STEFAN; VASING, KRITESH; HEUSERMANN, KNUT; HOHMANN, CHRISTIAN; ECHTER, MARCUS; RIEGER, XENIA; GADKARI, MOHIT V.; KUMAR, MUKESH
To: SAP AG
Reel/Frame 035062/0472 →
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →