IP Library Granted Patent US 10,373,123
Granted Patent B2
US 10,373,123 · App. 16/172,145 · Granted Aug 6, 2019

Event scheduling

Inventors: Johnny Chen (Sunnyvale, CA); Thomas L. Dean (Los Altos Hills, CA); Gabriel Schine (Los Banos, CA); Qiangfeng Peter Lau (Mountain View, CA); Sudeep Gandhe (Sunnyvale, CA)
Assignee: Google LLC
G06Q10/1095G06Q10/00G06Q10/06G06Q10/109G06Q30/02G06Q50/01H04L67/22H04L67/306
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,373,123
App. No.
16/172,145
Granted
Aug 6, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for determining other users that will attend an event with a user. One of the methods includes receiving, by a computer-implemented agent for a device, input from a user identifying an event, determining constraints for other users that will be invited to attend the event, determining one or more other users who meet the constraints, identifying, for each of the other users, other computer-implemented agents, each of the other agents for respective other devices, sending, to each of the other agents, a request to determine whether the respective other user of the other agent is interested in attending the event, receiving, from a first subset of the other agents, a response that indicates that the respective other user is interested in attending the event, and facilitating communication between the user and the respective other users.

Claims (54)

1. A system, comprising:

a data processing apparatus; and

a non-transitory computer readable storage medium in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:

for each of two or more requests:

receiving, by a first computer-implemented agent for a first device from second computer-implemented agent for a second device, the request that identifies one or more constraints for attending the event, wherein the second device is a different device than the first device;

in response to receiving the request, determining, by the first computer-implemented agent using a profile for a first person who operates first device, whether attributes for the first person satisfy the one or more constraints for attending the event;

in response to determining that the attributes for the first person satisfy the one or more constraints for attending the event for at least one of the two or more requests, requesting, by the first computer-implemented agent from the second computer-implemented agent, and without sharing data identifying the first person, data defining additional details about the event or a the second person the operates the second device that were not included in the request; and

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, determining to skip presentation of information about the event to the first person.

2. The system of claim 1 , the operations comprising:

after receiving data defining the additional details, presenting, by the first computer-implemented agent, data for the request including the additional details about the event or the second person.

3. The system of claim 1 , wherein determining, by the first computer-implemented agent using the profile for the first person, whether attributes for the first person satisfy the one or more constraints for attending the event comprises determining, by the first computer-implemented agent using the profile for the first person and a calendar for the first person, whether attributes for the first person satisfy the one or more constraints for attending the event, wherein the calendar for the first person is separate from the profile for the first person.

4. The system of claim 1 , the operations comprising:

in response to determining that the attributes for the first person satisfy the one or more constraints for attending the event for at least one of the two or more requests:

determining, by the first computer-implemented agent, privacy settings for the first person;

in response to determining the privacy settings for the first person, determining one or more attributes for the first person that the first computer-implemented agent is permitted to disclose in communications with other computer-implemented agents; and

sending, by the first computer-implemented agent to the second computer-implemented agent, a message that includes data defining some of the one or more attributes for the first person.

5. The system of claim 4 , wherein requesting the data defining the additional details about the event or the second person that were not included in the request comprises sending the message that includes the data defining some of the one or more attributes for the first person.

6. The system of claim 1 , the operations comprising:

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, determining to skip sending a message, to the second computer-implemented agent, for data defining additional details about the event or the second person that were not included in the request.

7. The system of claim 1 , the operations comprising:

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, sending, by the first computer-implemented agent to the second computer-implemented agent, a message indicating that the first person will not attend the event with the second person.

8. The system of claim 7 , wherein sending, by the first computer-implemented agent to the second computer-implemented agent, the message indicating that the first person will not attend the event with the second person comprises sending a message indicating that the first person does not satisfy some of the one or more constraints for attending the event.

9. The system of claim 1 , the operations comprising:

after receiving data defining the additional details, sending, by the first computer-implemented agent to the second computer-implemented agent, a message that includes data defining one or more attributes for the first person that were not identified in the request.

10. The system of claim 1 , the operations comprising:

after receiving data defining the additional details, scheduling, by the first computer-implemented agent with the second computer-implemented agent, a time for the event using a calendar for the first person.

11. A computer-implemented method comprising:

for each of two or more requests:

receiving, by a first computer-implemented agent for a first device from second computer-implemented agent for a second device, the request that identifies one or more constraints for attending the event, wherein the second device is a different device than the first device;

in response to receiving the request, determining, by the first computer-implemented agent using a profile for a first person who operates first device, whether attributes for the first person satisfy the one or more constraints for attending the event;

in response to determining that the attributes for the first person satisfy the one or more constraints for attending the event for at least one of the two or more requests, requesting, by the first computer-implemented agent from the second computer-implemented agent, and without sharing data identifying the first person, data defining additional details about the event or a the second person the operates the second device that were not included in the request; and

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, determining to skip presentation of information about the event to the first person.

12. The method of claim 11 , comprising:

after receiving data defining the additional details, presenting, by the first computer-implemented agent, data for the request including the additional details about the event or the second person.

13. The method of claim 11 , wherein determining, by the first computer-implemented agent using the profile for the first person, whether attributes for the first person satisfy the one or more constraints for attending the event comprises determining, by the first computer-implemented agent using the profile for the first person and a calendar for the first person, whether attributes for the first person satisfy the one or more constraints for attending the event, wherein the calendar for the first person is separate from the profile for the first person.

14. The method of claim 11 , comprising:

in response to determining that the attributes for the first person satisfy the one or more constraints for attending the event for at least one of the two or more requests:

determining, by the first computer-implemented agent, privacy settings for the first person;

in response to determining the privacy settings for the first person, determining one or more attributes for the first person that the first computer-implemented agent is permitted to disclose in communications with other computer-implemented agents; and

sending, by the first computer-implemented agent to the second computer-implemented agent, a message that includes data defining some of the one or more attributes for the first person.

15. The method of claim 14 , wherein requesting the data defining the additional details about the event or the second person that were not included in the request comprises sending the message that includes the data defining some of the one or more attributes for the first person.

16. The method of claim 11 , comprising:

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, determining to skip sending a message, to the second computer-implemented agent, for data defining additional details about the event or the second person that were not included in the request.

17. The method of claim 11 , comprising:

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, sending, by the first computer-implemented agent to the second computer-implemented agent, a message indicating that the first person will not attend the event with the second person.

18. The method of claim 17 , wherein sending, by the first computer-implemented agent to the second computer-implemented agent, the message indicating that the first person will not attend the event with the second person comprises sending a message indicating that the first person does not satisfy some of the one or more constraints for attending the event.

19. The method of claim 11 , comprising:

after receiving data defining the additional details, sending, by the first computer-implemented agent to the second computer-implemented agent, a message that includes data defining one or more attributes for the first person that were not identified in the request.

20. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

for each of two or more requests:

receiving, by a first computer-implemented agent for a first device from second computer-implemented agent for a second device, the request that identifies one or more constraints for attending the event, wherein the second device is a different device than the first device;

in response to receiving the request, determining, by the first computer-implemented agent using a profile for a first person who operates first device, whether attributes for the first person satisfy the one or more constraints for attending the event;

in response to determining that the attributes for the first person satisfy the one or more constraints for attending the event for at least one of the two or more requests, requesting, by the first computer-implemented agent from the second computer-implemented agent, and without sharing data identifying the first person, data defining additional details about the event or a the second person the operates the second device that were not included in the request; and

in response to determining that at least one of the attributes for the first person does not satisfy a corresponding constraint from the one or more constraints for attending the event for at least one of the two or more requests, determining to skip presentation of information about the event to the first person.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: CHEN, JOHNNY; DEAN, THOMAS L.; SCHINE, GABRIEL; LAU, QIANGFENG PETER; GANDHE, SUDEEP
To: GOOGLE LLC
Reel/Frame 047355/0635 →
CHANGE OF NAME Recorded Oct 30, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 047363/0333 →
Continuity (4)
Continuation 15970315 · May 3, 2018
Continuation 15223267 · Jul 29, 2016
Continuation 14325484 · Jul 8, 2014
Related Publication 20190066060A1 · Feb 28, 2019