CA2846330C

Computer-implemented systems and methods for comparing and associating objects

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.

CA2846330C, drawing sheet 1
Sheet 1 of 4

Term

Projected expiry 14 March 2034.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

40 claims: 5 independent, 35 dependent

  1. 1
    CLAIMS:1. A method 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 that includes at least some of the first plurality of properties, the method comprising the following operations performed by one or more processors: 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;and 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.
  2. 10
    A method for associating objects within one or more groups of 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 within a group of objects comprising matching data in corresponding properties for a second plurality of properties that includes at least some CA 2846330 2019-09-17 of the first plurality of properties, 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 the second plurality of properties from the object;and inputting the slug for the object into a counting Bloom filter;inputting 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 associating the objects stored as values for each multimap key with two or more corresponding values.
  3. 20
    A system 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 that includes at least some of the first plurality of properties, 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: 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;and CA 2Θ46330 2019-09-17 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.
  4. 21
    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.
  5. 31
    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 CA 2846330 2019-09-17 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.