IP Library Granted Patent US 8,924,389
Granted Patent B2
US 8,924,389 · App. 14/140,415 · Granted Dec 30, 2014

Computer-implemented systems and methods for comparing and associating objects

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,924,389
App. No.
14/140,415
Granted
Dec 30, 2014
Kind
B2
Abstract

Computer-implemented systems and methods are disclosed for comparing and associating objects. In some embodiments, a method is provided for associating a first object with one or more objects within a plurality of objects, each object comprising a first plurality of properties, each property comprising data reflecting a characteristic of an entity represented by the object, the associated objects comprising matching data in corresponding properties for a second plurality of properties. The method may include executing, for each object within the plurality of objects and for the first object, the following: creating a slug for the object, the slug comprising the second plurality of properties from the object; and inputting the slug for the object into a Bloom filter. Further, the method may include creating for a bin within the Bloom filter corresponding to the slug for the first object, an association between objects whose slugs correspond to the bin if the slugs for those objects match.

Claims (38)

1. A method for identifying unique objects within a plurality of objects, each object comprising a first plurality of properties, each property comprising data reflecting a characteristic of an entity represented by the object, the method comprising the following operations performed by one or more processors:

executing, for each object within the plurality of objects, the following:

creating a slug for the object, the slug comprising a second plurality of properties from the object that includes at least some of the first plurality of properties; and

inputting the slug for the object into a counting Bloom filter;

identifying for each created slug whose corresponding bin within the counting Bloom filter has a count value equal to 1, the object associated with the slug as unique within the plurality of objects;

inputting, using at least one processor, for each created slug, the slug and its corresponding object into a multimap, if a bin within the counting Bloom filter corresponding to the slug has a count value greater than 1, wherein the slug is a key to the multimap and the object is a value to the multimap; and

identifying for each multimap key with one value, the object associated with the slug stored as the key as unique within the plurality of objects.

2. The method of claim 1 , further comprising:

sizing the counting Bloom filter for a predetermined error rate and number of objects within the plurality of objects.

3. The method of claim 2 , further comprising:

reading the plurality of objects from at least one database.

4. The method of claim 3 , wherein each entry in the counting Bloom filter comprises a 2-bit counter.

5. The method of claim 4 , wherein each 2-bit counter is a saturation counter.

6. The method of claim 5 , wherein the number of properties in the first plurality of properties equals the number of properties in the second plurality of properties.

7. The method of claim 5 , wherein the number of properties in the first plurality of properties is greater than the number of properties in the second plurality of properties.

8. The method of claim 1 , wherein the slug comprises a concatenation of two or more strings separated by a delimiter between each concatenated string.

9. The method of claim 8 , wherein the delimiter comprises a character that is not otherwise present in the strings that were concatenated.

10. The method of claim 8 , wherein the delimiter comprises a sequence of two or more characters and the sequence of two or more characters is not present in any of the two or more strings that were concatenated.

11. A system for identifying unique objects within a plurality of objects, each object comprising a first plurality of properties, each property comprising data reflecting a characteristic of an entity represented by the object, the system comprising:

a memory device that stores a set of instructions; and

at least one processor that executes the set of instructions to perform the following operations:

execute, for each object within the plurality of objects, the following:

create a slug for the object, the slug comprising a second plurality of properties from the object that includes at least some of the first plurality of properties; and

input the slug for the object into a counting Bloom filter;

identify, for each created slug whose corresponding bin within the counting Bloom filter has a count value equal to 1, the object associated with the slug as unique within the plurality of objects;

input, for each created slug, the slug and its corresponding object into a multimap, if a bin within the counting Bloom filter corresponding to the slug has a count value greater than 1, wherein the slug is a key to the multimap and the object is a value to the multimap; and

identify, for each multimap key with one value, the object associated with the slug stored as the key as unique within the plurality of objects.

12. The system of claim 11 , wherein the at least one processor further executes the set of instructions to perform the following operation:

sizing the counting Bloom filter for a predetermined error rate and number of objects within the plurality of objects.

13. The system of claim 12 , wherein the at least one processor further executes the set of instructions to perform the following operation:

reading the plurality of objects from at least one database.

14. The system of claim 13 , wherein each entry in the counting Bloom filter comprises a 2-bit counter.

15. The system of claim 14 , wherein each 2-bit counter is a saturation counter.

16. The system of claim 15 , wherein the slug comprises a concatenation of two or more strings separated by a delimiter between each concatenated string.

17. The system of claim 16 , wherein the delimiter comprises a character that is not otherwise present in the strings that were concatenated.

18. The system of claim 16 , wherein the delimiter comprises a sequence of two or more characters and the sequence of two or more characters is not present in any of the two or more strings that were concatenated.

19. The system of claim 16 , wherein the number of properties in the first plurality of properties equals the number of properties in the second plurality of properties.

20. The system of claim 16 , wherein the number of properties in the first plurality of properties is greater than the number of properties in the second plurality of properties.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2013
From: ELLIOT, MARK; CHANG, ALLEN
To: PALANTIR TECHNOLOGIES, INC.
Reel/Frame 031846/0562 →