# US 10,771,407 B2 · Multi-level bot architecture for data access

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,407 B2
- Document ID: US10771407B2
- Status: Granted
- Kind: B2
- Application number: 15/859,166
- Filed: 2017-12-29
- Published: 2019-07-04
- Granted: 2020-09-08
- Earliest claimed: 2017-12-29
- Assignees: Paypal, Inc.
- Applicants: Paypal, Inc.
- Inventors: Amir Youssefi
- Web page: https://patentgrep.com/patent/US10771407B2

## CPC

- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- G06F 16/90332: {Natural language query formulation or dialogue systems}
- G06F 16/951: Indexing; Web crawling techniques
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 63/105: {Multiple levels of security}
- H04L 51/043: using or handling presence information
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 51/222: using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for using multi-level bots is discussed. The method includes accessing, via an integration bot, a chat text, provided by a chat application instance, that indicates a user query. The method includes accessing a user state associated with a user of the chat application instance, the user state indicating previous chat texts associated with the chat application instance and corresponding knowledge queries. The method includes generating, based on the user state and analysis of the chat text, a knowledge query for data access using one or more domain bots. The method includes determining, based on the knowledge query, a domain bot and associated communication protocol. The method includes communicating the knowledge query using the communication protocol to the domain bot to obtain a reply. The method includes communicating a response text to the chat application instance, the response text generated based on the reply and the user state.

## Claims

### Claim 1

A method for using multi-level bots comprising an integration bot and a plurality of domain bots, the method comprising:
accessing, via the integration bot, a chat text provided by a chat application instance, the chat text indicating a user query to a knowledge system, wherein the chat application instance is on a user device remote from the multi-level bots;
accessing, via the integration bot, a user state associated with a user of the chat application instance, the user state indicating previous chat texts associated with the chat application instance and corresponding knowledge queries;
generating, via the integration bot and based on the user state and analysis of the chat text, a knowledge query for the integration bot to access data at the knowledge system that comprises the plurality of domain bots;
determining, via the integration bot and based on the knowledge query, a domain bot from the plurality of domain bots to which the knowledge query will be directed and a communication protocol associated with the domain bot;
determining, via the integration bot, a security level associated with the domain bot;
removing, via the integration bot, text elements from the knowledge query based on the security level of the domain bot;
communicating, from the integration bot to the domain bot, the knowledge query using the communication protocol to obtain a reply from the domain bot;
generating, via the integration bot, a response text for the chat application instance based on the reply from the domain bot and the user state, wherein the response text includes at least one text element that was removed from the knowledge query based on the security level of the domain bot; and
communicating, via the integration bot, the response text to the chat application instance remote from the multi-level bots.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the accessing the chat text and the communicating the response text is performed via a chat session that is hosted by an external chat server;
the security level of the chat application instance indicates a level of data allowable to be communicated to the external chat server; and
the generating the knowledge query is further based on the security level.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining communication parameters of the domain bot, including translating one or more user query elements into communication parameters, wherein said communicating the knowledge query uses a command sequence that is generated using the communication parameters.

### Claim 4 (depends on 1)

The method of claim 1, wherein said communicating with the domain bot comprises translating the knowledge query into JavaScript Object Notation (JSON) data in accordance with the communication protocol.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining an additional knowledge query based on analysis of the chat text, the user state, and the knowledge query, for accessing data at the knowledge system;
determining, based on the knowledge query, another domain bot and associated additional communication protocol, from the plurality of domain bots; and
communicating the additional knowledge query using the additional communication protocol to the another domain bot to obtain an additional reply, wherein the response text is further generated based on the additional reply.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the knowledge query comprises:
determining a context of the chat text based on the user state; and
generating elements for the knowledge query based on the context.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining, based on the security level and the user query, a routing path that indicates a data or service source for the domain bot, wherein said communicating the knowledge query is performed using the routing path.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
onboarding the domain bot into the knowledge system to provide access for the integration bot, wherein said onboarding comprises:
the determining the communication protocol associated with the domain bot;
the determining the security level associated with the domain bot; and
determining a source destination for the domain bot, the source destination indicating a source of information for the domain bot.

### Claim 9

A system comprising:
a non-transitory memory storing instructions; and
a processor configured to execute the instructions to cause the system to:
access, via an integration bot, a chat text provided by a chat application instance, the chat text indicating a user query to a knowledge system;
access a user state associated with the chat application instance, the user state indicating a context for the user query;
generate, based on the user state and analysis of the chat text, a knowledge query for accessing data at the knowledge system that comprises a plurality of domain bots;
determine, based on the knowledge query, a domain bot from the plurality of domain bots and an associated communication protocol;
determine a security level associated with the domain bot;
remove text elements from the knowledge query based on the security level of the domain bot;
communicate the knowledge query using the communication protocol to the domain bot to obtain a reply from the domain bot;
generate a response text for the chat application instance based on the reply from the domain bot and the user state, wherein the response text includes at least one text element that was removed from the knowledge query based on the security level of the domain bot; and
communicate the response text to the chat application instance.

### Claim 10 (depends on 9)

The system of claim 9, wherein executing the instructions further causes the system to,
onboard the domain bot into the knowledge system to provide access for the integration bot, wherein said onboard comprises:
the determine the communication protocol associated with the domain bot;
the determine the security level associated with the domain bot; and
determine a source destination for the domain bot, the source destination indicating a source of information for the domain bot.

### Claim 11 (depends on 9)

The system of claim 9, wherein executing the instructions further causes the system to,
determine, based on the user query and the security level of the chat application instance, a routing path that indicates a data or service source for the domain bot, wherein said communicating the knowledge query is performed using the routing path.

### Claim 12

A non-transitory machine-readable medium having instructions stored thereon, wherein the instructions are executable to cause performance of operations comprising:
accessing, via an integration bot, a chat text provided by a chat application instance, the chat text indicating a user query to a knowledge system;
accessing, via the integration bot, a user state associated with a user of the chat application instance, the user state indicating a context for the user query;
determining, based on the user state and analysis of the chat text, a domain bot from a plurality of domain bots, wherein the domain bot has a communication protocol;
generating, via the integration bot and based on the user query, a knowledge query for the integration bot to access data at the knowledge system that comprises the plurality of domain bots;
determining, by the integration bot, a security level associated with the domain bot;
removing, by the integration bot, text elements from the knowledge query based on the security level of the domain bot;
communicating the knowledge query using the communication protocol from the integration bot to the domain bot to obtain a reply from the domain bot;
generating, by the integration bot, a response text for the chat application instance based on the reply from the domain bot and the user state, wherein the response text includes at least one text element that was removed from the knowledge query based on the security level of the domain bot; and
communicating the response text to the chat application instance from the integration bot, wherein the chat application instance is on a remote device separate from the integration bot and the plurality of domain bots.

### Claim 13 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein the operations further comprise:
onboarding the domain bot into the knowledge system to provide access for the integration bot, wherein said onboarding comprises:
determining the communication protocol associated with the domain bot;
the determining the security level associated with the domain bot; and
determining a source destination for the domain bot, the source destination indicating a source of information for the domain bot.

### Claim 14 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein the operations further comprise:
determining, based on the user query and the security level of the chat application instance, a routing path that indicates a data or service source for the domain bot wherein said communicating the knowledge query is performed using the routing path.

### Claim 15 (depends on 1)

The method of claim 1, wherein each of the plurality of domain bots provides a different function.

### Claim 16 (depends on 1)

The method of claim 1, wherein the user state includes a user location.

### Claim 17 (depends on 9)

The system of claim 9, wherein the user state includes an embedded web page indicator to indicate a web page from which the context is indicated for the user query.

### Claim 18 (depends on 9)

The system of claim 9, wherein each of the plurality of domain bots provides a different function.

### Claim 19 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein the operations further comprise storing the removed text elements from the knowledge query in the user state.

### Claim 20 (depends on 12)

The non-transitory machine-readable medium of claim 12, wherein the user state includes an embedded web page indicator to indicate a web page from which the context is indicated for the user query.
