IP Library Granted Patent US 10,157,185
Granted Patent B2
US 10,157,185 · App. 14/248,514 · Granted Dec 18, 2018

Systems and methods for the comparison of annotations within files

Inventor: Deepak Massand (McLeansville, NC)
Assignee: LITERA CORPORATION
G06F17/301G06F17/241G06F17/30864
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,157,185
App. No.
14/248,514
Granted
Dec 18, 2018
Kind
B2
Abstract

Systems and methods are disclosed for comparing annotations in files to show changes in the annotations at a granular level. In one implementation, a system receives a first file and a second file for comparison. The system determines the annotation ranges for each annotation in the first file and the annotation range for each annotation in the second file. The system then determines the annotations from the first file that overlap with annotations from the second file and compares annotations that overlap. The system then incorporates the comparison of the annotations into a main comparison file. In certain implementations, the system uses an index to determine what annotations overlap. In other implementations, matched pairs are created from overlapping annotations.

Claims (62)

1. A computer-based system for generating comparison output data indicating differences in annotations in electronic files, comprising:

a memory storing instructions; and

a processor configured to execute the instructions to:

identify a first annotation in a first electronic file;

create a first index for the first annotation, the first index including a plurality of words, pixels, rows, columns, or coordinates in the first electronic file;

create a second index for a second electronic file different than the first electronic file, the second index including a plurality of words, pixels, rows, columns, or coordinates in the second electronic file;

compare the first index with the second index to determine whether the second electronic file contains a matching annotation having words, pixels, rows, columns, or coordinates corresponding to the first annotation;

generate, based on the comparison, a matrix that identifies matches between the words, pixels, rows, columns, or coordinates in the first index of the first annotation and the second index of a second annotation in the second electronic file;

determine, based on the matrix of the comparison, whether the words, pixels, rows, columns, or coordinates in the first index of the first annotation are present in the second index of the second annotation; and

create, based on the determination, comparison output data including information for displaying a redline version of characters in the first annotation to indicate changes between the first annotation and the second annotation, wherein the processor inserts into the comparison output data a first hidden character marking a beginning of the redline version and a second hidden character marking an end of the redline version.

2. The computer-based system of claim 1 , wherein the processor is further configured to:

identify first annotation content corresponding to the first annotation;

identify, when the second electronic file contains a second annotation, second annotation content corresponding to the second annotation;

calculate a degree of overlap between the first annotation content and second annotation content; and

determine that the second annotation is a matching annotation when the degree of overlap is above a predetermined threshold.

3. The computer-based system of claim 1 , wherein the second electronic file is a modified version of the first electronic file.

4. The computer-based system of claim 3 , wherein the comparison output data indication provides that the first annotation was deleted when the second electronic file does not contain a matching annotation.

5. The computer-based system of claim 1 , wherein the first electronic file is a modified version of the second electronic file.

6. The computer-based system of claim 5 , wherein the comparison output data indication provides that the first annotation was inserted, when the second electronic file does not contain a matching annotation.

7. The computer-based system of claim 1 , wherein the indication is provided in redline format.

8. The computer-based system of claim 1 , wherein

the first hidden character is associated with a lowest word, pixel, row, column, or coordinate in the first index or the second index, and

the second hidden character is associated with a highest word, pixel, row, column, or coordinate in the first index or the second index.

9. A computer-implemented method for generating comparison output data indicating differences in annotations in electronic files, the method comprising:

identifying a first annotation in a first electronic file;

creating a first index for the first annotation, the first index including a plurality of words, pixels, rows, columns, or coordinates in the first electronic;

creating a second index for a second electronic file different than the first electronic file, the second index including a plurality of words, pixels, rows, columns, or coordinates in the second electronic file;

comparing, by the processor, the first index with the second index to determine whether the second electronic file contains a matching annotation having words, pixels, rows, columns, or coordinates corresponding to the first annotation;

generating, based on the comparison, a matrix that identifies matches between the words, pixels, rows, columns, or coordinates in the first index of the first annotation and the second index of the second annotation;

determining, based on the matrix of the comparison, whether the words, pixels, rows, columns, or coordinates in the first index of the first annotation are present in the second index of a second annotation in the second electronic file; and

creating, by the processor and based on the determination, comparison output data including information for displaying a redline version of characters in the first annotation to indicate changes between the first annotation and the second annotation, wherein the processor inserts into the comparison output data a first hidden character marking a beginning of the redline version and a second hidden character marking an end of the redline version.

10. The computer-implemented method of claim 9 , further comprising:

identifying first annotation content corresponding the first annotation;

identifying, when the second electronic file contains a second annotation, second annotation content corresponding the second annotation;

calculating a degree of overlap between the first annotation content and second annotation content; and

determining that the second annotation is a matching annotation when the degree of overlap is above a predetermined threshold.

11. The computer-implemented method of claim 9 , wherein the second electronic file is a modified version of the first electronic file.

12. The computer-implemented method of claim 11 , wherein the comparison output data indication provides that the first annotation was deleted, when the second electronic file does not contain a matching annotation.

13. The computer-based system of claim 9 , wherein the first electronic file is a modified version of the second electronic file.

14. The computer-implemented method of claim 13 , wherein the comparison output data indication provides that the first annotation was inserted when the second electronic file does not contain a matching annotation.

15. The computer-implemented method of claim 9 , wherein the indication is provided in redline format.

16. The computer-implemented method of claim 9 , wherein

the first hidden character is associated with a lowest word, pixel, row, column, or coordinate in the first index or the second index, and

the second hidden character is associated with a highest word, pixel, row, column, or coordinate in the first index or the second index.

17. A computer-based system for generating comparison output data indicating non-matched annotations in electronic files, comprising:

a memory storing instructions; and

a processor configured to execute the instructions to:

receive a first electronic file and a second electronic file different than the first electronic file;

create a first index for a first annotation in the first electronic file, the first index including a plurality of words, pixels, rows, columns, or coordinates in the first electronic file;

create a second index for a second annotation in the second electronic file, the second index including a plurality of words, pixels, rows, columns, or coordinates in the second electronic file;

compare the words, pixels, rows, columns, or coordinates of the first index with the second index to determine whether the first electronic file or the second electronic file contains a non-matched annotation;

generate, based on the comparison, a matrix that identifies matches between the words, pixels, rows, columns, or coordinates in the first index of the first annotation and the second index of a second annotation in the second electronic file;

determine, based on the matrix of the comparison, whether the words, pixels, rows, columns, or coordinates in the first index of the first annotation are present in the second index of the second annotation; and

create, based on the determination, comparison output data including information for displaying a redline version of characters in the first annotation or the second annotation to indicate changes between the first annotation and the second annotation, wherein the processor inserts into the comparison output data a first hidden character marking a beginning of the redline version and a second hidden character marking an end of the redline version.

18. The computer-based system of claim 17 , wherein processor is configured to determine whether the first electronic file or the second electronic file contains a non-matched annotation by:

identifying the first annotation in the first electronic file and first annotation content corresponding to the first annotation;

identifying-second annotation content corresponding to the second annotation;

calculating a degree of overlap between the first annotation content and the second annotation content; and

determining that the first annotation is a non-matched annotation when the degree of overlap is below a predetermined threshold.

19. The computer-based system of claim 17 , wherein

the first hidden character is associated with a lowest word, pixel, row, column, or coordinate in the first index or the second index, and

the second hidden character is associated with a highest word, pixel, row, column, or coordinate in the first index or the second index.

Assignments (11)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2018
From: MASSAND, DEEPAK
To: LITERA TECHNOLOGIES, LLC
Reel/Frame 046342/0085 →
MERGER Recorded Dec 15, 2017
From: LITERA CORPORATION
To: LITERA CORPORATION
Reel/Frame 044907/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2017
From: MASSAND, DEEPAK
To: LITERA TECHNOLOGY LLC
Reel/Frame 044296/0138 →
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 Apr 9, 2014
From: MASSAND, DEEPAK
To: LITERA TECHNOLOGIES, LLC
Reel/Frame 032633/0854 →
Continuity (3)
Continuation 13022075 · Feb 7, 2011
Provisional Application 61410152 · Nov 4, 2010
Related Publication 20140222853A1 · Aug 7, 2014