IP Library Granted Patent US 8,136,031
Granted Patent B2
US 8,136,031 · App. 12/406,093 · Granted Mar 13, 2012

Comparing the content of tables containing merged or split cells

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,136,031
App. No.
12/406,093
Granted
Mar 13, 2012
Kind
B2
Abstract

A system, method and computer program product for comparison of content within tables, separate from the form and structure of those tables; including identifying tables in a first and second document, creating respective text arrays of content of the tables from the first and second documents, comparing the content of the respective text arrays to determine differences between the content of the tables, and displaying the determined differences between the content of the tables, regardless of form or structure of the tables.

Claims (82)

1. A computer-implemented method for comparing content comprising:

identifying a first table in a first document and a second table in a second document;

determining, by a processor, that a first cell from the first table is a merger of a plurality of cells from the second table;

creating a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

comparing, by the processor, the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

2. The method of claim 1 , wherein the step of determining that the first cell is a merger of the plurality of cells comprises:

determining that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

creating a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

applying the dynamic programming matrix to determine that the first cell is a merger of the plurality of cells.

3. The method of claim 1 , further comprising:

generating data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

4. The method of claim 1 , further comprising:

when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table, generating data used to indicate the content of the plurality of cells of the second table is unchanged.

5. A computer program product for comparing content including one or more computer-readable instructions embedded on a non-transitory computer-readable medium that causes one or more computer processors to perform the steps of:

identifying a first table in a first document and a second table in a second document;

determining that a first cell from the first table is a merger of a plurality of cells from the second table;

creating a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

comparing the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

6. The computer program product of claim 5 , wherein the step of determining that the first cell is a merger of the plurality of cells comprises:

determining that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

creating a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

applying the dynamic programming matrix to determine that the first cell is a merger of the plurality of cells.

7. The computer program product of claim 5 , wherein the instructions further cause the one or more computer processors to perform the step of:

generating data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

8. The computer program product of claim 5 , wherein the instructions further cause the one or more computer processors to perform the step of:

when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table, generating data used to indicate the content of the plurality of cells of the second table is unchanged.

9. A system for comparing content, the system comprising:

a memory having instructions; and

a processor configured to:

execute the instructions to identify a first table in a first document and a second table in a second document;

execute the instructions to determine that a first cell from the first table is a merger of a plurality of cells from the second table;

execute the instructions to create a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

execute the instructions to compare the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

10. The system of claim 9 , wherein the processor is further configured to, when executing the instructions to determine that the first cell is a merger of the plurality of cells:

execute the instructions to determine that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

execute the instructions to create a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

execute the instructions to apply the dynamic programming matrix to determine that the first cell is a merger of the plurality of cells.

11. The system of claim 9 , wherein the processor is further configured to:

execute the instructions to generate data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

12. The system of claim 9 , wherein when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table the processor is further configured to:

execute the instructions to generate data used to indicate the content of the plurality of cells of the second table is unchanged.

13. A computer-implemented method for comparing content comprising:

identifying a first table in a first document and a second table in a second document;

determining, by a processor, that a plurality of cells from the second table are a split of a first cell from the first table;

creating a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

comparing, by the processor, the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

14. The method of claim 13 , wherein the step of determining that the plurality of cells is a split of the first cell comprises:

determining that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

creating a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

applying the dynamic programming matrix to determine that the plurality of cells are a split of the first cell.

15. The method of claim 13 , further comprising:

generating data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

16. The method of claim 13 , further comprising:

when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table, generating data used to indicate the content of the plurality of cells of the second table is unchanged.

17. A computer program product for comparing content including one or more computer-readable instructions embedded on a non-transitory computer-readable medium that causes one or more computer processors to perform the steps of:

identifying a first table in a first document and a second table in a second document;

determining that a plurality of cells from the second table are a split of a first cell from the first table;

creating a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

comparing the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

18. The computer program product of claim 17 , wherein the step of determining that the plurality of cells is a split of the first cell comprises:

determining that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

creating a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

applying the dynamic programming matrix to determine that the plurality of cells are a split of the first cell.

19. The computer program product of claim 17 , wherein the instructions further cause the one or more computer processors to perform the step of:

generating data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

20. The computer program product of claim 17 , wherein the instructions further cause the one or more computer processors to perform the step of:

when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table, generating data used to indicate the content of the plurality of cells of the second table is unchanged.

21. A system for comparing content, the system comprising:

a memory having instructions; and

a processor configured to:

execute the instructions to identify a first table in a first document and a second table in a second document;

execute the instructions to determine that a plurality of cells from the second table are a split of a first cell from the first table;

execute the instructions to create a first text array of content of the first table and a second text array of content of the second table, based on the determining; and

execute the instructions to compare the first text array with the second text array to determine differences between content of the first cell from the first table and all of the content of the plurality of cells from the second table.

22. The system of claim 21 , wherein the processor is further configured to, when executing the instructions to determine that the plurality of cells is a split of the first cell:

execute the instructions to determine that at least some of the plurality of cells of the second table have been added adjacent to an existing cell of the plurality of cells of the second table;

execute the instructions to create a dynamic programming matrix, each matrix cell reflecting an amount of similar words in a set of cells from the first table and a set of cells from the second table; and

execute the instructions to apply the dynamic programming matrix to determine that the plurality of cells are a split of the first cell.

23. The system of claim 21 , wherein the processor is further configured to:

execute the instructions to generate data used to display the determined differences between the content of the first cell of the first table and the content of the plurality of cells of the second table.

24. The system of claim 21 , wherein when no determined differences are found between the content of the first cell of the first table and the content of the plurality of cells of the second table the processor is further configured to:

execute the instructions to generate data used to indicate the content of the plurality of cells of the second table is unchanged.

Assignments (10)
MERGER Recorded May 15, 2024
From: LITERA CORPORATION
To: FREEDOM SOLUTIONS GROUP, L.L.C.
Reel/Frame 067418/0630 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT REEL 044396, FRAME 0217 Recorded Jun 3, 2019
From: SARATOGA INVESTMENT CORP. SBIC LP
To: LITÉRA CORPORATION
Reel/Frame 049350/0390 →
TERMINATION AND RELEASE OF GRANT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT RECORDED AT REEL 043861, FRAME 0043 AND REEL 045626, FRAME 0582 Recorded Jun 3, 2019
From: PNC BANK, NATIONAL ASSOCIATION
To: LITÉRA CORPORATION
Reel/Frame 049354/0544 →
PATENT SECURITY AGREEMENT Recorded May 31, 2019
From: LITÉRA CORPORATION; FREEDOM SOLUTIONS GROUP, L.L.C.
To: OWL ROCK CAPITAL CORPORATION
Reel/Frame 049337/0220 →
MERGER Recorded Dec 15, 2017
From: LITERA CORPORATION
To: LITERA CORPORATION
Reel/Frame 044907/0080 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 8, 2017
From: LITÉRA CORPORATION
To: SARATOGA INSVESTMENT CORP. SBIC LP, AS AGENT
Reel/Frame 044396/0217 →
SECURITY INTEREST Recorded Oct 13, 2017
From: LITERA CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 043861/0043 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: LITERA TECHNOLOGIES LLC
To: LITERA CORPORATION
Reel/Frame 043332/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2012
From: MASSAND, DEEPAK
To: LITERA TECHNOLOGIES, LLC
Reel/Frame 027662/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2009
From: MASSAND, DEEPAK
To: LITERA TECHNOLOGY LLC.
Reel/Frame 022569/0256 →