WO2001040965A2 - Method and system for gathering information regarding the technical specifications of a visitor to a web site - Google Patents

Method and system for gathering information regarding the technical specifications of a visitor to a web site Download PDF

Info

Publication number
WO2001040965A2
WO2001040965A2 PCT/CA2000/001417 CA0001417W WO0140965A2 WO 2001040965 A2 WO2001040965 A2 WO 2001040965A2 CA 0001417 W CA0001417 W CA 0001417W WO 0140965 A2 WO0140965 A2 WO 0140965A2
Authority
WO
WIPO (PCT)
Prior art keywords
client
computer
file
client computer
server computer
Prior art date
Application number
PCT/CA2000/001417
Other languages
French (fr)
Other versions
WO2001040965A3 (en
Inventor
Randy Woods
Shannon Ryan
Original Assignee
Buystream Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Buystream Inc. filed Critical Buystream Inc.
Priority to AU21319/01A priority Critical patent/AU2131901A/en
Publication of WO2001040965A2 publication Critical patent/WO2001040965A2/en
Publication of WO2001040965A3 publication Critical patent/WO2001040965A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Definitions

  • the World Wide Web is a system for browsing Internet sites.
  • the system is made of many sites linked together - hence "web". Users can travel from one site to another in the World Wide Web by clicking on hyperlinks.
  • a server stores information on the World Wide Web
  • the server is called a Web server.
  • Clients use a program called a browser to read hypertext documents on the World Wide Web and to navigate between them.
  • the Internet and World Wide Web have become increasingly important in the world of commerce. For many businesses, their web site - a hyperlinked page that forms part of the World Wide Web - has become an important means for reaching the public. Many people's first exposure to a company will come from visiting that company's web site.
  • a web site with data rich pages, and impressive graphics may well be suitable for bandwidth- i o privileged users with impressive technical capabilities.
  • customers having only limited technical capabilities and who are bandwidth-challenged may well give up on such a web site due to slow download times.
  • a web site with lighter pages and lesser impressive graphics may well be suitable for a more technically-challenged visitor, but would not impress a technically-privileged visitor.
  • step 222 the time of the last visit is read from the cookie, and the time between purchases is then calculated using the time read.
  • the client-side program then proceeds to step 224, in which the time of the last visit is read from the cookie.
  • the time of the last visit as read in step 224 is actually the time that this particular visit started, as the cookie has already stored this time as the time of the last visit.
  • the time that elapses between the start of the visit and checkout is then calculated.
  • step 224 the client-side program proceeds to step 226, in which the download timing is read from the cookie.
  • step 228, the time and date of the visit and/or the purchase is written on the cookie.
  • a counter number for counting the number of visits or purchases is then incremented to reflect the number of visits and/or purchases.
  • Query 230 returns the answer YES if the browser is of type/version Internet Explorer 4 (IE4) or IE5.
  • IE4 Internet Explorer 4
  • IE5 This distinction is important as neither IE4 nor IE5 will respond to queries to detect plug-ins - plug-ins are software additions to a browser to enhance its functionality.
  • this additional software may enable music, video or other multimedia to be downloaded from the server.
  • step 260 the entry page completes its download.
  • step 262 the download start time is read from the cookie, and in step 264, the total download time is o calculated using the download completion time and the download start time. This download timing is then written to the cookie in step 266, and the cookie is sent to the server with an image request from the CGI program in step 268.
  • FIG 4 there is illustrated in a flow chart a third interaction of a visitor with a web-site that triggers the data recovery described in Figure 5. This interaction is triggered by the visitor requesting a checkout page - 0 this page is normally only provided to visitors who have completed a purchase.
  • step 150 of Figure 4 This interaction between Bob and the web-site begins at step 150 of Figure 4, in which Bob requests a checkout page.
  • step 152 the client-side program collects data in the steps outlined by the flowchart of Figure 5. Specifically, in Steps 200 and 202, the client-side program determines that Bob is using IE4. As Bob is using IE4, query 204 returns the answer YES, and in step

Abstract

A method for implementation in a distributed computing system. The distributed computing system has a server computer, a client computer and a client communication means. The server computer is operable to download a file to the client computer via the communication means. The method first determines at least one technical specification of least one of the client computer and the communication means (122). Then, the at least one technical specification is sent to the server computer via the communication means (124). Finally, the at least one technical specification is stored (126).

Description

TITLE OF THE INVENTION
METHOD AND SYSTEM FOR GATHERING INFORMATION REGARDING THE TECHNICAL SPECIFICATIONS OF A VISITOR TO A WEB SITE
FIELD OF THE INVENTION
The invention relates in general to a method and system for gathering information over the Internet, and more particularly relates to a method and system for gathering information regarding the technical specifications of a visitor to a web site.
BACKGROUND OF THE INVENTION
Distributed computing environments are becoming increasingly ubiquitous. Perhaps the best known distributed computing environment is the Internet, which is a worldwide system of interconnected computer networks. Each of these computer networks may itself include a group of interconnected computers, together with the hardware and software required to connect them. These computers include client computers and server computers. A server, is a computer that makes information and services available. A client is a computer that accesses this information and services.
The World Wide Web is a system for browsing Internet sites. The system is made of many sites linked together - hence "web". Users can travel from one site to another in the World Wide Web by clicking on hyperlinks. Where a server stores information on the World Wide Web, the server is called a Web server. Clients use a program called a browser to read hypertext documents on the World Wide Web and to navigate between them. The Internet and World Wide Web have become increasingly important in the world of commerce. For many businesses, their web site - a hyperlinked page that forms part of the World Wide Web - has become an important means for reaching the public. Many people's first exposure to a company will come from visiting that company's web site. Indeed, whether or not a visitor to a web site has a desire for further contact with the company, will depend in many instances on the quality of the visitor's experience on the web site. In some cases, such as, for example, in the case of on-line businesses, the customer's only impression of the business may be completely based on the web site experience.
In view of this, businesses spend a great deal of time and money designing their web sites However, it is a misconception that the quality of a visitor's experience can be determined through web site design alone. Specifically, the technical capabilities of the visitor's client computer will significantly impact on the visitor's experience of a web site. Such capabilities include bandwidth, CPU (central processing unit) type and speed, screen resolution and colour depth.
Client computers allow visitors to view web pages stored on servers by downloading web page files from the server to the client. These web page files are then used to create a replica web page on the client. Downloading the web page file is performed by the browser program. The speed at which this can be done, or whether it can be done at all, depends on the CPU of the client, as well as the bandwidth of the connection to the server. Specifically, if a great deal of information is contained within a web page file and the client CPU is slow, it may take an unacceptably long time for the web page file to be downloaded. Bandwidth is a measure of the rate at which information can be sent along the connection from the server to the client. Even if the CPU is quite fast, if the bandwidth only permits a relatively slow download rate, then it may still take an unacceptably long time for the web page file to be downloaded A visitor's experience of a web site is, in other words, not so much determined by web site design, as it is determined by the interaction between the web site design and the technical capabilities of the visitor. Knowing the capabilities of visitors to web sites helps the web site designer to design a web site that is optimal given a particular cross-section of visitors. Specifically, information regarding visitors' screen resolution, colour depth, language preference, bandwidth settings and actual page download timings can be very helpful to web site designers. Knowing visitors' screen resolutions allows one to optimize the page size of the web site to match the visitors' settings. If the web site has a screen size of dimension 800 x 600, but most visitors have screen settings of dimension 1024 x 768, the web site is wasting valuable screen space, and annoying visitors by serving up tiny pictures and illegible icons. Contrariwise, if most visitors have only low screen resolutions, and the web site serves up big 1024 x 768 screens, then most visitors will not see all of the page contents of the web site unless they scroll over.
Information regarding colour depth can also be helpful to web site designers. Specifically, 30 bit colour images in a web site will not be very impressive to visitors having a 256 colour setting. If the web site designer knows that visitors to the web site usually have a 256 colour setting, then the web site designer can incorporate 256 colour setting into the web site thereby enhancing visitors' experience of the web site.
Some visitors to a web site may not be able to read the language of the web site. If there are enough visitors who visit a web site that have a different language preference than the language in which the web site is offered, then the web site designer should be aware of this so that they can consider whether or not to offer a greeting page in the language of the visitor, or perhaps even duplicate the entire web site in that language. One of the most important considerations in web site design is the bandwidth settings of visitors. Downloading graphics and multimedia can be very time-consuming for visitors who are bandwidth-challenged. This will adversely affect such visitors' experience of the web site. If the download time is sufficiently lengthy, the visitors may refuse to wait. Conversely, web site designers will want to take advantage of whatever bandwidth visitors do have in order to enhance the web site. Accordingly, information regarding the bandwidth setting of the visitors is important in determining the content of the web site. It is not bandwidth alone, however, that determines page download speed. Actual page download time may depend upon a number of other factors such as server performance, local Internet traffic volume, the total number of visitors to the web site, as well as the distance between the visitor and the web site. Accordingly, information regarding how long it takes to download information regardless of bandwidth is important. In order to enable web site designers to determine the technical capabilities of likely visitors, studies have been conducted of the technical profiles of visitors. However, these technical profiles vary considerably from site to site, which requires web site designers to make educated guesses regarding the 5 technical capabilities of the typical visitors to their site. Information regarding the average technical capabilities of visitors is not very helpful to web site designers. These designers need to know the technical capabilities of the visitors to their particular web sites, and not to web sites in general. For example, a web site with data rich pages, and impressive graphics may well be suitable for bandwidth- i o privileged users with impressive technical capabilities. However, customers having only limited technical capabilities and who are bandwidth-challenged, may well give up on such a web site due to slow download times. Contrariwise, a web site with lighter pages and lesser impressive graphics may well be suitable for a more technically-challenged visitor, but would not impress a technically-privileged visitor.
15 Thus, a method and system for providing information regarding the technical capabilities of visitors to a web site is desirable.
SUMMARY OF THE INVENTION
20 An object of one aspect of the present invention is to provide an improved server computer for downloading a file to a client computer.
In accordance with an aspect of the present invention, there is provided a server computer for downloading a file to a client computer. The server computer is connected to the client computer via a communication means and
25 includes means for performing the following three steps:
(1 ) determining at least one technical specification of at least one of the client computer and the communication means;
(2) sending at least one technical specification to the server computer via the communication means; and,
30 (3) storing at least one technical specification.
Preferably, the first step of determining at least one technical specification is performed within the client computer by client-side code stored with the file. The client-side code is downloaded with the file from the sever and is operable to configure the client computer to perform the first step of determining at least one technical specification of at least one of the client computer and the communication means. Preferably, the client-side code is also operable to configure the client computer to perform the second step of sending at least one technical specification to the server computer.
In accordance with another aspect of the present invention there is provided a computer software product for configuring a server computer. The server computer is operable to download a file from a server computer to a client computer. The computer software product comprises a recording medium, as well as means recorded on the medium for configuring the server computer to perform the following steps:
(1 ) determining at least one technical specification of at least one of the client computer and the communication means; (2) sending at least one technical specification to the server computer via the communication means; and
(3) storing at least one technical specification.
Preferably, the first step is performed within the client computer. In a further preferred embodiment, the means for performing steps 1 and 2 comprises a client-side code. In this embodiment, the client software product is operable to configure the server computer to store the client-side code with the file. The client- side code is downloaded with this file and is operable to configure the client computer to perform steps and 1 and 2.
In accordance with a still further aspect of the present invention there is provided, in a distributed computing system having a server computer for downloading a file to a client computer via a communication means, a method comprising the steps of: (a) determining at least one technical specification of at least one of the client computer and the communication means; (b) sending at least one technical specification to the server computer via the communication means; and, (c) storing at least one technical specification. Preferably, the step of determining the at least one technical specification is performed within the client computer. Still more preferably, a client-side code is stored with the file. The client-side code is downloaded with the file from the server and is operable when downloaded to configure the client computer to perform steps (a) and (b).
BRIEF DESCRIPTION OF THE DRAWINGS
A detailed description of the preferred aspects of the invention is provided herein below with reference to the following drawings, in which:
Figure 1 in a block diagram, illustrates a distributed computing environment configured to implement an embodiment of the invention; Figure 2, in a flow chart, illustrates a first visitor/web site interaction that triggers a technical data recovery method in accordance with a preferred aspect of the present invention;
Figure 3, in a flow chart, illustrates a second interaction following the first interaction of Figure 1 , that triggers a second data recovery method in accordance with the second aspect of the present invention;
Figure 4, in a flow chart, illustrates a third interaction of a visitor with a web site which triggers the first data recovery method in accordance with an aspect of the invention;
Figure 5, in a flow chart, illustrates the technical data collection method triggered by the visitor/web site interactions of Figures 2 and 4; and,
Figure 6, in a flow chart, illustrates the data recovery method triggered by the visitor/web site interaction of Figure 3.
DETAILED DESCRIPTION OF THE PREFERRED ASPECTS OF THE INVENTION
Referring to Figure 1 , there is illustrated in a block diagram, a distributed computer environment 20 that has been configured to implement an embodiment of the invention. The distributed computing environment 20 includes at least one server computer 22, as well as a plurality of client computers 34. In a preferred embodiment of the invention, the distributed computing environment 20 is the Internet. The server computer 22 is connected to all of the client computers 24 by communication means 26. A typical client computer 24, shown enlarged in Figure 1 , will include a memory 28, processor 30 and display 32. In order to gain access to the server computer 22, and a web page 34 stored thereon, via the communication means 26, the processor 30 of the client computer 24 includes a browser 42. In order to show the web page 34 on the display 32 of the computer client 24, the browser 42 copies a web page file 38 used to the generate the web page 34. This web page file 38 is then stored in the memory 28 of the client computer 24 and is used to generate a web page replica 40 in the display 32. The web page file 38 is stored with a client-side program 36, which with the rest of the web page file 38 is copied by the browser 42 to the memory 28. The browser 42 includes a program interpreter 44, that interprets the client-side program 36 and configures the processor 30 to execute the steps specified by the client-side program 36. The steps executed by the client-side program 36 are illustrated in the flow chart of Figure 5.
Referring to Figure 2, there is illustrated in a flowchart, a sequence of steps in which a visitor interacts with a web site by requesting a page. This page includes code for configuring the client computer. In step 120, the visitor requests the entry page from the web site. When, in response to this request, the web site provides the page requested, the client-side code is also downloaded to the client computer and configures the client computerto implement the client-side program. This client-side program then probes the client's browser and collects data about the customer in step 122. The data collected is then sent to the server for the web site. The client/server connection is normally intended to convey requests from the client to the server and information from the server to the client.
However, information can be sent to the server by appending such information to a request. Specifically, as stated in step 124, the information collected by the client-side program is sent to the server along with an image request from a CGI program - CGI or Common Gateway Interface permits computer programs to be interfaced with servers, which, in turn, permits interactive sites. Back at the server, a program for inserting this information into a database is then called in step 126 - this program writes the visitor data to a database and increments appropriate counters to keep track of the number of visitors and/or purchases. Separate counters may be maintained for visitors having different technical specifications. The program called at the server in step 126 also responds to the image request made in step 124 by sending a pixel image back to the client computer. This pixel 5 image will not normally, however, be viewable - the pixel image is merely sent to prevent an incomplete exchange between the server and the client computer. The steps executed by the client-side program are shown in detail in Figure 5.
Referring to Figure 5, a data collection method implemented by the client-side program 36 of Figure 1 is illustrated in a flow chart. Implementation of 0 the client-side program 36 is triggered by the visitor/web-site interactions of Figures 2 and 4. In steps 200 and 202 respectively of the flow chart of Figure 5, the type and version of the browser on the client computer are determined. If the browser is of type/version IE4, Netscape™ 4, or a later version, then the screen resolution, colour depth or language preference of the client computer can be 5 determined from the browser. Accordingly, if the browser is of type/version IE4, Netscape™ 4, or a later version, then query 204 returns the answer YES and the method proceeds to step 206. Otherwise, query 204 returns the answer NO, and the method proceeds directly to step 208, skipping step 206. In step 206, the client-side program 36 determines the screen resolution, colour depth or language o preference of the visitor or client computer. In step 208, the client-side program
36 determines if the browser can interpret Java™ - a particular instance of a cross- platform programming language. .
Web-sites frequently utilize cookies. A cookie is a set of data that a web-site server gives to the browser the first time the user visits the site. This 5 cookie is then updated with each return visit. The user's browser saves the information the cookie contains about the user - this information may also be saved on the server. However, not all browsers support cookies. Furthermore, browsers sometimes give visitors the option of whether to accept cookies or not. In query 212, the client-side program checks whether the browser of the client o computer accepts cookies. If the browser of the client computer does not accept cookies, then Query 212 returns the answer NO and the client-side program will proceed directly to query 230. Otherwise, query 212 returns the YES, and the client-side program proceeds to query 214, which checks whether the visitor is a first time visitor. If the visitor is a first time visitor (i.e. no cookie previously existed for this visitor), then in step 216 a cookie is created for the visitor, and the client- side program then proceeds to step 228. If the visitor is not a first time visitor - i.e. a cookie already exists for the visitor - then query 214 returns the answer NO, and the client-side program proceeds to query 220. Query 220 returns the answer NO if the visitor is not a buyer. The client-side program then proceeds to step 218 in which the time of the last visit of the visitor is read and the time between visits is calculated. From step 218, the client-side program proceeds to step 228.
If the visitor is a buyer, then query 220 returns the answer YES, and in step 222 the time of the last visit is read from the cookie, and the time between purchases is then calculated using the time read. The client-side program then proceeds to step 224, in which the time of the last visit is read from the cookie. The time of the last visit as read in step 224 is actually the time that this particular visit started, as the cookie has already stored this time as the time of the last visit. The time that elapses between the start of the visit and checkout is then calculated. From step 224, the client-side program proceeds to step 226, in which the download timing is read from the cookie. Then, in step 228, the time and date of the visit and/or the purchase is written on the cookie. A counter number for counting the number of visits or purchases is then incremented to reflect the number of visits and/or purchases.
Query 230 returns the answer YES if the browser is of type/version Internet Explorer 4 (IE4) or IE5. This distinction is important as neither IE4 nor IE5 will respond to queries to detect plug-ins - plug-ins are software additions to a browser to enhance its functionality. For example, this additional software may enable music, video or other multimedia to be downloaded from the server. Also, it might include additional software that provides an electronic wallet, say.
If the browser is IE4 or IE5, then query 230 returns the answer YES. Query 232 then checks whether the client computer is a Macintosh™. If the client computer is a Macintosh™, then the client-side program proceeds directly to step 238. If the platform is not a Macintosh™, then a VB script is generated in step 234 to detect plug-ins before the client-side program proceeds to step 238. VB Script is a scripting language - the VB stands for Visual Basic
If query 230, had returned the answer NO - i.e. the browser is neither an IE4 nor IE5 - then the client-side program would have bypassed query 232 and proceeded directly to step 236. In step 236, the browser is queried to detect plug-ins before the client-side program proceeds to query 238. Query 238 returns the answer NO if a media player is not detected and the client-side program then proceeds directly to termination step 242. If a media player is detected, then query 238 returns the answer YES, and in step 240 the media player is queried for bandwidth setting, before the client-side program proceeds to the termination step of 242. In termination step 242, the collected data is sent to the server with an image request from the CGI program.
If, referring back to the visitor/web-site interaction of the flow chart of Figure 2, the visitor permits downloading of the entire web page from the server, then further information can be gathered by the client-side program. Unlike the method of Figure 5, in which the information is gathered concurrently with the web page being downloaded from the server, this further information is determined after the download is complete, as this information focuses on how long the download took. Specifically, referring to Figure 3, there is illustrated a second interaction between the visitor and the web-site following the interaction of Figure 2 - this second interaction is simply the visitor waiting for the page download to complete. This second interaction of Figure 3 triggers the second data recovery method executed by the client-side program in accordance with a second aspect of the present invention. In step 130 of the flow chart of Figure 3, the web page download completes. After the page downloads in step 130, query 132 determines if the browser accepts cookies. If the browser does not accept cookies, then the method ends. If, however, the browser does accept cookies, then query 132 returns the answer YES and the method proceeds to step 136. In step 136, the client-side program calculates the download timing in a sequence of steps that are outlined in the flow chart of Figure 6. After step 136, the information regarding the time taken to download, is sent to the server, along with an image request from the CGI program in step 138. Then, in step 140, a program is called on the server, that writes this download information to a database The program called on the server also responds to the image request from the client computer by sending a pixel image to the client computer. This 5 pixel image will preferably not be viewable on the client computer.
Referring to Figure 6, there is illustrated in a flow chart, a data recovery method triggered by the visitor/web-site interaction of Figure 3. In step 260 the entry page completes its download. Then, in step 262, the download start time is read from the cookie, and in step 264, the total download time is o calculated using the download completion time and the download start time. This download timing is then written to the cookie in step 266, and the cookie is sent to the server with an image request from the CGI program in step 268.
It will be appreciated by those skilled in the art that the data recovery method of Figure 6 could be modified to reduce reliance on cookies. 5 Specifically, download start time could be sent back to the server immediately instead of storing client-side until the download completes.
Referring to Figure 4, there is illustrated in a flow chart a third interaction of a visitor with a web-site that triggers the data recovery described in Figure 5. This interaction is triggered by the visitor requesting a checkout page - 0 this page is normally only provided to visitors who have completed a purchase.
In step 150, the visitor requests the checkout page. Then, in step 152, the client- side program probes the visitor browser and collects data in accordance with the method of Figure 5. This collected data is then sent to the server along with an image request from a CGI program in step 154, and in step 156 a program on the 5 server is called, which writes the visitor data to a database and increments the appropriate counters to keep track of the number of visits/purchases.
In order to illustrate the above-described aspects of the present invention, examples of interactions between client computer and a server are described herein below. Specifically, Mike, Bob and Veronica are visitors to a o web-site maintained by a server that has been configured in accordance with an aspect of the present invention. Mike, Bob and Veronica all have different technical specifications for their computers; thus, the path the client-side code takes for each will differ slightly. In addition, different interactions between the web-site and the visitors are described for each.
Mike has just requested an entry page in accordance with Step 120 of Figure 2. He permits this entry page, as well as a second entry page to complete downloading. Mike uses Netscape™ 4.0, accepts cookies, has
Microsoft™ Media Player installed, is using a Macintosh™ processor, and is a first time visitor.
Referring to Figure 2, Mike begins by requesting the entry page in step 120. When the entry page is downloaded to Mike's client computer, the client-side program probes Mike's browser and collects data according to the steps laid out in the flow chart of Figure 5. Specifically, in Steps 200 and 202, the client-side program determines that Mike is using Netscape™ 4.0. As Mike is using Netscape™ 4.0, the client-side program will detect his screen resolution, colour depth, CPU or language preference in Step 206. In Step 210, the client- side program will determine that Mike accepts cookies, and Query 214 will return the answer YES. Query 214 will return the answer YES as Mike is a first time visitor, and a cookie will be created for Mike's client computer. After step 228, query 230 returns the answer NO as Mike is using Netscape™ 4.0 rather than Internet Explorer 4 or Internet Explorer 5 (IE4 or IE5). In step 236, Netscape™ 4.0 is queried to determine if there are any plug-ins. Then, query 238 returns the answer YES as Mike has a Microsoft™ Media Player installed and in step 240 the Media Player is queried for its bandwidth setting. All of the information collected is then sent back to the server with an image request from a CGI program in Step 242 of Figure 5 and in Step 124 of Figure 2. After the data collected by the client- side program is sent to the server, a program is called on the server in Step 126 of Figure 2 to write the visitor data to a database and to increment the appropriate counters. This program also sends a response to the image request back to the client computer.
When the download of the page completes, Mike is at Step 130 of the flowchart of Figure 3. Query 132 returns the answer YES, as Mike accepts cookies, and in step 136 the download time is calculated by the client-side program. The steps in which the download timing is determined are laid out in detail in Figure 6. Specifically, after the entry page completes downloading in Step 260, in Step 262 the download start time is read from the cookie created for Mike in Step 216, and in Step 264 the download timing is determined by subtracting the download start time from the download completion time. In Step 266, this download timing is written to the cookie and in Step 268 of Figure 6, and in Step 138 of Figure 3, this information is sent back to the server along with an image request from a CGI program. In step 140 of Figure 3, a program is called on the server in response to the image request being received from the client. This program writes download timing to the database and increments the appropriate counters.
Bob has just completed a purchase and has been presented with a checkout page by the web-site. Accordingly, Bob's interaction with the web-site is represented by Figure 4. Bob is using Internet Explorer 4.0 (IE4), accepts cookies, has a Microsoft™ Media Player installed and is using an Intel™ chip (in other words, he is not using a Macintosh™).
This interaction between Bob and the web-site begins at step 150 of Figure 4, in which Bob requests a checkout page. In step 152, the client-side program collects data in the steps outlined by the flowchart of Figure 5. Specifically, in Steps 200 and 202, the client-side program determines that Bob is using IE4. As Bob is using IE4, query 204 returns the answer YES, and in step
206 Bob's client computer is queried regarding its screen resolution, colour depth, CPU and language preference. In step 208, Java™ acceptance is queried. In step 210, cookie acceptance is detected, and query 212 returns the answer Yes as Bob accepts cookies. Bob is not a first time visitor as, at a minimum, Bob has already requested an entry page. Accordingly, query 214 returns the answer NO, and the client-side prog ram proceeds to query 220, which returns the answer YES as Bob is a buyer. In step 222 the time between the last two purchases made by Bob is determined, and in Step 224, the time Bob took to make this purchase after first visiting the web-site is determined. In Step 226, the download timing is read from the cookie, and the client program proceeds to Step 228 where the information collected is written to the cookie. Query 230 returns the answer YES as Bob is using IE4, but Query 232 returns the answer NO, as Bob is using an Intel™ chip (Bob is not using a Macintosh™). In step 234, a VBscript is generated to detect plug-ins added to the browser. Query 238 returns the answer YES as Bob has a Microsoft™ Media Player installed, and in step 240 this Media Player is queried for its bandwidth setting. Then, in step 242 of Figure 5 and in step 154 of Figure 4 the collected data is sent to the server along with an image request from a CGI program. In step 156, a program on the server is called in response to the image request received from the client computer. This program writes Bob's data to a database and increments the visitor and purchase counters to reflect Bob's visit and purchase. Veronica has just requested an index page of a web-site; accordingly, the present example covers her first entry page submission, which is represented by the flowchart of Figure 2. Veronica is using Internet Explorer 3.0 (IE3), does not accept cookies, and does not have Microsoft™ Media Player installed. Veronica's request for an index page of the web-site is represented by Step 120 of the flow chart of Figure 2. In step 122, the client-side program probes Veronica's browser to collect data regarding her client computer. These steps are outlined in greater detail in Figure 5. Referring to the flowchart of Figure 5, in steps 200 and 202, Veronica's browser is determined to be IE3. Query 204 returns the answer NO, and the client-side program proceeds to step 208 to detect Java™ acceptance. In step 210, cookie acceptance is checked, and query 212 returns the answer NO as Veronica does not accept cookies. Query 230 then returns the answer NO as Veronica is using IE3, and not IE4 or IE5, and the client-side program proceeds to step 236 in which Veronica's browser is queried to detect plug-ins. Query 238 returns the answer NO as Veronica does not have a Media Player installed, and in step 242 of Figure 5, and step 124 of Figure 2, the data collected is sent to the server along with an image request from the CGI program. In step 126, a program is called on the server, prompted by the image request from the client computer. This program writes the visitor data to a database and increments the appropriate counters.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Certain adaptations and modifications of the invention will be obvious to those skilled in the art. In particular, othertechnical specifications, in addition to those mentioned above, may be determined from the client computer using the client-side program. Therefore, the presently discussed aspects are considered to be illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning of range of equivalency of the claims are therefore intended to be embraced therein.

Claims

WHAT IS CLAIMED IS:
1. A server computer for downloading a file to a client computer, the server computer being connected to the client computer via a communication means and including means for performing the steps of:
(a) determining at least one technical specification of at least one of the client computer and the communication means;
(b) sending the at least one technical specification to the server computer via the communication means; and
(c) storing the at least one technical specification.
2. The server computer as defined in claim 1 wherein step (a) is performed within the client computer.
3. The server computer as defined in claim 2 wherein the means for performing steps (a) and (b) comprises a client-side code stored with the file, the client-side code being downloaded with the file from the server and being operable to configure the client computer to perform steps (a) and (b).
4. The server computer as defined in claim 3 wherein the client-side code is downloaded to a browser program on the client computer and executes within the browser.
5. The server computer as defined in claim 4 wherein the server computer is connected to a plurality of client computers, each of the plurality of client computers being operable to download the file from the server computer; step (c) comprises storing the at least one technical specification regarding the client computer in a technical specification database on the server computer, the technical specification database being operable to store the at least one technical specification for each client computer of the plurality of client computers downloading the file from the server computer.
6. The server computer as defined in claim 5 wherein step (a) comprises measuring a file download time, the file download time being a length of time required to download the file from the server computer to the client computer via the communication means.
7. The server computer as defined in claim 6 wherein step (a) further comprises determining a download rate based on a file size of the file by dividing the file size by the download time for the file.
8. The server computer as defined in claim 5 wherein the at least one technical specification determined and stored includes at least one of
(i) a browser type for the client computer;
(ii) a screen resolution for the client computer:
(iii) a processor type for the client computer;
(iv) whether the client computer accepts a specific programming language;
(v) whether the client computer has a media player;
(vi) whether the browser for the client computer is operable to download at least one of music files, image files and video files from the server computer; and,
(vii) a bandwidth for the communication means.
9. A computer software product for configuring a server computer operable to download a file from the server computer to a client computer, the computer software product comprising: a recording medium; means recorded on the medium for configuring the server computer to perform the steps of:
(a) determining at least one technical specification of at least one of the client computer and the communication means;
(b) sending the at least one technical specification to the server computer via the communication means; and (c) storing the at least one technical specification.
10. The computer software product as defined in claim 9 wherein step (a) is performed within the client computer.
11. The computer software product as defined in claim 10 wherein the means for performing steps (a) and (b) comprises a client-side code, the computer software product being operable to configure the server computer to store the client-side code with the file, the client-side code being downloaded with the file and being operable to configure the client computer to perform steps (a) and (b).
12. The computer software product as defined in claim 11 wherein the client-side code is downloaded to a browser program on the client computer and executes within the browser.
13. The computer software product as defined in claim 12 wherein the server computer is connected to a plurality of client computers, each of the plurality of client computers being operable to download the file from the server computer; step (c) comprises storing the at least one technical specification regarding the client computer in a technical specification database on the server computer, the technical specification database being operable to store the at least one technical specification for each client computer of the plurality of client computers downloading the file from the server computer.
14. The computer software product as defined in claim 13 wherein step (a) comprises measuring a file download time, the file download time being a length of time required to download the file from the server computer to the client computer via the communication means.
15. The computer software product as defined in claim 14 wherein step (a) further comprises determining a download rate based on a file size of the file by dividing the file size by the download time for the file.
16. The computer software product as defined in claim 13 wherein the at least one technical specification determined and stored includes at least one of
(i) a browser type for the client computer;
(ii) a screen resolution for the client computer:
(iii) a processor type for the client computer;
(iv) whether the client computer accepts a specific programming language;
(v) whether the client computer has a media player;
(vi) whether the browser for the client computer is operable to download at least one of music files, image files and video files from the server computer; and
(vii) a bandwidth for the communication means.
17. In a distributed computing system having a server computer for downloading a file to a client computer via a communication means, a method comprising the steps of:
(a) determining at least one technical specification of at least one of the client computer and the communication means;
(b) sending the at least one technical specification to the server computer via the communication means; and
(c) storing the at least one technical specification.
18. The method as defined in claim 17 wherein step (a) is performed within the client computer.
19. The method as defined in claim 18 wherein a client-side code is stored with the file, the client-side code being downloaded with the file from the server and being operable to configure the client computer to perform steps (a) and (b).
20. The method as defined in claim 19 wherein the client-side code is downloaded to a browser program on the client computer and executes within the browser.
21. The method as defined in claim 20 wherein the server computer is connected to a plurality of client computers, each of the plurality of client computers being operable to download the file from the server computer; step (c) comprises storing the at least one technical specification regarding the client computer in a technical specification database on the server computer, the technical specification database being operable to store the at least one technical specification for each client computer of the plurality of client computers downloading the file from the server computer.
22. The method as defined in claim 21 wherein step (a) comprises measuring a file download time, the file download time being a length of time required to download the file from the server computer to the client computer via the communication means.
23. The method as defined in claim 22 wherein step (a) further comprises determining a download rate based on a file size of the file by dividing the file size by the download time for the file.
24. The server computer as defined in claim 21 wherein the at least one technical specification determined and stored includes at least one of
(i) a browser type for the client computer;
(ii) a screen resolution for the client computer:
(iii) a processor type for the client computer;
(iv) whether the client computer accepts a specific programming language;
(v) whether the client computer has a media player; (vi) whether the browser for the client computer is operable to download at least one of music files, image files and video files from the server computer; and, (vii) a bandwidth for the communication means.
PCT/CA2000/001417 1999-12-02 2000-12-01 Method and system for gathering information regarding the technical specifications of a visitor to a web site WO2001040965A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU21319/01A AU2131901A (en) 1999-12-02 2000-12-01 Method and system for gathering information regarding the technical specifications of a visitor to a web site

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45317899A 1999-12-02 1999-12-02
US09/453,178 1999-12-02

Publications (2)

Publication Number Publication Date
WO2001040965A2 true WO2001040965A2 (en) 2001-06-07
WO2001040965A3 WO2001040965A3 (en) 2001-11-29

Family

ID=23799485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2000/001417 WO2001040965A2 (en) 1999-12-02 2000-12-01 Method and system for gathering information regarding the technical specifications of a visitor to a web site

Country Status (2)

Country Link
AU (1) AU2131901A (en)
WO (1) WO2001040965A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732218A (en) * 1997-01-02 1998-03-24 Lucent Technologies Inc. Management-data-gathering system for gathering on clients and servers data regarding interactions between the servers, the clients, and users of the clients during real use of a network of clients and servers
US5872976A (en) * 1997-04-01 1999-02-16 Landmark Systems Corporation Client-based system for monitoring the performance of application programs
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732218A (en) * 1997-01-02 1998-03-24 Lucent Technologies Inc. Management-data-gathering system for gathering on clients and servers data regarding interactions between the servers, the clients, and users of the clients during real use of a network of clients and servers
US5872976A (en) * 1997-04-01 1999-02-16 Landmark Systems Corporation Client-based system for monitoring the performance of application programs
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P LANG: "Product review: Netwhistle.com" SELL IT, 22 September 1999 (1999-09-22), pages 1-3, XP002162004 *

Also Published As

Publication number Publication date
AU2131901A (en) 2001-06-12
WO2001040965A3 (en) 2001-11-29

Similar Documents

Publication Publication Date Title
US6959319B1 (en) System and method for automatically personalizing web portals and web services based upon usage history
US7310609B2 (en) Tracking user micro-interactions with web page advertising
US7159180B2 (en) Proxy platform integration system
US6981224B1 (en) System and method for conditionally associating a plurality of enabled images with a predetermined image
US7516118B1 (en) Methods and systems for assisted network browsing
US8185819B2 (en) Module specification for a module to be incorporated into a container document
US6360235B1 (en) Objective measurement and graph theory modeling of web sites
US6049342A (en) System and method for controlling the downloading and display of an animated sequence from a network
NL1014847C1 (en) Rapid data transfer from suppliers of goods and services to clients via eg Internet using hierarchical menu system
US20050097190A1 (en) System and method for customized portal web pages
US20020112049A1 (en) Measuring response time for a computer accessing information from a network
US20080168169A1 (en) Request tracking for analysis of website navigation
US20040254935A1 (en) Method and apparatus for automatic consolidation of personalized dynamic data
WO2008020941A1 (en) Enabling web analytics for interactive web applications
US20060277118A1 (en) Presenting an alternative product package offer from a web vendor
US20050171846A1 (en) Apparatus, method and program for supporting purchase motivation analysis
US20070136201A1 (en) Customized container document modules using preferences
US20040143499A1 (en) System and method for delivering plural advertisement information on a data network
WO2007070405A2 (en) Remote module incorporation into a container document
JP2005071350A (en) Apparatus and method for distributing portion of large web image adjusted to smaller constrained viewing area
WO2007133969A2 (en) Sharing of digital media on a network
US20030177202A1 (en) Method and apparatus for executing an instruction in a web page
US6959424B1 (en) System and method for displaying an enabled image associated with a predetermined image in an iframe of a visual display
JP2002526831A (en) How to change ad size in response to user interaction
US7089582B1 (en) Method and apparatus for identifying universal resource locator rewriting in a distributed data processing system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP