IP Library Granted Patent US 10,270,870
Granted Patent B2
US 10,270,870 · App. 15/680,605 · Granted Apr 23, 2019

Passively monitoring online video viewing and viewer behavior

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,270,870
App. No.
15/680,605
Granted
Apr 23, 2019
Kind
B2
Abstract

Various user behaviors are passively monitored and recorded when a user/viewer interacts with a network video player, e.g. a web video player, while watching an online video clip. For one embodiment, a data collection agent (DCA) is loaded to the player and/or to a web page that displays the video clip. The DCA passively collects detailed viewing and behavior information without requiring any specific input or actions on the part of the user. Indications of user preferences are inferred by user actions leading up to viewing the video, while viewing the video, and just after and still related to viewing the video. The DCA periodically sends this information to a central server where it is stored in a central database and where it is used to determine preference similarities among different users. Recorded user preference information may also be used to rate a video itself.

Claims (81)

1. A computer-implemented method of performing analytics of viewing of video clips comprising:

monitoring, by a video analytics server, videos viewed by client devices;

identifying IP addresses of the client devices having viewed the videos;

maintaining a history file of video identifiers that identify videos that have been viewed during a predefined period of time from each IP address of the IP addresses;

detecting that a video corresponding to one of the video identifiers has been viewed a number of times from a given IP address that is above a threshold value within the predefined period of time;

determining that attempts are being performed by browser refreshes or scripting that artificially inflate a view count based on the video having been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time; and

discarding subsequent views of the video at the given IP address that has been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time.

2. The computer-implemented method of claim 1 , wherein monitoring videos viewed by client devices comprises:

receiving an HTTP requests from client devices having interacted with one or more of the videos; and

extracting metadata from the HTTP requests indicating user actions relative to the videos.

3. The computer-implemented method of claim 2 , wherein identifying IP addresses of the client devices having viewed the videos comprises extracting the IP addresses from the HTTP requests.

4. The computer-implemented method of claim 2 , further comprising inserting a data collection script into a player or webpage that displays the videos, wherein the data collection script is programmed to monitor user activity relative to the videos and send activity data to the video analytics server.

5. A computer-implemented method of generating a viewer preference scores for videos comprising:

inserting a data collection plug-in into a video player that is provided by a webpage which provides a video that is hosted on a web server, wherein the data collection plug-in is programmed to monitor user activity relative to the video;

receiving one or more requests from the video player, wherein the one or more requests comprise metadata that represents the user activity relative to the video;

extracting the metadata from the one or more requests to:

determine actions of a viewer on the webpage which provides the video prior to commencement of the video;

determine actions of the viewer relative to the video during play of the video;

determine whether the viewer shared the video after completion of the video; and

determine a time period between completion of the video and sharing the video;

generating a score for viewer preference of the video, without explicit user feedback from the viewer, based on the determined actions of the viewer on the webpage prior to commencement of the video, determined actions of the viewer during play of the video, the determination of whether the viewer shared the video after completion of the video, and the determined time period between completion of the video and sharing the video; and

associating the generated score with the viewer in association with the video.

6. The computer-implemented method of claim 5 , wherein determining actions of the viewer relative to the video during play of the video comprises determining whether the viewer:

adjusts a volume level of the video;

pauses or un-pauses the video;

fast-forwards or rewinds the video;

replays the video or a portion thereof;

views the video for a recorded duration or a percent completion;

views the video in full-screen mode;

adjusts a bit rate for streaming or downloading the video during play of the video;

clicks-through on an overlay image or on the video itself to be taken to another webpage or another website;

spends time viewing certain segments of the video; or

endures a mid-roll advertisement.

7. The computer-implemented method of claim 5 , wherein determining whether the viewer shared the video after completion of the video comprises determining whether the viewer:

shared the video via an embed code;

shared the video via e-mail; or

shared the video via social network.

8. The computer-implemented method of claim 5 , further comprising extracting the metadata from the one or more requests to determine:

a number of times the viewer shared the video; and

a number of people with which the viewer shared the video.

9. The computer-implemented method of claim 5 , wherein generating the score for viewer preference of the video comprises differentially weighting the determined actions of the viewer.

10. The computer-implemented method of claim 8 , wherein generating the score for viewer preference of the video is further based on the number of times the viewer shared the video and the number of people with which the viewer shared the video.

11. The computer-implemented method of claim 5 , further comprising:

extracting the metadata from the one or more requests to determine which sharing mechanism the viewer utilized to share the video; and

generating the score for viewer preference of the video further based on the determined sharing mechanism the viewer utilized to share the video.

12. The method of claim 11 , wherein the sharing mechanism comprises sharing the video via email or sharing the video via a third party web site.

13. A non-transitory computer-readable medium comprising instructions thereon, that when executed by one or more processors, cause a computing device to:

insert a data collection plug-in into a video player that is provided by a webpage which provides a video that is hosted on a web server, wherein the data collection plug-in is programmed to monitor user activity relative to the video;

receive one or more requests from the video player, wherein the one or more requests comprise metadata that represents the user activity relative to the video;

extract the metadata from the one or more requests to:

determine actions of a viewer on the webpage which provides the video prior to commencement of the video;

determine actions of the viewer relative to the video during play of the video;

determine whether the viewer shared the video after completion of the video; and

determine a time period between completion of the video and sharing the video;

generate a score for viewer preference of the video, without explicit user feedback from the viewer, based on the determined actions of the viewer on the webpage prior to commencement of the video, determined actions of the viewer during play of the video, the determination of whether the viewer shared the video after completion of the video, and the determined time period between completion of the video and sharing the video; and

associating the generated score with the viewer in associated with the video.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to determine actions of the viewer relative to the video during play of the video by determining whether the viewer:

adjusts a volume level of the video;

pauses or un-pauses the video;

fast-forwards or rewinds the video;

replays the video or a portion thereof;

views the video for a recorded duration or a percent completion;

views the video in full-screen mode;

adjusts a bit rate for streaming or downloading the video during play of the video;

clicks-through on an overlay image or on the video itself to be taken to another webpage or another web site;

spends time viewing certain segments of the video; or

endures a mid-roll advertisement.

15. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to determine whether the viewer shared the video after completion of the video by determining whether the viewer:

shared the video via an embed code;

shared the video via E-mail; or

shared the video via social network.

16. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to extract the metadata from the one or more requests to determine:

a number of times the viewer shared the video; and

a number of people with which the viewer shared the video.

17. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to generate the score for viewer preference of the video by differentially weighting the determined actions of the viewer.

18. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to identify an IP address of a client device from the one or more requests.

19. The non-transitory computer-readable medium of claim 16 , wherein the instructions, when executed by the one or more processors, cause the computing device to generate the score for viewer preference of the video is further based on the number of times the viewer shared the video and the number of people with which the viewer shared the video.

20. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

detect that the video has been viewed a number of times from a given IP address that is above a threshold value within a predefined period of time;

determine that attempts are being performed by browser refreshes or scripting that artificially inflate a view count based on the video having been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time; and

discard subsequent views of the video at the given IP address that has been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time.

Assignments (4)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: LOPATECKI, JASON; ROSE, ADAM; HUGHES, JOHN; WILSON, BRETT
To: TUBEMOGUL, INC.
Reel/Frame 043334/0737 →
MERGER Recorded Aug 18, 2017
From: TUBEMOGUL, INC.
To: TUBEMOGUL, INC.
Reel/Frame 043334/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: TUBEMOGUL, INC.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 043334/0882 →