Multi-modal conversational intercom

US10587708B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10587708-B2
Application numberUS-201615083019-A
CountryUS
Kind codeB2
Filing dateMar 28, 2016
Priority dateMar 28, 2016
Publication dateMar 10, 2020
Grant dateMar 10, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The techniques discussed herein allow an agent that provides dialog-based services to converse with a user via any mode. A central service programmed to be able to communicate via any mode collects information from agents necessary to act on the agents' behalf. In order to ensure that an agent has a maximal presence across modes, the central service provides auxiliary services such as language translation, fidelity upgrading and/or downgrading, modal constraint conformation, etc. Moreover, the central service provides session tracking via user profiles stored at the intercom so that if a user changes a mode by which the user is conversing with an agent, the central service can keep the context of the conversation across the new mode. Furthermore, agents can communicate with other agents via the central service, allowing other agents to provide services to agents or to add their services to an ongoing dialog with a user.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more processors; a network interface; and computer-readable media having stored thereon computer-executable instructions, that, when executed, cause the one or more processors to perform operations comprising: maintaining a plurality of communication channels for electronic communication via the network interface; accessing a user profile of a user, the user profile being associated with one or more user-communication channels by which a user device of the user is able to communicate; maintaining a directory of a plurality of agents, each agent being a computer program that, when executed, implements a dialog-based service to provide information in a user interface via an exchange of natural language, the plurality of communication channels being shared by the plurality of agents, each agent being linkable to one or more of the communication channels; linking one or more first-agent communication channels to a first agent from the plurality of agents, wherein linking the one or more first-agent communication channels to the first agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more first-agent communication channels on behalf of the first agent; receiving a natural language communication from the user of the user device via the network interface through one of the user-communication channels, the natural language communication causing a service trigger to activate the first agent for communication with the user device in response to identifying relevant services specified in the natural language communication; based at least in part on the service trigger, creating a dialog session between the first agent and the user device via the network interface using one or more of the user-communication channels and the first-agent communication channels; capturing dialog between the first agent and the user device via the dialog session; detecting a change of activity on a first communication channel; detecting a change of activity on a second communication channel of the user-communication channels; and maintaining the dialog session between the first agent and the user using the second communication channel, wherein maintaining the dialog session includes continuing the dialog between the first agent and the user and routing messages via an API endpoint associated with the first agent over the second communication channel, the second communication channel being one of the first-agent communication channels. 2. The system of claim 1 , wherein the directory of a plurality of agents further comprises references to application programming interface (API) endpoints associated with the plurality of agents, wherein creating the dialog session includes: receiving messages from the user over one of the user-communication channels; relaying the messages to the first agent via an API endpoint associated with the first agent; receiving responses from the first agent via the API endpoint; and relaying the responses to the user device over one of the user-communication channels on behalf of the first agent. 3. The system of claim 1 , wherein the detecting the change of activity includes: monitoring or receiving one or more of an active status of the second communication channel; a user indication; a preferred communication channel; a communication channel from which a majority of communication is being received; a communication channel from which most-recent communication has been received; or a communication channel preferred to be a channel-in-use based at least in part on one or more of: a time, a location of the user, an IP address associated with communication received from the communication channel, a calendar event, or a status of a device. 4. The system of claim 1 , the operations further comprising formatting communication between the first agent and the user device to conform to standards of the communication channel. 5. The system of claim 1 , wherein the first agent is executed at a location remote from the system and communicates with the system via the network interface. 6. The system of claim 1 , wherein creating a dialog further comprises: selecting the first agent based at least in part on a reference to services provided by the first agent that correspond to keywords associated with the service trigger. 7. The system of claim 1 , wherein the service trigger comprises a first service trigger, and the operations further comprise: identifying from the dialog session a second service trigger associated with a service provided by a second agent of the plurality of agents; and adding the second agent to the dialog session, the adding including: relaying, to the second agent via an API endpoint associated with the second agent, messages sent to and from the first agent and the user device, respectively; and relaying messages from the second agent via the API endpoint associated with the second agent to the first agent and the user device over the communication channel. 8. The system of claim 1 , the operations further comprising: receiving an indication from the first agent that a request received via the dialog session from the communication channel is outside a scope of services provided by the first agent; identifying a second agent that provides services associated with the request; and adding the second agent to the dialog session, the adding including: relaying to the second agent, via an API endpoint associated with the second agent, messages sent to and from the first agent and the user device, respectively; and relaying messages from the second agent via the API endpoint associated with the at least second agent to first agent and the user device over the communication channel. 9. The system of claim 2 , wherein creating the dialog session includes at least one of: receiving a message addressed to the first agent from the user device over the communication channel, the message including contact information of the first agent corresponding to the communication channel; receiving a request from the user device to add the first agent to a dialog on the communication channel; or receiving a request to link the first agent to the communication channel. 10. The system of claim 1 , the operations further comprising: adding information corresponding to a communication channel to a directory of communication channels, the information for linking agents or user profiles to the communication channel; receiving and storing information pertaining to agents in the directory of the plurality of agents; receiving one or more of a client id or a client token for web services associated with an agent, at least one of the client id or client token allowing the system to: relay messages on behalf of the agent; and call services provided by the agent; and receiving one or more of a client id or a client token associated with authentication of an agent on a communication channel, at least one of the client id or client token allowing the system to relay messages on behalf of the agent over the communication channel. 11. A non-transitory computer-readable medium having stored thereon instructions that, when executed, program one or more processors to perform operations comprising: registering an agent, the agent including instructions that, when executed, program one or more processors to perform operations comprising: linking one or more agent communication channels to the agent, wherein linking the one or more agent communication channels to the agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more agent com

Assignees

Inventors

Classifications

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Format adaptation, e.g. format conversion or compression · CPC title

  • Interoperability with other network applications or services · CPC title

  • User profiles · CPC title

  • H04L51/02Primary

    using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10587708B2 cover?
The techniques discussed herein allow an agent that provides dialog-based services to converse with a user via any mode. A central service programmed to be able to communicate via any mode collects information from agents necessary to act on the agents' behalf. In order to ensure that an agent has a maximal presence across modes, the central service provides auxiliary services such as language …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L51/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).