IP Library › Granted Patent US 10,579,212
Granted Patent B2
US 10,579,212 · App. 14/724,751 · Granted Mar 3, 2020

Structured suggestions

Inventors: Daniel C. Gross (San Francisco, CA); Lawrence Y. Yang (San Francisco, CA); Stephen O. Lemay (Palo Alto, CA); Tiffany S. Jon (Sunnyvale, CA)
Assignee: APPLE INC.
G06F3/0482G06F16/2379G06F16/9535G06Q10/107G06Q10/109G06Q10/1095G06Q50/01H04L51/046H04L51/08
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,579,212
App. No.
14/724,751
Granted
Mar 3, 2020
Kind
B2
Abstract

An electronic device suggests contacts and calendar events for users based on their messages. The device can analyze a user's messages for contact and event information and automatically generate or update suggested contacts and calendar events for the user based on this information. The suggested contacts and calendar events can be searchable as if they were manually entered by the user, and the user can choose to add or ignore the suggested contacts and calendar events.

Claims (134)

1. A non-transitory computer readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for:

receiving a message that includes unstructured content;

in response to receiving the message, identifying, in the unstructured content, event information; and

in response to identifying the event information, generating a calendar event associated with the identified event information;

in response to a request to view the received message, concurrently displaying, on the display:

at least a portion of the received message;

an indication that the generated calendar event is a suggested calendar event; and

a rejection affordance for the generated calendar event;

while displaying, on the display, the rejection affordance for the generated calendar event, detecting selection of the rejection affordance; and

in response to detecting selection of the rejection affordance:

ceasing to display the indication that the generated calendar event is a suggested calendar event, and

maintaining display of the at least a portion of the received message.

2. The non-transitory computer readable storage medium of claim 1 , wherein the identified event information comprises a date and a time.

3. The non-transitory computer readable storage medium of claim 1 , wherein identifying event information further includes:

identifying a format of content in the message;

identifying a template from a collection of predefined templates that is configured to recognize event information in the format of the content in the message; and

analyzing the content with the identified template for the event information.

4. The non-transitory computer readable storage medium of claim 3 , wherein the message comprises an email and the content comprises a reservation.

5. The non-transitory computer readable storage medium of claim 3 , the one or more programs further including instructions for:

updating the collection of predefined templates over a network.

6. The non-transitory computer readable storage medium of claim 1 , wherein identifying event information further includes:

identifying in the message one or more references to a date and time based on a collection of predefined references to a date and time; and

analyzing the one or more identified references to a date and time for the event information.

7. The non-transitory computer readable storage medium of claim 6 , the one or more programs further including instructions for:

updating the collection of predefined references to a date and time over a network.

8. The non-transitory computer readable storage medium of claim 6 , the one or more programs further including instructions for:

downgrading one or more of the predefined references to a date and time as a result of a request to reject the suggested calendar event.

9. The non-transitory computer readable storage medium of claim 6 , the one or more programs further including instructions for:

generating one or more of the predefined references to a date and time by cross-correlating event information in a database comprising a plurality of calendar events with language associated with event information on the electronic device.

10. The non-transitory computer readable storage medium of claim 1 , the one or more programs further including instructions for:

receiving a request for a calendar event; and

in response to the request for a calendar event, searching the suggested calendar event.

11. The non-transitory computer readable storage medium of claim 1 , the one or more programs further including instructions for:

in response to the generation of the calendar event, refraining from storing the suggested calendar event in a remote database over a network.

12. The non-transitory computer readable storage medium of claim 1 , the one or more programs further including instructions for:

receiving a request to add the suggested calendar event to a database comprising a plurality of calendar events; and

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in the database.

13. The non-transitory computer readable storage medium of claim 12 , the one or more programs further including instructions for:

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in a remote database over a network.

14. The non-transitory computer readable storage medium of claim 1 , the one or more programs further including instructions for:

receiving a request to reject the suggested calendar event; and

in response to the request to reject the suggested calendar event, preventing the suggested calendar event from being generated in the future as a result of the event information being identified in a future message.

15. The non-transitory computer readable storage medium of claim 1 , wherein the unstructured content is natural language content.

16. An electronic device, comprising:

a display;

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a message that includes unstructured content;

in response to receiving the message, identifying, in the unstructured content, event information; and

in response to identifying the event information, generating a calendar event associated with the identified event information;

in response to a request to view the received message, concurrently displaying, on the display:

at least a portion of the received message; and

an indication that the generated calendar event is a suggested calendar event; and

a rejection affordance for the generated calendar event;

while displaying, on the display, the rejection affordance for the generated calendar event, detecting selection of the rejection affordance; and

in response to detecting selection of the rejection affordance:

ceasing to display the indication that the generated calendar event is a suggested calendar event, and

maintaining display of the at least a portion of the received message.

17. The electronic device of claim 15 , wherein the identified event information comprises a date and a time.

18. The electronic device of claim 15 , wherein identifying event information further includes:

identifying a format of content in the message;

identifying a template from a collection of predefined templates that is configured to recognize event information in the format of the content in the message; and

analyzing the content with the identified template for the event information.

19. The electronic device of claim 18 , wherein the message comprises an email and the content comprises a reservation.

20. The electronic device of claim 18 , the one or more programs further including instructions for:

updating the collection of predefined templates over a network.

21. The electronic device of claim 16 , wherein identifying event information further includes:

identifying in the message one or more references to a date and time based on a collection of predefined references to a date and time; and

analyzing the one or more identified references to a date and time for the event information.

22. The electronic device of claim 21 , the one or more programs further including instructions for:

updating the collection of predefined references to a date and time over a network.

23. The electronic device of claim 21 , the one or more programs further including instructions for:

downgrading one or more of the predefined references to a date and time as a result of a request to reject the suggested calendar event.

24. The electronic device of claim 21 , the one or more programs further including instructions for:

generating one or more of the predefined references to a date and time by cross-correlating event information in a database comprising a plurality of calendar events with language associated with event information on the electronic device.

25. The electronic device of claim 16 , the one or more programs further including instructions for:

receiving a request for a calendar event; and

in response to the request for a calendar event, searching the suggested calendar event.

26. The electronic device of claim 16 , the one or more programs further including instructions for:

in response to the generation of the calendar event, refraining from storing the suggested calendar event in a remote database over a network.

27. The electronic device of claim 16 , the one or more programs further including instructions for:

receiving a request to add the suggested calendar event to a database comprising a plurality of calendar events; and

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in the database.

28. The electronic device of claim 27 , the one or more programs further including instructions for:

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in a remote database over a network.

29. The electronic device of claim 15 , the one or more programs further including instructions for:

receiving a request to reject the suggested calendar event; and

in response to the request to reject the suggested calendar event, preventing the suggested calendar event from being generated in the future as a result of the event information being identified in a future message.

30. The electronic device of claim 16 , wherein the unstructured content is natural language content.

31. A method comprising:

at an electronic device with a display:

receiving a message that includes unstructured content;

in response to receiving the message, identifying, in the unstructured content, event information; and

in response to identifying the event information, generating a calendar event associated with the identified event information;

in response to a request to view the received message, concurrently displaying, on the display:

at least a portion of the received message; and

an indication that the generated calendar event is a suggested calendar event; and

a rejection affordance for the generated calendar event;

while displaying, on the display, the rejection affordance for the generated calendar event, detecting selection of the rejection affordance; and

in response to detecting selection of the rejection affordance:

ceasing to display the indication that the generated calendar event is a suggested calendar event, and

maintaining display of the at least a portion of the received message.

32. The method of claim 31 , wherein the identified event information comprises a date and a time.

33. The method of claim 31 , wherein identifying event information further includes:

identifying a format of content in the message;

identifying a template from a collection of predefined templates that is configured to recognize event information in the format of the content in the message; and

analyzing the content with the identified template for the event information.

34. The method of claim 33 , wherein the message comprises an email and the content comprises a reservation.

35. The method of claim 33 , further comprising:

updating the collection of predefined templates over a network.

36. The method of claim 31 , wherein identifying event information further includes:

identifying in the message one or more references to a date and time based on a collection of predefined references to a date and time; and

analyzing the one or more identified references to a date and time for the event information.

37. The method of claim 36 , further comprising:

updating the collection of predefined references to a date and time over a network.

38. The method of claim 36 , further comprising:

downgrading one or more of the predefined references to a date and time as a result of a request to reject the suggested calendar event.

39. The method of claim 36 , further comprising:

generating one or more of the predefined references to a date and time by cross-correlating event information in a database comprising a plurality of calendar events with language associated with event information on the method.

40. The method of claim 31 , further comprising:

receiving a request for a calendar event; and

in response to the request for a calendar event, searching the suggested calendar event.

41. The method of claim 31 , further comprising:

in response to the generation of the calendar event, refraining from storing the suggested calendar event in a remote database over a network.

42. The method of claim 31 , further comprising:

receiving a request to add the suggested calendar event to a database comprising a plurality of calendar events; and

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in the database.

43. The method of claim 42 , further comprising:

in response to the request to add the suggested calendar event to the database, storing the generated calendar event, without the indication that the generated calendar event is a suggested calendar event, in a remote database over a network.

44. The method of claim 31 , further comprising:

receiving a request to reject the suggested calendar event; and

in response to the request to reject the suggested calendar event, preventing the suggested calendar event from being generated in the future as a result of the event information being identified in a future message.

45. The method of claim 31 , wherein the unstructured content is natural language content.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2015
From: GROSS, DANIEL C.; YANG, LAWRENCE Y.; LEMAY, STEPHEN O.; JON, TIFFANY S.
To: APPLE INC.
Reel/Frame 036814/0932 →
Continuity (3)
Continuation In Part 14718049 · May 20, 2015
Provisional Application 62005839 · May 30, 2014
Related Publication 20150347985A1 · Dec 3, 2015