IP Library Granted Patent US 11,256,772
Granted Patent B2
US 11,256,772 · App. 17/301,691 · Granted Feb 22, 2022

Systems and methods for providing client-side enablement of server communications via a single communication session for a plurality of browser-based presentation interfaces

Inventors: Anal Shah (Fremont, CA); Kanan Garg (San Francisco, CA); Justin Macmillin (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/957H04L67/141H04L67/142H04L67/42
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 11,256,772
App. No.
17/301,691
Granted
Feb 22, 2022
Kind
B2
Abstract

A method for communicating with a server system, by a client device via a browser application, is provided. The method: (i) presents browser-based presentation interfaces including browser tabs and/or browser windows, the browser-based presentation interfaces including a master presentation interface and at least one slave presentation interface; (ii) establishes a single communication session with the server system, by the master presentation interface, the single communication session being associated with a session identifier configured to differentiate the single communication session; (iii) enables communication between the browser-based presentation interfaces and the server system via the single communication session, by: exchanging data communications between the master presentation interface and the server system using the single communication session; and permitting the at least one slave presentation interface to indirectly communicate with the server system via the master presentation interface; and (iv) dynamically updates each of the browser-based presentation interfaces in real-time.

Claims (34)

1. A method of supporting communication with a remote device across a plurality of graphical user interfaces presented at a client device coupled to a network, the method comprising:

broadcasting, by a first graphical user interface of the plurality of graphical user interfaces, a status request to one or more of the plurality of graphical user interfaces presented at the client device;

receiving, by the first graphical user interface, a response from a second graphical user interface of the plurality of graphical user interfaces, the second graphical user interface having an existing communication session with the remote device;

configuring, by the first graphical user interface, an object associated with the first graphical user interface maintained at the client device based at least in part on the response from the second graphical user interface of the plurality of graphical user interfaces; and

thereafter communicating, by the first graphical user interface, with the remote device over the network via the existing communication session using the second graphical user interface of the plurality of graphical user interfaces.

2. The method of claim 1 , further comprising identifying, by the first graphical user interface, one or more existing active chat sessions with a chat messaging service associated with a chat messaging interface of the first graphical user interface prior to broadcasting the status request.

3. The method of claim 2 , wherein identifying the one or more existing active chat sessions comprises determining a number of existing active chat sessions based on a value of a local storage variable in local storage associated with a browser application.

4. The method of claim 1 , wherein configuring the object comprises copying chat messaging content from session storage associated with the second graphical user interface to session storage associated with the first graphical user interface.

5. The method of claim 4 , wherein a second object associated with the second graphical user interface identifies the second graphical user interface as a master.

6. The method of claim 1 , wherein configuring the object comprises creating a JavaScript Object Notation (JSON) object that does not include a private variable identifying the first graphical user interface as a master.

7. The method of claim 6 , wherein a second JSON object associated with the second graphical user interface includes the private variable identifying the second graphical user interface as the master.

8. The method of claim 1 , wherein configuring the object comprises creating a JavaScript Object Notation (JSON) object with a private variable having a value identifying the first graphical user interface as a slave.

9. The method of claim 8 , wherein a second JSON object associated with the second graphical user interface includes the private variable having a second value identifying the second graphical user interface as a master.

10. The method of claim 1 , wherein the object comprises a file associated with the first graphical user interface.

11. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, are configurable to cause the processor to perform operations comprising:

broadcasting, by a first graphical user interface of a plurality of graphical user interfaces, a status request to one or more of the plurality of graphical user interfaces;

receiving, by the first graphical user interface, a response from a second graphical user interface of the plurality of graphical user interfaces, the second graphical user interface having an existing communication session with a remote device;

configuring, by the first graphical user interface, an object associated with the first graphical user interface based at least in part on the response from the second graphical user interface of the plurality of graphical user interfaces; and

thereafter communicating, by the first graphical user interface, with the remote device over a network via the existing communication session using the second graphical user interface of the plurality of graphical user interfaces.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause the processor to identify one or more existing active chat sessions with a chat messaging service associated with a chat messaging interface of the first graphical user interface prior to broadcasting the status request.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the instructions are configurable to cause the processor to determine a number of existing active chat sessions based on a value of a local storage variable in local storage associated with a browser application.

14. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause the processor to copy chat messaging content from session storage associated with the second graphical user interface to session storage associated with the first graphical user interface.

15. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause the processor to create a JavaScript Object Notation (JSON) object that does not include a private variable identifying the first graphical user interface as a master.

16. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause the processor to create a JavaScript Object Notation (JSON) object with a private variable having a value identifying the first graphical user interface as a slave.

17. The non-transitory machine-readable storage medium of claim 11 , wherein the object comprises a file associated with the first graphical user interface.

18. An apparatus comprising:

a processor;

a non-transitory machine-readable storage medium that provides instructions that, when executed by the processor, are configurable to cause the apparatus to perform operations comprising:

broadcasting, by a first graphical user interface of a plurality of graphical user interfaces, a status request to one or more of the plurality of graphical user interfaces;

receiving, by the first graphical user interface, a response from a second graphical user interface of the plurality of graphical user interfaces, the second graphical user interface having an existing communication session with a remote device;

configuring, by the first graphical user interface, a file associated with the first graphical user interface based at least in part on the response from the second graphical user interface of the plurality of graphical user interfaces; and

thereafter communicating, by the first graphical user interface, with the remote device over a network via the existing communication session using the second graphical user interface of the plurality of graphical user interfaces.

19. The apparatus of claim 18 , wherein the instructions are configurable to cause the processor to copy chat messaging content from session storage associated with the second graphical user interface to session storage associated with the first graphical user interface.

20. The apparatus of claim 18 , wherein the second graphical user interface comprises a master graphical user interface.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: SHAH, ANAL; GARG, KANAN; MACMILLIN, JUSTIN PAUL
To: SALESFORCE.COM, INC.
Reel/Frame 056918/0431 →
Continuity (5)
Continuation In Part 17248475 · Jan 26, 2021
Continuation In Part 16814326 · Mar 10, 2020
Continuation 16595287 · Oct 7, 2019
Continuation 16140705 · Sep 25, 2018
Related Publication 20210232644A1 · Jul 29, 2021