# US 10,122,805 B2 · Identification of collaborating and gathering entities

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

- Number: US 10,122,805 B2
- Document ID: US10122805B2
- Status: Granted
- Kind: B2
- Application number: 14/788,185
- Filed: 2015-06-30
- Published: 2017-01-05
- Granted: 2018-11-06
- Earliest claimed: 2015-06-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Kirk J. Krauss
- Web page: https://patentgrep.com/patent/US10122805B2

## CPC

- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06Q 10/42: Determination of affinities or common interests between users
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Provided are techniques for identification of collaborating entities. It is determined whether a first entity is associated with a second entity on at least a certain number of occasions over a certain first time interval. In response to a positive determination, a first instance of affinity is found between the first entity and the second entity. A collaboration is identified based on the first instance of affinity and one or more second instances of affinity found within one or more certain portions of a second time interval. The collaboration of the first entity and the second entity is reported.

## Claims

### Claim 1

A method for determining relationships between entities, comprising:
storing, using a processor of computer a, a configuration file, wherein the configuration file stores configurable parameters for an affinity, for a collaboration, and for a gathering,
wherein the configurable parameters for the affinity include an affinity qualifying time interval and an affinity minimum number of qualifying events,
wherein the configurable parameters for the collaboration include a collaboration qualifying time interval, a collaboration minimum number of qualifying events, and a collaboration time slice, and
wherein the configurable parameters for the gathering include a minimum gathering size and a proximity;
generating a first anonymous identifier for a first entity and a second anonymous identifier for a second entity;
finding a first instance of affinity between the first entity and the second entity based on determining that the first entity is associated with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, wherein the affinity is physical affinity when the first entity is situated within a certain spatial proximity of the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, and wherein the affinity is virtual affinity when the first entity communicates with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval;
identifying a collaboration of the first entity and the second entity based on the first instance of affinity and one or more second instances of affinity found that meet the collaboration minimum number of qualifying events within the collaboration qualifying time interval, wherein one affinity is determined to be one qualifying event within each collaboration time slice;
reporting the collaboration of the first entity and the second entity using the first anonymous identifier and the second anonymous identifier for privacy enhanced identification of the collaboration;
identifying a gathering of the first entity and the second entity with additional entities meeting the minimum gathering size, wherein the first entity, the second entity, and the additional entities are within the proximity of each other for a period of time; and
reporting the gathering using the first anonymous identifier, the second anonymous identifier, and additional anonymous identifiers for the additional entities for privacy enhanced identification of the gathering.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
identifying a mode via which the first entity communicates with the second entity.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining instances of affinity among entities of various types.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
updating the configurable parameters.

### Claim 5 (depends on 1)

The method of claim 1, wherein a Software as a Service (SaaS) is configured to perform method operations.

### Claim 6

A computer program product, the computer program product comprising:
a computer readable storage medium having program code embodied therewith, the program code executable by at least one processor perform:
storing a configuration file, wherein the configuration file stores configurable parameters for an affinity, for a collaboration, and for a gathering,
wherein the configurable parameters for the affinity include an affinity qualifying time interval and an affinity minimum number of qualifying events,
wherein the configurable parameters for the collaboration include a collaboration qualifying time interval, a collaboration minimum number of qualifying events, and a collaboration time slice, and
wherein the configurable parameters for the gathering include a minimum gathering size and a proximity;
generating a first anonymous identifier for a first entity and a second anonymous identifier for a second entity;
finding a first instance of affinity between the first entity and the second entity based on determining that the first entity is associated with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, wherein the affinity is physical affinity when the first entity is situated within a certain spatial proximity of the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, and wherein the affinity is virtual affinity when the first entity communicates with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval;
identifying a collaboration of the first entity and the second entity based on the first instance of affinity and one or more second instances of affinity found that meet the collaboration minimum number of qualifying events within the collaboration qualifying time interval, wherein one affinity is determined to be one qualifying event within each collaboration time slice;
reporting the collaboration of the first entity and the second entity using the first anonymous identifier and the second anonymous identifier for privacy enhanced identification of the collaboration;
identifying a gathering of the first entity and the second entity with additional entities meeting the minimum gathering size, wherein the first entity, the second entity, and the additional entities are within the proximity of each other for a period of time; and
reporting the gathering using the first anonymous identifier, the second anonymous identifier, and additional anonymous identifiers for the additional entities for privacy enhanced identification of the gathering.

### Claim 7 (depends on 6)

The computer program product of claim 6, wherein the program code is executable by the at least one processor to perform:
identifying a mode via which the first entity communicates with the second entity.

### Claim 8 (depends on 6)

The computer program product of claim 6, wherein a Software as a Service (SaaS) is configured to perform computer program product operations.

### Claim 9 (depends on 6)

The computer program product of claim 6, wherein the program code is executable by the at least one processor to perform:
determining instances of affinity among entities of various types.

### Claim 10 (depends on 6)

The computer program product of claim 6, wherein the program code is executable by the at least one processor to perform:
updating the configurable parameters.

### Claim 11

A computer system, comprising:
one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices; and
program instructions, stored on at least one of the one or more computer-readable, tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to perform operations comprising:
storing a configuration file, wherein the configuration file stores configurable parameters for an affinity, for a collaboration, and for a gathering,
wherein the configurable parameters for the affinity include an affinity qualifying time interval and an affinity minimum number of qualifying events,
wherein the configurable parameters for the collaboration include a collaboration qualifying time interval, a collaboration minimum number of qualifying events, and a collaboration time slice, and
wherein the configurable parameters for the gathering include a minimum gathering size and a proximity;
generating a first anonymous identifier for a first entity and a second anonymous identifier for a second entity;
finding a first instance of affinity between the first entity and the second entity based on determining that the first entity is associated with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, wherein the affinity is physical affinity when the first entity is situated within a certain spatial proximity of the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval, and wherein the affinity is virtual affinity when the first entity communicates with the second entity for at least the affinity minimum number of qualifying events for the affinity qualifying time interval;
identifying a collaboration of the first entity and the second entity based on the first instance of affinity and one or more second instances of affinity found that meet the collaboration minimum number of qualifying events within the collaboration qualifying time interval, wherein one affinity is determined to be one qualifying event within each collaboration time slice;
reporting the collaboration of the first entity and the second entity using the first anonymous identifier and the second anonymous identifier for privacy enhanced identification of the collaboration;
identifying a gathering of the first entity and the second entity with additional entities meeting the minimum gathering size, wherein the first entity, the second entity, and the additional entities are within the proximity of each other for a period of time; and
reporting the gathering using the first anonymous identifier, the second anonymous identifier, and additional anonymous identifiers for the additional entities for privacy enhanced identification of the gathering.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the operations further comprise:
identifying a mode via which the first entity communicates with the second entity.

### Claim 13 (depends on 11)

The computer system of claim 11, wherein a Software as a Service (SaaS) is configured to perform computer system operations.

### Claim 14 (depends on 11)

The computer system of claim 11, wherein the operations further comprise:
updating the configurable parameters.

### Claim 15 (depends on 11)

The computer system of claim 11, wherein the operations further comprise: determining instances of affinity among entities of various types.
