IP Library Granted Patent US 10,693,974
Granted Patent B2
US 10,693,974 · App. 15/718,098 · Granted Jun 23, 2020

Managing browser session navigation between one or more browsers

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,693,974
App. No.
15/718,098
Filed
Sep 28, 2017
Granted
Jun 23, 2020
Kind
B2
Art Unit
2454
USPC
709/203
Abstract

Methods and systems for detecting and/or synchronizing browsing session navigation between one or more browsers are described herein. A browser window associated with a browser application executing at a server device may be displayed at a client device. An instance of a local browser window may execute at the client device, and a page comprising content may be displayed via the instance of the local browser window. Commands to navigate to a different page may be issued to either browser, and the commands may be synchronized between the browsers.

Claims (67)

1. A computing device comprising:

a processor; and

memory storing computer-executable instructions that, when executed by the processor, cause the computing device to:

receive, from a server device and via a remote presentation protocol, a browser window display output of a first page of content, the content being generated by a browser application executable at the server device;

display, via a display of the computing device, the browser window display output of the first page of content;

execute, at the computing device, an instance of a local browser window;

display, via the instance of the local browser window and via the display of the computing device, the first page of content;

receive, via the local browser window, a navigation command to navigate to a second page of content; and

based on the navigation command to navigate to the second page of content, synchronize a first browsing history of the browser application executable at the server device with a second browsing history of the instance of the local browser window executable at the computing device, such that the second page of content is added to the first browsing history.

2. The computing device of claim 1 , wherein the first page of content displayed via the local browser window is displayed over the browser window display output generated by the browser application executable at the server device.

3. The computing device of claim 1 , wherein executing the instance of the local browser window is performed in response to a determination that a bandwidth usage of the content exceeds a threshold bandwidth usage.

4. The computing device of claim 1 , wherein the navigation command comprises a forward command, a backward command, or a new uniform resource locator (URL) command.

5. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is less than an index associated with the first page of content, determining that the navigation command comprises a backward command;

determining, based on a difference between the index associated with the first page of content and the index associated with the second page of content, a number of pages associated with the backward command; and

transmitting an indication of the backward command and the number of pages associated with the backward command.

6. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is greater than an index associated with the first page of content, determining that the navigation command comprises a forward command;

determining, based on a difference between the index associated with the second page of content and the index associated with the first page of content, a number of pages associated with the forward command; and

transmitting an indication of the forward command and the number of pages associated with the forward command.

7. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content does not exist, determining that the navigation command comprises reception, from a user, of a new URL of the second page of content;

generating an index associated with the second page of content;

removing one or more indexes having values greater than the index associated with the second page of content; and

transmitting an indication of the reception, from the user, of the new URL.

8. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history comprises transmitting an instruction for the first browsing history to perform the navigation command to navigate to the second page of content.

9. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history is performed in response to receiving a tag associated with the second page of content and a session identifier associated with the second browsing history.

10. The computing device of claim 1 , wherein synchronizing the first browsing history with the second browsing history comprises updating a sequence of tags for the first browsing history and the second browsing history, wherein each tag of the sequence of tags is associated with a page visited during the second browsing history.

11. The computing device of claim 10 , wherein the sequence of tags indicates an order of pages visited during the second browsing history.

12. The computing device of claim 1 , wherein the computer-executable instructions, when executed by the processor, further cause the computing device to display, via the instance of the local browser window, the first page of content as a borderless window overlapping over the browser window display output.

13. A method comprising:

receiving, by a client device, from a server device, and via a remote presentation protocol, a browser window display output of a first page of content, the content being generated by a browser application executable at the server device;

displaying, via a display of the client device, the browser window display output of the first page of content;

executing, at the client device, an instance of a local browser window;

displaying, via the instance of the local browser window and via the display of the client device, the first page of content;

receiving, via the local browser window, a navigation command to navigate to a second page of content; and

based on the navigation command to navigate to the second page of content, synchronizing a first browsing history of the browser application executing executable at the server device with a second browsing history of the instance of the local browser window executable at the client device, such that the second page of content is added to the first browsing history.

14. The method of claim 13 , wherein executing the instance of the local browser window is performed in response to a determination that a bandwidth usage of the content exceeds a threshold bandwidth usage.

15. The method of claim 13 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is less than an index associated with the first page of content, determining that the navigation command comprises a backward command;

determining, based on a difference between the index associated with the first page of content and the index associated with the second page of content, a number of pages associated with the backward command; and

transmitting an indication of the backward command and the number of pages associated with the backward command.

16. The method of claim 13 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is greater than an index associated with the first page of content, determining that the navigation command comprises a forward command;

determining, based on a difference between the index associated with the second page of content and the index associated with the first page of content, a number of pages associated with the forward command; and

transmitting an indication of the forward command and the number of pages associated with the forward command.

17. The method of claim 13 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content does not exist, determining that the navigation command comprises reception, from a user, of a new URL of the second page of content;

generating an index associated with the second page of content;

removing one or more indexes having values greater than the index associated with the second page of content; and

transmitting an indication of the reception, from the user, of the new URL.

18. The method of claim 13 , wherein synchronizing the first browsing history with the second browsing history comprises transmitting an instruction for the first browsing history to perform the navigation command to navigate to the second page of content.

19. A non-transitory computer-readable medium storing instructions that, when read by a computing device, cause the computing device to:

receive, from a server device and via a remote presentation protocol, a browser window display output of a first page of content, the content being generated by a browser application executable at the server device;

display, via a display of the computing device, the browser window display output of the first page of content;

execute, at the computing device, an instance of a local browser window;

display, via the instance of the local browser window and via the display of the computing device, the first page of content;

receive, via the local browser window, a navigation command to navigate to a second page of content; and

based on the navigation command to navigate to the second page of content, synchronize a first browsing history of the browser application executable at the server device with a second browsing history of the instance of the local browser window executable at the computing device, such that the second page of content is added to the first browsing history.

20. The non-transitory computer-readable medium of claim 19 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is less than an index associated with the first page of content, determining that the navigation command comprises a backward command;

determining, based on a difference between the index associated with the first page of content and the index associated with the second page of content, a number of pages associated with the backward command; and

transmitting an indication of the backward command and the number of pages associated with the backward command.

21. The non-transitory computer-readable medium of claim 19 , wherein synchronizing the first browsing history with the second browsing history comprises:

in response to a determination that an index associated with the second page of content is greater than an index associated with the first page of content, determining that the navigation command comprises a forward command;

determining, based on a difference between the index associated with the second page of content and the index associated with the first page of content, a number of pages associated with the forward command; and

transmitting an indication of the forward command and the number of pages associated with the forward command.

Assignments (8)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →