1. Field of the Invention
This invention relates in general to methods and data processing system readable media, and more particularly, to methods of tracking movement between network addresses and data processing system readable media for carrying out those methods.
2. Description of the Related Art
Internet Service Providers (“ISPs”) and others may track Uniform Resource Locators (URLs) from a user by creating a table including a user identifier, the requested URL, and a timestamp. This method of recording can give a chronological sequence of URLs for the user. A problem with this chronological listing is that it may not accurately show the URL from which the user requested the current URL. This can be important where compensation between parties depends on the originating (source) URL and the current (destination) URL. Because an accurate listing all of this movement may not be possible, the parties may dispute how much money, if any, one company owes the other company. An accurate list may be needed for other purposes, such as creating user profiles and the like.
A data processing system-implemented method can be used to better track a user's movements between network addresses. A frame identifier can be used to help track the movements. A table can be generated that may include entries comprising a frame identifier, current network address, prior network address, time, and potentially other information. The improved accuracy of the movements allows better accountability between companies for financial arrangements regarding links to each other's network sites and allows for more accurate user profiles to be created.
In one set of embodiments, a data processing system-implemented method of tracking movement between network addresses can comprise receiving a first frame identifier and a first network address at a first time. The method can also comprise finding a record including the first frame identifier, a second network address, and a second time. The second time may precede the first time. The method can further comprise generating an entry for a table that includes the first frame identifier, the first network address, the second network address, and a third time.
In another set of embodiments, a data processing system-implemented method of tracking movement between network addresses can comprise displaying a first view to a user. The first view may include a first frame having a first frame identifier and a second frame having a second frame identifier. The method can also comprise receiving a first request for a first network address from the user. The first request can be generated by the user activating a first object within the first frame. The method can further comprise sending the first frame identifier and the first network address at a first time. The method can yet further comprise finding a record including the first frame identifier, a second network address, and a second time. For the first frame identifier, the second time may precede the first time. The method can still further comprise generating a first entry for a table that includes the first frame identifier, the first network address, the second network address, and a third time.
In still other embodiments, a data processing system readable medium can have code embodied within it. The code can include instructions executable by a data processing system. The instructions may be configured to cause the data processing system to perform the methods described herein.
The foregoing general description and the following detailed description are exemplary and explanatory only are not restrictive of the invention, as claimed.
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate the same elements, and in which:
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
Reference is now made in detail to the exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts (elements).
A data processing system-implemented method can be used to better track a user's movements between network addresses. The method can comprise sending a frame identifier (“ID”) and a requested (current) network address at a first time. The method can also comprise finding a record including the frame identifier that has a prior network address and a time prior to the current time. The method can further comprise generating an entry for a table that includes the frame identifier, the current network address, the prior network address, and time. Improved accountability and improved user profile accuracy may be obtained with the method. A data processing system readable medium can comprise code that includes instructions for carrying out the method.
A few terms are defined or clarified to aid in understanding the descriptions that follow. A network includes an interconnected set of server and client computers over a publicly available medium (e.g., the internet) or over an internal (company-owned) system. A user at a client computer may gain access to the network using a network access provider. An Internet Service Provider (“ISP”) is a common type of network access provider. A network address includes information that can be used by a server computer to locate information, whether internal to that server computer or at a different, remote computer or database. URLs are examples of network addresses. A network site corresponds to a location specified by a network address. A web site is a common type of network site. Note that the examples given within this paragraph are for purposes of illustration and not limitation. Regarding ownership and control, a first party significantly owns or controls a second party or property if the second party is an employee of the first party or if the first party owns or controls (as determined by the voting percentage or number of voting shares) at least 20 percent of the second party or property.
Before discussing details of embodiments of present invention, a hardware architecture for using embodiments is described.
Each of the client computer 12 and the server computers 15 and 16 is an example of a data processing system. ROM 122, 152, and 162, RAM 124, 154, and 164, HD 126, 156, and 166, and the databases 17 and 18 include media that can be read by the CPU 120, 150, or 160. Therefore, each of these types of memories includes a data processing system readable medium. These memories may be internal or external to the computers 12, 15, and 16.
The methods described herein may be implemented in suitable software code that may reside within ROM 122, 152, or 162, RAM 124, 154, or 164, or HD 126, 156, or 166.
In an illustrative embodiment of the invention, the computer-executable instructions may be lines of compiled C++, Java, or other language code. Other architectures may be used. For example, the functions of the client computer 12 may be incorporated into the tracking server computer 16, and vice versa. Likewise, the functions of the tracking server computer 16 may be incorporated into the content server computer 15, and vice versa. More or fewer server computers can be used.
Communications between the client computer 12 and the server computers 15 and 16 can be accomplished using radio frequency, electronic, or optical signals. When a user (human) is at the client computer 12, the client computer 12 may convert the signals to a human understandable form when sending a communication to the user and may convert input from the user to appropriate signals to be used by the client computer 12 or the server computers 15 or 16.
Attention is now directed to a method for tracking movement between network addresses as illustrated in
As previously stated, the route used by a user to reach a network address may have financial implications. The user may be able to access a network address from each of the first frame 404 and the second frame 406. In one example, assume that the first frame 404 has advertisements for products or services of one company (“advertising company”), and the second frame 406 represents the information from a company that controls the content server computer 15 (“content company”). If the user accesses a network address using a link or other object within second frame 406, the advertising company may not owe any money to the content company. However, if the user accesses a network address using frame 404, the advertising company may owe fee to the content company. Therefore, identifying the frame and sequence of network addresses using that frame may have financial implications. Clearly, other business arrangements are possible.
A request for a first network address from a first frame 404 can be sent from the user and received by the client computer 12 as shown in block 304 in
The tracking server computer 16 can search records that include the first frame identifier (block 342). In one embodiment, the records can reside within a table in database 18. The records may be organized in rows and columns. The rows may correspond to each instance of a network address request. The columns may correspond to different fields including frame identifier, prior (originating or source) network address, current (destination) network address, time (e.g., timestamp or other temporal information), and the like. Optionally, a user identifier may be included as a field.
After locating the records for the same frame identifier, the tracking server computer 16 can find the record that immediately precedes (before and closest in time to) the request (block 344 in
The first network address can be sent from the tracking server computer 16 to the content server computer 15 as shown in block 362. This may be performed at the same time or just before or after the actions in blocks 322, 342, 344, and 346 are performed. The content server computer 15 may access database 17 to obtain information related to the first network address.
A second view (not shown) corresponding to the first network address can be sent from the content server computer 15 over network 14 to the client computer 12. The view may be displayed on the I/O 128 at client computer 12 for the user to see or print. The time for performing the acts within the method can be performed relatively quickly. Therefore, the method may be transparent to the user because he or she may see little time lapse between requesting a network address can seeing the corresponding view for that network address.
The method may continue with the user requesting to be sent back to view 400. In this instance, the user may be re-displayed view 400. The user may decide to originate a request for a network address from frame 406 (second frame) instead of from frame 404. The method can proceed in a similar manner as the request that was made from frame 404. The user would make a request for a new network address from frame 406. The client computer 12 can send a signal to the tracking server computer 16 via the network 14 that would include the frame identifier for frame 406 and the network address being requested from frame 406. The tracking server computer 16 can find the immediately preceding record with that same frame identifier. An entry in a table can be generated by server computer 16 including the second frame identifier for frame 406, the current network address, the prior network address, and a different timestamp compared to the timestamp for the first frame identifier request. The second network address may be sent from the tracking computer 16 and received by the content server computer 15. The content server computer 15 may send and the client computer 12 may receive a view corresponding to the network address as requested from frame 406 for the user at client computer 12 to see or print.
After data in the table has been collected, a node diagram can be created that tracks the movement of the user at one frame when moving from one network address to another.
String 520 may illustrate a sequence of network addresses that originated from frame 404 but not frame 406, and string 540 may illustrate a sequence of network addresses that originated from frame 406 but not frame 404. Because the user may switch between frames, the order in string 500 does not represent the manner in which the user went from network address to network address for a specific frame. As shown in string 520, the user may have accessed network address 524 directly from network address 522 as shown in string 520, and not from network address 542 as shown in string 500. Similarly, the user may have accessed network address 544 directly from network address 542 as shown in string 540, and not from network address 524 as shown in string 500. Clearly, strings 520 and 540 more accurately reflect the movement of the user between network addresses from specific frames. When financial arrangements or a user profile depend on this tracking information, the accurate tracking movement between network addresses is needed. Activity statements can be generated that indicate that a sequence of network addresses was activated from the various frames.
The method works substantially the same if the user has more than one copy of a browser application open at client computer 12. Each copy may have its own frame identifier, as generated by client computer 12. Instead of having different frames (404 and 406) in a single window, the frames are in different windows.
While much of the discussion has focused on the tracking server computer 16, at least a portion of the method may alternatively be performed by the client computer 12 in assembling information for the table. For example, a table may reside within HD 126 of client computer 12. The client computer 12 may create the table with the frame identifier, current network address, prior network address, and timestamp. The information within the table on client computer 12 may be downloaded to a larger table within the database 18 via tracking server computer 16 or other location external to client computer 12 on a periodic or other basis.
In the foregoing specification, the invention has been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Patent Application No. 60/208,889 entitled “Method For Click-Stream Analysis Using Web Directory Reverse Categorization” by McCullough filed Jun. 2, 2000, and U.S. Patent Application No. 60/208,890 entitled “Method For Continuous, Frame-Specific Click-Stream Recording” by McCullough Jun. 2, 2000. This is also related to U.S. patent application Ser. No. 09/681,760 entitled “Method For Click-Stream Analysis Using Web Directory Reverse Categorization” by McCullough filed of even date. All applications listed in this paragraph and are assigned to the current assignee hereof and are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4754428 | Schultz et al. | Jun 1988 | A |
4811207 | Hikita et al. | Mar 1989 | A |
5210824 | Putz et al. | May 1993 | A |
5212787 | Baker et al. | May 1993 | A |
5226161 | Khoyi et al. | Jul 1993 | A |
5257369 | Skeen et al. | Oct 1993 | A |
5331673 | Elko et al. | Jul 1994 | A |
5339392 | Risberg et al. | Aug 1994 | A |
5421015 | Khoyi et al. | May 1995 | A |
5572643 | Judson | Nov 1996 | A |
5704017 | Heckerman et al. | Dec 1997 | A |
5727129 | Barrett et al. | Mar 1998 | A |
5732218 | Bland et al. | Mar 1998 | A |
5740430 | Rosenberg et al. | Apr 1998 | A |
5761416 | Mandal et al. | Jun 1998 | A |
5774660 | Brendel et al. | Jun 1998 | A |
5790426 | Robinson | Aug 1998 | A |
5790790 | Smith et al. | Aug 1998 | A |
5796952 | Davis et al. | Aug 1998 | A |
5870559 | Leshem et al. | Feb 1999 | A |
5878223 | Becker et al. | Mar 1999 | A |
5884282 | Robinson | Mar 1999 | A |
5918014 | Robinson | Jun 1999 | A |
5958008 | Pogrebisky et al. | Sep 1999 | A |
5991735 | Gerace | Nov 1999 | A |
6012052 | Altschuler et al. | Jan 2000 | A |
6035332 | Ingrassia et al. | Mar 2000 | A |
6041311 | Chislenko et al. | Mar 2000 | A |
6049777 | Sheena et al. | Apr 2000 | A |
6067565 | Horvitz | May 2000 | A |
6085226 | Horvitz | Jul 2000 | A |
6092049 | Chislenko et al. | Jul 2000 | A |
6094662 | Hawes | Jul 2000 | A |
6112279 | Wang | Aug 2000 | A |
6128655 | Fields et al. | Oct 2000 | A |
6138141 | DeSimone et al. | Oct 2000 | A |
6141737 | Krantz et al. | Oct 2000 | A |
6151622 | Fraenkel et al. | Nov 2000 | A |
6185586 | Judson | Feb 2001 | B1 |
6185608 | Hon et al. | Feb 2001 | B1 |
6741967 | Wu et al. | May 2004 | B1 |
6996612 | McCullough | Feb 2006 | B1 |
20020013834 | Esakov et al. | Jan 2002 | A1 |
20020062252 | Van Zoest et al. | May 2002 | A1 |
20020152237 | Cohen et al. | Oct 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
60208890 | Jun 2000 | US | |
60208889 | Jun 2000 | US |