User controlled browser

Abstract: A mechanism provides a user-controlled information disclosure process. A user information database (206,208), a BrowserID Client applet (406), and a BrowserID Website database (408) are configured at a user terminal (102). The user information database contains a plurality of information records about a user's identification information and access levels for the respective information records. The BrowserID Website database contains the names of web sites and access levels for the respective web sites. In response to a request for user information from a web site, the BrowserID Client applet checks the existing access level in the BrowserID Website database for the web site (or negotiates a new level), and if appropriate, retrieves the access key granted by the web site to gain access to a controlled portion of a website.

Description: The present invention relates to a method and apparatus for providing user identification and transaction information to web sites in the process of getting access to the web sites. It is known a user can retrieve information from world wide web sites (or web sites) via the Internet. More specifically, in retrieving desired information from a particular web site, the user sends a service request to the web site by using the web browser software at a user terminal. Upon receiving the service request, server software for the web site searches the information repository (organized as web pages) in the web site according to the request, and sends the desired information to the user terminal. Upon receiving the desired information, the web browser software displays the desired information in page format to the user. To enhance the quality of, expand the market for, and provide new services for their web site services, many web sites require visitor identification and ask for personal identification and demographic information before processing received service requests. Further, the user may be required to provide a credit card or other sensitive financial information The user identification can be useful for a number of purposes: to authenticate web visitors, to selectively grant access privileges, to facilitate the administration and billing of marketable services over the Internet, to provide more focused responses, to build customer history database to facilitate the consequent repeating services, to collect marketing information, etc. At the present time, several approaches have been developed to gather user identification information. One approach, used by Netscape Inc., is to "quietly" maintain a file within the client accessible to the browser software at user terminals. When a user terminal sends a service request to a web site, the browser software first provides to the server software the information within the file (known as "cookies.txt") that applies to the server's domain (Internet address). One problem with this approach is that users have little control (short of deleting the file or its entries), regardless of what types of web sites they are visiting. Another problem with this approach is that the user identification may be incomplete, because the user identification gathered is limited to the hardware and software configuration at the user terminal. Current tracking facilities identify a web visitor by recognizing a unique identifier associated with the web visitor based on exchanges between the browser software and the server software. Usually, the identifier is the IP (Internet Protocol) address of the user terminal the visitor is using. This type of identification is problematic since many on-line service providers (such as American Online and CompuServe) assign an IP address per user session and will re-use the IP address for other users when it is released. It is also possible that corporate proxy servers hide (or mask) individual IP addresses for associated user terminals with their firewalls. In another approach, many web sites have implemented a registration facility. After sending a service request to a web site, an HTML (Hyper Text Markup Language) form is presented to the web visitor, requesting the visitor to fill in the form to provide information such as name, e-mail address, phone number, business affiliation, etc. Often the registration is accompanied by the issuance of personal ID and password for use in the next visit to the web site, typically giving the visitor access to pages of information and services not otherwise available. Such a registration process is cumbersome and inconvenient for a web site user. The format of the identification information is designed to satisfy each individual web site and may be not consistent to the user. It is quite possible the information being requested is not handy at the moment when the user is visiting a web site. If multiple personal IDs and pass words are issued, it is difficult for the user to remember the IDs and passwords and match them with appropriate web sites. To strike a balance between the users' privacy and the necessity to have user identification information, Daniel W. Connolly made two proposals in July of 1995 ("Request-ID header field" and "Anonymous Authentication"). These two proposals focus on per session tracking and thus are not amenable to establishing a long term relationship between a web side provider and customer, or to providing insight to users identification for demographic purposes. A third proposal by Daniel W. Connolly suggests establishing an "electronic business card" through the use of HTML forms and ID field names that would facilitate the filling in of common registration forms by having standardized field names that could be filed by a browser. The browser user would have the opportunity not to submit the information or to edit it prior to submitting it. A problem with this proposal is the negative impact that it would have on caching performed by proxy servers since the ID information would be transmitted via URLs (Uniform Resource Locators) that are the keys to cached web pages. Brand S: "Electronic Cash on the Internet", Proceedings of the Symposium on Network and Distributed System Security, January 1995, pages 64-84, XP000567597, DISCLOSES THE IMPLEMENTATION OF AN Internet payment mechanism that is completely electronic where high speed payments may be made offline without being traceable or even linkable and where multi-party security is guaranteed without requiring parties to trust other parties. Ghani D: " Charging and Paying for Information on Open Networks" ASLIB Proceedings, vol 47, no.6, June 1995, pages 145-148, 151/152, XP000578745 discloses the negotiation of security levels between a client and a server resulting in agreement on a specific session key which is then used to ensure that all data entered via HTML forms is securely encrypted. Therefore, there exists a need to provide a method and apparatus that can provide user identification information to web sites under users' control. There exists another need to provide a method and apparatus that can provide user identification information to web sites with control, consistency, efficiency and convenience to the users. The object of the present invention is to meet those needs. According to the invention there is provided a method for providing information to a web site from a user terminal comprising the steps of, at the user terminal, maintaining a database containing access level limits assigned by the user associated with one or more web sites; receiving a request for information from a web site; determining whether an entry exists for that web site in the database and retrieving an access level limit for the web site if an entry is found; determining whether any of the information requested by the web site exceeds the level limit previously assigned by the user to that web site; retrieving information records based on the access limit associated with the web site if the access level limit is not exceeded; and transmitting the requested information. Also according to the invention there is provided an apparatus for providing information to a web site at a user terminal comprising at the user terminal, storage means for storing access level limits assigned by the user associated with one or more web sites; means for receiving a request for information from a web site; means for determining whether an entry exists for that web site in the database and for retrieving an access level limit for the web site if an entry is found; means for determining whether any of the information requested by the web site exceeds the level limit previously assigned by the user to that web site; means for retrieving information records based on the access limit associated with the web site if the access level limit is not exceeded; and transmission means for transmitting the requested information. The invention will be described by way of example with reference to the appended drawings, in which: Figure 1 shows an exemplary data network configuration; Figure 2 shows a hardware block diagram of a representative one of the user terminals of Figure 1; Figure 2 shows a hardware block diagram for a computer system, which is able to support any one of the web sites of Figure 1; Figure 4 shows a software block diagram for a representative one of the user terminals, and for a representative one of the web sites, shown in Figure 1; Figure 5 shows BrowserID database of Figure 4 in greater detail; Figure 6 shows BrowserID website database of Figure 4 in greater detail; and Figure 7 shows a flowchart illustrating the steps of disclosing user information to a web site. Referring to Figure 1, there is shown an exemplary data network configuration 100, which includes a plurality of user terminals (102. 1 , 102. 2 , ..., 102. M ), a plurality of web sites (112. 1 , 112. 2 , ..., 112. N ), and a data network 106. Each of the user terminals can get access to the web sites via data network 106. As shown in Figure 2, a user terminal 200 comprises a processing unit 202, a memory device 204, a disk drive interface 208, a display interface 212, a serial interface 224, and a network communication interface 234, all connected to a system bus 214. A hard disk 206 is coupled to the disk drive interface 208; a display monitor 210 is coupled to the display interface 212; and a mouse 225 and a keyboard 226 are coupled to the serial interface 224. Memory device 204 and the hard disk 206 are both able to store programs. However, memory device 204 has faster access speed than hard disk 206, while hard disk 206 has higher capacity than memory device 204. Network communication interface 234 is able to provide an interface between the user terminal and data network 106. More specifically, all software function blocks as shown in figures 2 and 3 get access to data network 106 via network communication interface 234 in compliance with pre-determined network protocols. The processing unit 202 is able to control operations of a user terminal by executing programs stored in memory device 204 or hard disk 206. Processing unit 202 is also able to control the transmissions of programs and data between memory device 204 and hard disk 206. Referring to Figure 3, there is shown a hardware block diagram for a computer system 300, which is able to support any of the web sites (112. 1 , 112. 2 , ..., 112. N ), and comprises a processing unit 302, a memory device 304, a disk drive interface 308,and a network communication interface 334, all connected to a system bus 314. The disk drive interface 308 is coupled to a hard disc 306. Memory device 304 the hard disk 306 are both able to store programs. However, memory device 304 has faster access speed than hard disk 306, while hard disk 306 has higher capacity than memory device 304. Network communication interface 334 is able to provide an interface between computer 300 and data network 106 in compliance with pre-determined network protocols. Processing unit 302 is able to control operations of computer system 300 by executing programs stored in memory device 304 or hard disk 306, and is also able to control the transmissions of programs and data between memory device 304 and hard disk 306. In Figure 4, a user terminal includes five software function blocks 404 to 414. Browser software 404 is able to formulate and send requests to web sites, and to display the information retrieved from the web sites. Browser software is also able to receive user ID information requests from web sites. BrowserID database 408 contains user information. BrowserID client applet 406 is able to retrieve the user information from BrowserID database 408 and passes it to browser software 404. However, BrowserID client applet 406 will not pass any user information from BrowserID database 408 without the explicit permissions the user set in the BrowserID database 408 and comparing them to the defined set of permissions in the BrowserID website database 410 for that web site 414. If, in response to a request for user ID information from a web site, no permission is granted to the web site, the browser software 404 will alert the user to define a permission that will be entered into the BrowserID website database 410. BrowserID client applet 406 is designed (programmed in Java for example) such that it can be executed (or interpreted) by any browser. BrowserID website database 410 contains the names of web sites and the degree of identification information to be shared. Graphical User Interface 412 is able to provide an interface between a user and software function blocks, including BrowserID client applet 406 and BrowserID database 408. Through display monitor 210, keyboard 225 and mouse 226, a user is able to initialize and update the BrowserID database 408_and the BrowserID website database 410, and to send control signals to BrowserID client applet 406. Server software 414 is able to process the requests for information from browsers and return the information to the browsers via HTTP, FTP, Gopher or other Internet information transfer protocols. When a user wants to visit web site 112, he/she can use keyboard 225 or mouse 226 to activate browser software 404 to send a service request to the web site, as indicated by line 426. Upon receiving the service request, server software 414 for the web site sends a request for user ID information, as indicated by line 424 which will invoke the execution on the user terminal of Browser ID Client Applet 406. Figure 5 shows BrowserID information database 408 which contains rows of ID records, each with two fields, namely: a single ID Information Item followed by an information sharing Level Limit field. In the first record, the ID Information Item field contains a user's full name; the Level Limit field contains a numerical value, indicating that the name will be revealed to a web server of a web site if and only if the user chooses to provide that level of information access for that web server. If so, that sharing level will be indicated within the BrowserID website database 410 by the Level Limit Field. By way of another example, in the seventh record, the ID Information Item field contains social security number; the Level Indicator Field contains 7, indicating that the social security number will only be transmitted to the web server of a web site if and only if the user specifies a web server's access level within the BrowserID website database 410 of value 7 or higher. In the embodiment shown in Figure 5, it is assumed that the greater the numerical value in the Level Limit field, the higher is the access level. It can be designed the other way around, that is: the smaller of the numerical value in the Level Limit field, the higher is the access level. This means that a record will be revealed to a web server of a web site if and only if the web server's access level from the BrowserID website database 410 is smaller than or equal to the Level Limit Field associated to that record. As shown in Figure 6, BrowserID website database 410 is comprised of records with 2 fields. The first field is the public URL for the site. The second field contains the access level assigned to it by the user when information sharing level access was negotiated among the BrowserID Client Applet and the web site server. This information is stored in the BrowserID website database 410 and is indexed by the BrowserID database 408 under control of the BrowserID applet 406. Figure 7 illustrates the steps of disclosing user information to a web site. In step 704, a user sends a service request to one of the web sites (112. 1 , 112. 2 , ..., 112. N ), that requires access from one of the user terminals (102. 1 , 102. 2 , ..., 102. M ), to request an access to the web site. In step 706, server software 414 for the web site returns the web site name that will provide the service requested by the user and a request for information to BrowserID Client applet 406. In its request, the server software (414) may specify the information items it needs, such as name, address, phone number, ..., etc. In step 707, BrowserID Client applet 406 determines whether an entry exists for the returned web site name in the BrowserID Website database 410. If an entry exists for the returned web site name, the operation is led to step 710. If no entry exists for the returned web site name, the operation is led to step 708. In step 708, to negotiate a Level Limit to share information with the web site, BrowserID Client applet 406 presents an HTML form, including the information items specified by sever software 414, to the user. Following step 708, in step 709, BrowserID Client Applet 406 creates an entry in BrowserID database 408 for the returned web site name, and the user selects a Level Limit, in reference to the HTML form. The user may choose to the Level Limit that complies with the information items specified by the web site, or choose to grant a lower Level Limit. The operation is then led to step 710. In step 710, BrowserID Client applet 406 determines whether any of the information items specified by the web site exceed the Level Limit previously granted to the web site, by using the information stored in BrowserID database 408 and BrowserID website database 410. In step 710, if the Level Limit previously granted is not exceeded, the operation is led to step 712. If the Level Limit is exceeded, the operation is led to step 711, in which BrowserID Client applet 406 presents an HTML form to the user, asking the user to permit the increase in the Level Limit to the web site and asking if the user wants this to be a permanent update. After the user responds (either increases the Level Limit, or keeps the Level Limit previously granted unchanged), the operation is then led to step 712. In step 712, BrowserID Client applet 406 responds to the server software with the information fields from BrowserID database 408, according to the Level Limit granted to the web site. In step 722, server software 414 processes the requests from browser software 404, to proceed with web site activity. Preferably, in the embodiment shown in figures 2 and 4, the software function blocks for a user terminal are stored in memory device 204 or hard disk 206 and executed by processing unit 202. In the embodiment shown in figure 3, server software is stored in memory 304 and executed by processing unit 302. It should be appreciated that the present invention provides a mechanism for users to control their own identification information. As such, the present invention requires that the BrowserID Client Applet which collects and delivers user information for web sites must be permanently associated with the client's browser; an applet that is downloaded from a website server cannot be trusted to cooperate with the user's desire to control access to personal information. The present invention has the advantages in that: (a) a user can control ID information disclosure at different level; (b) it is convenient for a user to provide the ID information; (c) it creates a mechanism to provide a standardized mechanism and format to provide ID information; and (d) web servers get complete and accurate ID information (if disclosed).

Claims: A method for providing information to a web sites from a user terminal characterized by the steps of: at the user terminal, maintaining a database containing access level limits assigned by the user associated with one or more web sites; receiving a request for information from a web site; determining whether an entry exists for that web site in the database and retrieving an access level limit for the web site if an entry is found; determining whether any of the information requested by the web site exceeds the level limit previously assigned by the user to that web site; retrieving information records based on the access limit associated with the web site if the access level limit is not exceeded; and transmitting the requested information. A method according to claim 1, further characterized by the steps of: presenting a form to the user including the information requested by the web site where an entry for that web site does not exist in the database; creating an entry for that web site in the database; and assigning an access level limit to that web site. A method according to claim 1 further characterized by the steps of: advising a user that an increase in the access level limit assigned to a web site is required where it has been determined that the information being requested by a web site exceeds the access level limit assigned to a web site. An apparatus for providing information to a web site from a user terminal characterized by at the user terminal (102. 1 , 102. 2 , ..., 102. m ) storage means (204, 206, 408, 410) for storing access level limits assigned by the user associated with one or more web sites (112. 1 , 112. 2 , ...., 112. m ) means for receiving a request for information from a web site; means (202, 406)for determining whether an entry exists for that web site in the database and for retrieving an access level limit for the web site if an entry is found; means (202, 406) for determining whether any of the information requested by the web site exceeds the level limit previously assigned by the user to that web site; means (202, 406) for retrieving information records based on the access limit associated with the web site if the access level limit is not exceeded; and transmission means (202, 406) for transmitting the requested information.

Inventors: FRIEDMAN LEE G, ROWLAND BRUCE R, FRIEDMAN, LEE G., ROWLAND, BRUCE R.
Applicants: NCR INT INC, NCR INTERNATIONAL INC.
Application year: 1997
Main classification: H04L29
IPC codes: G06F1, H04M3, H04L29, G06F21, G06F13