IP Library Granted Patent US 9,965,748
Granted Patent B2
US 9,965,748 · App. 15/223,267 · Granted May 8, 2018

Event scheduling

Inventors: Johnny Chen (Sunnyvale, CA); Thomas L. Dean (Los Altos Hills, CA); Gabriel Schine (Los Banos, CA); Qiangfeng Peter Lau (Sunnyvale, 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 9,965,748
App. No.
15/223,267
Filed
Jul 29, 2016
Granted
May 8, 2018
Kind
B2
Art Unit
2452
USPC
709/206
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 (64)

1. A computer-implemented method comprising:

receiving, by a computer-implemented agent for a device, input from a user identifying an event which there is an indication the user plans to attend;

determining, by the agent, constraints for other users that will be invited to attend the event;

determining, by the agent, one or more other users who meet the constraints;

identifying, by the agent and for each of the other users, other computer-implemented agents, each of the other agents for respective other devices;

sending, by the agent and 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 that does not include a time slot for the event;

receiving, by the agent from a first subset of the other agents, a response that indicates that the respective other user is interested in attending the event based on sending the request to determine whether the respective other user of the other agent is interested in attending the event;

identifying, by the agent, at least one of the first subset of the other agents whose respective other user is interested in attending the event; and

scheduling, by the agent and the at least one of the first subset of the other agents, a proposed time slot for the event for the user and the other user using first calendar information for the user and second calendar information for the other user in response to identifying the at least one of the first subset of the other agents whose respective other user is interested in attending the event.

2. The method of claim 1 , comprising:

providing, by the agent, a presentation of information about the event and the proposed time slot for the event in response to scheduling the proposed time slot for the event.

3. The method of claim 2 , comprising:

receiving, by the agent, input indicating that the user plans to attend the event during the proposed time slot.

4. The method of claim 3 , comprising:

reserving, by the agent, the proposed time slot for the event in a calendar of the user in response to receiving the input indicating that the user plans to attend the event during the proposed time slot.

5. The method of claim 1 , wherein scheduling the proposed time slot for the event for the user and the other user comprises:

determining, using the first calendar information for the user and the second calendar information for the other user who is interested in attending the event, a proposed time and a proposed location for the event without sharing any user's calendar information with any of the users.

6. The method of claim 1 , wherein scheduling the proposed time slot for the event for the user and the other user comprises:

determining, using the first calendar information for the user and the second calendar information for the other user who is interested in attending the event, a proposed time and a proposed location for the event; and

reserving the proposed time for the event in a calendar of the user.

7. The method of claim 6 , wherein scheduling the proposed time slot for the event for the user and the other user comprises:

prompting, by the agent, the user to determine whether the user is interested in attending another event identified on the calendar of the user which conflicts with the proposed time for the event; and

receiving, by the agent, input indicating that the user will not attend the other event.

8. The method of claim 1 , comprising:

determining, for the user, respective privacy settings; and

providing, to the other agents, only information about the user that is identified by the respective privacy settings as information that can be disclosed.

9. The method of claim 1 , comprising:

for a particular other user from the other users until the user and the other user agree to attend the event together or not:

providing, by the agent, additional information about the user in a message to a particular other agent from the other agents that corresponds with the particular other user in response to receiving the response that indicates that the respective other user is interested in attending the event, the message separate from the request to determine whether the other user is interested in attending the event; and

receiving, by the agent, other additional information about the other user or the event from the particular other agent.

10. The method of claim 9 , wherein the additional information comprises a job title for the user and the other additional information comprises another job title for the particular other user.

11. The method of claim 9 , wherein the additional information comprises a name of an employer of the user and the other additional information comprises another name of another employer for the particular other user.

12. The method of claim 9 , wherein the additional information comprises a name of a city in which the user works or lives and the other additional information comprises another name of another city in which the particular other user works or lives.

13. The method of claim 1 , comprising facilitating communication between the user and the respective other users in response to receiving the response that indicates that the respective other users are interested in attending the event.

14. The method of claim 13 , wherein facilitating communication between the user and the respective other users in response to receiving the response that indicates that the respective other users are interested in attending the event comprises facilitating communication about the user or the other users.

15. The method of claim 14 , wherein facilitating communication between the user and the respective other users in response to receiving the response that indicates that the respective other users are interested in attending the event comprises facilitating, by the agent for each of the other agents in the first subset of the other agents, communication between only the agent and the respective other agent.

16. The method of claim 1 , wherein:

determining, by the agent, constraints for other users that will be invited to attend the event comprises determining, by the agent, constraints for other users that will be invited to attend the event without receiving an identity for any of the other users from the user; and

determining, by the agent, the one or more other users who meet the constraints comprises determining, by the agent, the one or more other users who meet the constraints without revealing an identity for any of the other users to the user.

17. The method of claim 16 , wherein determining the constraints for the other users that will be invited to attend the event without receiving an identity for any of the other users from the user comprises:

prompting, by the agent, the user for the constraints; and

receiving, by the agent, input from the user identifying the constraints.

18. The method of claim 16 , wherein determining the constraints for the other users that will be invited to attend the event without receiving an identity for any of the other users from the user comprises identifying a profile for the user that defines the constraints for the other users that will be invited to attend the event.

19. The method of claim 1 , wherein determining the constraints for other users that will be invited to attend the event comprises determining the constraints that are specific to a type of the event, or all events for the user.

20. 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:

receiving, by a computer-implemented agent for a device, input from a user identifying an event which there is an indication the user plans to attend;

determining, by the agent, constraints for other users that will be invited to attend the event;

determining, by the agent, one or more other users who meet the constraints;

identifying, by the agent and for each of the other users, other computer-implemented agents, each of the other agents for respective other devices;

sending, by the agent and 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 that does not include a time slot for the event;

receiving, by the agent from a first subset of the other agents, a response that indicates that the respective other user is interested in attending the event based on sending the request to determine whether the respective other user of the other agent is interested in attending the event;

identifying, by the agent, at least one of the first subset of the other agents whose respective other user is interested in attending the event; and

scheduling, by the agent and the at least one of the first subset of the other agents, a proposed time slot for the event for the user and the other user using first calendar information for the user and second calendar information for the other user in response to identifying the at least one of the first subset of the other agents whose respective other user is interested in attending the event.

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

receiving, by a computer-implemented agent for a device, input from a user identifying an event which there is an indication the user plans to attend;

determining, by the agent, constraints for other users that will be invited to attend the event;

determining, by the agent, one or more other users who meet the constraints;

identifying, by the agent and for each of the other users, other computer-implemented agents, each of the other agents for respective other devices;

sending, by the agent and 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 that does not include a time slot for the event;

receiving, by the agent from a first subset of the other agents, a response that indicates that the respective other user is interested in attending the event based on sending the request to determine whether the respective other user of the other agent is interested in attending the event;

identifying, by the agent, at least one of the first subset of the other agents whose respective other user is interested in attending the event; and

scheduling, by the agent and the at least one of the first subset of the other agents, a proposed time slot for the event for the user and the other user using first calendar information for the user and second calendar information for the other user in response to identifying the at least one of the first subset of the other agents whose respective other user is interested in attending the event.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: CHEN, JOHNNY; DEAN, THOMAS L.; SCHINE, GABRIEL; LAU, QIANGFENG PETER; GANDHE, SUDEEP
To: GOOGLE INC.
Reel/Frame 039295/0260 →
Continuity (2)
Continuation 14325484 · Jul 8, 2014
Related Publication 20160335606A1 · Nov 17, 2016