IP Library Granted Patent US 10,581,769
Granted Patent B2
US 10,581,769 · App. 15/208,877 · Granted Mar 3, 2020

Integrating third-party programs with messaging systems

Inventors: James R. Ensor (Red Bank, NJ); Markus A. Hofmann (Fair Haven, NJ); Fei Yu (San Francisco, CA)
Assignee: Nokia of America Corporation
H04L51/046G06F17/28G10L17/22H04L12/1822H04L51/02H04L67/20G10L2015/088G10L2015/228
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,581,769
App. No.
15/208,877
Granted
Mar 3, 2020
Kind
B2
Abstract

Systems and methods for invoking a third-party program as an additional participant of a chat session include monitoring events of a chat session of a messaging platform. At least one of the events of the chat session is determined to satisfy a triggering condition associated with a third-party program. In response to determining that the at least one of the events of the chat session satisfies the triggering condition associated with the third-party program, the third-party program is invoked as an additional participant of the chat session.

Claims (61)

1. A method for invoking a third-party program as an additional participant of a chat session, comprising:

monitoring events of an existing chat session of a messaging platform;

determining that at least one of the events of the existing chat session satisfies a triggering condition;

identifying a plurality of third-party programs associated with the triggering condition;

transmitting a notification to each of the identified third-party programs indicating that the identified third-party program is associated with the triggering condition satisfied by the at least one of the events;

receiving a response from responding third-party programs indicating that the responding third-party program is interested in being invoked as an additional participant in the existing chat session;

ranking and filtering the responding third-party programs based on a selection criteria to determine a ranked subset of the responding third-party programs;

presenting the ranked subset of the responding third-party programs to an existing participant of the existing chat session based on the selection criteria;

in response to receiving a selection of one of the responding third-party programs from the existing participant of the existing chat session, invoking the selected third-party program as the additional participant of the existing chat session; and

sending data associated with the at least one of the events of the existing chat session to the selected third-party program, wherein the selected third-party program performs a function in the existing chat session based on 1) the data associated with the at least one of the events and 2) interactions between the selected third-party program and the existing participant in the existing chat session.

2. The method as recited in claim 1 , further comprising:

registering the plurality of third-party programs with the triggering condition.

3. The method as recited in claim 2 , wherein:

registering the third plurality of third-party programs with the triggering condition comprises:

receiving the triggering condition from an entity associated with the plurality of third-party programs; and

storing the association between the triggering condition and the plurality of third-party programs in a registry; and

identifying a plurality of third-party programs associated with the triggering condition comprises:

comparing the at least one of the events with the triggering condition.

4. The method as recited in claim 1 , wherein the response from the responding third-party programs comprises services provided by the responding third-party program.

5. The method as recited in claim 1 , wherein the triggering condition comprises at least one of an event, a criteria, or a state relating to the existing chat session.

6. The method as recited in claim 1 , wherein the triggering condition comprises a keyword referred to in the existing chat session.

7. The method of claim 1 , wherein the triggering condition comprises a detection of a foreign language in the existing chat session.

8. The method of claim 1 , wherein the triggering condition comprises weather at a location of the existing participant.

9. A non-transitory computer readable medium storing computer program instructions for invoking a third-party program as an additional participant of a chat session, which, when executed on a processor, cause the processor to perform operations comprising:

monitoring events of an existing chat session of a messaging platform;

determining that at least one of the events of the existing chat session satisfies a triggering condition;

identifying a plurality of third-party programs associated with the triggering condition;

transmitting a notification to each of the identified third-party programs indicating that the identified third-party program is associated with the triggering condition satisfied by the at least one of the events;

receiving a response from responding third-party programs indicating that the responding third-party program is interested in being invoked as an additional participant in the existing chat session;

ranking and filtering the responding third-party programs based on a selection criteria to determine a ranked subset of the responding third-party programs;

presenting the ranked subset of the responding third-party programs to an existing participant of the existing chat session based on the selection criteria;

in response to receiving a selection of one of the responding third-party programs from the existing participant of the existing chat session, invoking the selected third-party program as the additional participant of the existing chat session; and

sending data associated with the at least one of the events of the existing chat session to the selected third-party program, wherein the selected third-party program performs a function in the existing chat session based on 1) the data associated with the at least one of the events and 2) interactions between the selected third-party program and the existing participant in the existing chat session.

10. The non-transitory computer readable medium as recited in claim 9 , the operations further comprising:

registering the plurality of third-party programs with the triggering condition.

11. The non-transitory computer readable medium as recited in claim 10 , wherein:

registering the plurality of third-party programs with the triggering condition comprises:

receiving the triggering condition from an entity associated with the plurality of third-party programs; and

storing the association between the triggering condition and the plurality of third-party programs in a registry; and

identifying a plurality of third-party programs associated with the triggering condition comprises:

comparing the at least one of the events with the triggering condition.

12. The non-transitory computer readable medium as recited in claim 9 , wherein the response from the responding third-party programs comprises services provided by the responding third-party program.

13. The non-transitory computer readable medium of claim 9 , wherein the triggering condition comprises a detection of a foreign language in the existing chat session.

14. The non-transitory computer readable medium of claim 9 , wherein the triggering condition comprises weather at a location of the existing participant.

15. An apparatus for invoking a third-party program as an additional participant of a chat session, comprising:

a processor; and

a memory to store computer program instructions, the computer program instructions when executed on the processor cause the processor to perform operations comprising:

monitoring events of an existing chat session of a messaging platform;

determining that at least one of the events of the existing chat session satisfies a triggering condition;

identifying a plurality of third-party programs associated with the triggering condition;

transmitting a notification to each of the identified third-party programs indicating that the identified third-party program is associated with the triggering condition satisfied by the at least one of the events;

receiving a response from responding third-party programs indicating that the responding third-party program is interested in being invoked as an additional participant in the existing chat session;

ranking and filtering the responding third-party programs based on a selection criteria to determine a ranked subset of the responding third-party programs;

presenting the ranked subset of the responding third-party programs to an existing participant of the existing chat session based on the selection criteria;

in response to receiving a selection of one of the responding third-party programs from the existing participant of the existing chat session, invoking the selected third-party program as the additional participant of the existing chat session; and

sending data associated with the at least one of the events of the existing chat session to the selected third-party program, wherein the selected third-party program performs a function in the existing chat session based on 1) the data associated with the at least one of the events and 2) interactions between the selected third-party program and the existing participant in the existing chat session.

16. The apparatus as recited in claim 15 , the operations further comprising registering the plurality of third-party programs with the triggering condition.

17. The apparatus as recited in claim 15 , wherein the triggering condition comprises at least one of an event, a criteria, or a state relating to the existing chat session.

18. The apparatus as recited in claim 15 , wherein the triggering condition comprises a keyword referred to in the existing chat session.

19. The apparatus of claim 15 , wherein the triggering condition comprises a detection of a foreign language in the existing chat session.

20. The apparatus of claim 15 , wherein the triggering condition comprises weather at a location of the existing participant.

Assignments (2)
CHANGE OF NAME Recorded Jan 25, 2019
From: ALCATEL-LUCENT USA INC.
To: NOKIA OF AMERICA CORPORATION
Reel/Frame 048144/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2016
From: ENSOR, JAMES R.; HOFMANN, MARKUS A.; YU, FEI
To: ALCATEL-LUCENT USA INC.
Reel/Frame 039160/0909 →
Continuity (1)
Related Publication 20180018972A1 · Jan 18, 2018