IP Library Granted Patent US 10,356,243
Granted Patent B2
US 10,356,243 · App. 15/403,906 · Granted Jul 16, 2019

Virtual assistant aided communication with 3rd party service in a communication session

Inventors: Mehul K. Sanghavi (Sunnyvale, CA); Jeffrey P. Schwerdtfeger (Santa Cruz, CA)
Assignee: Apple Inc.
H04M3/5183H04L51/02H04L51/046H04L51/18H04L65/1069H04M1/72552H04M3/42382H04M3/5166H04M2203/256H04M2250/74
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,356,243
App. No.
15/403,906
Granted
Jul 16, 2019
Kind
B2
Abstract

Disclosed are systems, methods, and non-transitory computer-readable storage media for utilizing a virtual assistant to assist a user with a communication session between the user and a third party service. A user can use a communication application to enter a message directed to the virtual assistant and request assistance to communicate with a 3 rd party service. In response, the virtual assistant can access a set of communication instructions associated with the 3 rd party service. The set of communication instructions can include a set of commands for communicating with the 3 rd party service, services provided by the 3 rd party service and data needed by the 3 rd party service to facilitate communication. The virtual assistant can use the communication instructions to gather data needed by the 3 rd party service, communicate with the 3 rd party service and present the user with data received from the 3 rd party service.

Claims (104)

1. A method comprising: at a client device:

receiving a message of a communication session from a first user of a plurality of users, wherein the message is transmitted during a conversation between the plurality of users;

determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message;

in accordance with a determination that the virtual assistant is capable of facilitating the third party service associated with content of the message:

displaying, in the communication session, a prompt associated with a user authentication procedure;

receiving, from a second user of the plurality of users, user credentials;

identifying data needed by a third party to provide the third party service;

transmitting the data and user credentials to the third party;

receiving a response message from the third party regarding the third party service; and

displaying, in the communication session, information corresponding to the response message received from the third party regarding the third party service.

2. The method of claim 1 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises:

analyzing the message; and

identifying at least one task associated with the message.

3. The method of claim 2 , wherein analyzing the message further comprises performing semantic analysis on text within the message.

4. The method of claim 3 , wherein performing semantic analysis further comprises utilizing natural language processing.

5. The method of claim 1 , further comprising:

displaying the virtual assistant as a participant of the communication session.

6. The method of claim 1 , wherein the third party service is associated with at least one of an airline, a bank, a restaurant, an insurance company, and/or a store.

7. The method of claim 1 , further comprising:

prompting at least one user of the plurality of users regarding whether the at least one user prefers to utilize the virtual assistant in the communication session.

8. The method of claim 1 , wherein the conversation is an instant messaging conversation.

9. The method of claim 1 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises identifying the third party service based on at least user history information and/or user preference information.

10. The method of claim 1 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises analyzing at least one of message entered by a user of the plurality of users.

11. The method of claim 1 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises analyzing the message.

12. The method of claim 1 , further comprising:

connecting the client device to the third party;

determining that a predetermined amount of time has elapsed during which messages have not been entered as part of the communication session; and

in accordance with a determination that the predetermined amount of time has elapsed during which messages have not been entered as part of the communication session, disconnecting the client device from the third party.

13. The method of claim 1 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises determining at least one service associated with the third party.

14. The method of claim 13 , wherein determining at least one service associated with the third party further comprises:

displaying, in the communication session, at least one service;

receiving, from the second user of the plurality of users, a selection of a displayed service.

15. The method of claim 1 , further comprising:

prompting the second user of the plurality of users to provide the data needed by the third party to provide the third party service.

16. The method of claim 1 , further comprising:

adding, by the virtual assistant, at least one additional user to the communication session.

17. The method of claim 1 , further comprising:

establishing, by the virtual assistant, communication between at least one user of the communication session and at least one representative of the third party service.

18. The method of claim 1 , wherein the communication session is a conversation using a messaging application.

19. The method of claim 1 , further comprising:

displaying a plurality of options within the communication session;

receiving a selection of at least one option of the plurality of options from at least one user of the plurality of users;

determining the data needed by the third party to provide the third party service based on the received selection; and

transmitting the data to the third party.

20. A system comprising:

one or more processors; and

memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the one or more processors to:

receive a message of a communication session from a first user of a plurality of users, wherein the message is transmitted during a conversation between the plurality of users;

determine whether a virtual assistant is capable of facilitating a third party service associated with content of the message;

in accordance with a determination that the virtual assistant is capable of facilitating the third party service associated with content of the message:

display, in the communication session, a prompt associated with a user authentication procedure;

receive, from a second user of the plurality of users, user credentials;

identify data needed by a third party to provide the third party service;

transmit the data and user credentials to the third party;

receive a response message from the third party regarding the third party service; and

display, in the communication session, information corresponding to the response message received from the third party regarding the third party service.

21. The system of claim 20 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises:

analyzing the message; and

identifying at least one task associated with the message.

22. The system of claim 21 , wherein analyzing the message further comprises performing semantic analysis on text within the message.

23. The system of claim 20 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

display the virtual assistant as a participant of the communication session.

24. The system of claim 20 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

prompt at least one user of the plurality of users regarding whether the at least one user prefers to utilize the virtual assistant in the communication session.

25. The system of claim 20 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises identifying the third party service based on at least user history information and/or user preference information.

26. The system of claim 20 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

connect the client device to the third party;

determine that a predetermined amount of time has elapsed during which messages have not been entered as part of the communication session; and

in accordance with a determination that the predetermined amount of time has elapsed during which messages have not been entered as part of the communication session, disconnect the client device from the third party.

27. The system of claim 20 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises determining at least one service associated with the third party.

28. The system of claim 20 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

display, in the communication session, at least one service;

receive, from the second user of the plurality of users, a selection of a displayed service.

29. The system of claim 20 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

prompt the second user of the plurality of users to provide the data needed by the third party to provide the third party service.

30. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by one or more processors, cause the one or more processors to:

receive a message of a communication session from a first user of a plurality of users, wherein the message is transmitted during a conversation between the plurality of users;

determine whether a virtual assistant is capable of facilitating a third party service associated with content of the message;

in accordance with a determination that the virtual assistant is capable of facilitating the third party service associated with content of the message:

display, in the communication session, a prompt associated with a user authentication procedure;

receive, from a second user of the plurality of users, user credentials;

identify data needed by a third party to provide the third party service;

transmit the data and user credentials to the third party;

receive a response message from the third party regarding the third party service; and

display, in the communication session, information corresponding to the response message received from the third party regarding the third party service.

31. The non-transitory computer-readable medium of claim 30 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises:

analyzing the message; and

identifying at least one task associated with the message.

32. The non-transitory computer-readable medium of claim 31 , wherein analyzing the message further comprises performing semantic analysis on text within the message.

33. The non-transitory computer-readable medium of claim 30 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

display the virtual assistant as a participant of the communication session.

34. The non-transitory computer-readable medium of claim 30 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

prompt at least one user of the plurality of users regarding whether the at least one user prefers to utilize the virtual assistant in the communication session.

35. The non-transitory computer-readable medium of claim 30 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises identifying the third party service based on at least user history information and/or user preference information.

36. The non-transitory computer-readable medium of claim 30 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

connect the client device to the third party;

determine that a predetermined amount of time has elapsed during which messages have not been entered as part of the communication session; and

in accordance with a determination that the predetermined amount of time has elapsed during which messages have not been entered as part of the communication session, disconnect the client device from the third party.

37. The non-transitory computer-readable medium of claim 30 , wherein determining whether a virtual assistant is capable of facilitating a third party service associated with content of the message further comprises determining at least one service associated with the third party.

38. The non-transitory computer-readable medium of claim 30 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

display, in the communication session, at least one service;

receive, from the second user of the plurality of users, a selection of a displayed service.

39. The non-transitory computer-readable medium of claim 30 , wherein the instructions, which when executed by the one or more processors, further cause the one or more processors to:

prompt the second user of the plurality of users to provide the data needed by the third party to provide the third party service.

Continuity (2)
Continuation 14732625 · Jun 5, 2015
Related Publication 20170346949A1 · Nov 30, 2017
Cited By (34)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,203 US 12,293,763 US 12,301,635 US 12,316,634 US 12,333,404 US 12,361,943 US 12,367,879 US 12,380,876 US 12,386,434 US 12,386,491 US 12,424,218 US 12,431,128 US 12,477,470 US 12,556,890 US 12,608,171 US 12,608,414 US 12,613,621 US 12,613,730 US 12,619,452 US 12,633,289 US 12,638,959 US 12,651,020