WO2000072199A2 - Autonomous browsing agent - Google Patents

Autonomous browsing agent Download PDF

Info

Publication number
WO2000072199A2
WO2000072199A2 PCT/US2000/013906 US0013906W WO0072199A2 WO 2000072199 A2 WO2000072199 A2 WO 2000072199A2 US 0013906 W US0013906 W US 0013906W WO 0072199 A2 WO0072199 A2 WO 0072199A2
Authority
WO
WIPO (PCT)
Prior art keywords
computer network
browsing agent
click stream
page
user
Prior art date
Application number
PCT/US2000/013906
Other languages
French (fr)
Other versions
WO2000072199A3 (en
Inventor
Roland Calvin Kippenhan
Theodore Charles Goldstein
Matthew Finbarr Cassidy
Andrew Jay Sells
William Bradford Chase
Original Assignee
The Brodia Group
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Brodia Group filed Critical The Brodia Group
Priority to AU50343/00A priority Critical patent/AU5034300A/en
Priority to JP2000620520A priority patent/JP2003531411A/en
Publication of WO2000072199A2 publication Critical patent/WO2000072199A2/en
Publication of WO2000072199A3 publication Critical patent/WO2000072199A3/en

Links

Classifications

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

Definitions

  • the World Wide Web is a system of Internet servers using specified Internet protocols and supporting specially formatted documents.
  • the HyperText Transfer Protocol (“HTTP”) is the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
  • HTTP HyperText Transfer Protocol
  • HTML Hyper-Text Markup Language
  • HTML supports links to other documents, as well as graphics, audio, and video files.
  • These methods generally comprise (a) receiving click stream data from a browsing agent resident on said client computer; (b) determining whether control data exists for said click stream data; (c) transmitting said control data to said browsing agent, if such control data exist.
  • An alternative method comprises (a) receiving click stream data and a browsing agent configuration from a browsing agent resident on said client computer; (b) determining whether control data exist for said click stream data; (c) transmitting said control data to said browsing agent, if such control data exist and said control data is consistent with said browsing agent configuration.
  • the system generally comprises means for storing user information, means for sensing the computer network address of the currently viewed page, means for accessing a database to retrieve an interface profile or programming instructions corresponding to the currently viewed page, and means for operating on the interface of the currently viewed page according to the stored user information and the interface profile or instructions.
  • Figure 1 A is a schematic block diagram illustrating the operation of one preferred embodiment of the method and system of the present invention.
  • Figure 1 B is A schematic block diagram illustrating an alternative embodiment of the present invention.
  • Figure 4 is a flowchart diagram illustrating a third preferred method of the present invention.
  • Figure 1 A illustrates a preferred embodiment of the present invention.
  • the present invention generally involves at least one client computer 20, at least one merchant or web site 30, and browsing agent site 40, all of which are connected to the Internet 60.
  • Figure 1 B illustrates a variation of the information flow depicted in Figure 1 A.
  • the system illustrated in Figure 1 B shows the communication paths going through browsing agent server as a proxy server.
  • Those skilled in the art will know that either of the implementations illustrated in Figures 1 A and 1 B is possible and that the architectures represented therein offer different engineering trade-offs.
  • merchant or web site 30 is supported by web or Internet servers 32, which receive requests submitted by users and transmit files and other documents in return.
  • servers 32 are connected to the Internet 60.
  • browsing agent 24 when the user specifies a new page address, browse agent 24 obtains the address of the new page and compares this address to that stored in its variable memory location and determines that it is different. Browsing agent 24 stores the address of the newly specified page in its variable memory location, and sends it to browsing agent server 42, which compares it to all addresses stored in profile database 46. As discussed above, if browsing agent server 42 determines that the address of the new page matches an address stored in profile database 46, control data associated with the address of the page are obtained from profile database 46 and delivered via the Internet 60 to browsing agent 24. If no matching address is found, browsing agent 24 merely continues its repeating cycle until the user specifies a new page. (See Figure 2, step 104.)
  • the present invention has application to a web site corresponding to an on-line music store.
  • the user navigates through the on-line music store and selects various compact discs and audio tapes he wishes to purchase.
  • browsing agent 24 transmits corresponding addresses or other click stream data to browsing agent server 42, which looks for matches in profile database 46.
  • the on-line music store presents a web page having an interface including certain data fields. These data fields may include the user's name, address, telephone number, credit card number and expiration date.
  • browsing agent 24 carries out the command and returns to the background on the user's video display. Browsing agent 24 then resumes its cycle of repeatedly obtaining the address of the currently viewed page from browser 22, comparing it each time to the address it has stored in its variable memory, to determine when the user has navigated to a new page.
  • browsing agent 24 displays a configuration interface that allows the user to configure the agent.
  • the browsing agent includes the ability to automatically operate on page-based interfaces (see above) and the ability to perform searches of the Internet based on the users activity on browser 22 (discussed more fully below).
  • the configuration interface allows the user to turn-off one or both command options.
  • browsing agent 24 After browsing agent 24 has been configured, it drops into the background and subsequently monitors the user's activity (click stream) on browser 22. (See Figure 3, step 204.) As with the first preferred embodiment, such monitoring may comprise sending the URL and the content of the currently viewed page to browsing agent server 42 and receiving control data, if profile database 46 indicates that a form exists on that page. In the second preferred embodiment, however, browsing agent 24 monitors other aspects of the user's activity and transmits other click stream data to server 42.
  • browsing agent 24 transmits click stream data to browsing agent server 42 and receives control data in return (e.g., interface profiles or related information searching). However, unlike the third preferred embodiment, browsing agent 24 does not transmit the agent configuration. Rather, if control data is received (step 306), browsing agent evaluates whether the control data is consistent with the agent configuration (step 308). If the user has disabled the command option corresponding to such control data, browsing agent will not appear in the foreground to offer the user the command option. However, under the fourth preferred embodiment, the user can separately invoke browsing agent 24 (step 314). If browsing agent 24 is invoked, it similarly offers all available command options to the user.
  • control data e.g., interface profiles or related information searching

Abstract

Methods and systems for implementing and supporting an autonomous software agent that assists the user during a web browsing or navigation session on a computer network are disclosed. The computer network includes at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent. The method of the present invention comprises (a) monitoring, at the client computer, a click stream; (b) transmitting click stream data to the browsing agent server, the click stream data being derived from the click stream; (c) receiving control data corresponding to the click stream data; (d) offering a command option to the user, the command option based on the control data; and (e) performing the command option, if the user selects it.

Description

AUTONOMOUS BROWSING AGENT
FIELD OF THE INVENTION
The present invention relates to computer networks. More specifically, the present invention provides methods and systems for providing an autonomous software agent that assists a user during browsing sessions on a computer network.
BACKGROUND OF THE INVENTION The Internet is a globai network of millions of computers belonging to various commercial and non-profit entities such as corporations, universities, and research organizations. The computer networks of the Internet are connected by gateways that handle data transfer and conversion of messages from a sending network to the protocols used by a receiving network. The Internets collection of networks and gateways use the TCP/IP protocol. TCP/IP is an acronym for Transport Control Protocol/Interface Program, a software protocol developed by the Department of Defense.
The increasing use of wide area networks such as the Internet has resulted in an explosion in the provision of on-line services. Computer users can access a vast wealth of information and services by utilizing a wide area network to establish a connection with other computers connected to the network.
Typically, the computers connected to a wide area network such as the Internet are identified as either servers or clients. A server is a computer that stores files that are available to other computers connected to the network. A client is a computer connected to the network that accesses the files and other resources provided by a server. To obtain information from a server, a client computer makes a request for a file or information located on the server using a specified protocol. Upon receipt of a properly formatted request, the server downloads the file to the client computer.
The World Wide Web is a system of Internet servers using specified Internet protocols and supporting specially formatted documents. The HyperText Transfer Protocol ("HTTP") is the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. The other main standard of the World Wide Web is Hyper-Text Markup Language ("HTML"), which covers how documents and files are formatted and displayed. HTML supports links to other documents, as well as graphics, audio, and video files.
Users access the content contained on the Internet and the World Wide Web with an Internet Browser, which is a software application used to locate and display web pages. A Web page is a document on the World Wide Web. Every Web page or file on a web server is identified by a unique Uniform Resource Locator. A Uniform Resource Locator ("URL") is the global address of files and other resources on the Internet. The address indicates the protocol being used and specifies the IP address or the domain name where the file or resource is located. Typically, a URL identifies the name of the sea'er and the path to a desired file on the server. For example, a URL for a particular file on a web server may be constructed as follows: "http://<server>/<filepath>,'' where <server> identifies the server on which the file is located and <filepath> identifies the path to the file on the server. Thus, with the name of the server and the correct path to a file, a properly formatted URL accesses a desired file on a server connected to the World Wide Web.
The Internet has quickly become a means for not only obtaining information, but for conducting commercial transactions. As one can imagine, there are myriad documents and files corresponding to a vast array of information and services accessible on the Internet. Indeed, it is impossible for users to exhaust all the resources available on the Internet. Accordingly, as users of the Internet's World Wide Web encounter increasing amounts of Web-delivered information and services, they need a method and system that monitors the actions of the user while he or she is browsing a web site and offers the user assistance and/or more information relating to the currently viewed page. For example, every transaction conducted over the Internet requires the consumer to provide information necessary to complete the transaction. A typical web page presents an interface that the consumer fills out to access more information, for example, or order a product. For instance, a customer may access a particular merchant web site and order a product advertised on that web site. To complete the transaction, the merchant web server presents a web page with an interface requiring certain information from the user, such as name, delivery address, and payment information. Anyone who has encountered such interfaces recognizes that providing the required information is often a tedious process.
Accordingly, a need exists for a method and system that automates the operation of Web page-based interfaces, including, for example, input field data entry and page-based information gathering. Furthermore, since each Web page may include a different interface or otherwise be interacted with in a unique manner, such a method or system must be able to identify the web page to which the user is navigating with his or her browser, and be "aware" of what may be done there and how to accomplish it.
As discussed above, there are numerous resources accessible over the Internet. However, retrieving desired information on the Internet requires knowledge of an associated URL. Accordingly, if, for example, a consumer wishes to obtain information about or order a particular company's product on the World Wide Web, she must know the URL (data location) corresponding to that company's web site. As a user navigates through a particular web site, however, she may wish to receive more information about a particular subject. For example, a consumer may wish to find out the price at which other merchants are offering a particular book. In this instance, the user must manually browse other merchant sites. When a specific URL or data location is not known, search engines are a way of locating desired URLs pointing to desired information. Typically, a user enters key words or search terms into a search engine, which returns a list of URLs corresponding to web sites or USENET groups where the key words or search terms were found. The use of search engines, however, can be a time-consuming process. Often, a user would like assistance with either complex or routine tasks, such as coping with an overabundance of search results, finding specific goods or information, filtering information, filling in web forms, and navigating complex web sites. In general, a user would often like an intelligent agent that can assist the browser operator (user). In light of the above, a need exists for a method and system that monitors the user's actions while browsing and offers assistance and/or more information relating to the actions the user performs on a web site. The present invention substantially fulfills the above-identified needs.
SUMMARY OF THE INVENTION The present invention provides methods and systems for implementing and supporting an autonomous software agent that assists the user during a web browsing or navigation session on a computer network. The present invention contemplates that the computer network includes at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent. The method of the present invention comprises (a) monitoring, at said client computer, a click stream; (b) transmitting click stream data to said browsing agent server, said click stream data being derived from said click stream; (c) receiving control data corresponding to said click stream data; (d) offering a command option to said user, said command option based on said control data; and (e) performing said command option, if said user selects it.
As used herein, "control data" refers to any data or information transmitted by the browsing agent server to the autonomous browsing agent. As discussed more fully below, control data may include programming instructions, which the browsing agent uses to operate on a page-based interface. In another embodiment, control data also refers to the results of an Internet search transmitted to browsing agent. As used herein, "click stream" refers to the sequence of events the user encounters and the actions the user takes when browsing a computer network. A click stream consists of a series of web pages, network addresses, any data the user inputs into a form and/or any thing the user clicks on.
Preferred embodiments of the invention allow the user to configure the browsing agent to act or appear to the user only under certain specified condition. Under this embodiment, the method comprises (a) receiving a browsing agent configuration from a user; (b) monitoring, at said client computer, a click stream; (c) sending click stream data and said agent configuration to said browsing agent server, said click stream data being derived from said click stream; (d) receiving control data corresponding to said click stream data and said agent configuration; and (e) offering a command option to said user, said command option based on said control data. In addition, the present invention also provides methods and systems for supporting the browsing agent resident on the user's computer. These methods generally comprise (a) receiving click stream data from a browsing agent resident on said client computer; (b) determining whether control data exists for said click stream data; (c) transmitting said control data to said browsing agent, if such control data exist. An alternative method comprises (a) receiving click stream data and a browsing agent configuration from a browsing agent resident on said client computer; (b) determining whether control data exist for said click stream data; (c) transmitting said control data to said browsing agent, if such control data exist and said control data is consistent with said browsing agent configuration.
Furthermore, one embodiment of the present invention provides a method and system for automating the operation of page-based interfaces on a computer network. As the user navigates to various Web pages with his or her browser, the present invention automatically (i.e., with no user-issued command) senses to which page the user has navigated. The present invention then accesses a database that applies a set of rules that match patterns from which the user's intentions may be inferred. The browsing agent server will then respond with a set of possible actions (command options) that the user may select to assist in managing the page. The method of the present invention generally comprises storing user information, such as name, address, and preferred payment information. The method further includes sensing the computer network address of the currently viewed page, accessing a database that includes computer network addresses and interface profiles or instructions corresponding to the stored computer network addresses, and receiving from the database the interface profile corresponding to the currently viewed page (if one exists). Lastly, the method of the present invention comprises operating on the interface of the particular page according to the previously stored user information and the interface profile or instructions. The present invention also provides a system for automating the operation of page-based interfaces on a computer network. The system generally comprises means for storing user information, means for sensing the computer network address of the currently viewed page, means for accessing a database to retrieve an interface profile or programming instructions corresponding to the currently viewed page, and means for operating on the interface of the currently viewed page according to the stored user information and the interface profile or instructions.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 A is a schematic block diagram illustrating the operation of one preferred embodiment of the method and system of the present invention. Figure 1 B is A schematic block diagram illustrating an alternative embodiment of the present invention.
Figure 2 is a flowchart diagram illustrating a first preferred method of the present invention.
Figure 3 is a flowchart diagram illustrating a second preferred method of the present invention.
Figure 4 is a flowchart diagram illustrating a third preferred method of the present invention. DETAILED DESCRIPTION OF THE INVENTION Figure 1 A illustrates a preferred embodiment of the present invention. The present invention generally involves at least one client computer 20, at least one merchant or web site 30, and browsing agent site 40, all of which are connected to the Internet 60. Of course, one skilled in the art will recognize that the present invention can be applied across to any computer network. In addition, Figure 1 B illustrates a variation of the information flow depicted in Figure 1 A. The system illustrated in Figure 1 B shows the communication paths going through browsing agent server as a proxy server. Those skilled in the art will know that either of the implementations illustrated in Figures 1 A and 1 B is possible and that the architectures represented therein offer different engineering trade-offs.
As is conventional, merchant or web site 30 is supported by web or Internet servers 32, which receive requests submitted by users and transmit files and other documents in return. As Figure 1A shows, in one preferred embodiment, servers 32 are connected to the Internet 60.
As Figure 1 A shows, one embodiment of the present invention works in conjunction with a conventional computer having an Internet browser 22 and a connection to the Internet. The users computer 20 can be any conventional personal computer known in the art. In preferred form, user computer 20 includes at least one processor, a data storage system (including volatile and non-volatile media), a keyboard, a display, at least one input device and at least one output device. In one preferred embodiment, the user's computer is connected to the Internet via a modem dial-up connection or through a network line. Such communication could also be wireless. According to the invention, client computer 20 also includes browsing agent
24. Browsing agent 24 may be implemented in hardware, software or a combination of both. In preferred form, browsing agent 24 is a software application executing on client computer 20 in a conventional manner. As is more fully described below, browsing agent 24 works in connection with browser 22. More specifically, browsing agent 24 monitors the users activity on browser 22 and sends data relating to such activity (click stream data) to browsing agent site 40.
Similarly to web site 30, browsing agent site 40 is supported by servers 42 connected to the Internet 60. Browsing agent servers 42 receive click stream data from browsing agent 24 and transmit control data in response. In one preferred embodiment, browsing agent site 40 includes search engine server 44, web site profile database 46, and master user database 48. Web site profile database 46 and master user database 48 can be any database known in the art. In preferred form, each database is implemented in hardware including a collection of computer programs enabling the storage, modification, and extraction of information on the database. Database hardware may range from personal computers (for small systems) to mainframes (for large systems). In addition, browsing agent servers 42 may be implemented in hardware or software, or preferably a combination of both. In preferred form, the server is implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system (including volatile and non-volatile media), at least one input device, and at least one output device. As is more fully described below, browsing agent servers 42 receive data from browsing agent 24, perform certain pre-defined actions based on the transmitted data, and transmit responses back to browsing agent 24. As one skilled in the art will recognize, however, the databases described above may reside on browsing agent server 42 or may be physically separate, but operably connected thereto.
Operation In operation, the user launches Internet browser 22 on client computer 20 to begin a session. According to the invention, browsing agent 24 is also launched and operates within a separate, smaller Web page window maintained by Internet browser 22. In preferred form, the smaller window remains in the background, obscured by the window containing the page currently viewed in the main display of Internet browser 22. In one preferred embodiment, the user's session begins by logging into an account with browsing agent site 40. In this embodiment, browsing agent 24 appears in the foreground during login. More specifically, a user using client computer 20 accesses an account stored on master user database 48 operably connected to servers 42 of browsing agent site 40. According to one embodiment, the user's account includes a user name, and a password or an encrypted representation thereof.
Servers 42 authenticate users in a conventional manner. In one embodiment, server 42 prompts the user for a user name and a password to authenticate the user. Numerous authentication protocols are known in the art. The actual authentication protocol used is not critical to the invention. In one preferred embodiment, the records corresponding to each account contain the user name and a salted one-way hash of the user's password. Therefore, each user is authenticated by hashing the inputted password with the "salt" and comparing the result to the hash value stored in the user's record. If there is a match, the user is deemed to be authentic. According to one embodiment of the present invention, the user has provided browsing agent site 40 with certain standard information normally required for completing transactions. Such user information may include, but is not limited to, name, address, delivery address, and payment information, such as credit card, type, number and expiration date. As discussed more fully below, this information can be stored locally by browsing agent 24 or remotely in an account on browsing agent server 42 or master user database 48. Furthermore, other user information may be stored. For example, such information can include personal preferences, medical history, financial information, demographic information, transaction history, scholastic information, business information, as well as any other information that the present invention could use to assist the user in interacting with the Internet or other computer network.
Upon proper authentication of the user, browsing agent 24 drops into the background, allowing the main browser window to be displayed. The user then accesses web site 30 and requests a page or document, as is conventional. (See Figure 1 A, Ref. # 1 .) In response, web site 30 transmits the requested page. (See Figure 1 A, Ref. # 2.) According to the invention, browsing agent 24, operating in the background, monitors the users activity on browser 22 and transmits click stream data relating to such activity to browsing agent server 42. (See Figure 1 A, Ref. # 3.) In one preferred embodiment, browsing agent 24 obtains the address of the
Web page currently viewed in Internet browser 22 and stores this address in a variable memory location within browsing agent 24. (See Figure 1 A, Ref. # 3 and Figure 2, step 102.) Browsing agent 24 transmits the address of the currently viewed Web page to browsing agent server 42, which compares it to the addresses or sub-strings of addresses stored in web site profile database 46. If the address of the currently viewed Web page matches an address or sub-string stored in profile database 46, programming instructions or control data associated with the matching address are obtained from profile database 46 and delivered via the Internet 60 to browsing agent 24. (See Figure 2, steps 102 and 104.) In another embodiment, the browsing agent has inserted monitoring hooks into browser 22 using a variety of techniques exposed by the browser's application programming interface. The specific mechanisms used are not critical to the invention.
In one preferred form, browsing agent 24, in a cycle repeated many times per second, obtains the address of the currently viewed Web page from Internet browser 22 by comparing it each time to the address it has stored in its variable memory location. In this way, browsing agent 24 determines when the user has navigated to a new Web page destination. As is conventional in the art, the user navigates to a Web page other than that currently viewed in Internet browser 22 by manually entering it into the appropriate field or by clicking on links contained in the currently viewed page. Browser 22 connects to web server 32 and requests a file corresponding to the address or URL specified by the user.
According to one embodiment of the invention, when the user specifies a new page address, browsing agent 24 obtains the address of the new page and compares this address to that stored in its variable memory location and determines that it is different. Browsing agent 24 stores the address of the newly specified page in its variable memory location, and sends it to browsing agent server 42, which compares it to all addresses stored in profile database 46. As discussed above, if browsing agent server 42 determines that the address of the new page matches an address stored in profile database 46, control data associated with the address of the page are obtained from profile database 46 and delivered via the Internet 60 to browsing agent 24. If no matching address is found, browsing agent 24 merely continues its repeating cycle until the user specifies a new page. (See Figure 2, step 104.)
In one embodiment, the control data associated with the Destination Web Page provide browsing agent 24 with the data to be inserted into the data fields contained within an interface of the currently viewed page. Browsing agent 24, now equipped with programming instructions relevant to the currently viewed page, comes into the foreground on the user's video display. (See Figure 2, step 106.) Interface controls relevant to the programming instructions are made visible to the user by browsing agent 24. Using the Interface Controls, the user may command browsing agent 24 to insert the data into the data fields appearing in the interface of the currently viewed page. (See Figure 2, steps 108 and 1 10.) Once the command option is performed, browsing agent 24 then transfers to the background and resumes its monitoring of the click stream on browser 22. For example, and in one preferred embodiment, the present invention has application to a web site corresponding to an on-line music store. As is conventional, the user navigates through the on-line music store and selects various compact discs and audio tapes he wishes to purchase. As discussed above, as the user navigates among the various web pages provided by the on-line music store web server, browsing agent 24 transmits corresponding addresses or other click stream data to browsing agent server 42, which looks for matches in profile database 46. When the user indicates that he is ready to purchase his selections, the on-line music store presents a web page having an interface including certain data fields. These data fields may include the user's name, address, telephone number, credit card number and expiration date. According to the invention, the address corresponding to this web page is communicated to browsing agent server 42 which finds a corresponding entry in profile database 46. Browsing agent server 42 then accesses master user database 48 and formats the data corresponding to the users account according to the web page profile stored in profile database 46. Browsing agent server 42 then transmits to browsing agent 24 the user's data formatted according to the programming instructions or interface profile associated with that particular web page. Browsing agent 24 appears in the foreground and provides an interface control presenting a command option which the user may select to direct browsing agent 24 to insert the data into the data fields of the interface as appropriate. (See Figure 2, steps 108 and 1 10.) Thus, rather than having to manually enter the information into the data fields, the user simply clicks on a button in the interface control provided by browsing agent 24 to enter the information necessary to complete the transaction. In preferred form, browsing agent 24 carries out the command and returns to the background on the user's video display. Browsing agent 24 then resumes its cycle of repeatedly obtaining the address of the currently viewed page from browser 22, comparing it each time to the address it has stored in its variable memory, to determine when the user has navigated to a new page.
In other preferred embodiments, browsing agent 24 itself stores the data particular to a user. In preferred form, such data is stored in encrypted form. In this embodiment, when the user logs in to his account, browsing agent site 40 transmits a cryptographic key to browsing agent 24 to decrypt the user's data as necessary or uses a secure communications protocol, such as SSL. In this preferred embodiment, the interface profile associated with the currently viewed page provides browsing agent 24 with programming instructions as to the order and format of the data fields in that page. According to this embodiment, browsing agent 24 inserts the locally stored user data into the data fields according to the interface profile or programming instructions provided by browsing agent server 42 from profile database 46. One aspect of the present invention involves creating rules for modeling the user's intentions and generating profiles that model web sites. A web-site of a particular on-line store, for example, often includes more than one interface or form. Accordingly, one embodiment of the present invention groups the interface profiles according to the domain name of the particular web site. For example, a group of interface profiles corresponding to an on-line store web site having four interfaces may be named on-linestore.com.profile1 , on-linestore.com.profile2, etc. These interface profiles are stored in web site profile database 46 in association with the corresponding computer network address or URL. In preferred embodiments, the interface profiles are associated with a particular sub-string of the computer network address or URL that contains the particular interface, since often the current URL or address includes session-specific information.
As discussed above, in one preferred embodiment of the present invention, the databases used in the present invention are arranged into a series of records. The records store information of two kinds: merchant or web site records including the interface profiles corresponding to the merchant or web site and user records. The merchant or web site records model the merchants web site. The purpose of the merchant model is to map the data from the user's data from standard canonical form (schema) into the specific form required by the merchant. Those skilled in the art know that the precise form of the merchant model can take a variety of forms. In the preferred embodiment, the merchant model is constructed as a stored program written in a scripting language such as JavaScript. But it can take also the form of a simple table of name-value mappings. Those skilled in the art will recognize the performance advantages of representing the mapping process directly as a program. Other preferred embodiments of the present invention are illustrated in Figures
3 and 4. As Figure 3 illustrates, a second preferred embodiment allows the user to configure browsing agent 24 before a session begins. (See Figure 3, step 202.) The second preferred embodiment also features the ability to perform searches in the background for information related to the currently viewed page, concurrently with the user's browsing session.
As with the first preferred embodiment, a user using client computer 20 launches browser 22 and browsing agent 24. In preferred form, the user logs in to an account as described above. As discussed above, the second preferred embodiment allows the user to configure the agent such that it operates or appears in the foreground to assist the user only under certain specified conditions. Accordingly, browsing agent 24 displays a configuration interface that allows the user to configure the agent. For example, and in one preferred embodiment, the browsing agent includes the ability to automatically operate on page-based interfaces (see above) and the ability to perform searches of the Internet based on the users activity on browser 22 (discussed more fully below). According to this embodiment, the configuration interface allows the user to turn-off one or both command options.
After browsing agent 24 has been configured, it drops into the background and subsequently monitors the user's activity (click stream) on browser 22. (See Figure 3, step 204.) As with the first preferred embodiment, such monitoring may comprise sending the URL and the content of the currently viewed page to browsing agent server 42 and receiving control data, if profile database 46 indicates that a form exists on that page. In the second preferred embodiment, however, browsing agent 24 monitors other aspects of the user's activity and transmits other click stream data to server 42.
For example, the second embodiment of the present invention has application to the on-line music store paradigm, discussed above. As is conventional, the user navigates through the on-line music store and selects various compact discs and audio tapes he wishes to purchase. As discussed above, as the user navigates among the various web pages provided by the on-line music store web server, browsing agent 24 transmits corresponding addresses to browsing agent server 42, which looks for matches in profile database 46. When the user indicates that he is ready to purchase his selections, the on-line music store presents a web page having an interface including certain data fields. These data fields may include the user's name, address, telephone number, credit card number and expiration date. According to the invention, the address corresponding to this web page is communicated to browsing agent server 42 which finds a corresponding entry in profile database 46. Browsing agent server 42 then accesses master user database 48 and formats the data corresponding to the user's account as discussed above in the description of the first preferred embodiment. In addition, browsing agent 24 also scans the currently viewed page for the fields describing the compact discs or other products the user intends to purchase. It then transmits this product information (click stream data) to browsing agent server 42. In preferred form, browsing agent transmits the Uniform Product Code ("UPC") number corresponding to each product to browsing agent server 42.
With this click stream data, browsing agent server 42 accesses search engine server 44 (See Figure 1 A.) Using the UPC number, product name or any other relevant information, search engine server 44 searches other web sites connected to the Internet 60 that may contain information about the product(s) the user intends to purchase. In one preferred embodiment, for example, browsing agent 24 allows the user to configure the agent to help the user to engage in comparison shopping or to obtain information related to the product, such as consumer report or manufacture's information. If search engine server finds information that is consistent with the agent configuration, it transmits it to browsing agent 24. Otherwise, browsing agent 24 monitors subsequent user activity. (See Figure 3, steps 204 and 206.)
If related information is received from browsing agent server 42, the command option to display such information is offered to the user. (See Figure 3, step 208.) If the user selects the command option, the results of the search are displayed. As discussed above, browsing agent 24 appears in the foreground and displays, for example, a list of other web sites and the offering price for the searched product. In addition, browsing agent 24 may offer consumer report information, if such information is available and found. As one skilled in the art can imagine, search engine server 44 can perform such searches in a variety of ways. For purposes of the present invention and the scope of the claims submitted herewith, neither the configuration of the search engine server nor the manner in which it operates is critical to the present invention. As above, browsing agent resumes its monitoring of the click stream after the user selects the command option.
In addition, as Figure 3 illustrates, the browsing agent of the second preferred embodiment transmits the agent configuration along with click stream data. (See Figure 3, step 204.) According to this embodiment, browsing agent server 42 only transmits back control data or information that is consistent with the particular agent configuration. For example, if, during agent configuration, the user disables automatic page-based interface operation and enables a comparison shopping mode, browsing agent nevertheless transmits the URL of the currently viewed page. However, browsing agent server 42, having received the agent configuration, does not transmit an interface profile or other control data related to page-based interfaces. Figure 4, on the other hand, illustrates a third preferred method corresponding to the invention. In step 304 of the third preferred method of the present invention, browsing agent 24 transmits click stream data to browsing agent server 42 and receives control data in return (e.g., interface profiles or related information searching). However, unlike the third preferred embodiment, browsing agent 24 does not transmit the agent configuration. Rather, if control data is received (step 306), browsing agent evaluates whether the control data is consistent with the agent configuration (step 308). If the user has disabled the command option corresponding to such control data, browsing agent will not appear in the foreground to offer the user the command option. However, under the fourth preferred embodiment, the user can separately invoke browsing agent 24 (step 314). If browsing agent 24 is invoked, it similarly offers all available command options to the user.
SUMMARY With respect to the above- provided description, one skilled in the art will readily recognize that the present invention has application in a variety of contexts. The foregoing description illustrates the principles of the present invention and provides examples of its implementation. For example, although the preferred embodiment is described as working in conjunction with an Internet browser, the present invention may be used in connection with any suitable software application for accessing files throughout a computer network. Accordingly, the description is not intended to limit the scope of the claims to the exact embodiments shown and described.

Claims

CLAIMS What is claimed is:
1. A method for enhancing access to information on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of (a) monitoring, at said client computer, a click stream;
(b) transmitting click stream data to said browsing agent server, said click stream data being derived from said click stream;
(c) receiving control data corresponding to said click stream data;
(d) offering a command option to said user, said command option based on said control data; and
(e) performing said command option, if said user selects it.
2. The method of claim 1 further comprising the step of
(f) repeating steps (a)-(e) a desired number of times.
3. A method for enhancing access to information on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of
(a) receiving a browsing agent configuration from a user;
(b) monitoring, at said client computer, a click stream; (c) sending click stream data and said agent configuration to said browsing agent server, said click stream data being derived from said click stream;
(d) receiving control data corresponding to said click stream data and said agent configuration; and
(e) offering a command option to said user, said command option based on said control data.
4. The method of claim 3 further comprising the step of
(f) performing said command option, if said user selects it.
5. The method of claims 3 further comprising the step of (f) repeating steps (a)-(e) a desired number of times.
6. The method of claim 4 further comprising the step of (g) repeating steps (a)-(f) a desired number of times.
7. A method for enhancing access to information on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of
(a) receiving a browsing agent configuration from a user;
(b) monitoring, at said client computer, a click stream; (c) sending click stream data to said browsing agent server, said click stream data derived from said click stream;
(d) receiving control data corresponding to said click stream data;
(e) offering a command option based on said control data to said user, if said command option is consistent with said agent configuration.
8. The method of claim 7 further comprising the step of
(f) performing said command option, if said user selects it.
9. The method of claims 7 further comprising the step of (f) repeating steps (a)-(e) a desired number of times.
10. The method of claim 8 further comprising the step of
(g) repeating steps (a)-(f) a desired number of times.
11 . The method according to claim 1 wherein said transmitting step (b) comprises the steps of
(b1 ) isolating search terms from the currently viewed page sent from said server to derive said click stream data; and
(b2) transmitting said click stream data to said browsing agent server.
12. The method of claim 1 1 wherein said control data are the results of a search on said computer network using said click stream data as search terms.
13. The method of claim 12 wherein said performing step (e) comprises the steps of (e1 ) transmitting a search request to said browsing agent server, said request including said click stream data;
(e2) receiving control data corresponding to said request; (e3) displaying said control data to said user.
14. A method for enhancing access to information on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of
(a) receiving click stream data from a browsing agent resident on said client computer; (b) determining whether control data exists for said click stream data;
(c) transmitting said control data to said browsing agent, if such control data exist.
15. A method for enhancing access to information on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of (a) receiving click stream data and a browsing agent configuration from a browsing agent resident on said client computer;
(b) determining whether control data exist for said click stream data;
(c) transmitting said control data to said browsing agent, if such control data exist and said control data is consistent with said browsing agent configuration.
16. An apparatus for automating the operation of page-based interfaces on a computer network comprising a database having a list of click streams, said database storing interface profiles for corresponding ones of said click streams; a processor coupled to said database, said processor also being coupled to receive a click stream, said processor accessing said database according to said click stream to retrieve the interface profile corresponding to said click stream, said processor further being coupled to transmit said interface profile.
17. A method for automating the operation of page-based interfaces on a computer network, said method comprising the steps of
(a) identifying a computer network address corresponding to a page, said page including an interface; (b) analyzing said interface to develop an interface profile;
(c) associating said interface profile with said computer network address or a sub-string of said computer network address.
18. A method for automating the operation of page-based interfaces on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of (a) identifying a computer network address corresponding to a page on said server, said page including an interface or form;
(b) analyzing said interface to develop an interface profile; and
(c) storing, in a database, said interface profile in association with a sub-string of said computer network address.
19. The method of claim 18 further comprising the steps of
(d) repeating steps (a) - (c) a desired number of times.
20. The method of claim 19 further comprising the steps of (e) storing user information corresponding to a user;
(f) receiving a computer network address from a browsing agent resident on said client computer;
(g) searching said database for sub-strings stored in step (c) that are included in said computer network address received in step (f); (h) transmitting to said client computer said user information formatted according to the interface profile associated with the sub-string that matches said computer network address.
21. The method of claim 19 further comprising the steps of
(e) receiving a computer network address from a browsing agent resident on said client computer;
(f) searching said database for sub-strings stored in step (c) that are included in said computer network address received in step (e); (g) transmitting to said client computer said interface profile associated with the sub-string that matches said computer network address.
22. A method for automating the operation of page-based interfaces on a computer network, said computer network carrying and routing data between computers connected thereto, said computers including at least one client computer associated with one or more users, at least one server associated with a provider of goods, services or information, and at least one browsing agent server associated with an autonomous browsing agent, said method comprising the steps of
(a) sensing the computer network address of the currently viewed page, said page including an interface;
(b) transmitting said computer network address to a database, said database including computer network addresses or sub-strings thereof and interface profiles for corresponding ones of said computer network addresses, said database further storing user information corresponding to said users; (c) receiving from said database said user information formatted according to the interface profile associated with the computer network address or sub-string that matches said transmitted computer network address.
23. The method of claim 22 wherein said sensing step (a) further comprises sensing the computer network address and the content of the currently viewed page.
24. The method of claim 23 wherein said database includes interface profiles corresponding to computer network addresses and the content of the corresponding page.
25. A method for automating the operation of page-based interfaces on a computer network, said method comprising the steps of (a) storing user information;
(b) sensing the computer network address of the currently viewed page, said page including an interface;
(c) accessing a database, said database including click streams or sub-strings thereof and interface profiles for corresponding ones of said click streams; (d) receiving from said database the interface profile corresponding to said transmitted computer network address;
(e) operating on said interface of said page according to said user information and said interface profile.
26. The method of claim 25 wherein said sensing step (a) further comprises sensing the computer network address and the content of the currently viewed page.
27. An apparatus for automating the operation of page-based interfaces on a computer network comprising means for storing user information; means for sensing the computer network address of the currently viewed page; means for accessing a database to retrieve an interface profile corresponding to said computer network address; means for operating on said interface of said page according to said user information and said interface profile.
28. The apparatus of claim 27 wherein said means for sensing further includes means for sensing the content of the currently viewed page.
PCT/US2000/013906 1999-05-21 2000-05-18 Autonomous browsing agent WO2000072199A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU50343/00A AU5034300A (en) 1999-05-21 2000-05-18 Autonomous browsing agent
JP2000620520A JP2003531411A (en) 1999-05-21 2000-05-18 Autonomous Browse Agent

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13529199P 1999-05-21 1999-05-21
US60/135,291 1999-05-21
US33891299A 1999-06-23 1999-06-23
US09/338,912 1999-06-23

Publications (2)

Publication Number Publication Date
WO2000072199A2 true WO2000072199A2 (en) 2000-11-30
WO2000072199A3 WO2000072199A3 (en) 2003-12-04

Family

ID=26833173

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/013906 WO2000072199A2 (en) 1999-05-21 2000-05-18 Autonomous browsing agent

Country Status (3)

Country Link
JP (1) JP2003531411A (en)
AU (1) AU5034300A (en)
WO (1) WO2000072199A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524619A (en) * 2001-02-22 2004-08-12 アメンガル ジュアン A system that uses a telephone number to access web pages and send emails
WO2005069161A1 (en) 2004-01-19 2005-07-28 Nigel Hamilton Method and system for recording search trails across one or more search engines in a communications network
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998032289A2 (en) * 1997-01-17 1998-07-23 The Board Of Regents Of The University Of Washington Method and apparatus for accessing on-line stores
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
GB2330434A (en) * 1997-09-15 1999-04-21 Ibm System for on-line transaction processsing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
WO1998032289A2 (en) * 1997-01-17 1998-07-23 The Board Of Regents Of The University Of Washington Method and apparatus for accessing on-line stores
GB2330434A (en) * 1997-09-15 1999-04-21 Ibm System for on-line transaction processsing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BARRETT R ET AL: "HOW TO PERSONALIZE THE WEB" CHI 97. HUMAN FACTORS IN COMPUTING SYSTEMS. ATLANTA, MAR. 22 - 27, 1997, CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, NEW YORK, ACM, US, March 1997 (1997-03), pages 75-82, XP002943159 ISBN: 0-89791-802-9 *
JACZYNSKI M ET AL: "WWW Assisted Browsing by Reusing Past Navigations of a Group of Users" ADVANCES IN CASE-BASED REASONING, SPRINGER VERLAG, DE, September 1998 (1998-09), pages 160-171, XP002140921 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524619A (en) * 2001-02-22 2004-08-12 アメンガル ジュアン A system that uses a telephone number to access web pages and send emails
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
WO2005069161A1 (en) 2004-01-19 2005-07-28 Nigel Hamilton Method and system for recording search trails across one or more search engines in a communications network
EP1716508A1 (en) * 2004-01-19 2006-11-02 Nigel Hamilton Method and system for recording search trails across one or more search engines in a communications network
EP1716508A4 (en) * 2004-01-19 2008-01-23 Nigel Hamilton Method and system for recording search trails across one or more search engines in a communications network
US8572100B2 (en) 2004-01-19 2013-10-29 Nigel Hamilton Method and system for recording search trails across one or more search engines in a communications network

Also Published As

Publication number Publication date
WO2000072199A3 (en) 2003-12-04
AU5034300A (en) 2000-12-12
JP2003531411A (en) 2003-10-21

Similar Documents

Publication Publication Date Title
US20020010769A1 (en) Autonomous browsing agent
US10409806B2 (en) Transaction management system
US5774670A (en) Persistent client state in a hypertext transfer protocol based client-server system
US7149754B2 (en) Method for transmitting a transferable information packet
US7200804B1 (en) Method and apparatus for providing automation to an internet navigation application
US7930411B1 (en) Network-based verification and fraud-prevention system
US20020156685A1 (en) System and method for automating electronic commerce transactions using a virtual shopping cart
US20120117569A1 (en) Task automation for unformatted tasks determined by user interface presentation formats
US20020049882A1 (en) System and method for automatic retrieval of structured online documents
US20020174196A1 (en) Methods and systems for creating a multilingual web application
US7328172B2 (en) Provision of electronic commerce services
JP2003514271A (en) Method and apparatus for providing a calculated, solution-oriented, personalized summary report to a user via a single user interface
JP2004133886A (en) Use of extensible markup language in system and method for influencing position on search result list generated by computer network search engine
US20030051031A1 (en) Method and apparatus for collecting page load abandons in click stream data
JP2005522784A (en) Content aggregation method and apparatus for online purchase system
US20040117349A1 (en) Intermediary server for facilitating retrieval of mid-point, state-associated web pages
WO2000072199A2 (en) Autonomous browsing agent
US20020133450A1 (en) Hypertext transfer protocol application programming interface between client-side trading systems and server-side stock trading systems
WO2001045005A1 (en) Method and apparatus for providing intelligent recommendations to users regarding online activities based on knowledge of data from a user&#39;s multiple web-services
KR20000053959A (en) The general shopping cart system and a reservation method for the on-line purchasing
US20060149697A1 (en) Context data transmission
WO2001025873A9 (en) Method and apparatus for completing a form

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

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

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

Ref country code: JP

Ref document number: 2000 620520

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000932648

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2000932648

Country of ref document: EP

122 Ep: pct application non-entry in european phase