IP Library Granted Patent US 9,495,081
Granted Patent B2
US 9,495,081 · App. 13/940,802 · Granted Nov 15, 2016

Co-browsing between one or more operators and one or more visitors

Inventors: Carlos Paniagua (New York, NY); Madis Nomme (Tartu, EE); David Rodas (New York, NY); Mehrbod Sharifi (Pittsburgh, PA); Justin DiPietro (New York, NY); Daniel Michaeli (New York, NY)
Assignee: SALEMOVE, INC.
G06F3/0484G06F3/0483G06F17/30899H04L67/02H04L67/22
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 9,495,081
App. No.
13/940,802
Granted
Nov 15, 2016
Kind
B2
Abstract

Apparatuses, computer readable mediums, and methods of co-browsing between a visitor and an operator are disclosed. The method may include sending the first UI event to the visitor, receiving from the visitor a first webpage data update indicating a first update to the active tab based on the first UI event, and sending the first webpage data update to the operator, on a condition of receiving a first user interface (UI) event regarding an active tab from the operator. The method may include sending the second webpage data update to the operator indicating the update to the active tab, on a condition of receiving a second webpage data update from the visitor indicating a second update to the active tab. If updates are received from both the visitor and operator a precedence may be used to determine which to process. Updates may be used to determine an active tab.

Claims (42)

1. A method of co-browsing a webpage between a visitor to the webpage and an operator of the webpage, the method comprising:

receiving, by a first peer device, a first user interface (UI) event regarding any element of an active tab of a second web browsing application from a second peer device, the active tab including the webpage, wherein a first web browsing application of the first peer device changes webpage data of the webpage based on the first UI event, and wherein the webpage data comprises a document object model (DOM) of the webpage;

sending, by the first peer device, a first webpage data update to the second peer device, the first webpage update indicating a difference in the webpage data before and after the first UI event, wherein the first webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the first webpage update;

sending, by the first peer device, a second webpage update to the second peer device, the second webpage update indicating a difference in the webpage data between the first webpage update and a second UI event, wherein the second webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the second webpage update;

sending, by the first peer device, a third webpage data update to the second peer device, the third webpage data update indicating an update to a new tab in the first web browsing application, wherein the third webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application changes the active tab to the new tab.

2. The method of claim 1 , further comprising:

receiving, by the first peer device, an indication that the active tab is changed to a new tab after a third UI event; and

sending, by the first peer device, a fourth webpage data update to the second peer device indicating an update to the new tab based on the third UI event, wherein the fourth webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the fourth webpage update.

3. The method of claim 1 , further comprising:

monitoring updates to one or more tabs of the first peer device; and

determining the active tab of the first peer device based on the monitored updates, wherein the active tab is one of the one or more tabs of the first peer device.

4. The method of claim 3 , further comprising:

in response to receiving an indication from the second peer device to co-browse with the first peer device, sending the active tab of the first peer device to the second peer device.

5. The method of claim 3 , further comprising:

sending at least some of the monitored updates to the one or more tabs of the first peer device to the second peer device.

6. The method of claim 1 , further comprising:

storing each of the first webpage update, the second webpage update, and the third webpage update to the active tab; and

in response to a request to replay an activity of the co-browsing, sending at least one of the stored first webpage update, the second webpage, or the third webpage update to the second peer device.

7. The method of claim 6 , wherein the storing further comprises:

receiving a third UI event regarding any element of the active tab of the second web browsing application from the second peer device at approximately the same time that the second webpage update is generated; and

determining whether to further update the webpage data based on the third UI event or to send the second webpage data update to the second peer device, the determining based on a precedence of the visitor and the operator.

8. The method of claim 1 , wherein the first peer device and the second peer device communicate via a co-browsing server.

9. The method of claim 1 , further comprising:

determining that the first webpage update, the second webpage update, and the third webpage update meet a minimum threshold of changes to the webpage data prior to sending.

10. A computer system for co-browsing a webpage between a visitor to the webpage and an operator of the webpage, the system comprising:

a first peer device having a first web browsing application used to access the webpage;

a second peer device having a second web browsing application used to access the webpage; and

wherein the first peer device comprises one or more processors, and wherein in response to receiving a first user interface (UI) event regarding any element of an active tab of the second web browsing application from the second peer device, the active tab including the webpage, each of the one or more processors is configured to:

change, through the first web browsing application, webpage data of the webpage based on the first UI event, and wherein the webpage data comprises a document object model (DOM) of the webpage,

send a first webpage data update to the second peer device, the first webpage data update indicating a difference in the webpage data before and after the first UI event, wherein the first webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the first webpage update,

send a second webpage data update to the second peer device, the second webpage data update indicating a difference in the webpage data between the first webpage update and a second UI event, wherein the second webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the second webpage update, and

send a third webpage data update to the second peer device, the third webpage data update indicating an update to a new tab in the first web browsing application, wherein the third webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application changes the active tab to the new tab.

11. The computer system of claim 10 , wherein each of the one or more processors is further configured to:

receive an indication that the active tab is changed to a new tab after a third UI event;

send a fourth webpage data update to the second peer device indicating an update to the new tab based on the third UI event, wherein the fourth webpage update is adapted to a format compatible with the second web browsing application and the second web browsing application updates the active tab based on the fourth webpage update.

12. The computer system of claim 10 , wherein each of the one or more processors is further configured to:

monitor updates to one or more tabs of the first peer device; and

determine the active tab of the first peer device based on the monitored updates, wherein the active tab is one of the one or more tabs of the first peer device.

13. The computer system of claim 10 , further comprising:

a co-browsing server configured to communicate with the first peer device and the second peer device.

14. The computer system of claim 10 , wherein each of the one or more processors is further configured to:

determine that the first webpage update, the second webpage update, and the third webpage update meet a minimum threshold of changes to the webpage data prior to sending.

Assignments (2)
CHANGE OF NAME Recorded May 21, 2019
From: SALEMOVE, INC.
To: GLIA TECHNOLOGIES, INC.
Reel/Frame 049247/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: NOMME, MADIS; PANIAGUA, CARLOS; RODAS, DAVID; SHARIFI, MEHRBOD; DIPIETRO, JUSTIN; MICHAELI, DANIEL
To: SALEMOVE, INC.
Reel/Frame 031689/0966 →
Continuity (3)
Provisional Application 61671593 · Jul 13, 2012
Provisional Application 61810367 · Apr 10, 2013
Related Publication 20140019870A1 · Jan 16, 2014