|
|  Get related patents on CD |
| United States Patent | 6466966 |
| Link to this page | http://www.wikipatents.com/6466966.html |
| Inventor(s) | Kirsch; Steven T. (Los Altos, CA);
Lindblad; Christopher J. (Oakland, CA) |
| Abstract | A message is provided to a tracking server system in response to a client
system referencing a predetermined resource locator that corresponds to a
resource external to the tracking server system. The tracking server
system indirectly provides for the client system to have an informational
element selectable by the client system, where the informational element
is graphically identified on the client system with informational content
obtainable from a content server system through use of a content resource
locator. The informational element includes a tracking resource locator,
referencing the tracking server system, and data identifying the
informational element. The selection of the informational element causes
the client system to use the tracking resource locator to provide the data
to the tracking server system and to use the content resource locator to
obtain the informational content from the content server system. |
| |
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6466966 |
|
|
Method and apparatus for redirection of server external hyper-link
references |
|
|
|
|
|
| Publication Date |
October 15, 2002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This application is a Continuation of application Ser. No. 09/071,674,
filed on May 1, 1998 now U.S. Pat. No. 6,189,030, which application(s) are
incorporated herein by reference. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 6189030 Kirsch 709/224 Feb,2001 |      Your vote accepted [0 after 0 votes] | | 6073241 Rosenberg 726/3 Jun,2000 |      Your vote accepted [0 after 0 votes] | | 6018619 Allard 709/224 Jan,2000 |      Your vote accepted [0 after 0 votes] | | 5963915 Kirsch 705/26 Oct,1999 |      Your vote accepted [0 after 0 votes] | | 5948061 Merriman 709/219 Sep,1999 |      Your vote accepted [0 after 0 votes] | | 5935207 Logue
Aug,1999 |      Your vote accepted [0 after 0 votes] | | 5894554 Lowery 709/203 Apr,1999 |      Your vote accepted [0 after 0 votes] | | 5870546 Kirsch
Feb,1999 |      Your vote accepted [0 after 0 votes] | | 5855020 Kirsch
Dec,1998 |      Your vote accepted [0 after 0 votes] | | 5812769 Graber
Sep,1998 |      Your vote accepted [0 after 0 votes] | | 5751956 Kirsch 709/203 May,1998 |      Your vote accepted [0 after 0 votes] | | 5712979 Graber 709/224 Jan,1998 |      Your vote accepted [0 after 0 votes] | | 5708780 Levergood 709/229 Jan,1998 |      Your vote accepted [0 after 0 votes] | | 5640193 Wellner 725/100 Jun,1997 |      Your vote accepted [0 after 0 votes] | | 5572643 Judson 709/218 Nov,1996 |      Your vote accepted [0 after 0 votes] | | 4825354 Agrawal 707/10 Apr,1989 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. A method of providing for the server based controlled management and
tracking of a client reference to a resource locator independently
selected by a client computer system and referencing a server external
resource, said method comprising the steps of:
a) providing to a client system a predetermined URL referencing a first
server system, said predetermined URL being encoded with predetermined
redirection and accounting data including a reference to a second server
system;
b) receiving by said first server system said predetermined URL from said
client system;
c) decoding by said first server system said predetermined redirection and
accounting data from said predetermined URL; and
d) processing by said first server system said predetermined redirection
and accounting data including providing said client system with a
redirection message including said reference to said second server system.
2. The method of claim 1 wherein said first server system provides said
predetermined URL to said client system.
3. The method of claim 1 wherein a third server system provides said
predetermined URL to said client system.
4. The method of claim 1, 2 or 3 wherein said processing step includes
recording accounting data derived from said redirection and accounting
data by said first server system and providing a redirection URL derived
from said redirection and accounting data to said client system in
connection with said redirection message.
5. The method of claim 4 wherein said accounting data includes an
identification field sufficient to permit said first server system to
identify a specific instance of said predetermined URL.
6. The method of claim 5 wherein said predetermined URL is provided to said
client system in combination with any of a plurality of hypertext
documents and wherein said accounting data is further processed to
summarize the receipt of said predetermined URL by said first server
system in relation to said plurality of hypertext documents.
7. The method of claim 6 wherein said accounting data includes a validation
field sufficient to permit said first server system to validate the
timeliness of the receipt of said predetermined URL by said first server
system and wherein said first server system dismisses the receipt of said
predetermined URL when said predetermined URL is determined to be
untimely.
8. The method of claim 6 wherein said plurality of hypertext documents
include a plurality of advertisements and wherein said predetermined URL
is associated with a like advertisement provided in any of said plurality
of hypertext documents.
9. The method of claim 6 wherein a URL of a plurality of URLs, including
said predetermined URL, is respectively associated with each of said
plurality of advertisements and wherein said plurality of URLs include a
common URL reference to said first server system.
10. A server computer system serving World Wide Web pages to client
computer systems via an Internet communications link, said server computer
system comprising:
a) a memory providing for the storage of a server program, a Web page, and
a data file; and
b) a central processing unit coupled to said memory to provide for the
execution of said server program, wherein said server program includes
execution instructions that define respective predetermined responses to
first and second client request types, said first client request type
including a first predetermined request for the return transfer of said
Web page to said client computer system, said second client request type
including a second predetermined request, including redirection and
accounting data, to process said redirection and accounting data, to
provide for a return transfer of a redirection message to said client
computer system, and to selectively store data corresponding to said
accounting data in said data file.
11. The server computer system of claim 10 wherein said accounting data
includes an identification of a predetermined instance of said first
client request type.
12. The server computer system of claim 11 wherein said accounting data
includes validation data.
13. The server computer system of claim 11 wherein said predetermined
instance corresponds to an Internet advertisement.
14. A method of operating a Web server comprising the steps of:
a) receiving a predetermined service request wherein said predetermined
service request may include a redirection directive and redirection URL;
b) determining whether said predetermined service request includes said
redirection directive; and
c) serving a redirection response message, including said redirection URL,
where said predetermined service request includes said redirection
directive.
15. The method of claim 14 wherein said method is performed in connection
with the operation of a Web client and wherein said redirection response
message is one of a predetermined set of response messages autonomously
handled by said Web client, the autonomous handling of said redirection
response message by said Web client including the automatic issuance of
another service request utilizing said redirection URL.
16. The method of claim 15 wherein said predetermined service request
includes accounting data with an instance of said redirection directive
and wherein said method further comprises the step of recording said
accounting data in connection with serving said redirection response
message.
17. The method of claim 6 wherein said accounting data includes validation
data and wherein said method further comprises the step of evaluating said
validation data.
18. The method of claim 16 wherein said accounting data encodes an
identification of an Internet advertisement coupled to said predetermined
service request.
19. A server system providing for the serving of data pages, including page
elements, in response to hypertext protocol requests received from a
network, said server system including a processor for executing a server
application to implement a server process comprising the steps of:
a) receiving a predetermined request from said network, wherein said
predetermined request corresponds to a predetermined page element, and
wherein said predetermined request includes predetermined request data;
b) processing said predetermined request data to obtain an identification
of said predetermined page element;
c) preparing a predetermined redirection message corresponding to said
identification; and
d) issuing said predetermined redirection message to said network.
20. The server system of claim 19 further comprising the steps of:
a) pre-establishing a correspondence between said predetermined page
element and said identification, said correspondence providing redirection
information for use in said step of preparing said predetermined
redirection message; and
b) serving a predetermined data page including said predetermined page
element.
21. The server system of claim 20 wherein predetermined redirection
information is provided with said predetermined page element, and wherein
said predetermined redirection information is included in said
predetermined request.
22. The server system of claim 21 wherein said predetermined redirection
information includes first data providing said identification and second
data providing a redirection reference, wherein said step of processing
includes a step of identifying a redirection server from said redirection
reference, and wherein said step of preparing provides, said predetermined
redirection message with an identification of said redirection server.
23. The server system of claim 22 wherein said redirection reference
includes a predetermined URL, and wherein said identification of said
redirection server is said predetermined URL.
24. The server system of claim 22 wherein said redirection reference
establishes a one-to-one relationship between said predetermined request
and said redirection server.
25. The server system of claim 22 wherein said redirection reference
establishes a relationship between said predetermined request and any of a
plurality of redirection servers, and wherein said step of preparing said
predetermined redirection message selects said redirection server from
said plurality of redirection servers.
26. A process providing for the collecting information regarding the
selection of hyper-text URLs in Web pages served over a network to a
client system from a server system, said process comprising the steps of:
a) serving a Web page, including a predetermined embedded URL, from a first
predetermined server system to a client system, wherein said predetermined
embedded URL includes predetermined identification data;
b) receiving by said first predetermined server system a predetermined
message from said client system in response to the selection of said
predetermined URL, said predetermined message including said predetermined
identification data;
c) recording by said first predetermined server system said predetermined
identification data; and
d) issuing by said first predetermined server system a temporary
redirection message to said client system identifying a second
predetermined server system.
27. The process of claim 26 wherein said Web page includes a hyper-text
object corresponding to said second predetermined server system, and
wherein said hyper-text object embeds said predetermined embedded URL.
28. The process of claim 27 further comprising the step of processing said
predetermined identification data to obtain first and second data, said
first data identifying said hyper-text object and said second data
identifying said second predetermined server system.
29. The process of claim 28 wherein said step of issuing includes the steps
of forming a predetermined redirection URL based on said second data, and
incorporating said predetermined redirection URL in said temporary
redirection message.
30. The process of claim 29 wherein said second data includes a portion of
said predetermined redirection URL.
31. The process of claim 29 wherein said second data includes a path
portion of said predetermined redirection URL and an identification of a
Web page available to be served by said second predetermined server
system.
32. The process of claim 27 further comprising the step of determining from
said predetermined identification data a URL reference to said second
predetermined server system.
33. A process permitting the accounting by a server system of hyper-text
selection of Web page elements by client systems, said process comprising
the steps of:
a) identifying a Web page element with a first predetermined server system
so that the identification is visually effective to a user of a
predetermined client system;
b) providing a redirection URL as an embedded URL included with said Web
page element, said redirection URL including a server URL and data, said
direct server URL specifying a second predetermined server system, said
data including an identification of said Web page element and a reference
to said first predetermined server system; and
c) serving a Web page including said Web page element to said predetermined
client system, whereby hyper-text selection of said Web page element will
provide said data to said second predetermined server system.
34. The process of claim 33 further comprising the steps of:
a) receiving, by said second server system, said data;
b) processing said data to obtain said identification and said reference;
c) storing accounting data corresponding to said identification; and
d) providing a redirection message to said predetermined client system
including a URL specifying said first predetermined server system.
35. The process of claim 34 wherein said URL specifying said first
predetermined server system corresponds to said reference.
36. The process of claim 35 wherein said reference includes said URL
specifying said first predetermined server system.
37. The process of claim 33 wherein said redirection URL includes
validation data provided to support validation of said redirection URL by
said second server system.
38. A process for tracking client selections of hyper-link references
comprising the steps of:
a) providing a client computer system with a selectable hyper-link
reference toga first server system, wherein selection of said hyper-link
reference by said client computer system provides a portion of said
hyper-link reference to said first server system; and
b) providing, by said first server system, a redirection reference to said
client computer system, wherein said redirection reference is determined
by said first server system from said portion of said hyper-link reference
and wherein said redirection reference includes an identification of a
second server system.
39. The process of claim 38 wherein said redirection reference is
determined from a correspondence between said portion of said hyper-link
reference and said identification.
40. The process of claim 39 wherein said first server system processes said
portion of said hyper-link reference to provide said identification.
41. The process of claim 40 wherein said portion of said hyper-link
reference includes said identification.
42. The process of claim 38 wherein said portion of said hyper-link
reference includes validation information, said process further comprising
the step of processing said validation information by said first server
system in determining said redirection reference and wherein said
redirection reference is conditionally provided to said client computer
system.
43. The process of claim 42 wherein said portion of said hyper-link
reference includes account information, said process further comprising
the step of processing said account information to obtain accounting or
auditing data and recording said accounting or auditing data.
44. The process of claim 38 wherein said hyper-link reference is
selectively constructed by said first server system to have a
predetermined correspondence between said portion of said hyper-link
reference and said identification and wherein said predetermined
correspondence is determined by said first server system upon receipt of
said portion of said hyper-link reference.
45. A process for providing notification of the selection of a hyper-link
reference to a first server system in response to selection of a Web page
element by a client system where the Web page element corresponds to a
second server system, said process comprising the steps of:
a) providing for said hyper-link reference to include a direct server URL
reference to said first server system, a redirection directive, and an
identification of a second server system, wherein said client system
utilizes said direct server URL to provide said redirection directive and
said identification to said first server system;
b) processing said redirection directive and said identification to prepare
a redirection message including a redirect server URL; and
c) providing said redirection message to said client system.
46. The process of claim 45 wherein said identification includes said
redirect server URL.
47. The process of claim 46 wherein processing of said identification
determines said redirection URL having a predetermined correspondence with
said second server system.
48. The process of claim 47 wherein said predetermined correspondence is a
one-to-one correspondence.
49. The process of claim 47 wherein said predetermined correspondence is a
one-to-many correspondence.
50. The process of claim 47 wherein said identification includes said
redirect server URL.
51. The process of claim 48, 49, or 50 wherein said hyper-link reference
further includes data having a predetermined correspondence with said Web
page element and wherein said first server system processes said data to
account for notification of the selection of said hyper-link reference.
52. A process of providing advertisement selection information to a web
server in response to client selections of advertisements provided in web
pages, said process comprising the steps of:
a) providing an embedded URL in a web page coupled to an advertisement
selectable by a client, said advertisement having a correspondence with a
first server and said embedded URL including a URL corresponding to a
second server and data including an identification of said first server;
b) providing a redirection message including a redirection URL
corresponding to said first server where said redirection message is
prepared by said second server based on said identification of said first
server; and
c) recording advertisement selection information derived from said data.
53. The process of claim 52 wherein said web page served to said client by
a third server.
54. The process of claim 53 wherein said data is processed by said second
server to obtain said redirection URL.
55. The process of claim 54 wherein said identification of said first
server establishes a predetermined correspondence between said embedded
URL and said first server.
56. The process of claim 55 wherein said predetermined correspondence is
one-to-one. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is generally related to the control of network
information server systems supporting World Wide Web based data pages and,
in particular, to a server system and process for efficiently redirecting
external server hyper-link references for purposes of controlling,
moderating, and accounting for such references.
2. Description of the Related Art
The recent substantial growth and use of the internationally connected
network generally known as the Internet has largely been due to widespread
support of the hypertext transfer protocol (HTTP). This protocol permits
client systems connected through Internet Service Providers (ISPs) to
access independent and geographically scattered server systems also
connected to the Internet. Client side browsers, such as Netscape
Mozilla.RTM. and Navigator.RTM. (Netscape Communications Corp.), Microsoft
Internet Explorer.RTM. and NCSA Mosaic.TM., provide efficient graphical
user interface based client applications that. implement the client side
portion of the HTTP protocol.
Server side application programs, generically referred to as HTTPd servers,
implement the server side portion of the HTTP protocol. HTTP server
applications are available both commercially, from companies such as
Netscape, and as copyrighted freeware available in source code form from
NCSA.
The distributed system of communication and information transfer made
possible by the HTTP protocol is commonly known as the World Wide Web (WWW
or W3) or as simply "the Web." From a client side user interface
perspective, a system of uniform resource locators (URLs) is used to
direct the operation of a web browser in establishing atomic transactional
communication sessions with designated web server computer systems. In
general, each URL is of the basic form:
http://<server_name>.<sub-domain.top_level-domain>/<path>
The server_name is typically "www" and the sub_domain.top-level_domain is a
standard Internet domain reference. The path is an optional additional URL
qualifier.
Specification by user selection of a URL on the client side results in a
transaction being established in which the client sends the server an HTTP
message referencing a default or explicitly named data file constructed in
accordance with the hypertext mark up language (HTML). This data file or
web page is returned in one or more response phase HTTP messages by the
server, generally for display by the client browser. Additional embedded
image references may be identified in the returned web page resulting in
the client browser initiating subsequent HTML transactions to retrieve
typically embedded graphics files. A fully reconstructed web page image is
then presented by the browser through the browser's graphical user
interface.
Due to the completely distributed client/server architecture of the Web, as
made possible by the URL system further supported by the existing Internet
name resolution services and routing conventions, HTTP servers can be
independently established with little difficulty. Consequently, the Web
has no centrally or even regionally enforced organization other than
loosely by name of the top level domain. Searching for information or
other resources provided by individual HTTP servers is therefore
problematic almost by definition. Because of the time, cost and complexity
of assembling comprehensive, yet efficiently searchable databases of web
information and resources, commercial Internet Business Services (IBS)
have been established to provide typically fee based or advertising
revenue supported search engine services that operate against compilations
of the information and resources available via the Web correlated to
source URLs. Access to such search engines is usually provided through
server local web pages served by the Internet Business Services. The
results of a search are served in the form of local web pages with
appropriate embedded remote or hyper-linked URLs dynamically constructed
by the server of the Internet Business Service.
Because of the opportunity presented by the likely repeated client access
and retrieval of search engine and search result web pages, providers of
other Internet based services have begun to actively place advertisements
on these web pages. As is typical in advertising mediums, the frequency of
display of an advertisement generally defines the compensation paid to the
advertisement publisher. Thus, the number of times that an advertisement
is simply transferred to a client browser provides an indication of how
effectively the advertisement is being published. A more direct measure of
the effectiveness of a particular advertisement on a particular web page
is the number of times a client web browser chooses to actively pursue the
URL represented by the advertisement. Thus, there is a need to be able to
track, information obtainable from a client browser when a hyper-linked
advertiser's URL is selected.
The difficulty in obtaining direct reference information arises from the
fact that a web page with an embedded advertisement and corresponding
remote URL is served in its entirety to the client browser upon first
reference to the web page. The selection of a particular advertiser's URL
is then by definition performed through an independent transaction
directed to the HTTPd server associated with the advertiser. Since the
advertiser publishing HTTPd server is not part of this subsequent
transaction, the publishing server is conventionally incapable of tracking
client browser hyper-links actually executed to an advertiser's URL or any
other URLs embedded in a web page previously served to the client browser.
Simple web page access counters are relatively well known and used
throughout the Web. These access counters are based on a common gateway
interface (CGI) facility supported by modern HTTPd server systems. The CGI
facility permits generally small programs, at least typically in terms of
function, to be executed by a server in response to a client URL request.
That is, the HTML web page definition provides for the embedding of a
specific HTML reference that will specify execution of a server side CGI
program as part of the process of the web browser reconstructing an image
of a served web page. Such a HTML reference is typically of the form:
<img src="http://www.target.com/cgi-bin/count.cgi">
Thus, a counter value incremented with each discrete execution of the CGI
program (count.cgi) dynamically provides part of the displayable image of
the reconstructed web page. The time, remote client requester, client
domain, client browser type and other information that may be known
through the operation of the HTTP protocol may be logged as part of the
CGI program's function. Consequently, a reasonable manner of accounting
and auditing for certain web page accesses exists.
Access counters, however, fundamentally log only server local web page
accesses. The client browser to the CGI program is evaluated by the client
in connection with the initial serving of the web page to the client
browser. The initial serving of the web page to the client browser can be
connected, but any subsequent selection of a URL that provides a
hyper-link reference to an external server is not observed and therefore
is not counted by a CGI program based access counter. Other limitations of
access counters arise from the fact that the implementing CGI program is
an independently loadable executable. The CGI program must be discretely
loaded and executed by the server computer system in response to each URL
reference to the CGI program. The repeated program loading and execution
overhead, though potentially small for each individual invocation of the
CGI program, can represent a significant if not substantial load to the
sever computer system. The frequent execution of CGI programs is commonly
associated with a degradation of the effective average access time of the
HTTPd server in responding to client URL requests. Since an Internet
Business Service providing access to a search engine logs millions of
requests each day, even small reductions in the efficiency of serving web
pages can seriously degrade the cost efficiency of the Internet Business
Service. As of December, 1995, Infoseek Corporation, in particular,
handles an average of five million retrievals a day.
The execution overhead associated with CGI programs is often rather
significant. Many CGI programs are implemented at least in part through
the use of an interpreted language such as Perl or TCL. Consequently, a
substantial processing overhead is involved in multiple mass storage
transfers to load both the interpreter and CGI program scripts, to process
the scripts through the execution of the interpreter, and then actually
log whatever useful data is generated, typically to persistent mass
storage. Finally, the interpreter and/or CGI program may have to be
unloaded.
In addition, external CGI programs present a significant problem in terms
of maintenance, including initial and ongoing server configuration and
control, and security in the context of a busy server system. Individual
CGI programs will likely be needed for each independent web page in order
to separately identify web page service counts. Alternatively, a CGI
program can be made sufficiently complex to be able to distinguish the
precise manner in which the program is called so as to identify a
particular web page and log an appropriately distinctive access count.
Maintenance of such CGI programs on a server system where large numbers of
page accesses are being separately counted is non trivial.
Further, the existence of external programs, particularly of scripts that
are interpreted dynamically, represents a potential security problem. In
particular, the access and execute permissions of interpreted scripts must
be carefully managed and monitored to prevent any unauthorized script from
being executed that could, in turn, compromise the integrity of the data
being collected if not the fundamental integrity of the server computer
system itself. Consequently, known access counters provide no solution
directly in full or in part to the need to account or audit URL references
to external servers based on hyper-links from previously served web pages.
The HTTP protocol itself provides for a basic server based system of URL
redirection for servers and clients supporting the 1.5 or later versions
of the HTTP protocol. A configuration file associated with an HTTP server
(typically srm.conf) can specify a redirect directive that effectively
maps a server local directory URL reference to an external URL reference
through the use of a configuration directive of the form:
Redirect/dir1 http://newserver.widget.com/dir1
When a Version 1.5 or later HTTP server receives a URL reference to a focal
directory (/dir1) that is specified as above for redirection, a redirect
message is returned to the client browser including a new location in the
| | |