U.S. patent application number 13/088626 was filed with the patent office on 2011-08-11 for method and system for determining viewing time of an online video.
This patent application is currently assigned to VISIBLE MEASURES CORP.. Invention is credited to Brian Holt.
Application Number | 20110197130 13/088626 |
Document ID | / |
Family ID | 43858726 |
Filed Date | 2011-08-11 |
United States Patent
Application |
20110197130 |
Kind Code |
A1 |
Holt; Brian |
August 11, 2011 |
Method and system for determining viewing time of an online
video
Abstract
A method and system for approximating the viewing time of a
video posted on a website of a plurality of websites on the
Internet is disclosed herein. The method and system is able to
approximate the viewing time of the online video by a visitor
computer and transmit the information to a compiling server.
Inventors: |
Holt; Brian; (San Diego,
CA) |
Assignee: |
VISIBLE MEASURES CORP.
Boston
MA
|
Family ID: |
43858726 |
Appl. No.: |
13/088626 |
Filed: |
April 18, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12114889 |
May 5, 2008 |
7930391 |
|
|
13088626 |
|
|
|
|
60915687 |
May 3, 2007 |
|
|
|
Current U.S.
Class: |
715/719 |
Current CPC
Class: |
H04N 21/472 20130101;
H04N 21/24 20130101; H04L 65/1063 20130101; G06Q 30/0255 20130101;
H04L 67/22 20130101; G06Q 30/06 20130101; H04L 65/4084 20130101;
H04N 21/4143 20130101 |
Class at
Publication: |
715/719 |
International
Class: |
G06F 3/048 20060101
G06F003/048 |
Claims
1. An apparatus for analyzing viewership of a video posted on a set
of websites on the Internet, comprising: a processor; computer
memory holding computer program instructions executed by the
processor to: identify a video posted at least once on the set of
websites; scrape a URL for the video from each website of the set
of websites to collect a viewership value for the video at each URL
for the video from each website of the set of websites; receive the
viewership values for the video; aggregate the viewership values
for the video to create an aggregated viewership value; and display
the aggregated viewership value for the video.
2. The apparatus according to claim 1 wherein the aggregated
viewership value for video is displayed in association with a time
metric.
3. The apparatus according to claim 2 wherein the time metric is a
day time metric.
4. The apparatus according to claim 1 wherein the display
identifies a rank associated with the aggregated viewership
value.
5. The apparatus according to claim 1 wherein the display
identifies a network associated with the aggregated viewership
value.
6. The apparatus according to claim 1 wherein the viewership values
for the video are received via an Extensible Markup Language (XML)
Application Programming Interface (API).
7. The apparatus according to claim 1 wherein the method also
generates an approximate viewing time associated with the
video.
8. The apparatus according to claim 1 wherein the aggregated
viewership value for the video is displayed in association with the
video.
Description
[0001] This application is a continuation of Ser. No. 12/114,889,
filed May 5, 2008, now U.S. Pat. No. 7,930,391, which application
is based on and claims priority from Ser. No. 60/915,687, filed May
3, 2007.
[0002] This application includes subject matter protected by
copyright.
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention is generally related to determining a
viewing time of an online video posted on a website. More
specifically, the present invention relates to determining how much
time a visitor computer views an online video posted on
website.
[0005] 2. Description of the Related Art
[0006] Recently, the number of professional and amateur videos
posted on websites throughout the Internet has substantially
increased along with the popularity of viewing such professional
and amateur videos. Several factors may be responsible for this
substantial increase including the creation of websites dedicated
to promoting such professional and amateur videos.
[0007] Alterman, U.S. Patent Publication Number 2006/0048186, for a
Method And Apparatus For Storing And Accessing Videos From A Remote
Location discloses an application service platform that allows
websites to accept video uploads, and which also includes a method
for tracking the number of times the video was accessed or viewed
on the website.
[0008] Tufts, U.S. Pat. No. 7,159,023, for a Use Of Web Usage Trail
Data To Identify Relationships Between Browsable Items, discloses a
method for determining related links to a website using usage
trails of a population of users that have accessed the website.
[0009] Tufts, U.S. Pat. No. 6,691,163, for a Use Of Web Usage Trail
Data To Identify RelatedLinks, discloses a method for determining
related links to a website using usage trails of a population of
users that have accessed the website.
[0010] Kahle et al., U.S. Pat. No. 7,165,069, for an Analysis Of
Search Activities Of Users To Identify Related Network Sites,
discloses a system and method for identifying related network sites
by accumulating search activity data and analyzing the search
activity data.
[0011] Glommen et al., U.S. Pat. No. 6,766,370, for an Internet
Website Traffic Flow Analysis Using Timestamp Data, discloses using
a cookie which is small enough to pass from server to browser
without negatively affecting performance in order to generate a
time duration of a current sequence of requested documents by a
network browser.
[0012] Krzanowski, U.S. Patent Publication Number 2005/0246651, for
a System, Method And Apparatus For Selecting, Displaying, Managing,
Tracking And Transferring Access To Content Of Web Pages And Other
Sources, discloses the previous in regard to web pages including
online videos.
[0013] Muret et al., U.S. Pat. No. 6,792,458, for a System And
Method For Monitoring And Analyzing Internet Traffic, discloses
using a log engine with log files to monitor hits from visitors to
a website.
[0014] Glommen et al., U.S. Pat. No. 6,393,479, for an Internet
Website Traffic Flow Analysis, discloses using a cookie which is
small enough to pass from server to browser without negatively
affecting performance in order to generate a real-time traffic at
the site.
[0015] Burner et al., U.S. Pat. No. 6,282,548, for an Automatically
Generate And Displaying Metadata As Supplemental Information
Concurrently With The Web Page, There Being No Link Between Web
Page And Metadata, discloses determining a web page address which
is sent to a metadata server and displayed.
[0016] Keezer et al., U.S. Pat. No. 7,085,736, for Rules Based
Identification Of Items Represented On Web Pages, discloses using a
document object model of a web page to extract data from a
website.
[0017] Many websites provide a "total" number of traffic received
by a given item on their website--where an "item" can be a video
file, audio file, web page, downloadable file, article; and where
"traffic" can be page views, downloads, incoming links, or
plays.
[0018] Singh et al., U.S. Patent Publication Number 2003/0171977,
for a Clickstream Analysis Methods And Systems, discloses modifying
off-line businesses based on identified characteristics obtained by
online actions.
[0019] Most websites fail to state the time or date over which the
traffic was received. This is because doing so would require
additional programming, doing so would consume unnecessary disk
space and processing time, and/or such information may not be
important to the site owners.
[0020] This information, however, can be important to other
parties. For example, determining traffic over time of a video or
article may be important to advertisers and promoters interested in
determining Internet trends.
[0021] Where previously a web item resided on only one website, the
recent exposition of media hosting websites has given rise to a
large redundancy of similar/identical files on different websites.
This redundancy creates a demand for a method to aggregate traffic
information from different websites about a similar item in order
to determine the traffic of that item across the entire Internet.
However, the prior art has failed to provide a means to address
this problem.
[0022] The Internet also allows for websites to distribute a much
larger selection of content than other methods of distribution such
as stores, radio, and television. Because of this, traffic to items
(such as video files, audio files, web pages, downloads, articles,
or sales) on a website or group of websites fit into a "long tail
distribution" where the highest ranked items each receive a very
large amount of traffic while the vast majority of the lesser
ranked items each receive relatively little traffic. Where
"traffic" can be a view, a download, a link, or a sale. When
graphed with the traffic to each item plotted on the y-axis and the
items ranked by popularity on the x-axis, the curve formed can be
approximated by the equation y=.alpha.b.sup.cx for x>0, where
.alpha. and b are positive constants and c is a negative
constant.
[0023] While it is possible to get an exact count of such a
website's traffic, there are many problems in attempting to do so.
First, because such a website can potentially receive tens of
millions of viewers per day, it is technologically impractical to
get an exact count of traffic by recording every view since doing
so would dramatically increase the required disk space and
processing power of the server. Second, a third-party cannot get an
exact count of a website's traffic without requiring that website
to add various forms of code it the website. Many websites are
reluctant to add such codes to their website because it decreases
the loading speed and creates possible security threats.
[0024] Another problem associated with videos on the Internet is
approximating standard viewership over multiple websites. There are
many Internet video hosts and a single video may be hosted on
several of these sites. Because of this, it becomes useful to
aggregate the statistics from all of these websites to determine
the overall viewership of a video. Different video websites,
however, have different criteria for determining viewership,
particularly a "view" or "play," and this creates a need to weight
numbers from the various sites based on their criteria. For
example, a first web site may register one view every time the
video page is visited, a second web site may register one view only
the first time a person visits the video page, and a third web site
may only register one view once the video is played to the end. The
prior art has failed to provide a solution to this problem.
BRIEF SUMMARY OF THE INVENTION
[0025] The subject matter described herein provides a method and
system for determining viewing time for online videos posted on the
websites throughout the Internet.
[0026] This disclosure describes a technique to determine how long
a video has been played. A goal is to provide information to video
producers about how long their online videos are being played.
[0027] In one embodiment, a video is embedded in a webpage. Once
the user stops playing the video or leaves the page, the video
player (usually a FLASH.TM. player) prompts the user to send a
request (usually an HTTP request) to a server containing the point
at which the video was stopped or the user left. Selected users are
requested to download a client program. This program preferably
runs in the background of the user's computer and is activated
anytime the user watches a video through his or her web browser or
through a video player. Once the video is stopped, the client sends
a request to a compiling server containing the play length.
Preferably, this operation is done without interfering with the
user's experience.
[0028] The play length of a video can be estimated by calculating
the time a user spent on a web page containing an embedded video.
This can be done in a number of different ways. First, when a
client enters a page, his or her browser is prompted (e.g., by a
Flash, HTML, or JavaScript code) to send an HTTP request to a
server that compiles the information. Once the user leaves the
page, his or her browser is prompted to send another request. The
compiling server calculates the difference between requests and
estimates that as the play time. Second, the user's computer marks
the time on which a page is entered and upon exiting sends a
request containing the time spent on page. Third, a log file
containing the time at which a user accessed a series of pages can
be kept on either the video host's server or the compiler server.
This is automatically done with HTTP server software such as
Apache. The difference in time between accessing a first page and a
second page can be estimated as the time spent on a page and thus
the time in which a video was played. If the estimated on-page time
is greater than the length of the video, it can be estimated that
the video was watched to the end. If the estimated time on page is
unreasonably long, that time can be discarded.
[0029] Having briefly described the present invention, the above
and further objects, features and advantages thereof will be
recognized by those skilled in the pertinent art from the following
detailed description of the invention when taken in conjunction
with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] FIG. 1 is a block diagram of a system in which the disclosed
subject matter may be practiced.
[0031] FIG. 2 is a flow chart of a general method of the described
subject matter.
[0032] FIG. 3 is a flow chart of a specific method of the
disclosure.
[0033] FIG. 4 is a flow chart of a specific method of the
disclosure.
[0034] FIG. 5 is a graphical display of a list of popular
videos.
[0035] FIG. 6 is a graphical display of information related to a
popular online video.
DETAILED DESCRIPTION OF THE INVENTION
[0036] As shown in FIG. 1, a system of this disclosure is generally
designated 20. The system 20 preferably includes a plurality of
websites 25a-25c, the Internet 30 and a main website 35. Each of
the plurality of websites 25a-c has a video posted for viewing by
visitors of the website. The video typically has a uniform resource
locator (hereinafter "URL") for each posting on the website. A
website 25 may have the same video posted at several different
URLs. A visitor's computer 37 accesses the Internet 30 to access a
website 25 to view an online video.
[0037] As shown in FIG. 2, a general method is generally designated
70. At block 72, a compiling server sends a HTTP request to a
website containing a video. At block 74, the website responds with
an API or webpage (XML or HTML) containing statistics for the
video. At block 76, the compiling server parses the statistics from
the website. At block 78, the compiling server aggregates the
statistics for the video with statistics from other websites. At
block 80, the compiling server displays the aggregates statistics
on a main website, which is associated with the compiling server.
This information may be used with an approximation of the viewing
times for a particular online video.
[0038] As shown in FIG. 3, a more specific method is generally
designated 90. At block 92, a list of a plurality of videos to be
analyzed is identified either using a software program searching
for similar files characteristics or through human selection. At
block 94, a compiling server sends a request to multiple websites
concerning a video on the list. The request is sent to the video
host's website requesting information about the video. Usually this
request is sent over the HTTP protocol. At block 96, each website
will send an HTTP response containing the pertinent information.
Usually this response is either an HTML web page or an XML API.
Usually the information is the view count, comment count, and
incoming link count to a video. At block 98, the compiling server
aggregates the information from each of the multiple websites about
the video on each website with similar information about similar
videos on other websites to create an aggregated viewership value
for the video. At block 100, the aggregated viewership value is
displayed on a website associated with the compiling server. The
aggregate information may also be shared via a web browser plug-in.
When a user visits a website containing a video, the compiling
server can determine if the video in question is on a list of
aggregated videos. If so, the compiling server can return the
aggregated information about that video representing its traffic
across the Internet. This information may be used with an
approximation of the viewing times for a particular online
video.
[0039] As shown in FIG. 4, a more specific method is generally
designated 110. The method 110 is for approximating the length of
time a viewer has watched an online video. At block 112, a visitor
accesses a website containing an online video and begins watching
the online video. The online video is typically a Flash video
embedded on an HTML page, although the techniques described in this
disclosure are not limited to any particular streaming or other
media delivery format. At block 114, a player instructs the
visitor's computer to send a request to a main or compiling server.
The request is preferably a HTTP request, although other transport
protocols may be used. Typically, the request contains information
stating that the video has begun and is being viewed at the
visitor's computer. At block 116, the player instructs the
visitor's computer to send additional requests to the main server
at predetermined intervals. The predetermined intervals are
preferably a predetermined time interval such as every five
seconds, every ten seconds, every thirty seconds or every sixty
seconds. Alternatively, the requests are sent at predetermined
divisions of the online video such as every tenth of the online
video length, every fifth of the online video length, every quarter
of the online video length, or the like. At block 118, the visitor
terminates viewing the online video. Either the viewer has finished
viewing the entire online video or has terminated the viewing prior
to the completion of the online video. If the visitor terminates
viewing prior to completion of the online video, the main server
estimates the viewing time, e.g., based on the previously sent
requests at the predetermined intervals. If the viewer views the
entire online video, then the player sends a request to the main
server that the entire video has been viewed. At block 120, the
main server generates a viewing time for this visitor's viewing of
the online video. The viewing time of the one visitor may be
compiled with the viewing times of other visitors to generate a
total viewing time for the online video over a predetermined time
frame. This information may be utilized to place a financial value
on the particular online video, which then may be used for
marketing and selling advertising that is or will be placed during,
before or after the online video.
[0040] The following code sample is an example implementation of
the disclosed subject matter to determine actual viewer video
viewing time. Traditional measurement techniques measure "hits" or
page views by firing off javascript calls (or the like) generally
once per web page, or by processing server logs. The challenge with
determining the level of user interaction with an interactive
application such as video is that the majority of the interaction
occurs within the client, whether it is a Adobe Flash, Microsoft
Silverlight, Windows desktop, Mac application, peer-to-peer, or
other video implementation. By combining user-driven event calls
from the video player with logic to signal when the user is
skipping or rewinding over particular segments of the video file or
stream, it is possible to measure the actual "captive" viewing time
that the user experiences with the video. Example code for
performing this function for a Flash player is set forth below
(.COPYRGT. 2008 Visible Measures Corp.):
[0041] From the foregoing it is believed that those skilled in the
pertinent art will recognize the meritorious advancement of this
invention and will readily understand that while the present
invention has been described in association with a preferred
embodiment thereof, and other embodiments illustrated in the
accompanying drawings, numerous changes modification and
substitutions of equivalents may be made therein without departing
from the spirit and scope of this invention which is intended to be
unlimited by the foregoing except as may appear in the following
appended claim. Therefore, the embodiments of the invention in
which an exclusive property or privilege is claimed are defined in
the following appended claims.
[0042] The hardware and software systems in which the invention is
illustrated are merely representative. The invention may be
practiced, typically in software, on one or more machines.
Generalizing, a machine typically comprises commodity hardware and
software, storage (e.g., disks, disk arrays, and the like) and
memory (RAM, ROM, and the like). The particular machines used in
the network are not a limitation of the present invention. A given
machine includes network interfaces and software to connect the
machine to a network in the usual manner. The server may be part of
a managed service (e.g., in an ASP model) using the illustrated set
of machines, which are connected or connectable to one or more
networks. More generally, the service is provided by an operator
using a set of one or more computing-related entities (systems,
machines, processes, programs, libraries, functions, or the like)
that together facilitate or provide the inventive functionality
described above. In a typical implementation, the service comprises
a set of one or more computers. A representative machine is a
network-based server running commodity (e.g. Pentium-class)
hardware, an operating system (e.g., Linux, Windows, OS-X, or the
like), an application runtime environment (e.g., Java, .ASP), and a
set of applications or processes (e.g., Java applets or servlets,
linkable libraries, native code, or the like, depending on
platform), that provide the functionality of a given system or
subsystem. As described, the service may be implemented in a
standalone server, or across a distributed set of machines.
Typically, a server connects to the publicly-routable Internet, a
corporate intranet, a private network, or any combination thereof,
depending on the desired implementation environment.
* * * * *