U.S. patent application number 13/050328 was filed with the patent office on 2012-09-20 for method and system for tracking web link usage.
This patent application is currently assigned to eBay Inc.. Invention is credited to Frank Anthony Nuzzi.
Application Number | 20120240019 13/050328 |
Document ID | / |
Family ID | 46829474 |
Filed Date | 2012-09-20 |
United States Patent
Application |
20120240019 |
Kind Code |
A1 |
Nuzzi; Frank Anthony |
September 20, 2012 |
METHOD AND SYSTEM FOR TRACKING WEB LINK USAGE
Abstract
A method and system for tracking web link usage is provided. An
example system includes a request detector, a click history module,
a link presentation generator, and a serving module. The request
detector may be configured to receive a request for a web page
comprising a web link. The click history module may be configured
to access click history associated with the user account. The link
presentation generator may be configured to modify the web page,
utilizing the click history. The serving module may be configured
to serve the modified web page in response to the request for the
web page.
Inventors: |
Nuzzi; Frank Anthony;
(Pflugerville, TX) |
Assignee: |
eBay Inc.
San Jose
CA
|
Family ID: |
46829474 |
Appl. No.: |
13/050328 |
Filed: |
March 17, 2011 |
Current U.S.
Class: |
715/205 |
Current CPC
Class: |
H04L 67/327 20130101;
G06F 16/24575 20190101; G06F 16/9535 20190101; H04L 67/42 20130101;
H04L 67/22 20130101; H04L 67/02 20130101 |
Class at
Publication: |
715/205 |
International
Class: |
G06F 17/00 20060101
G06F017/00; G06F 15/16 20060101 G06F015/16 |
Claims
1. A method comprising: receiving a request for a web page
comprising a web link, the request associated with a user account;
accessing click history associated with the user account, the click
history storing a time-since-click value, the time-since-click
value reflecting a measure of time since the web link was activated
utilizing the user account; using at least one processor, modifying
the web page utilizing the click history to generate a modified web
page; and serving the modified web page in response to the request
for the web page.
2. The method of claim 1, wherein the modifying of the web page
comprises selecting, utilizing the click history, a highlighted
presentation from a plurality of highlighted presentations to be
applied to the web link.
3. The method of claim 2, wherein a first highlighted presentation
from the plurality of highlighted presentations indicate that less
than a predetermined amount of time elapsed since the last time the
web link was activated utilizing the user account.
4. The method of claim 1, wherein the modifying of the web page
comprises adding one or more information items from information
items stored in the click history to be presented on the modified
web page as associated with the web link.
5. The method of claim 4, wherein the one or more information items
are to be presented on the modified web page in response to
detecting a cursor positioned over the web link.
6. The method of claim 1, wherein the click history is to store
respective time-since-click values for a plurality of web links
activated utilizing the user account, the plurality of web links
comprising the web link.
7. The method of claim 6, wherein the click history is to store a
frequency-of-use value, the frequency-of-use value reflecting
frequency with which the web link was being activated utilizing the
user account.
8. The method of claim 7, wherein the click history is to store
respective rank values for the plurality of web links, a rank value
for a web link from the plurality of web links calculated based on
the frequency-of-use value and the time-since-click value.
9. The method of claim 1, wherein: the request for the web page is
from a client computer system to a provider computer system; the
receiving of the request for the web page and the modifying of the
web page is performed at the provider computer system; and the
serving of the modified web page comprises communicating the
modified web page from the provider computer system to the client
computer system.
10. The method of claim 1, wherein: the receiving of the request
for the web page is receiving the request at a client computer
system; modifying of the web page is modifying the web page at the
client computer system; and the serving of the modified web page
comprises rendering the modified web page utilizing an interpreter
provided with a web browser application executing at the client
computer system.
11. A computer-implemented system comprising: a request detector to
receive a request for a web page comprising a web link, the request
associated with a user account; a click history module to access
click history associated with the user account, the click history
storing a time-since-click value, the time-since-click value
reflecting a measure of time since the web link was activated
utilizing the user account; a link presentation generator to modify
the web page, utilizing the click history, to generate a modified
web page; and a serving module to serve the modified web page in
response to the request for the web page.
12. The system of claim 11, wherein the link presentation generator
is to select, utilizing the click history, a highlighted
presentation from a plurality of highlighted presentations to be
applied to the web link.
13. The system of claim 11, wherein a first highlighted
presentation from the plurality of highlighted presentations
indicate that less than a predetermined amount of time elapsed
since the last time the web link was activated utilizing the user
account.
14. The system of claim 11, wherein the link presentation generator
is to add one or more information items from information items
stored in the click history to be presented on the modified web
page as associated with the web link.
15. The system of claim 14, wherein the link presentation generator
is to modify the web page such that the one or more information
items are to be presented on the modified web page in response to
detecting a cursor positioned over the web link.
16. The system of claim 11, wherein the click history module is to
store respective time-since-click values for a plurality of web
links activated utilizing the user account, the plurality of web
links comprising the web link.
17. The system of claim 11, wherein the click history module is to
store a frequency-of-use value, the frequency-of-use value
reflecting frequency with which the web link was being activated
utilizing the user account.
18. The system of claim 11, wherein: the request for the web page
is from a client computer system to a provider computer system; and
the request detector, the click history module, the link
presentation generator, and the serving module reside at the
provider computer system.
19. The system of claim 11, wherein: the request for the web page
is from a client computer system; and the request detector, the
click history module, the link presentation generator, and the
serving module reside at a client computer system.
20. A machine-readable non-transitory medium having instruction
data to cause a machine to: receive a request for a web page
comprising a web link, the request associated with a user account;
access click history associated with the user account, the click
history storing a time-since-click value, the time-since-click
value reflecting a measure of time since the web link was activated
utilizing the user account; modify the web page, utilizing the
click history, to generate a modified web page; and serve the
modified web page in response to the request for the web page.
Description
TECHNICAL FIELD
[0001] This application relates to the technical fields of software
and/or hardware technology and, in one example embodiment, to
system and method for tracking web link usage.
BACKGROUND
[0002] An increasing amount of information has become available
over the Internet, which has led to the development of various
resources such as, e.g., search engines, that may be utilized to
obtain information. Finding particular information can be a
challenging and time-consuming task. A software application for
retrieving and presenting information resources on the Internet is
referred to as a web browser or merely a browser. An information
resource, e.g., a web page, may include one or more hyperlinks that
enable users to navigate to other web pages or other information
resources by activating their respective associated Uniform
Resource Locators (URLs). A web browser usually displays a
hyperlink in a distinguishing way, e.g. using a certain color or
style. A hyperlink that has been previously activated during a
session associated with a user is often displayed by a browser in a
different color during a subsequent session associated with the
same user, in order to provide an indication that the user has
already requested to activate the link.
BRIEF DESCRIPTION OF DRAWINGS
[0003] Embodiments of the present invention are illustrated by way
of example and not limitation in the figures of the accompanying
drawings, in which like reference numbers indicate similar elements
and in which:
[0004] FIG. 1 is a diagrammatic representation of a network
environment within which an example method and system for tracking
web link usage may be implemented, showing a provider computer
system hosting an example link usage tracker module;
[0005] FIG. 2 is a diagrammatic representation of a network
environment within which an example method and system for tracking
web link usage may be implemented, showing a client computer system
hosting an example link usage tracker module;
[0006] FIG. 3 is a diagram of a user interface comprising an
example presentation of links on a web page indicating inferred
relevance of respective links to a user associated with a current
user session, in accordance with one example embodiment;
[0007] FIG. 4 is a diagram of a user interface comprising an
example presentation of usage information associated with a link on
a web page utilizing a hover balloon, in accordance with one
example embodiment;
[0008] FIG. 5 is block diagram of a system for tracking web link
usage, in accordance with one example embodiment;
[0009] FIG. 6 is a flow chart of a method for tracking web link
usage, in accordance with an example embodiment; and
[0010] FIG. 7 is a diagrammatic representation of an example
machine in the form of a computer system within which a set of
instructions, for causing the machine to perform any one or more of
the methodologies discussed herein, may be executed.
DETAILED DESCRIPTION
[0011] A method and system for tracking usage of web links is
described. In the following description, for purposes of
explanation, numerous specific details are set forth in order to
provide a thorough understanding of an embodiment of the present
invention. It will be evident, however, to one skilled in the art
that the present invention may be practiced without these specific
details.
[0012] As used herein, the term "or" may be construed in either an
inclusive or exclusive sense. Similarly, the term "exemplary" is
construed merely to mean an example of something or an exemplar and
not necessarily a preferred or ideal means of accomplishing a goal.
Additionally, although various exemplary embodiments discussed
below focus on administration of Java-based servers and related
environments, the embodiments are given merely for clarity in
disclosure. Thus, any type of server environment, including various
system architectures, may employ various embodiments of the
application-centric resources system and method described herein
and is considered as being within a scope of the present
invention.
[0013] A link (also referred to as hyperlink or Web link) is a
hypertext construct that provides a connection from one web page to
another. When a user clicks on a link provided on a web page
displayed by a browser application, the next time the same web page
is displayed to the user, the browser displays the clicked link in
a different color in order to indicate that the link has already
been clicked on. Some existing browsers continue to display the
clicked link in a different color every time the user loads the
page, regardless of when the link was activated last. A method and
system may be provided for tracking usage history for a link and
presenting the link in a manner that is based on the collected
usage history. In one example embodiment, a computer-implemented
module termed a link usage tracker may collect respective data
associated with links. The data being collected--historical usage
data associated with the link and a user--may include the time
elapsed since the last activation of the link, frequency of link
activation, as well as statistics associated with the use of the
resource being accessed via the link. The link usage tracker may be
configured to interpreted historical data as indicative of a
certain level of usefulness of the link to the user and to
determine a presentation style for the link. When the user returns
to a previously visited web page, the link usage tracker may apply
different presentation styles to links based on their associated
usage data (also termed "previous click history"). For example, a
more-recently-clicked link would be displayed with a more
distinctive highlighting than a less-recently clicked link. In one
embodiment, a highlighted link may also be associated with a hover
balloon displaying the date and/or time when the link was last
accessed. The historical usage data associated with respective
links may be stored in a database or locally with respect to the
browser application. In one embodiment, a user may be permitted to
customize the way the highlighting or previous click history
information is displayed, e.g., by selecting either a textual hover
version or highlighting.
[0014] In some embodiments, a link usage tracker may be implemented
for use at a client computer system, e.g., as a browser plug-in
and/or base browser where the link usage tracking feature is
provided as a native feature of the browser. A browser plug-in may
be configured to locally store data about the clicked links, such
as the time of a click the frequency of clicks with respect to a
link, etc. A link usage tracker provided at a client computer
system may also be configured to modify the HyperText Markup
Language (HTML) content of the subject web page such that one or
more links that are present on the subject web page are displayed
in a manner indication how recently each link has been clicked. The
browser would then render the modified subject web page.
[0015] In some embodiments, a link usage tracker may be implemented
to reside at a server computer system, e.g., at a computer system
hosting a web site that provides a subject web page. A link usage
tracker residing at a server computer system may be configured to
track the links a user clicked based upon a login session and store
information about the clicked links. A link usage tracker provided
at a server computer system may also be configured to modify the
HyperText Markup Language (HTML) content of the subject web page
such that one or more links that are present on the subject web
page are displayed in a manner indication how recently each link
has been clicked. The modified subject web page may then be
provided to the requesting browser application for rendering.
[0016] An example method and system for tracking web link usage may
be implemented in the context of a network environment illustrated
in FIGS. 1 and 2. FIG. 1 is a diagrammatic representation of a
network environment 100 within which an example method and system
for tracking web link usage may be implemented, showing a provider
computer system 110 hosting a link usage tracker module 112 (also
referred to as merely the link usage tracker 112). The link usage
tracker 112 may be configured to monitor requests to activate links
associated with web pages provided by a web service 114 and store
information associated with these requests as associated with
respective user sessions. A request to activate a link associated
with a web page may also be referred to as a "click."
[0017] The provider computer system 110 is in communication with
client computer systems 120 and 140. The client computer systems
120 and 140 may run respective browser applications 122 and 142 and
may have access to the provider computer system 110 via a
communications network 130. The communications network 130 may be a
public network (e.g., the Internet, a wireless network, etc.) or a
private network (e.g., a local area network (LAN), a wide area
network (WAN), Intranet, etc.). Link usage data 152 collected by
the link usage tracker 112 may be stored in a repository 150. An
example partial code for storing link information is shown in Table
1 below.
TABLE-US-00001 TABLE 1 <meta name=''ageUnit''
content=''minutes'' /> <meta name=''ageAnimation'' content=''
JavaScript'' /> ... <a
href=''http://www.paypal.com/accounts'' target=''_blank''
lastUsageAge="5" historyDisplay="desolve">PayPal
Accounts</a> <a href=''http://www.paypal.com.com/help''
target=''_blank'' lastUsageAge="1"
historyDisplay="desolve">PayPal Help</a> <a
href=''http://www.paypal.com/register''
target=''_blank''>Register to use PayPal</a>
[0018] Referring to Table 1 above, meta tags at the top of the HTML
page could indicate page level values. This could be used in the
case of the browser client plug-in (e.g., the link usage tracker
214 shown in FIG. 2). In one embodiment, based on the
"lastUsageAge" attribute, the plug-in would render the link in a
different color or highlighting. The "historyDisplay" may be
associated with a control on the type of animation or how to
display the aged links.
[0019] FIG. 2 is a diagrammatic representation of a network
environment 200 within which an example method and system for
tracking web link usage may be implemented, showing a client
computer system 210 hosting a link usage tracker module 214 (also
referred to as merely the link usage tracker 214). The link usage
tracker 214 may be configured to monitor requests to activate links
associated with web pages obtained by a browser application 212
(e.g., from web services such as a web search engine 222 hosted by
a provider computer system 220) and store information associated
with these requests locally at the client computer system 210 as
associated with respective the user session. The link usage tracker
214 may then utilize the stored link usage information to modify
web pages that include those links such that the modified web page,
when rendered, provides meaningful information regarding the usage
of the web links.
[0020] FIG. 3 is a diagram of a user interface 300 comprising an
example presentation of links on a web page indicating inferred
relevance of respective links to a user associated with a current
user session. For example, the links that have been activated by
the user more recently may be presented with more intensive
highlighting than the links that have been activated by the user
less recently. In another example, the intensity of highlighting of
a link may be determined by a link usage tracker based on the
frequency with which the links has been activated. Shown in FIG. 3
are links 302-310, each displayed utilizing different shading or
highlighting.
[0021] As shown in FIG. 3, the "Phones and Mobile Payments" link
306 has the greatest highlighting, from which a user is to infer
that she has activated this link most recently. The "Identification
Preference" link 302 is not highlighted at all, from which the user
is to infer that the link has not been activated at all or in a
long time (e.g., since a predetermined threshold date). Another
example of providing a user with information regarding the
relevance of a link presented on a web page is shown in FIG. 4.
[0022] FIG. 4 is a diagram of a user interface 400 comprising an
example presentation of usage information associated with a link on
a web page utilizing a hover balloon 402. As shown in FIG. 4, a
cursor 404 is positioned at the "Phones and Mobile Payments" link,
which causes the presentation of the hover balloon 402 that
displays link usage information. The definition of the hover
balloon 402, in one embodiment, is included into the HTML content
of the webpage presenting the user interface 400 by a link usage
tracker. As explained above, a link usage tracker may reside at a
client computer system hosting a browser application, in which case
the link usage tracker modifies the web page obtained from a
provider computer system before the web page is rendered by the
browser. In some embodiments, a link usage tracker may reside at a
provider computer system that that provides web pages, in which
case the link usage tracker modifies the web page utilizing link
usage data before the web page is transmitted to the requesting
client computer system. An example link usage tracker may be
described with reference to FIG. 5.
[0023] FIG. 5 is a block diagram of a system 500 for tracking web
link usage (a link usage tracker), in accordance with one example
embodiment. As shown in FIG. 5, the system 500 includes a request
detector 502, a click history module 504, a link presentation
generator 506, and a serving module 508. As explained above, a web
link tracker may reside at a provider system or at a client
system.
[0024] The request detector 502 may be configured to receive a
request for a web page comprising a web link. The request is
associated with a user session (e.g., which may be indicated by an
identification of a client computer system or a browser application
associated with the request). In one embodiment, the user session
could be tracked by utilizing a cookie that is written to the
browser to indicate a new user session. The cookie would store
information indicative of when the user has last visited the site
even if they don't log in. In another embodiment, the session
tracking may be performed on the browser side. This method may
entail writing a unique identification value that is hidden from
the user but is passed from the browser to the server. This id may
be in the form of a URL (e.g., www.company.com/?jsession=123344) or
it may be a hidden field in a submission form.
[0025] The click history module 504 may be configured to access
click history associated with the user account. The click history,
which may be stored locally with respect to the link usage tracker,
may store various information related to the usage of one or more
links, such as, e.g., a time-since-click value for respective
links, a frequency-of-use value for respective links, a rank value
for respective links, etc. The time-since-click value, for example,
may reflect a measure of time since the web link was last activated
utilizing the user account. The frequency-of-use value may reflect
frequency with which the web link was being activated utilizing the
user account. The rank value for a web link from the plurality of
web links may be calculated based on the frequency-of-use value and
the time-since-click value, as compared to these values for other
web links for which the click history is being maintained.
[0026] The link presentation generator 506 may be configured to
modify the web page, utilizing the click history, to generate a
modified web page. In embodiments where the link usage tracker
resides at a client computer system (e.g., where the link usage
tracker is provided as a feature of a browser application), the
link presentation generator 506 modifies the web page before the
web page is being rendered. In embodiments where the link usage
tracker resides at a provider computer system, the link
presentation generator 5062 modifies the web page before the web
page is being communicated to the requesting client computer
system.
[0027] The link presentation generator 506, in one embodiment, may
be configured to modify a web page that includes a link, for which
the click history is being maintained, by selecting a highlighted
presentation from a plurality of highlighted presentations to be
applied to the web link. The highlighted presentation is selected
based on the click history associated with the web link. Referring
to FIG. 3 described above, the highlighting (or shading) of the
links 302-310 shown in FIG. 3 is selected by the link presentation
generator 506 based on respective click history values for those
links. The highlighting associated with the link 306 may indicate
that less than a predetermined amount of time elapsed since the
last time the link 306 was activated utilizing the user
account.
[0028] In some embodiments, the link presentation generator 506 may
be configured to modify a web page that includes a link, for which
the click history is being maintained, by adding one or more
information items from information items stored in the click
history to be presented on the modified web page as associated with
the web link. For example, referring to FIG. 4 described above, the
link 402 is presented together with a hover balloon presenting the
date and time when the link 404 was last accessed, whenever the
user positions a cursor over the link 402.
[0029] Returning to FIG. 5, the serving module 508 may be
configured to serve the modified web page in response to the
request for the web page. In embodiments where the system 500 (the
link usage tracker) resides at a client computer system, the
serving module 508 may be configured to render the modified web
page utilizing an interpreter provided with a web browser
application executing at the client computer system. In embodiments
where the system 500 (the link usage tracker) resides at a provider
computer system, the serving module 508 may be configured to
communicate the modified web page from the provider computer system
to the requesting client computer system. An example method for
tracking web link usage can be described with reference to FIG.
6.
[0030] FIG. 6 is a flow chart of a method 600 for tracking web link
usage, according to one example embodiment. The method 600 may be
performed by processing logic that may comprise hardware (e.g.,
dedicated logic, programmable logic, microcode, etc.), software
(such as run on a general purpose computer system or a dedicated
machine), or a combination of both. In one example embodiment, the
processing logic resides at the server system 160 of FIG. 1 and,
specifically, at the system for tracking web link usage shown in
FIG. 5.
[0031] As shown in FIG. 6, the method 600 commences at operation
610, when the request detector 502 of FIG. 5 receives a request for
a web page comprising a web link (also referred to as merely link).
The request may be associated with a user session (e.g., which may
be indicated by an identification of a client computer system or a
browser application associated with the request). At operation 620,
the click history module 504 of FIG. 5 accesses click history
associated with the user account. At operation 630, the link
presentation generator 506 of FIG. 5 may be configured to modify
the web page, utilizing the click history, to generate a modified
web page. As described above with reference to FIG. 5, in
embodiments where the link usage tracker resides at a client
computer system (e.g., where the link usage tracker is provided as
a feature of a browser application), the link presentation
generator 506 modifies the web page before the web page is being
rendered. In embodiments where the link usage tracker resides at a
provider computer system, the link presentation generator 506
modifies the web page before the web page is being communicated to
the requesting client computer system. The modifying of the web
page performed at operation 630, may entail selecting a highlighted
presentation from a plurality of highlighted presentations to be
applied to the web link or adding one or more information items
from information items stored in the click history to be presented
on the modified web page as associated with the web link.
[0032] At operation 640, the serving module 502 serves the modified
web page. As described above, in embodiments where the system 500
(the link usage tracker) resides at a client computer system, the
serving module 502 renders the modified web page utilizing an
interpreter provided with a web browser application executing at
the client computer system. In embodiments where the system 500
resides at a provider computer system, the serving module 502
communicates the modified web page from the provider computer
system to the requesting client computer system.
[0033] FIG. 7 shows a diagrammatic representation of a machine in
the example form of a computer system 700 within which a set of
instructions, for causing the machine to perform any one or more of
the methodologies discussed herein, may be executed. In alternative
embodiments, the machine operates as a stand-alone device or may be
connected (e.g., networked) to other machines. In a networked
deployment, the machine may operate in the capacity of a server or
a client machine in a server-client network environment, or as a
peer machine in a peer-to-peer (or distributed) network
environment. The machine may be a personal computer (PC), a tablet
PC, a set-top box (STB), a Personal Digital Assistant (PDA), a
cellular telephone, a web appliance, a network router, switch or
bridge, or any machine capable of executing a set of instructions
(sequential or otherwise) that specify actions to be taken by that
machine. Further, while only a single machine is illustrated, the
term "machine" shall also be taken to include any collection of
machines that individually or jointly execute a set (or multiple
sets) of instructions to perform any one or more of the
methodologies discussed herein.
[0034] The example computer system 700 includes a processor 702
(e.g., a central processing unit (CPU), a graphics processing unit
(GPU) or both), a main memory 704 and a static memory 706, which
communicate with each other via a bus 707. The computer system 700
may further include a video display unit 710 (e.g., a liquid
crystal display (LCD) or a cathode ray tube (CRT)). The computer
system 700 also includes an alpha-numeric input device 712 (e.g., a
keyboard), a user interface (UI) navigation device 714 (e.g., a
cursor control device), a disk drive unit 716, a signal generation
device 718 (e.g., a speaker) and a network interface device
720.
[0035] The disk drive unit 716 includes a machine-readable medium
722 on which is stored one or more sets of instructions and data
structures (e.g., software 724) embodying or utilized by any one or
more of the methodologies or functions described herein. The
software 724 may also reside, completely or at least partially,
within the main memory 704 and/or within the processor 702 during
execution thereof by the computer system 700, with the main memory
704 and the processor 702 also constituting machine-readable
media.
[0036] The software 724 may further be transmitted or received over
a network 726 via the network interface device 720 utilizing any
one of a number of well-known transfer protocols (e.g., Hyper Text
Transfer Protocol (HTTP)).
[0037] While the machine-readable medium 722 is shown in an example
embodiment to be a single medium, the term "machine-readable
medium" should be taken to include a single medium or multiple
media (e.g., a centralized or distributed database, and/or
associated caches and servers) that store the one or more sets of
instructions. The term "machine-readable medium" shall also be
taken to include any medium that is capable of storing and encoding
a set of instructions for execution by the machine and that cause
the machine to perform any one or more of the methodologies of
embodiments of the present invention, or that is capable of storing
and encoding data structures utilized by or associated with such a
set of instructions. The term "machine-readable medium" shall
accordingly be taken to include, but not be limited to, solid-state
memories, optical and magnetic media. Such media may also include,
without limitation, hard disks, floppy disks, flash memory cards,
digital video disks, random access memory (RAMs), read only memory
(ROMs), and the like.
[0038] The embodiments described herein may be implemented in an
operating environment comprising software installed on a computer,
in hardware, or in a combination of software and hardware. Such
embodiments of the inventive subject matter may be referred to
herein, individually or collectively, by the term "invention"
merely for convenience and without intending to voluntarily limit
the scope of this application to any single invention or inventive
concept if more than one is, in fact, disclosed.
[0039] Thus, a method and system for tracking usage of web links
has been described. Although embodiments have been described with
reference to specific example embodiments, it will be evident that
various modifications and changes may be made to these embodiments
without departing from the broader spirit and scope of the
inventive subject matter. Accordingly, the specification and
drawings are to be regarded in an illustrative rather than a
restrictive sense.
* * * * *
References