METHODS AND APPARATUSES FOR TRACKING WORLD WIDE WEB USE
FIELD OF THE INVENTION
The invention relates to a scheme for monitoring network accesses. More particularly, the invention relates to a scheme for tracking accesses to World Wide Web sites.
BACKGROUND OF THE INVENTION
Providers of World Wide Web resources, Wold Wide Web advertisers and other parties have an interest is the number of accesses for different World Wide Web sites. Providers of resources wish to know how many accesses to the Web site are received and what links users choose once accessing the site. Advertisers track Web use to determine how to tailor advertisements for intended target audiences. Both providers and advertisers track Web usage for use in deteraiining advertising revenue.
One current technique for tracking Web use is accomplished by associating an identifier with page requests. For example, if a user clicks on a banner advertisement, the resulting Universal Resource Locator (URL) may be in the form of: httρ://adclient.domain.com/event.ng/Type=click&ProfιleID*=3&RunID=2477&AdID=l 591... The various identifiers (e.g., ProfilelD, RunID, AdID) are used to determine the advertisement selected, the site from which the advertisement was selected, etc. This information can be used to track Web use and related information.
Another technique for tracking Web use is through use of "cookies". In general, a cookie is information that a Web server stores on a client device to provide information to the server at a later time. A cookie can, for example, provide identification information, preferences, or similar information to the server when the client device subsequently contacts the server. However, these current techniques for tracking Web use require tracking of one or more identifiers and some coordination between Web sites.
SUMMARY OF THE INVENTION
A first request is generated in response to an electronic document link being selected. The first request provides an electronic document in accordance with the link. A second request is also generated in response to the electronic document link being selected. The second request causes an electronic device to record the selection of the electronic link. BRIEF DESCRIPTION OF THE DRAWINGS
The invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
Figure 1 illustrates one embodiment of a computer system.
Figure 2 illustrates one embodiment of a network configuration.
Figure 3 illustrates one embodiment of a network operations center coupled to a network.
Figure 4 illustrates one embodiment of a layout of a graphical user interface. DETAILED DESCRIPTION
Methods and apparatuses for tracking Web use are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
Web use is tracked by generating multiple requests in response to a link being selected. At least one request provides the Web site or other resource indicated by the link. At least one other request is sent to a Web server that tracks requests. In one embodiment, the tracking request is a request for a document that does not exist. The tracking server logs requests for the non-existent Web sites. The error log then tracks Web use.
Figure 1 illustrates one embodiment of a computer system. The computer system of Figure 1 can be used in various capacities with the present invention. For example, the computer system can be a terminal used by a user to access local or remote resources, the computer system can be a server providing remote access to a resource, or the computer system can be a proxy server providing access to remote computer systems.
Computer system 100 includes bus 101 or other communication device for communicating information and processor 102 coupled to bus 101 for processing information. Computer system 100 further includes random access memory (RAM) or other dynamic storage device 104 (referred to as main memory), coupled to bus 101 for storing information and instructions to be executed by processor 102. Main memory 104 also can be used for storing temporary variables or other intermediate information during execution of instructions by processor 102. Computer system 100 also includes read only memory (ROM) and/or other static storage device 106 coupled to bus 101 for storing static information and instructions for processor 102. Data storage device 107 is coupled to bus 101 for storing information and instructions.
Data storage device 107 such as a magnetic disk or optical disc and corresponding drive can be coupled to computer system 100. Computer system 100 can also be coupled via bus 101 to display device 121, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. Alphanumeric input device 122, including alphanumeric and other keys, is typically coupled to bus 101 for communicating information and command selections to processor 102. Another type of user input device is cursor control 123, such as a mouse, a trackball, or cursor direction keys for communicating direction
information and command selections to processor 102 and for controlling cursor movement on display 121.
Computer system 100 further includes network interface 130 to provide access to a network, such as a local area network. One embodiment of the present invention is related to the use of computer system 100 to provide all or a portion of an incentive points management scheme. According to one embodiment, dynamic incentive points management is performed by one or more computer systems in response to processor(s) executing sequences of instructions contained in memory.
Instructions are provided to memory from a storage device, such as magnetic disk, a read-only memory (ROM) integrated circuit, CD-ROM, DVD, via a remote connection (e.g., over a network via network interface 130), etc. In alternative embodiments, hard- wired circuitry can be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software instructions.
Figure 2 illustrates one embodiment of a network configuration. The configuration of Figure 2 is described in terms of both land based communications and satellite communications; however, the manner of communication is not central to the present invention. Therefore, the present invention is applicable to any interconnection of devices that provide access to local and remote resources.
Wide area network 200 provides an interconnection between multiple local area networks (e.g., 220 and 230), individual terminals (e.g., 260) and one or more network operations centers (e.g., 250). In one embodiment, wide area network 200 is the Internet; however, any wide area network (WAN) or other interconnection can be used to implement wide area network 200.
Terminal 260 is an individual terminal that provides access to network resources as well as local resources for a user thereof. In one embodiment, terminal 260 is a personal computer connected to wide area network 200 via a modem, a wireless connection, etc. Alternatively, terminal 260 can be a set-top box such as a WebTV™ terminal available from
Sony Electronics, Inc. of Park Ridge, New Jersey, or a set-top box using a cable modem to access a network such as the Internet. Similarly, terminal 260 can be a "dumb" terminal or a thin client device such as the ThinSTAR™ available from Network Computing Devices, Inc. of Mountain View, California.
Local area network 220 provides an interconnection of devices at a local level. For example, local area network 220 can interconnect multiple computers, printers, and other devices within one or more buildings. Local area network 220 is coupled to wide area network 200. Similarly, local area network 230 provides an interconnection of devices. However, local area network 230 is coupled to satellite communications devices 240 as well as wide area network 200.
Network operations center 250 is coupled to wide area network 200 and provides access to network resources for terminal 260, local area network 220 and local area network 230. Communication between network communications center 250 and either terminal 260 or local area network 220 is accomplished by wide area network 200. As described in greater detail below, network operations center 250 and local area network 230 communicate via wide area network 200 and/or satellite communications devices 240.
In one embodiment network operations center 250 includes multiple servers (not shown in Figure 2) that provide access to network and other resources. For example, network operations center 250 can include a Web proxy server that provides access to the World Wide Web (WWW, or the Web) for devices of local area network 220, local area network 230 and terminal 260. Network operations center 250 can also include other devices, such as a middleware server or a file server that provide information to devices coupled to network operations center 250.
In one embodiment, information is communicated between network operations center 250 and local area network 230 via uni-cast, multicast or broadcast satellite communications devices 240, which includes necessary components to provide communications between network operations center 250 and local area network 230. In one embodiment, satellite communication are accomplished using Transmission Control Protocol/Internet Protocol
(TCP/IP) embedded within a digital video broadcast (DVB) stream; however, alternative communication protocols can be used. In one embodiment, satellite communications are bidirectional. Alternatively, if satellite communications are uni-directional, wide area network 200 can be used to provide a hybrid, asymmetric bi-directional communications system such as the SkySurfer™ platform available from Gilat Satellite Networks, Inc. of McLean, Virginia.
Figure 3 illustrates one embodiment of a network operations center coupled to a network. With respect to description of Figure 3, wide area network 200 and satellite communications devices 240 are implemented as described above in Figure 2. Notwithstanding being described as including certain types of servers and other devices, network operations center 250 can include different or additional components as well as multiple components, for example, multiple Web servers. Each server can be one or more software and/or hardware components.
Network operations center (NOC) 250 provides resources to local area networks and individual terminals (not shown in Figure 3) as well as a gateway to a larger network such as the Internet. Thus, network operations center 250 can be used to provide a controlled set of resources while being part of a larger network. This is particularly advantageous in situations where users of the local area networks are somewhat homogenous. For example, students in similar grade levels, professionals, and other groups.
Additional uses and details of the network of Figure 2 and the network operations center of Figure 3 can be found in U.S. Patent application number 09/216,016, entitled "OPTIMIZING BANDWIDTH CONSUMPTION FOR DOCUMENT DISTRIBUTION OVER A MULTICAST ENABLED WIDE AREA NETWORK" and U.S. Patent application number 09/216,018, entitled "A METHOD AND APPARATUS FOR SUPPORTING A MULTICAST RESPONSE TO A UNICAST REQUEST FOR DATA," both of which are assigned to the corporate assignee of the present invention.
NOC router 300 is coupled to NOC LAN 305 and provides routing and firewall functionality for the servers and other components of network operations center 250. NOC
router 300 can be implemented in any manner known in the art. In one embodiment, database 360 is coupled to NOC LAN 305. Database 360 can be used, for example, to store information about authorized users of associated local area networks, or to store information about resources that are available on each terminal connected to the network.
Database 360 can also be used to store statistics about network usage, advertisement media assets to be downloaded to devices of the local area networks, etc. In one embodiment database 360 is used to store placement profiles associated with various advertisements as well as user profile information for authorized users of the network. Data store 365 represents data stored by database 360 and can be one or more physical devices and logical data tables. In one embodiment, data store 365 is used to maintain placement profiles and user profiles. In one embodiment, the placement profiles are the demographic characteristics of a desired target audience for an advertisement.
Master proxy server 370 is also coupled to NOC LAN 305 to provide World Wide Web resources to devices of the connected local area network(s) or individual terminals. In one embodiment web server 310 is a Hypertext Markup Language (HTML) and/or Secure Sockets Layer (SSL) server. Of course, Web server 310 can be another type of server (e.g. FTP, Multicast "carousel" data broadcast server, reliable file multicast server, UNIX host, media server, etc.). Web cache 320 is used to store Web resources (e.g., Web pages) that are most often accessed, most recently accessed, etc. In one embodiment, Web cache 320 stores a predetermined set of Web resources that are provided to the local area networks. In a school network environment, the cached Web resources can be, for example, a preapproved set of Web pages. In one embodiment all or a portion of the contents of Web cache 320 are replicated on local networks.
Middleware server 330 manages database applications and interfaces with other servers in network operations center 250. For example, middleware server 330 can determine which users have access to Web server 310 and grant access accordingly. Middleware server 330 can also dynamically generate a Web page, graphic or chart based on database content. In addition, middleware server 330 can acquire and process/evaluate data
from a plurality of database servers and logical databases. In one embodiment, middleware server 330 generates the sub-playlists from the placement profile information.
Middleware server 330 can also be replicated on local area networks, such as local area networks 220 and 230 of Figure 2, while providing the targeted play list scheme of the present invention. Middleware server 330 can be executed in any sufficient manner known to the art, for example, WebObjects® available from Apple Computer, Inc. of Cupertino, California, or a similar database middleware product. Alternatively, each client and server can act as its own middleware device by interfacing with the database servers on their own behalf though existing database interfacing technologies such as the Common Object Request Broker Architecture (CORBA) as defined by Object Management Group, Inc. of Framingham, Massachusetts or COM+ available from Microsoft Corporation of Richmond, Washington.
Application server 340 provides applications programs to devices coupled to network operations center 250. Application server 340 conceptually represents two different types of servers. Application server 340 can be part of a client-server architecture where the server provides data to a client (e.g., HTML server, e-mail server, bulletin board server). Application server 340 can also be a software distribution and management server for "stand alone" programs. Master proxy server 370 provides World Wide Web access to devices coupled to network operations center 250. Master proxy server 370 can be implemented in any manner known in the art.
Figure 4 illustrates one embodiment of a layout of a graphical user interface. In one embodiment user interface 400 provided to a user of a terminal is configured based on session access privileges granted to the user. In one embodiment user interface 400 provides the gateway by which a user accesses both local and remote resources.
In one embodiment browser controls and tool bar 410 provide graphical "buttons" that allow a user to perform certain operations. Browser controls and tool bar 410 can include, for example, "back," "forward," and "stop" buttons for browser control as well as
"save," "open," and "print" buttons for general application control. Additional, fewer, and/or different buttons and commands can be included in browser control and tool bar 410.
In one embodiment applications menu/switcher and edit menu 420 provides application selection control and general editing control for multiple applications. For example, applications menu/switcher and edit menu 420 can include a list of all local and/or remote applications available to the user of the terminal on which user interface 400 is displayed. From the applications menu, the user can select an application to use. The edit portion provides general editing commands such as "cut," "copy," and "paste" for the user to move data between available applications.
In one embodiment points meter 430 provides a summary of incentive points or other points schemes available to the user. An incentive points management scheme is described in greater detail in U.S. Patent application number 09/213,238, entitled "INCENTIVE POINTS MANAGEMENT," which is assigned to the corporate assignee of the present invention. Incentive points can be awarded to a user for clicking on, or otherwise interacting with, an advertisement.
Browser and application window 440 provides space for the user to interact with the resources accessed. For example, if a word processing application is being used, browser and application window 440 displays the word processing application window when the application is activated. Thus, the user can switch between applications and move data between applications that are available on the terminal using menu/switcher and edit menu 420 should the current user have sufficient privileges to do so on the current terminal. If a browser application is being used, browser and application window 440 is used as a browser window.
In one embodiment feature and channel buttons 460 provide access to features (e.g., e-mail, chat rooms, message boards, bookmarks) and channels (e.g., educational topics, news topics) available to the user. Feature and channel buttons 460 are configured based on the session privileges such that only the features and channels available to or associated with the
user appear. Feature and channel buttons control what is displayed in browser and applications window 440.
In one embodiment, dynamic billboard 470 provides advertising according to the present invention and/or other information to the user while the user is using an application or browser. Of course, dynamic billboard advertising space 470 can be used for other purposes such as, for example, video conferencing, instant messaging, distance learning/instruction, news updates, or other uses.
The dynamic billboard (DBB) 470 displays advertisements according to the advertisement script generated from the playlist for the current user. In one embodiment, DBB 470 is an HTML window (e.g. its own browser) capable of displaying text, graphics, animations, videos, digital audio, embedded programs such as Java applets or ActiveX programs, forms, etc. The script controls what is presented in DBB 470 and when, and receives and processes input from the other windows of the application DBB 470 is integrated into (e.g. what Web page or application is currently in browser and applications window 440). Other ad containers can be used, for example, message window 450, or a background audio player, or an interstitial engine that runs in the Web browser window that presents advertisements from the local hard disk while pages are being loaded from the Web.
In one embodiment, tracking of Web use is accomplished by tracking interactions with DBB 420. In alternative embodiments, similar techniques can be applied to tracking interactions with other windows (e.g., browser and applications window 440, messaging window 450). In one embodiment, a browser sub-frame overlays DBB 420. The browser sub-frame is transparent to the user and therefore does not interfere with the user's interactions with any of the features of user interface 400.
When a user selects a link or an advertisement from DBB 470, two requests are generated. DBB 470 generates a request for the link or advertisement selected by the user. The browser sub-frame generates a request to a known, but non-existent, Web site. In one embodiment, the Web site requested by the browser sub-frame is to a Web domain controlled by the party tracking Web use, but the specific pages requested do not exist. For
example, assuming five advertisements are to be tracked, the following five requests can be made by the browser sub-frame for corresponding advertisements: http://www.logger.net/l .html, http://www.logger.net 2.html, http://www.logger .net/3.html, http://www.logger.net/4.html, and http ://www.logger .net/5.html.
Because the requested documents do not exist, the server providing the Web domain generates an error message in request to the requests. In one embodiment, the error messages are not sent back to the requesting browser sub-frame. The Web domain (www.logger.net) controlled by the tracking party logs errors, which corresponds to the number of times each link or advertisement was selected. The error logs can then be used to track Web use.
Additional sub-directories can also be used to provide additional information. For example, links related to shoes can have a sub-directory: http://www.logger.net/shoes/! .html, and http ://www.logger.net/shoes/2.html while links related to sports have a different sub-directory: http://www.logger.net/sports/! .html. By providing additional sub-directories, categorical information can be gathered in addition to information related to specific links and/or advertisements selected by users.
In one embodiment, message window 450 can display messages to the user. For example, an instructor can send messages to students, a user of one terminal can send a message to a user of another terminal, a system administrator can send messages to a user or a group of users. Message window 450 can be used for messages that are independent of browser and applications window 440, so long as such messages are allowed by the current session privileges.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and
-π-
changes can be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.