IP Library Granted Patent US 10,015,125
Granted Patent B2
US 10,015,125 · App. 14/732,934 · Granted Jul 3, 2018

Directory generation and messaging

Inventors: James Robert Patterson (San Francisco, CA); Zachary Thomas Parker (San Francisco, CA)
Assignee: Zinc, Inc.
H04L51/22G06Q10/10G06Q10/107H04L61/1594
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,015,125
App. No.
14/732,934
Granted
Jul 3, 2018
Kind
B2
Abstract

Contacts information is received from user devices that are associated with different users, the contacts information for each user device comprising one or more contact entries. Lookup information is identified for each contact entry of a plurality of contact entries using the contacts information. For each of the plurality of contact entries, a messaging directory associated with the same enterprise as the contact entry is identified using the identified lookup information, and the identified messaging directory is generated using information in the contact entry.

Claims (100)

1. A computer-implemented method for generating messaging directories, comprising:

receiving contacts information from user devices, the user devices associated with different users, the contacts information for each user device comprising one or more contact entries;

identifying lookup information for each contact entry of a plurality of contact entries using the contacts information, the lookup information for each contact entry including at least one of: an identifier for an enterprise which is associated with a user identified by the contact entry, and a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry;

for each of the plurality of contact entries,

identifying, using the identified lookup information, a messaging directory associated with the same enterprise as the contact entry, the messaging directory stored in a directory database storing a plurality of messaging directories, each of the plurality of messaging directories storing a respective plurality of directory entries, and

responsive to a determination that a directory entry corresponding to the contact entry does not exist in the identified messaging directory, creating a directory entry in the identified messaging directory using information in the contact entry,

wherein a user is provided access to the identified messaging directory based in part on the user being associated with the same enterprise as the identified messaging directory;

identifying a messaging directory associated with a first user, wherein the identified messaging directory and the user are associated with the same enterprise and the messaging directory includes a plurality of directory entries;

providing the identified messaging directory to an enterprise messaging module on a user device associated with the first user, the enterprise messaging module configured to:

present the directory entries in the messaging directory to the first user,

receive a selection by the first user of one or more of the directory entries, and

generate a message to be sent to one or more recipients, each of the recipients associated with one of the directory entries selected by the first user;

receiving the generated message from the user device, the message including recipient information specifying the recipients for the message;

identifying the recipients for the message using the recipient information; and

providing the message to the identified recipients.

2. The computer-implemented method of claim 1 , wherein identifying lookup information for each contact entry of a plurality of contact entries using the contacts information, further comprises:

parsing the contacts information into a set of contact entries;

identifying some contact entries, in the set of contact entries, that include lookup information, wherein the lookup information for each of the identified contact entries includes: a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry.

3. The computer-implemented method of claim 2 , wherein identifying some contact entries, in the set of contact entries, that include lookup information, wherein the lookup information for each of the identified contact entries includes a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry, further comprises:

identifying contact entries, of the set of contact entries, that include email addresses; and

identifying which of the email addresses have a domain component associated with an enterprise or are personal email addresses.

4. The computer-implemented method of claim 1 , wherein identifying, using the identified lookup information, a messaging directory associated with the same enterprise as the contact entry, further comprises:

using a directory lookup table to identify the messaging directory, wherein the directory lookup table maps domain components of email addresses that are specific to enterprises to corresponding messaging directories for those enterprises.

5. The computer-implemented method of claim 1 , wherein providing the message to the identified recipients comprises:

determining techniques for providing the message to each of the identified recipients based in part on whether an enterprise messaging module is installed on the user devices associated with the recipients, wherein the enterprise messaging module presents the messaging directory to the user; and

providing the message to the identified recipients in accordance with the determined techniques.

6. The computer-implemented method of claim 1 , wherein only names of entities associated with the directory entries are available for presentation to the user by the enterprising messaging module of the user device.

7. The computer-implemented method of claim 1 , further comprising:

prior to providing a messaging directory to a user device associated with a user, wherein the messaging directory and the user are associated with the same enterprise:

receiving contacts information from the user device, wherein the contacts information includes calendar information associated with the user,

scoring the plurality of directory entries using the contacts information received from the user device, and

ordering the plurality of directory entries according to their respective score, such that directory entries are presented to the user according to a likelihood of interaction between the user and the directory entries; and

providing the messaging directory to the user device.

8. A non-transitory computer-readable storage medium storing executable computer program instructions for generating messaging directories, the instructions executable to perform steps comprising:

receiving contacts information from user devices, the user devices associated with different users, the contacts information for each user device comprising one or more contact entries;

identifying lookup information for each contact entry of a plurality of contact entries using the contacts information, the lookup information for each contact entry including at least one of: an identifier for an enterprise which is associated with a user identified by the contact entry, and a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry;

for each of the plurality of contact entries,

identifying, using the identified lookup information, a messaging directory associated with the same enterprise as the contact entry, the messaging directory stored in a directory database storing a plurality of messaging directories, each of the plurality of messaging directories storing a respective plurality of directory entries, and

responsive to a determination that a directory entry corresponding to the contact entry does not exist in the identified messaging directory, creating a directory entry in the identified messaging directory using information in the contact entry,

wherein a user is provided access to the identified messaging directory based in part on the user being associated with the same enterprise as the identified messaging directory;

identifying a messaging directory associated with a user, wherein the identified messaging directory and the user are associated with the same enterprise and the messaging directory includes a plurality of directory entries;

providing the identified messaging directory to an enterprise messaging module on a user device associated with the user, the enterprise messaging module configured to:

present the directory entries in the messaging directory to the user,

receive a selection by the user of one or more of the directory entries, and

generate a message to be sent to one or more recipients, each of the recipients associated with one of the directory entries selected by the user;

receiving the generated message from the user device, the message including recipient information specifying the recipients for the message;

identifying the recipients for the message using the recipient information; and

providing the message to the identified recipients.

9. The computer-readable medium of claim 8 , wherein identifying lookup information for each contact entry of a plurality of contact entries using the contacts information, further comprises:

parsing the contacts information into a set of contact entries;

identifying some contact entries, in the set of contact entries, that include lookup information, wherein the lookup information for each of the identified contact entries includes: a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry.

10. The computer-readable medium of claim 9 , wherein identifying some contact entries, in the set of contact entries, that include lookup information, wherein the lookup information for each of the identified contact entries includes a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry, further comprises:

identifying contact entries, of the set of contact entries, that include email addresses; and

identifying which of the email addresses have a domain component associated with an enterprise or are personal email addresses.

11. The computer-readable medium of claim 8 , wherein identifying, using the identified lookup information, a messaging directory associated with the same enterprise as the contact entry, further comprises:

using a directory lookup table to identify the messaging directory, wherein the directory lookup table maps domain components of email addresses that are specific to enterprises to corresponding messaging directories for those enterprises.

12. The computer-readable medium of claim 8 , wherein providing the message to the identified recipients comprises:

determining techniques for providing the message to each of the identified recipients based in part on whether an enterprise messaging module is installed on the user devices associated with the recipients, wherein the enterprise messaging module presents the messaging directory to the user; and

providing the message to the identified recipients in accordance with the determined techniques.

13. The computer-readable medium of claim 8 , wherein only names of entities associated with the directory entries are available for presentation to the user by the enterprising messaging module of the user device.

14. The computer-readable medium of claim 8 , further comprising:

prior to providing a messaging directory to a user device associated with a user, wherein the messaging directory and the user are associated with the same enterprise,

receiving contacts information from the user device, wherein the contacts information includes calendar information associated with the user,

scoring the plurality of directory entries using the contacts information received from the user device, and

ordering the plurality of directory entries according to their respective score, such that directory entries are presented to the user according to a likelihood of interaction between the user and the directory entries; and

providing the messaging directory to the user device.

15. A system for generating messaging directories, comprising:

a processor configured to execute modules; and

a memory storing the modules, the modules comprising:

an information selection module configured to:

receive contacts information from user devices, the user devices associated with different users, the contacts information for each user device comprising one or more contact entries,

identify lookup information for each contact entry of a plurality of contact entries using the contacts information, the lookup information for each contact entry including at least one of: an identifier for an enterprise which is associated with a user identified by the contact entry, and a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry; and

a directory identification module configured to:

for each of the plurality of contact entries,

identify, using the identified lookup information, a messaging directory associated with the same enterprise as the contact entry, the messaging directory stored in a directory database storing a plurality of messaging directories, each of the plurality of messaging directories storing a respective plurality of directory entries;

a directory generation module configured to:

for each of the plurality of contact entries,

responsive to a determination that a directory entry corresponding to the contact entry does not exist in the identified messaging directory, create a directory entry in the identified messaging directory using information in the contact entry,

wherein a user is provided access to the identified messaging directory based in part on the user being associated with the same enterprise as the identified messaging directory; and

a communications module configured to:

identify a messaging directory associated with a user, wherein the identified messaging directory and the user are associated with the same enterprise and the messaging directory includes a plurality of directory entries,

provide the identified messaging directory to an enterprise messaging module on a user device associated with the user, the enterprise messaging module configured to:

present the directory entries in the messaging directory to the user,

receive a selection by the user of one or more of the directory entries, and

generate a message to be sent to one or more recipients, each of the recipients associated with one of the directory entries selected by the user,

receive the generated message from the user device, the message including recipient information specifying the recipients for the message,

identify the recipients for the message using the recipient information, and

provide the message to the identified recipients.

16. The system of claim 15 , wherein the information selection module is further configured to:

parse the contacts information into a set of contact entries; and

identify some contact entries, in the set of contact entries, that include lookup information, wherein the lookup information for each of the identified contact entries includes: a domain component of an email address that is specific to an enterprise which is associated with a user identified by the contact entry.

17. The system of claim 16 , wherein the information selection module is further configured to:

identify contact entries, of the set of contact entries, that include email addresses; and

identify which of the email addresses have a domain component associated with an enterprise or are personal email addresses.

18. The system of claim 15 , wherein the directory identification module is further configured to:

use a directory lookup table to identify the messaging directory, wherein the directory lookup table maps domain components of email addresses that are specific to enterprises to corresponding messaging directories for those enterprises.

19. The system of claim 15 , wherein the communications module is further configured to

determine techniques for providing the message to each of the identified recipients based in part on whether an enterprise messaging module is installed on the user devices associated with the recipients, wherein the enterprise messaging module presents the messaging directory to the user; and

provide the message to the identified recipients in accordance with the determined techniques.

20. The system of claim 15 , wherein only names of entities associated with the directory entries are available for presentation to the user by the enterprising messaging module of the user device.

Assignments (6)
SECURITY INTEREST Recorded Feb 1, 2023
From: SERVICEMAX, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 062564/0441 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME NUMBERS 057982/0243 Recorded Jan 3, 2023
From: MONROE CAPITAL MANAGEMENT ADVISORS LLC
To: SERVICEMAX, INC.
Reel/Frame 062266/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2022
From: ZINC, INC.
To: SERVICEMAX, INC.
Reel/Frame 059686/0743 →
SECURITY AGREEMENT Recorded Nov 1, 2021
From: ZINC, INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS LLC
Reel/Frame 057982/0243 →
CHANGE OF NAME Recorded Oct 28, 2016
From: COTAP, INC.
To: ZINC, INC.
Reel/Frame 040509/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2015
From: PATTERSON, JAMES ROBERT; PARKER, ZACHARY THOMAS
To: COTAP, INC.
Reel/Frame 035803/0803 →
Continuity (2)
Provisional Application 62014917 · Jun 20, 2014
Related Publication 20150370918A1 · Dec 24, 2015