In-database connectivity components analysis of data

US9465854B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9465854-B2
Application numberUS-201514802934-A
CountryUS
Kind codeB2
Filing dateJul 17, 2015
Priority dateMar 14, 2013
Publication dateOct 11, 2016
Grant dateOct 11, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method determines the connectivity components defined by a set of relations over a set of data elements. For each first data element of a selected subset of data elements, a second data element that is linked to the first data element by a path of relations is selected as its representative, using a randomization process. A new set of relations is created by replacing each first data element of the subset by its representative in at least part of the set of relations.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for determining connectivity components defined by a set of relations over a set of data elements, wherein the relations and the data elements are stored in a database, the method comprising: selecting, for each first data element in the set of data elements, a respective second representative data element from among a group of data elements that includes the first data element and those data elements linked to the first data element by a path of relations, including assigning, to each of the data elements in the set of data elements, a random value and basing the selecting on the respective random values assigned to the data elements in the group; for each first data element, identifying a respective data element assigned to be a leader of each first element and replacing the assigned data element with the representative data element of the first element as the leader of the first element; iteratively creating a new set of relations by replacing each first data element of the set of data elements by its representative in the set of relations; and outputting the leader of each data element as an identifier of the connectivity component of which the data element is a member; wherein the selecting and creating are performed within the database. 2. The method of claim 1 , further comprising: performing the method recursively or iteratively on the new set of relations. 3. The method of claim 2 , further comprising: repeating the method until all relations within the new set of relations are between a data element and the data element itself. 4. The method of claim 3 , further comprising: removing relations between a data element and said data element itself from the new set of relations, and determining said connectivity components as a result of said removing said relations and determining that the new set of relations is an empty set. 5. The method of claim 1 , wherein the selecting and the creating are performed using database queries. 6. The method of claim 1 , further comprising: receiving a user request to identify one or more connectivity components within the set of data elements; and performing the method of claim 1 in response to the user request. 7. The method of claim 1 , wherein a data element represents an individual and a representative data element represents a representative of the individual. 8. The method of claim 1 , wherein a data element represents a voting person and a representative data element represents a representative of the voting person. 9. A computing system for determining connectivity components defined by a set of relations over a set of data elements, wherein the relations and the data elements are stored in a database and the system comprises: one or more computers; and one or more storage units storing instructions that when executed by the one or more computers cause the computing system to perform operations comprising: selecting, for each first data element in the set of data elements, a respective second representative data element from among a group of data elements that includes the first data element and those data elements linked to the first data element by a path of relations, including assigning, to each of the data elements in the set of data elements, a random value and basing the selecting on the respective random values assigned to the data elements in the group; for each first data element, identifying a respective data element assigned to be a leader of each first element and replacing the assigned data element with the representative data element of the first element as the leader of the first element; iteratively creating a new set of relations by replacing each first data element of the set of data elements by its representative in the set of relations; and outputting the leader of each data element as an identifier of the connectivity component of which the data element is a member; wherein the selecting and creating are performed within the database. 10. The system of claim 9 , the operations further comprising: performing the operations recursively or iteratively on the new set of relations. 11. The system of claim 10 , the operations further comprising: repeating the operations until all relations within the new set of relations are between a data element and the data element itself. 12. The system of claim 11 , the operations further comprising: removing relations between a data element and said data element itself from the new set of relations, and determining said connectivity components as a result of said removing said relations and determining that the new set of relations is an empty set. 13. The system of claim 9 , wherein the selecting and the creating are performed using database queries. 14. The system of claim 9 , the operations further comprising: receiving a user request to identify one or more connectivity components within the set of data elements; and performing the operations of claim 9 in response to the user request. 15. The system of claim 9 , wherein a data element represents an individual and a representative data element represents a representative of the individual. 16. The system of claim 9 , wherein a data element represents a voting person and a representative data element represents a representative of the voting person. 17. A non-transitory computer storage medium encoded with a computer program for determining connectivity components defined by a set of relations over a set of data elements, wherein the relations and the data elements are stored in a database, the computer program comprising instructions that when executed by a system cause the system to perform operations comprising: selecting, for each first data element in the set of data elements, a respective second representative data element from among a group of data elements that includes the first data element and those data elements linked to the first data element by a path of relations, including assigning, to each of the data elements in the set of data elements, a random value and basing the selecting on the respective random values assigned to the data elements in the group; for each first data element, identifying a respective data element assigned to be a leader of each first element and replacing the assigned data element with the representative data element of the first element as the leader of the first element; iteratively creating a new set of relations by replacing each first data element of the set of data elements by its representative in the set of relations; and outputting the leader of each data element as an identifier of the connectivity component of which the data element is a member; wherein the selecting and creating are performed within the database. 18. The non-transitory computer storage medium of claim 17 , the operations further comprising: performing the operations recursively or iteratively on the new set of relations. 19. The non-transitory computer storage medium of claim 18 , the operations further comprising: repeating the operations until all relations within the new set of relations are between a data element and the data element itself. 20. The non-transitory computer storage medium of claim 19 , the operations further comprising: removing relations between a data element and said data element itself from the new set of relations, and determining said connectivity components as a result of said removing said relations and determining that the new set of relations is an em

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9465854B2 cover?
A method determines the connectivity components defined by a set of relations over a set of data elements. For each first data element of a selected subset of data elements, a second data element that is linked to the first data element by a path of relations is selected as its representative, using a randomization process. A new set of relations is created by replacing each first data element …
Who is the assignee on this patent?
Pivotal Software Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30569. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).