# US 10,873,635 B2 · Multi-channel session connection management mechanism

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

- Number: US 10,873,635 B2
- Document ID: US10873635B2
- Status: Granted
- Kind: B2
- Application number: 16/139,988
- Filed: 2018-09-24
- Published: 2020-03-26
- Granted: 2020-12-22
- Earliest claimed: 2018-09-24
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Purushotham Babu Naidu; Jay Hurst; John Arlan Brock; Vikram Kommaraju; Soumen Bandyopadhyay
- Web page: https://patentgrep.com/patent/US10873635B2

## CPC

- H04L 65/1069: Session establishment or de-establishment
- H04L 65/1063: Application servers providing network services (systems providing special services to telephonic subscribers H04M3/42)
- H04L 65/1093: by adding participants; by removing participants
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 69/14: Multichannel or multilink protocols
- H04L 67/53: using third party service providers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques and structures to manage a multi-channel client-server connection is disclosed. A connection session is established between a client and in server response to receiving a call from a first browser interface element to establish the connection session. The session is shared in response to receiving a second call from a second browser interface element to establish a connection session.

## Claims

### Claim 1

A method for managing a multi-channel client-server connection, comprising:
receiving, at a client computing device, a call to establish a first subscription channel with a server computing device, wherein the first subscription channel comprises a channel between a first application page operating in a first browser interface element;
establishing a session connection between the client computing device and the server computing device, comprising establishing the first subscription channel between the first application page and a multi-tenant database hosted by the server computing device;
receiving, at the client computing device, a second call to establish a second subscription channel with the server computing device, wherein the second subscription channel comprises a channel between a second application page operating in a second browser interface element;
establishing the second subscription channel between the second application page and the multi-tenant database; and
managing a sharing of data transfers with the server computing device over the first subscription channel and data transfers with the server computing device over the second subscription channel via the session connection, wherein the first subscription channel is different from the second subscription channel.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
transferring first data between the client computing device and the server computing device over the first subscription channel via the session connection; and
transferring second data between the client computing device and the server computing device over the second subscription channel via the session connection.

### Claim 3 (depends on 1)

The method of claim 1, wherein managing the sharing of the session connection comprises multiplexing data transfers between the first subscription channel and the second subscription channel via the session connection.

### Claim 4 (depends on 1)

The method of claim 1, wherein managing the sharing of the session connection comprises the first subscription channel and the second subscription channel accessing the session connection via a shared browser interface component.

### Claim 5 (depends on 1)

The method of claim 1, wherein managing the sharing of the session connection comprises the first subscription channel and the second subscription channel accessing the session connection via dedicated worker browser interface components.

### Claim 6 (depends on 1)

The method of claim 1, wherein the call to establish the first subscription channel is received from a first browser interface element and the second call to establish the second subscription channel is received from a second browser interface element.

### Claim 7 (depends on 6)

The method of claim 6, wherein the first browser interface element comprises a first browser tab and the second browser interface element comprises a second browser tab.

### Claim 8

A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:
receive, at a client computing device, a call to establish a first subscription channel with a server computing device, wherein the first subscription channel comprises a channel between a first application page operating in a first browser interface element;
establish a session connection between the client computing device and the server computing device, comprising establishing the first subscription channel between the first application page and a multi-tenant database hosted by the server computing device;
receive, at the client computing device, a second call to establish a second subscription channel with the server computing device, wherein the second subscription channel comprises a channel between a second application page operating in a second browser interface element;
establish the second subscription channel between the second application page and the multi-tenant database; and
manage a sharing of-data transfers with the server computing device over the first subscription channel and data transfers with the server computing device over the second subscription channel via the session connection, wherein the first subscription channel is different from the second subscription channel.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, having stored thereon instructions that, when executed by one or more processors, are configurable to further cause the one or more processors to:
transfer first data between the client computing device and the server computing device over the first subscription channel via the session connection; and
transfer second data between the client computing device and the server computing device over the second subscription channel via the session connection.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein managing the sharing of the session connection comprises multiplexing data transfers between the first subscription channel and the second subscription channel via the session connection.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein managing the sharing of the session connection comprises the first subscription channel and the second subscription channel accessing the session connection via a shared browser interface component.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein managing the sharing of the session connection comprises the first subscription channel and the second subscription channel accessing the session connection via dedicated worker browser interface components.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the call to establish the first subscription channel is received from a first browser interface element and the second call to establish the second subscription channel is received from a second browser interface element.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the first browser interface element comprises a first browser window and the second browser interface element comprises a second browser window.

### Claim 15

A computing device comprising:
at least one physical memory device to store:
an application;
a browser interface; and
connection management logic; and
one or more processors coupled with the at least one physical memory device, the one or more processors configurable to execute the browser interface and the connection management logic to receive a call to establish a first subscription channel with a server computing device, establish a session connection between the client computing device and the server computing device, comprising establishing the first subscription channel between the first application page and a multi-tenant database hosted by the server computing device, receive a second call to establish a second subscription channel with the server computing device, establish the second subscription channel between the second application page and the multi-tenant database and manage a sharing of-data transfers with the server computing device over the first subscription channel and data transfers with the server computing device over the second subscription channel via the session connection, wherein the first subscription channel comprises a channel between a first application page operating in a first browser interface element wherein the second subscription channel comprises a channel between a second application page operating in a second browser interface element and the first subscription channel is different from the second subscription channel.

### Claim 16 (depends on 15)

The computing device of claim 15, wherein the connection management logic transfers first data between the client computing device and the server computing device over the first subscription channel via the session connection and transfers second data between the client computing device and the server computing device over the second subscription channel via the session connection.

### Claim 17 (depends on 16)

The computing device of claim 16, wherein the call to establish the first subscription channel is received from a first browser interface element and the second call to establish the second subscription channel is received from a second browser interface element.

### Claim 18 (depends on 17)

The computing device of claim 17, wherein the connection management logic manages the sharing of the session connection by multiplexing data transfers between the first subscription channel and the second subscription channel via the session connection.

### Claim 19 (depends on 17)

The computing device of claim 17, wherein the browser interface comprises a shared interface component, and wherein the connection management logic manages the sharing of the session connection via the shared interface component.

### Claim 20 (depends on 17)

The computing device of claim 17, wherein the browser interface comprises a dedicated worker component, and wherein the connection management logic manages the sharing of the session connection via one or more of the dedicated worker components.
