# US 10,372,731 B1 · Method of generating a data object identifier and system thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,731 B1
- Document ID: US10372731B1
- Status: Granted
- Kind: B1
- Application number: 15/360,612
- Filed: 2016-11-23
- Granted: 2019-08-06
- Earliest claimed: 2015-11-25
- Assignees: Minereye Ltd.
- Applicants: Minereye Ltd.
- Inventors: Yaniv Avidan; Avner Atias
- Web page: https://patentgrep.com/patent/US10372731B1

## CPC

- G06F 16/285: {Clustering or classification}
- G06F 16/2219: {Large Object storage; Management thereof}
- G06F 16/2237: {Vectors, bitmaps or matrices}
- G06F 16/2264: {Multidimensional index structures}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Generating a data object identifier by dividing the data in the data object into a plurality of chunks; processing each chunk using a clustering algorithm to generate, for each chunk, a pair of values characterizing the data in the chunk, thereby giving rise to a plurality of pairs of values (PoV); generating a plurality of nodes in a two dimensional space each corresponding to a respective PoV, wherein, for any given PoV, the values in the given PoV are indicative of location coordinates of the corresponding node in the two dimensional space; generating a plurality of features related to the plurality of nodes, each feature characterizing a spatial relationship between three or more nodes; and generating the data object identifier by arranging the features in a feature vector in accordance with predetermined rules.

## Claims

### Claim 1

A method of generating a data object identifier, the method executed by a computer and comprising:
upon receiving a data object, dividing the data in the data object into a plurality of chunks;
processing each chunk using a clustering algorithm to generate, for each chunk, a pair of values characterizing the data in the chunk, thereby giving rise to a plurality of pairs of values (PoV);
generating a plurality of nodes in a two dimensional space each corresponding to a respective PoV, wherein, for any given PoV, the values in the given PoV are indicative of location coordinates of the corresponding node in the two dimensional space;
generating a plurality of features related to the plurality of nodes, each feature characterizing a spatial relationship between three or more nodes; and
generating the data object identifier by arranging the features in a feature vector in accordance with predetermined rules, wherein the generated data object identifier is usable for detecting similarity with other data objects whereby a level of accuracy of the detecting is increased.

### Claim 2 (depends on 1)

The method of claim 1 wherein the data object is a file.

### Claim 3 (depends on 1)

The method of claim 1 wherein the data is divided into chunks using a predetermined value n indicative of a maximum chunk size.

### Claim 4 (depends on 1)

The method of claim 1 wherein the PoV for a chunk is generated by processing the data in the chunk using a clustering algorithm.

### Claim 5 (depends on 4)

The method of claim 4 wherein the clustering algorithm is a self-organizing map algorithm.

### Claim 6 (depends on 1)

The method of claim 1 wherein for each node, the first value in the PoV corresponding to the node defines the x-axis coordinate in the two dimensional space and the second value in the PoV corresponding to the node defines the y-axis coordinate in the two dimensional space.

### Claim 7 (depends on 1)

The method of claim 1 wherein the spatial relationship comprises at least one of i) an angle formed between a node and two other nodes, and ii) a distance ratio between a given node and two other nodes.

### Claim 8 (depends on 1)

The method of claim 1, wherein detecting similarity with other data objects is usable for at least one of: detecting sensitive data in the data object; identifying data objects with similar data; discovering data objects with duplicate data;
identifying instances of the data object sharing.

### Claim 9

A system capable of generating a data object identifier comprising a processor and memory block operatively coupled to one or more data repositories, the processor and memory block configured to:
upon receiving a data object stored on the one or more data repositories, divide the data in the data object into a plurality of chunks;
process each chunk using a clustering algorithm to generate, for each chunk, a pair of values characterizing the data in the chunk, thereby giving rise to a plurality of pairs of values (PoV);
generate a plurality of nodes in a two dimensional space each corresponding to a respective PoV, wherein, for any given PoV, the values in the given PoV are indicative of location coordinates of the corresponding node in the two dimensional space;
generate a plurality of features related to the plurality of nodes, each feature characterizing a spatial relationship between three or more nodes; and
generate the data object identifier by arranging the features in a feature vector in accordance with predetermined rules, wherein the generated data object identifier is usable for detecting similarity with other data objects whereby a level of accuracy of the detecting is increased.

### Claim 10 (depends on 9)

The system of claim 9 wherein the data object is a file.

### Claim 11 (depends on 9)

The system of claim 9 wherein the data is divided into chunks using a predetermined value n indicative of a maximum chunk size.

### Claim 12 (depends on 9)

The system of claim 9 wherein the PoV for a chunk is generated by processing the data in the chunk using a clustering algorithm.

### Claim 13 (depends on 12)

The system of claim 12 wherein the clustering algorithm is a self-organizing map algorithm.

### Claim 14 (depends on 9)

The system of claim 9 wherein for each node, the first value in the PoV corresponding to the node defines the x-axis coordinate in the two dimensional space and the second value in the PoV corresponding to the node defines the y-axis coordinate in the two dimensional space.

### Claim 15 (depends on 9)

The system of claim 9 wherein the spatial relationship comprises at least one of i) an angle formed between a node and two other nodes, and ii) a distance ratio between a given node and two other nodes.

### Claim 16 (depends on 9)

The system of claim 9, wherein detecting similarity with other data objects is usable for at least one of: detecting sensitive data in the data object; identifying data objects with similar data; discovering data objects with duplicate data;
identifying instances of the data object sharing.

### Claim 17

A non-transitory computer-readable memory tangibly embodying a program of instructions executable by a computer for executing a method of generating a data object identifier, the method comprising:
upon receiving a data object, dividing the data in the data object into a plurality of chunks;
processing each chunk using a clustering algorithm to generate, for each chunk, a pair of values characterizing the data in the chunk, thereby giving rise to a plurality of pairs of values (PoV);
generating a plurality of nodes in a two dimensional space each corresponding to a respective PoV, wherein, for any given PoV, the values in the given PoV are indicative of location coordinates of the corresponding node in the two dimensional space;
generating a plurality of features related to the plurality of nodes, each feature characterizing a spatial relationship between three or more nodes; and
generating the data object identifier by arranging the features in a feature vector in accordance with predetermined rules, wherein the generated data object identifier is usable for automated detecting similarity with other data objects whereby a level of accuracy of the detecting is increased.
