IP Library › Granted Patent US 11,860,771
Granted Patent B1
US 11,860,771 · App. 17/952,675 · Granted Jan 2, 2024

Multisession mode in remote device infrastructure

Inventors: Ritik Jain (Jabalpur, IN); Abhinav Dube (Bhopal, IN); Suyash Yogeshwar Sonawane (Nashik, IN)
Assignee: BrowserStack Limited
G06F11/3688G06F16/955H04N7/147H04N7/15G06F9/5072
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,860,771
App. No.
17/952,675
Filed
Sep 26, 2022
Granted
Jan 2, 2024
Kind
B1
Art Unit
2175
USPC
715/753
Abstract

A remote device infrastructure can be used to test and develop applications and websites. A user developer can select a number of remote devices at a remote location and test a programming application from a local machine. The remote devices run the programming application. The user interacts with mirrored displays of the remote devices on the local machine of the user. User inputs are transmitted to a remote device. The user can also enable a multisession mode, where the user can test a programming application on multiple remote devices and observe a display output of each remote device on the local machine of the user. The user can interact with any mirrored display of a remote devices in a multisession and observe a synced output in the other mirrored displays.

Claims (47)

1. A method comprising:

establishing a connection session between a browser and a first device and the browser and a second device, wherein the first and second devices are in one or more locations remote relative to the browser, and the connection session between the browser and the first device comprises a first device data channel and a first device video channel, and the connection session between the browser and the second device comprises a second device data channel and a second device video channel;

generating a first device display on the browser by broadcasting, via the first device video channel, a first device video feed from the first device to the browser;

generating a second device display on the browser by broadcasting, via the second device video channel, a second device video feed from the second device to the browser;

transmitting, via the first device data channel, one or more user interactions with a webpage in the generated first device display on the browser, to the first device;

transmitting the interactions to a sync server;

generating, by the sync server, a request to a host of the webpage, based at least in part on the interactions;

transmitting, by the sync server, the request to the host of the webpage;

receiving, by the sync server, a response from the host of the webpage;

serving, from the sync server, the response from the host of the webpage, comprising a synced version of the webpage to the first and second devices.

2. The method of claim 1 , further comprising establishing the connection session between a plurality of devices, wherein the serving, from the sync server, comprises serving the synced webpage to the plurality of the devices simultaneously.

3. The method of claim 1 , wherein the interactions comprise commands for scrolling the webpage and the host performs a corresponding scrolling on the response comprising the synced webpage served to the first and second devices.

4. The method of claim 1 , wherein the sync server determines webpage HTML elements corresponding to the user interactions.

5. The method of claim 1 , wherein the first and second devices access the sync server via a shared URL corresponding to the webpage.

6. The method of claim 1 , wherein transmitting the interactions to the sync server further comprises:

determining coordinates of the interactions on the generated first device displayed on the browser;

identifying corresponding HTML elements of the webpage; and

transmitting the interactions and the coordinates to the sync server.

7. A non-transitory computer storage medium that stores executable program instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:

establishing a connection session between a browser and a first device and the browser and a second device, wherein the first and second devices are in one or more locations remote relative to the browser, and the connection session between the browser and the first device comprises a first device data channel and a first device video channel, and the connection session between the browser and the second device comprises a second device data channel and a second device video channel;

generating a first device display on the browser by broadcasting, via the first device video channel, a first device video feed from the first device to the browser; generating a second device display on the browser by broadcasting, via the second device video channel, a second device video feed from the second device to the browser;

transmitting, via the first device data channel, one or more user interactions with a webpage in the generated first device display on the browser, to the first device;

transmitting the interactions to a sync server;

generating, by the sync server, a request to a host of the webpage, based at least in part on the interactions; transmitting, by the sync server, the request to the host of the webpage;

receiving, by the sync server, a response from the host of the webpage;

serving, from the sync server, the response from the host of the webpage, comprising a synced version of the webpage to the first and second devices.

8. The non-transitory computer storage medium of claim 7 , wherein the operations further comprise establishing the connection session between a plurality of-devices, wherein the serving, from the sync server, comprises serving the synced webpage to plurality of the devices simultaneously.

9. The non-transitory computer storage medium of claim 7 , wherein the interactions comprise commands for scrolling the webpage and the host performs a corresponding scrolling on the response comprising the synced webpage served to the first and second devices.

10. The non-transitory computer storage medium of claim 7 , wherein the sync server determines webpage HTML elements corresponding to the user interactions.

11. The non-transitory computer storage medium of claim 7 , wherein the first and second devices access the sync server via a shared URL corresponding to the webpage.

12. The non-transitory computer storage medium of claim 7 , wherein transmitting the interactions to the sync server further comprises:

determining coordinates of the interactions on the generated first device displayed on the browser;

identifying corresponding HTML elements of the webpage; and transmitting the interactions and the coordinates to the sync server.

13. A system comprising a processor, the processor configured to perform operations comprising:

establishing a connection session between a browser and a first device and the browser and a second device, wherein the first and second devices are in one or more locations remote relative to the browser, and the connection session between the browser and the first device comprises a first device data channel and a first device video channel, and the connection session between the browser and the second device comprises a second device data channel and a second device video channel;

generating a first device display on the browser by broadcasting, via the first device video channel, a first device video feed from the first device to the browser;

generating a second device display on the browser by broadcasting, via the second device video channel, a second device video feed from the second device to the browser;

transmitting, via the first device data channel, one or more user interactions with a webpage in the generated first device display on the browser, to the first device;

transmitting the interactions to a sync server;

generating, by the sync server, a request to a host of the webpage, based at least in part on the interactions;

transmitting, by the sync server, the request to the host of the webpage;

receiving, by the sync server, a response from the host of the webpage;

serving, from the sync server, the response from the host of the webpage, comprising a synced version of the webpage to the first and second devices.

14. The system of claim 13 , wherein the operations further comprise establishing the connection session between a plurality of devices, wherein the serving, from the sync server, comprises serving the synced webpage to the plurality of the devices simultaneously.

15. The system of claim 13 , wherein the interactions comprise commands for scrolling the webpage and the host performs a corresponding scrolling on the response comprising the synced webpage served to the first and second devices.

16. The system of claim 13 , wherein the sync server determines webpage HTML elements corresponding to the user interactions.

17. The system of claim 13 , wherein the first and second devices access the sync server via a shared URL corresponding to the webpage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: JAIN, RITIK; DUBE, ABHINAV; SONAWANE, SUYASH YOGESHWAR
To: BROWSERSTACK LIMITED
Reel/Frame 065631/0633 →
Cited By (1)
US 12,627,644