WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for redirection of server external hyper-link references    

Get related patents on CD
United States Patent6466966   
Link to this pagehttp://www.wikipatents.com/6466966.html
Inventor(s)Kirsch; Steven T. (Los Altos, CA); Lindblad; Christopher J. (Oakland, CA)
AbstractA 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 6466966
Method and apparatus for redirection of server external hyper-link

     references - US Patent 6466966 Drawing
Method and apparatus for redirection of server external hyper-link references
Inventor     Kirsch; Steven T. (Los Altos, CA); Lindblad; Christopher J. (Oakland, CA)
Owner/Assignee     Infoseek Corporation (Santa Clara, CA)
Patent assignment
All assignments
Company News
Publication Date     October 15, 2002
Application Number     09/655,999
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 6, 2000
US Classification     709/203 705/51 709/205 709/219 709/245
Int'l Classification     G06F 015/16
Examiner     Dinh; Dung C.
Assistant Examiner     Salad; Abdullahi E.
Attorney/Law Firm     Wenskay; Donald L. Greenberg Traurig,LLP.,
Address
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.
Priority Data    
USPTO Field of Search     209/203 209/205 209/204 209/223 209/224 209/217 209/218 209/219 209/229 209/238 209/245 209/227 209/225 209/226 209/228 705/26 705/27 705/15 705/51 707/10 707/104 707/501.1 707/513
Patent Tags     redirection server external hyper-link references
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
6189030
Kirsch
709/224
Feb,2001

[0 after 0 votes]
6073241
Rosenberg
726/3
Jun,2000

[0 after 0 votes]
6018619
Allard
709/224
Jan,2000

[0 after 0 votes]
5963915
Kirsch
705/26
Oct,1999

[0 after 0 votes]
5948061
Merriman
709/219
Sep,1999

[0 after 0 votes]
5935207
Logue

Aug,1999

[0 after 0 votes]
5894554
Lowery
709/203
Apr,1999

[0 after 0 votes]
5870546
Kirsch

Feb,1999

[0 after 0 votes]
5855020
Kirsch

Dec,1998

[0 after 0 votes]
5812769
Graber

Sep,1998

[0 after 0 votes]
5751956
Kirsch
709/203
May,1998

[0 after 0 votes]
5712979
Graber
709/224
Jan,1998

[0 after 0 votes]
5708780
Levergood
709/229
Jan,1998

[0 after 0 votes]
5640193
Wellner
725/100
Jun,1997

[0 after 0 votes]
5572643
Judson
709/218
Nov,1996

[0 after 0 votes]
4825354
Agrawal
707/10
Apr,1989

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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