EP1188134A2 - Personalized access to web sites - Google Patents

Personalized access to web sites

Info

Publication number
EP1188134A2
EP1188134A2 EP00915778A EP00915778A EP1188134A2 EP 1188134 A2 EP1188134 A2 EP 1188134A2 EP 00915778 A EP00915778 A EP 00915778A EP 00915778 A EP00915778 A EP 00915778A EP 1188134 A2 EP1188134 A2 EP 1188134A2
Authority
EP
European Patent Office
Prior art keywords
web
information
access
user
server
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.)
Withdrawn
Application number
EP00915778A
Other languages
German (de)
French (fr)
Inventor
Jean-Noel Lebrun
Francois Kruta
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.)
Ezlogin com Inc
Original Assignee
Ezlogin com 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
Application filed by Ezlogin com Inc filed Critical Ezlogin com Inc
Publication of EP1188134A2 publication Critical patent/EP1188134A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • 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/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/15Synchronised browsing

Definitions

  • This invention relates to web access; to summarization and aggregation of personalized information, such as used in conjunction with an internetworking environment; and to structured data input and automatic form processing, such as used with the world wide web (including wireless uses).
  • web sites provide information or services only to a set of users (operators of web clients) to which access is restricted, or provide information that is personalized to registered users.
  • users may be required to register, to identify themselves at connection to the web site, and to authenticate themselves to the satisfaction of the web site, before the web site grants that user access to certain information or services.
  • users may be required to identify and authenticate themselves before the web site provides information personalized to that user, such as information likely to be of particular interest to that user.
  • some web sites allow unrestricted access to a first set of public information, and only restricted access to a second set of restricted information.
  • a first problem in the known art is management of information relating to those web sites, including access parameters and authentication information (such as passwords).
  • authentication information such as passwords
  • the user might be required to maintain (either offline or online) information regarding each such web site, including authentication information (such as a user name and password, a digital certificate, or a hardware address) that may differ for different web sites.
  • Some attempts have been made in the known art to address this problem, such as software that maintains records of authentication information for different web sites, or by maintaining the information in "cookies" (data objects) recorded at the web client.
  • a user can maintain authentication information (such as a user name and password) for multiple different web sites, and be able to access those different web sites using a single set of authentication information.
  • authentication information such as a user name and password
  • a second problem in the known art is that it is inconvenient to re-enter or update the information for multiple web sites, particularly when the number of web sites becomes relatively large.
  • a third problem in the known art is that a first user may desire to allow a second user temporary access to the first user's registered account at a selected web site.
  • Using known techniques for authentication, such as a user name and password the first user cannot assure any limitations on the second user's temporary access. Most servers would even allow the second user to change the associated password, and thus deny future access to the first user.
  • An aspect of this problem is that the first user might desire to grant only restricted access rights to the second user, so as to restrict the second user from performing banking or commercial transactions using the first user ' s account.
  • a fourth problem in the known art is that each such web site will often request an email address from the user, so as to send advertisements and possibly other "junk" email to the user. This can become a nuisance when the user is registered with multiple web sites. It would be advantageous if the user could separate out email from web sites, so as to be able to control email from those web sites. For example, the user could desire to treat differently email that is not sent automatically (and thus is more likely to be of real interest to the user).
  • a first aspect of the invention is that a user can maintain and select from a set of multiple profiles for use with a selected web site. This can aid the user in presenting only desired information to the selected web site.
  • a second aspect of the invention is that a user can maintain a single set of authentication information for access to multiple restricted web sites, along with bookmark information for the web site, for access from additional locations.
  • a third aspect of the invention is that a first user can allow a second user (or a set of such second users) temporary access to a set of web sites, possibly with the temporary access restricted to a subset of the information or services offered by those web sites.
  • a fourth aspect of the invention is that the user can separate out and treat differently email from those web sites. This can aid the user in filtering out unwanted email.
  • web sites also known as “web sites”.
  • Each web site can include information in a variety of forms, including text, other media, and links, which are delivered for presentation to the user. The user can follow the links to other and further web sites, in a process sometimes called web "surfing.”
  • One problem in the known art is that individual users perform web surfing without reference to other individual users. Although it is possible for multiple users to access the same web site at once, there is no convenient and simple technique in the known art for those users to coordinate following links to other and further web sites. Similarly, there is no convenient and simple technique in the known art for providing, for a group of related users, simultaneous access to a sequence of web sites.
  • World Wide Web access by web client devices or software to information provided by web servers (also known as "web sites").
  • web servers also known as "web sites”.
  • Each web site can include information in a variety of forms, including text, other media, and links, which are delivered for presentation to the user. The user can follow the links to other and further web sites, in a process sometimes called web "surfing.”
  • One problem in the known art is that individual users develop a substantial amount of personalized information, stored at different web sites in different formats, and with differing methods of access. Although it is possible for an individual user to retrieve and aggregate that individual's personalized information from a plurality of web sites, there is no convenient and simple technique in the known art to do so. Rather, it typically takes significant time navigating differing data formats and methods of access imposed by different web sites.
  • a personal data server obtains personalized information for individual users, on their behalf, from one or more web sites having that information, and presents that personalized information to those individual users in a convenient format.
  • the convenient format can include a technique for presentation that allows aggregation, modification, or summarization.
  • the invention provides an enabling technology for summarization and aggregation of personalized information, to obtain substantial advantages and capabilities that are novel and non-obvious in view of the known art. Examples described below relate to information for electronic commerce (“e-commerce”), but the invention is broadly applicable to many different types of personalized information or transactions.
  • One aspect of the Internet that has become popular is access to the world wide web, in particular access by web client devices or software (also known as “web browsers") to information provided by web servers (also known as “web sites").
  • Some of these web sites provide structured forms for data input, such as HTML or XML forms, table entry of data, and other techniques. These structured forms for data input can be used for a variety of data- capture purposes. Some examples could include registration of a new user, adding a product to a "shopping cart” or other electronic commerce technique, and purchasing a product (or purchasing a set of products already identified using a shopping cart).
  • Another problem in the known art is that it is not practical to complete manual data entry for such activities when the user is accessing the internet through a small-screen device or a bandwidth constrained network, such as in wireless internet access.
  • One known method is to record information for such forms logically local to the user's web client, such as on the user's computer in the form of a "cookie" or other structured data. While this method generally achieves the objective of allowing the user to repeatedly use a web site without having to re-enter the same information, it is subject to several drawbacks. First, it is generally inapplicable when the user is presented with a request for data input from a new web site, as that new web site does not retrieve the relevant information from the cookie. Second, it is generally inappliable when a user is accessing the web site from more than one client device. Third, the relatively weak security associated with cookies militates against storing confidential information, such as credit card information.
  • a second known method is the "One Click shopping" method available at the web site “amazon.com,” in which allows automation of transactions for all users at the specific web site. While this method generally achieves the objective of allowing the user to repeatedly use a web site without having to re-enter the same information, it is subject to the drawback that it works only with those specific web sites that have directly linked their server software with the One Click shopping server software and database.
  • the invention provides a method and system for access to personalized web sites.
  • a user can maintain and select from a set of multiple profiles for use with a selected web site.
  • a user can maintain a single set of authentication information for access to multiple restricted web sites, along with bookmark information for the web site, for access from additional locations.
  • the user can use the single set of authentication information to manage multiple restricted web sites, including monitoring usage of cost-based services and being able to control or provide automated renewal of such services.
  • a first user can allow a second user (or a set of such second users) temporary access to a set of web sites, possibly with the temporary access restricted to a subset of the information or services offered by those web sites.
  • the user can separate out and treat differently email from those web sites. II.
  • the invention provides an improved technique for group access to web sites. Multiple related users can simultaneously access a sequence of web sites, such that each of the related users has substantially the same content presented at the same times.
  • a selected one of the related users controls the web surfing process.
  • a selected plurality of the users collectively control the web surfing process.
  • the group surfing process can be used in conjunction with a communication technique between and among groups of users involved in the web surfing process, such as telephone communication, voice over IP, or Internet chat.
  • the group surfing process can be used in conjunction with other network functions, such as electronic commerce, on-line or otherwise remote training, virtual displays or tours, telemedicine or other process telecontrol, or consulting (such as in the fields of finance, advertising or marketing). More generally, the group surfing process can be used in conjunction with functions that could otherwise occur on display before an in-person audience.
  • the invention provides an improved technique for summarization and aggregation of personalized information.
  • a personal data server obtains personalized information for individual users, on their behalf, from one or more web sites having that information, and presents that personalized information to those individual users in a convenient format.
  • the convenient format can include a technique for presentation that allows aggregation, modification, or summarization.
  • the personal data server maintains information for a set of individual users so as to be able to retrieve, on their behalf, personalized information from one or more web sites having that information.
  • the personal data server presents that personalized information in a dynamically generated "jump page" that the individual user can peruse and use to navigate directly to one or more web sites having that information at hand.
  • the personal data server also aggregates or summarizes that information so that the individual user can view a more global presentation without having to individually navigate to each web site having personalized information about or selected by that individual user.
  • the aspect has broad applicability to e-commerce and electronic banking, to inter-user communication, and to inter-user interest groups.
  • the personal data server can be used to provide only limited or only aggregate access to personalized information to persons or entities other than the individual for which the information is personal.
  • the personal data server can collect information approved for collection by a set of individual users, aggregate or summarize that information, and present only the aggregate or summary to a reviewing person or entity. This aspect has broad applicability to census and polling data, market surveys and other data collection, and to inter-user communication.
  • the invention provides a method and system for automated and intelligent structured data input.
  • a user operating a web browser to access a web site is assisted by personalization software that identifies forms for structured data input and assists the user with data input.
  • operations described herein can be performed automatically on the personalization server (or other server) on behalf of the user.
  • the personalization software when possible, associates each set of descriptive text with a logical field value, when possible associates screen locations for each relevant input field with a logical field value, and when possible associates logical field values with multiple data values or partial data values. Having associated logical field values for each relevant input field, the personalization software provides data input for those fields without substantial requirement for user data input, and when operating on the server, is capable of returning the appropriate data to the third party web site.
  • the data input for those fields can include pre-recorded personal information about the user, such as pre-recorded data for the user's name, address, telephone number, credit card information, demographic information, and preferred login name or password.
  • This first aspect of the invention has applicable uses including automatic registration of a user at a new web site, automatic login using the login page of a web site, and form filling for checking out purchases from multiple web sites.
  • the personalization software uses a "meta- bookmark," which links an identifier of a web page (such as a URL) and an association of that web site location with a script or program fragment to be executed for that web page to send appropriate information to the personalization server.
  • the meta-bookmark thus allows the personalization software to either (a) complete the transaction on that server, or (b) send back the appropriate information to the client so the transaction can be completed on the client while keeping most confidential and other data on the personalization server.
  • the personalization software is thus able to perform a plurality of actions with regard to the web page (and with regard to successor web pages), including entering data into forms, checking that data against a confirmation page, and confirming that the data received by the web site is correct.
  • This second aspect of the invention has applicable uses including automatic performance of an e-commerce operation, such as supplying credit card information and confirming an e-commerce transaction.
  • a helper application assists the personalization software in recognizing differing types of structured data forms and and is directed by the personalization software for entering data for those differing types of structured data forms.
  • the helper application can determine differences between a web page for new-user registration, a web page for user login, and a web page for confirming an e-commerce transaction, and can complete these pages directly without substantial assistance from the user, using information from the personalization software.
  • the personalization software performs automated new-user registration for the user of the web client at a plurality of web sites. Personalization information is collected for the user and sent to each web site in the individual format that web site requests. If one or more web sites request further personalization information not already entered by the user, the personalization software can request that further personalization information at once, so as to send it to those one or more web sites.
  • the personalization server automates the checkout process for purchases on many different Web sites, automatically processing the multiple web pages required by each shopping store independently, and successively completing each of them with the purchasing agent and using the relevant user information it has on hand.
  • the invention provides an enabling technology for a wide variety of applications for structured data input, and for automated or intelligent access to logically remote information requesters. Examples described below relate to personalized web sites and to e-commerce, but the invention is broadly applicable to many different types of information exchange, including many different types of information transactions and interactions between and among communicating computers and to computer software.
  • Figure 1 shows a block diagram of a system for access to personalized web sites.
  • Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
  • Figure 3 shows a block diagram of a system for group access to web sites.
  • Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
  • Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
  • Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
  • Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
  • Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
  • Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
  • Figure 1 1 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
  • Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
  • Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
  • Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
  • FIG. 1 shows a block diagram of a system for access to personalized web sites.
  • a system 100 includes at least one web client 1 10, a communication network
  • client and server refer to client-server relationships between client and server, not necessarily to particular physical devices.
  • web client includes any combination of devices or software taking on the role of a client in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof.
  • the web clients 110 must be individual devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
  • web site includes any combination of devices or software taking on the role of a server in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof.
  • the web sites 130 must be individual devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • the web client 110 includes a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112.
  • the web client software 111 includes software 113 disposed for communicating with the web sites 130 using a communication protocol, possibly including data 114 stored locally at the web client 110 regarding those web sites 130.
  • the web client 1 10 includes a general-purpose computer, such as a laptop or workstation.
  • the web client 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a telephone system with interactive voice response, or a web server acting as the agent for an user.
  • the web client 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web client 1 10 to the web site 130 can each differ between pairs of connection sessions between the web client 1 10 and the web site 130.
  • the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network.
  • the communication network 120 may include any other set of communication links that couple the web client 1 10, web site 130, and personalization server 140 so they can perform the functions described herein.
  • the communication network 120 is disposed for transporting messages 151 between any two of the web client 1 10, the web site 130, and the personalization server 140.
  • the messages 151 are formatted in the communication protocol recognized by the web client 110, the web site 130, and the personalization server 140.
  • the communication protocol includes HTTP (hypertext transfer protocol) or a variant thereof, such as SHTTP (secure HTTP).
  • the communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof.
  • those messages 151 that request information can include an identifier 152 for a requested page 153.
  • the page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a number of links 154 to other pages 153.
  • Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
  • each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
  • the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web client 110 in response to requests made using the communication protocol.
  • the web site 130 includes software 133 disposed for communicating with the web client 110 using the communication protocol, and includes authentication or personalization data 1 14 (or techniques) stored locally at the web server 130 regarding those web clients 110.
  • the personalization server 140 includes a processor operating under control of personalization software 141, disposed for performing the functions described herein, including maintaining information 142 about relationships between the web client 1 10 (or a user thereof) and the web site 130.
  • the personalization software 141 includes software 143 disposed for communicating with the web clients 1 10 and the web sites 130 using the communication protocol, and includes an authentication and personalization database 144 stored locally at (or otherwise accessible by) the personalization software 141, regarding those web clients 110 and web sites 130.
  • the web client software 111 is disposed for sending a message 151 to the personalization server 140, to request the personalization server 140 to respond and perform functions described herein.
  • the message 151 is responsive to an action by the user of the web client software 111, such as by selecting a web page or a link to a web page.
  • the personalization software 141 is disposed for receiving the first message
  • the personalization software 141 uses information in the first message 151 from the web client software 111 to navigate to the selected web site and to identify and authenticate the user at the selected web site.
  • the personalization software 141 can perform these functions in one or more, or a combination of, the following ways:
  • the personalization software 141 can send a second message 151 to the web site 130, to request the web site 130 to respond and perform functions described herein.
  • the personalization software 141 communicates directly with the web site 130, so as to identify and authenticate the user.
  • the web server software 131 is disposed for receiving the second message 151 from the personalization software 141, and for responding thereto. After proper identification and authentication, the web server 131 sends further messages 151 directly to the web client 1 10 using the networkl20.
  • the personalization software 141 can send additional information (such as parameters in an HTTP message 151) to direct the web client software 1 11 to perform functions as described herein.
  • web client software 1 1 1 (using the additional information) directly requests appropriate information (such as a login or registration form) from the web site, and to respond with appropriate information to identify and authenticate the user (such as to respond with a completed registration form).
  • appropriate information such as a login or registration form
  • the personalization software 141 preferably supplies the additional information for the web client software 111 in an encrypted or otherwise encoded form, so that the user of the web client software 111 does not obtain identification and authentication information directly. Encryption also provides additional security while sending messages 151 across the network 120.
  • the functions for the web site 130 are not substantially different from those performed by the web site 130 in response to similar requests from others, including possibly the web client software 11 1. Accordingly, there is no particular requirement that the web server 130 be modified to operate in conjunction with the web client software 11 1 and the personalization server 140 to perform the functions described herein.
  • the web server software 131 can respond either directly to the personalization server 140 (with a third message 151 ) or directly to the web client 110 (with a fourth message 151), as directed by the personalization software 141.
  • the personalization server 140 is disposed to maintain authentication and personalization information about the user at the web client 1 10, to record that information in its database 144, and to communicate (directly or indirectly) with the web site 130 regarding that information.
  • the web client software 11 1 When the user at the web client 1 10 wishes to register with the personalization server 140, the web client software 11 1 sends a message 151 to the personalization server 140 requesting a registration page 153.
  • the personalization server 140 sends the registration page 153 to the web client software 1 11, which presents the registration page 153 to the user.
  • the registration page 153 includes a form, applet, or other structure for gathering information from the user.
  • the personalization server 140 requests authentication and personalization information about the user. Upon receiving that information, the personalization server 140 records it in its database 144. Although the personalization server 140 records information about the user at first registration of that user with the personalization server 140, the user can at other and further times add or modify that information, or add or modify profiles for use with web sites 130, independent of actual use of any selected web site 130.
  • the authentication and personalization information about the user includes a username and a password.
  • Methods of username and password authentication are known in the art of computer security.
  • the personalization server 140 may use other and further authentication techniques in addition to or instead of username and password authentication.
  • These other and further authentication techniques can include any one of, or some combination of, identification using the following: software identification such as digital certificates or other digital encryption techniques, hardware identification such as processor identification information, "smart" cards, communication link authentication such as digital or analog telephone subscriber line identification information, or other known methods for identification or authentication.
  • authentication techniques can be associated with selected degrees of user access, so that greater or lesser authentication controls are placed on greater or lesser user access capabilities.
  • the personalization server 140 is also disposed to maintain, in its database 144, information about the user at the web client 1 10. This information is preferably recorded as one or more selectable profile for the user, so that the user can select one such profile for communication, identification and personalization for one or more selected web sites 130.
  • the web client 110 When the user at the web client 110 wishes to register (and thus identify) themselves at a new web site 130, the web client 110 contacts the web site 130 in one of two ways:
  • the user at the web client 110 contacts the web site 130 directly using the web client software 111.
  • the user at the web client 1 10 provides an identifier 152 (such as a URL) for an registration page 153 at the web site 130 to the personalization server 140.
  • the user can use an additional command for the web client 110, or can execute an applet or complete a dialog box supplied by the personalization server 140.
  • the personalization software 141 performs registration using a profile selected by the user at the web client 110.
  • the user at the web client 110 identifies a location (such as a URL) for the web site 130 to the personalization server 140.
  • the personalization server 140 contacts the web site 130 in place of the user, as if the user had contacted the web site 130 directly using the web client software 1 1 1.
  • the personalization software 141 recognizes the registration page 153 at the web site 130 and performs registration using a profile selected by the user at the web client 110.
  • the personalization software 141 automatically completes the registration form 131 using any appropriate automated technique, such as known pattern matching, neural network, genetic algorithms, other techniques, or some combination thereof, to match names of requested form data fields with available profile data fields.
  • the user at the web client 110 can designate none, some, or all of the information fields in the selected profile by as confidential. If an information field is designated confidential, the personalization software 141 asks the user to confirm that the user wishes to provide that information before sending it to the web site 130.
  • the personalization server 140 is also disposed to maintain information about the web site 130, to record that information in its database 144, and to communicate with the web site 130 in response to that information.
  • the personalization server 140 completes the registration form accordingly if the user so directs.
  • the personalization server 140 also updates its database 144 accordingly if the user so directs.
  • the personalization server 140 can update some, all, or a group of profiles selected by the user.
  • the web client software 111 When the user at the web client 110 wishes to register with a new web site 130, the web client software 111 sends a message 151 to the personalization server 140 with an identifier 152 for an authentication page 153 at the web site 130.
  • the web client software 111 requests that the personalization server 140 register the user at that web site 130.
  • the personalization server 140 sends a message 150 to the web site 130 identifying the registration page 153.
  • the personalization server 140 uses the profile information about the user at the web client 1 10, from its database 144, to respond to the web site 130 with information requested by the web site 130 for personalization.
  • the personalization server 140 generates authentication information (such as a password) and records that authentication information in its database 144 in association with the user at the web client 110. For those web sites 130 that send an email message or other message back to the web client 110 with a site-selected password, the personalization server 140 intercepts that message and records the site-selected password in its database 144.
  • authentication information such as a password
  • the personalization server 140 causes any links or forms 154 identified to the web site 130 to point back to pages 153 at the personalization server 140, not the web client 110. Moreover, the personalization server 140 can optionally (upon user instruction or otherwise) generate a unique email address for the web site 130 to identify the user at the web client 110. If so, the unique email address is given to the web site 130 instead of any regular email address at which the user might receive email.
  • the personalization server 140 records any necessary identification and authentication information for the user, so that the personalization server 140 can automatically authenticate the user at the web site 130, upon receiving a request to do so from the web client 110.
  • the web client software 111 sends a message 151 to the personalization server 140 with an identifier 152 for a selection page 153 at the personalization server 140.
  • the selection page 153 preferably includes information about each of the web sites 130 (and services offered thereat) at which the user has registered.
  • the selection page 153 can include links to additional and further selection pages 153, or can have a hierarchical or other format in other ways.
  • the personalization server 140 provides or dynamically generates the selection page 153 in response to information in the database 144 regarding the user, and in response to information in the database 144 regarding the web site 130.
  • the selection page 153 can be stored and updated at times selected by the personalization server 140 or the user, or can be dynamically generated at user direction.
  • the selection page 153 preferably includes an identifier (such as a name) for each registered web site 130, along with possibly other information:
  • o information regarding use of the web site 130 such as a last use, frequency of use, or last page 153 requested from that web site 130;
  • the user can select one or more of the web sites 130 identified on the selection page 153 for connection.
  • the personalization server 140 connects to each selected web site 130 and re-authenticates the user to that selected web site 130.
  • personalization server 140 sends any identification and authentication information (such as a password) in an encrypted format.
  • a secondary user with restricted access (as described below) thus cannot obtain unrestricted access to the web site 130 and services.
  • the personalization server 140 sends the identification and authentication information (such as a password) in an encrypted format to an applet or plug-in at the web client 110.
  • the web client 110 invokes the applet or plug-in with the encrypted information to automatically identify and authenticate the user with the web site 130.
  • the personalization server 140 maintains information about bookmarks, "favorites," viewed pages, or other important web sites 130 in its database 144, in association with the user. This allows the user to send a collection of bookmarks from a restricted web site 130 to a secondary user with restricted access (as described below).
  • This information can also be used by the web client 110 to display those pages available at the web site 130 without having to actually having to re-register at the web site 130. This allows the user to access bookmark information for restricted web sites 130 from any web client 110, whether or not web client 110 has the appropriate bookmark stored locally.
  • the web client software 111 can communicate directly with the web site software 131 to request and receive information. The user is thus able to maintain a single set of authentication information for access to multiple restricted web sites.
  • the user can use the single set of authentication information to manage multiple restricted web sites, such as monitoring usage of cost-based services and being able to control or provide automated renewal of such services.
  • the user can order the personalization server 140 (and the personalization server 140 can respond to such orders) to perform the following services:
  • a first user can also request the personalization server 140 to allow a second user, possibly using the same web client 110 or possibly using a different web client 1 10, to access those web sites 130 for which the first user is registered.
  • the personalization server 140 records information about those second users, including the scope of access they are permitted, in the database 144.
  • the scope of access permitted to those second users can be limited in at least the following ways:
  • the second user requests the personalization server 140 to identify (and authenticate) themselves to the web site 130 as the first user.
  • the personalization server 140 in response to the request and in response to the database 144, identifies (and authenticates) the second user to the web site 130 using the same information as the first user, while hiding authentication or other account information from the second user (such as a password).
  • the personalization server 140 can require that it mediates the second user's access to the web site 130, by requiring that all requests for information by the second user must first pass through the personalization server 140. This allows the personalization server 140 to perform one or more, or a combination of, the following:
  • the personalization server 140 generates a new email address for the first user when first identifying and authenticating that first user to a new web site 130.
  • the personalization server 140 can accordingly restrict or partially restrict access by the second user to email received for that email address at the personalization server 140. (In a preferred embodiment, the second user is given no access to email for the first user.)
  • the personalization server 140 provides web-based access to any email received for that email address from the web site 130. As part of this web-based access, the user at the web client 110 can request the personalization server 140 to perform the following services:
  • Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
  • a method 200 is performed by the system 100, including the web client 1 10, the communication network 120, the web server 130, and the personalization server 140.
  • a first user at the web client 110 is ready to register with the personalization server 140.
  • the web client software 111 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to register the first user.
  • the personalization server 140 generates and sends a registration page 153 to the web client 110.
  • the registration page 153 can be a standard form, or can be personalized in response to the user or in response to the web client 110.
  • the user supplies authentication and personalization information to the web client software 111 , in response to the registration page 153.
  • the web client software 1 1 1 sends the authentication and personalization information for the user to the personalization server 140.
  • the personalization server 140 records the authentication and personalization information for the user in its database 144.
  • a first user at the web client 110 is ready to register a new web site 130 with the personalization server 140.
  • the web client software 1 1 1 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to register the new web site 130, and information about the web site 130 useful for registration, such as an identifier 152 for a registration page 153 at the web site 130.
  • the personalization server 140 generates and sends a message
  • the message 151 to request to register the first user with the web site 130.
  • the message 151 requests the registration page 153 from the web site 130.
  • the web site 130 At a step 223, the web site 130 generates and sends a registration page 153 to the personalization server 140.
  • the nature of this activity by the web site 130 can vary widely and still be within the scope and spirit of the invention.
  • the personalization server 140 responds to the web site 130.
  • the personalization server 140 matches the registration request from web site 130 with profile information contained in the database 144 and supplies the authentication and personalization information for the user to the web site 130.
  • the personalization server 140 requires verification from the user by sending the web client 110 a corresponding message 151 (such as an HTML or XML page).
  • the personalization server 140 generates a new email address for the user at the personalization server 140; this new email address is specific to both the user and to the web site 130.
  • the web site 130 records the authentication and personalization information for the user in its database 134.
  • Some web sites 130 send an initial email message 151 to the user with further authentication information, such as a username and password.
  • the personalization server 140 receives this initial email message 151, parses it, and if it includes further authentication information (such as a username and password), records that information in its database 144 for the user.
  • Some web sites 130 send a cookie or other data to the user with further authentication information.
  • the personalization server 140 assures that the data (includeing whatever information is associated with the "cookie") is recorded at the personalization server 140..
  • the personalization server 140 determines if the web site 130 sends a cookie to the web client 110. If so, the personalization server 140 sends a software assistant 115 to the web client 110 for the web client 1 10 to use when using the web site 130. The software assistant 1 15 assists the web client software 1 11 and the personalization server 140 by assuring that information in the cookie is available to the personalization server 140.
  • the software assistant 1 15 includes a web browser plug-in, or a program fragment (such as an applet or JavaScript code), or some other application that operates in conjunction with the web client software 111.
  • a first user at the web client 110 is ready to identify and authenticate themselves with a web site 130, using the personalization server 140.
  • the web client software 111 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to identify and authenticate the user with a web site 130.
  • the personalization server 140 generates a registration page 153.
  • the registration page 153 identifies those web sites 130 for which the user is registered (or has bookmarks), and allows the user to select one or more at which to identify and authenticate themselves.
  • the user selects one or more web sites 130 at which to identify and authenticate themselves.
  • the web client software 111 sends a message 151 to the personalization server 140 indicating those web sites 130.
  • the personalization server 140 sends an authentication message to the web site 130.
  • the personalization server 140 either directly or indirectly (using the web client 110), supplies the authentication and personalization information for the user to the web site 130.
  • the web site 130 authenticates the user and allows the web client software 111 access to otherwise restricted information or services.
  • a first user at the web client 1 10 is ready to access email directed to the first user at the personalization server 140.
  • the web client software 111 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to access email at the personalization server 140.
  • the personalization server 140 At a step 242, the personalization server 140 generates and sends a message 151 in response to the web client 110.
  • the message 151 indicates for which email addresses any email has been received, and can further summarize that email (such as by presenting headers or subject lines).
  • the user accesses email at the personalization server 140 using known web-based email methods.
  • the user can direct the personalization server 140 to eliminate email addresses for one or more selected web sites 130, or to forward email for one or more selected web sites 130 to a selected target email address (possibly at another location).
  • a first user at the web client 110 is ready to allow access by a second user to one or more selected web sites 130.
  • the web client software 1 1 1 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to allow access by a second user to one or more selected web sites 130.
  • the personalization server 140 At a step 252, the personalization server 140 generates a selection page 153 and sends that page 153 to the web client 1 10.
  • the selection page 153 indicates a set of web sites 130 for which the first user has access and indicates a set of types of restrictions on that access the first user can order the personalization server 140 to implement.
  • the web client software 111 presents the selection page 153 to the user.
  • the user selects one or more web sites 130, as well as associated restrictions on information or services at those web sites 130, and identifies a set of second users to be allowed restricted access.
  • the web client software 11 1 sends a message 151 to the personalization server 140 with the selections made by the first user.
  • the personalization server 140 receives the message 151 and records associated information in its database 144.
  • a second user at the web client 110 is ready to access one or more selected web sites 130 using the personalization server 140.
  • the web client software 111 sends a message 151 to the personalization server 140.
  • the message 151 includes a request to identify and authenticate the second user with a web site 130.
  • the personalization server 140 determines, in response to its database 144, the degree of access allowed to the second user. For example, the second user can have been authorized by (one or another) first user to have access, or the second user can have independent access to the web site 130 in response to a separate registration with the personalization server 140.
  • the personalization server 140 In response to the degree of allowed access, similar to the step 232, the personalization server 140 generates a registration page 153.
  • the registration page 153 identifies those web sites 130 for which the second user is allowed access, by (one or another) first user or independently, and allows the second user to select one or more at which to access (either for identification and authentication, or for bookmarks, to directly access).
  • the second user selects one or more web sites 130 at which to identify and authenticate themselves.
  • the web client software 1 1 1 sends a message 151 to the personalization server 140 indicating those web sites 130.
  • the personalization server 140 supplies the authentication and personalization information for the first user to the web site 130 (even though the second user is the one to actually use the web site 130), either directly to the web site 130, or using the web client software 111.
  • the choice of whether authenticate and personalize the second user directly or indirectly can be responsive to a parameter selected by the first user.
  • the web site 130 authenticates the second user (in response to the first user's authentication and personalization information) and allows the web client software 111 for the second user access to otherwise restricted information or services.
  • Figure 3 shows a block diagram of a system for group access to web sites.
  • a system 100 includes a set of web clients 110, a communication network 120, at least one web site 130, and a group surfing server 140.
  • the terms “client” and “server” refer to client-server relationships between client and server, not necessarily to particular physical devices.
  • the phrase “web client” includes any combination of devices or software taking on the role of a client in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof.
  • the web clients 1 10 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
  • web site includes any combination of devices or software taking on the role of a server in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof.
  • the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • the web clients 1 10 each include a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112.
  • the web client software 111 includes software disposed for communicating with the web site(s) 130 using a communication protocol, as described below.
  • the web clients 110 each include a general-purpose computer, such as a laptop or workstation.
  • the web clients 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a web server acting as the agent for a user, or another device.
  • the web clients 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web clients 110 to the web site 130 can each differ between pairs of connection sessions between the web clients 110 and the web site 130.
  • the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network.
  • the communication network 120 may include any other set of communication links that couple the web clients 1 10, web site 130, and group-surfing server 140 so they can perform the functions described herein.
  • the communication network 120 is disposed for transporting messages 151 between any two of the web clients 110, the web site 130, and the group-surfing server 140.
  • the messages 151 are formatted in the communication protocol recognized by the web clients 110, the web site 130, and the group-surfing server 140.
  • the communication protocol includes TCP/IP (transfer control protocol/ Internet protocol), or HTTP (hypertext transfer protocol) a variant thereof, such as HTTPS (secure HTTP).
  • the communication protocol can include an additional protocol operating over TCP/IP.
  • the communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof.
  • those messages 151 that request information can include an identifier 152 for a requested page 153.
  • the page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a set number of links 154 to other pages 153.
  • Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
  • each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
  • the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web clients 110 or the group-surfing server 140 in response to requests made using the communication protocol.
  • the web site 130 includes software disposed for communicating with the web clients 1 10 or the group-surfing server 140 using the communication protocol.
  • the web client software 1 1 1 is disposed for sending a message 151 to the group-surfing server 140, to request the group-surfing server 140 to respond and perform functions described herein.
  • the message 151 is responsive to an action by the user of the web client software 11 1, such as by selecting a web page or a link to a web page.
  • a first web client 1 10 sends a session-creation message 151 to the group- surfing server 140, to request the group-surfing server 140 to create or set up a group-surfing session.
  • the message 151 includes an identifier for the group- surfing session, so that other web clients 110 can add themselves to that session. (The group- surfing server 140 can also assign this identifier in a reply to the session-creation message 151.)
  • the message 151 includes identifiers for a set of web clients 110 participating in, permitted to participate in, or forbidden from participating in, that session.
  • the web client 110 can alternatively specify that the session is open to anyone.
  • the web client 110 can also specify a time schedule for the session (these functions can be combined, so that for example, the session can be open to anyone for a selected time period, after which only certain authorized users may participate).
  • the message 151 can also include an identifier 152 for an initial page 153 for the group-surfing session.
  • the initial page 153 can include a home page for a selected web site 130 or a welcome page for a selected service available at the selected web site 130.
  • the group-surfing server 140 receives the session-creation message 151, and responds by (1) creating a group-surfing session, and (2) informing the participants in the group-surfing session.
  • the session-creation message 151 includes an identifier 152 for an initial page 153
  • the group-surfing server 140 proceeds to begin operation of the group- surfing session, as described below, causing the web site 130 to deliver the initial page 153 to the web clients 110 participating in the session.
  • the group-surfing server 140 prepares to add additional web clients 1 10 to the session.
  • a second (or further) web client 1 10 sends a session-join message 151 to the group-surfing server 140.
  • the message 151 includes the identifier for the group-surfing session.
  • the group-surfing server 140 receives the session-join message 151, and responds by adding the new web client 1 10 to the group-surfing session.
  • the group-surfing server 140 can also inform the other participants in the group-surfing session of the newly added web client 110.
  • the group-surfing server 140 causes the newly added web client 110 to participate in the session, as described below.
  • One or more of the web clients 1 10 are designated by the group-surfing server 140 as a controlling web client 110, and are therefore empowered by the group-surfing server 140 to control the group surfing session.
  • the choice of which web clients 110 are designated as the controlling web clients 110 can be made in any one of, or some combination of, a variety of techniques:
  • the controlling web clients 110 are identified in the session-creation message 151.
  • the controlling web client 110 is, or the controlling web clients 110 are selected by
  • the web client 110 that contacted the group-surfing server 140 to create the session.
  • the controlling web clients 1 10 are designated using a random or pseudo-random technique by the group-surfing server 140 from those web clients 1 10 participating in the session.
  • the controlling web clients 1 10 are designated by a majority or plurality vote of all web clients 110 participating in the session. o The controlling web clients 1 10 are the first M of the first N web clients 1 10 participating in the session that attempt to select a next page. The selection of which M out of N web clients 1 10 can be made by the group-surfing server 140 using a random or pseudorandom technique, a clustering technique for selecting web clients 1 10 that are similar, or another technique.
  • the controlling web clients 1 10 are selected by the group-surfing server 140 to be all those web clients 1 10 participating in the session that meet selected criteria.
  • the selected criteria can be rule-based, such as for example (a) those web clients 110 having ".edu” as their primary domain or “.aol” as their secondary domain, (b) those web clients 1 10 having participated in the session for more than N seconds, (c) those web clients 110 having participated in the session but not yet having been selected as the controlling web client 110, or some combination thereof.
  • controlling web client 110 is a single web client 110, that single controlling web client 1 10 determines the progression of pages 153 viewed during the group- surfing session, as described below.
  • controlling web clients 110 act in concert to determine the progression of pages 153 viewed during the group- surfing session.
  • the group-surfing server 140 can determine the progression of pages 153 in any one of, or some combination of, a variety of techniques:
  • the first page 153 selected by any controlling web client 110 is selected as the next one in the progression of pages 153 in the session.
  • the next one in the progression of pages 153 in the session is designated using a random or pseudo-random technique by the group-surfing server 140 from those pages 153 selected by any of the controlling web clients 110.
  • the next one in the progression of pages 153 in the session is designated using a round-robin technique by the group-surfing server 140 from those pages 153 selected by any of the controlling web clients 1 10.
  • the page 153 selected by a majority or a plurality of controlling web clients 1 10 is selected as the next one in the progression of pages 153 in the session.
  • the group-surfing server 140 determines a next one in the progression of pages 153 in the session.
  • the group-surfing server 140 contacts the web site 130 having that next page 153, and directs that target web site 130 to deliver that next page 153 so it can be presented to those web clients 1 10 participating in the session.
  • the group-surfing server 140 directs the target web site 130 to deliver that next page 153 to the group-surfing server 140 itself. The group-surfing server 140 then re-sends that page 153 to those web clients 110 participating in the session. This allows usage of a single set of "cookies," or other data related to identity or session, sent by the web site 130 and stored by the group-surfing server 140 at each participating web client 110.
  • each web client 1 10 can receive the next page 153 directly from the web site 130.
  • the group-surfing server 140 may retrieve that next page 153 itself from the target web site 130, and re-send that next page 153 to each web client 110 participating in the session.
  • the group- surfing server 140 may use a multicast protocol such as the IGMP protocol (Internet Group Management Protocol), to multicast the next page 153 to those web clients 110 participating in the session.
  • IGMP protocol Internet Group Management Protocol
  • the controlling web client 110 selects a progression of pages 153 for the session, that progression of pages 153 is presented at each of the web clients 110 participating in the session.
  • any web client 110 participating in the session desires to leave the session, either permanently or temporarily, that web client 1 10 sends a session-exit message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the session-exit message 151, and responds by removing the exiting web client 110 from the group-surfing session.
  • the group-surfing server 140 can also inform the other participants in the group-surfing session of the exiting web client 1 10.
  • the group-surfing server 140 causes the exiting web client 110 to no longer participate in the session.
  • the functions for the web site 130 are not substantially different from those performed by the web site 130 in response to similar requests from others, including possibly the web client software 111. Accordingly, there is no particular requirement that the web server 130 be modified to operate in conjunction with the web client software 1 1 1 and the group-surfing server 140 to perform the functions described herein.
  • the group-surfing server 140 When performing group-surfing for more than one type of web client 130 (such as a first web client 130 including a personal computer and a second web client 130 including a "Palm Pilot" device), the group-surfing server 140 makes multiple requests for the web site 130 to send (variants of) the same page, so as to retrieve the must suited version of the page for each separate web client 1 10. The group-surfing server 140 forwards to each separate web client 110 the variant of the page that is most suited to that separate web client 110.
  • a first web client 130 including a personal computer and a second web client 130 including a "Palm Pilot" device the group-surfing server 140 makes multiple requests for the web site 130 to send (variants of) the same page, so as to retrieve the must suited version of the page for each separate web client 1 10.
  • the group-surfing server 140 forwards to each separate web client 110 the variant of the page that is most suited to that separate web client 110.
  • load is reduced on the group-surfing server 140 using a program fragment loaded at each web client 110.
  • the program fragment can include one or more of, or any combination of, a Java applet, a section of JavaScript code, a web browser plug-in, an active-X element, or another technique for interfacing with the web client 110 and affecting its operation with the web site 130 and the group-surfing server 140.
  • the program fragment can be sent from the group-surfing server 140 to the web client 110, or can be resident at the web client 110.
  • the program fragment can be loaded dynamically for the session, or can be permanently resident but only active for the session.
  • the program fragment can perform one or more of, or some combination of, the following functions: o
  • the program fragment can detect embedded frames included in selected pages 153 and request the group-surfing server 140 to retrieve those frames from the web site 130 and send them to the web client 1 10.
  • the program fragment can intercept selection of a link 152 at the web client 1 10 and direct that selection to the group-surfing server 140 for processing.
  • the program fragment can intercept "submit" selections by the web client 110 during posting of HTML forms, and direct the information in those "submit” selections to the group- surfing server 140 for processing.
  • the program fragment can intercept HTML instructions in selected pages 153, which instructions would interfere with the screen layout used for the session (such as HTML code that attempts to force itself into a top-level frame).
  • the program fragment can detect embedded multimedia objects included in selected pages 153 and request those multimedia objects directly from the web site 130.
  • the controlling web client 110 can select web pages 153 for "look ahead" before designating those web pages 153 as next pages 153 in the progression of pages 153 in the session. This allows the controlling web client 110 to provide for one or more of, or some combination of, the following contingencies: o
  • the user 1 12 at the controlling web client 1 10 can determine if the selected "look ahead" pages 153 are accessible at the time of the session. For example, some such pages 153 can be subject to restricted access in response to time or usage constraints.
  • the user 1 12 at the controlling web client 1 10 can determine if the selected "look ahead" pages 153 are appropriate for the web clients 110 participating in the session.
  • some such pages 153 can include information that is immaterial to the session (such as for a class, a seminar, or a demonstration of a product or service).
  • some such pages 153 can include information that is inappropriate for the session (such as so-called "adult-oriented" material for a session including users 1 12 who are minors).
  • the user 1 12 at the controlling web client 110 can determine if the selected "look ahead" pages 153 require special access (such as password restriction or cost-burdened services). For a first example, the controlling web client 1 10 can choose to exclude such pages 153 from the session. For a second example, the controlling web client 110 can choose to accept such special access (such as entering a password or credit card number) without presenting that acceptance to other web clients 110 participating in the session.
  • special access such as entering a password or credit card number
  • the controlling web client 110 can select web pages 153 for special access when designating those web pages 153 as next pages 153 in the progression of pages 153 in the session.
  • the controlling web client 110 can enter information required for special access privately, without presenting that information to other web clients 110 participating in the session.
  • the controlling web client 110 can enter such information (such as for completing an HTML "form") using information available from, and supplied by, other web clients 1 10 participating in the session.
  • the controlling web client 1 10 enters information to complete the HTML form, and sends that information to the group-surfing server 140.
  • the group-surfing server 140 enters information to complete the HTML form, and sends that information to the web site 130.
  • the group- surfing server 140 sends that new page to all participating web clients 130.
  • the group-surfing server 140 may present that information on the HTML form at each participating web client 110, so that each participating web client 1 10 can see the HTML form being filled in.
  • the group-surfing server 140 may present that information on the HTML form as each field of the form is completed, or when the entire form is completed, or at other times.
  • the controlling web client 110 can select web pages 153 for paid access, even if the web clients 110 participating in the session do not have the right to such paid access.
  • the group-surfing server 140 can control paid access in one or more of, or some combination of, the following techniques:
  • the controlling web client 110 can pay for that access itself, effectively presenting a gift of services to participating web clients 1 10.
  • the group-surfing server 140 can exact a payment from accounts of those participating web clients 110. This payment can be a pro-rata share of the actual cost to the controlling web client 110, can be a pre-selected amount agreed by the participating web clients 110, or can be a commission paid to the group-surfing server 140 by the transacting web site 130.
  • the group-surfing server 140 can exact such payment only from those participating web clients 110 that choose to have the paid information or services presented to them as part of the session.
  • the participating web clients 110 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred.
  • the controlling web client 1 10 can select web pages 153 for participation in electronic commerce.
  • the controlling web client 110 can order goods or services for delivery. Similar to payment for web site services, the web clients 1 10 participating in the session need not be required to participate in this electronic commerce.
  • the group-surfing server 140 can control such electronic commerce in one or more of, or some combination of, the following techniques:
  • the controlling web client 1 10 can pay for the ordered goods or services itself, effectively presenting gifts to participating web clients 1 10.
  • the group-surfing server 140 can exact payment from accounts of those participating web clients 110 for a single instance of such electronic commerce. This payment can be a pro-rata share of the actual cost to the controlling web client 110, can be a pre-selected amount agreed by the participating web clients 110, or can be a commission paid to the group- surfing server 140 by the transacting web site 130.
  • the group-surfing server 140 can exact such payment only from those participating web clients 110 that choose to have the paid information or services presented to them as part of the session. Similarly to paid web site services, the participating web clients 110 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred.
  • the group-surfing server 140 can duplicate the electronic commerce transaction for each participating web client 110 that chooses to participate. Similarly to paid web site services, the participating web clients 1 10 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred.
  • the group-surfing server 140 can receive a pre -payment prior to the group-surfing session, so that an associated web client participating that chooses to participate in the group- surfing session can use that payment for electronic commerce.
  • the group-surfing server 140 can allow payments from a pre-paid (or otherwise arranged) "account" on behalf of one or more of, or a class of, web clients 1 10.
  • This function can be useful for making joint decisions regarding electronic commerce, such as for selecting gifts for third parties or for one of the session participants.
  • the controlling web client 110 can import or export information related to web sites 130, including bookmarks, "cookies," and user registrations at participating web sites 130. Similarly to paid web site services, web clients 110 participating in the session can choose whether or not to participate in these import or export operations.
  • Those web clients 110 participating in the session can also communicate between and among groups of users 1 12 at those web clients 1 10.
  • the techniques used for communication can include one or more of, or some combination of, the following: telephone communication, voice over IP, Internet chat, electronic mail, "instant messaging," or other intra-user communication.
  • the communication technique can be presented to each web client 110 at the initiation of the group-surfing server 140, using either a same or a separate window at the web client 110.
  • Those web clients 110 participating in the session can also perform other functions associated with the network.
  • the use of the invention in conjunction with electronic commerce is described above.
  • the invention can also be used for remote training functions.
  • one or more of the participating web clients 110 would be instructors, teachers, seminar presenters, discussion facilitators, or other types of moderator. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 110 (who could substantially outnumber the moderators) would be students, seminar participants or reviewers, discussion participants, or negotiating parties. The instructors or moderators can use the group-surfing process to present information to the students or participants, to confirm assumptions or assertions using available reference services or reference works, and the like.
  • the invention can also be used for virtual displays or tours.
  • one or more of the participating web clients 110 would be salespeople, docents, presenters, or other types of guide. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 1 10 (who could substantially outnumber the moderators or could be interacting one-to-one with the salesperson or guide) would be potential customers or virtual tourists.
  • the salespeople or guides can use the group-surfing process to present information to the potential customers or virtual tourists in response to perceived desires or tastes of the potential customers or virtual tourists, using available reference material, including maps, pictures, and other visual data.
  • the available reference material includes a VRML (virtual reality markup language) server, at which three-dimensionally viewable information about the topic of the presentation or tour is available.
  • VRML virtual reality markup language
  • the three-dimensionally viewable information can include presentations of real estate for sale, or a virtual art gallery.
  • the invention can also be used for telemedicine or other process telecontrol.
  • one or more of the participating web clients 110 would be controlling surgeons, physicians, other medical personnel, or other consultants. These participating web clients 1 10 can be controlling web clients 110. Additional participating web clients 110 would be on-site medical personnel, on-site engineering personnel, or robotic devices.
  • the controlling medical personnel can use the group-surfing process to review information about a patient (or a controllable physical process, such as an oil refinery or a semiconductor manufacturing facility), to make suggestions or issue orders regarding treatment, and to directly control robotic devices or sensor apparatus.
  • the invention can also be used for consulting (such as in the fields of finance, advertising or marketing).
  • one or more of the participating web clients 110 would be consultants. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 110 would be the consultants' (human) client or clients, such as marketing personnel.
  • the consultant can use the group-surfing process to present information to the client, including new or proposed presentation material, or presentation material from competitors or other participants in the electronic marketplace.
  • the group-surfing server 140 can maintain more than one separate group- surfing session, with each separate group-surfing session having its own history of viewed pages.
  • a web client 110 adds itself to the participating web clients 1 10 in a group- surfing session, it is presented with the most recent viewed page, and is able to review the history of pages viewed prior to joining that group-surfing session.
  • a web client 110 when an individual user of a web client 110 using ordinary web surfing techniques comes upon a page that the user desires to share, that user can, using its web client 110, send a message to the group-surfing server 140 to add that page to a group-surfing session.
  • Each such web client 110 can have its own personalized group- surfing session, which a second web client 110 can view and view the history thereof. If the second web client 110 is already participating in that group-surfing session, the page would be presented to the second web client 110 when it is sent by the first web client 110 to the group- surfing server 140.
  • the second web client 110 can receive only a list of pointers (such as URLs) to those pages presented during the group-surfing session, dynamically updated when a new page is added.
  • Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
  • a method 200 is performed by the system 100, including the web client 110, the communication network 120, the web server 130, and the group-surfing server 140. Although described serially and in a particular sequence, in a preferred embodiment the steps described herein can be performed concurrently or in parallel by the system elements, could be performed in a different sequence or some combination thereof.
  • the group-surfing server 140 is ready to create a group- surfing session.
  • a first web client 110 sends a session-creation message 151 to the group-surfing server 140, as described above, to request the group-surfing server 140 to create or set up a group-surfing session.
  • the group-surfing server 140 receives the session-creation message 151.
  • the group-surfing server 140 (1) creates the group-surfing session, and (2) informs the participants in the group-surfing session.
  • the method 200 continues at the flow point 220.
  • the group-surfing server 140 is ready to add web clients 110 to a group-surfing session.
  • a second (or further) web client 110 sends a session-join message 151 to the group-surfing server 140, as described above.
  • the group-surfing server 140 receives the session-join message 151.
  • the group-surfing server 140 (1) adds the new web client 110 to the group-surfing session, and (2) inform the other participants in the group-surfing session of the newly added web client 110.
  • the group-surfing server 140 sends to the new web client 110 a program fragment (preferably a Java applet and JavaScript code) that processes those pages 153 received as part of the session.
  • a program fragment preferably a Java applet and JavaScript code
  • the program fragment intercepts the request before it is sent to the web site 130, and redirects the selection to the group-surfing server 140.
  • the group-surfing server 140 is thus able to determine which next pages 153 are selected, and to assure that such next pages 153 are presented to all participating web clients 110.
  • the method 200 continues at the flow point 230.
  • the group-surfing server 140 is ready to perform a group- surfing session.
  • the group-surfing server 140 designates one or more controlling web clients 110, as described above.
  • the first web client 110 which sent the session-creation message 151, is the single controlling web client 110.
  • the controlling web client 110 receives a page 153 from the group-surfing server 140, which received that page 153 from the web site 130.
  • the controlling web client 110 selects a link 152 on the page 153
  • the selection is caught by the program fragment, which sends the selection to the group-surfing server 140 as described below (preferably using a protocol operating on top of TCP/IP).
  • the group-surfing server 140 may modify the links 152 in the page 153 before presenting that page 153 to web clients 110 participating in the session.
  • the controlling web client 110 sends a next-page message 151 to the group-surfing server 140, indicating the next page 153 in the progression of pages 153 in the session.
  • the group-surfing server 140 receives the next-page message
  • the group-surfing server 140 (1) contacts the web site 130 having that next page 153 after adding proper cookie or other identity information, and directs that target web site 130 to deliver that next page 153 to the group-surfing server 140 itself. The group-surfing server 140 then re-sends that page 153 to those web clients 110 participating in the session.
  • the group-serving server 140 in order to reduce load on the group-serving server 140, the group-serving server 140 sends only the page 153 itself without any multimedia elements (such as embedded sound, images, or program fragments). Each participating web client 110 requests those multimedia elements directly from the web site 130.
  • multimedia elements such as embedded sound, images, or program fragments
  • the page 153 is presented at each of the web clients 1 10 participating in the session.
  • the group-surfing server 140 receives a "cookie” or other data relating to identity or session from the web site 130, the group-surfing server 140 records the "cookie” in a cookie database relatively local to the group-surfing server 140 and session. Each time the group-surfing server 140 requests a page from the web site 130, the group- surfing server 140 also sends any relevant "cookies" that were received from the web site 130.
  • the step 231, the step 232, the step 233, the step 234, the step 235, and the step 236 are performed repeatedly so that the progression of pages is presented at each of the web clients 110 participating in the session.
  • a selected web client 110 is ready to leave the session.
  • the selected web client 110 sends a session-exit message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the session-exit message 151.
  • the group-surfing server 140 (1) removes the exiting web client 110 from the group- surfing session, .and (2) informs the other participants in the group-surfing session of the exiting web client 110.
  • the group-surfing server 140 (1) terminates the session, and (2) informs the participants in the group-surfing session.
  • the controlling web client 110 is ready to select web pages 153 for "look ahead.”
  • the controlling web client 1 10 sends a look-ahead-start message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the look-ahead-start message 151.
  • the group-surfing server 140 refrains from presenting following pages 153 to participants in the session.
  • the controlling web client 110 sends messages 151 to one or more web sites 130 to request pages 153 and receive information from those web sites 130, without having that information presented to participants in the session.
  • the controlling web client 110 sends a look-ahead-stop message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the look-ahead-stop message 151.
  • the group-surfing server 140 returns to presenting following pages 153 to participants in the session.
  • the controlling web client 110 is ready to select web pages 153 for "special access.”
  • the controlling web client 110 sends a special-access-start message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the special-access-start message 151.
  • the group-surfing server 140 refrains from presenting access or authentication information (such as HTML forms) to participants in the session.
  • the controlling web client 110 sends messages 151 to one or more web sites 130 to obtain access to those web sites 130, without having that information presented to participants in the session.
  • the controlling web client 110 sends a special-access-stop message 151 to the group-surfing server 140.
  • the group-surfing server 140 receives the special-access-stop message 151.
  • the group-surfing server 140 returns to regular presentation of information in pages 153 to participants in the session.
  • the controlling web client 1 10 is ready to select web pages 153 for paid access.
  • the group-surfing server 140 does not exact any payment from the web clients 1 10 participating in the session. Accordingly, all paid access is paid for by the controlling web client 110, and is effectively given away free to those web clients 110 participating in the session. The group-surfing server 140 takes no special action.
  • the controlling web client 110 is ready to select web pages 153 for participation in electronic commerce.
  • the group-surfing server 140 does not exact any payment for participation in electronic commerce. Accordingly, all electronic commerce is paid for by the controlling web client 110, and (if a service) is effectively given away free to those web clients 110 participating in the session. The group-surfing server 140 takes no special action.
  • the group-surfing server 140 may be registered as a partner or affiliate of the web site 130, and thus receives a commission from the web site 130 for electronic commerce conducted during the session.
  • the controlling web client 110 is ready to import or export information related to web sites 130.
  • the controlling web client 110 sends an import-export message 151 to the group-surfing server 140, directing import or export of information relating to web sites (such as bookmarks, "cookies," or user registrations at participating web sites 130)
  • the group-surfing server 140 receives the import-export message
  • the group-surfing server 140 imports or exports the designated information to selected databases at web clients 110 participating in the session that indicate their willingness to participate in the import or export operation.
  • the selected databases are specific to a cookie/identity database for the group-surfing session.
  • the selected databases may also be available to other applications for web use, such as bookmark and registration databases for generic web surfing.
  • the selected databases can be managed by the program fragment sent to the web client 110 from the group-surfing server 140, or by other related software .
  • personalized information includes any data collected by, from or about a user or a web site that can be stored on a personal data server.
  • Personalized information can include one or more of the following: financial information (such as bank account balances, credit information, loan information, real estate information, stock account balances, stock portfolio information, or other financial information); medical information (such as allergy information, insurance information, medication information, patient history information, or other medical information; or other information specific to an individual or not generally available to the public.
  • financial information such as bank account balances, credit information, loan information, real estate information, stock account balances, stock portfolio information, or other financial information
  • medical information such as allergy information, insurance information, medication information, patient history information, or other medical information; or other information specific to an individual or not generally available to the public.
  • Personalized information can also include information of personal interest to an individual user, even if that information is not specific to an individual and still generally available to the public, but of specific interest to the individual, such as personalized news or other generic information asked for by the individual user in a specific way.
  • Personalized information can also include information also information the individual user would use to act with, such as for performing e-commerce.
  • personalized information can include information to automate purchases, such as the individual user's name and address, credit card number, account number, delivery address and profile of delivery preferences, or the individual users' preferred account for purchases.
  • summarization and aggregation includes all techniques and methodologies for the organization, selective or nonselective segregation, linking, selective presentation and selective transfer of personalized information.
  • Summarization or aggregation can include one or more of the following: adding or totaling account balances or account values, adding or totaling securities holdings from individual accounts, computing or determining a blend of multiple sources of credit information or other financial information, or other forms of summarization or aggregation that present a more global picture from more specific information.
  • summarization or aggregation can include those forms of demographic or population grouping used in census, insurance, or market research applications.
  • Summarization or aggregation can include a default set of information to summarize or to aggregate, a selection by an individual user of preferences or what specific information to summarize or to aggregate, or a request by an individual user to summarize or aggregate using an editor or other tool.
  • personal data server includes a server device which has access to web sites that include personalized information, as described above, and can include access information or preferences of an individual user for retrieving or using that personalized information.
  • the personal data server can also have access to web sites with information of personal interest to the individual user, even when that information is not specific to that particular individual user.
  • individual user includes any person who acts either on behalf of themselves or an entity and manipulates a web client in such a way as to gain access to the Internet and who manipulates that web client so as to use, add to, aggregate, summarize, delete, or access data contained on a personal data server that is unique to them or the entity they represent.
  • web site includes any combination of devices or software taking on the role of a server in a client-server environment in the Internet, the world wide web, or an equivalent or extension thereof.
  • the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • jump page refers to a web page used by the personal data server to present personalized data that the individual user can peruse.
  • the "jump page” can also be used to navigate directly to one or more web sites having that information at hand.
  • the phrase "navigate” includes activities whereby by a an individual user uses a web client to access information and move from one web site to another web site, one web page to another web page, within a web page, and onto and off of an internet, intranet or other network.
  • ecommerce or electronic commerce includes all commercial, business, professional and investment activities conducted over the Internet, an intranet or any type of network.
  • inter-user communication and interest groups refers to any communication among users of a network or to any communication between user of a network and a USENET, or computer bulletin board, or newsgroup or the group involved in the aggregation and transfer of information.
  • limited access refers the how much of an individual user's personal data is made available to persons or entities other than the user. These limits can be set by the individual or by a pre-selected protocol. For example, an individual user may make the entirety of his medical records available to any medical professional. Alternately, the individual user may make only small portion of those records available to their personal physician.
  • persons or entities other than the individual includes all persons or entities other than the individual user. For instance, it may include a government agency, an insurer or other third party authorized to access personalized information, or a web site or other network link that attempts to retrieve information concerning an individual user.
  • meta-bookmark includes data structures and techniques for accessing a web object, including information relating to a location of that web object and information relating to access control, or authorization or identification of an entity seeking to access that web object.
  • a meta-bookmark can include one or more of the following: (1) a link or pointer to a web object ordinarily requiring a cookie or password for access, (2) a link or pointer to a partially completed form, where some of the form fields, such as a login name or a password, have restricted presentation, or (3) a link or pointer to an application or applet that compiles aggregate information from personalized information.
  • a meta-bookmark can include a bookmark such as "buy this stock,” which includes a link or pointer to a selected web site with a specific action, such as to login to a selected stockbroker, to select a stock for purchase, and to order purchase of that stock in a selected amount.
  • Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
  • a system 100 includes a set of web clients 110, a communication network 120, at least one web site 130, and a personal data server 140.
  • client and server refer to relationships between the client and the server, not necessarily to particular physical devices.
  • web client includes any combination of devices or software taking on the role of a client in a client-server environment in the Internet, the World Wide Web, or an equivalent or extension thereof.
  • the web clients 110 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
  • web site includes any combination of devices or software taking on the role of a server in a client-server environment in the Internet, the world wide web, or an equivalent or extension thereof.
  • the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • client device includes any device taking on the role of a client in a client-server relationship (such as an HTTP web client and web server).
  • client devices There is no particular requirement that any client devices must be individual physical devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • server device includes any device taking on the role of a server in a client-server relationship. There is no particular requirement that server devices must be individual physical devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
  • the web clients 110 each include a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112.
  • the web client software 111 includes software disposed for communicating with the web site(s) 130 using a communication protocol, as described below.
  • the web clients 110 each include a general-purpose computer, such as a laptop or workstation.
  • the web clients 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a web server acting as the agent for a user, or another device.
  • the web clients 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web clients 110 to the web sites 130 can each differ between pairs of connection sessions between the web clients 110 and the web sites 130.
  • the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network.
  • the communication network 120 may include any other set of communication links that couple the web clients 1 10, web site 130, and personal data server 140 so they can perform the functions described herein.
  • the communication network 120 is disposed for transporting messages 151 between any two of the web clients 1 10, the web site 130, and the personal data server 140.
  • the messages 151 are formatted in the communication protocol recognized by the web clients 110, the web site 130, and the personal data server 140.
  • the communication protocol includes TCP/IP (transfer control protocol/ Internet protocol), or HTTP (hypertext transfer protocol) a variant thereof, such as HTTPS (secure HTTP).
  • the communication protocol can include an additional protocol operating over TCP/IP.
  • the communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof.
  • those messages 151 that request information can include an identifier 152 for a requested page 153.
  • the page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a set number of links 154 to other pages 153.
  • Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
  • each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
  • the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web clients 110 or the personal data server 140 in response to requests made using the communication protocol.
  • the web site 130 includes software disposed for communicating with the web clients 110 or the personal data server 140 using the communication protocol.
  • the personal data server 140 includes a processor operating under control of both web client software 1 1 1 and web server software 141.
  • the web client software 1 11 includes software disposed for communicating with the web site(s) 130, as described below, while the web server software 141 includes software disposed for communicating with the web client 1 10, as described below.
  • the personal data server 140 includes an access database 142 or other data structure including information regarding a set of individual users.
  • the access database 142 includes, for each individual user, a set of web sites 130 having personalized information for that individual user, and a corresponding set of access information for each individual user for each web site 130, such as a login name and a password.
  • the personal data server 140 also includes authentication information for each individual user, so that the personal data server 140 only presents personalized information to the correct individual user.
  • the personal data server 140 is disposed for using the access database 142, at the request of an individual user using a web client 110, for accessing those web sites 130 in the access database 142 and obtaining a set of personalized information about the individual user.
  • the personal data server 140 includes a personalized information database 143 with this information, and dynamically generates a jump page 144 or other presentation of the personalized information for use by the individual user.
  • the jump page 144 includes at least a summary of the personalized information obtained from each web site 130, and a hyperlink or other pointer to that web site 130 for detailed review or manipulation of that personalized information by the individual user.
  • the hyperlink or other pointer includes an address, such as a URL (uniform resource locator) for the personalized information, and also includes access information for that personalized information.
  • the hyperlink or other pointer can include a sequence of web navigation operations (such as links to links, links with forms with data already completed, links requiring login names and passwords, or some combination thereof).
  • the individual user can obtain the hyperlink or other pointer from the jump page, either for later use, or for distribution to another entity.
  • the saved or transmitted hyperlink or other pointer is a meta-bookmark 145.
  • the individual user can set properties for the a meta-bookmark 145, such as a limitation on data available using the meta-bookmark 145, a limitation on distribution, a password for use, an expiration date, or some combination thereof.
  • the meta-bookmark 145 can include (or the personal data server 140 can otherwise provide), automated completion of forms and automated responses to applets, JavaScript or Java applications. This allows the individual user to provide access information to be used by the personal data server 140, either in conjunction with use of a meta-bookmark 145 or otherwise, in which the web site 130 uses a technique for access to the personalized information that is relatively more interactive than providing a cookie, login name or password.
  • Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
  • a method 200 is performed by the system 100. Although the method 200 is described serially, the steps of the method 200 can be performed by separate elements in conjunction or in parallel, whether asynchronously, in a pipelined manner, or otherwise. There is no particular requirement that the method 200 be performed in the same order in which this description lists the steps, except where so indicated.
  • the personal data server 140 is ready to receive a request from an individual user for personalized information.
  • the individual user manipulates a web client 1 10 so as to access the communication network 120 and establish a connection between the web client 1 10 and the personal data server 140.
  • the personal data server 140 identifies and authenticates the individual user at the web client 110.
  • the personal data server 140 can perform this step using a cookie stored at the web client 110, or using a login name or password for the individual user, a digital identifier, or any other form of identification and authentication.
  • the digital identifier can include one for a hardware device operating as part of the web client 1 10, including a processor, a cellular telephone ELN, a caller-ID telephone number, or an identifier from an Internet service provider.
  • a hardware device operating as part of the web client 1 10 including a processor, a cellular telephone ELN, a caller-ID telephone number, or an identifier from an Internet service provider.
  • a device not directly coupled to the Internet such as a handheld computer (such as a Palm Pilot), a pager, or a telephone (cellular or with interactive voice response).
  • the personal data server 140 retrieves, from its access database 142, access information for the individual user.
  • the personal data server 140 uses the access information to contact each web site 130 associated with the individual user, and to obtain personalized information for that individual user.
  • the personal data server 140 dynamically, in response to the personalized information it gleaned in the step 214, generates a jump page 144 for the individual user. As part of this step, the personal data server 140 computes or determines any aggregate information, in response to a profile it maintains for the individual user (or in response to a request by the individual user), for inclusion on the jump page 144.
  • At least a portion of the jump page 144 can be prepared in advance of the request made by the individual user, such as prepared in advance at a selected time of day or at a selected frequency. Moreover, at least a portion of the jump page 144 can be updated in response to a selected time of day, a selected frequency, at the request of the individual user, or in response to information from the web site.
  • the personal data server 140 sends the jump page 144 to the web client 110 so as to present the personalized information to the individual user for review.
  • the individual user manipulates the web client 1 10 to review the jump page 144, and determine whether to perform further operations with regard to the personalized information. If so, the method 200 proceeds with the next step. If not, the method 200 proceeds at the flow point 210 or the flow point 220 or the flow point 230.
  • the individual user manipulates the web client 1 10 to perform further operations with regard to the personalized information.
  • the individual user can perform one or more of, or some combination of, the following operations:
  • the individual user can select a hyperlink or pointer on the jump page 144 to "click through” to a selected web site 130 having personalized information. As part of this operation, the individual user can manipulate the web client 110 so as to interact directly with the web site 130 with regard to the personalized information (or other information).
  • the individual user can save or send a hyperlink or pointer on the jump page 144 as a meta-bookmark 145.
  • the individual user can review and manipulate personalized information at the web site 130 using the hyperlinks or pointers on the jump page 144.
  • the personal data server 140 is ready to receive a request from an individual user to alter access information or preferences.
  • the individual user manipulates a web client 110 so as to access the communication network 120 and establish a connection between the web client 110 and the personal data server 140. If the connection was already established at the step 211, this step is optional.
  • the personal data server 140 identifies and authenticates the individual user at the web client 1 10. If identification and authentication were already performed at the step 212, this step is optional.
  • the personal data server 140 dynamically, in response to the access information or preferences it maintains for the individual user, generates an access or preference page for the individual user, similar to the jump page 144.
  • the access data may include at least one or more of, or some combination of, the following: name, address, Social Security number, names and ages of children, clothing sizes, medical information pertaining to the user, their spouse or other family number, type, date and amount of past purchases, number and type of pets, income data, address of user's work, users work phone numbers, links to web sites, information gleaned from other web sites.
  • the personal data server 140 sends the access or preference page to the web client 110 so as to present the access or preference information to the individual user for review.
  • a step 225 similar to the step 217, the individual user manipulates the web client 110 to review the access or preference page, and determine whether to perform further operations with regard to the personalized information. If so, the method 200 proceeds with the next step. If not, the method 200 proceeds at the flow point 210 or the flow point 220 or the flow point 230.
  • the individual user manipulates the web client 110 to perform further operations with regard to the personalized information.
  • the individual user can perform one or more of, or some combination of, the operations described with regard to the step 218.
  • the personal data server 140 is ready to receive a request from an individual user to allow access to personalized information by other entities.
  • a step 231 similar to the step 21 1 , the individual user manipulates a web client 110 so as to access the communication network 120 and establish a connection between the web client 110 and the personal data server 140. If the connection was already established at the step 211, this step is optional.
  • the personal data server 140 identifies and authenticates the individual user at the web client 110. If identification and authentication were already performed at the step 212, this step is optional.
  • the personal data server 140 records the request from an individual user to allow access to personalized information by other entities.
  • an entity other than the individual user can establish a connection with the personal data server 140, identify and authenticate itself as an entity authorized to review personal information for one or more individual users, and access that personalized information.
  • the personal data server 140 allows only aggregate or otherwise limited access to the personalized information, as directed by the individual user.
  • the individual user might choose to aggregate medical information or aggregate information concerning family pets. Limited access to aggregated information ensures that only relevant information is sent to the other entity. Thus, aggregating medical data for family members and veterinary data for pets, the individual user can restrict their childrens' medical records from being set to a veterinary service.
  • the method 200 continues at the flow point 210 or the flow point 220 or the flow point 230.
  • the invention has general applicability to various fields of use, not necessarily related to e-commerce as described above.
  • these fields of use can include one or more of, or some combination of, the following:
  • the individual user can use personalized information (either aggregated, limited, or not), to conduct automated form completion, without having to repeatedly provide that information.
  • the individual user can permit access to personalized information (either aggregated, limited, or not), by other entities to facilitate these or related techniques.
  • the individual user can use personalized information (either aggregated, limited, or not), to conduct e-commerce without having to repeatedly provide that information.
  • the individual user can permit access to personalized information (either aggregated, limited, or not), by other entities to facilitate e-commerce.
  • automated new-user registration in general, a technique for registering a new user with a web site, in which personalization information about the user is sent to the web site in an automated manner and without need for substantial user input
  • data input in general, sending data from a web client to a web site that requests that data
  • descriptive text in general, text or other descriptive presentation information (such as a graphic, a picture, or an icon) indicative of the nature of data requested for a selected field of a structured data input form
  • structured data forms in general, structured data forms having differing purposes, such as (1) requesting information to register a new user with a web site, (2) logging in an already-registered user with a web site, or (3) completing, approving or confirming an e-commerce transaction
  • forms for structured data input in general, a structured presentation, such as a graphic or picture, used to request data input from a user (typically an HTML or XML form)
  • helper application in general, software at the web client used to assist the personalization software in recognizing web pages and differing types of structured data forms
  • input field in general, a logical data field designated to request selected types of information from the user
  • logical field value in general, a logical descriptor of a type of information requested for a selected input field
  • meta-bookmark in general, a command, selected through a bookmark or another user interface element at the client, that associates a selected web page or URL, such as a current web page or URL, with a script or program fragment for taking selected actions with regard to that web page or URL
  • multiple or partial data values in general, a reassignment of partial data values or multiple data values for a single selected input field of a structured data form, such as distinguishing (year, month, day) for a single value of (date), or combining multiple values of (address, state, country) into a single value of (postal address)
  • personalization server in general, a device used to assist the web client in sending personalized information to one or more web sites
  • personalization software - in general, software at the personalization server or at the web client used to assist the web client in sending personalized information to a web site, which collects information about a user or sending the information directly from the personalization server to the web site
  • pre-recorded personal information in general, information used by the personalization software, describing the user of the web client • program fragment — in general, software at the web client (such as JavaScript, a Java applet, or another type of macro language program) for performing a selected programmable activity with regard to a web page (or URL)
  • screen location in general, a positional reference in a presentation of data to the user, such as a selected line of a structured data form
  • web browser in general, web client software for use by a user
  • web page for confirming an e-commerce transaction in general, a web page (whether statically or dynamically generated) having the purpose of requesting information for, or confirmation of, an e-commerce transaction
  • web page for new-user registration in general, a web page (whether statically or dynamically generated) having the purpose of requesting information about a new user to be registered at a web site
  • web page for user login in general, a web page (whether statically or dynamically generated) having the purpose of requesting information about a user who has already been registered at a web site
  • System Elements Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
  • a system 100 includes a web client 110, a web site 120, a communication link 130, and a personalization server 160.
  • the web client 110 includes a processor, program and data memory, and mass storage, operating under control of web client software (not shown) to perform the functions of a web client or web browser.
  • the web client is operated by a user 1 1 1, and includes an input device 112 and a presentation device 113.
  • the web client software can include the "Netscape Navigator” product from America On Line or the "Internet Explorer” product from Microsoft Corporation.
  • the web site 120 includes a processor, program and data memory, and mass storage, operating under control of web server software (not shown) to perform the functions of a web server or web site.
  • the web site 120 includes a set of web pages 121 for sending to the web client 110 (upon request of the web client 110), including at least one web page 121 having a structured data form 122 for requesting information from the web client 110.
  • the communication link 130 includes a technique for sending and receiving messages between the web client 110 and the web site 120.
  • the communication link 130 includes an Internet, intranet, extranet, virtual private network, or other technique for communication.
  • the communication link 130 operates using the HTTP protocol (or a variant thereof), so as to send and receive web page requests and web pages.
  • the personalization server 160 includes a processor, program and data memory, and mass storage, operating under control of personalization software 140 to perform the functions described herein.
  • System Data Flow Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
  • the system 100 includes a set of data flows for sending and receiving information between the web client 1 10 and the web site 120, using the communication link 130.
  • a data flow 210 includes a set of messages between the web client 110 and the web site 120, in which the web client 110 is assisted by a set of personalization software 140 logically local to the web client 1 10 to enter data for structured data forms, so as to send that data to the web site 120.
  • the web client 1 10 sends a message 21 1 to the web site 120, requesting a selected web page.
  • the web site 120 responds to the message 211 by sending a message 212 to the web client 110, presenting a structured data form and requesting information from the web client 110.
  • the web client 110 recognizes the structured data form, using the personalization software, which assists the user with data input.
  • the web client 110 collects the information responsive to the structured data form (whether from the personalization software or from the user) and sends a message 213 with that information to the web site 120. As part of doing so, the web client 110 can obtain the information from the personalization server 160 when that information is available at the personalization server 160, or from the user of the web client 110.
  • a data flow 220 includes a set of messages between the web client 1 10 and the web site 120, in which the web client 1 10 is assisted by the personalization software 140 to perform a program fragment associated with a meta-bookmark.
  • the web client 1 10 sends a message 221 to the web site 120 requesting a selected web page.
  • the web site 120 sends a message 222 to the web client 1 10 including the selected web page.
  • the personalization software 140 at the web client 1 10 performs the following tasks
  • a data flow 230 includes a set of messages to the web site 120, in which personalization software 140 at the personalization server 160 performs automated new-user registration for the user of the web client 110 at a plurality of web sites 120.
  • the personalization software 140 sends a message 231 from the personalization server 160 to a set of selected web sites 120 including a request for a new-user registration web page.
  • Each selected web site 120 sends a message 232 to the personalization server 160 including the new-user registration web page.
  • the personalization software 140 at the personalization server 160 responds to each new-user registration web page by sending a message 233 to the associated web site 120 including information for registering the user at that web site 120.
  • a data flow 240 includes a set of messages between the web client 1 10 and the web site 120, in which a helper application 150 assists the personalization software in recognizing differing types of structured data forms and directing the personalization software how to enter data for those differing types of structured data forms.
  • the web client 110 sends a message 241 to a selected web site 120 including a request for a selected web page.
  • the web site 120 sends a message 242 to the web client 110 including the selected web page.
  • the helper application 150 intercepts the selected web page, and determines if the web page is a web page for user registration, a web page for user login, or a web page for confirming an e-commerce transaction. The helper application 150 so informs the personalization software 140.
  • the personalization software 140 exchanges a sequence of messages 243 with the web site 120, in which the personalization software 140 sends information requested by the web site 120 to perform operations associated with the web page.
  • Method of Operation Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
  • a method 300 includes a set of flow points and steps.
  • the user operating the web client 1 10 is ready to be assisted by personalization software that identifies forms for structured data input and assists the user with data input.
  • the user operating the web client 110 selects a web page at the web site 120.
  • the web site 120 sends the web page to the web client 110.
  • personalization software 140 identifies the web page as including a structured data form for data input.
  • the personalization software 140 identifies each relevant input field in the form with a set of descriptive text.
  • the descriptive text includes information presented as part of the web page for the user of the web client 1 10 to determine what information is being requested.
  • the personalization software 140 associates each set of descriptive text with a logical field value.
  • the personalization software 140 references each set of descriptive text with a dictionary of likely descriptive text, and thereby associates each set of descriptive text with a logical field value.
  • the descriptive text is the character string "NAME”
  • the logical field value can indicate that the requested data is ⁇ name of user>.
  • the personalization software 140 associates each relevant input field in the form with a screen location for presentation, such as with a specific set of descriptive text or a specific logical field value responsive to a proximity relationship between screen location for title and content in the form.
  • the screen location can be a relative position with regard to a second screen location for a second set of descriptive text.
  • the personalization software 140 associates each screen location with a logical field value. For example, the personalization software 140 can determine that a screen location for requesting ⁇ name of user> is likely to be placed above a screen location for requesting ⁇ address of user>.
  • the personalization software 140 associates each logical field value with multiple data values or partial data values. For example, as noted above, the logical field values for ⁇ first name> and ⁇ last name> might be combined into a single logical field value for ⁇ name of user>.
  • the personalization software 140 identifies personalization information associated with each logical field value, and sends that information to the web site 120 in association with each logical field value. In a preferred embodiment, this step is performed without requirement for substantial user input. In alternative embodiments, the user may be asked for confirmation (or for completing unknown values) of one or more items of data for such logical field values.
  • Figure 11 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
  • a method 400 includes a set of flow points and steps.
  • the user operating the web client 110 is ready to be assisted by personalization software that performs a meta-bookmark.
  • the user operating the web client 1 10 selects a web page at the web site 120.
  • the web site 120 sends the web page to the web client 110.
  • personalization software 140 identifies the web page as being associated with a meta-bookmark (and thus being associated with a script or program fragment to be performed).
  • the personalization software 140 identifies the associated script or program fragment associated with the meta-bookmark. [*** on the server ***]
  • the personalization software 140 performs the associated script or program fragment associated with the meta-bookmark.
  • Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
  • a method 500 includes a set of flow points and steps.
  • the user operating the web client 110 is ready to be assisted by personalization software that performs automated new-user registration for the user of the web client 110 at a plurality of web sites 120.
  • the personalization software 140 sends the message 231 to a set of selected web sites 120 including a request for a new-user registration web page.
  • each selected web site 120 sends the message 232 to the web client 110 including the new-user registration web page.
  • the personalization software 140 responds to each new-user registration web page by sending the message 233 to the associated web site 120 including information for registering the user at that web site 120.
  • Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
  • a method 600 includes a set of flow points and steps.
  • the personalization software 140 at the web client 1 10 is ready to be assisted by the helper application 150 that assists the personalization software in recognizing differing types of structured data forms and directing the personalization software how to enter data for those differing types of structured data forms.
  • the web client 1 10 requests a selected web page from the web site 120.
  • the web site 120 sends the selected web page to the web client
  • the helper application 150 intercepts the selected web page, and determines if the web page is a web page for user registration, a web page for user login, or a web page for confirming an e-commerce transaction.
  • the helper application 150 informs the personalization software 140 of the web page type.
  • this step includes a sub-step 615(a), in which the personalization software 140 performs operations suited to a web page for user registration; an alternative sub-step 615(b), in which the personalization software 140 performs operations suited to a web page for user login; and an alternative sub-step 615(c), in which the personalization software 140 performs operations suited to a web page for confirming an e-commerce transaction.
  • Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
  • a method 700 includes a set of flow points and steps.
  • the personalization software 140 at the personalization server 160 is ready to automate recognition of recognizing differing types of structured data forms and entering data those differing types of structured data forms directly from the personalization server 160.
  • the web client 1 10 requests a selected web page from the web site 120.
  • the web site 120 sends the selected web page to the web client 110.
  • the helper application 150 intercepts the selected web page, and determines if the personalization software 140 at the personalization server 160 is able to automate operations from the selected web page.
  • the personalization software 140 at the personalization server 160 automates operations, on behalf of the user of the web client 1 10, from the selected web page.
  • the personalization software 140 at the personalization server 160 determines the type of the web page (similarly to the method 600) and responds to the web site 120 (similarly to the method 600).
  • this step includes the performance by the personalization software 140 at the personalization server 160 of all operations needed to perform operations for the selected web page (and any successor web pages), so that the user need not enter substantial data to perform operations for the selected web page.
  • the personalization software 140 at the personalization server 160 can automate (a) the entire process of logging the user of the web client 110 into a web site, and (b) the entire process of completing and confirming an e- commerce transaction at the web site on behalf of the user of the web client 110.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

The invention provides a method and system for access to personalized web sites. A user can maintain a single set of authentication information for access to multiple restricted web sites. The invention provides an improved technique for group access to web sites. Multiple related users can simultaneously access a sequence of web sites, such that each of the related users has substantially the same content presented at the same times. The invention provides a technique for summarization and aggregation of presonalized information. A personal data server obtains information for users, on their behalf, from one or more web sites having that information and presents that information to those users in a convenient format. The invention provides a method and system for automated and intelligent structured data input.

Description

PERSONALIZED ACCESS TO WEB SITES
Background of the Invention
1. Field of the Invention
This invention relates to web access; to summarization and aggregation of personalized information, such as used in conjunction with an internetworking environment; and to structured data input and automatic form processing, such as used with the world wide web (including wireless uses).
2. Related Art
I. One aspect of the internet which has become popular is access to the world wide web, in particular, access by web client devices or software to information provided by web servers (also known as "web sites"). Some of these web sites provide information or services only to a set of users (operators of web clients) to which access is restricted, or provide information that is personalized to registered users. For a first example, users may be required to register, to identify themselves at connection to the web site, and to authenticate themselves to the satisfaction of the web site, before the web site grants that user access to certain information or services. For a second example, users may be required to identify and authenticate themselves before the web site provides information personalized to that user, such as information likely to be of particular interest to that user. For a third example, some web sites allow unrestricted access to a first set of public information, and only restricted access to a second set of restricted information.
As the number of such web sites becomes relatively larger, a first problem in the known art is management of information relating to those web sites, including access parameters and authentication information (such as passwords). For example, the user might be required to maintain (either offline or online) information regarding each such web site, including authentication information (such as a user name and password, a digital certificate, or a hardware address) that may differ for different web sites. Some attempts have been made in the known art to address this problem, such as software that maintains records of authentication information for different web sites, or by maintaining the information in "cookies" (data objects) recorded at the web client. These known methods are subject to several drawbacks. First, it is difficult to use the same web site from different physical web client device, and is also difficult to distinguish among different users of a single web site all using the same physical web client device. Second, the use of "cookies" or other data objects recorded at the web client device (such as a laptop or workstation) implies that any user who has physical control of the device will have access to the web sites.
Accordingly, it would be advantageous to provide a technique in which a user can maintain authentication information (such as a user name and password) for multiple different web sites, and be able to access those different web sites using a single set of authentication information.
A second problem in the known art is that it is inconvenient to re-enter or update the information for multiple web sites, particularly when the number of web sites becomes relatively large. Some attempts have been made in the known art to address this problem, such as software that maintains records of authentication or demographic information and attempts to interact automatically with the web site requesting the information. These known methods are subject to the drawback that different web sites can and often do request similar information in quite different formats. Moreover, it would be advantageous for a single user to be able to select from multiple profiles for use with different web sites, so as to personalize the information obtained from that web site, or so as to discourage dissemination of personal information.
A third problem in the known art is that a first user may desire to allow a second user temporary access to the first user's registered account at a selected web site. Using known techniques for authentication, such as a user name and password, the first user cannot assure any limitations on the second user's temporary access. Most servers would even allow the second user to change the associated password, and thus deny future access to the first user. An aspect of this problem is that the first user might desire to grant only restricted access rights to the second user, so as to restrict the second user from performing banking or commercial transactions using the first user's account.
A fourth problem in the known art is that each such web site will often request an email address from the user, so as to send advertisements and possibly other "junk" email to the user. This can become a nuisance when the user is registered with multiple web sites. It would be advantageous if the user could separate out email from web sites, so as to be able to control email from those web sites. For example, the user could desire to treat differently email that is not sent automatically (and thus is more likely to be of real interest to the user).
Accordingly, it would be desirable to provide an improved technique for access to personalized web sites. A first aspect of the invention is that a user can maintain and select from a set of multiple profiles for use with a selected web site. This can aid the user in presenting only desired information to the selected web site. A second aspect of the invention is that a user can maintain a single set of authentication information for access to multiple restricted web sites, along with bookmark information for the web site, for access from additional locations. A third aspect of the invention is that a first user can allow a second user (or a set of such second users) temporary access to a set of web sites, possibly with the temporary access restricted to a subset of the information or services offered by those web sites. A fourth aspect of the invention is that the user can separate out and treat differently email from those web sites. This can aid the user in filtering out unwanted email.
II. One aspect of the internet which has become popular is access to the world wide web, in particular, access by web client devices or software to information provided by web servers (also known as "web sites"). Individual users, using web client software, request information from web sites and receive information in response to those requests. Each web site can include information in a variety of forms, including text, other media, and links, which are delivered for presentation to the user. The user can follow the links to other and further web sites, in a process sometimes called web "surfing."
One problem in the known art is that individual users perform web surfing without reference to other individual users. Although it is possible for multiple users to access the same web site at once, there is no convenient and simple technique in the known art for those users to coordinate following links to other and further web sites. Similarly, there is no convenient and simple technique in the known art for providing, for a group of related users, simultaneous access to a sequence of web sites.
Accordingly, it would be desirable to provide an improved technique for group access to web sites. This is achieved in an embodiment of the invention in which multiple related users can simultaneously access a sequence of web sites (web surfing), such that each of the related users has substantially the same content presented at the same times. In a first embodiment, a selected one of the related users controls the web surfing process. In a second embodiment, a selected plurality of the users collectively control the web surfing process.
III. One aspect of the Internet which has become popular is access to World Wide Web, in particular, access by web client devices or software to information provided by web servers (also known as "web sites"). Individual users, using web client software, request information from web sites and receive information in response to those requests. Each web site can include information in a variety of forms, including text, other media, and links, which are delivered for presentation to the user. The user can follow the links to other and further web sites, in a process sometimes called web "surfing."
One problem in the known art is that individual users develop a substantial amount of personalized information, stored at different web sites in different formats, and with differing methods of access. Although it is possible for an individual user to retrieve and aggregate that individual's personalized information from a plurality of web sites, there is no convenient and simple technique in the known art to do so. Rather, it typically takes significant time navigating differing data formats and methods of access imposed by different web sites.
Accordingly, it would be desirable to provide an improved technique for summarization and aggregation of personalized information. This is achieved in an embodiment of the invention in which a personal data server obtains personalized information for individual users, on their behalf, from one or more web sites having that information, and presents that personalized information to those individual users in a convenient format. The convenient format can include a technique for presentation that allows aggregation, modification, or summarization.
The invention provides an enabling technology for summarization and aggregation of personalized information, to obtain substantial advantages and capabilities that are novel and non-obvious in view of the known art. Examples described below relate to information for electronic commerce ("e-commerce"), but the invention is broadly applicable to many different types of personalized information or transactions.
IV. One aspect of the Internet that has become popular is access to the world wide web, in particular access by web client devices or software (also known as "web browsers") to information provided by web servers (also known as "web sites"). Some of these web sites provide structured forms for data input, such as HTML or XML forms, table entry of data, and other techniques. These structured forms for data input can be used for a variety of data- capture purposes. Some examples could include registration of a new user, adding a product to a "shopping cart" or other electronic commerce technique, and purchasing a product (or purchasing a set of products already identified using a shopping cart).
One problem in the known art is that entering data for such forms is repetitive and relatively uninteresting for the human user. This takes unnecessary time away from other activities the user could be performing. It can present a barrier to web site usage, and can also present a barrier to effective sales and rapid order fulfillment.
Another problem in the known art is that it is not practical to complete manual data entry for such activities when the user is accessing the internet through a small-screen device or a bandwidth constrained network, such as in wireless internet access.
One known method is to record information for such forms logically local to the user's web client, such as on the user's computer in the form of a "cookie" or other structured data. While this method generally achieves the objective of allowing the user to repeatedly use a web site without having to re-enter the same information, it is subject to several drawbacks. First, it is generally inapplicable when the user is presented with a request for data input from a new web site, as that new web site does not retrieve the relevant information from the cookie. Second, it is generally inappliable when a user is accessing the web site from more than one client device. Third, the relatively weak security associated with cookies militates against storing confidential information, such as credit card information.
A second known method is the "One Click shopping" method available at the web site "amazon.com," in which allows automation of transactions for all users at the specific web site. While this method generally achieves the objective of allowing the user to repeatedly use a web site without having to re-enter the same information, it is subject to the drawback that it works only with those specific web sites that have directly linked their server software with the One Click shopping server software and database.
Accordingly, it would be advantageous to provide a technique for automatically completing such forms, without having to obtain input from a human user regarding what information properly belongs in which fields of the form, that is not subject to drawbacks of the known art.
Summary of the Invention
I.
The invention provides a method and system for access to personalized web sites. In a first aspect of the invention, a user can maintain and select from a set of multiple profiles for use with a selected web site. In a second aspect of the invention, a user can maintain a single set of authentication information for access to multiple restricted web sites, along with bookmark information for the web site, for access from additional locations. In a preferred embodiment, the user can use the single set of authentication information to manage multiple restricted web sites, including monitoring usage of cost-based services and being able to control or provide automated renewal of such services. In a third aspect of the invention, a first user can allow a second user (or a set of such second users) temporary access to a set of web sites, possibly with the temporary access restricted to a subset of the information or services offered by those web sites. In a fourth aspect of the invention, the user can separate out and treat differently email from those web sites. II. The invention provides an improved technique for group access to web sites. Multiple related users can simultaneously access a sequence of web sites, such that each of the related users has substantially the same content presented at the same times. In a first embodiment, a selected one of the related users controls the web surfing process. In a second embodiment, a selected plurality of the users collectively control the web surfing process. In a first aspect of the invention, the group surfing process can be used in conjunction with a communication technique between and among groups of users involved in the web surfing process, such as telephone communication, voice over IP, or Internet chat. In a second aspect of the invention, the group surfing process can be used in conjunction with other network functions, such as electronic commerce, on-line or otherwise remote training, virtual displays or tours, telemedicine or other process telecontrol, or consulting (such as in the fields of finance, advertising or marketing). More generally, the group surfing process can be used in conjunction with functions that could otherwise occur on display before an in-person audience.
III. The invention provides an improved technique for summarization and aggregation of personalized information. A personal data server obtains personalized information for individual users, on their behalf, from one or more web sites having that information, and presents that personalized information to those individual users in a convenient format. The convenient format can include a technique for presentation that allows aggregation, modification, or summarization.
In a first aspect of the invention, the personal data server maintains information for a set of individual users so as to be able to retrieve, on their behalf, personalized information from one or more web sites having that information. The personal data server presents that personalized information in a dynamically generated "jump page" that the individual user can peruse and use to navigate directly to one or more web sites having that information at hand. The personal data server also aggregates or summarizes that information so that the individual user can view a more global presentation without having to individually navigate to each web site having personalized information about or selected by that individual user. The aspect has broad applicability to e-commerce and electronic banking, to inter-user communication, and to inter-user interest groups.
In a second aspect of the invention, the personal data server can be used to provide only limited or only aggregate access to personalized information to persons or entities other than the individual for which the information is personal. The personal data server can collect information approved for collection by a set of individual users, aggregate or summarize that information, and present only the aggregate or summary to a reviewing person or entity. This aspect has broad applicability to census and polling data, market surveys and other data collection, and to inter-user communication.
IV. The invention provides a method and system for automated and intelligent structured data input. A user operating a web browser to access a web site is assisted by personalization software that identifies forms for structured data input and assists the user with data input. In a preferred embodiment, operations described herein can be performed automatically on the personalization server (or other server) on behalf of the user.
In a first aspect of the invention, the personalization software, when possible, associates each set of descriptive text with a logical field value, when possible associates screen locations for each relevant input field with a logical field value, and when possible associates logical field values with multiple data values or partial data values. Having associated logical field values for each relevant input field, the personalization software provides data input for those fields without substantial requirement for user data input, and when operating on the server, is capable of returning the appropriate data to the third party web site. In a preferred embodiment, the data input for those fields can include pre-recorded personal information about the user, such as pre-recorded data for the user's name, address, telephone number, credit card information, demographic information, and preferred login name or password. This first aspect of the invention has applicable uses including automatic registration of a user at a new web site, automatic login using the login page of a web site, and form filling for checking out purchases from multiple web sites. In a second aspect of the invention, the personalization software uses a "meta- bookmark," which links an identifier of a web page (such as a URL) and an association of that web site location with a script or program fragment to be executed for that web page to send appropriate information to the personalization server. The meta-bookmark thus allows the personalization software to either (a) complete the transaction on that server, or (b) send back the appropriate information to the client so the transaction can be completed on the client while keeping most confidential and other data on the personalization server. The personalization software is thus able to perform a plurality of actions with regard to the web page (and with regard to successor web pages), including entering data into forms, checking that data against a confirmation page, and confirming that the data received by the web site is correct. This second aspect of the invention has applicable uses including automatic performance of an e-commerce operation, such as supplying credit card information and confirming an e-commerce transaction.
In a third aspect of the invention, a helper application assists the personalization software in recognizing differing types of structured data forms and and is directed by the personalization software for entering data for those differing types of structured data forms. For example, the helper application can determine differences between a web page for new-user registration, a web page for user login, and a web page for confirming an e-commerce transaction, and can complete these pages directly without substantial assistance from the user, using information from the personalization software.
In a fourth aspect of the invention, the personalization software performs automated new-user registration for the user of the web client at a plurality of web sites. Personalization information is collected for the user and sent to each web site in the individual format that web site requests. If one or more web sites request further personalization information not already entered by the user, the personalization software can request that further personalization information at once, so as to send it to those one or more web sites.
In a fifth aspect of the invention, the personalization server automates the checkout process for purchases on many different Web sites, automatically processing the multiple web pages required by each shopping store independently, and successively completing each of them with the purchasing agent and using the relevant user information it has on hand.
The invention provides an enabling technology for a wide variety of applications for structured data input, and for automated or intelligent access to logically remote information requesters. Examples described below relate to personalized web sites and to e-commerce, but the invention is broadly applicable to many different types of information exchange, including many different types of information transactions and interactions between and among communicating computers and to computer software.
Brief Description of the Drawings
I. Figure 1 shows a block diagram of a system for access to personalized web sites.
Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
II.
Figure 3 shows a block diagram of a system for group access to web sites.
Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
III. Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
IV. Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
Figure 1 1 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
Detailed Description of the Preferred Embodiment
In the following description, a preferred embodiment of the invention is described with regard to preferred process steps and data structures. Those skilled in the art would recognize after perusal of this application that embodiments of the invention can be implemented using one or more general purpose processors or special purpose processors or other circuits adapted to particular process steps and data structures described herein, and that implementation of the process steps and data structures described herein would not require undue experimentation or further invention.
I. System Elements Figure 1 shows a block diagram of a system for access to personalized web sites.
A system 100 includes at least one web client 1 10, a communication network
120, at least one web site 130, and a personalization server 140.
As used herein, the terms "client" and "server" refer to client-server relationships between client and server, not necessarily to particular physical devices.
As used herein, the phrase "web client" includes any combination of devices or software taking on the role of a client in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web clients 110 must be individual devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
As used herein, the phrase "web site" includes any combination of devices or software taking on the role of a server in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web sites 130 must be individual devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
The web client 110 includes a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112. In a preferred embodiment, the web client software 111 includes software 113 disposed for communicating with the web sites 130 using a communication protocol, possibly including data 114 stored locally at the web client 110 regarding those web sites 130.
In a preferred embodiment, the web client 1 10 includes a general-purpose computer, such as a laptop or workstation. However, the web client 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a telephone system with interactive voice response, or a web server acting as the agent for an user. In alternative embodiments, the web client 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web client 1 10 to the web site 130 can each differ between pairs of connection sessions between the web client 1 10 and the web site 130.
In a preferred embodiment, the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network. In alternative embodiments, the communication network 120 may include any other set of communication links that couple the web client 1 10, web site 130, and personalization server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151 between any two of the web client 1 10, the web site 130, and the personalization server 140. The messages 151 are formatted in the communication protocol recognized by the web client 110, the web site 130, and the personalization server 140. In a preferred embodiment, the communication protocol includes HTTP (hypertext transfer protocol) or a variant thereof, such as SHTTP (secure HTTP). The communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof. Although the description refers herein primarily to HTTP, those of ordinary skill in the art will recognize, after perusing this application, that use of the invention with other protocols would not require new invention or undue experimentation.
In a preferred embodiment, those messages 151 that request information can include an identifier 152 for a requested page 153. The page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a number of links 154 to other pages 153. Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
In a preferred embodiment in which the communication protocol includes HTTP or a variant thereof, each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web client 110 in response to requests made using the communication protocol. In a preferred embodiment, the web site 130 includes software 133 disposed for communicating with the web client 110 using the communication protocol, and includes authentication or personalization data 1 14 (or techniques) stored locally at the web server 130 regarding those web clients 110.
In a preferred embodiment, the personalization server 140 includes a processor operating under control of personalization software 141, disposed for performing the functions described herein, including maintaining information 142 about relationships between the web client 1 10 (or a user thereof) and the web site 130. In a preferred embodiment, the personalization software 141 includes software 143 disposed for communicating with the web clients 1 10 and the web sites 130 using the communication protocol, and includes an authentication and personalization database 144 stored locally at (or otherwise accessible by) the personalization software 141, regarding those web clients 110 and web sites 130.
Interactions between System Elements
The web client software 111 is disposed for sending a message 151 to the personalization server 140, to request the personalization server 140 to respond and perform functions described herein. In a preferred embodiment, the message 151 is responsive to an action by the user of the web client software 111, such as by selecting a web page or a link to a web page.
The personalization software 141 is disposed for receiving the first message
151 from the web client software 111. The personalization software 141 uses information in the first message 151 from the web client software 111 to navigate to the selected web site and to identify and authenticate the user at the selected web site. The personalization software 141 can perform these functions in one or more, or a combination of, the following ways:
o The personalization software 141 can send a second message 151 to the web site 130, to request the web site 130 to respond and perform functions described herein.
When using this first method, the personalization software 141 communicates directly with the web site 130, so as to identify and authenticate the user.
When using this first method, the web server software 131 is disposed for receiving the second message 151 from the personalization software 141, and for responding thereto. After proper identification and authentication, the web server 131 sends further messages 151 directly to the web client 1 10 using the networkl20.
o The personalization software 141 can send additional information (such as parameters in an HTTP message 151) to direct the web client software 1 11 to perform functions as described herein.
When using this second method, web client software 1 1 1 (using the additional information) directly requests appropriate information (such as a login or registration form) from the web site, and to respond with appropriate information to identify and authenticate the user (such as to respond with a completed registration form).
When using this second method, the personalization software 141 preferably supplies the additional information for the web client software 111 in an encrypted or otherwise encoded form, so that the user of the web client software 111 does not obtain identification and authentication information directly. Encryption also provides additional security while sending messages 151 across the network 120.
The functions for the web site 130 are not substantially different from those performed by the web site 130 in response to similar requests from others, including possibly the web client software 11 1. Accordingly, there is no particular requirement that the web server 130 be modified to operate in conjunction with the web client software 11 1 and the personalization server 140 to perform the functions described herein.
After registration is accomplished, the web server software 131 can respond either directly to the personalization server 140 (with a third message 151 ) or directly to the web client 110 (with a fourth message 151), as directed by the personalization software 141.
Registering the User with the Personalization Server
The personalization server 140 is disposed to maintain authentication and personalization information about the user at the web client 1 10, to record that information in its database 144, and to communicate (directly or indirectly) with the web site 130 regarding that information.
When the user at the web client 1 10 wishes to register with the personalization server 140, the web client software 11 1 sends a message 151 to the personalization server 140 requesting a registration page 153. The personalization server 140 sends the registration page 153 to the web client software 1 11, which presents the registration page 153 to the user.
The registration page 153 includes a form, applet, or other structure for gathering information from the user. In this way, the personalization server 140 requests authentication and personalization information about the user. Upon receiving that information, the personalization server 140 records it in its database 144. Although the personalization server 140 records information about the user at first registration of that user with the personalization server 140, the user can at other and further times add or modify that information, or add or modify profiles for use with web sites 130, independent of actual use of any selected web site 130.
In a preferred embodiment, the authentication and personalization information about the user includes a username and a password. Methods of username and password authentication are known in the art of computer security. In alternative embodiments, the personalization server 140 may use other and further authentication techniques in addition to or instead of username and password authentication. These other and further authentication techniques can include any one of, or some combination of, identification using the following: software identification such as digital certificates or other digital encryption techniques, hardware identification such as processor identification information, "smart" cards, communication link authentication such as digital or analog telephone subscriber line identification information, or other known methods for identification or authentication. In preferred embodiments, authentication techniques can be associated with selected degrees of user access, so that greater or lesser authentication controls are placed on greater or lesser user access capabilities.
Registering At A New Web Site
The personalization server 140 is also disposed to maintain, in its database 144, information about the user at the web client 1 10. This information is preferably recorded as one or more selectable profile for the user, so that the user can select one such profile for communication, identification and personalization for one or more selected web sites 130.
When the user at the web client 110 wishes to register (and thus identify) themselves at a new web site 130, the web client 110 contacts the web site 130 in one of two ways:
o The user at the web client 110 contacts the web site 130 directly using the web client software 111.
When this first technique is used, the user at the web client 1 10 provides an identifier 152 (such as a URL) for an registration page 153 at the web site 130 to the personalization server 140. The user can use an additional command for the web client 110, or can execute an applet or complete a dialog box supplied by the personalization server 140. With this information, the personalization software 141 performs registration using a profile selected by the user at the web client 110.
The user at the web client 110 identifies a location (such as a URL) for the web site 130 to the personalization server 140. The personalization server 140 contacts the web site 130 in place of the user, as if the user had contacted the web site 130 directly using the web client software 1 1 1.
When this second technique is used, the personalization software 141 recognizes the registration page 153 at the web site 130 and performs registration using a profile selected by the user at the web client 110.
In a preferred embodiment, the personalization software 141 automatically completes the registration form 131 using any appropriate automated technique, such as known pattern matching, neural network, genetic algorithms, other techniques, or some combination thereof, to match names of requested form data fields with available profile data fields.
In a preferred embodiment, the user at the web client 110 can designate none, some, or all of the information fields in the selected profile by as confidential. If an information field is designated confidential, the personalization software 141 asks the user to confirm that the user wishes to provide that information before sending it to the web site 130.
The personalization server 140 is also disposed to maintain information about the web site 130, to record that information in its database 144, and to communicate with the web site 130 in response to that information.
It can occur that the user at the web client 110 will need to complete the profile by adding further information. In such cases, the personalization server 140 completes the registration form accordingly if the user so directs. The personalization server 140 also updates its database 144 accordingly if the user so directs. Depending upon service management choices, the personalization server 140 can update some, all, or a group of profiles selected by the user.
When the user at the web client 110 wishes to register with a new web site 130, the web client software 111 sends a message 151 to the personalization server 140 with an identifier 152 for an authentication page 153 at the web site 130. The web client software 111 requests that the personalization server 140 register the user at that web site 130. In response, the personalization server 140 sends a message 150 to the web site 130 identifying the registration page 153. The personalization server 140 uses the profile information about the user at the web client 1 10, from its database 144, to respond to the web site 130 with information requested by the web site 130 for personalization.
The personalization server 140 generates authentication information (such as a password) and records that authentication information in its database 144 in association with the user at the web client 110. For those web sites 130 that send an email message or other message back to the web client 110 with a site-selected password, the personalization server 140 intercepts that message and records the site-selected password in its database 144.
As part of authentication with a new web site, the personalization server 140 causes any links or forms 154 identified to the web site 130 to point back to pages 153 at the personalization server 140, not the web client 110. Moreover, the personalization server 140 can optionally (upon user instruction or otherwise) generate a unique email address for the web site 130 to identify the user at the web client 110. If so, the unique email address is given to the web site 130 instead of any regular email address at which the user might receive email.
The personalization server 140 records any necessary identification and authentication information for the user, so that the personalization server 140 can automatically authenticate the user at the web site 130, upon receiving a request to do so from the web client 110.
Selecting (and Logging Into) the Web Site
When the user at the web client 1 10 wishes to identify (and authenticate) themselves to a already-registered web site 130, the web client software 111 sends a message 151 to the personalization server 140 with an identifier 152 for a selection page 153 at the personalization server 140. The selection page 153 preferably includes information about each of the web sites 130 (and services offered thereat) at which the user has registered. In alternative embodiments, the selection page 153 can include links to additional and further selection pages 153, or can have a hierarchical or other format in other ways. The personalization server 140 provides or dynamically generates the selection page 153 in response to information in the database 144 regarding the user, and in response to information in the database 144 regarding the web site 130. In a first preferred embodiment, the selection page 153 can be stored and updated at times selected by the personalization server 140 or the user, or can be dynamically generated at user direction. The selection page 153 preferably includes an identifier (such as a name) for each registered web site 130, along with possibly other information:
o information regarding use of the web site 130, such as a last use, frequency of use, or last page 153 requested from that web site 130;
o information regarding commercial aspects of the web site 130, such as whether the web site 130 is fee-based, or whether the user's registration at the web site 130 is about to expire (or has expired and could be renewed);
and o usage or other information provided by the web site 130 and aggregated by the personalization server 140.
The user can select one or more of the web sites 130 identified on the selection page 153 for connection. In response thereto, the personalization server 140 connects to each selected web site 130 and re-authenticates the user to that selected web site 130. In a preferred embodiment, personalization server 140 sends any identification and authentication information (such as a password) in an encrypted format. A secondary user with restricted access (as described below) thus cannot obtain unrestricted access to the web site 130 and services.
In alternative embodiments, the personalization server 140 sends the identification and authentication information (such as a password) in an encrypted format to an applet or plug-in at the web client 110. The web client 110 invokes the applet or plug-in with the encrypted information to automatically identify and authenticate the user with the web site 130. In a preferred embodiment, the personalization server 140 maintains information about bookmarks, "favorites," viewed pages, or other important web sites 130 in its database 144, in association with the user. This allows the user to send a collection of bookmarks from a restricted web site 130 to a secondary user with restricted access (as described below). This information can also be used by the web client 110 to display those pages available at the web site 130 without having to actually having to re-register at the web site 130. This allows the user to access bookmark information for restricted web sites 130 from any web client 110, whether or not web client 110 has the appropriate bookmark stored locally.
Using the Selected Web Site(s)
Upon or before authentication with the selected web site(s) 130, the web client software 111 can communicate directly with the web site software 131 to request and receive information. The user is thus able to maintain a single set of authentication information for access to multiple restricted web sites.
In a preferred embodiment, the user can use the single set of authentication information to manage multiple restricted web sites, such as monitoring usage of cost-based services and being able to control or provide automated renewal of such services. For example, the user can order the personalization server 140 (and the personalization server 140 can respond to such orders) to perform the following services:
o automatic reminder of web sites 130 for which registration must be periodically renewed;
o automatic renewal of registration at web sites 130 for which registration must be periodically renewed;
and o automatic de-registration from web sites 130 for which registration might be automatically renewed, but for which the user has no further interest. Use by Secondary Users
A first user can also request the personalization server 140 to allow a second user, possibly using the same web client 110 or possibly using a different web client 1 10, to access those web sites 130 for which the first user is registered.
The personalization server 140 records information about those second users, including the scope of access they are permitted, in the database 144. The scope of access permitted to those second users can be limited in at least the following ways:
o limitation to selected web sites 130 or selected classes of web sites 130;
o limitation to selected services or selected classes of services;
o limitation to selected times or dates, or combinations thereof, whether once-only or periodically;
o limitation to selected amounts of resources or services;
o limitation to selected numbers of such second users.
or o limitation to read-only operations by such second users.
When one of those second users wishes to use the selected web sites 130, the second user requests the personalization server 140 to identify (and authenticate) themselves to the web site 130 as the first user. Thus, the web site 130 is deceived into believing that the second user is the true registered user. The personalization server 140, in response to the request and in response to the database 144, identifies (and authenticates) the second user to the web site 130 using the same information as the first user, while hiding authentication or other account information from the second user (such as a password). In response to the database 144, the personalization server 140 can require that it mediates the second user's access to the web site 130, by requiring that all requests for information by the second user must first pass through the personalization server 140. This allows the personalization server 140 to perform one or more, or a combination of, the following:
o prevent the web site 130 from sending cookies to the second user;
o disable the second user from changing information for the first user's account at the web site 130;
and o restrict the second user to limited access, such as read-only access.
Email Usage
As noted above, the personalization server 140 generates a new email address for the first user when first identifying and authenticating that first user to a new web site 130. The personalization server 140 can accordingly restrict or partially restrict access by the second user to email received for that email address at the personalization server 140. (In a preferred embodiment, the second user is given no access to email for the first user.)
The personalization server 140 provides web-based access to any email received for that email address from the web site 130. As part of this web-based access, the user at the web client 110 can request the personalization server 140 to perform the following services:
o forwarding selected email to a selected target email address;
o deleting or ignoring selected email for one of the web-site specific email addresses
(with the result that selected email from any particular web site or associated service can be deleted or ignored); o presenting selected email for one of the web-site specific email addresses using the web client software 1 1 1 ;
or o providing the user of the web client software 1 1 1 with the ability to respond to selected email.
System Operation
Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
A method 200 is performed by the system 100, including the web client 1 10, the communication network 120, the web server 130, and the personalization server 140.
Although described serially and in a particular sequence, in a preferred embodiment the steps described herein can be performed concurrently or in parallel by the system elements in response to more than one web client 110 or more than one web site 130, could be performed in a different sequence, or some combination thereof.
At a flow point 210, a first user at the web client 110 is ready to register with the personalization server 140.
At a step 211 , the web client software 111 sends a message 151 to the personalization server 140. The message 151 includes a request to register the first user.
At a step 212, the personalization server 140 generates and sends a registration page 153 to the web client 110. The registration page 153 can be a standard form, or can be personalized in response to the user or in response to the web client 110.
At a step 213, the user supplies authentication and personalization information to the web client software 111 , in response to the registration page 153. At a step 214, the web client software 1 1 1 sends the authentication and personalization information for the user to the personalization server 140.
At a step 215, the personalization server 140 records the authentication and personalization information for the user in its database 144.
At a flow point 220, a first user at the web client 110 is ready to register a new web site 130 with the personalization server 140.
At a step 221, the web client software 1 1 1 sends a message 151 to the personalization server 140. The message 151 includes a request to register the new web site 130, and information about the web site 130 useful for registration, such as an identifier 152 for a registration page 153 at the web site 130.
At a step 222, the personalization server 140 generates and sends a message
151 to request to register the first user with the web site 130. In a preferred embodiment, the message 151 requests the registration page 153 from the web site 130.
At a step 223, the web site 130 generates and sends a registration page 153 to the personalization server 140. The nature of this activity by the web site 130 can vary widely and still be within the scope and spirit of the invention.
At a step 224, the personalization server 140 responds to the web site 130. The personalization server 140 matches the registration request from web site 130 with profile information contained in the database 144 and supplies the authentication and personalization information for the user to the web site 130. In a preferred embodiment the personalization server 140 requires verification from the user by sending the web client 110 a corresponding message 151 (such as an HTML or XML page). In a preferred embodiment, the personalization server 140 generates a new email address for the user at the personalization server 140; this new email address is specific to both the user and to the web site 130.
At a step 225, the web site 130 records the authentication and personalization information for the user in its database 134. Some web sites 130 send an initial email message 151 to the user with further authentication information, such as a username and password. The personalization server 140 receives this initial email message 151, parses it, and if it includes further authentication information (such as a username and password), records that information in its database 144 for the user.
Some web sites 130 send a cookie or other data to the user with further authentication information. The personalization server 140 assures that the data (includeing whatever information is associated with the "cookie") is recorded at the personalization server 140..
In a preferred embodiment, the personalization server 140 determines if the web site 130 sends a cookie to the web client 110. If so, the personalization server 140 sends a software assistant 115 to the web client 110 for the web client 1 10 to use when using the web site 130. The software assistant 1 15 assists the web client software 1 11 and the personalization server 140 by assuring that information in the cookie is available to the personalization server 140.
In a preferred embodiment, the software assistant 1 15 includes a web browser plug-in, or a program fragment (such as an applet or JavaScript code), or some other application that operates in conjunction with the web client software 111.
At a flow point 230, a first user at the web client 110 is ready to identify and authenticate themselves with a web site 130, using the personalization server 140.
At a step 231 , the web client software 111 sends a message 151 to the personalization server 140. The message 151 includes a request to identify and authenticate the user with a web site 130.
At a step 232, the personalization server 140 generates a registration page 153. The registration page 153 identifies those web sites 130 for which the user is registered (or has bookmarks), and allows the user to select one or more at which to identify and authenticate themselves.
At a step 233, the user selects one or more web sites 130 at which to identify and authenticate themselves. The web client software 111 sends a message 151 to the personalization server 140 indicating those web sites 130.
At a step 234, the personalization server 140 sends an authentication message to the web site 130. The personalization server 140, either directly or indirectly (using the web client 110), supplies the authentication and personalization information for the user to the web site 130.
At a step 235, the web site 130 authenticates the user and allows the web client software 111 access to otherwise restricted information or services.
At a flow point 240, a first user at the web client 1 10 is ready to access email directed to the first user at the personalization server 140.
At a step 241 , the web client software 111 sends a message 151 to the personalization server 140. The message 151 includes a request to access email at the personalization server 140.
At a step 242, the personalization server 140 generates and sends a message 151 in response to the web client 110. In a preferred embodiment, the message 151 indicates for which email addresses any email has been received, and can further summarize that email (such as by presenting headers or subject lines).
At a step 243, the user accesses email at the personalization server 140 using known web-based email methods. In addition to known web-based email methods, the user can direct the personalization server 140 to eliminate email addresses for one or more selected web sites 130, or to forward email for one or more selected web sites 130 to a selected target email address (possibly at another location). At a flow point 250, a first user at the web client 110 is ready to allow access by a second user to one or more selected web sites 130.
At a step 251 , the web client software 1 1 1 sends a message 151 to the personalization server 140. The message 151 includes a request to allow access by a second user to one or more selected web sites 130.
At a step 252, the personalization server 140 generates a selection page 153 and sends that page 153 to the web client 1 10. The selection page 153 indicates a set of web sites 130 for which the first user has access and indicates a set of types of restrictions on that access the first user can order the personalization server 140 to implement.
At a step 253, the web client software 111 presents the selection page 153 to the user. The user selects one or more web sites 130, as well as associated restrictions on information or services at those web sites 130, and identifies a set of second users to be allowed restricted access.
At a step 254, the web client software 11 1 sends a message 151 to the personalization server 140 with the selections made by the first user. The personalization server 140 receives the message 151 and records associated information in its database 144.
At a flow point 260, a second user at the web client 110 is ready to access one or more selected web sites 130 using the personalization server 140.
At a step 261, similar to the step 231, the web client software 111 sends a message 151 to the personalization server 140. The message 151 includes a request to identify and authenticate the second user with a web site 130.
At a step 262, the personalization server 140 determines, in response to its database 144, the degree of access allowed to the second user. For example, the second user can have been authorized by (one or another) first user to have access, or the second user can have independent access to the web site 130 in response to a separate registration with the personalization server 140. In response to the degree of allowed access, similar to the step 232, the personalization server 140 generates a registration page 153. The registration page 153 identifies those web sites 130 for which the second user is allowed access, by (one or another) first user or independently, and allows the second user to select one or more at which to access (either for identification and authentication, or for bookmarks, to directly access).
At a step 233, the second user selects one or more web sites 130 at which to identify and authenticate themselves. The web client software 1 1 1 sends a message 151 to the personalization server 140 indicating those web sites 130.
At a step 234, the personalization server 140 supplies the authentication and personalization information for the first user to the web site 130 (even though the second user is the one to actually use the web site 130), either directly to the web site 130, or using the web client software 111. The choice of whether authenticate and personalize the second user directly or indirectly can be responsive to a parameter selected by the first user.
At a step 235, the web site 130 authenticates the second user (in response to the first user's authentication and personalization information) and allows the web client software 111 for the second user access to otherwise restricted information or services.
II. System Elements
Figure 3 shows a block diagram of a system for group access to web sites.
A system 100 includes a set of web clients 110, a communication network 120, at least one web site 130, and a group surfing server 140.
As used herein, the terms "client" and "server" refer to client-server relationships between client and server, not necessarily to particular physical devices. As used herein, the phrase "web client" includes any combination of devices or software taking on the role of a client in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web clients 1 10 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
As used herein, the phrase "web site" includes any combination of devices or software taking on the role of a server in a client-server environment in the internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
The web clients 1 10 each include a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112. In a preferred embodiment, the web client software 111 includes software disposed for communicating with the web site(s) 130 using a communication protocol, as described below.
In a preferred embodiment, the web clients 110 each include a general-purpose computer, such as a laptop or workstation. However, the web clients 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a web server acting as the agent for a user, or another device. In alternative embodiments, the web clients 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web clients 110 to the web site 130 can each differ between pairs of connection sessions between the web clients 110 and the web site 130.
In a preferred embodiment, the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network. In alternative embodiments, the communication network 120 may include any other set of communication links that couple the web clients 1 10, web site 130, and group-surfing server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151 between any two of the web clients 110, the web site 130, and the group-surfing server 140. The messages 151 are formatted in the communication protocol recognized by the web clients 110, the web site 130, and the group-surfing server 140. In a preferred embodiment, the communication protocol includes TCP/IP (transfer control protocol/ Internet protocol), or HTTP (hypertext transfer protocol) a variant thereof, such as HTTPS (secure HTTP). In a preferred embodiment, the communication protocol can include an additional protocol operating over TCP/IP. The communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof. Although the description refers herein primarily to HTTP and TCP/IP, those of ordinary skill in the art will recognize, after perusing this application, that use of the invention with other protocols would not require new invention or undue experimentation.
In a preferred embodiment, those messages 151 that request information can include an identifier 152 for a requested page 153. The page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a set number of links 154 to other pages 153. Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
In a preferred embodiment, each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web clients 110 or the group-surfing server 140 in response to requests made using the communication protocol. In a preferred embodiment, the web site 130 includes software disposed for communicating with the web clients 1 10 or the group-surfing server 140 using the communication protocol. Creating a Group-Surfing Session
The web client software 1 1 1 is disposed for sending a message 151 to the group-surfing server 140, to request the group-surfing server 140 to respond and perform functions described herein. In a preferred embodiment, the message 151 is responsive to an action by the user of the web client software 11 1, such as by selecting a web page or a link to a web page.
A first web client 1 10 sends a session-creation message 151 to the group- surfing server 140, to request the group-surfing server 140 to create or set up a group-surfing session. In a preferred embodiment, the message 151 includes an identifier for the group- surfing session, so that other web clients 110 can add themselves to that session. (The group- surfing server 140 can also assign this identifier in a reply to the session-creation message 151.) In a preferred embodiment, the message 151 includes identifiers for a set of web clients 110 participating in, permitted to participate in, or forbidden from participating in, that session. The web client 110 can alternatively specify that the session is open to anyone. The web client 110 can also specify a time schedule for the session (these functions can be combined, so that for example, the session can be open to anyone for a selected time period, after which only certain authorized users may participate).
In a preferred embodiment, the message 151 can also include an identifier 152 for an initial page 153 for the group-surfing session. For example, the initial page 153 can include a home page for a selected web site 130 or a welcome page for a selected service available at the selected web site 130.
The group-surfing server 140 receives the session-creation message 151, and responds by (1) creating a group-surfing session, and (2) informing the participants in the group-surfing session. When the session-creation message 151 includes an identifier 152 for an initial page 153, the group-surfing server 140 proceeds to begin operation of the group- surfing session, as described below, causing the web site 130 to deliver the initial page 153 to the web clients 110 participating in the session. After creating the group-surfing session, the group-surfing server 140 prepares to add additional web clients 1 10 to the session. To add itself to the session, a second (or further) web client 1 10 sends a session-join message 151 to the group-surfing server 140. In a preferred embodiment, the message 151 includes the identifier for the group-surfing session.
The group-surfing server 140 receives the session-join message 151, and responds by adding the new web client 1 10 to the group-surfing session. The group-surfing server 140 can also inform the other participants in the group-surfing session of the newly added web client 110. The group-surfing server 140 causes the newly added web client 110 to participate in the session, as described below.
Operating the Group-Surfing Session
One or more of the web clients 1 10 are designated by the group-surfing server 140 as a controlling web client 110, and are therefore empowered by the group-surfing server 140 to control the group surfing session. The choice of which web clients 110 are designated as the controlling web clients 110 can be made in any one of, or some combination of, a variety of techniques:
o The controlling web clients 110 are identified in the session-creation message 151.
o The controlling web client 110 is, or the controlling web clients 110 are selected by
(either once at the beginning of the session or dynamically at times throughout the session), the web client 110 that contacted the group-surfing server 140 to create the session.
o The controlling web clients 1 10 are designated using a random or pseudo-random technique by the group-surfing server 140 from those web clients 1 10 participating in the session.
o The controlling web clients 1 10 are designated by a majority or plurality vote of all web clients 110 participating in the session. o The controlling web clients 1 10 are the first M of the first N web clients 1 10 participating in the session that attempt to select a next page. The selection of which M out of N web clients 1 10 can be made by the group-surfing server 140 using a random or pseudorandom technique, a clustering technique for selecting web clients 1 10 that are similar, or another technique.
o The controlling web clients 1 10 are selected by the group-surfing server 140 to be all those web clients 1 10 participating in the session that meet selected criteria. The selected criteria can be rule-based, such as for example (a) those web clients 110 having ".edu" as their primary domain or ".aol" as their secondary domain, (b) those web clients 1 10 having participated in the session for more than N seconds, (c) those web clients 110 having participated in the session but not yet having been selected as the controlling web client 110, or some combination thereof.
If the controlling web client 110 is a single web client 110, that single controlling web client 1 10 determines the progression of pages 153 viewed during the group- surfing session, as described below.
If there is more than one controlling web client 110, those controlling web clients 110 act in concert to determine the progression of pages 153 viewed during the group- surfing session. The group-surfing server 140 can determine the progression of pages 153 in any one of, or some combination of, a variety of techniques:
o The first page 153 selected by any controlling web client 110 is selected as the next one in the progression of pages 153 in the session.
o The next one in the progression of pages 153 in the session is designated using a random or pseudo-random technique by the group-surfing server 140 from those pages 153 selected by any of the controlling web clients 110.
o The next one in the progression of pages 153 in the session is designated using a round-robin technique by the group-surfing server 140 from those pages 153 selected by any of the controlling web clients 1 10. o The page 153 selected by a majority or a plurality of controlling web clients 1 10 is selected as the next one in the progression of pages 153 in the session.
In any event, the group-surfing server 140 determines a next one in the progression of pages 153 in the session. The group-surfing server 140 contacts the web site 130 having that next page 153, and directs that target web site 130 to deliver that next page 153 so it can be presented to those web clients 1 10 participating in the session.
In a preferred embodiment, the group-surfing server 140 directs the target web site 130 to deliver that next page 153 to the group-surfing server 140 itself. The group-surfing server 140 then re-sends that page 153 to those web clients 110 participating in the session. This allows usage of a single set of "cookies," or other data related to identity or session, sent by the web site 130 and stored by the group-surfing server 140 at each participating web client 110.
In alternative embodiments, where no "cookies" or other data related to identity are involved, each web client 1 10 can receive the next page 153 directly from the web site 130. In some such alternative embodiments, the group-surfing server 140 may retrieve that next page 153 itself from the target web site 130, and re-send that next page 153 to each web client 110 participating in the session. In other such alternative embodiments, the group- surfing server 140 may use a multicast protocol such as the IGMP protocol (Internet Group Management Protocol), to multicast the next page 153 to those web clients 110 participating in the session.
As the controlling web client 110 selects a progression of pages 153 for the session, that progression of pages 153 is presented at each of the web clients 110 participating in the session.
If any web client 110 participating in the session desires to leave the session, either permanently or temporarily, that web client 1 10 sends a session-exit message 151 to the group-surfing server 140. The group-surfing server 140 receives the session-exit message 151, and responds by removing the exiting web client 110 from the group-surfing session. The group-surfing server 140 can also inform the other participants in the group-surfing session of the exiting web client 1 10. The group-surfing server 140 causes the exiting web client 110 to no longer participate in the session.
The functions for the web site 130 are not substantially different from those performed by the web site 130 in response to similar requests from others, including possibly the web client software 111. Accordingly, there is no particular requirement that the web server 130 be modified to operate in conjunction with the web client software 1 1 1 and the group-surfing server 140 to perform the functions described herein.
When performing group-surfing for more than one type of web client 130 (such as a first web client 130 including a personal computer and a second web client 130 including a "Palm Pilot" device), the group-surfing server 140 makes multiple requests for the web site 130 to send (variants of) the same page, so as to retrieve the must suited version of the page for each separate web client 1 10. The group-surfing server 140 forwards to each separate web client 110 the variant of the page that is most suited to that separate web client 110.
Efficient Group-Surfing Session Activity
In a preferred embodiment, load is reduced on the group-surfing server 140 using a program fragment loaded at each web client 110. The program fragment can include one or more of, or any combination of, a Java applet, a section of JavaScript code, a web browser plug-in, an active-X element, or another technique for interfacing with the web client 110 and affecting its operation with the web site 130 and the group-surfing server 140.
The program fragment can be sent from the group-surfing server 140 to the web client 110, or can be resident at the web client 110. The program fragment can be loaded dynamically for the session, or can be permanently resident but only active for the session.
The program fragment can perform one or more of, or some combination of, the following functions: o The program fragment can detect embedded frames included in selected pages 153 and request the group-surfing server 140 to retrieve those frames from the web site 130 and send them to the web client 1 10.
o The program fragment can intercept selection of a link 152 at the web client 1 10 and direct that selection to the group-surfing server 140 for processing.
o The program fragment can intercept "submit" selections by the web client 110 during posting of HTML forms, and direct the information in those "submit" selections to the group- surfing server 140 for processing.
o The program fragment can intercept HTML instructions in selected pages 153, which instructions would interfere with the screen layout used for the session (such as HTML code that attempts to force itself into a top-level frame).
o The program fragment can detect embedded multimedia objects included in selected pages 153 and request those multimedia objects directly from the web site 130.
Variations on the Group-Surfing Session
There are many variations of techniques by which individual web clients 110 can access information from web sites 130. There are similarly many variations of techniques by which the controlling web client 1 10 can access information from web sites 130 and cause that information to be presented to those web clients 1 10 participating in the session. These can include one or more of, or some combination of, the following:
Web Page Look Ahead
The controlling web client 110 can select web pages 153 for "look ahead" before designating those web pages 153 as next pages 153 in the progression of pages 153 in the session. This allows the controlling web client 110 to provide for one or more of, or some combination of, the following contingencies: o The user 1 12 at the controlling web client 1 10 can determine if the selected "look ahead" pages 153 are accessible at the time of the session. For example, some such pages 153 can be subject to restricted access in response to time or usage constraints.
o The user 1 12 at the controlling web client 1 10 can determine if the selected "look ahead" pages 153 are appropriate for the web clients 110 participating in the session. For a first example, some such pages 153 can include information that is immaterial to the session (such as for a class, a seminar, or a demonstration of a product or service). For a second example, some such pages 153 can include information that is inappropriate for the session (such as so-called "adult-oriented" material for a session including users 1 12 who are minors).
o The user 1 12 at the controlling web client 110 can determine if the selected "look ahead" pages 153 require special access (such as password restriction or cost-burdened services). For a first example, the controlling web client 1 10 can choose to exclude such pages 153 from the session. For a second example, the controlling web client 110 can choose to accept such special access (such as entering a password or credit card number) without presenting that acceptance to other web clients 110 participating in the session.
Web Page Special Access
The controlling web client 110 can select web pages 153 for special access when designating those web pages 153 as next pages 153 in the progression of pages 153 in the session. For a first example, the controlling web client 110 can enter information required for special access privately, without presenting that information to other web clients 110 participating in the session. For a second example, the controlling web client 110 can enter such information (such as for completing an HTML "form") using information available from, and supplied by, other web clients 1 10 participating in the session.
Web Page Automatic Form Completion
In a preferred embodiment, the controlling web client 1 10 enters information to complete the HTML form, and sends that information to the group-surfing server 140. The group-surfing server 140 enters information to complete the HTML form, and sends that information to the web site 130. When the web site 130 replies with a new page, the group- surfing server 140 sends that new page to all participating web clients 130.
In alternative embodiments, the when the controlling web client 1 10 enters information to complete the HTML form, and sends that information to the group-surfing server 140, the group-surfing server 140 may present that information on the HTML form at each participating web client 110, so that each participating web client 1 10 can see the HTML form being filled in. The group-surfing server 140 may present that information on the HTML form as each field of the form is completed, or when the entire form is completed, or at other times.
Payment for Web Site Services
The controlling web client 110 can select web pages 153 for paid access, even if the web clients 110 participating in the session do not have the right to such paid access. The group-surfing server 140 can control paid access in one or more of, or some combination of, the following techniques:
o The controlling web client 110 can pay for that access itself, effectively presenting a gift of services to participating web clients 1 10.
o The group-surfing server 140 can exact a payment from accounts of those participating web clients 110. This payment can be a pro-rata share of the actual cost to the controlling web client 110, can be a pre-selected amount agreed by the participating web clients 110, or can be a commission paid to the group-surfing server 140 by the transacting web site 130.
o The group-surfing server 140 can exact such payment only from those participating web clients 110 that choose to have the paid information or services presented to them as part of the session. The participating web clients 110 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred. Affiliated Electronic Commerce
The controlling web client 1 10 can select web pages 153 for participation in electronic commerce. For example, the controlling web client 110 can order goods or services for delivery. Similar to payment for web site services, the web clients 1 10 participating in the session need not be required to participate in this electronic commerce. The group-surfing server 140 can control such electronic commerce in one or more of, or some combination of, the following techniques:
o The controlling web client 1 10 can pay for the ordered goods or services itself, effectively presenting gifts to participating web clients 1 10.
o The group-surfing server 140 can exact payment from accounts of those participating web clients 110 for a single instance of such electronic commerce. This payment can be a pro-rata share of the actual cost to the controlling web client 110, can be a pre-selected amount agreed by the participating web clients 110, or can be a commission paid to the group- surfing server 140 by the transacting web site 130.
o The group-surfing server 140 can exact such payment only from those participating web clients 110 that choose to have the paid information or services presented to them as part of the session. Similarly to paid web site services, the participating web clients 110 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred.
o The group-surfing server 140 can duplicate the electronic commerce transaction for each participating web client 110 that chooses to participate. Similarly to paid web site services, the participating web clients 1 10 can make this decision either at the time they join the session or at the time the payment for information or services is (about to be) incurred.
and o The group-surfing server 140 can receive a pre -payment prior to the group-surfing session, so that an associated web client participating that chooses to participate in the group- surfing session can use that payment for electronic commerce. Thus, the group-surfing server 140 can allow payments from a pre-paid (or otherwise arranged) "account" on behalf of one or more of, or a class of, web clients 1 10.
This function can be useful for making joint decisions regarding electronic commerce, such as for selecting gifts for third parties or for one of the session participants.
Import and Export of Web Site Information
The controlling web client 110 can import or export information related to web sites 130, including bookmarks, "cookies," and user registrations at participating web sites 130. Similarly to paid web site services, web clients 110 participating in the session can choose whether or not to participate in these import or export operations.
Use in Conjunction with Intra-User Communication
Those web clients 110 participating in the session can also communicate between and among groups of users 1 12 at those web clients 1 10. The techniques used for communication can include one or more of, or some combination of, the following: telephone communication, voice over IP, Internet chat, electronic mail, "instant messaging," or other intra-user communication. In a preferred embodiment, the communication technique can be presented to each web client 110 at the initiation of the group-surfing server 140, using either a same or a separate window at the web client 110.
Use in Conjunction with Other Network Functions
Those web clients 110 participating in the session can also perform other functions associated with the network. For example, the use of the invention in conjunction with electronic commerce is described above.
The invention can also be used for remote training functions. In such uses, one or more of the participating web clients 110 would be instructors, teachers, seminar presenters, discussion facilitators, or other types of moderator. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 110 (who could substantially outnumber the moderators) would be students, seminar participants or reviewers, discussion participants, or negotiating parties. The instructors or moderators can use the group-surfing process to present information to the students or participants, to confirm assumptions or assertions using available reference services or reference works, and the like.
The invention can also be used for virtual displays or tours. In such uses, one or more of the participating web clients 110 would be salespeople, docents, presenters, or other types of guide. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 1 10 (who could substantially outnumber the moderators or could be interacting one-to-one with the salesperson or guide) would be potential customers or virtual tourists. The salespeople or guides can use the group-surfing process to present information to the potential customers or virtual tourists in response to perceived desires or tastes of the potential customers or virtual tourists, using available reference material, including maps, pictures, and other visual data. In a preferred embodiment of such uses, the available reference material includes a VRML (virtual reality markup language) server, at which three-dimensionally viewable information about the topic of the presentation or tour is available. For example, the three-dimensionally viewable information can include presentations of real estate for sale, or a virtual art gallery.
The invention can also be used for telemedicine or other process telecontrol.
In such uses, one or more of the participating web clients 110 would be controlling surgeons, physicians, other medical personnel, or other consultants. These participating web clients 1 10 can be controlling web clients 110. Additional participating web clients 110 would be on-site medical personnel, on-site engineering personnel, or robotic devices. The controlling medical personnel can use the group-surfing process to review information about a patient (or a controllable physical process, such as an oil refinery or a semiconductor manufacturing facility), to make suggestions or issue orders regarding treatment, and to directly control robotic devices or sensor apparatus.
The invention can also be used for consulting (such as in the fields of finance, advertising or marketing). In such uses, one or more of the participating web clients 110 would be consultants. These participating web clients 110 can be controlling web clients 110. Additional participating web clients 110 would be the consultants' (human) client or clients, such as marketing personnel. The consultant can use the group-surfing process to present information to the client, including new or proposed presentation material, or presentation material from competitors or other participants in the electronic marketplace.
Multiple Group-Surfing "Channels"
The group-surfing server 140 can maintain more than one separate group- surfing session, with each separate group-surfing session having its own history of viewed pages. When a web client 110 adds itself to the participating web clients 1 10 in a group- surfing session, it is presented with the most recent viewed page, and is able to review the history of pages viewed prior to joining that group-surfing session.
In a preferred embodiment, when an individual user of a web client 110 using ordinary web surfing techniques comes upon a page that the user desires to share, that user can, using its web client 110, send a message to the group-surfing server 140 to add that page to a group-surfing session. Each such web client 110 can have its own personalized group- surfing session, which a second web client 110 can view and view the history thereof. If the second web client 110 is already participating in that group-surfing session, the page would be presented to the second web client 110 when it is sent by the first web client 110 to the group- surfing server 140. In alternative embodiments, the second web client 110 can receive only a list of pointers (such as URLs) to those pages presented during the group-surfing session, dynamically updated when a new page is added.
System Operation
Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
A method 200 is performed by the system 100, including the web client 110, the communication network 120, the web server 130, and the group-surfing server 140. Although described serially and in a particular sequence, in a preferred embodiment the steps described herein can be performed concurrently or in parallel by the system elements, could be performed in a different sequence or some combination thereof.
At a flow point 210, the group-surfing server 140 is ready to create a group- surfing session.
At a step 211, a first web client 110 sends a session-creation message 151 to the group-surfing server 140, as described above, to request the group-surfing server 140 to create or set up a group-surfing session.
At a step 212, the group-surfing server 140 receives the session-creation message 151. The group-surfing server 140 (1) creates the group-surfing session, and (2) informs the participants in the group-surfing session.
The method 200 continues at the flow point 220.
At a flow point 220, the group-surfing server 140 is ready to add web clients 110 to a group-surfing session.
At a step 221, a second (or further) web client 110 sends a session-join message 151 to the group-surfing server 140, as described above.
At a step 222, the group-surfing server 140 receives the session-join message 151. The group-surfing server 140 (1) adds the new web client 110 to the group-surfing session, and (2) inform the other participants in the group-surfing session of the newly added web client 110.
At a step 223, the group-surfing server 140 sends to the new web client 110 a program fragment (preferably a Java applet and JavaScript code) that processes those pages 153 received as part of the session. When the new web client 110 selects a link 152 on one such page 153, the program fragment intercepts the request before it is sent to the web site 130, and redirects the selection to the group-surfing server 140. The group-surfing server 140 is thus able to determine which next pages 153 are selected, and to assure that such next pages 153 are presented to all participating web clients 110.
The method 200 continues at the flow point 230.
At a flow point 230, the group-surfing server 140 is ready to perform a group- surfing session.
At a step 231, the group-surfing server 140 designates one or more controlling web clients 110, as described above. In a preferred embodiment, the first web client 110, which sent the session-creation message 151, is the single controlling web client 110.
At a step 232, the controlling web client 110 receives a page 153 from the group-surfing server 140, which received that page 153 from the web site 130. When the controlling web client 110 selects a link 152 on the page 153, the selection is caught by the program fragment, which sends the selection to the group-surfing server 140 as described below (preferably using a protocol operating on top of TCP/IP). In alternative embodiments, the group-surfing server 140 may modify the links 152 in the page 153 before presenting that page 153 to web clients 110 participating in the session.
At a step 233, the controlling web client 110 sends a next-page message 151 to the group-surfing server 140, indicating the next page 153 in the progression of pages 153 in the session.
At a step 234, the group-surfing server 140 receives the next-page message
151. The group-surfing server 140 (1) contacts the web site 130 having that next page 153 after adding proper cookie or other identity information, and directs that target web site 130 to deliver that next page 153 to the group-surfing server 140 itself. The group-surfing server 140 then re-sends that page 153 to those web clients 110 participating in the session.
In a preferred embodiment, in order to reduce load on the group-serving server 140, the group-serving server 140 sends only the page 153 itself without any multimedia elements (such as embedded sound, images, or program fragments). Each participating web client 110 requests those multimedia elements directly from the web site 130.
At a step 235, the page 153 is presented at each of the web clients 1 10 participating in the session.
At a step 236, if the group-surfing server 140 receives a "cookie" or other data relating to identity or session from the web site 130, the group-surfing server 140 records the "cookie" in a cookie database relatively local to the group-surfing server 140 and session. Each time the group-surfing server 140 requests a page from the web site 130, the group- surfing server 140 also sends any relevant "cookies" that were received from the web site 130.
The step 231, the step 232, the step 233, the step 234, the step 235, and the step 236 are performed repeatedly so that the progression of pages is presented at each of the web clients 110 participating in the session.
At a flow point 240, a selected web client 110 is ready to leave the session.
At a step 241, the selected web client 110 sends a session-exit message 151 to the group-surfing server 140.
At a step 242, the group-surfing server 140 receives the session-exit message 151. The group-surfing server 140 (1) removes the exiting web client 110 from the group- surfing session, .and (2) informs the other participants in the group-surfing session of the exiting web client 110.
In a preferred embodiment, if the controlling web client 110 leaves the session, the group-surfing server 140 (1) terminates the session, and (2) informs the participants in the group-surfing session.
At a flow point 250, the controlling web client 110 is ready to select web pages 153 for "look ahead." At a step 251, the controlling web client 1 10 sends a look-ahead-start message 151 to the group-surfing server 140.
At a step 252, the group-surfing server 140 receives the look-ahead-start message 151. The group-surfing server 140 refrains from presenting following pages 153 to participants in the session.
At a step 253, the controlling web client 110 sends messages 151 to one or more web sites 130 to request pages 153 and receive information from those web sites 130, without having that information presented to participants in the session.
At a step 254, the controlling web client 110 sends a look-ahead-stop message 151 to the group-surfing server 140.
At a step 255, the group-surfing server 140 receives the look-ahead-stop message 151. The group-surfing server 140 returns to presenting following pages 153 to participants in the session.
At a flow point 260, the controlling web client 110 is ready to select web pages 153 for "special access."
At a step 261, the controlling web client 110 sends a special-access-start message 151 to the group-surfing server 140.
At a step 262, the group-surfing server 140 receives the special-access-start message 151. The group-surfing server 140 refrains from presenting access or authentication information (such as HTML forms) to participants in the session.
At a step 263, the controlling web client 110 sends messages 151 to one or more web sites 130 to obtain access to those web sites 130, without having that information presented to participants in the session. At a step 264, the controlling web client 110 sends a special-access-stop message 151 to the group-surfing server 140.
At a step 265, the group-surfing server 140 receives the special-access-stop message 151. The group-surfing server 140 returns to regular presentation of information in pages 153 to participants in the session.
At a flow point 270, the controlling web client 1 10 is ready to select web pages 153 for paid access.
In a preferred embodiment, the group-surfing server 140 does not exact any payment from the web clients 1 10 participating in the session. Accordingly, all paid access is paid for by the controlling web client 110, and is effectively given away free to those web clients 110 participating in the session. The group-surfing server 140 takes no special action.
At a flow point 280, the controlling web client 110 is ready to select web pages 153 for participation in electronic commerce.
In a preferred embodiment, the group-surfing server 140 does not exact any payment for participation in electronic commerce. Accordingly, all electronic commerce is paid for by the controlling web client 110, and (if a service) is effectively given away free to those web clients 110 participating in the session. The group-surfing server 140 takes no special action.
In alternative embodiments, the group-surfing server 140 may be registered as a partner or affiliate of the web site 130, and thus receives a commission from the web site 130 for electronic commerce conducted during the session.
At a flow point 290, the controlling web client 110 is ready to import or export information related to web sites 130. At a step 291, the controlling web client 110 sends an import-export message 151 to the group-surfing server 140, directing import or export of information relating to web sites (such as bookmarks, "cookies," or user registrations at participating web sites 130)
At a step 292, the group-surfing server 140 receives the import-export message
151. The group-surfing server 140 imports or exports the designated information to selected databases at web clients 110 participating in the session that indicate their willingness to participate in the import or export operation.
In a preferred embodiment, the selected databases are specific to a cookie/identity database for the group-surfing session. In alternative embodiments, the selected databases may also be available to other applications for web use, such as bookmark and registration databases for generic web surfing. The selected databases can be managed by the program fragment sent to the web client 110 from the group-surfing server 140, or by other related software .
III. Lexicography
As used herein, use of the following terms refer or relate to aspects of the invention as described below.
• personalized information - As used herein, the phrase "personalized information" includes any data collected by, from or about a user or a web site that can be stored on a personal data server.
Personalized information can include one or more of the following: financial information (such as bank account balances, credit information, loan information, real estate information, stock account balances, stock portfolio information, or other financial information); medical information (such as allergy information, insurance information, medication information, patient history information, or other medical information; or other information specific to an individual or not generally available to the public. Personalized information can also include information of personal interest to an individual user, even if that information is not specific to an individual and still generally available to the public, but of specific interest to the individual, such as personalized news or other generic information asked for by the individual user in a specific way. This can include (1) information about selection of the individual user's child in a classroom or sports team in a league; (2) news items of interest to the individual user; (3) bids at auction sites made by or otherwise of interest to the individual user; (4) web-email or other communications such as chat, instant messaging, or newsgroups, made by or to or otherwise of interest to the individual user; (5) last or pending transactions with a stockbroker or other broker or a book vendor or other vendor; (6) records of non-monetary accounts, such as frequent flier miles or other discount programs; (7) sports information, such as golf scores or a record for selected sports teams; or (8) calendar information, such as a status of meeting invitations or a personal calendar.
Personalized information can also include information also information the individual user would use to act with, such as for performing e-commerce. For example, personalized information can include information to automate purchases, such as the individual user's name and address, credit card number, account number, delivery address and profile of delivery preferences, or the individual users' preferred account for purchases.
summarization and aggregation - As used herein, the phrase "summarization and aggregation" includes all techniques and methodologies for the organization, selective or nonselective segregation, linking, selective presentation and selective transfer of personalized information.
Summarization or aggregation can include one or more of the following: adding or totaling account balances or account values, adding or totaling securities holdings from individual accounts, computing or determining a blend of multiple sources of credit information or other financial information, or other forms of summarization or aggregation that present a more global picture from more specific information. For multiple individuals, summarization or aggregation can include those forms of demographic or population grouping used in census, insurance, or market research applications. Summarization or aggregation can include a default set of information to summarize or to aggregate, a selection by an individual user of preferences or what specific information to summarize or to aggregate, or a request by an individual user to summarize or aggregate using an editor or other tool.
• personal data server - As used herein, the phrase "personal data server" includes a server device which has access to web sites that include personalized information, as described above, and can include access information or preferences of an individual user for retrieving or using that personalized information. The personal data server can also have access to web sites with information of personal interest to the individual user, even when that information is not specific to that particular individual user.
• individual user - As used herein, the phrase "individual user" includes any person who acts either on behalf of themselves or an entity and manipulates a web client in such a way as to gain access to the Internet and who manipulates that web client so as to use, add to, aggregate, summarize, delete, or access data contained on a personal data server that is unique to them or the entity they represent.
• web site - As used herein, the phrase "web site" includes any combination of devices or software taking on the role of a server in a client-server environment in the Internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
jump page - As used herein, the phrase "jump page" refers to a web page used by the personal data server to present personalized data that the individual user can peruse. The "jump page" can also be used to navigate directly to one or more web sites having that information at hand.
navigate - As used herein, the phrase "navigate" includes activities whereby by a an individual user uses a web client to access information and move from one web site to another web site, one web page to another web page, within a web page, and onto and off of an internet, intranet or other network.
• e-commerce or electronic commerce - As used herein, the phrase "ecommerce" or "electronic commerce" includes all commercial, business, professional and investment activities conducted over the Internet, an intranet or any type of network.
• inter-user communication and interest groups - As used herein, the phrase "inter-user communication" and "interest groups" refers to any communication among users of a network or to any communication between user of a network and a USENET, or computer bulletin board, or newsgroup or the group involved in the aggregation and transfer of information.
• limited access or aggregate access - As used herein, the phrase "limited access" or aggregate access" refers the how much of an individual user's personal data is made available to persons or entities other than the user. These limits can be set by the individual or by a pre-selected protocol. For example, an individual user may make the entirety of his medical records available to any medical professional. Alternately, the individual user may make only small portion of those records available to their personal physician.
• persons or entities other than the individual - As used herein, the phrase "persons or entities other than the individual" includes all persons or entities other than the individual user. For instance, it may include a government agency, an insurer or other third party authorized to access personalized information, or a web site or other network link that attempts to retrieve information concerning an individual user.
• meta-bookmark - As used herein, the phrase "meta-bookmark" includes data structures and techniques for accessing a web object, including information relating to a location of that web object and information relating to access control, or authorization or identification of an entity seeking to access that web object. For example, a meta-bookmark can include one or more of the following: (1) a link or pointer to a web object ordinarily requiring a cookie or password for access, (2) a link or pointer to a partially completed form, where some of the form fields, such as a login name or a password, have restricted presentation, or (3) a link or pointer to an application or applet that compiles aggregate information from personalized information.
A meta-bookmark can include a bookmark such as "buy this stock," which includes a link or pointer to a selected web site with a specific action, such as to login to a selected stockbroker, to select a stock for purchase, and to order purchase of that stock in a selected amount.
System Elements
Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
A system 100 includes a set of web clients 110, a communication network 120, at least one web site 130, and a personal data server 140.
As used herein, the terms "client" and "server" refer to relationships between the client and the server, not necessarily to particular physical devices.
As used herein, the phrase "web client" includes any combination of devices or software taking on the role of a client in a client-server environment in the Internet, the World Wide Web, or an equivalent or extension thereof. There is no particular requirement that the web clients 110 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof (such as for example a device providing web server services that acts as an agent of the user).
As used herein, the phrase "web site" includes any combination of devices or software taking on the role of a server in a client-server environment in the Internet, the world wide web, or an equivalent or extension thereof. There is no particular requirement that the web sites 130 must be individual devices. They can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
As used herein, the phrase "client device" includes any device taking on the role of a client in a client-server relationship (such as an HTTP web client and web server). There is no particular requirement that any client devices must be individual physical devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
As used herein, the phrase "server device" includes any device taking on the role of a server in a client-server relationship. There is no particular requirement that server devices must be individual physical devices; they can each be a single device, a set of cooperating devices, a portion of a device, or some combination thereof.
The web clients 110 each include a processor operating under control of web client software 111, such as a web browser, and disposed for use by an operator or user 112. In a preferred embodiment, the web client software 111 includes software disposed for communicating with the web site(s) 130 using a communication protocol, as described below.
In a preferred embodiment, the web clients 110 each include a general-purpose computer, such as a laptop or workstation. However, the web clients 110 can also include (either alone or in conjunction with a laptop or workstation), a hand-held calendar (such as a "Palm Pilot" or other hand-held device), a portable computer, a special purpose computer, a cellular telephone or other telephonic device, a web server acting as the agent for a user, or another device. In alternative embodiments, the web clients 110 may also include any other device disposed for performing the all or some functions described herein. The location, the type of device, and the nature of the connection of the web clients 110 to the web sites 130 can each differ between pairs of connection sessions between the web clients 110 and the web sites 130.
In a preferred embodiment, the communication network 120 includes a packet switched network such as the Internet, as well as (in conjunction with or instead of) an intranet, an enterprise network, an extranet, a virtual private network, a virtual switched network. In alternative embodiments, the communication network 120 may include any other set of communication links that couple the web clients 1 10, web site 130, and personal data server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151 between any two of the web clients 1 10, the web site 130, and the personal data server 140. The messages 151 are formatted in the communication protocol recognized by the web clients 110, the web site 130, and the personal data server 140. In a preferred embodiment, the communication protocol includes TCP/IP (transfer control protocol/ Internet protocol), or HTTP (hypertext transfer protocol) a variant thereof, such as HTTPS (secure HTTP). In a preferred embodiment, the communication protocol can include an additional protocol operating over TCP/IP. The communication protocol can also include other protocols for requesting and sending information, including FTP (file transfer protocol), Gopher, and variants thereof. Although the description refers herein primarily to HTTP and TCP/IP, those of ordinary skill in the art will recognize, after perusing this application, that use of the invention with other protocols would not require new invention or undue experimentation.
In a preferred embodiment, those messages 151 that request information can include an identifier 152 for a requested page 153. The page 153 includes a set of information, possibly including data in one of a number of formats, and possibly also includes a set number of links 154 to other pages 153. Each link 154 includes an identifier 152 for its target page 153, and information about the target page 153 (such as a title).
In a preferred embodiment, each page 153 can include data in the form of text, images (still or animated), sound, program fragments (such as applets, applications, or JavaScript), or combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating under control of web server software 131, and disposed for delivering information 132 to the web clients 110 or the personal data server 140 in response to requests made using the communication protocol. In a preferred embodiment, the web site 130 includes software disposed for communicating with the web clients 110 or the personal data server 140 using the communication protocol. Personal Data Server
The personal data server 140 includes a processor operating under control of both web client software 1 1 1 and web server software 141. In a preferred embodiment, the web client software 1 11 includes software disposed for communicating with the web site(s) 130, as described below, while the web server software 141 includes software disposed for communicating with the web client 1 10, as described below.
The personal data server 140 includes an access database 142 or other data structure including information regarding a set of individual users. The access database 142 includes, for each individual user, a set of web sites 130 having personalized information for that individual user, and a corresponding set of access information for each individual user for each web site 130, such as a login name and a password. In a preferred embodiment, the personal data server 140 also includes authentication information for each individual user, so that the personal data server 140 only presents personalized information to the correct individual user.
The personal data server 140 is disposed for using the access database 142, at the request of an individual user using a web client 110, for accessing those web sites 130 in the access database 142 and obtaining a set of personalized information about the individual user. The personal data server 140 includes a personalized information database 143 with this information, and dynamically generates a jump page 144 or other presentation of the personalized information for use by the individual user.
In a preferred embodiment, the jump page 144 includes at least a summary of the personalized information obtained from each web site 130, and a hyperlink or other pointer to that web site 130 for detailed review or manipulation of that personalized information by the individual user.
The hyperlink or other pointer includes an address, such as a URL (uniform resource locator) for the personalized information, and also includes access information for that personalized information. For example, the hyperlink or other pointer can include a sequence of web navigation operations (such as links to links, links with forms with data already completed, links requiring login names and passwords, or some combination thereof).
The individual user can obtain the hyperlink or other pointer from the jump page, either for later use, or for distribution to another entity. The saved or transmitted hyperlink or other pointer is a meta-bookmark 145. In a preferred embodiment, the individual user can set properties for the a meta-bookmark 145, such as a limitation on data available using the meta-bookmark 145, a limitation on distribution, a password for use, an expiration date, or some combination thereof.
In a preferred embodiment, the meta-bookmark 145 can include (or the personal data server 140 can otherwise provide), automated completion of forms and automated responses to applets, JavaScript or Java applications. This allows the individual user to provide access information to be used by the personal data server 140, either in conjunction with use of a meta-bookmark 145 or otherwise, in which the web site 130 uses a technique for access to the personalized information that is relatively more interactive than providing a cookie, login name or password.
Method of Operation
Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
A method 200 is performed by the system 100. Although the method 200 is described serially, the steps of the method 200 can be performed by separate elements in conjunction or in parallel, whether asynchronously, in a pipelined manner, or otherwise. There is no particular requirement that the method 200 be performed in the same order in which this description lists the steps, except where so indicated.
Access to Jump Page
At a flow point 210, the personal data server 140 is ready to receive a request from an individual user for personalized information. At a step 21 1 , the individual user manipulates a web client 1 10 so as to access the communication network 120 and establish a connection between the web client 1 10 and the personal data server 140.
At a step 212, the personal data server 140 identifies and authenticates the individual user at the web client 110. In a preferred embodiment, the personal data server 140 can perform this step using a cookie stored at the web client 110, or using a login name or password for the individual user, a digital identifier, or any other form of identification and authentication.
For example, the digital identifier can include one for a hardware device operating as part of the web client 1 10, including a processor, a cellular telephone ELN, a caller-ID telephone number, or an identifier from an Internet service provider. This would be useful when the web client 1 10 is operating in conjunction with a device not directly coupled to the Internet, such as a handheld computer (such as a Palm Pilot), a pager, or a telephone (cellular or with interactive voice response).
At a step 213, the personal data server 140 retrieves, from its access database 142, access information for the individual user.
At a step 214, the personal data server 140 uses the access information to contact each web site 130 associated with the individual user, and to obtain personalized information for that individual user.
At a step 215, the personal data server 140 dynamically, in response to the personalized information it gleaned in the step 214, generates a jump page 144 for the individual user. As part of this step, the personal data server 140 computes or determines any aggregate information, in response to a profile it maintains for the individual user (or in response to a request by the individual user), for inclusion on the jump page 144.
At least a portion of the jump page 144 can be prepared in advance of the request made by the individual user, such as prepared in advance at a selected time of day or at a selected frequency. Moreover, at least a portion of the jump page 144 can be updated in response to a selected time of day, a selected frequency, at the request of the individual user, or in response to information from the web site.
At a step 216, the personal data server 140 sends the jump page 144 to the web client 110 so as to present the personalized information to the individual user for review.
At a step 217, the individual user manipulates the web client 1 10 to review the jump page 144, and determine whether to perform further operations with regard to the personalized information. If so, the method 200 proceeds with the next step. If not, the method 200 proceeds at the flow point 210 or the flow point 220 or the flow point 230.
At a step 218, the individual user manipulates the web client 1 10 to perform further operations with regard to the personalized information. As part of this step, the individual user can perform one or more of, or some combination of, the following operations:
• The individual user can select a hyperlink or pointer on the jump page 144 to "click through" to a selected web site 130 having personalized information. As part of this operation, the individual user can manipulate the web client 110 so as to interact directly with the web site 130 with regard to the personalized information (or other information).
• The individual user can save or send a hyperlink or pointer on the jump page 144 as a meta-bookmark 145.
• The individual user can review and manipulate personalized information at the web site 130 using the hyperlinks or pointers on the jump page 144.
At a flow point 220, the personal data server 140 is ready to receive a request from an individual user to alter access information or preferences. At a step 221, similar to the step 21 1, the individual user manipulates a web client 110 so as to access the communication network 120 and establish a connection between the web client 110 and the personal data server 140. If the connection was already established at the step 211, this step is optional.
At a step 222, similar to the step 212, the personal data server 140 identifies and authenticates the individual user at the web client 1 10. If identification and authentication were already performed at the step 212, this step is optional.
At a step 223, the personal data server 140 dynamically, in response to the access information or preferences it maintains for the individual user, generates an access or preference page for the individual user, similar to the jump page 144.
The access data may include at least one or more of, or some combination of, the following: name, address, Social Security number, names and ages of children, clothing sizes, medical information pertaining to the user, their spouse or other family number, type, date and amount of past purchases, number and type of pets, income data, address of user's work, users work phone numbers, links to web sites, information gleaned from other web sites.
At a step 224, similar to the step 216, the personal data server 140 sends the access or preference page to the web client 110 so as to present the access or preference information to the individual user for review.
At a step 225, similar to the step 217, the individual user manipulates the web client 110 to review the access or preference page, and determine whether to perform further operations with regard to the personalized information. If so, the method 200 proceeds with the next step. If not, the method 200 proceeds at the flow point 210 or the flow point 220 or the flow point 230.
At a step 226, similar to the step 218, the individual user manipulates the web client 110 to perform further operations with regard to the personalized information. As part of this step, the individual user can perform one or more of, or some combination of, the operations described with regard to the step 218.
At a flow point 230, the personal data server 140 is ready to receive a request from an individual user to allow access to personalized information by other entities.
At a step 231 , similar to the step 21 1 , the individual user manipulates a web client 110 so as to access the communication network 120 and establish a connection between the web client 110 and the personal data server 140. If the connection was already established at the step 211, this step is optional.
At a step 232, similar to the step 212, the personal data server 140 identifies and authenticates the individual user at the web client 110. If identification and authentication were already performed at the step 212, this step is optional.
At a step 233, the personal data server 140 records the request from an individual user to allow access to personalized information by other entities.
At a step 234, similar to the step 211 through the step 218, an entity other than the individual user can establish a connection with the personal data server 140, identify and authenticate itself as an entity authorized to review personal information for one or more individual users, and access that personalized information. In a preferred embodiment, the personal data server 140 allows only aggregate or otherwise limited access to the personalized information, as directed by the individual user.
For example, the individual user might choose to aggregate medical information or aggregate information concerning family pets. Limited access to aggregated information ensures that only relevant information is sent to the other entity. Thus, aggregating medical data for family members and veterinary data for pets, the individual user can restrict their childrens' medical records from being set to a veterinary service.
The method 200 continues at the flow point 210 or the flow point 220 or the flow point 230. Generality of the Invention
The invention has general applicability to various fields of use, not necessarily related to e-commerce as described above. For example, these fields of use can include one or more of, or some combination of, the following:
• Access to census, demographic, marketing, or other population information - personalized information regarding individual users (in these or related fields) can be reviewed and manipulated by individual users or other entities. Similarly, personalized information regarding individual users in other fields, such as medical or psychological information; or teaching, training, or other skill-graded data (such as college records) can be reviewed and manipulated by individual users or other entities.
• Use in conjunction or parallel with automated form completion - the individual user can use personalized information (either aggregated, limited, or not), to conduct automated form completion, without having to repeatedly provide that information. Similarly, the individual user can permit access to personalized information (either aggregated, limited, or not), by other entities to facilitate these or related techniques.
• Use in conjunction or parallel with e-commerce - the individual user can use personalized information (either aggregated, limited, or not), to conduct e-commerce without having to repeatedly provide that information. Similarly, the individual user can permit access to personalized information (either aggregated, limited, or not), by other entities to facilitate e-commerce.
• Use in conjunction or parallel with inter-user communication - the individual user can use personalized information (either aggregated, limited, or not), to conduct inter-user communication, such as bulletin boards or mailing lists, electronic "chat," interest groups, or related techniques, without having to repeatedly provide that information. Similarly, the individual user can permit access to personalized information (either aggregated, limited, or not), by other entities to facilitate these or related techniques. Other and further applications of the invention in its most general form, would be clear to those skilled in the art after perusal of this application, and are within the scope and spirit of the invention.
IV.
Lexicography
The following terms refer or relate to aspects of the invention as described below. The descriptions of general meanings of these terms are not intended to be limiting, only illustrative.
• automated new-user registration — in general, a technique for registering a new user with a web site, in which personalization information about the user is sent to the web site in an automated manner and without need for substantial user input
data input — in general, sending data from a web client to a web site that requests that data
• descriptive text — in general, text or other descriptive presentation information (such as a graphic, a picture, or an icon) indicative of the nature of data requested for a selected field of a structured data input form
• differing types of structured data forms — in general, structured data forms having differing purposes, such as (1) requesting information to register a new user with a web site, (2) logging in an already-registered user with a web site, or (3) completing, approving or confirming an e-commerce transaction
• forms for structured data input — in general, a structured presentation, such as a graphic or picture, used to request data input from a user (typically an HTML or XML form) • helper application — in general, software at the web client used to assist the personalization software in recognizing web pages and differing types of structured data forms
• input field — in general, a logical data field designated to request selected types of information from the user
• logical field value — in general, a logical descriptor of a type of information requested for a selected input field
meta-bookmark — in general, a command, selected through a bookmark or another user interface element at the client, that associates a selected web page or URL, such as a current web page or URL, with a script or program fragment for taking selected actions with regard to that web page or URL
multiple or partial data values — in general, a reassignment of partial data values or multiple data values for a single selected input field of a structured data form, such as distinguishing (year, month, day) for a single value of (date), or combining multiple values of (address, state, country) into a single value of (postal address)
personalization server — in general, a device used to assist the web client in sending personalized information to one or more web sites
• personalization software - — in general, software at the personalization server or at the web client used to assist the web client in sending personalized information to a web site, which collects information about a user or sending the information directly from the personalization server to the web site
• pre-recorded personal information — in general, information used by the personalization software, describing the user of the web client • program fragment — in general, software at the web client (such as JavaScript, a Java applet, or another type of macro language program) for performing a selected programmable activity with regard to a web page (or URL)
• screen location — in general, a positional reference in a presentation of data to the user, such as a selected line of a structured data form
• user — in general, an individual using or operating a web client
• web browser — in general, web client software for use by a user
• web page for confirming an e-commerce transaction — in general, a web page (whether statically or dynamically generated) having the purpose of requesting information for, or confirmation of, an e-commerce transaction
• web page for new-user registration — in general, a web page (whether statically or dynamically generated) having the purpose of requesting information about a new user to be registered at a web site
• web page for user login — in general, a web page (whether statically or dynamically generated) having the purpose of requesting information about a user who has already been registered at a web site
As noted above, these descriptions of general meanings of these terms are not intended to be limiting, only illustrative. Other and further applications of the invention, including extensions of these terms and concepts, would be clear to those of ordinary skill in the art after perusing this application. These other and further applications are part of the scope and spirit of the invention, and would be clear to those of ordinary skill in the art, without further invention or undue experimentation.
System Elements Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
A system 100 includes a web client 110, a web site 120, a communication link 130, and a personalization server 160.
The web client 110 includes a processor, program and data memory, and mass storage, operating under control of web client software (not shown) to perform the functions of a web client or web browser. The web client is operated by a user 1 1 1, and includes an input device 112 and a presentation device 113. In a preferred embodiment, the web client software can include the "Netscape Navigator" product from America On Line or the "Internet Explorer" product from Microsoft Corporation.
Similar to the web client 1 10, the web site 120 includes a processor, program and data memory, and mass storage, operating under control of web server software (not shown) to perform the functions of a web server or web site. The web site 120 includes a set of web pages 121 for sending to the web client 110 (upon request of the web client 110), including at least one web page 121 having a structured data form 122 for requesting information from the web client 110.
The communication link 130 includes a technique for sending and receiving messages between the web client 110 and the web site 120. In a preferred embodiment, the communication link 130 includes an Internet, intranet, extranet, virtual private network, or other technique for communication. In a preferred embodiment, the communication link 130 operates using the HTTP protocol (or a variant thereof), so as to send and receive web page requests and web pages.
Similar to the web client 110, the personalization server 160 includes a processor, program and data memory, and mass storage, operating under control of personalization software 140 to perform the functions described herein.
System Data Flow Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
The system 100 includes a set of data flows for sending and receiving information between the web client 1 10 and the web site 120, using the communication link 130.
A data flow 210 includes a set of messages between the web client 110 and the web site 120, in which the web client 110 is assisted by a set of personalization software 140 logically local to the web client 1 10 to enter data for structured data forms, so as to send that data to the web site 120.
The web client 1 10 sends a message 21 1 to the web site 120, requesting a selected web page.
The web site 120 responds to the message 211 by sending a message 212 to the web client 110, presenting a structured data form and requesting information from the web client 110.
The web client 110 recognizes the structured data form, using the personalization software, which assists the user with data input.
The web client 110 collects the information responsive to the structured data form (whether from the personalization software or from the user) and sends a message 213 with that information to the web site 120. As part of doing so, the web client 110 can obtain the information from the personalization server 160 when that information is available at the personalization server 160, or from the user of the web client 110.
Once the information is sent to the web site 120, the data flow 210 is complete.
A data flow 220 includes a set of messages between the web client 1 10 and the web site 120, in which the web client 1 10 is assisted by the personalization software 140 to perform a program fragment associated with a meta-bookmark. The web client 1 10 sends a message 221 to the web site 120 requesting a selected web page.
The web site 120 sends a message 222 to the web client 1 10 including the selected web page.
The personalization software 140 at the web client 1 10 performs the following tasks
• a portion thereof recognizes the selected web page;
• a portion thereof completes a form or other data entry for the selected web page at the web site;
and
• a portion thereof completes a form or other data entry for the selected web page at the client device.
Once the actions associated with the personalization software 140 are performed, the data flow 220 is complete.
A data flow 230 includes a set of messages to the web site 120, in which personalization software 140 at the personalization server 160 performs automated new-user registration for the user of the web client 110 at a plurality of web sites 120.
The personalization software 140 sends a message 231 from the personalization server 160 to a set of selected web sites 120 including a request for a new-user registration web page.
Each selected web site 120 sends a message 232 to the personalization server 160 including the new-user registration web page. The personalization software 140 at the personalization server 160 responds to each new-user registration web page by sending a message 233 to the associated web site 120 including information for registering the user at that web site 120.
Once the user is registered at the plurality of web sites 120, the data flow 230 is complete.
A data flow 240 includes a set of messages between the web client 1 10 and the web site 120, in which a helper application 150 assists the personalization software in recognizing differing types of structured data forms and directing the personalization software how to enter data for those differing types of structured data forms.
The web client 110 sends a message 241 to a selected web site 120 including a request for a selected web page.
The web site 120 sends a message 242 to the web client 110 including the selected web page.
The helper application 150 intercepts the selected web page, and determines if the web page is a web page for user registration, a web page for user login, or a web page for confirming an e-commerce transaction. The helper application 150 so informs the personalization software 140.
The personalization software 140 exchanges a sequence of messages 243 with the web site 120, in which the personalization software 140 sends information requested by the web site 120 to perform operations associated with the web page.
Once the operations associated with the web page have been performed, the data flow 240 is complete.
Method of Operation Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
A method 300 includes a set of flow points and steps.
At a flow point 310, the user operating the web client 1 10 is ready to be assisted by personalization software that identifies forms for structured data input and assists the user with data input.
At a step 311 , the user operating the web client 110 selects a web page at the web site 120.
At a step 312, the web site 120 sends the web page to the web client 110.
At a step 313, personalization software 140 identifies the web page as including a structured data form for data input.
At a step 314, the personalization software 140 identifies each relevant input field in the form with a set of descriptive text. In a preferred embodiment, the descriptive text includes information presented as part of the web page for the user of the web client 1 10 to determine what information is being requested.
At a step 315, the personalization software 140 associates each set of descriptive text with a logical field value. In a preferred embodiment, the personalization software 140 references each set of descriptive text with a dictionary of likely descriptive text, and thereby associates each set of descriptive text with a logical field value. For example, where the descriptive text is the character string "NAME", the logical field value can indicate that the requested data is <name of user>.
At a step 316, the personalization software 140 associates each relevant input field in the form with a screen location for presentation, such as with a specific set of descriptive text or a specific logical field value responsive to a proximity relationship between screen location for title and content in the form. In a preferred embodiment, the screen location can be a relative position with regard to a second screen location for a second set of descriptive text.
At a step 317, the personalization software 140 associates each screen location with a logical field value. For example, the personalization software 140 can determine that a screen location for requesting <name of user> is likely to be placed above a screen location for requesting <address of user>.
At a step 318, the personalization software 140 associates each logical field value with multiple data values or partial data values. For example, as noted above, the logical field values for <first name> and <last name> might be combined into a single logical field value for <name of user>.
At a step 319, the personalization software 140 identifies personalization information associated with each logical field value, and sends that information to the web site 120 in association with each logical field value. In a preferred embodiment, this step is performed without requirement for substantial user input. In alternative embodiments, the user may be asked for confirmation (or for completing unknown values) of one or more items of data for such logical field values.
Figure 11 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
A method 400 includes a set of flow points and steps.
At a flow point 410, the user operating the web client 110 is ready to be assisted by personalization software that performs a meta-bookmark.
At a step 411, the user operating the web client 1 10 selects a web page at the web site 120.
At a step 412, the web site 120 sends the web page to the web client 110. At a step 413, personalization software 140 identifies the web page as being associated with a meta-bookmark (and thus being associated with a script or program fragment to be performed).
At a step 414, the personalization software 140 identifies the associated script or program fragment associated with the meta-bookmark. [*** on the server ***]
At a step 415, the personalization software 140 performs the associated script or program fragment associated with the meta-bookmark.
Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
A method 500 includes a set of flow points and steps.
At a flow point 510, the user operating the web client 110 is ready to be assisted by personalization software that performs automated new-user registration for the user of the web client 110 at a plurality of web sites 120.
At a step 51 1 , the personalization software 140 sends the message 231 to a set of selected web sites 120 including a request for a new-user registration web page.
At a step 512, each selected web site 120 sends the message 232 to the web client 110 including the new-user registration web page.
At a step 513, the personalization software 140 responds to each new-user registration web page by sending the message 233 to the associated web site 120 including information for registering the user at that web site 120.
Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
A method 600 includes a set of flow points and steps. At a flow point 610, the personalization software 140 at the web client 1 10 is ready to be assisted by the helper application 150 that assists the personalization software in recognizing differing types of structured data forms and directing the personalization software how to enter data for those differing types of structured data forms.
At a step 611, the web client 1 10 requests a selected web page from the web site 120.
At a step 612, the web site 120 sends the selected web page to the web client
110.
At a step 613, the helper application 150 intercepts the selected web page, and determines if the web page is a web page for user registration, a web page for user login, or a web page for confirming an e-commerce transaction.
At a step 614, the helper application 150 informs the personalization software 140 of the web page type.
At a step 615, the personalization software 140 responds to the web site 120, depending on the web page type. In a preferred embodiment, this step includes a sub-step 615(a), in which the personalization software 140 performs operations suited to a web page for user registration; an alternative sub-step 615(b), in which the personalization software 140 performs operations suited to a web page for user login; and an alternative sub-step 615(c), in which the personalization software 140 performs operations suited to a web page for confirming an e-commerce transaction.
Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
A method 700 includes a set of flow points and steps. At a flow point 710. the personalization software 140 at the personalization server 160 is ready to automate recognition of recognizing differing types of structured data forms and entering data those differing types of structured data forms directly from the personalization server 160.
At a step 71 1, the web client 1 10 requests a selected web page from the web site 120.
At a step 712, the web site 120 sends the selected web page to the web client 110.
At a step 713, the helper application 150 intercepts the selected web page, and determines if the personalization software 140 at the personalization server 160 is able to automate operations from the selected web page.
At a step 714, the personalization software 140 at the personalization server 160 automates operations, on behalf of the user of the web client 1 10, from the selected web page. As part of this step, the personalization software 140 at the personalization server 160 determines the type of the web page (similarly to the method 600) and responds to the web site 120 (similarly to the method 600). In a preferred embodiment, this step includes the performance by the personalization software 140 at the personalization server 160 of all operations needed to perform operations for the selected web page (and any successor web pages), so that the user need not enter substantial data to perform operations for the selected web page.
For example, when the web client 110 is a wireless device for which it is relatively difficult to enter large amounts of data, the personalization software 140 at the personalization server 160 can automate (a) the entire process of logging the user of the web client 110 into a web site, and (b) the entire process of completing and confirming an e- commerce transaction at the web site on behalf of the user of the web client 110.
Generality of the Invention The invention has general applicability to various fields of use, not necessarily related to the services described above. For example, these fields of use can include one or more of, or some combination of, the following:
• information transactions and interactions relating to database queries and responses;
and
• information transactions and interactions relating to wireless devices and servers responsive thereto
Other and further applications of the invention in its most general form, would be clear to those skilled in the art after perusal of this application, and are within the scope and spirit of the invention.
I, II, III, and IV.
Alternative Embodiments
Although preferred embodiments are disclosed herein, many variations are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application.

Claims

Claims
1. A method for access to a plurality of network services, said method including steps for recording a set of authentication information in a database; receiving a request to access at least one of said plurality of network services; and sending, in response to said request to access, said set of authentication information to said at least one of said plurality of network services; whereby a user can maintain a single set of authentication information for said plurality of network services.
2. A method as in claim 1, wherein said steps for sending include steps for routing said set of authentication information through said web client.
3. A method as in claim 1 , wherein said steps for sending include steps for routing said set of authentication information directly to said at least one network service without routing said information through said web client.
4. A method as in claim 1, said method including steps for providing a plurality of profiles of information for one said user; selecting one said profile; and wherein said profiles include personalization information, and including steps for sending said personalization information in response to said steps for selecting one said profile.
5. A method as in claim 1, said method including steps for providing a corresponding plurality of identifiers for said network services, in response to a request; receiving a selection of one said identifier; making a request to access an associated network service in response to said selection.
6. A method as in claim 5. wherein said plurality of identifiers includes a page for presentation to said user; and said step of selecting includes picking one or more of said plurality of identifiers from said page.
7. A method as in claim 1 , wherein said database is maintained at a server; said request is sent from a web client to said server, in response to a request by a user at said web client; whereby said server maintains said set of authentication information on behalf of said user.
8. A method as in claim 7, wherein said server is logically remote from said web client.
9. A method as in claim 7, wherein said web client includes a web server device acting on behalf of said user.
10. A method as in claim 1, including steps for receiving a request to newly access at least one network service not in said plurality; sending, in response to said request to newly access, a set of personalization information to said at least one network service not in said plurality; whereby said user is registered at said at least one of network service not in said plurality without said user having to directly enter said set of personalization information.
11. A method as in claim 1 , including steps for receiving a request to again access at least one network service in said plurality; sending, in response to said request to again access, said set of authentication information to said at least one network service in said plurality; whereby access for said at least one network service is granted to said user without said user having to directly access said set of authentication information.
12. A method for enforcing restricted access to a network service, said method including steps for identifying a network service having access thereto restricted to a first set of users; identifying, for one of said first set of users, a second set of users to have access to said network service; receiving, from one of said second users, a request for access to said network service; and providing access to said network service to said one second user in response to said steps for identifying a second set, and in response to access permitted to said one first user identified therewith.
13. A method as in claim 12, wherein said steps for providing access to said one second user include steps for identifying a set of restrictions on said access to said one second user; and restricting said access to said one second user in response to said set of restrictions.
14. A method as in claim 13, including steps for altering said set of restrictions in response to a selection by said one first user.
15. A method as in claim 13, including steps for providing access to said one second user in response to access permitted by any one of a plurality of said first users.
16. A method as in claim 13, including steps for providing access to said one second user in response to whether said one second user has access permitted by said one first user, or in response to whether said one second user is a member of said set of first users.
17. A method as in claim 13, wherein said network service includes at least one web site.
18. A method as in claim 13, wherein said set of restrictions include at least one time parameter.
19. A method as in claim 13, wherein said set of restrictions includes at least one type of access permitted to said one first user and denied to said one second user.
20. Apparatus for access to a plurality of network services, said apparatus including a personalization server having a database, said database including information regarding a plurality of network services, information regarding a set of authentication information associated therewith; said personalization server being disposed for receiving a first message requesting access to one of said network services, and for sending a second message to said one network service in response thereto, said second message including said set of authentication information; whereby a user can maintain a single set of authentication information for said plurality of network services.
21. Apparatus as in claim 20, wherein said personalization server is disposed for routing said set of authentication information through said web client.
22. Apparatus as in claim 20, wherein said personalization server is disposed for routing said set of authentication information directly to said at least one network service without routing said information through said web client.
23. Apparatus as in claim 20, including accessible by said personalization server, a plurality of profiles of information for one said user; said personalization server being disposed for receiving a selection message selecting one said profile, and for selecting said set of authentication information or a set of personalization information in response to said selection message.
24. Apparatus as in claim 20, including a page for presentation to said user including a corresponding plurality of identifiers for said network services; said personalization server being disposed for making a request to access an associated network service in response to receiving a selection of one said identifier.
25. Apparatus for enforcing restricted access to a network service, said apparatus including a database associating a set of network services with a first set of users having access to said network services, said database associating one of said first set of users with a second set of users to have access to said network service; and a personalization server disposed for providing access to one said network service in response to one said second user and in response to said database.
26. Apparatus as in claim 25, wherein said database includes a set of restrictions on said access to said one second user.
27. Apparatus as in claim 26, wherein said network service includes at least one web site.
28. Apparatus as in claim 26, wherein said set of restrictions include at least one time parameter.
29. Apparatus as in claim 26, wherein said set of restrictions includes at least one type of access permitted to said one first user and denied to said one second user.
30. A method of doing business, including steps for obtaining a single registration for a set of primary users for a group of related services provided by one or more processors coupled to a network; enforcing restricted access to said single registration for a set of secondary users associated with said primary users; and providing said restricted access to said secondary users in response to registrations by said secondary users for said restricted access to said services.
31. A method of doing business, including steps for maintaining a plurality of profiles for a user; obtaining a plurality of registrations for said user for services provided by one or more processors coupled to a network; wherein said plurality of registrations includes information from at least two of said profiles.
32. A method of doing business, including steps for maintaining, at a personalization server, a plurality of registrations for a user for services provided by one or more processors coupled to a network; providing access to said services using said personalization server, in response to requests from said user; whereby said user can make said requests from more than one of a plurality of devices coupled to said network.
33. A method including steps for designating a group of web clients for group access to web sites; receiving a selection of a web page for presentation to web clients in said group; and retrieving and presenting said web page to said web clients in said group.
34. A method as in claim 33, wherein said steps for retrieving and presenting include sending at least part of said web page directly from a web server to at least one web client in said group.
35. A method as in claim 33, including steps for designating a controlling web client, wherein said selection of said web page is received from said controlling web client; receiving a selection of a web page for presentation to said controlling web client without presentation to all said web clients; and retrieving and presenting said web page to said controlling web client.
36. A method as in claim 33, including steps for designating a controlling web client, wherein said selection of said web page is received from said controlling web client: receiving a selection of a restricted-access web page from said controlling web client, said restricted-access web page including access control disallowing access to at least one web client in said group; obtaining access to said restricted-access web page on behalf of said controlling web client; and retrieving and presenting said restricted-access web page to said web clients in said group.
37. A method as in claim 33, including steps for sending information relating to web sites between at least two of said web clients in said group, wherein said information includes web page bookmarks or web site registrations.
38. A method as in claim 33, wherein said group of web clients includes a plurality of differing types of web clients; said steps for receiving and presenting include receiving a plurality of variants of said web page, and steps for presenting one of said variants to each said web client.
39. Apparatus including a set of web clients; a group-surfing server disposed for receiving a selection of a web page at a web server, and for retrieving and presenting said web page to said web clients.
40. Apparatus as in claim 39, wherein said set of web clients includes at least one controlling web client and at least one non-controlling web client; said group-surfing server is responsive only to said selection of a web page from one or more controlling web clients.
41. Apparatus as in claim 39, wherein said selection message indicates a restricted-access web page, said restricted- access web page requiring access control information disallowing access to at least one web client in said group; an access message from said group-surfing server to said web site including said access control information; and a distribution message from said group-surfing server to said web clients in said group including at least some information from said restricted-access web page.
42. Apparatus as in claim 39, wherein each of said web clients includes a program fragment disposed for recognizing a selection of a web link at said web server, and for sending a selection message to said group-surfing server in response thereto; said group-surfing server retrieves at least part of said web page from said web server in response to said selection message.
43. Apparatus as in claim 42, wherein said program fragment is disposed for recognizing a post command from said web client, and for sending a message to said group-surfing server in response thereto.
44. Apparatus as in claim 10, wherein said program fragment is disposed for recognizing a post command from said web client, and for sending a posting message to said group-surfing server in response thereto; and said group-surfing server is disposed for receiving a plurality of said posting messages from a corresponding plurality of said web clients, and for sending a post command to said web server in response thereto.
45. In a method for presenting web pages to a plurality of web sites in conjunction, a data structure including identity or session information relating to a group- surfing server acting on behalf of said plurality of web sites.
46. A data structure as in claim 45, including a plurality of cookies received from web sites.
47. A data structure as in claim 45, including access control information not available to at least one of said plurality of web sites.
48. A method of doing business, including steps for designating a group of web clients for group access to web sites, said group of web clients being charged for said group access; receiving a selection of a web page for presentation to web clients in said group; and retrieving and presenting said web page to said web clients in said group.
49. A method as in claim 48, including steps for designating a controlling web client, wherein said selection of said web page is received from said controlling web client; receiving a selection of a restricted-access web page from said controlling web client, said restricted-access web page including access control disallowing access to at least one web client in said group; obtaining access to said restricted-access web page on behalf of said controlling web client; retrieving and presenting said restricted-access web page to said web clients in said group; and charging said group of web clients for said access to said restricted-access web page.
50. A method as in claim 48, including steps for sending information relating to web sites between at least two of said web clients in said group, wherein said information includes web page bookmarks or web site registrations; and charging said group of web clients for access to information related to web sites.
51. A method including steps of obtaining personalized information for an individual user, on behalf of said individual user, from a set of web sites having said personalized information; and presenting said personalized information to said individual user in a format other than available at said web sites.
52. A method as in claim 51 , wherein said format includes at least one of: aggregation or summarization of said personalized information, modification of said personalized information without direct interaction between said individual user and any of said web sites.
53. A method as in claim 51 , including steps of maintaining access information for said individual user for at least one of said web sites, said access information including sufficient information to perform said steps of obtaining; and wherein said steps of presenting include steps of dynamically generating a presentation including (1) at least some of said personalized information and (2) interaction information for said individual user to communicate directly with at least one said web site.
54. A method as in claim 53, wherein said interaction information includes at least one hyperlink to a web object at said web site.
55. A method as in claim 53, wherein said interaction information includes at least one hyperlink to a web object at said web site, said web object being an object requiring authentication or identification information for access from said web site, and said authentication or identification information being included in conjunction with said hyperlink.
56. A method as in claim 51 , wherein said steps of presenting include steps of dynamically generating a presentation including information responsive to an aggregate of said personalized information from said web sites.
57. A method as in claim 56, wherein said aggregate includes at least one of: a sum of account cash balances, a sum of account securities values.
58. A method as in claim 51 , including steps of maintaining access information for said individual user for at least one of said web sites, said access information including sufficient information to perform said steps of obtaining; and presenting said personalized information to an entity other than said individual in a format other than available at said web sites.
59. A method as in claim 58, wherein said steps of obtaining personalized information include steps of presenting said access information to said web site without delivering said access information to said entity.
60. A method as in claim 58, including steps of obtaining authorization from said individual user to present said personalized information to said entity.
61. A method as in claim 60, wherein said authorization is limited to at least one of: aggregations of said personalized information, selected portions of said personalized information.
62. A method as in claim 58, including steps of performing said steps of maintaining and obtaining for a plurality of said individual users; aggregating a set of results of said steps of performing said steps of obtaining for said plurality; presenting an aggregate result of said steps of aggregating to said entity.
63. A method as in claim 62, wherein said aggregate result includes at least one of: account cash balance data, account securities values data, census data, polling data, market survey data.
64. A method of doing business, including steps of obtaining personalized information for an individual user, on behalf of said individual user, from a set of web sites having said personalized information; and making said personalized information available to said individual user in a transaction not requiring direct contact with those web sites.
65. A method as in claim 64, wherein said format includes wherein said format includes at least one of: aggregation or summarization of said personalized information, modification of said personalized information without direct interaction between said individual user and any of said web sites.
66. A method as in claim 64, including steps of maintaining access information for said individual user for at least one of said web sites, said access information including sufficient information to perform said steps of obtaining; and presenting said personalized information to an entity other than said individual in a transaction not requiring direct contact with those web sites.
67. A method as in claim 66, wherein said steps of obtaining personalized information include steps of presenting said access information to said web site without delivering said access information to said entity.
68. A method as in claim 66, including steps of obtaining authorization from said individual user to present said personalized information to said entity, wherein said authorization is limited to at least one of: aggregations of said personalized information, selected portions of said personalized information.
69. A method as in claim 66, including steps of performing said steps of maintaining and obtaining for a plurality of said individual users; aggregating a set of results of said steps of performing said steps of obtaining for said plurality; presenting an aggregate result of said steps of aggregating to said entity.
70. A method as in claim 69, wherein said aggregate result includes at least one of: account cash balance data, account securities values data, census data, polling data, market survey data.
71. Apparatus including a personal data server including a set of personalized information for an individual user, said personalized information having been obtained from a set of web sites having said personalized information; and a data structure including said personalized information in a format other than available at said web sites.
72. Apparatus as in claim 71, wherein said data structure includes at least one of: an aggregation or summarization of said personalized information, a hyperlink to a device for modification of said personalized information without direct interaction between said individual user and any of said web sites.
73. Apparatus as in claim 71, including a data structure for said individual user, said data structure including access information for at least one of said web sites, said access information including sufficient information to perform said steps of obtaining; and interaction information for said individual user to communicate directly with at least one said web site.
74. Apparatus as in claim 73, wherein said interaction information includes at least one hyperlink to a web object at said web site.
75. Apparatus as in claim 73, wherein said interaction information includes at least one hyperlink to a web object at said web site, said web object being an object requiring authentication or identification information for access from said web site, and said authentication or identification information being included in conjunction with said hyperlink.
76. Apparatus as in claim 71, including a data structure for said individual user, said data structure including access information for said individual user for at least one of said web sites, said access information including sufficient information to perform said steps of obtaining; and a data structure including said personalized information in a format other than available at said web sites.
77. Apparatus as in claim 76, wherein said personal data server is disposed for presenting said data structure to said entity without delivering said access information.
78. Apparatus as in claim 76, including authorization information for an entity other than said individual.
79. Apparatus as in claim 78, wherein said authorization information describes a limitation to at least one of: aggregations of said personalized information, selected portions of said personalized information.
80. Apparatus as in claim 76, including a data structure including an aggregate of said personalized information for a plurality of said individual users, for presentation to said entity.
81. Apparatus as in claim 80, wherein said aggregate includes at least one of: account cash balance data, account securities values data, census data, polling data, market survey data.
82. A method, including steps of accessing a web site from a web client device; executing a software module to identify a form at said web site for structured data input; and executing said software module to enter at least some data for said form without substantial user intervention.
83. A method as in claim 82, including steps of automatic registration of a user at a new web site, automatic login using the login page of a web site, or automatic form filling for checking out purchases from multiple web sites.
84. A method as in claim 82, wherein said software module includes at least a portion executed at a server device other than said web site.
85. A method as in claim 82, wherein said software module includes at least a portion executed at said web client device.
86. A method as in claim 82, wherein said web site includes a personalized web page only visible to a selected user after a login process at said web site.
87. A method as in claim 82, including steps of executing said software module to enter at least some said data at a plurality of distinct web sites.
88. A method as in claim 87, wherein said distinct web sites each include a web page for confirming an e-commerce transaction.
89. A method as in claim 87, wherein said distinct web sites each include a web page for new-user registration.
90. A method as in claim 82, wherein said software module attempts to perform at least one of: associating at least one set of descriptive text for said form with a logical field value for said form; associating at least one screen location for said form with a logical field value for said form; associating at least one logical field value with a set of multiple data values or partial data values for said form.
91. A method as in claim 90, wherein said data values include a name, address, telephone number, credit card information, demographic information, preferred login name or password for said user.
92. A method as in claim 90, wherein said data values include pre-recorded personal information about the user.
93. A method as in claim 82, wherein said steps of accessing include recognizing a type of said form for structured data input; performing said step of executing said software module to enter at least some data in response to a result of said step of recognizing.
94. A method as in claim 93, wherein said steps of recognizing include determining a difference between a web page for new-user registration, a web page for user login, and a web page for confirming an e-commerce transaction.
95. In a method for entering data in a form without substantial user intervention, a data structure including an identifier of a web page; an association of that web site location with a script or program fragment to be executed for that web page; whereby execution of said script or program fragment sends information to a server for entering data into said form.
96. A data structure as in claim 95, wherein said method includes completing or confirming an e-commerce transaction at a web site associated with said web page.
EP00915778A 1999-02-11 2000-02-11 Personalized access to web sites Withdrawn EP1188134A2 (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US24922699A 1999-02-11 1999-02-11
US249226 1999-02-11
US27380399A 1999-03-22 1999-03-22
US273803 1999-03-22
US36164099A 1999-07-26 1999-07-26
US361640 1999-07-26
US46653399A 1999-12-17 1999-12-17
US466533 1999-12-17
PCT/US2000/003790 WO2000048110A2 (en) 1999-02-11 2000-02-11 Personalized access to web sites

Publications (1)

Publication Number Publication Date
EP1188134A2 true EP1188134A2 (en) 2002-03-20

Family

ID=27500310

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00915778A Withdrawn EP1188134A2 (en) 1999-02-11 2000-02-11 Personalized access to web sites

Country Status (6)

Country Link
EP (1) EP1188134A2 (en)
JP (1) JP2003520361A (en)
KR (1) KR20020004948A (en)
AU (1) AU3699600A (en)
CA (1) CA2364297A1 (en)
WO (1) WO2000048110A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865414B2 (en) 2000-03-01 2011-01-04 Passgate Corporation Method, system and computer readable medium for web site account and e-commerce management from a central location
TW550477B (en) 2000-03-01 2003-09-01 Passgate Corp Method, system and computer readable medium for Web site account and e-commerce management from a central location
AR029290A1 (en) 2000-06-28 2003-06-18 American Express Travel Relate SYSTEM AND METHOD FOR INTEGRATING PUBLIC AND PRIVATE DATA
WO2002019610A2 (en) * 2000-09-01 2002-03-07 Sherwood International Group Limited Method and system for dynamic encryption of a web-page
US7080147B2 (en) 2000-09-04 2006-07-18 International Business Machines Corporation Computer network system, computer system, method for communication between computer systems, method for measuring computer system performance, and storage medium
JP3501361B2 (en) * 2000-09-04 2004-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer network system, computer system, communication method between computer systems, method for measuring computer system performance, and recording medium
WO2002035384A2 (en) * 2000-10-27 2002-05-02 International Business Machines Corporation A system and method for providing functions to react to a notification
FI114597B (en) 2001-01-24 2004-11-15 Teliasonera Finland Oyj Procedure for logging in
EP1233350A1 (en) * 2001-02-16 2002-08-21 Abb Research Ltd. Customizable web portal
JP2002318808A (en) * 2001-04-20 2002-10-31 Cybozu Inc Personal information registration support system
FR2832009A1 (en) * 2001-11-08 2003-05-09 Thomson Multimedia Sa METHOD AND DEVICE FOR CONTROLLING ACCESS OF A TERMINAL TO DATA FROM A SERVER VIA A TELECOMMUNICATION NETWORK
FR2844949B1 (en) * 2002-09-24 2006-05-26 Radiotelephone Sfr METHOD FOR MANAGING A CONFIGURATION OF A GATEWAY BY A USER OF THE GATEWAY
KR20050084999A (en) * 2002-11-15 2005-08-29 휴머나이징 테크놀러지스 인코포레이티드 A customized life portal on the internet
JP4504101B2 (en) * 2004-05-31 2010-07-14 富士通株式会社 Cookie information management method
US7549054B2 (en) 2004-08-17 2009-06-16 International Business Machines Corporation System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce
JP4208081B2 (en) * 2004-12-27 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション System, web server, method and program for adding personalized value to multiple websites
US8489147B2 (en) * 2006-04-11 2013-07-16 Sony Corporation Simplified access to messaging services
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US20070291765A1 (en) * 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
WO2008069541A1 (en) * 2006-12-04 2008-06-12 Electronics And Telecommunications Research Institute Software portal system for providing relation information of software and data format and method of operating the same
KR20140077727A (en) * 2012-12-14 2014-06-24 (주)더블유랩 Server and method for security communication using image code
RU2014139573A (en) * 2014-10-01 2016-04-20 Алишер Акрамович Муртазаев METHOD FOR ACCOUNTING VISITS OF INTERNET SITES
KR101668098B1 (en) * 2015-03-31 2016-10-24 주식회사 아이디스 Access method for a remote point without Plugin
US12101361B1 (en) 2023-02-17 2024-09-24 Samesurf, Inc. Content and device agnostic online experience sharing with in-page control passing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276901A (en) * 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5862323A (en) * 1995-11-13 1999-01-19 International Business Machines Corporation Retrieving plain-text passwords from a main registry by a plurality of foreign registries
US5818936A (en) * 1996-03-15 1998-10-06 Novell, Inc. System and method for automically authenticating a user in a distributed network system
US5862330A (en) * 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
US6029182A (en) * 1996-10-04 2000-02-22 Canon Information Systems, Inc. System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
GB2349244A (en) * 1999-04-22 2000-10-25 Visage Developments Limited Providing network access to restricted resources

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0048110A2 *

Also Published As

Publication number Publication date
AU3699600A (en) 2000-08-29
JP2003520361A (en) 2003-07-02
WO2000048110A3 (en) 2001-12-27
WO2000048110B1 (en) 2002-01-24
WO2000048110A2 (en) 2000-08-17
CA2364297A1 (en) 2000-08-17
KR20020004948A (en) 2002-01-16

Similar Documents

Publication Publication Date Title
WO2000048110A2 (en) Personalized access to web sites
DE60106569T2 (en) EXPERIENCE TO PERFORM AN ONLINE FINANCIAL TRANSACTION BY A USER
US7549054B2 (en) System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce
US7937325B2 (en) Interactive bill payment center
US20020087506A1 (en) Method and system for interactively enabling venture financing for entrepreneurs
US7895073B2 (en) Methods and apparatus for presenting offers to qualified consumers
US20020087450A1 (en) Venture matching method and system
US20020087446A1 (en) Method and system for interactively enabling investment opportunities for investors
US20020152163A1 (en) Network based user-to-user payment service
US20080015979A1 (en) Web-based searching for payment card products with credit pre-approvals
US20010023414A1 (en) Interactive calculation and presentation of financial data results through a single interface on a data-packet-network
US20110162052A1 (en) Network-Based Verification and Fraud-Prevention System
US20020059369A1 (en) Method and apparatus for creating and distributing non-sensitized information summaries to users
US20060240396A1 (en) Training enterprise and method therefor
US20100179892A1 (en) Providing One Party with Access to an Account of Another Party
US20030101115A1 (en) Method and system for electronically supporting investment and venture financing opportunities for investors and entrepreneurs
TW491972B (en) System, method, and article of manufacture for electronic merchandising in an e-commerce application framework
JP5196730B2 (en) Electronic shopping mall system
US20170024725A1 (en) Method, system and computer readable medium for web site account and e-commerce management from a central location
EP1510984A2 (en) Method, system and computer readable medium for web site account and e-commerce management from a central location
Marcolin et al. Assessing web-enabled interactivity: an audit tool
Ekwere Effects of value integration on online consumer behavior
Khurana E Commerce Notes
WO2001077975A1 (en) Automated self-service forms transaction service
Lavania Web site and information system for idaman realty/Lavania Gopal Krishnan

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010910

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20020903