IP Library › Granted Patent US 10,698,647
Granted Patent B2
US 10,698,647 · App. 15/206,956 · Granted Jun 30, 2020

Selective sharing for collaborative application usage

Inventors: Dan Shipper (New York, NY); Justin Meltzer (New York, NY)
Assignee: Pegasystems Inc.
G06F3/1454G06F3/0482G06F3/0484G06F9/451G06F16/954G06F40/14G06F2216/15
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,698,647
App. No.
15/206,956
Granted
Jun 30, 2020
Kind
B2
Abstract

The present disclosure describes systems, methods, computer-readable media, and apparatuses for selective sharing during collaborative application usage. The selective sharing system is configured for selectively sharing UI elements in a UI running on a first digital data processor. The system includes a server digital data processor configured to receive, from the first digital data processor, a collection of UI elements. The collection of UI elements may be identified based on at least one of: on one or more markup attributes corresponding to the UI elements, a content position of the UI elements, a UI definition, historical data about the UI running on the first digital data processor, and historical data about a UI running on a second digital data processor. The server digital data processor is configured to transmit, to the second digital data processor, the collection of UI elements.

Claims (76)

1. A system for selectively sharing user interface elements in a user interface running on a first digital data processor, the system comprising:

a browser application executing on a first digital data processor, the browser application rendering and displaying a user interface,

a chat application executing on a second digital data processor,

a server digital data processor in communication with the first and second digital data processors, wherein the server digital data processor is configured to:

receive, from the first digital data processor, a collection of user interface elements associated with the user interface rendered and displayed by the browser application;

transmit, to the second digital data processor, a subset of the collection of user interface elements for display and selection on the chat application executing on the second digital data processor; wherein the subset is selected from the collection of user interface elements based on at least one of: the historical data about the user interface running on the first digital data processor and the historical data about a user interface running on the second digital data processor,

receive, from the second digital data processor, one or more user interface elements selected from among the subset of the collection of user interface elements by a user of the chat application; and

transmit, to the first digital data processor, an event containing one or more unique identifiers corresponding to the one or more user interface elements selected by the user of the chat application,

the first digital data processor is configured to:

receive the event and retrieve the unique identifiers therefrom;

use the unique identifiers to look up corresponding elements in a user interface definition for the user interface rendered and displayed on the browser application running on the first digital data processor;

update the user interface definition to visibly identify at least one of the selected user interface elements on the user interface rendered and displayed by the browser application based on unique identifiers retrieved from the event and based on a size and a position of the at least one of the selected user interface elements in the user interface definition.

2. The system of claim 1 , wherein the collection of user interface elements selected from among the subset includes user interface elements suggested for selection,

wherein the user interface elements suggested for selection are determined by:

identifying related user interface elements based on initial validation data.

3. The system of claim 2 , wherein the identifying the related user interface elements based on the initial validation data includes

identifying one or more unique phrases by performing text mining on the collection of user interface elements, and

searching the collection of user interface elements for the one or more unique phrases.

4. The system of claim 1 , wherein at least one of the server digital data processor, the first digital data processor, and the second digital data processor is further configured to update the user interface definition to include at least one new element to visibly identify the at least one of the selected user interface elements by:

identifying a bounding box size of the selected one or more user interface elements,

determining a corresponding bounding box size and a corresponding position for one or more regions of visible identification based on the size and the position of the selected one or more user interface elements,

creating the one or more regions of visible identification using the corresponding bounding box size and the corresponding position, and

inserting the one or more regions of visible identification into the user interface definition.

5. The system of claim 1 , wherein the markup attributes corresponding to the user interface elements include at least one of <b>, <strong>, <i>, <em>, <u>, <ins>, <mark>, <del>, <font>, color, align, text-align, and text-decoration.

6. The system of claim 1 , wherein the user interface definition includes at least one of a document object model (DOM) tree, hypertext markup language (HTML), and extensible markup language (XML).

7. The system of claim 6 , wherein the user interface definition includes a tree structure of the DOM tree.

8. A system for selectively sharing user interface elements in a user interface running on a first digital data processor, the system comprising:

a server digital data processor, wherein the server digital data processor is configured to:

receive, from the first digital data processor that has a user interface running thereon, a collection of user interface elements associated with the user interface;

identify a subset of the collection of user interface elements wherein the subset of user interface elements is identified by the server digital data processor based on at least one of: historical data about the user interface running on the first digital data processor and historical data about a user interface running on a second digital data processor;

transmit, to the second digital data processor, the subset of user interface elements for selection on the second digital data processor;

receive, from the second digital data processor, one or more user interface elements selected among the subset of user interface elements; and

transmit, to the first digital data processor, an event containing the unique identifiers assigned by the system for the one or more selected user interface elements,

the first digital data processor is configured to:

receive the event and retrieve the unique identifiers therefrom;

use the unique identifiers to look up corresponding elements in a user interface definition for the user interface running on the first digital data processor;

update the user interface definition to visibly identify at least one of the selected user interface elements on the user interface based on the unique identifiers retrieved from the event and based on a size and a position of the at least one of the selected user interface elements in the user interface definition.

9. The system of claim 8 ,

wherein the subset of user interface elements identified by the server digital data processor includes user interface elements suggested for selection,

wherein the user interface elements suggested for selection are determined by:

identifying related user interface elements based on initial validation data.

10. The system of claim 9 , wherein the identifying the related user interface elements based on the initial validation data includes

identifying one or more unique phrases by performing text mining on the subset of user interface elements, and

searching the subset of user interface elements for one or more user interface elements containing the one or more unique phrases.

11. The system of claim 8 , wherein at least one of the server digital data processor, the first digital data processor, and the second digital data processor is further configured to update the user interface definition to include at least one new element to visibly identify the at least one of the selected user interface elements by:

identifying a bounding box size of the selected one or more user interface elements,

determining a corresponding bounding box size and a corresponding position for one or more regions of visible identification based on the size and the position of the selected one or more user interface elements,

creating the one or more regions of visible identification using the corresponding bounding box size and the corresponding position, and

inserting the one or more regions of visible identification into the user interface definition.

12. The system of claim 8 , wherein the markup attributes corresponding to the user interface elements include at least one of <b>, <strong>, <i>, <em>, <u>, <ins>, <mark>, <del>, <font>, color, align, text-align, and text-decoration.

13. The system of claim 8 , wherein the user interface definition includes at least one of a document object model (DOM) tree, hypertext markup language (HTML), and extensible markup language (XML).

14. The system of claim 13 , wherein the user interface definition includes a tree structure of the DOM tree.

15. A method for selectively sharing user interface elements in a user interface running on a first digital data processor, the method comprising:

executing a browser application on a first digital data processor, the browser application rendering and displaying a user interface,

executing a chat application on a second digital data processor,

receiving, from the first digital data processor, a collection of user interface elements associated with the user interface rendered and displayed by the browser application;

identifying a subset of the collection of user interface elements wherein the subset of user interface elements is identified by a server digital data processor based on at least one of: historical data about the user interface running on the first digital data processor and historical data about a user interface running on a second digital data processor;

transmitting, to the second digital data processor, the subset of user interface elements for display and selection on the chat application executing on the second digital data processor;

receiving, from the second digital data processor, one or more user interface elements selected among the subset of user interface elements by a user of the chat application; and

transmitting, to the first digital data processor, an event containing one or more unique identifiers assigned for the one or more user interface elements selected by the user of the chat application,

receiving the event and retrieving the unique identifiers therefrom;

using the unique identifiers to look up corresponding elements in a user interface definition for the user interface rendered and displayed on the browser application running on the first digital data processor;

updating the user interface definition for the user interface running on the first digital data processor to visibly identify at least one of the selected user interface elements on the user interface rendered and displayed by the browser application based on a size and a position of the at least one of the selected user interface elements in the user interface definition.

16. The method of claim 15 ,

wherein the identifying the subset of user interface elements includes suggesting user interface elements for selection by:

identifying related user interface elements based on initial validation data.

17. The method of claim 16 , wherein the identifying the related user interface elements based on the initial validation data includes:

identifying one or more unique phrases by performing text mining on the subset of user interface elements, and

searching the subset of user interface elements for one or more user interface elements containing the one or more unique phrases.

18. The method of claim 15 , wherein the user interface definition for the user interface running on the first digital data processor is updated to include at least one new element to visibly identify the at least one of the selected user interface elements by:

identifying a bounding box size of the selected one or more user interface elements,

determining a corresponding bounding box size and a corresponding position for one or more regions of visible identification based on the size and the position of the selected one or more user interface elements,

creating the one or more regions of visible identification using the corresponding bounding box size and the corresponding position, and

inserting the one or more regions of visible identification into the user interface definition.

19. The method of claim 15 , wherein the markup attributes corresponding to the user interface elements include at least one of <b>, <strong>, <i>, <em>, <u>, <ins>, <mark>, <del>, <font>, color, align, text-align, and text-decoration.

20. The method of claim 15 , wherein the user interface definition includes at least one of a document object model (DOM) tree, hypertext markup language (HTML), and extensible markup language (XML).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: MELTZER, JUSTIN
To: PEGASYSTEMS INC.
Reel/Frame 040346/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: SHIPPER, DAN
To: PEGASYSTEMS INC.
Reel/Frame 040346/0577 →
Continuity (1)
Related Publication 20180011678A1 · Jan 11, 2018
Cited By (2)
US 12,314,337 US 12,455,939