IP Library Granted Patent US 8,099,663
Granted Patent B2
US 8,099,663 · App. 11/780,436 · Granted Jan 17, 2012

Apparatus and method for document synchronization

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,099,663
App. No.
11/780,436
Granted
Jan 17, 2012
Kind
B2
Abstract

A computer readable storage medium includes executable instructions to convert a destination document into a destination document tree hierarchy. The destination document tree hierarchy is flattened into a destination document hash table comprising a set of destination document keys and a set of destination document values. A source document is converted into a source document tree hierarchy. The source document tree hierarchy is flattened into a source document hash table comprising a set of source document key-value pairs. A source document key-value pair comprising a key and a value is identified, where the key is not in the set of destination document keys. The source document key-value is added to a changelist. A destination document key is identified, where the destination document key is not a key in a key-value pair in the set of source document key-value pairs. The destination document key is added to the changelist.

Claims (62)

1. A non-transitory computer readable storage medium, comprising executable instructions to:

accept a selection of a destination document on a client device;

convert the destination document into a destination document tree hierarchy;

flatten the destination document tree hierarchy into a destination document hash table, comprising a set of destination document keys and a set of destination document values;

retrieve the set of destination document keys from the client device;

retrieve a source document, wherein the source document is a second version of the destination document, from a server device;

convert the source document into a source document tree hierarchy;

flatten the source document tree hierarchy into a source document hash table, comprising a set of source document key-value pairs;

identify a source document key-value pair, comprising a key and a value, wherein the key is not in the set of destination document keys;

add the source document key-value to a changelist;

identify a destination document key, wherein the destination document key is not a key in a key-value pair in the set of source document key-value pairs; and

add the destination document key to the changelist; and

send the changelist to the client device.

2. The computer readable storage medium of claim 1 , wherein a key is generated using a cryptographic hash function on document object content selected from two or more of value, location within a document, formatting, data source, language specification, and data context.

3. The computer readable storage medium of claim 1 , wherein a node in a tree hierarchy representation of a document represents a document object.

4. The computer readable storage medium of claim 3 , wherein a key is associated with a node in a tree hierarchy and the node represents a document object corresponding to the key.

5. The computer readable storage medium of claim 4 , further comprising executable instructions to:

read a destination document key from the changelist;

identify a node in the destination document tree hierarchy that is associated with the destination document key; and

remove the destination document object represented by the node from the destination document.

6. The computer readable storage medium of claim 3 , wherein a document object is selected from one of a table, a table cell, a visualization, a graphic, a watermark, a header, a footer, a portion of text, an image, a sub-report, and a link.

7. The computer readable storage medium of claim 1 , further comprising executable instructions to:

read a source document key-value pair, comprising a source document key and a source document value, from the changelist;

extract a source document object from the source document value; and add the source document object to the destination document.

8. The computer readable storage medium of claim 1 , wherein a document tree hierarchy is a generic document representation.

9. The computer readable storage medium of claim 1 , wherein the destination document is selected by a user.

10. A method for implementation by one or more data processors comprising:

accepting a selection of a destination document on a client device;

converting the destination document into a destination document tree hierarchy;

flattening the destination document tree hierarchy into a destination document hash table, comprising a set of destination document keys and a set of destination document values;

retrieving the set of destination document keys from the client device;

retrieving a source document, wherein the source document is a second version of the destination document, from a server device;

converting the source document into a source document tree hierarchy;

flattening the source document tree hierarchy into a source document hash table, comprising a set of source document key-value pairs;

identifying a source document key-value pair, comprising a key and a value, wherein the key is not in the set of destination document keys;

adding the source document key-value to a changelist;

identifying a destination document key, wherein the destination document key is not a key in a key-value pair in the set of source document key-value pairs; and

adding the destination document key to the changelist; and

sending the changelist to the client device.

11. The method of claim 10 , wherein a key is generated using a cryptographic hash function on document object content selected from two or more of value, location within a document, formatting, data source, language specification, and data context.

12. The method of claim 10 , wherein a node in a tree hierarchy representation of a document represents a document object.

13. The method of claim 12 , wherein a key is associated with a node in the tree hierarchy and the node represents a document object corresponding to the key.

14. The method of claim 13 , further comprising:

read a destination document key from the changelist;

identify a node in the destination document tree hierarchy that is associated with the destination document key; and

remove the destination document object represented by the node from the destination document.

15. The method of claim 12 , wherein a document object is selected from one of a table, a table cell, a visualization, a graphic, a watermark, a header, a footer, a portion of text, an image, a sub-report, and a link.

16. The method of claim 10 , further comprising:

read a source document key-value pair, comprising a source document key and a source document value, from the changelist;

extract a source document object from the source document value; and add the source document object to the destination document.

17. The method of claim 10 , wherein a document tree hierarchy is a generic document representation.

18. The method of claim 10 , wherein the destination document is selected by a user.

19. A non-transitory computer readable storage medium, comprising executable instructions to:

convert a destination document into a destination document tree hierarchy;

flatten the destination document tree hierarchy into a destination document hash table, comprising a set of destination document keys and a set of destination document values;

convert a source document into a source document tree hierarchy;

flatten the source document tree hierarchy into a source document hash table, comprising a set of source document key-value pairs;

identify a source document key-value pair, comprising a key and a value, wherein the key is not in the set of destination document keys;

add the source document key-value to a changelist;

identify a destination document key, wherein the destination document key is not a key in a key-value pair in the set of source document key-value pairs; and

add the destination document key to the changelist;

wherein each key is based on a document object, each document object being a piece of visible content in a document.

Assignments (3)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2007
From: BUSINESS OBJECTS, S.A.
To: BUSINESS OBJECTS SOFTWARE LTD.
Reel/Frame 020156/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2007
From: MAYOR, IAN ANTHONY; TANG, VICTOR WAI KIT
To: BUSINESS OBJECTS, S.A.
Reel/Frame 019578/0388 →