# US 10,768,787 B2 · Collecting and presenting data including links from communications sent to or from a user

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

- Number: US 10,768,787 B2
- Document ID: US10768787B2
- Status: Granted
- Kind: B2
- Application number: 15/368,886
- Filed: 2016-12-05
- Published: 2017-03-23
- Granted: 2020-09-08
- Earliest claimed: 2009-11-16
- Assignees: Oath Inc.
- Applicants: Oath Inc.
- Inventors: Joshua Robert Russell Jacobson; Gregory Garland Thatcher; Brian Tadao Kobashikawa; Robin Andrew Radez; Frank J. Cort
- Web page: https://patentgrep.com/patent/US10768787B2

## CPC

- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- H04L 51/18: Commands or executable codes
- H04L 67/306: User profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A communication is received over a network from a sender. A method includes identifying, by a computing device, one or more candidates for a phone number in the communication, the one or more candidates including a first candidate; determining, by the computing device, whether the first candidate is an IP address; and in response to determining that the first candidate is not an IP address, storing, in a data repository, the first candidate as a first phone number in a profile of the sender.

## Claims

### Claim 1

A method, comprising:
receiving, over a network, a communication from a sender;
identifying, by a computing device, one or more candidates for a phone number in the communication, the one or more candidates including a first candidate that matches a phone number pattern;
determining, by the computing device, that the first candidate does not match an IP address pattern;
storing, by the computing device in a data repository, the first candidate as a first phone number in a profile of the sender when the first candidate does not match the IP address pattern; and
ignoring, by the computing device, the first candidate when the first candidate matches the IP address pattern.

### Claim 2 (depends on 1)

The method of claim 1, wherein the sender is an automated system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising displaying, in a user interface, the first phone number as being associated with the profile.

### Claim 4 (depends on 1)

The method of claim 1, wherein the identifying one or more candidates comprises identifying a first string in the communication as the first candidate.

### Claim 5 (depends on 4)

The method of claim 4, further comprising identifying a second string in the communication as a candidate for a phone number, and determining whether the second string is a combination of date and time.

### Claim 6 (depends on 4)

The method of claim 4, further comprising identifying a second string in the communication as a candidate for a phone number, and determining whether words preceding the second string contain one or more words indicating that the second string is not a phone number.

### Claim 7 (depends on 1)

The method of claim 1, further comprising checking words preceding or following the first candidate to determine whether the words indicate that the first candidate is not a phone number.

### Claim 8 (depends on 7)

The method of claim 7, wherein checking the words comprises determining whether words preceding the first candidate match at least one of a plurality of predetermined words.

### Claim 9 (depends on 7)

The method of claim 7, further comprising determining whether the words indicate that the first candidate is not a phone number of the sender.

### Claim 10

A system, comprising:
a processor; and
memory storing instructions configured to instruct the processor to:
receive, over a network, a communication from a sender;
identify one or more candidates for a phone number in the communication, the one or more candidates including a first candidate that matches a phone number pattern;
determine that the first candidate does not match an IP address pattern;
store the first candidate as a first phone number in a profile for the sender when the first candidate does not match the IP address pattern; and
ignore the first candidate when the first candidate matches the IP address pattern.

### Claim 11 (depends on 10)

The system of claim 10, wherein the instructions are further configured to instruct the processor to determine a type of phone number for the first candidate, and store the type in the profile as being associated with the first phone number.

### Claim 12 (depends on 10)

The system of claim 10, wherein the determining whether the first candidate is an IP address comprises matching the first candidate against a regular expression.

### Claim 13 (depends on 10)

The system of claim 10, wherein the determining whether the first candidate is an IP address comprises checking whether each of parts of the first candidate separated by dots is an octet having a value between 0 and 255.

### Claim 14 (depends on 10)

The system of claim 10, wherein the instructions are further configured to instruct the processor to identify at least one link in the communication, and display the first phone number and the at least one link in a user interface.

### Claim 15

A non-transitory computer-readable medium storing computer readable instructions, which when executed, cause a computing device to:
receive, over a network, a communication from a sender;
identify, by the computing device, one or more candidates for a phone number in the communication, the one or more candidates including a first candidate that matches a phone number pattern;
determine, by the computing device, that the first candidate does not match an IP address pattern;
store, by the computing device in a data repository, the first candidate as a first phone number in a profile of the sender when the first candidate does not match the IP address pattern; and
ignore, by the computing device, the first candidate when the first candidate matches the IP address pattern.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the determining whether the first candidate is an IP address comprises checking the first candidate against patterns for IP addresses.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions further cause the computing device to determine whether the first candidate is a date and time combination.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein determining whether the first candidate is a date and time combination comprises checking whether the first candidate matches a pattern comprising four digits followed by a dash or a forward slash.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions further cause the computing device to identify at least one link in the communication, and display the first phone number and the at least one link in a user interface.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the identifying one or more candidates comprises using a first regular expression, and the determining whether a first candidate is an IP address comprises using a second regular expression to identify strings that are numbers separated by dots.
