IP Library Granted Patent US 9,891,779
Granted Patent B2
US 9,891,779 · App. 13/287,481 · Granted Feb 13, 2018

System, method and computer readable medium for determining user attention area from user interface events

Inventor: Robert R. Hauser (Frisco, TX)
Assignee: ORACLE AMERICA, INC.
G06F3/0481G06F3/03543G06F11/3438G06F17/30867G06Q10/06375
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,891,779
App. No.
13/287,481
Granted
Feb 13, 2018
Kind
B2
Abstract

During an interaction with a web page, user interface events are recorded and augmented with page layout data from the document object model. An event stream is formed with the page layout data and communicated to an event server. The event server processes the event stream to determine a location at which the events were generated, which can be used to predict an area of a user's attention.

Claims (53)

1. A method of processing user event data, the method comprising:

receiving, by a client device, web page content for a current web page, the web page content including a plurality of document object model (DOM) elements arranged in a DOM structure, wherein at least one of the plurality of DOM elements of the web page content contains a particular identifier attribute associated with tracking attention time and user interest events, and wherein at least one other of the plurality of DOM elements of the web page content does not contain the particular identifier attribute;

executing an event observer module for the current web page within a client web browser that records user triggered events generated within the web browser and generating event streams including an event header message and one or more event stream messages comprising one or more user triggered events;

receiving a callback for user triggered events corresponding to at least one recorded user triggered event;

comparing, within the client web browser, a current document object model (DOM) structure of the current web page with a previously recorded web page DOM structure to determine whether any changes have occurred, wherein determining whether any changes have occurred comprises determining that one or more predefined user initiated events have been recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events;

providing, within the client web browser, a DOM structure summary to the event observer module indicating results of the comparison;

adding, within the client web browser, the results of the comparison based on a DOM structure summary to an event stream message, and adding data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute;

transmitting the event stream message, including the results of the comparison based on a DOM structure summary, and including the data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute, to an event server configured to perform an attention analysis for the current web page; and

computing a probabilistic locus of attention for a user within the current web page, wherein the probabilistic locus of attention is computed based on data including, for each of the at least one DOM element that contains the particular identifier attribute, a type of interest event, a time interval, and one or more probabilities corresponding to the one or more DOM elements associated with the user initiated event.

2. The method of claim 1 , wherein the comparing the current DOM structure of the web page with the previously recorded web page DOM structure is performed based on an automated registration procedure configured to periodically observe changes between the current web page DOM and the previously recorded web page DOM and to record any observed changes.

3. The method of claim 1 , wherein determining whether any changes have occurred comprises determining that at least one of a mouse click, mouse movement, and key stroke predefined user initiated event has been recorded within the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events.

4. The method of claim 1 , wherein comparing the current DOM structure of the web page with the previously recorded web page DOM structure to determine whether any changes have occurred further comprises comparing a layout size of each element of the current DOM structure of the web page to the corresponding layout size of each element of the previously recorded DOM structure of the web page.

5. The method of claim 4 , wherein any changes between the layout size of each element of the current DOM structure are recorded and inserted in the event stream message.

6. The method of claim 1 , further comprising:

identifying a plurality of user data events generated by the user corresponding to a viewport location history associated with a viewport window of the current DOM structure of the web page; and

determining a location of the user data events in the event stream message relative to the web page DOM element location in the viewport window,

wherein the computation of the probabilistic locus of attention for the user within the current web page is further based on the location of the identified user data events in the event stream message.

7. An apparatus configured to process user event data, the apparatus comprising:

a receiver configured to receive callbacks for user data events corresponding to at least one recorded user data event;

a processor; and

a memory having stored thereon instructions that, when executed by the processor, causes the processor to:

receive web page content for a current web page, the web page content including a plurality of document object model (DOM) elements arranged in a DOM structure, wherein at least one of the plurality of DOM elements of the web page content contains a particular identifier attribute associated with tracking attention time and user interest events, and wherein at least one other of the plurality of DOM elements of the web page content does not contain the particular identifier attribute

execute an event observer module for the current web page within a client web browser that records user triggered events generated within the web browser and generate event streams including an event header message and one or more event stream messages comprising one or more user triggered events;

receive a callback for user triggered events corresponding to at least one recorded user triggered event;

compare, within the client web browser, a current document object model (DOM) structure of the current web page with a previously recorded web page DOM structure to determine whether any changes have occurred, wherein determining whether any changes have occurred comprises determining that one or more predefined user initiated events have been recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events;

provide, within the client web browser, a DOM structure summary to the event observer module indicating results of the comparison;

add, within the client web browser, the results of the comparison based on a DOM structure summary to an event stream message, and add data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute;

transmit the event stream message, including the results of the comparison based on a DOM structure summary, and including the data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute, to an event server configured to perform an attention analysis for the current web page; and

compute a probabilistic locus of attention for a user within the current web page, wherein the probabilistic locus of attention is computed based on data including, for each of the at least one DOM element that contains the particular identifier attribute, a type of interest event, a time interval, and one or more probabilities corresponding to the one or more DOM elements associated with the user initiated event.

8. The apparatus of claim 7 , wherein the compare operation is performed based on an automated registration procedure configured to periodically observe changes between the current DOM structure of the web page and the previously recorded web page DOM structure and to record any observed changes.

9. The apparatus of claim 7 , wherein the processor determines whether any changes have occurred by determining that at least one of a mouse click, mouse movement, and key stroke predefined user initiated event has been recorded within the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events.

10. The apparatus of claim 7 , wherein comparing the current DOM structure of the web page with the previously recorded web page DOM structure of the web page further comprises comparing a layout size of each element of the current DOM structure of the web page to the corresponding layout size of each element of the previously recorded web page DOM structure of the web page.

11. The apparatus of claim 10 , wherein any changes between the layout size of each element of the current DOM structure of the web page are recorded and inserted in the event stream message.

12. The apparatus of claim 7 , wherein the processor is further configured to

identify a plurality of user data events generated by the user corresponding to a viewport location history associated with a viewport window of the current DOM structure of the web page; and

determine a location of the user data events in the event stream message relative to the web page DOM element location in the viewport window,

wherein the computation of the probabilistic locus of attention for the user within the current web page is further based on the location of the identified user data events in the event stream message.

13. A non-transitory computer readable storage medium configured to store instructions that when executed causes a processor to process user event data, the processor being further configured to perform:

receiving web page content for a current web page, the web page content including a plurality of document object model (DOM) elements arranged in a DOM structure, wherein at least one of the plurality of DOM elements of the web page content contains a particular identifier attribute associated with tracking attention time and user interest events, and wherein at least one other of the plurality of DOM elements of the web page content does not contain the particular identifier attribute;

executing an event observer module for the current web page within a client web browser that records user triggered events generated within the web browser and generating event streams including an event header message and one or more event stream messages comprising one or more user triggered events;

receiving a callback for user triggered events corresponding to at least one recorded user triggered event;

comparing, within the client web browser, a current document object model (DOM) structure of the current web page with a previously recorded web page DOM structure to determine whether any changes have occurred, wherein determining whether any changes have occurred comprises determining that one or more predefined user initiated events have been recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events;

providing, within the client web browser, a DOM structure summary to the event observer module indicating results of the comparison;

adding, within the client web browser, the results of the comparison based on a DOM structure summary to an event stream message, and adding data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute; and

transmitting the event stream message, including the results of the comparison based on a DOM structure summary, and including the data indicating the determined predefined user initiated events recorded based on user interaction with the at least one DOM element that contains the particular identifier attribute, to an event server configured to perform an attention analysis for the current web page; and

computing a probabilistic locus of attention for a user within the current web page, wherein the probabilistic locus of attention is computed based on data including, for each of the at least one DOM element that contains the particular identifier attribute, a type of interest event, a time interval, and one or more probabilities corresponding to the one or more DOM elements associated with the user initiated event.

14. The non-transitory computer readable storage medium of claim 13 , wherein the comparing the current DOM structure of the web page with the previously recorded DOM structure is performed based on an automated registration procedure configured to periodically observe changes between the current DOM structure of the web page and the previously recorded DOM structure and to recorded any observed changes.

15. The non-transitory computer readable storage medium of claim 13 , wherein determining whether any changes have occurred comprises determining that at least one of a mouse click, mouse movement, and key stroke predefined user initiated event has been recorded within the at least one DOM element that contains the particular identifier attribute associated with tracking attention time and user interest events.

16. The non-transitory computer readable storage medium of claim 13 , wherein comparing the current DOM structure of the web page with the previously recorded DOM structure to determine whether any changes have occurred further comprises comparing a layout size of each element of the current DOM structure of the web page to the corresponding layout size of each element of the previously recorded DOM structure.

17. The non-transitory computer readable storage medium of claim 16 , wherein any changes between the layout size of each element of the current DOM structure of the web page are recorded and inserted in the event stream message.

18. The non-transitory computer readable storage medium of claim 13 , wherein the processor is further configured to perform:

identifying a plurality of user data events generated by the user corresponding to a viewport location history associated with a viewport window of the current DOM structure of the web page; and determining a location of the user data events in the event stream message relative to the web page DOM element location in the viewport window,

wherein the computation of the probabilistic locus of attention for the user within the current web page is further based on the location of the identified user data events.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2017
From: MOAT, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 043288/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: APRFSH17, LLC
To: MOAT, INC.
Reel/Frame 043268/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2017
From: HAUSER, ROBERT R.
To: SUBOTI LLC; LIPARI, PAUL
Reel/Frame 042120/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2017
From: SUBOTI LLC; LIPARI, PAUL
To: APRFSH17, LLC
Reel/Frame 042120/0590 →
Continuity (2)
Continuation 12435761 · May 5, 2009
Related Publication 20120047427A1 · Feb 23, 2012