Personalized access to web sites
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.

Term
No projected expiry on record.
- Priority and filed
- Published
- Today
96 claims: 16 independent, 80 dependent
- 1Claims 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.
- 12A 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.
- 20Apparatus 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.
- 25Apparatus 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.
- 30A 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.
- 31A 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.
- 32A 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.
- 33A 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.
- 39Apparatus 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.
- 45In 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.
- 48A 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.
- 51A 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.
- 64A 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.
- 71Apparatus 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.
- 82A 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.
- 95In 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.
Independent claims16
475 paragraphs in 1 section, as filed
PERSONALIZED ACCESS TO WEB SITES
0002Background of the Invention
00031. Field of the Invention
0004This 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).
00052. Related Art
0006I. 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.
0007As 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.
0008Accordingly, 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.
0009A 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.
0010A 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<sup>'</sup>s account.
0011A 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).
0012Accordingly, 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.
0013II. 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."
0014One 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.
0015Accordingly, 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.
0016III. 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."
0017One 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.
0018Accordingly, 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.
0019The 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.
0020IV. 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).
0021One 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.
0022Another 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.
0023One 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.
0024A 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.
0025Accordingly, 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.
0026Summary of the Invention
0027I.
0028The 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.
0029III. 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.
0030In 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.
0031In 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.
0032IV. 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.
0033In 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.
0034In 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.
0035In 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.
0036In 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.
0037The 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.
0038Brief Description of the Drawings
0039I. Figure 1 shows a block diagram of a system for access to personalized web sites.
0040Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
0041II.
0042Figure 3 shows a block diagram of a system for group access to web sites.
0043Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
0044III. Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
0045Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
0046IV. Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
0047Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
0048Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
0049Figure 1 1 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
0050Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
0051Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
0052Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
0053Detailed Description of the Preferred Embodiment
0054In 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.
0055I. System Elements Figure 1 shows a block diagram of a system for access to personalized web sites.
0056A system 100 includes at least one web client 1 10, a communication network
0057120, at least one web site 130, and a personalization server 140.
0058As used herein, the terms "client" and "server" refer to client-server relationships between client and server, not necessarily to particular physical devices.
0059As 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).
0060As 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.
0061The 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.
0062In 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.
0063In 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.
0064The 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.
0065In 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).
0066In 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.
0067In 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.
0068In 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.
0069Interactions between System Elements
0070The 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.
0071The personalization software 141 is disposed for receiving the first message
0072151 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:
0073o 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.
0074When using this first method, the personalization software 141 communicates directly with the web site 130, so as to identify and authenticate the user.
0075When 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.
0076o 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.
0077When 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).
0078When 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.
0079The 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.
0080After 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.
0081Registering the User with the Personalization Server
0082The 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.
0083When 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.
0084The 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.
0085In 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.
0086Registering At A New Web Site
0087The 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.
0088When 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:
0089o The user at the web client 110 contacts the web site 130 directly using the web client software 111.
0090When 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.
0091The 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.
0092When 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.
0093In 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.
0094In 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.
0095The 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.
0096It 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.
0097When 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.
0098The 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.
0099As 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.
0100The 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.
0101Selecting (and Logging Into) the Web Site
0102When 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:
0103o 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;
0104o 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);
0105and o usage or other information provided by the web site 130 and aggregated by the personalization server 140.
0106The 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.
0107In 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.
0108Using the Selected Web Site(s)
0109Upon 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.
0110In 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:
0111o automatic reminder of web sites 130 for which registration must be periodically renewed;
0112o automatic renewal of registration at web sites 130 for which registration must be periodically renewed;
0113and 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
0114A 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.
0115The 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:
0116o limitation to selected web sites 130 or selected classes of web sites 130;
0117o limitation to selected services or selected classes of services;
0118o limitation to selected times or dates, or combinations thereof, whether once-only or periodically;
0119o limitation to selected amounts of resources or services;
0120o limitation to selected numbers of such second users.
0121or o limitation to read-only operations by such second users.
0122When 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:
0123o prevent the web site 130 from sending cookies to the second user;
0124o disable the second user from changing information for the first user's account at the web site 130;
0125and o restrict the second user to limited access, such as read-only access.
0126Email Usage
0127As 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.)
0128The 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:
0129o forwarding selected email to a selected target email address;
0130o deleting or ignoring selected email for one of the web-site specific email addresses
0131(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 ;
0132or o providing the user of the web client software 1 1 1 with the ability to respond to selected email.
0133System Operation
0134Figure 2 shows a process flow diagram for a method of using a system for access to personalized web sites.
0135A 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.
0136Although 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.
0137At a flow point 210, a first user at the web client 110 is ready to register with the personalization server 140.
0138At 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.
0139At 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.
0140At 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.
0141At a step 215, the personalization server 140 records the authentication and personalization information for the user in its database 144.
0142At 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.
0143At 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.
0144At a step 222, the personalization server 140 generates and sends a message
0145151 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.
0146At 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.
0147At 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.
0148At 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.
0149Some 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..
0150In 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.
0151In 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.
0152At 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.
0153At 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.
0154At 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.
0155At 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.
0156At 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.
0157At a step 235, the web site 130 authenticates the user and allows the web client software 111 access to otherwise restricted information or services.
0158At 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.
0159At 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.
0160At 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).
0161At 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.
0162At 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.
0163At 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.
0164At 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.
0165At 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.
0166At 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.
0167At 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.
0168At 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).
0169At 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.
0170At 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.
0171At 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.
0172II. System Elements
0173Figure 3 shows a block diagram of a system for group access to web sites.
0174A 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.
0175As 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).
0176As 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.
0177The 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.
0178In 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.
0179In 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.
0180The 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.
0181In 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).
0182In 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.
0183In 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
0184The 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.
0185A 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).
0186In 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.
0187The 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.
0188The 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.
0189Operating the Group-Surfing Session
0190One 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:
0191o The controlling web clients 110 are identified in the session-creation message 151.
0192o The controlling web client 110 is, or the controlling web clients 110 are selected by
0193(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.
0194o 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.
0195o 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.
0196o 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.
0197If 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.
0198If 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:
0199o 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.
0200o 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.
0201o 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.
0202In 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.
0203In 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.
0204In 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.
0205As 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.
0206If 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.
0207The 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.
0208When 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.
0209Efficient Group-Surfing Session Activity
0210In 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.
0211The 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.
0212The 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.
0213o 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.
0214o 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.
0215o 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).
0216o The program fragment can detect embedded multimedia objects included in selected pages 153 and request those multimedia objects directly from the web site 130.
0217Variations on the Group-Surfing Session
0218There 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:
0219Web Page Look Ahead
0220The 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.
0221o 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).
0222o 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.
0223Web Page Special Access
0224The 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.
0225Web Page Automatic Form Completion
0226In 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.
0227In 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.
0228Payment for Web Site Services
0229The 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:
0230o The controlling web client 110 can pay for that access itself, effectively presenting a gift of services to participating web clients 1 10.
0231o 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.
0232o 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
0233The 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:
0234o The controlling web client 1 10 can pay for the ordered goods or services itself, effectively presenting gifts to participating web clients 1 10.
0235o 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.
0236o 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.
0237o 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.
0238and 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.
0239This 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.
0240Import and Export of Web Site Information
0241The 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.
0242Use in Conjunction with Intra-User Communication
0243Those 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.
0244Use in Conjunction with Other Network Functions
0245Those 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.
0246The 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.
0247The 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.
0248The invention can also be used for telemedicine or other process telecontrol.
0249In 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.
0250The 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.
0251Multiple Group-Surfing "Channels"
0252The 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.
0253In 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.
0254System Operation
0255Figure 4 shows a process flow diagram for a method of using a system for group access to web sites.
0256A 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.
0257At a flow point 210, the group-surfing server 140 is ready to create a group- surfing session.
0258At 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.
0259At 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.
0260The method 200 continues at the flow point 220.
0261At a flow point 220, the group-surfing server 140 is ready to add web clients 110 to a group-surfing session.
0262At 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.
0263At 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.
0264At 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.
0265The method 200 continues at the flow point 230.
0266At a flow point 230, the group-surfing server 140 is ready to perform a group- surfing session.
0267At 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.
0268At 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.
0269At 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.
0270At a step 234, the group-surfing server 140 receives the next-page message
0271151. 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.
0272In 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.
0273At a step 235, the page 153 is presented at each of the web clients 1 10 participating in the session.
0274At 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.
0275The 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.
0276At a flow point 240, a selected web client 110 is ready to leave the session.
0277At a step 241, the selected web client 110 sends a session-exit message 151 to the group-surfing server 140.
0278At 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.
0279In 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.
0280At 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.
0281At 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.
0282At 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.
0283At a step 254, the controlling web client 110 sends a look-ahead-stop message 151 to the group-surfing server 140.
0284At 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.
0285At a flow point 260, the controlling web client 110 is ready to select web pages 153 for "special access."
0286At a step 261, the controlling web client 110 sends a special-access-start message 151 to the group-surfing server 140.
0287At 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.
0288At 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.
0289At 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.
0290At a flow point 270, the controlling web client 1 10 is ready to select web pages 153 for paid access.
0291In 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.
0292At a flow point 280, the controlling web client 110 is ready to select web pages 153 for participation in electronic commerce.
0293In 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.
0294In 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.
0295At 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)
0296At a step 292, the group-surfing server 140 receives the import-export message
0297151. 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.
0298In 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 .
0299III. Lexicography
0300As used herein, use of the following terms refer or relate to aspects of the invention as described below.
0301• 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.
0302Personalized 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.
0303Personalized 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.
0304summarization 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.
0305Summarization 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.
0306• 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.
0307• 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.
0308• 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.
0309jump 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.
0310navigate - 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.
0311• 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.
0312• 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.
0313• 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.
0314• 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.
0315• 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.
0316A 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.
0317System Elements
0318Figure 5 shows a block diagram of a system for summarization and aggregation of personalized information.
0319A 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.
0320As used herein, the terms "client" and "server" refer to relationships between the client and the server, not necessarily to particular physical devices.
0321As 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).
0322As 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.
0323As 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.
0324As 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.
0325The 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.
0326In 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.
0327In 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.
0328The 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.
0329In 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).
0330In 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.
0331In 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
0332The 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.
0333The 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.
0334The 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.
0335In 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.
0336The 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).
0337The 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.
0338In 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.
0339Method of Operation
0340Figures 6 and 7 collectively show a process flow diagram for a method of using a system for summarization and aggregation of personalized information.
0341A 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.
0342Access to Jump Page
0343At 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.
0344At 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.
0345For 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).
0346At a step 213, the personal data server 140 retrieves, from its access database 142, access information for the individual user.
0347At 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.
0348At 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.
0349At 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.
0350At 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.
0351At 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.
0352At 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:
0353• 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).
0354• The individual user can save or send a hyperlink or pointer on the jump page 144 as a meta-bookmark 145.
0355• The individual user can review and manipulate personalized information at the web site 130 using the hyperlinks or pointers on the jump page 144.
0356At 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.
0357At 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.
0358At 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.
0359The 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.
0360At 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.
0361At 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.
0362At 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.
0363At 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.
0364At 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.
0365At 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.
0366At a step 233, the personal data server 140 records the request from an individual user to allow access to personalized information by other entities.
0367At 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.
0368For 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.
0369The method 200 continues at the flow point 210 or the flow point 220 or the flow point 230. Generality of the Invention
0370The 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:
0371• 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.
0372• 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.
0373• 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.
0374• 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.
0375IV.
0376Lexicography
0377The 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.
0378• 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
0379data input — in general, sending data from a web client to a web site that requests that data
0380• 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
0381• 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
0382• 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
0383• input field — in general, a logical data field designated to request selected types of information from the user
0384• logical field value — in general, a logical descriptor of a type of information requested for a selected input field
0385meta-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
0386multiple 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)
0387personalization server — in general, a device used to assist the web client in sending personalized information to one or more web sites
0388• 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
0389• 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)
0390• 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
0391• user — in general, an individual using or operating a web client
0392• web browser — in general, web client software for use by a user
0393• 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
0394• 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
0395• 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
0396As 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.
0397System Elements Figure 8 shows a block diagram of a system for automated and intelligent structured data input.
0398A system 100 includes a web client 110, a web site 120, a communication link 130, and a personalization server 160.
0399The 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.
0400Similar 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.
0401The 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.
0402Similar 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.
0403System Data Flow Figure 9 shows a data flow diagram of the system for automated and intelligent structured data input.
0404The 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.
0405A 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.
0406The web client 1 10 sends a message 21 1 to the web site 120, requesting a selected web page.
0407The 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.
0408The web client 110 recognizes the structured data form, using the personalization software, which assists the user with data input.
0409The 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.
0410Once the information is sent to the web site 120, the data flow 210 is complete.
0411A 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.
0412The web site 120 sends a message 222 to the web client 1 10 including the selected web page.
0413The personalization software 140 at the web client 1 10 performs the following tasks
0414• a portion thereof recognizes the selected web page;
0415• a portion thereof completes a form or other data entry for the selected web page at the web site;
0416and
0417• a portion thereof completes a form or other data entry for the selected web page at the client device.
0418Once the actions associated with the personalization software 140 are performed, the data flow 220 is complete.
0419A 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.
0420The 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.
0421Each 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.
0422Once the user is registered at the plurality of web sites 120, the data flow 230 is complete.
0423A 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.
0424The web client 110 sends a message 241 to a selected web site 120 including a request for a selected web page.
0425The web site 120 sends a message 242 to the web client 110 including the selected web page.
0426The 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.
0427The 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.
0428Once the operations associated with the web page have been performed, the data flow 240 is complete.
0429Method of Operation Figure 10 shows a process flow diagram of a first method for operating a system for automated and intelligent structured data input.
0430A method 300 includes a set of flow points and steps.
0431At 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.
0432At a step 311 , the user operating the web client 110 selects a web page at the web site 120.
0433At a step 312, the web site 120 sends the web page to the web client 110.
0434At a step 313, personalization software 140 identifies the web page as including a structured data form for data input.
0435At 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.
0436At 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>.
0437At 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.
0438At 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>.
0439At 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>.
0440At 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.
0441Figure 11 shows a process flow diagram of a second method for operating a system for automated and intelligent structured data input.
0442A method 400 includes a set of flow points and steps.
0443At a flow point 410, the user operating the web client 110 is ready to be assisted by personalization software that performs a meta-bookmark.
0444At a step 411, the user operating the web client 1 10 selects a web page at the web site 120.
0445At 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).
0446At a step 414, the personalization software 140 identifies the associated script or program fragment associated with the meta-bookmark. [*** on the server ***]
0447At a step 415, the personalization software 140 performs the associated script or program fragment associated with the meta-bookmark.
0448Figure 12 shows a process flow diagram of a third method for operating a system for automated and intelligent structured data input.
0449A method 500 includes a set of flow points and steps.
0450At 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.
0451At 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.
0452At a step 512, each selected web site 120 sends the message 232 to the web client 110 including the new-user registration web page.
0453At 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.
0454Figure 13 shows a process flow diagram of a fourth method for operating a system for automated and intelligent structured data input.
0455A 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.
0456At a step 611, the web client 1 10 requests a selected web page from the web site 120.
0457At a step 612, the web site 120 sends the selected web page to the web client
0458110.
0459At 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.
0460At a step 614, the helper application 150 informs the personalization software 140 of the web page type.
0461At 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.
0462Figure 14 shows a process flow diagram of a fifth method for operating a system for automated and intelligent structured data input.
0463A 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.
0464At a step 71 1, the web client 1 10 requests a selected web page from the web site 120.
0465At a step 712, the web site 120 sends the selected web page to the web client 110.
0466At 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.
0467At 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.
0468For 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.
0469Generality 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:
0470• information transactions and interactions relating to database queries and responses;
0471and
0472• information transactions and interactions relating to wireless devices and servers responsive thereto
0473Other 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.
0474I, II, III, and IV.
0475Alternative Embodiments
0476Although 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.
14 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2002318808A | Cited by | Japan | Examiner |
| FR2832009A1 | Cited by | France | Search report |
| EP1570364A4 | Cited by | European Patent Office (EPO) | Search report |
| US8819177B2 | Cited by | United States of America | Search report |
| US7080147B2 | Cited by | United States of America | Applicant |
| US2024396952A1 | Cited by | United States of America | Search report |
| US7549054B2 | Cited by | United States of America | Applicant |
| WO0219610A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO0221788A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1233350A1 | Cited by | European Patent Office (EPO) | Search report |
| FR2844949A1 | Cited by | France | Search report |
| WO03040897A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7516222B2 | Cited by | United States of America | Applicant |
| US20260135895A1 | Cited by | United States of America | Search report |
| WO0221788A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO0235384A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO0219610A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO02059780A1 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| USRE45295E1 | Cited by | United States of America | Applicant |
| US20260100977A1 | Cited by | United States of America | Search report |
| CN1293735C | Cited by | China | Search report |
| USRE43715E1 | Cited by | United States of America | Applicant |
| EP1570364A2 | Cited by | European Patent Office (EPO) | Search report |
| US7549054B2 | Cited by | United States of America | Applicant |
| US12088647B1 | Cited by | United States of America | Applicant |
| WO0235384A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US12101361B1 | Cited by | United States of America | Applicant |
| WO03040897A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1455290A1 | Cited by | European Patent Office (EPO) | Search report |
| US8489147B2 | Cited by | United States of America | Applicant |
| WO2016053135A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO0235384A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| USRE45295E | Cited by | United States of America | Applicant |
| USRE43715E | Cited by | United States of America | Applicant |
| EP0547990A1 | Cites | European Patent Office (EPO) | International search |
| EP0820028A2 | Cites | European Patent Office (EPO) | International search |
| EP0834822A2 | Cites | European Patent Office (EPO) | International search |
| GB2349244A | Cites | United Kingdom | International search |
| US5818936A | Cites | United States of America | International search |
| US5862323A | Cites | United States of America | International search |
| WO9804976A1 | Cites | World Intellectual Property Organization (WIPO) | International search |
8 members in 6 offices; this record represents the family
Members8
| Document | Office | Kind | |
|---|---|---|---|
| CA2364297A1 | Canada | A1 | |
| WO0048110A2This record | World Intellectual Property Organization (WIPO) | A2 | |
| AU3699600A | Australia | A | |
| WO0048110A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20020004948A | Republic of Korea | A | |
| WO0048110B1 | World Intellectual Property Organization (WIPO) | B1 | |
| EP1188134A2 | European Patent Office (EPO) | A2 | |
| JP2003520361A | Japan | A |
20 legal events, as 4 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Wipo information: withdrawn in national officeWithdrawnWWW | WWW | WO | |
| Wipo information: withdrawn in national officeWithdrawnWWW | WWW | WO | |
| Wipo information: published in national officeWWP | WWP | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO | |
| Later publication of amended claimsB | B | WO | |
| Wipo information: published in national officeWWP | WWP | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO | |
| Procedure relating to pct application: ceased to have effect for deCeased8642 | 8642 | DE | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Wipo information: entry into national phaseWWE | WWE | WO | |
| Entry into the national phaseENP | ENP | CA | |
| Entry into the national phaseENP | ENP | CA | |
| Entry into the national phaseENP | ENP | JP | |
| Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)DFPE | DFPE | WO | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO |
Numbers
- Publication
- 00/48110
- Application
- 3790
Titles2
- English
- PERSONALIZED ACCESS TO WEB SITES
- French
- ACCES PERSONNALISE A DES SITES WEB
Classification
- CPC, 6
- G06F21/41
- G06Q50/10
- G06F21/31
- G06F2216/15
- G06Q30/02
- G06F16/954
- IPC, 6
- G06F12 14
- G06F15 00
- G06F17 30
- G06F21 31
- G06F21 41
- G06Q30 00
Designated states102
- Regional, 53
- Ghana
- Gambia
- Kenya
- Lesotho
- Malawi
- Sudan
- Sierra Leone
- Eswatini
- United Republic of Tanzania
- Uganda
- Zimbabwe
- Armenia
- Azerbaijan
- Belarus
- Kyrgyzstan
- Kazakhstan
- Republic of Moldova
- Russian Federation
- Tajikistan
- Turkmenistan
- Austria
- Belgium
- Switzerland
- Cyprus
and 29 moreShow fewer
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
- Burkina Faso
- Benin
- Central African Republic
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Guinea-Bissau
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- National, 49
- United Arab Emirates
- Albania
- Australia
- Bosnia and Herzegovina
- Barbados
- Bulgaria
- Brazil
- Canada
- China
- Costa Rica
- Cuba
- Czechia
- Dominica
- Estonia
- Grenada
- Georgia
- Croatia
- Hungary
- Indonesia
- Israel
- India
- Iceland
- Japan
- Democratic People’s Republic of Korea
and 25 moreShow fewer
- Republic of Korea
- Saint Lucia
- Sri Lanka
- Liberia
- Lithuania
- Latvia
- Morocco
- Madagascar
- North Macedonia
- Mongolia
- Mexico
- Norway
- New Zealand
- Poland
- Romania
- Singapore
- Slovenia
- Slovakia
- Türkiye
- Trinidad and Tobago
- Ukraine
- Uzbekistan
- Viet Nam
- Yugoslavia, later Serbia and Montenegro (until 2006)
- South Africa