CA2295274C - A system for managing user-characterizing network protocol headers - Google Patents

A system for managing user-characterizing network protocol headers Download PDF

Info

Publication number
CA2295274C
CA2295274C CA002295274A CA2295274A CA2295274C CA 2295274 C CA2295274 C CA 2295274C CA 002295274 A CA002295274 A CA 002295274A CA 2295274 A CA2295274 A CA 2295274A CA 2295274 C CA2295274 C CA 2295274C
Authority
CA
Canada
Prior art keywords
user
cookie
dictionary
entry
protocol header
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA002295274A
Other languages
French (fr)
Other versions
CA2295274A1 (en
Inventor
Terrence M. Doeberl
Ronald P. Sansone
Suti Prakash
Paul W. Porter
Marcy F. Macdonald
Judith A. Martin
Ronald Reichman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pitney-Bowes Inc
Original Assignee
Pitney-Bowes 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
Priority to US09/231,358 priority Critical
Priority to US09/231,358 priority patent/US6237033B1/en
Application filed by Pitney-Bowes Inc filed Critical Pitney-Bowes Inc
Publication of CA2295274A1 publication Critical patent/CA2295274A1/en
Application granted granted Critical
Publication of CA2295274C publication Critical patent/CA2295274C/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
    • H04L29/02Communication control; Communication processing
    • H04L29/06Communication control; Communication processing characterised by a protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/30Network-specific arrangements or communication protocols supporting networked applications involving profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/22Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/22Header parsing or analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven

Abstract

A system for enabling a user of a computer attached to a computer network, and accessing sites on the network, to manage user-characterizing protocol headers on the user's computer. A particular application of the present invention is to manage so-called Internet cookies on a computer attached to the Internet and using a browser to access websites through the World Wide Web. Such cookies have a type and a value. The managing includes displaying to a user an interpretation of cookies that have been set on the user's computer; the interpretation is made by an interpreter referring to a local cookie dictionary, on the user's computer, having entries corresponding to different types of cookies. In various alternative embodiments, the managing also includes changing the values set by the websites, and fabricating cookies of types not necessarily used by a website in order to express to the website preferences a user wants the website to know. In some embodiments, the system also includes a means by which the fabricated cookies are made knowable to websites on the Internet, namely a universal cookie dictionary; and a site-specific cookie dictionary maintained by a third party so as to contain updated entries for interpreting cookies used by websites on the Internet. In one aspect of the invention, a user can periodically update the local cookie, using a local cookie dictionary, to include changes to the site-specific and universal cookie dictionaries.

Description

A

A SYSTEM FOR MANAGING
USER-CHARACTERIZING NETWORK PROTOCOL HEADERS
Field of the Present Invention The present invention pertains to user-characterizing network protocol headers, such as so-called Internet "cookies," which are used by Internet content providers for various reasons, but in particular for providing information about a user to a website operated by the Internet content provider. More particularly, the present invention pertains to a system for managing such protocol headers, enabling a user to interpret and, preferably, adjust the content of the protocol headers.
Backuround of the Invention An Internet cookie is a protocol header consisting of a string of characters (cookie content) that is inserted by a web server, operated by an Internet Content Provider (ICP), into the random access memory (RAM) on a user's computer (client) while the user is operating a browser (application program) to access web pages on the Internet, typically through an Internet Service Provider (ISP) using the World Wide Web (type of network operating system). An ICP may also be an ISP, as in the case of, for example, American On Line.
A web server may "set" a cookie at various points during a user's access of the web server. The string of characters or content comprising a cookie specifies a domain, path, lifetime and value of a variable. The variable may be, for example, the number of times the user has visited the web server or particular web pages provided by the web server, and the domain and path indicate a website (a group of similar web pages operated by a single entity).
If the lifetime of the cookie is greater than the time the user spends at the website, then the cookie may be saved in a cookie file (file of cookies) for future reference by either the user, the web server setting the cookie or other web servers.
Cookies are set for many different reasons, including enabling a web server or an ICP to customize the information it provides to a user, to facilitate on-line sales or services (e.g., implementing a so-called "shopping basket"), for tracking web pages the user has visited, or for providing the web server or ICP's website with some demographic information (presumably only geographical information or at what time a user tends to visit the ICT's website).
The idea behind the use of protocol headers such as cookies is to enable a web server or ICP to gather information about a user. By setting one or more long-lived cookies in a user's cookie ale, the next time the user accesses the website, the ICP can know certain information about the user that will, in theory, facilitate the user's productive use of the information accessible at the ICP's website. This works because when an ISP directs a user to a website, the browser on the user's computer examines its cookie file for cookies that have been set by the website and provides those cookies to the website by way of introducing itself (representing the user) to the website.
The website may then, or sometime later, set new cookies on the user's computer, or alter the value of cookies previously set there.
Cookies are also used to securely store personal data a user has shared with a website. As mentioned above, cookies et by an ICP in the RAM of a user's computer end up stored in a file on the user's hard drive if the lifetime of cookie is longer than the time the user spends at the ICP's website. All such cookies are stored in a single file on the user's hard drive (a file usually called "cookies.txt") More browsers today, including Netscape and Microsoft Internet Explorer, can be configured to display to a user a warning that a cookie is about to be set, and to give the user the option of blocking the cookie. The user is often even able to view the content of the cookies. However, the user often has no knowledge of the meaning of the content of the cookie nor the intended use for the cookie contents by the ICP. In some cases, when a user blocks an ICP from setting a cookie, the ICP's website refuses to allow access to the website by the user. Since there are many innocuous and quite useful reasons for a website to set a cookie, it is probably not, as a general rule, in the user's best interest to simply block all cookies.
In addition to configurable software for disabling a website from setting a cookie in the first place, the prior art includes a number of applications intended to assist a user in removing the file of long-lived cookies (the cookie file). Both the cookie-blocking browsers and cookie file managers indicate to a user the identity of the website responsible for each cookie intended to be set or stored in the cookie file. Identifying the website that set a cookie is easy because, as indicated above, each cookie includes, as text, the path and domain for the website that set the cookie. The prior art also includes software that will enable a user to remove sensitive information from the user's browser cache and cookie files.
What the prior art does not provide is a means by which a user can, using the same mechanism for exchanging information about who the user is, convey to a website preferences the user may wish to convey, instead of only preferences the website has deemed useful to know. For example, a user may wish to communicate to a website that the user would prefer to receive any advertising, demonstration material or other kinds of literature as postal mail or through a courier service.
What stands in the way of communicating such preferences is that the ICP website that set a cookie sometimes does not have variables (type of cookie) that are appropriate for what the user wants to express. What is needed is a means by which a user can not only identify and delete a cookie file or delete particular cookies within a cookie file or still in RAM, only guessing what the cookies content conveys, but a means of actually interpreting the content of the cookies within a cookie file or still in RAM, and also a means by which a user can create new types of cookies (cookies with new variables) that may be offered to a website of an ICP.
Summary of the Invention Accordingly, the present invention has as an object of an aspect thereof interpreting for a computer user the content of a user-characterizing protocol header, such as an Internet cookie, and, optionally, adjusting its content.
It is another object of an aspect of the present invention to enable such a user to fabricate a user-characterizing protocol header having content of the user's own creation, and thereby convey to a website information the user wants to convey.
Correspondingly, it is a still further, optional object of an aspect of the present invention to provide a means by which a website receiving from a user a protocol header fabricated by the user can interpret the protocol header if its interpretation is not apparent from inspection.
To achieve these objects, the present invention interfaces with a string of characters defining a protocol header on a user's computer to provide a user with an interpretation of at least a portion of the string of characters, the invention comprising: a dictionary containing at least one entry, the entry comprising a first string of characters representing at least a portion of the protocol header and a second string of characters representing a meaning associated with the first string of characters; an interpreter for retrieving the second string of characters based upon the first string of characters; and an editor, for displaying the second string of characters retrieved by the interpreter.
According to an aspect of the present invention, there is provided a system for interfacing with a protocol header on a user's computer, the protocol header consisting of a string of characters defining at least a type and a value, the system comprising:
a) a principal dictionary, having at least one entry, each entry corresponding to a protocol header of a particular type, each entry containing content data indicating an interpretation of at least one type of protocol header;
b) an interpreter, for associating a specific entry in the principal dictionary with a particular protocol header, and for providing an interpretation of the protocol header according to the content data contained in the entry; and c) an editor, for displaying the interpretation provided by the interpreter.
According to another aspect of the present invention, there is provided a system for managing protocol headers on a user's computer, the user from time to time interfacing with a network content provider server at a network site by using site interfacing software executing on the user's computer and communicating with the network content provider server through a network operating system, the interfacing resulting in the network site setting on the user's computer a protocol header, the protocol header consisting of a string of characters defining at least a type and a value, the system comprising:
a) a principal dictionary, located on the user's computer, having at least one entry, each entry corresponding to a protocol header of a particular type, each entry containing content data indicating an interpretation of at least one type of protocol header;
b) a site-specific dictionary, containing at least one entry, each entry containing an interpretation of at least one type of protocol header used by at least one network content provider;
c) a universal dictionary, containing entries for types of protocol headers not necessarily used by any network content provider and content data indicating interpretations of the types of protocol headers, for selection by a user in conveying preferences to a network content provider;
d) a principal dictionary manager for updating the principal dictionary to include entries from the site-specific dictionary needed to interpret each protocol header on the user's computer that originated at some network content provider network site, and also to include at least one entry from the universal dictionary;
e) an interpreter for examining the protocol headers and for providing an interpretation of each by reference to the principal dictionary, and for providing entries in the principal dictionary;
and f) an editor for displaying interpretations provided by the interpreter and for enabling the user to alter, in case of a protocol header set by a network content provider, the value of the protocol header to any of the values used by the network content provider, and also for enabling the user to fabricate a protocol header expressing a user's preference, the fabricating based on an entry in the universal dictionary.
According to yet another aspect of the present invention, there is provided a system for managing cookies on a user's computer, the user from time to time interfacing with an Internet content provider (ICP) website by using a browser executing on the user's computer and communicating with 4a the ICP website through the World Wide Web, the interfacing resulting in the setting of a cookie on the user's computer, a cookie consisting of a string of characters defining a type and a value, the system comprising:
a) a local cookie dictionary, located on the user's computer, having at least one entry, each entry corresponding to a cookie of a particular type, each entry containing content data indicating an interpretation of at least one type of cookie;
b) a site-specific cookie dictionary, containing an interpretation of at least some types of cookies used by at least one ICP
website;
c) a universal cookie dictionary, containing types of cookies not necessarily used by any ICP website and interpretations of the types of cookies, for selection by a user in conveying preferences to a website;
d) an interpreter, for associating a specific entry in the local cookie dictionary with a particular cookie, and for providing an interpretation of the cookie according to the content data contained in the entry; and e) a local cookie dictionary manager for updating the local cookie dictionary to include entries from the site-specific cookie dictionary needed to interpret each cookie, on the user's computer, that originated at some ICP website, and also to include at least some entries from the universal cookie dictionary;
f) a cookie editor for displaying interpretations provided by the cookie interpreter and for enabling the user to alter, in case of a cookie set by an ICP website, the value of the cookie to any of the values used by the ICP website, and also for enabling the user to fabricate a cookie, expressing a preference of the user, based on an entry in the universal cookie dictionary.
Brief Description of the Drawin4s The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as other 4b features and advantages thereof, will be best understood by reference to the detailed description when read in conjunction with the accompanying drawings, of which:
Fig. 1 is a block diagram of a system for managing an Internet cookie according to the present invention;
Fig. 2 is a block diagram of a system for managing a user-characterizing protocol header according to the present invention; and Fig. 3 and Fig. 4 in combination are a flow chart for managing a user-characterizing protocol header according to the present invention.
Detailed Description The present invention is hereinafter described in a particular context of the Internet, namely where a user operates a computer attached to the Internet, and accesses websites of Internet content providers through the World Wide Web, using a browser, which, as part of the World Wide Web protocol, allows websites to set on the user's computer so-called Internet cookies, which are a kind of user-characterizing protocol header. The present invention, however, need not find application only on the Internet, or only in 4c the World Wide Web environment of the Internet. Instead of the Internet, the present invention can be used on any network in which there is, as a protocol between sites of the network, the setting of user-characterizing protocol headers by a computer at one site onto the computer at another site. Thus, the network can be different than the Internet, the network operating system can be different than the World Wide Web, the site interfacing software for interfacing with a server at a site of the network can be different than the browsers of the World Wide Web, and the protocol headers exchanged between sites can be different than cookies, but are still a user-characterizing protocol header in the sense that an Internet cookie characterizes a user for a website.
The cookies that are managed by the present invention can be on the user's computer; they may reside in random access memory (RAM), or in non-volatile storage, such as the user's hard drive.
The preferred embodiment of the present invention includes a data dictionary, on the user's computer, that serves as a basis by which the present invention interprets cookies on the user's computer. This data dictionary is here called a local cookie dictionary, and its entries are types of cookies, or, equivalently, cookie variable types. The local cookie dictionary is the dictionary routinely used, in the preferred embodiment, to interpret cookies. It is the data dictionary first referred to. Any data dictionary used as such a principal reference, is here called a principal dictionary. Such a data dictionary need not be on the user's computer. Instead, it may be remote.
For each entry in the local cookie dictionary, i.e., for each type of cookie, the local cookie dictionary provides content data indicating an interpretation of any particular cookie of that type, including an explanation of the cookie type, i.e., the cookie variable, and information about the possible values that can be assigned to the cookie. The interpretation for each entry is sufficient for building a template out of which a cookie can be fabricated; to enable building such a template, content data for an entry includes an indication of how to parse any associated cookie. For some Internet cookies, those that rely on a tab to delimit the fields of a cookie, the parsing information simply indicates the use of tab-delimited fields.

The invention further provides a cookie editor that enables the user to manage the cookies on the user's computer. The cookie editor does not, however, access the cookies directly; instead the editor interfaces with a cookie interpreter that interprets each cookie, based on the local cookie dictionary. The interpreter not only provides an interpretation of cookies, but also provides information, as part of the interpretation, of the possible values of the cookie. In the basic invention, the cookie interpreter merely provides to the cookie editor an interpretation of a cookie, which the editor then displays.
For example, the editor displays a cookie in a way that explains each textual character or logically related set of textual characters making up the cookie.
In the preferred embodiment, the user never even views a cookie in its native format, i.e., in the format in which it would appear if it were accessed using a generic text editor.
In optional enhancements of the basic invention, the cookie editor enables the user to alter the values of cookies.
In a further optional enhancement, the interpreter lets the user, through commands to the editor, scroll through the local cookie dictionary and view cookie types the user might want to use to express to a website preferences the user might have, such as preferences the user might have related to how the website sends the user advertising. For example, the user might want to express to a website that the user would prefer that any advertising the website owner might send to the user be sent by postal mail. In that case, the user would select from the local cookie dictionary a cookie for expressing how the user would like to receive advertising, and would indicate, as a value for this cookie, postal mail. The user would also indicate to the editor the website that is to receive the cookie so that the editor can make the cookie into one for that website. How the website would interpret the cookie is addressed in further refinements of the basic invention, but if the cookie is intentionally made to be clear in what it is communicating, the cookie could be interpreted by the recipient without any sort of dictionary.
As explained above, the interpreter stands between the user, acting through the editor, and the cookie. The interpreter ensures the integrity of the cookie by preventing the user from fabricating a cookie or altering a cookie so as to produce a cookie not according to proper format.
As an optional enhancement, to provide for sharing of information about the types of cookies set by different websites, and also the types of cookies the user might want to fabricate, the invention makes accessible over the Internet both a site-specific cookie dictionary providing an interpretation of the different variables used by different websites and identifying which websites uses which variables, and also a universal cookie dictionary providing an interpretation of cookie types for expressing a preference to a website.
Referring now to Fig. 1, a system for managing Internet cookies, either in a cookie file 10 or RAM (not shown), is shown, in the preferred embodiment, to include a cookie interpreter 15, which uses entries (cookie types) and corresponding cookie interpretations in a local cookie dictionary 17, managed by a local cookie dictionary manager 16, to provide a user, through a cookie editor 13, interpretations of cookies. The cookie file 10 is read from and written to, from time to time, by a browser 11 operated by the user. With the browser, the user accesses, through an Internet service provider (ISP) 12, different cookie-setting websites of different Internet content provider 23 (ICPs). In the preferred embodiment, the invention also includes a site-specific cookie dictionary 21 located at a website accessible over the Internet, as well as a universal cookie dictionary 22, located at a website accessible via the Internet.
The first time this invention is used, it provides the user with typical personal information and cookie content on which the user might want to base general preferences for information that might be conveyed by a cookie.
The user may set these general preferences to allow, block, or modify a particular item of this personal information or cookie content. For instance, the user may not want to include certain personal information that may have been obtained from sources other than directly from the user; such personal information might include income, age, hobbies, etc.
The present invention is used by a user in two ways: for managing cookies in the user's cookie file 10, or for managing cookies in RAM. In the first way, while the user is either connected to the Internet or offline, the user activates the cookie editor 13 in file mode (as compared with RAM mode, as explained below). The cookie editor then presents to the user an interpreted display of each cookie in the cookie file 10, the interpretation provided through the cookie interpreter 15, using the local cookie dictionary 17 stored on the user's computer. The local cookie dictionary 17 includes at least a subset of the site-specific dictionary entries, and, in the preferred embodiment, all of the (probably much smaller) universal cookie dictionary entries.
Thereafter, for effective use of the present invention, every time browser 11 is activated by the user prior to customizing a cookie file, the user will access the universal cookie dictionary 22 and the site-specific cookie dictionary 21 over the Internet, using the local cookie dictionary manager 16.
In the preferred embodiment, the cookie dictionary manager will examine the cookie file 10 on the user's computer and extract from the site-specific cookie dictionary 21 the dictionary items needed by the cookie interpreter 15 to interpret the cookies in the user's cookie file 10, and will also extract from the universal cookie dictionary all of the dictionary items, so that the user has available all possible cookie types for communicating preferences to a website.
According to the standard for a cookie presently proposed by the Internet Engineering Task Force (proposed standard RFC 2109), the content of a cookie includes six parameters:
- the name of the cookie (i.e., the type of cookie);
- the value of the cookie;
- expiration date of the cookie;
- path the cookie is valid for;
- domain the cookie is valid for; and - whether there is a need for a secure connection to use the cookie.
The name and value of a cookie are mandatory content, and the other four parameters can be set manually or automatically. The name (of the cookie/cookie variable) and value (of the cookie/cookie variable) are the essential content of the two cookie dictionaries 21 and 22. For example, in the universal cookie dictionary 22, in the preferred embodiment, there is at least a name and possible values that would allow a user to specify that the user wishes to have all advertising or product literature provided by, for example, first class U.S. mail; thus, the universal cookie dictionary 22 might include here a name "mail-preference," and might include as possible values:
U.S. mail, different couriers, and perhaps e-mail.
From this example, it would seem that the use of a cookie dictionary to enable the cookie interpreter 15 to pass to the cookie editor 13 an interpretation of a cookie is not always necessary. Indeed; some of the names (types of cookies) are probably suggestive enough to reveal unambiguously the content of a cookie. However, in many cases a cookie will have a name that is intentionally vague so that only the website that set the cookie will know the content. Thus, for example, one bookstore company on the Internet would have a cookie with content that is difficult for competing bookstores to decipher. For this reason, in general, the local cookie dictionary 17 is needed.
There is, of course, no motivation for obscuring the meaning of the variables in the universal cookie dictionary; thus these variables would be named as suggestively as possible. In fact, in another aspect of the present invention, there is no universal cookie dictionary. Instead, the cookie editor 13 enables a user to create ad hoc variable names and corresponding values.
It is then envisioned that website operators will discover that cookies are being conveyed back to their websites with variables not of their own devising. In that case, the website operator can account for these new variables manually, or, when a website operator discovers that a cookie has been returned with a new variable, the website can be configured to automatically access the universal cookie dictionary 22 through the Internet to interpret a cookie created by a user.
In the preferred embodiment, the cookie dictionaries 21 and 22 are maintained by a third party. Users can communicate with the third party any suggestions they have for new variables (types of cookies) and their corresponding range of values by visiting the website of the third party or otherwise communicating their suggestions to the third party. In another aspect of the present invention, users maintain a universal cookie dictionary on their computers, and each website comes to learn that when encountering a cookie created by a user, the website should refer to the user's private universal cookie dictionary to unambiguously interpret the cookie.
In the second way of using the present invention, the user manages a cookie in RAM. In this case, when a website sets a cookie in RAM, the browser notifies the cookie interpreter and passes to the it the RAM address of the cookie. The cookie interpreter executes the cookie editor; the editor then automatically executes in RAM mode (compared to ale mode, noted above), i.e., without any involvement by the user. Then the cookie editor attempts to interpret the cookie based on the local cookie dictionary. If it cannot, it directs the browser 11 to access the site-specific cookie dictionary 21, and then searches that dictionary for an interpretation of the cookie. If it locates the interpretation for the cookie, it provides the interpretation to the cookie editor, which in turn displays the interpretation to the user. The user can then inspect the cookie, alter it, or block it.
Another way of managing cookies in RAM is for a user to fabricate a cookie while accessing a website using the browser 11. The user would do this to convey to the website preferences the user may want the website to know. In this scenario, the user executes the cookie editor 13 in RAM mode, as compared with file mode used to manage cookies in the cookie file, and then fabricates a cookie in the same way as when the cookie editor is executed in offline mode. When the user is done fabricating the cookie, the cookie editor sets the cookie in RAM without any further involvement by the user.
Referring now to Fig. 2, a system for managing a user-characterizing protocol header in a general context, not necessarily the Internet, is shown.
Here, a user (not shown) invokes an editor 32 in order to manage a user-characterizing protocol header (not shown) from a user-characterizing protocol header source 30. The editor 32 automatically invokes an interpreter 31, which examines the protocol header and searches the local dictionary 33, or, alternatively, searches remote dictionaries 34 residing on a computer other than the user's. In the preferred embodiment, the interpreter 31 would consult the remote dictionaries 34 only if it fails to find, in the principal dictionary, an entry corresponding to the protocol header.
The interpreter 31 prevents the user from interfacing directly with a protocol header. Ordinarily, an embodiment of the present invention would have the interpreter 31 even prevent the user from ever directly viewing a protocol header, i.e., viewing it in its native format, as a pure character string;
although in some applications it may be useful for the user to see what a protocol header "really" looks like, and an embodiment in which the interpreter can, optionally, provide such a view is intended to be within the scope of the present invention.
In the usual embodiment, though, the interpreter 31 passes to the editor only the content information in one or another dictionary sufficient for the editor to display the protocol header in a way that makes evident the meaning of each logically related subset of characters of the character string composing the protocol header. The editor 32 then displays this information, and in the preferred embodiment does so by providing on the screen a name for each logically related subset of characters that is at least suggestive to the user of the meaning of the characters. If the user wants, the user can prompt the editor to provide additional interpretation of any particular subset of characters, or, preferably, the editor would do so whenever the user places the pointer from a pointing device on the field and rests it there for more than a brief interval. The editor 32 receives this additional interpretation, as well as all the other content information for the protocol header, from the interpreter 31, and usually all at once, although in some embodiments it is preferable to provide content information only as needed.
Referring now to Fig. 3 and Fig. 4, which in combination indicate various possible sequences of steps in the operation of the present invention, as shown in Fig. 2.
More generally, the present invention in essence interfaces with a string of characters defining a protocol header on a user's computer to provide a user with an interpretation of at least a portion of the string of characters, the invention comprising: a dictionary containing at least one entry, the entry comprising a first string of characters representing at least a portion of the protocol header and a second string of characters representing a meaning associated with the first string of characters; an interpreter for retrieving the second string of characters based upon the first string of characters; and an editor, for displaying the second string of characters retrieved by the interpreter. The first string of characters is often the character string that defines the type of the protocol header, but need not be.
In the Internet context, a website might not use a type (name of a cookie).
Instead, it might encode within the value of the cookie both a type and its value. This would be done, for example, to make its cookies more resistant to attempts by others to decipher them. In this scenario, the interpreter, in examining the cookie, would find in referring to a dictionary (principal or other) that the website employs such a scheme and would extract from the dictionary content data indicating an interpretation of the cookie without relying on the type of cookie, just its value.
Although a preferred embodiment of the invention has been specifically described, it will be understood that the invention is to be limited only by the appended claims, since variations and modifications of the preferred embodiment will become apparent to a person skilled in the art upon reference to the description of the invention herein. Therefore, it is contemplated that the appended claims will cover any such modification or embodiments that fall within the true scope of the invention.

Claims (14)

1. A system for interfacing with a string of characters defining a protocol header on a user's computer to provide a user with an interpretation of at least a portion of the string of characters, the system comprising:
a dictionary containing at least one entry, the entry comprising a first string of characters representing at least a portion of the protocol header and a second string of characters representing a meaning associated with the first string of characters;
an interpreter for retrieving the second string of characters based upon the first string of characters; and an editor, for displaying the second string of characters retrieved by the interpreter.
2. The system claimed in claim 1, wherein the first string of characters defines a type for the protocol header.
3. The system claimed in claim 1, wherein the first string of characters defines a value for the protocol header.
4. The system as claimed in claim 1, wherein the editor enables the user to edit the content of the protocol header.
5. A system for interfacing with a protocol header on a user's computer, the protocol header consisting of a string of characters defining at least a type and a value, the system comprising:
a) a principal dictionary, having at least one entry, each entry corresponding to a protocol header of a particular type, each entry containing content data indicating an interpretation of at least one type of protocol header;
b) an interpreter, for associating a specific entry in the principal dictionary with a particular protocol header, and for providing an interpretation of the protocol header according to the content data contained in the entry; and c) an editor, for displaying the interpretation provided by the interpreter.
6. A system as claimed in claim 5, wherein the editor also enables the user to alter the value of the protocol header.
7. A system as claimed in claim 6, wherein the interpreter also provides access to any entry in the principal dictionary, and wherein the editor displays each entry provided by the interpreter.
8. A system as claimed in claim 7, wherein the editor also enables the user to fabricate a protocol header expressing a preference of the user, based on an entry, provided by the interpreter, from the principal dictionary.
9. A system as claimed in claim 8, further comprising:
a) a universal dictionary, containing types of protocol headers not necessarily used by any network content provider and content data indicating interpretations of these types of protocol headers, for selection by a user in conveying preferences to a network content provider;
b) a principal dictionary manager, for updating the principal dictionary so as to include entries from the universal dictionary.
10. A system as claimed in claim 9, further comprising:
a) a site-specific dictionary, containing at least one entry for a type of protocol header, each entry providing content data indicating an interpretation of at least one type of protocol header used by at least one network content provider.
11. A system as claimed in claim 10, wherein, in case of a protocol header of a type not contained in the principal dictionary, the interpreter refers to the site-specific dictionary to interpret the protocol header.
12. A system for managing protocol headers on a user's computer, the user from time to time interfacing with a network content provider server at a network site by using site interfacing software executing on the user's computer and communicating with the network content provider server through a network operating system, the interfacing resulting in the network site setting on the user's computer a protocol header, the protocol header consisting of a string of characters defining at least a type and a value, the system comprising:
a) a principal dictionary, located on the user's computer, having at least one entry, each entry corresponding to a protocol header of a particular type, each entry containing content data indicating an interpretation of at least one type of protocol header;
b) a site-specific dictionary, containing at least one entry, each entry containing an interpretation of at least one type of protocol header used by at least one network content provider;
c) a universal dictionary, containing entries for types of protocol headers not necessarily used by any network content provider and content data indicating interpretations of the types of protocol headers, for selection by a user in conveying preferences to a network content provider;
d) a principal dictionary manager for updating the principal dictionary to include entries from the site-specific dictionary needed to interpret each protocol header on the user's computer that originated at some network content provider network site, and also to include at least one entry from the universal dictionary;
e) an interpreter for examining the protocol headers and for providing an interpretation of each by reference to the principal dictionary, and for providing entries in the principal dictionary;
and f) an editor for displaying interpretations provided by the interpreter and for enabling the user to alter, in case of a protocol header set by a network content provider, the value of the protocol header to any of the values used by the network content provider, and also for enabling the user to fabricate a protocol header expressing a user's preference, the fabricating based on an entry in the universal dictionary.
13. A system for managing cookies on a user's computer, the user from time to time interfacing with an Internet content provider (ICP) website by using a browser executing on the user's computer and communicating with the ICP website through the World Wide Web, the interfacing resulting in the setting of a cookie on the user's computer, a cookie consisting of a string of characters defining a type and a value, the system comprising:
a) a local cookie dictionary, located on the user's computer, having at least one entry, each entry corresponding to a cookie of a particular type, each entry containing content data indicating an interpretation of at least one type of cookie;
b) a site-specific cookie dictionary, containing an interpretation of at least some types of cookies used by at least one ICP
website;
c) a universal cookie dictionary, containing types of cookies not necessarily used by any ICP website and interpretations of the types of cookies, for selection by a user in conveying preferences to a website;
d) an interpreter, for associating a specific entry in the local cookie dictionary with a particular cookie, and for providing an interpretation of the cookie according to the content data contained in the entry; and e) a local cookie dictionary manager for updating the local cookie dictionary to include entries from the site-specific cookie dictionary needed to interpret each cookie, on the user's computer, that originated at some ICP website, and also to include at least some entries from the universal cookie dictionary;
f) a cookie editor for displaying interpretations provided by the cookie interpreter and for enabling the user to alter, in case of a cookie set by an ICP website, the value of the cookie to any of the values used by the ICP website, and also for enabling the user to fabricate a cookie, expressing a preference of the user, based on an entry in the universal cookie dictionary.
14. The system as claimed in claim 14, wherein the cookie interpreter refers to the site-specific cookie dictionary to interpret the cookie.
CA002295274A 1999-01-13 2000-01-12 A system for managing user-characterizing network protocol headers Expired - Fee Related CA2295274C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/231,358 1999-01-13
US09/231,358 US6237033B1 (en) 1999-01-13 1999-01-13 System for managing user-characterizing network protocol headers

Publications (2)

Publication Number Publication Date
CA2295274A1 CA2295274A1 (en) 2000-07-13
CA2295274C true CA2295274C (en) 2002-03-26

Family

ID=22868896

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002295274A Expired - Fee Related CA2295274C (en) 1999-01-13 2000-01-12 A system for managing user-characterizing network protocol headers

Country Status (4)

Country Link
US (1) US6237033B1 (en)
EP (1) EP1020804B1 (en)
CA (1) CA2295274C (en)
DE (1) DE60015821T2 (en)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421729B1 (en) * 1998-04-14 2002-07-16 Citicorp Development Center, Inc. System and method for controlling transmission of stored information to internet websites
US6393479B1 (en) 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
US6851060B1 (en) * 1999-07-15 2005-02-01 International Business Machines Corporation User control of web browser user data
AUPQ206399A0 (en) * 1999-08-06 1999-08-26 Imr Worldwide Pty Ltd. Network user measurement system and method
US6810395B1 (en) * 1999-11-22 2004-10-26 Hewlett-Packard Development Company, L.P. Method and apparatus for query-specific bookmarking and data collection
US6961330B1 (en) * 2000-06-23 2005-11-01 Comverse Ltd. Web development and deployment using SMS and USSD
US6754711B1 (en) * 2000-06-29 2004-06-22 Cisco Technology, Inc. Customer care control over voice application state
EP1178409A1 (en) * 2000-08-01 2002-02-06 Oliver Berthold Cookiemanager to control the exchange of cookies in an Internet client-server computersystem
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
AUPQ924100A0 (en) * 2000-08-07 2000-08-31 Sharinga Networks Inc. A method for controlling data at a client device
US20020051541A1 (en) * 2000-10-30 2002-05-02 Glick Barry J. System and method for maintaining state between a client and server
US8472627B2 (en) * 2000-10-30 2013-06-25 Geocodex Llc System and method for delivering encrypted information in a communication network using location indentity and key tables
US7120254B2 (en) * 2000-10-30 2006-10-10 Geocodex Llc Cryptographic system and method for geolocking and securing digital information
ITMI20002390A1 (en) 2000-11-06 2002-05-06 Safety World Wide Web Associaz access control method to a data communication network with user identification
US7181508B1 (en) * 2000-11-09 2007-02-20 Oki Data Americas, Inc. System and method for communicating, monitoring and configuring a device operatively connected to a network
US20020073042A1 (en) * 2000-12-07 2002-06-13 Maritzen L. Michael Method and apparatus for secure wireless interoperability and communication between access devices
US20020072981A1 (en) * 2000-12-11 2002-06-13 Park Jin Y. Search engine adapted to permit real time querying of a set of internet sites
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
CA2331046A1 (en) * 2001-01-15 2002-07-15 Gregory Mckesey Method and system for internet connection and communication management
US7603356B2 (en) 2001-01-26 2009-10-13 Ascentive Llc System and method for network administration and local administration of privacy protection criteria
US20020156902A1 (en) * 2001-04-13 2002-10-24 Crandall John Christopher Language and culture interface protocol
US6928440B2 (en) * 2001-04-19 2005-08-09 International Business Machines Corporation Delayed storage of cookies with approval capability
US20030005046A1 (en) * 2001-06-06 2003-01-02 Lagniappe Marketing System and method for managing marketing applications for a website
FI114066B (en) * 2001-07-24 2004-07-30 Interquest Oy Traffic Flow Analysis Method
US20030037131A1 (en) * 2001-08-17 2003-02-20 International Business Machines Corporation User information coordination across multiple domains
US20030120660A1 (en) * 2001-12-07 2003-06-26 Maritzen L. Michael Consumer-centric context-aware switching model
US6993596B2 (en) 2001-12-19 2006-01-31 International Business Machines Corporation System and method for user enrollment in an e-community
US7392160B2 (en) 2002-12-18 2008-06-24 Fortent Limited System and method for monitoring usage patterns
GB2383505B (en) 2001-12-21 2004-03-31 Searchspace Ltd System and method for monitoring usage patterns
US20030218627A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation Outbound data traffic monitoring
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
AU2003262857A1 (en) * 2002-08-24 2004-03-11 Ingrian Networks, Inc. Selective feature activation
US20040073811A1 (en) * 2002-10-15 2004-04-15 Aleksey Sanin Web service security filter
US20040128534A1 (en) * 2002-12-18 2004-07-01 Walker Nicholas John Method and product for identifying a website visitor session by visitor e-mail address
US7167905B2 (en) * 2003-01-31 2007-01-23 Sierra Wireless, Inc. Token-based Web browsing with visual feedback of disclosure
US8464290B2 (en) * 2003-08-01 2013-06-11 Tacoda, Inc. Network for matching an audience with deliverable content
US9928522B2 (en) 2003-08-01 2018-03-27 Oath (Americas) Inc. Audience matching network with performance factoring and revenue allocation
US7805332B2 (en) * 2003-08-01 2010-09-28 AOL, Inc. System and method for segmenting and targeting audience members
US9118812B2 (en) * 2003-08-01 2015-08-25 Advertising.Com Llc Audience server
US20050125290A1 (en) * 2003-08-01 2005-06-09 Gil Beyda Audience targeting system with profile synchronization
US8150732B2 (en) * 2003-08-01 2012-04-03 Tacoda Llc Audience targeting system with segment management
US9117217B2 (en) 2003-08-01 2015-08-25 Advertising.Com Llc Audience targeting with universal profile synchronization
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US20080189424A1 (en) * 2006-11-09 2008-08-07 Siteacuity, Llc Enhanced Website Visitor Coordination System And Method
US20080114831A1 (en) * 2006-11-09 2008-05-15 William Keith Maddox Website visitor coordination system and method
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US8135672B1 (en) * 2009-03-02 2012-03-13 Sprint Communications Company L.P. Deleting website-specific data at a wireless-network gateway
WO2011041465A1 (en) * 2009-09-30 2011-04-07 Tracking.Net Enhanced website tracking system and method
US10204210B2 (en) * 2010-08-30 2019-02-12 Mobile Newmedia Ltd. Health kiosk
CN102447714A (en) * 2010-10-07 2012-05-09 鸿富锦精密工业(深圳)有限公司 Cookie management method
CN103701844B (en) * 2012-11-05 2017-06-23 北京奇虎科技有限公司 User information management method and system
US10137376B2 (en) 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
US9185435B2 (en) 2013-06-25 2015-11-10 The Nielsen Company (Us), Llc Methods and apparatus to characterize households with media meter data
US9277265B2 (en) 2014-02-11 2016-03-01 The Nielsen Company (Us), Llc Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability
US10219039B2 (en) 2015-03-09 2019-02-26 The Nielsen Company (Us), Llc Methods and apparatus to assign viewers to media meter data
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
US10245509B2 (en) 2015-10-21 2019-04-02 Activision Publishing, Inc. System and method of inferring user interest in different aspects of video game streams
US10226703B2 (en) 2016-04-01 2019-03-12 Activision Publishing, Inc. System and method of generating and providing interactive annotation items based on triggering events in a video game

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3275153B2 (en) * 1993-03-03 2002-04-15 株式会社日立製作所 Dictionary distributed system and dictionary distributed management method
DE69321145T2 (en) * 1993-03-20 1999-06-02 Ibm Method and apparatus for working out the switching information from the header of a protocol
US5467472A (en) * 1994-04-15 1995-11-14 Microsoft Corporation Method and system for generating and maintaining property sets with unique format identifiers
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
JP3713161B2 (en) * 1999-03-31 2005-11-02 富士通株式会社 Server and recording medium

Also Published As

Publication number Publication date
EP1020804A3 (en) 2002-04-17
DE60015821D1 (en) 2004-12-23
EP1020804B1 (en) 2004-11-17
CA2295274A1 (en) 2000-07-13
DE60015821T2 (en) 2005-11-10
EP1020804A2 (en) 2000-07-19
US6237033B1 (en) 2001-05-22

Similar Documents

Publication Publication Date Title
US8131799B2 (en) User-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information
AU720221B2 (en) Electronic mail system with advertising
EP1021779B1 (en) Business card agent and applications
US5918227A (en) On-line directory service with a plurality of databases and processors
US8914519B2 (en) Request tracking for analysis of website navigation
EP1315114B1 (en) System and method of presenting channelized data
US6073168A (en) Method for reducing delivery latency of an image or other secondary information associated with a file
US6081829A (en) General purpose web annotations without modifying browser
CN1114168C (en) Web addressing
US5706507A (en) System and method for controlling access to data located on a content server
US7933917B2 (en) Personalized search method and system for enabling the method
US7305472B2 (en) Method for downloading a web page to a client for efficient display on a television screen
US6687746B1 (en) System apparatus and method for hosting and assigning domain names on a wide area network
JP4565004B2 (en) Integration of the personalized portal and web content syndication
US6141694A (en) Determining and verifying user data
US6311269B2 (en) Trusted services broker for web page fine-grained security labeling
US7251775B1 (en) System and method for visual history presentation and management
AU2001292747B2 (en) Method and system for communicating selected search results between first and second entities over a network
JP3313077B2 (en) Method and system for access to the Internet using a bookmark set
US6122740A (en) Method and apparatus for remote network access logging and reporting
US6397264B1 (en) Multi-browser client architecture for managing multiple applications having a history list
CA2410747C (en) System and method for saving browsed data
CN1326052C (en) Content filter for network browsing
US7558805B2 (en) Searching content on web pages
KR100612711B1 (en) Gathering enriched web server activity data of cached web content

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20130114