IP Library Granted Patent US 10,447,779
Granted Patent B2
US 10,447,779 · App. 15/188,580 · Granted Oct 15, 2019

Synchronizing document replication in distributed systems

Inventors: Simon Dieterich (Wiesloch, DE); Christoph Zakwieja (Heidelberg, DE); Jan Piechalski (Neckargemünd, DE); Dirk Richtsteiger (Karlsruhe, DE); Tobias Lukas Bader (Walldorf, DE); Christiane Konstandin (Walldorf, DE); Philipp Suenderhauf (Sandhausen, DE); Anna-Lena Wingert (Leimen-St. Ilgen, DE)
Assignee: SAP SE
H04L67/1095G06F16/178H04L67/06H04L67/42
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 10,447,779
App. No.
15/188,580
Granted
Oct 15, 2019
Kind
B2
Abstract

Methods and apparatus, including computer program products, are provided for document synchronization. The method may include generating, by a controller, a first proxy object for a first document at a first system, the first system including the controller and the first proxy object; updating, by the controller, the first proxy object to include a replication status of the first document, when a creation, an update, and/or a deletion occurs at the first document. Related apparatus, systems, methods, and articles are also described.

Claims (49)

1. A system comprising:

at least one processor; and

at least one memory including program code which when executed by at least one processor causes operations comprising:

generating, by a controller, a first proxy object for an object at a source system, the object comprising a first document stored at the source system, the source system including the controller and the first proxy object;

updating, by the controller, the first proxy object to include a replication status of the first document, when a creation, an update, and/or a deletion occurs at the first document;

receiving, at the first proxy object, a query for the replication status;

in response to the replication status indicating that the first document is not in synchronization with a target system due to the occurrence of the creation, the update, and/or the deletion at the first document,

determining, by the first proxy object, that a first portion of the document comprises a first type of content authorized for replication at the target system and a second portion of the document comprises a second type of content not authorized for replication at the target system,

in response to determining that the first portion of the document comprises the first type of content authorized for replication at the target system and the second portion of the document comprises the second type of content not authorized for replication at the target system, formatting, by the first proxy object, the first portion of the document but not the second portion of the document, the first portion of the document being formatted to comply with a format of one or more data structures and/or objects at the target system, and

sending, by the first proxy object and to the target system, the first portion of the document but not the second portion of the document, the first portion of the document being sent in the format required by the target system;

receiving, at the source system, a confirmation message indicating a successful replication of at least the portion of the first document at the target system; and

updating, in response to the confirmation message, the first proxy object to reflect that the source system and the target system are in synchronization with respect to the first document.

2. The system of claim 1 , wherein the generating, by the controller, is triggered by an event at the first document, the event comprising the creation, the update, and/or the deletion associated with the first document.

3. The system of claim 1 , wherein the generating, by the controller, is inhibited, when the first proxy object exists for the first document.

4. The system of claim 1 , wherein the query is received as a call from the target system.

5. The system of claim 1 , wherein the query is received as a call from a middleware component providing an interface between the source system and the target system, and wherein the first portion of the document in the format is sent to the target system by at least sending, to the middleware component, the first portion of the document.

6. The system of claim 5 , wherein the middleware component is configured to make the call to the source system in accordance with Odata, and wherein the middleware component is configured to make a web service call to the target system.

7. The system of claim 1 further comprising:

retrieving, by the first proxy object, the document to be replicated to the target system.

8. The system of claim 1 , wherein the source system includes a plurality of proxy objects, each proxy object mapped to a different document.

9. The system of claim 1 , wherein the proxy object includes a filter to control information allowed to pass to the target system.

10. The system of claim 1 , wherein the proxy object includes a time stamp before which the proxy object locks replication and after which the proxy object allows replication.

11. The system of claim 1 , wherein the query includes a proxy identifier indicating the proxy object.

12. A method comprising:

generating, by a controller, a first proxy object for an object at a source system, the object comprising a first document stored at the source system, the source system including the controller and the first proxy object;

updating, by the controller, the first proxy object to include a replication status of the first document, when a creation, an update, and/or a deletion occurs at the first document;

receiving, at the first proxy object, a query for the replication status;

in response to the replication status indicating that the first document is not in synchronization with the target system due to the occurrence of the creation, the update, and/or the deletion at the first document,

determining, by the first proxy object, that a first portion of the document comprises a first type of content authorized for replication at the target system and a second portion of the document comprises a second type of content not authorized for replication at the target system,

in response to determining that the first portion of the document comprises the first type of content authorized for replication at the target system and the second portion of the document comprises the second type of content not authorized for replication at the target system, formatting, by the first proxy object, the first portion of the document but not the second portion of the document, the first portion of the document being formatted to comply with a format of one or more data structures and/or objects at the target system, and

sending, by the first proxy object and to the target system, the first portion of the document but not the second portion of the document, the first portion of the document being sent in the format required by the target system;

receiving, at the source system, a confirmation message indicating a successful replication of at least the portion of the first document at the target system; and

updating, in response to the confirmation message, the first proxy object to reflect that the source system and the target system are in synchronization with respect to the first document.

13. The method of claim 12 , wherein the generating, by the controller, is triggered by an event at the first document, the event comprising the creation, the update, and/or the deletion associated with the first document.

14. The method of claim 12 , wherein the generating, by the controller, is inhibited, when the first proxy object exists for the first document.

15. The method of claim 12 , wherein the query is received as a call from the target system.

16. A non-transitory computer-readable storage medium including program code which when executed by at least one processor causes operations comprising:

generating, by a controller, a first proxy object for an object at a source system, the object comprising a first document stored at the source system, the source system including the controller and the first proxy object;

updating, by the controller, the first proxy object to include a replication status of the first document, when a creation, an update, and/or a deletion occurs at the first document;

receiving, at the first proxy object, a query for the replication status;

in response to the replication status indicating that the first document is not in synchronization with the target system due to the occurrence of the creation, the update, and/or the deletion at the first document,

determining, by the first proxy object, that a first portion of the document comprises a first type of content authorized for replication at the target system and a second portion of the document comprises a second type of content not authorized for replication at the target system,

in response to determining that the first portion of the document comprises the first type of content authorized for replication at the target system and the second portion of the document comprises the second type of content not authorized for replication at the target system, formatting, by the first proxy object, the first portion of the document but not the second portion of the document, the first portion of the document being formatted to comply with a format of one or more data structures and/or objects at the target system, and

sending, by the first proxy object and to the target system, the first portion of the document but not the second portion of the document, the first portion of the document being sent in the format required by the target system;

receiving, at the source system, a confirmation message indicating a successful replication of at least the portion of the first document at the target system; and

updating, in response to the confirmation message, the first proxy object to reflect that the source system and the target system are in synchronization with respect to the first document.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the generating, by the controller, is triggered by an event at the first document, the event comprising the creation, the update, and/or the deletion associated with the first document.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the generating, by the controller, is inhibited, when the first proxy object exists for the first document.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the query is received as a call from the target system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2016
From: DIETERICH, SIMON; ZAKWIEJA, CHRISTOPH; PIECHALSKI, JAN; RICHTSTEIGER, DIRK; BADER, TOBIAS LUKAS; KONSTANDIN, CHRISTIANE; SUENDERHAUF, PHILIPP; WINGERT, ANNA-LENA
To: SAP SE
Reel/Frame 038977/0357 →
Continuity (1)
Related Publication 20170366609A1 · Dec 21, 2017
Cited By (11)
US 12,222,903 US 12,244,570 US 12,292,853 US 12,346,290 US 12,443,559 US 12,443,568 US 12,481,625 US 12,585,563 US 12,619,582 US 12,670,081 US 12,743,357