Language selection

Search

Patent 2364297 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2364297
(54) English Title: PERSONALIZED ACCESS TO WEB SITES
(54) French Title: ACCES PERSONNALISE A DES SITES WEB
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 17/30 (2006.01)
  • G06F 21/00 (2006.01)
  • G06Q 30/00 (2006.01)
(72) Inventors :
  • LEBRUN, JEAN-NOEL (France)
  • KRUTA, FRANCOIS (France)
(73) Owners :
  • LEBRUN, JEAN-NOEL (Not Available)
  • KRUTA, FRANCOIS (Not Available)
(71) Applicants :
  • EZLOGIN.COM, INC. (United States of America)
(74) Agent: DIMOCK STRATTON LLP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2000-02-11
(87) Open to Public Inspection: 2000-08-17
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2000/003790
(87) International Publication Number: WO2000/048110
(85) National Entry: 2001-08-07

(30) Application Priority Data:
Application No. Country/Territory Date
09/249,226 United States of America 1999-02-11
09/273,803 United States of America 1999-03-22
09/361,640 United States of America 1999-07-26
09/466,533 United States of America 1999-12-17

Abstracts

English 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.


French Abstract

L'invention concerne un procédé et un système offrant un accès personnalisé à des sites Web. Un utilisateur peut détenir une série unique d'informations d'authentification pour accéder à plusieurs sites Web restreints. L'invention concerne en outre un procédé amélioré d'accès groupé à des sites Web. Plusieurs utilisateurs apparentés peuvent accéder simultanément à une séquence de sites Web, pour que chacun d'entre eux ait sensiblement le même contenu de présentation au même moment. L'invention concerne également un procédé de synthèse et de regroupement de données personnalisées. Un serveur de données personnelles recueille des informations pour les utilisateurs, en leur nom, depuis un ou plusieurs sites Web contenant ces informations, et présente ensuite lesdites informations aux utilisateurs en question selon un format pratique. L'invention concerne enfin un procédé et un système d'entrée automatique intelligent de données structurées.

Claims

Note: Claims are shown in the official language in which they were submitted.





Claims

1. A method for access to a plurality of network services, said method
including steps for
recording a set of authentication information in a database;
receiving a request to access at least one of said plurality of network
services;
and
sending, in response to said request to access, said set of authentication
information to said at least one of said plurality of network services;
whereby a user can maintain a single set of authentication information for
said
plurality of network services.

2. A method as in claim 1, wherein said steps for sending include steps for
routing said set of authentication information through said web client.

3. A method as in claim 1, wherein said steps for sending include steps for
routing said set of authentication information directly to said at least one
network service
without routing said information through said web client.

4. A method as in claim 1, said method including steps for
providing a plurality of profiles of information for one said user;
selecting one said profile; and
wherein said profiles include personalization information, and including steps
for sending said personalization information in response to said steps for
selecting one said
profile.

5. A method as in claim 1, said method including steps for
providing a corresponding plurality of identifiers for said network services,
in
response to a request;
receiving a selection of one said identifier;
making a request to access an associated network service in response to said
selection.



76



6. A method as in claim 5, wherein
said plurality of identifiers includes a page for presentation to said user;
and
said step of selecting includes picking one or more of said plurality of
identifiers from said page.

7. A method as in claim 1, wherein
said database is maintained at a server,
said request is sent from a web client to said server, in response to a
request by
a user at said web client;
whereby said server maintains said set of authentication information on behalf
of said user.

8. A method as in claim 7, wherein said server is logically remote from
said web client.

9. A method as in claim 7, wherein said web client includes a web server
device acting on behalf of said user.

10. A method as in claim l, including steps for
receiving a request to newly access at least one network service not in said
plurality;
sending, in response to said request to newly access, a set of personalization
information to said at least one network service not in said plurality;
whereby said user is registered at said at least one of network service not in
said plurality without said user having to directly enter said set of
personalization information.

11. A method as in claim 1, including steps for
receiving a request to again access at least one network service in said
plurality;
sending, in response to said request to again access, said set of
authentication
information to said at least one network service in said plurality;
whereby access for said at least one network service is granted to said user
without said user having to directly access said set of authentication
information.



77




12. A method for enforcing restricted access to a network service, said
method including steps for
identifying a network service having access thereto restricted to a first set
of
users;
identifying, for one of said first set of users, a second set of users to have
access to said network service;
receiving, from one of said second users, a request for access to said network
service; and
providing access to said network service to said one second user in response
to
said steps for identifying a second set, and in response to access permitted
to said one first
user identified therewith.

13. A method as in claim 12, wherein said steps for providing access to
said one second user include steps for
identifying a set of restrictions on said access to said one second user; and
restricting said access to said one second user in response to said set of
restrictions.

14. A method as in claim 13, including steps for altering said set of
restrictions in response to a selection by said one first user.

15. A method as in claim 13, including steps for providing access to said
one second user in response to access permitted by any one of a plurality of
said first users.

16. A method as in claim 13, including steps for providing access to said
one second user in response to whether said one second user has access
permitted by said one
first user, or in response to whether said one second user is a member of said
set of first users.

17. A method as in claim 13, wherein said network service includes at least
one web site.



78




18. A method as in claim 13, wherein said set of restrictions include at least
one time parameter.

19. A method as in claim 13, wherein said set of restrictions includes at
least one type of access permitted to said one first user and denied to said
one second user.

20. Apparatus for access to a plurality of network services, said apparatus
including
a personalization server having a database, said database including
information
regarding a plurality of network services, information regarding a set of
authentication
information associated therewith;
said personalization server being disposed for receiving a first message
requesting access to one of said network services, and for sending a second
message to said
one network service in response thereto, said second message including said
set of
authentication information;
whereby a user can maintain a single set of authentication information for
said
plurality of network services.

21. Apparatus as in claim 20, wherein said personalization server is
disposed for routing said set of authentication information through said web
client.

22. Apparatus as in claim 20, wherein said personalization server is
disposed for routing said set of authentication information directly to said
at least one network
service without routing said information through said web client.

23. Apparatus as in claim 20, including
accessible by said personalization server, a plurality of profiles of
information
for one said user;
said personalization server being disposed for receiving a selection message
selecting one said profile, and for selecting said set of authentication
information or a set of
personalization information in response to said selection message.

24. Apparatus as in claim 20, including


79




a page for presentation to said user including a corresponding plurality of
identifiers for said network services;
said personalization server being disposed for making a request to access an
associated network service in response to receiving a selection of one said
identifier.

25. Apparatus for enforcing restricted access to a network service, said
apparatus including
a database associating a set of network services with a first set of users
having
access to said network services, said database associating one of said first
set of users with a
second set of users to have access to said network service; and
a personalization server disposed for providing access to one said network
service in response to one said second user and in response to said database.

26. Apparatus as in claim 25, wherein said database includes a set of
restrictions on said access to said one second user.

27. Apparatus as in claim 26, wherein said network service includes at least
one web site.

28. Apparatus as in claim 26, wherein said set of restrictions include at
least one time parameter.

29. Apparatus as in claim 26, wherein said set of restrictions includes at
least one type of access permitted to said one first user and denied to said
one second user.

30. A method of doing business, including steps for
obtaining a single registration for a set of primary users for a group of
related
services provided by one or more processors coupled to a network;
enforcing restricted access to said single registration for a set of secondary
users associated with said primary users; and
providing said restricted access to said secondary users in response to
registrations by said secondary users for said restricted access to said
services.




31. A method of doing business, including steps for
maintaining a plurality of profiles for a user;
obtaining a plurality of registrations for said user for services provided by
one
or more processors coupled to a network;
wherein said plurality of registrations includes information from at least two
of
said profiles.

32. A method of doing business, including steps for
maintaining, at a personalization server, a plurality of registrations for a
user
for services provided by one or more processors coupled to a network;
providing access to said services using said personalization server, in
response
to requests from said user;
whereby said user can make said requests from more than one of a plurality of
devices coupled to said network.

33. A method including steps for
designating a group of web clients for group access to web sites;
receiving a selection of a web page for presentation to web clients in said
group; and
retrieving and presenting said web page to said web clients in said group.

34. A method as in claim 33, wherein said steps for retrieving and
presenting include sending at least part of said web page directly from a web
server to at least
one web client in said group.

35. A method as in claim 33, including steps for
designating a controlling web client, wherein said selection of said web page
is
received from said controlling web client;
receiving a selection of a web page for presentation to said controlling web
client without presentation to all said web clients; and
retrieving and presenting said web page to said controlling web client.

36. A method as in claim 33, including steps for

81




designating a controlling web client, wherein said selection of said web page
is
received from said controlling web client:
receiving a selection of a restricted-access web page from said controlling
web
client, said restricted-access web page including access control disallowing
access to at least
one web client in said group;
obtaining access to said restricted-access web page on behalf of said
controlling web client; and
retrieving and presenting said restricted-access web page to said web clients
in
said group.

37. A method as in claim 33, including steps for sending information
relating to web sites between at least two of said web clients in said group,
wherein said
information includes web page bookmarks or web site registrations.

38. A method as in claim 33, wherein
said group of web clients includes a plurality of differing types of web
clients;
said steps for receiving and presenting include receiving a plurality of
variants
of said web page, and steps for presenting one of said variants to each said
web client.

39. Apparatus including
a set of web clients;
a group-surfing server disposed for receiving a selection of a web page at a
web server, and for retrieving and presenting said web page to said web
clients.

40. Apparatus as in claim 39, wherein
said set of web clients includes at least one controlling web client and at
least
one non-controlling web client;
said group-surfing server is responsive only to said selection of a web page
from one or more controlling web clients.

41. Apparatus as in claim 39, wherein

82



said selection message indicates a restricted-access web page, said restricted-

access web page requiring access control information disallowing access to at
least one web
client in said group;
an access message from said group-surfing server to said web site including
said access control information; and
a distribution message from said group-surfing server to said web clients in
said group including at least some information from said restricted-access web
page.

42. Apparatus as in claim 39, wherein
each of said web clients includes a program fragment disposed for recognizing
a selection of a web link at said web server, and for sending a selection
message to said
group-surfing server in response thereto;
said group-surfing server retrieves at least part of said web page from said
web
server in response to said selection message.

43. Apparatus as in claim 42, wherein said program fragment is disposed
for recognizing a post command from said web client, and for sending a message
to said
group-surfing server in response thereto.

44. Apparatus as in claim 10, wherein
said program fragment is disposed for recognizing a post command from said
web client, and for sending a posting message to said group-surfing server in
response thereto;
and
said group-surfing server is disposed for receiving a plurality of said
posting
messages from a corresponding plurality of said web clients, and for sending a
post command
to said web server in response thereto.

45. In a method for presenting web pages to a plurality of web sites in
conjunction, a data structure including identity or session information
relating to a group-
surfing server acting on behalf of said plurality of web sites.

46. A data structure as in claim 45, including a plurality of cookies
received from web sites.

83




47. A data structure as in claim 45, including access control information
not available to at least one of said plurality of web sites.

48. A method of doing business, including steps for
designating a group of web clients for group access to web sites, said group
of
web clients being charged for said group access;
receiving a selection of a web page for presentation to web clients in said
group; and
retrieving and presenting said web page to said web clients in said group.

49. A method as in claim 48, including steps for
designating a controlling web client, wherein said selection of said web page
is
received from said controlling web client;
receiving a selection of a restricted-access web page from said controlling
web
client, said restricted-access web page including access control disallowing
access to at least
one web client in said group;
obtaining access to said restricted-access web page on behalf of said
controlling web client;
retrieving and presenting said restricted-access web page to said web clients
in
said group; and
charging said group of web clients for said access to said restricted-access
web
page.

50. A method as in claim 48, including steps for
sending information relating to web sites between at least two of said web
clients in said group, wherein said information includes web page bookmarks or
web site
registrations; and
charging said group of web clients for access to information related to web
sites.

51. A method including steps of
obtaining personalized information for an individual user, on behalf of said
individual user, from a set of web sites having said personalized information;
and

84



presenting said personalized information to said individual user in a format
other than available at said web sites.

52. A method as in claim 51, wherein said format includes at least one of:
aggregation or summarization of said personalized information, modification of
said
personalized information without direct interaction between said individual
user and any of
said web sites.

53. A method as in claim 51, including steps of
maintaining access information for said individual user for at least one of
said
web sites, said access information including sufficient information to perform
said steps of
obtaining; and
wherein said steps of presenting include steps of dynamically generating a
presentation including (1) at least some of said personalized information and
(2) interaction
information for said individual user to communicate directly with at least one
said web site.

54. A method as in claim 53, wherein said interaction information includes
at least one hyperlink to a web object at said web site.

55. A method as in claim 53, wherein said interaction information includes
at least one hyperlink to a web object at said web site, said web object being
an object
requiring authentication or identification information for access from said
web site, and said
authentication or identification information being included in conjunction
with said hyperlink.

56. A method as in claim 51, wherein said steps of presenting include steps
of dynamically generating a presentation including information responsive to
an aggregate of
said personalized information from said web sites.

57. A method as in claim 56, wherein said aggregate includes at least one
of: a sum of account cash balances, a sum of account securities values.

58. A method as in claim 51, including steps of




maintaining access information for said individual user for at least one of
said
web sites, said access information including sufficient information to perform
said steps of
obtaining; and
presenting said personalized information to an entity other than said
individual
in a format other than available at said web sites.

59. A method as in claim 58, wherein said steps of obtaining personalized
information include steps of presenting said access information to said web
site without
delivering said access information to said entity.

60. A method as in claim 58, including steps of obtaining authorization
from said individual user to present said personalized information to said
entity.

61. A method as in claim 60, wherein said authorization is limited to at
least one of: aggregations of said personalized information, selected portions
of said
personalized information.

62. A method as in claim 58, including steps of
performing said steps of maintaining and obtaining for a plurality of said
individual users;
aggregating a set of results of said steps of performing said steps of
obtaining
for said plurality;
presenting an aggregate result of said steps of aggregating to said entity.

63. A method as in claim 62, wherein said aggregate result includes at least
one of account cash balance data, account securities values data, census data,
polling data,
market survey data.

64. A method of doing business, including steps of
obtaining personalized information for an individual user, on behalf of said
individual user, from a set of web sites having said personalized information;
and
making said personalized information available to said individual user in a
transaction not requiring direct contact with those web sites.

86




65. A method as in claim 64, wherein said format includes wherein said
format includes at least one of: aggregation or summarization of said
personalized
information, modification of said personalized information without direct
interaction between
said individual user and any of said web sites.

66. A method as in claim 64, including steps of
maintaining access information for said individual user for at least one of
said
web sites, said access information including sufficient information to perform
said steps of
obtaining; and
presenting said personalized information to an entity other than said
individual
in a transaction not requiring direct contact with those web sites.

67. A method as in claim 66, wherein said steps of obtaining personalized
information include steps of presenting said access information to said web
site without
delivering said access information to said entity.

68. A method as in claim 66, including steps of obtaining authorization
from said individual user to present said personalized information to said
entity, wherein said
authorization is limited to at least one of: aggregations of said personalized
information,
selected portions of said personalized information.

69. A method as in claim 66, including steps of
performing said steps of maintaining and obtaining for a plurality of said
individual users;
aggregating a set of results of said steps of performing said steps of
obtaining
for said plurality;
presenting an aggregate result of said steps of aggregating to said entity.

70. A method as in claim 69, wherein said aggregate result includes at least
one of: account cash balance data, account securities values data, census
data, polling data,
market survey data.

87



71. Apparatus including
a personal data server including a set of personalized information for an
individual user, said personalized information having been obtained from a set
of web sites
having said personalized information; and
a data structure including said personalized information in a format other
than
available at said web sites.

72. Apparatus as in claim 71, wherein said data structure includes at least
one of: an aggregation or summarization of said personalized information, a
hyperlink to a
device for modification of said personalized information without direct
interaction between
said individual user and any of said web sites.

73. Apparatus as in claim 71, including a data structure for said individual
user, said data structure including~
access information for at least one of said web sites, said access information
including sufficient information to perform said steps of obtaining; and
interaction information for said individual user to communicate directly with
at
least one said web site.

74. Apparatus as in claim 73, wherein said interaction information includes
at least one hyperlink to a web object at said web site.

75. Apparatus as in claim 73, wherein said interaction information includes
at least one hyperlink to a web object at said web site, said web object being
an object
requiring authentication or identification information for access from said
web site, and said
authentication or identification information being included in conjunction
with said hyperlink.

76. Apparatus as in claim 71, including a data structure for said individual
user, said data structure including
access information for said individual user for at least one of said web
sites,
said access information including sufficient information to perform said steps
of obtaining;
and
88




a data structure including said personalized information in a format other
than
available at said web sites.

77. Apparatus as in claim 76, wherein said personal data server is disposed
for presenting said data structure to said entity without delivering said
access information.

78. Apparatus as in claim 76, including authorization information for an
entity other than said individual.

79. Apparatus as in claim 78, wherein said authorization information
describes a limitation to at least one of: aggregations of said personalized
information,
selected portions of said personalized information.

80. Apparatus as in claim 76, including a data structure including an
aggregate of said personalized information for a plurality of said individual
users, for
presentation to said entity.

81. Apparatus as in claim 80, wherein said aggregate includes at least one
of: account cash balance data, account securities values data, census data,
polling data, market
survey data.

82. A method, including steps of
accessing a web site from a web client device;
executing a software module to identify a form at said web site for structured
data input; and
executing said software module to enter at least some data for said form
without substantial user intervention.

83. A method as in claim 82, including steps of automatic registration of a
user at a new web site, automatic login using the login page of a web site, or
automatic form
filling for checking out purchases from multiple web sites.

89




84. A method as in claim 82, wherein said software module includes at
least a portion executed at a server device other than said web site.

85. A method as in claim 82, wherein said software module includes at
least a portion executed at said web client device.

86. A method as in claim 82, wherein said web site includes a personalized
web page only visible to a selected user after a login process at said web
site.

87. A method as in claim 82, including steps of executing said software
module to enter at least some said data at a plurality of distinct web sites.

88. A method as in claim 87, wherein said distinct web sites each include a
web page for confirming an e-commerce transaction.

89. A method as in claim 87, wherein said distinct web sites each include a
web page for new-user registration.

90. A method as in claim 82, wherein said software module attempts to
perform at least one of:
associating at least one set of descriptive text for said form with a logical
field
value for said form;
associating at least one screen location for said form with a logical field
value
for said form;
associating at least one logical field value with a set of multiple data
values or
partial data values for said form.

91. A method as in claim 90, wherein said data values include a name,
address, telephone number, credit card information, demographic information,
preferred login
name or password for said user.

92. A method as in claim 90, wherein said data values include pre-recorded
personal information about the user.





93. A method as in claim 82, wherein said steps of accessing include
recognizing a type of said form for structured data input;
performing said step of executing said software module to enter at least some
data in response to a result of said step of recognizing.

94. A method as in claim 93, wherein said steps of recognizing include
determining a difference between a web page for new-user registration, a web
page for user login, and a web page for confirming an e-commerce transaction.

95. In a method for entering data in a form without substantial user
intervention, a data structure including
an identifier of a web page;
an association of that web site location with a script or program fragment to
be
executed for that web page;
whereby execution of said script or program fragment sends information to a
server for entering data into said form.

96. A data structure as in claim 95, wherein said method includes
completing or confirming an e-commerce transaction at a web site associated
with said web
page.

91

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
PERSONALIZED ACCESS TO WEB SITES
Background of the Invention
I. Field of the Invention
This invention relates to web access; to summarization and aggregation of
personalized information, such as used in conjunction with an internetworking
environment;
and to structured data input and automatic form processing, such as used with
the world wide
1 o web (including wireless uses).
2. Related Art
I.
15 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
2o 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
25 web sites allow unrestricted access to a first set of public information,
and only restricted
access to a second set of restricted information.
As the number of such web sites becomes relatively larger, a first problem in
the known art is management of information relating to those web sites,
including access
30 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.


CA 02364297 2001-08-07
WO Ob/48110 PCT/US00/03790
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
I o the web sites.
Accordingly, it would be advantageous to provide a technique in which a user
can maintain authentication information (such as a user name and password) for
multiple
different web sites, and be able to access those different web sites using a
single set of
15 authentication information.
A second problem in the known art is that it is inconvenient to re-enter or
update the information for multiple web sites, particularly when the number of
web sites
becomes relatively large. Some attempts have been made in the known art to
address this
20 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
25 web sites, so as to personalize the information obtained from that web
site, or so as to
discourage dissemination of personal information.
A third problem in the known art is that a first user may desire to allow a
second user temporary access to the first user's registered account at a
selected web site.
3o 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


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
restricted access rights to the second user, so as to restrict the second user
from performing
banking or commercial transactions using the first user's account.
A fourth problem in the known art is that each such web site will often
request
an email address from the user, so as to send advertisements and possibly
other ''junk" email
to the user. This can become a nuisance when the user is registered with
multiple web sites.
It would be advantageous if the user could separate out email from web sites,
so as to be able
to control email from those web sites. For example, the user could desire to
treat differently
email that is not sent automatically (and thus is more likely to be of real
interest to the user).
to
Accordingly, it would be desirable to provide an improved technique for
access to personalized web sites. A first aspect of the invention is that a
user can maintain
and select from a set of multiple profiles for use with a selected web site.
This can aid the
user in presenting only desired information to the selected web site. A second
aspect of the
15 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
2o web sites. A fourth aspect of the invention is that the user can separate
out and treat
differently email from those web sites. This can aid the user in filtering out
unwanted email.
II.
One aspect of the internei which has become popular is access to the world
25 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
3~ further web sites, in a process sometimes called web "surfing."
One problem in the known art is that individual users perform web surfing
without reference to other individual users. Although it is possible for
multiple users to


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
access the same web site at once, there is no convenient and simple technique
in the known
art for those users to coordinate following links to other and further web
sites. Similarly,
there is no convenient and simple technique in the known art for providing,
for a group of
related users, simultaneous access to a sequence of web sites.
Accordingly, it would be desirable to provide an improved technique for group
access to web sites. This is achieved in an embodiment of the invention in
which multiple
related users can simultaneously access a sequence of web sites (web surfing),
such that each
of the related users has substantially the same content presented at the same
times. In a first
to embodiment, a selected one of the related users controls the web surfing
process. In a second
embodiment, a selected plurality of the users collectively control the web
surfing process.
III.
One aspect of the Internet which has become popular is access to World Wide
15 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
2o ftuther web sites, in a process sometimes called web "surfing."
One problem in the known art is that individual users develop a substantial
amount of personalized information, stored at different web sites in different
formats, and
with differing methods of access. Although it is possible for an individual
user to retrieve and
25 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.
30 Accordingly, it would be desirable to provide an improved technique for
summarization and aggregation of personalized information. This is achieved in
an
embodiment of the invention in which a personal data server obtains
personalized information
for individual users, on their behalf, from one or more web sites having that
information, and


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
presents that personalized information to those individual users in a
convenient format. The
convenient format can include a technique for presentation that allows
aggregation,
modification, or summarization.
The invention provides an enabling technology for summarization and
aggregation of personalized information, to obtain substantial advantages and
capabilities that
are novel and non-obvious in view of the known art. Examples described below
relate to
information for electronic commerce (''e-commerce"), but the invention is
broadly applicable
to many different types of personalized information or transactions.
IV.
One aspect of the Internet that has become popular is access to the world wide
web, in particular access by web client devices or software (also known as
"web browsers") to
information provided by web servers (also known as "web sites"). Some of these
web sites
provide structured forms for data input, such as HTML or XML forms, table
entry of data,
and other techniques. These structured forms for data input can be used for a
variety of data-
capture purposes. Some examples could include registration of a new user,
adding a product
to a "shopping cart" or other electronic commerce technique, and purchasing a
product (or
purchasing a set of products already identified using a shopping cart).
One problem in the known art is that entering data for such forms is
repetitive
and relatively uninteresting for the human user. This takes unnecessary time
away from other
activities the user could be performing. It can present a barrier to web site
usage, and can also
present a barner to effective sales and rapid order fulfillment.
Another problem in the known art is that it is not practical to complete
manual
data entry for such activities when the user is accessing the Internet through
a small-screen
device or a bandwidth constrained network, such as in wireless Internet
access.
One known method is to record information for such forms logically local to
the user's web client, such as on the user's computer in the form of a
"cookie" or other
structured data. While this method generally achieves the objective of
allowing the user to
repeatedly use a web site without having to re-enter the same information, it
is subject to


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
several drawbacks. First, it is generally inapplicable when the user is
presented with a request
for data input from a new web site, as that new web site does not retrieve the
relevant
information from the cookie. Second, it is generally inappliable when a user
is accessing the
web site from more than one client device. Third, the relatively weak security
associated with
cookies militates against storing confidential information, such as credit
card information.
A second known method is the "One Click shopping" method available at the
web site "amazon.com," in which allows automation of transactions for all
users at the
specific web site. While this method generally achieves the objective of
allowing the user to
1o repeatedly use a web site without having to re-enter the same information,
it is subject to the
drawback that it works only with those specific web sites that have directly
linked their server
software with the One Click shopping server software and database.
Accordingly, it would be advantageous to provide a technique for
15 automatically completing such forms, without having to obtain input from a
human user
regarding what information properly belongs in which fields of the form, that
is not subject to
drawbacks of the known art.
Summary of the Invention
I.
The invention provides a method and system for access to personalized web
sites. In a first aspect of the invention, a user can maintain and select from
a set of multiple
profiles for use with a selected web site. In a second aspect of the
invention, a user can
maintain a single set of authentication information for access to multiple
restricted web sites,
along with bookmark information for the web site, for access from additional
locations. In a
preferred embodiment, the user can use the single set of authentication
information to manage
multiple restricted web sites, including monitoring usage of cost-based
services and being
able to control or provide automated renewal of such services. In a third
aspect of the
3o 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.
6


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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
1 o process, such as telephone communication, voice over IP, or Internet chat.
In a second aspect
of the invention, the group surfing process can be used in conjunction with
other network
functions, such as electronic commerce, on-line or otherwise remote training,
virtual displays
or tours, telemedicine or other process telecontrol, or consulting (such as in
the fields of
finance, advertising or marketing). More generally, the group surfing process
can be used in
conjunction with functions that could otherwise occur on display before an in-
person
audience.
III.
The invention provides an improved technique for summarization and
2o aggregation of personalized information. A personal data server obtains
personalized
information for individual users, on their behalf, from one or more web sites
having that
information, and presents that personalized information to those individual
users in a
convenient format. The convenient format can include a technique for
presentation that
allows aggregation, modification, or summarization.
In a first aspect of the invention, the personal data server maintains
information
for a set of individual users so as to be able to retrieve, on their behalf,
personalized
information from one or more web sites having that information. The personal
data server
presents that personalized information in a dynamically generated "jump page"
that the
3o 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


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
user. The aspect has broad applicability to e-commerce and electronic banking,
to inter-user
communication, and to inter-user interest groups.
In a second aspect of the invention, the personal data server can be used to
provide only limited or only aggregate access to personalized information to
persons or
entities other than the individual for which the information is personal. The
personal data
server can collect information approved for collection by a set of individual
users, aggregate
or summarize that information, and present only the aggregate or summary to a
reviewing
person or entity. This aspect has broad applicability to census and polling
data, market
l0 surveys and other data collection, and to inter-user communication.
IV.
The invention provides a method and system for automated and intelligent
structured data input. A user operating a web browser to access a web site is
assisted by
1 s personalization software that identifies forms for structured data input
and assists the user
with data input. In a preferred embodiment, operations described herein can be
performed
automatically on the personalization server (or other server) on behalf of the
user.
In a first aspect of the invention, the personalization software, when
possible,
2o 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
25 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
3o 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.


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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
1 o that data against a confirmation page, and confirming that the data
received by the web site is
correct. This second aspect of the invention has applicable uses including
automatic
performance of an e-commerce operation, such as supplying credit card
information and
confirming an e-commerce transaction.
In a third aspect of the invention, a helper application assists the
personalization software in recognizing differing types of structured data
forms and and is
directed by the personalization software for entering data for those differing
types of
structured data forms. For example, the helper application can determine
differences between
a web page for new-user registration, a web page for user login, and a web
page for
confirming an e-commerce transaction, and can complete these pages directly
without
substantial assistance from the user, using information from the
personalization software.
In a fourth aspect of the invention, the personalization software performs
automated new-user registration for the user of the web client at a plurality
of web sites.
Personalization information is collected for the user and sent to each web
site in the individual
format that web site requests. If one or more web sites request further
personalization
information not already entered by the user, the personalization software can
request that
further personalization information at once, so as to send it to those one or
more web sites.
3o In a fifth aspect of the invention, the personalization server automates
the
checkout process for purchases on many different Web sites, automatically
processing the
multiple web pages required by each shopping store independently, and
successively


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
completing each of them with the purchasing agent and using the relevant user
information it
has on hand.
The invention provides an enabling technology for a wide variety of
applications for structured data input, and for automated or intelligent
access to logically
remote information requesters. Examples described below relate to personalized
web sites
and to e-commerce, but the invention is broadly applicable to many different
types of
information exchange, including many different types of information
transactions and
interactions between and among communicating computers and to computer
software.
to
Brief Description of the Drawings
I.
Figure 1 shows a block diagram of a system for access to personalized web
sites.
Figure 2 shows a process flow diagram for a method of using a system for
access to personalized web sites.
2o II.
Figure 3 shows a block diagram of a system for group access to web sites.
Figure 4 shows a process flow diagram for a method of using a system for
group access to web sites.
III.
Figure 5 shows a block diagram of a system for summarization and
aggregation of personalized information.
Figures 6 and 7 collectively show a process flow diagram for a method of
using a system for summarization and aggregation of personalized information.
IV.
to


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Figure 8 shows a block diagram of a system for automated and intelligent
structured data input.
Figure 9 shows a data flow diagram of the system for automated and intelligent
structured data input.
Figure 10 shows a process flow diagram of a first method for operating a
system for automated and intelligent structured data input.
l0 Figure 11 shows a process flow diagram of a second method for operating a
system for automated and intelligent structured data input.
Figure 12 shows a process flow diagram of a third method for operating a
system for automated and intelligent structured data input.
Figure 13 shows a process flow diagram of a fourth method for operating a
system for automated and intelligent structured data input.
Figure 14 shows a process flow diagram of a fifth method for operating a
2o system for automated and intelligent structured data input.
Detailed Description of the Preferred Embodiment
In the following description, a preferred embodiment of the invention is
described with regard to preferred process steps and data structures. Those
skilled in the art
would recognize after perusal of this application that embodiments of the
invention can be
implemented using one or more general purpose processors or special purpose
processors or
other circuits adapted to particular process steps and data structures
described herein, and that
implementation of the process steps and data structures described herein would
not require
3o undue experimentation or further invention.
System Elements


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Figure 1 shows a block diagram of a system for access to personalized web
sites.
A system 100 includes at least one web client 110, a communication network
120, at least one web site 130, and a personalization server 140.
As used herein, the terms "client" and "server" refer to client-server
relationships between client and server, not necessarily to particular
physical devices.
to
As used herein, the phrase "web client" includes any combination of devices or
software taking on the role of a client in a client-server environment in the
Internet, the world
wide web, or an equivalent or extension thereof. There is no particular
requirement that the
web clients 110 must be individual devices; they can each be a single device,
a set of
15 cooperating devices, a portion of a device, or some combination thereof
(such as for example
a device providing web server services that acts as an agent of the user).
As used herein, the phrase "web site" includes any combination of devices or
software taking on the role of a server in a client-server environment in the
Internet, the world
20 wide web, or an equivalent or extension thereof. There is no particular
requirement that the
web sites 130 must be individual devices; they can each be a single device, a
set of
cooperating devices, a portion of a device, or some combination thereof.
The web client 110 includes a processor operating under control of web client
25 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.
30 In a preferred embodiment, the web client 110 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
12


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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 110 to the web site 130 can each differ between pairs of
connection sessions
between the web client 110 and the web site 130.
In a preferred embodiment, the communication network 120 includes a packet
switched network such as the Internet, as well as (in conjunction with or
instead of) an
to 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 110, web site 130, and
personalization
server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151
between any two of the web client 110, 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,
2o such as SHTTP (secure HTTP). The communication protocol can also include
other protocols
for requesting and sending information, including FTP (file transfer
protocol), Gopher, and
variants thereof. Although the description refers herein primarily to HTTP,
those of ordinary
skill in the art will recognize, after perusing this application, that use of
the invention with
other protocols would not require new invention or undue experimentation.
In a preferred embodiment, those messages 151 that request information can
include an identifier 152 for a requested page 153. The page 153 includes a
set of
information, possibly including data in one of a number of formats, and
possibly also includes
a number of links 154 to other pages 153. Each link 154 includes an identifier
152 for its
3o target page 153, and information about the target page 153 (such as a
title).
In a preferred embodiment in which the communication protocol includes
HTTP or a variant thereof, each page 153 can include data in the form of text,
images (still or
13


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
animated), sound, program fragments (such as applets, applications, or
JavaScript), or
combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating
under control of web server software 131, and disposed for delivering
information 132 to the
web client 110 in response to requests made using the communication protocol.
In a preferred
embodiment, the web site 130 includes software 133 disposed for communicating
with the
web client 110 using the communication protocol, and includes authentication
or
personalization data 114 (or techniques) stored locally at the web server 130
regarding those
web clients 110.
In a preferred embodiment, the personalization server 140 includes a processor
operating under control of personalization software 141; disposed for
performing the
functions described herein, including maintaining information 142 about
relationships
between the web client 110 (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 110 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
2o and web sites 130.
Interactions between System Elements
The web client software l l l 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 11 l, such as by selecting a web
page or a link to
a web page.
3o The personalization software 141 is disposed for receiving the first
message
151 from the web client software 111. The personalization software 141 uses
information in
the first message 151 from the web client software 111 to navigate to the
selected web site
and to identify and authenticate the user at the selected web site. The
personalization
14


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
software 141 can perform these functions in one or more, or a combination of,
the following
ways:
o The personalization software 141 can send a second message 151 to the web
site 130,
to request the web site 130 to respond and perform functions described herein.
When using this first method, the personalization software 141 communicates
directly
with the web site 130, so as to identify and authenticate the user.
to When using this first method, the web server software 131 is disposed for
receiving
the second message 151 from the personalization software 141, and for
responding
thereto. After proper identification and authentication, the web server 131
sends
further messages 151 directly to the web client 110 using the network120.
o The personalization software 141 can send additional information (such as
parameters
in an HTTP message 151 ) to direct the web client software 111 to perform
functions
as described herein.
When using this second method, web client software 111 (using the additional
2o information) directly requests appropriate information (such as a login or
registration
form) from the web site, and to respond with appropriate information to
identify and
authenticate the user (such as to respond with a completed registration form).
When using this second method, the personalization software 141 preferably
supplies
the additional information for the web client software 111 in an encrypted or
otherwise
encoded form, so that the user of the web client software 111 does not obtain
identification and authentication information directly. Encryption also
provides
additional security while sending messages 151 across the network 120.
The functions for the web site 130 are not substantially different from those
performed by the web site 130 in response to similar requests from others,
including possibly
the web client software 111. Accordingly, there is no particular requirement
that the web


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
server 130 be modified to operate in conjunction with the web client software
111 and the
personalization server 140 to perform the functions described herein.
After registration is accomplished, the web server software 131 can respond
either directly to the personalization server 140 (with a third message 151 )
or directly to the
web client 110 (with a fourth message 151 ), as directed by the
personalization software 141.
Registering the User with the Personalization Server
The personalization server 140 is disposed to maintain authentication and
personalization information about the user at the web client 110, to record
that information in
its database 144, and to communicate (directly or indirectly) with the web
site 130 regarding
that information.
When the user at the web client 110 wishes to register with the
personalization
server 140, the web client software 111 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 111, which presents the registration page 153
to the user.
The registration page 153 includes a form, applet, or other structure for
gathering information from the user. In this way, the personalization server
140 requests
authentication and personalization information about the user. Upon receiving
that
information, the personalization server 140 records it in its database 144.
Although the
personalization server 140 records information about the user at first
registration of that user
with the personalization server 140, the user can at other and further times
add or modify that
information, or add or modify profiles for use with web sites 130, independent
of actual use of
any selected web site 130.
In a preferred embodiment, the authentication and personalization information
about the user includes a username and a password. Methods of username and
password
authentication are known in the art of computer security. In alternative
embodiments, the
personalization server 140 may use other and further authentication techniques
in addition to
or instead of username and password authentication. These other and further
authentication
16


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
techniques can include any one of, or some combination of, identification
using the following:
software identification such as digital certificates or other digital
encryption techniques,
hardware identification such as processor identification information, "smart"
cards,
communication link authentication such as digital or analog telephone
subscriber line
identification information, or other known methods for identification or
authentication. In
preferred embodiments, authentication techniques can be associated with
selected degrees of
user access, so that greater or lesser authentication controls are placed on
greater or lesser user
access capabilities.
Registering At A New Web Site
The personalization server 140 is also disposed to maintain, in its database
144, information about the user at the web client 110. This information is
preferably recorded
as one or more selectable profile for the user, so that the user can select
one such profile for
communication, identification and personalization for one or more selected web
sites 130.
When the user at the web client 110 wishes to register (and thus identify)
themselves at a new web site 130, the web client 110 contacts the web site 130
in one of two
ways:
o The user at the web client 110 contacts the web site 130 directly using the
web client
software 111.
When this first technique is used, the user at the web client 110 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.
o The user at the web client 110 identifies a location (such as a URL) for the
web site
130 to the personalization server 140. The personalization server 140 contacts
the
17


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
web site 130 in place of the user, as if the user had contacted the web site
130 directly
using the web client software 111.
When this second technique is used, the personalization software 141
recognizes the
registration page 153 at the web site 130 and performs registration using a
profile
selected by the user at the web client 110.
In a preferred embodiment, the personalization software 141 automatically
completes the registration form 131 using any appropriate automated technique,
such as
I o known pattern matching, neural network, genetic algorithms, other
techniques, or some
combination thereof, to match names of requested form data fields with
available profile data
fields.
In a preferred embodiment, the user at the web client 110 can designate none,
some, or all of the information fields in the selected profile by as
confidential. If an
information field is designated confidential, the personalization software 141
asks the user to
confirm that the user wishes to provide that information before sending it to
the web site 130.
The personalization server 140 is also disposed to maintain information about
2o the web site 130, to record that information in its database 144, and to
communicate with the
web site 130 in response to that information.
It can occur that the user at the web client 110 will need to complete the
profile
by adding further information. In such cases, the personalization server 140
completes the
registration form accordingly if the user so directs. The personalization
server 140 also
updates its database 144 accordingly if the user so directs. Depending upon
service
management choices, the personalization server 140 can update some, all, or a
group of
profiles selected by the user.
When the user at the web client 110 wishes to register with a new web site
130,
the web client software 111 sends a message 151 to the personalization server
140 with an
identifier 152 for an authentication page 153 at the web site 130. The web
client software 111
requests that the personalization server 140 register the user at that web
site 130.
18


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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 110, from its database 144, to
respond to the web
site 130 with information requested by the web site 130 for personalization.
The personalization server 140 generates authentication information (such as a
password) and records that authentication information in its database 144 in
association with
the user at the web client 110. For those web sites 130 that send an email
message or other
to message back to the web client 110 with a site-selected password, the
personalization server
140 intercepts that message and records the site-selected password in its
database 144.
As part of authentication with a new web site, the personalization server 140
causes any links or forms 154 identified to the web site 130 to point back to
pages 153 at the
personalization server 140, not the web client 110. Moreover, the
personalization server 140
can optionally (upon user instruction or otherwise) generate a unique email
address for the
web site 130 to identify the user at the web client 110. If so, the unique
email address is given
to the web site 130 instead of any regular email address at which the user
might receive email.
2o The personalization server 140 records any necessary identification and
authentication information for the user, so that the personalization server
140 can
automatically authenticate the user at the web site 130, upon receiving a
request to do so from
the web client 110.
Selecting (and Logging Into) the Web Site
When the user at the web client 110 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
3o 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.
19


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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:
to o information regarding use of the web site 130, such as a last use,
frequency of use, or
last page 153 requested from that web site 130;
o information regarding commercial aspects of the web site 130, such as
whether the
web site 130 is fee-based, or whether the user's registration at the web site
130 is
I S about to expire (or has expired and could be renewed);
and
o usage or other information provided by the web site 130 and aggregated by
the
personalization server 140.
The user can select one or more of the web sites 130 identified on the
selection
page 153 for connection. In response thereto, the personalization server 140
connects to each
selected web site 130 and re-authenticates the user to that selected web site
130. In a
preferred embodiment, personalization server 140 sends any identification and
authentication
information (such as a password) in an encrypted format. A secondary user with
restricted
access (as described below) thus cannot obtain unrestricted access to the web
site 130 and
seances.
In alternative embodiments, the personalization server 140 sends the
3o 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.


CA 02364297 2001-08-07
w0 00/48110 PCT/US00/03790
In a preferred embodiment, the personalization server 140 maintains
information about bookmarks, "favorites," viewed pages, or other important web
sites 130 in
its database 144, in association with the user. This allows the user to send a
collection of
bookmarks from a restricted web site 130 to a secondary user with restricted
access (as
described below). This information can also be used by the web client 110 to
display those
pages available at the web site 130 without having to actually having to re-
register at the web
site 130. This allows the user to access bookmark information for restricted
web sites 130
from any web client 110, whether or not web client 110 has the appropriate
bookmark stored
locally.
Using the Selected Web Sites)
Upon or before authentication with the selected web sites) 130, the web client
software 111 can communicate directly with the web site software 131 to
request and receive
information. The user is thus able to maintain a single set of authentication
information for
access to multiple restricted web sites.
In a preferred embodiment, the user can use the single set of authentication
2o information to manage multiple restricted web sites, such as monitoring
usage of cost-based
services and being able to control or provide automated renewal of such
services. For
example, the user can order the personalization server 140 (and the
personalization server 140
can respond to such orders) to perform the following services:
o automatic reminder of web sites 130 for which registration must be
periodically
renewed;
o automatic renewal of registration at web sites 130 for which registration
must be
periodically renewed;
and
o automatic de-registration from web sites 130 for which registration might be
automatically renewed, but for which the user has no further interest.
21


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Use by Secondary Users
A first user can also request the personalization server 140 to allow a second
user, possibly using the same web client 110 or possibly using a different web
client 110, to
access those web sites 130 for which the first user is registered.
The personalization server 140 records information about those second users,
including the scope of access they are permitted, in the database 144. The
scope of access
to permitted to those second users can be limited in at least the following
ways:
o limitation to selected web sites 130 or selected classes of web sites 130;
o limitation to selected services or selected classes of services;
o limitation to selected times or dates, or combinations thereof, whether once-
only or
periodically;
o limitation to selected amounts of resources or services;
o limitation to selected numbers of such second users.
or
o limitation to read-only operations by such second users.
When one of those second users wishes to use the selected web sites 130, the
second user requests the personalization server 140 to identify (and
authenticate) themselves
to the web site 130 as the first user. Thus, the web site 130 is deceived into
believing that the
second user is the true registered user. The personalization server 140, in
response to the
3o 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).
22


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
In response to the database 144, the personalization server 140 can require
that
it mediates the second user's access to the web site 130, by requiring that
all requests for
information by the second user must first pass through the personalization
server 140. This
allows the personalization server 140 to perform one or more, or a combination
of, the
following:
o prevent the web site 130 from sending cookies to the second user;
o disable the second user from changing information for the first user's
account at the
web site 130;
and
o restrict the second user to limited access, such as read-only access.
Email Usage
As noted above, the personalization server 140 generates a new email address
for the first user when first identifying and authenticating that first user
to a new web site 130.
The personalization server 140 can accordingly restrict or partially restrict
access by the
2o second user to email received for that email address at the personalization
server 140. (In a
preferred embodiment, the second user is given no access to email for the
first user.)
The personalization server 140 provides web-based access to any email
received for that email address from the web site 130. As part of this web-
based access, the
user at the web client 110 can request the personalization server 140 to
perform the following
services:
o forwarding selected email to a selected target email address;
o deleting or ignoring selected email for one of the web-site specific email
addresses
(with the result that selected email from any particular web site or
associated service
can be deleted or ignored);
23


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
o presenting selected email for one of the web-site specific email addresses
using the
web client software 111;
or
o providing the user of the web client software 111 with the ability to
respond to
selected email.
System Operation
Figure 2 shows a process flow diagram for a method of using a system for
access to personalized web sites.
A method 200 is performed by the system 100, including the web client 110,
the communication network 120, the web server 130, and the personalization
server 140.
IS
Although described serially and in a particular sequence, in a preferred
embodiment the steps described herein can be performed concurrently or in
parallel by the
system elements in response to more than one web client 110 or more than one
web site 130,
could be performed in a different sequence, or some combination thereof.
At a flow point 210, a first user at the web client 110 is ready to register
with
the personalization server 140.
At a step 211, the web client software 111 sends a message 151 to the
personalization server 140. The message 151 includes a request to register the
first user.
At a step 212, the personalization server 140 generates and sends a
registration
page 153 to the web client 110. The registration page 153 can be a standard
form, or can be
personalized in response to the user or in response to the web client 110.
At a step 213, the user supplies authentication and personalization
information
to the web client software 111, in response to the registration page 153.
24


CA 02364297 2001-08-07
w0 00/48110 PCT/US00/03790
At a step 214, the web client software 111 sends the authentication and
personalization information for the user to the personalization server 140.
At a step 215, the personalization server 140 records the authentication and
personalization information for the user in its database 144.
At a flow point 220, a first user at the web client 110 is ready to register a
new
web site 130 with the personalization server 140.
At a step 221, the web client software 111 sends a message 151 to the
personalization server 140. The message 151 includes a request to register the
new web site
130, and information about the web site 130 useful for registration, such as
an identifier 152
for a registration page 153 at the web site 130.
At a step 222, the personalization server 140 generates and sends a message
151 to request to register the first user with the web site 130. In a
preferred embodiment, the
message 151 requests the registration page 153 from the web site 130.
At a step 223, the web site 130 generates and sends a registration page 153 to
the personalization server 140. The nature of this activity by the web site
130 can vary widely
and still be within the scope and spirit of the invention.
At a step 224, the personalization server 140 responds to the web site 130.
The
personalization server 140 matches the registration request from web site 130
with profile
information contained in the database 144 and supplies the authentication and
personalization
information for the user to the web site 130. In a preferred embodiment the
personalization
server 140 requires verification from the user by sending the web client 110 a
corresponding
message 151 (such as an HTML or XML page). In a preferred embodiment, the
personalization server 140 generates a new email address for the user at the
personalization
server 140; this new email address is specific to both the user and to the web
site 130.
At a step 225, the web site 130 records the authentication and personalization
information for the user in its database 134.


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Some web sites 130 send an initial email message 151 to the user with further
authentication information. such as a username and password. The
personalization server 140
receives this initial email message 151, parses it, and if it includes further
authentication
information (such as a username and password), records that information in its
database 144
for the user.
Some web sites 130 send a cookie or other data to the user with further
authentication information. The personalization server 140 assures that the
data (includeing
1 o whatever information is associated with the "cookie") is recorded at the
personalization server
140..
In a preferred embodiment, the personalization server 140 determines if the
web site 130 sends a cookie to the web client 110. If so, the personalization
server 140 sends
a software assistant 115 to the web client 110 for the web client 110 to use
when using the
web site 130. The software assistant 115 assists the web client software 111
and the
personalization server 140 by assuring that information in the cookie is
available to the
personalization server 140.
In a preferred embodiment, the software assistant 115 includes a web browser
plug-in, or a program fragment (such as an applet or JavaScript code), or some
other
application that operates in conjunction with the web client software 111.
At a flow point 230, a first user at the web client 110 is ready to identify
and
authenticate themselves with a web site 130, using the personalization server
140.
At a step 231, the web client software 111 sends a message 151 to the
personalization server 140. The message 151 includes a request to identify and
authenticate
the user with a web site 130.
At a step 232, the personalization server 140 generates a registration page
153.
The registration page 153 identifies those web sites 130 for which the user is
registered (or
26


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
has bookmarks), and allows the user to select one or more at which to identify
and
authenticate themselves.
At a step 233, the user selects one or more web sites 130 at which to identify
and authenticate themselves. The web client software 111 sends a message 151
to the
personalization server 140 indicating those web sites 130.
At a step 234, the personalization server 140 sends an authentication message
to the web site 130. The personalization server 140, either directly or
indirectly (using the
1 o web client 110), supplies the authentication and personalization
information for the user to the
web site 130.
At a step 235, the web site 130 authenticates the user and allows the web
client
software 111 access to otherwise restricted information or services.
At a flow point 240, a first user at the web client 110 is ready to access
email
directed to the first user at the personalization server 140.
At a step 241, the web client software 111 sends a message 151 to the
personalization server 140. The message 151 includes a request to access email
at the
personalization server 140.
At a step 242, the personalization server 140 generates and sends a message
151 in response to the web client 110. In a preferred embodiment, the message
151 indicates
for which email addresses any email has been received, and can further
summarize that email
(such as by presenting headers or subj ect lines).
At a step 243, the user accesses email at the personalization server 140 using
known web-based email methods. In addition to known web-based email methods,
the user
can direct the personalization server 140 to eliminate email addresses for one
or more selected
web sites 130, or to forward email for one or more selected web sites 130 to a
selected target
email address (possibly at another location).
27


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a flow point 250, a first user at the web client 110 is ready to allow
access
by a second user to one or more selected web sites 130.
At a step 251, the web client software 111 sends a message 151 to the
personalization server 140. The message 151 includes a request to allow access
by a second
user to one or more selected web sites 130.
At a step 252, the personalization server 140 generates a selection page 153
and sends that page 153 to the web client 110. The selection page 153
indicates a set of web
to sites 130 for which the first user has access and indicates a set of types
of restrictions on that
access the first user can order the personalization server 140 to implement.
At a step 253, the web client software 111 presents the selection page 153 to
the user. The user selects one or more web sites 130, as well as associated
restrictions on
information or services at those web sites 130, and identifies a set of second
users to be
allowed restricted access.
At a step 254, the web client software 111 sends a message 151 to the
personalization server 140 with the selections made by the first user. The
personalization
server 140 receives the message 151 and records associated information in its
database 144.
At a flow point 260, a second user at the web client 110 is ready to access
one
or more selected web sites 130 using the personalization server 140.
At a step 261, similar to the step 231, the web client software 111 sends a
message i 51 to the personalization server 140. The message 151 includes a
request to
identify and authenticate the second user with a web site 130.
At a step 262, the personalization server 140 determines, in response to its
3Q 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.
28


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
In response to the degree of allowed access, similar to the step 232, the
personalization server 140 generates a registration page 153. The registration
page 153
identifies those web sites 130 for which the second user is allowed access, by
(one or another)
first user or independently, and allows the second user to select one or more
at which to
access (either for identification and authentication, or for bookmarks, to
directly access).
At a step 233, the second user selects one or more web sites 130 at which to
identify and authenticate themselves. The web client software 111 sends a
message 151 to the
to personalization server 140 indicating those web sites 130.
At a step 234, the personalization server 140 supplies the authentication and
personalization information for the first user to the web site 130 (even
though the second user
is the one to actually use the web site 130), either directly to the web site
130, or using the
web client software 111. The choice of whether authenticate and personalize
the second user
directly or indirectly can be responsive to a parameter selected by the first
user.
At a step 235, the web site 130 authenticates the second user (in response to
the first user's authentication and personalization information) and allows
the web client
2o software 111 for the second user access to otherwise restricted information
or services.
II.
System Elements
Figure 3 shows a block diagram of a system for group access to web sites.
A system 100 includes a set of web clients 110, a communication network 120,
at least one web site 130, and a group surfing server 140.
3o As used herein, the terms "client" and "server" refer to client-server
relationships between client and server, not necessarily to particular
physical devices.
29


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
As used herein, the phrase "web client" includes any combination of devices or
software taking on the role of a client in a client-server environment in the
Internet, the world
wide web, or an equivalent or extension thereof. There is no particular
requirement that the
web clients 110 must be individual devices. They can each be a single device,
a set of
cooperating devices, a portion of a device, or some combination thereof (such
as for example
a device providing web server services that acts as an agent of the user).
As used herein, the phrase "web site" includes any combination of devices or
software taking on the role of a server in a client-server environment in the
Internet, the world
1 o wide web, or an equivalent or extension thereof. There is no particular
requirement that the
web sites 130 must be individual devices. They can each be a single device, a
set of
cooperating devices, a portion of a device, or some combination thereof.
The web clients 110 each include a processor operating under control of web
15 client software 11 l, 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 sites) 130 using a communication protocol, as
described below.
In a preferred embodiment, the web clients 110 each include a general-purpose
20 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
25 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.
30 In a preferred embodiment, the communication network 120 includes a packet
switched network such as the Internet, as well as (in conjunction with or
instead of) an
intranet, an enterprise network, an extranet, a virtual private network, a
virtual switched
network. In alternative embodiments, the communication network 120 may include
any other


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
set of communication links that couple the web clients 110, web site 130, and
group-surfing
server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151
between any two of the web clients 110, the web site 130, and the group-
surfing server 140.
The messages 151 are formatted in the communication protocol recognized by the
web clients
110, the web site 130, and the group-surfing server 140. In a preferred
embodiment, the
communication protocol includes TCP/IP (transfer control protocol/ Internet
protocol), or
HTTP (hypertext transfer protocol) a variant thereof such as HTTPS (secure
HTTP). In a
I o preferred embodiment, the communication protocol can include an additional
protocol
operating over TCP/IP. The communication protocol can also include other
protocols for
requesting and sending information, including FTP (file transfer protocol),
Gopher, and
variants thereof. Although the description refers herein primarily to HTTP and
TCP/IP, those
of ordinary skill in the art will recognize, after perusing this application,
that use of the
invention with other protocols would not require new invention or undue
experimentation.
In a preferred embodiment, those messages 151 that request information can
include an identifier 152 for a requested page 153. The page 153 includes a
set of
information, possibly including data in one of a number of formats, and
possibly also includes
2o a set number of links 154 to other pages 153. Each link 154 includes an
identifier 152 for its
target page 153, and information about the target page 153 (such as a title).
In a preferred embodiment, each page 153 can include data in the form of text,
images (still or animated), sound, program fragments (such as applets,
applications, or
JavaScript), or combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating
under control of web server software 131, and disposed for delivering
information 132 to the
web clients 110 or the group-surfing server 140 in response to requests made
using the
communication protocol. In a preferred embodiment, the web site 130 includes
software
disposed for communicating with the web clients 110 or the group-surfing
server 140 using
the communication protocol.
31


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Creating a Group-Surfing Session
The web client software 111 is disposed for sending a message 1 ~ 1 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 l, such as by selecting a web
page or a link to
a web page.
A first web client 110 sends a session-creation message 151 to the group-
surfing server 140, to request the group-surfing server 140 to create or set
up a group-surfing
session. In a preferred embodiment, the message 151 includes an identifier for
the group-
surfing session, so that other web clients 110 can add themselves to that
session. (The group-
surfing server 140 can also assign this identifier in a reply to the session-
creation message
151.) In a preferred embodiment, the message 151 includes identifiers for a
set of web clients
110 participating in, permitted to participate in, or forbidden from
participating in, that
session. The web client 110 can alternatively specify that the session is open
to anyone. The
web client 110 can also specify a time schedule for the session (these
functions can be
combined, so that for example, the session can be open to anyone for a
selected time period,
after which only certain authorized users may participate).
In a preferred embodiment, the message 151 can also include an identifier 152
for an initial page 153 for the group-surfing session. For example, the
initial page 153 can
include a home page for a selected web site 130 or a welcome page for a
selected service
available at the selected web site 130.
The group-surfing server 140 receives the session-creation message 151, and
responds by (1) creating a group-surfing session, and (2) informing the
participants in the
group-surfing session. When the session-creation message 151 includes an
identifier 152 for
an initial page 153, the group-surfing server 140 proceeds to begin operation
of the group-
surfing session, as described below, causing the web site 130 to deliver the
initial page 153 to
the web clients 110 participating in the session.
32


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
After creating the group-surfing session, the group-surfing server 140
prepares
to add additional web clients 110 to the session. To add itself to the
session, a second (or
further) web client 110 sends a session-join message 151 to the group-surfing
server 140. In a
preferred embodiment, the message 1 ~ 1 includes the identifier for the group-
surfing session.
The group-surfing server 140 receives the session join message 151, and
responds by adding the new web client 110 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
l0 to participate in the session, as described below.
Operating the Group-Surfing Session
One or more of the web clients 110 are designated by the group-surfing server
140 as a controlling web client 110, and are therefore empowered by the group-
surfing server
140 to control the group surfing session. The choice of which web clients 110
are designated
as the controlling web clients 110 can be made in any one of, or some
combination of, a
variety of techniques:
o The controlling web clients 110 are identified in the session-creation
message 151.
o The controlling web client 110 is, or the controlling web clients 110 are
selected by
(either once at the beginning of the session or dynamically at times
throughout the session),
the web client 110 that contacted the group-surfing server 140 to create the
session.
o The controlling web clients 110 are designated using a random or pseudo-
random
technique by the group-surfing server 140 from those web clients 110
participating in the
session.
o The controlling web clients 110 are designated by a majority or plurality
vote of all
web clients 110 participating in the session.
33


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
o The controlling web clients 110 are the first M of the first N web clients
110
participating in the session that attempt to select a next page. The selection
of which M out of
N web clients 110 can be made by the group-surfing server 140 using a random
or pseudo-
random technique, a clustering technique for selecting web clients 110 that
are similar, or
another technique.
o The controlling web clients 110 are selected by the group-surfing server 140
to be all
those web clients 110 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 110
having
participated in the session for more than N seconds, (c) those web clients 110
having
participated in the session but not yet having been selected as the
controlling web client 110,
or some combination thereof.
If the controlling web client 110 is a single web client 110, that single
controlling web client 110 determines the progression of pages 153 viewed
during the group-
surfing session, as described below.
If there is more than one controlling web client 110, those controlling web
2o clients 110 act in concert to determine the progression of pages 153 viewed
during the group-
surfing session. The group-surfing server 140 can determine the progression of
pages 153 in
any one of, or some combination of, a variety of techniques:
o The first page 153 selected by any controlling web client 110 is selected as
the next
one in the progression of pages 153 in the session.
o The next one in the progression of pages 153 in the session is designated
using a
random or pseudo-random technique by the group-surfing server 140 from those
pages 153
selected by any of the controlling web clients 110.
o The next one in the progression of pages 153 in the session is designated
using a
round-robin technique by the group-surfing server 140 from those pages 153
selected by any
of the controlling web clients 110.
34


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
o The page 153 selected by a majority or a plurality of controlling web
clients 110 is
selected as the next one in the progression of pages 153 in the session.
In any event, the group-surfing server 140 determines a next one in the
progression of pages 153 in the session. The group-surfing server 140 contacts
the web site
130 having that next page 153, and directs that target web site 130 to deliver
that next page
153 so it can be presented to those web clients 110 participating in the
session.
to In a preferred embodiment, the group-surfing server 140 directs the target
web
site 130 to deliver that next page 153 to the group-surfing server 140 itself.
The group-surfing
server 140 then re-sends that page 153 to those web clients 110 participating
in the session.
This allows usage of a single set of "cookies," or other data related to
identity or session, sent
by the web site 130 and stored by the group-surfing server 140 at each
participating web
client 110.
In alternative embodiments, where no "cookies" or other data related to
identity are involved, each web client 110 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-
surfmg server 140 may use a multicast protocol such as the IGMP protocol
(Internet Group
Management Protocol), to multicast the next page 153 to those web clients 110
participating
in the session.
As the controlling web client 110 selects a progression of pages 153 for the
session, that progression of pages 153 is presented at each of the web clients
110 participating
in the session.
3o If any web client 110 participating in the session desires to leave the
session,
either permanently or temporarily, that web client 110 sends a session-exit
message 151 to the
group-surfing server 140. The group-surfing server 140 receives the session-
exit message
151, and responds by removing the exiting web client 110 from the group-
surfing session.


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
The group-surfing server 140 can also inform the other participants in the
group-surfing
session of the exiting web client 110. The group-surfing server 140 causes the
exiting web
client 110 to no longer participate in the session.
The functions for the web site 130 are not substantially different from those
performed by the web site 130 in response to similar requests from others,
including possibly
the web client software 111. Accordingly, there is no particular requirement
that the web
server 130 be modified to operate in conjunction with the web client software
111 and the
group-surfing server 140 to perform the functions described herein.
When performing group-surfing for more than one type of web client 130
(such as a first web client 130 including a personal computer and a second web
client 130
including a "Palm Pilot" device), the group-surfing server 140 makes multiple
requests for the
web site 130 to send (variants of) the same page, so as to retrieve the must
suited version of
the page for each separate web client 110. The group-surfing server 140
forwards to each
separate web client 110 the variant of the page that is most suited to that
separate web client
110.
Efficient Group-Surfing Session Activity
In a preferred embodiment, load is reduced on the group-surfing server 140
using a program fragment loaded at each web client 110. The program fragment
can include
one or more of, or any combination of, a Java applet, a section of JavaScript
code, a web
browser plug-in, an active-X element, or another technique for interfacing
with the web client
110 and affecting its operation with the web site 130 and the group-surfing
server 140.
The program fragment can be sent from the group-surfing server 140 to the
web client 110, or can be resident at the web client 110. The program fragment
can be loaded
dynamically for the session, or can be permanently resident but only active
for the session.
The program fragment can perform one or more of, or some combination of,
the following functions:
36


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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 110.
o The program fragment can intercept selection of a link 152 at the web client
110 and
direct that selection to the group-surfing server 140 for processing.
o The program fragment can intercept "submit" selections by the web client 110
during
posting of HTML forms, and direct the information in those "submit" selections
to the group-
1 o surfing server 140 for processing.
o The program fragment can intercept HTML instructions in selected pages 153,
which
instructions would interfere with the screen layout used for the session (such
as HTML code
that attempts to force itself into a top-level frame).
o The program fragment can detect embedded multimedia objects included in
selected
pages 153 and request those multimedia objects directly from the web site 130.
Variations on the Group-Surfing Session
There are many variations of techniques by which individual web clients 110
can access information from web sites 130. There are similarly many variations
of techniques
by which the controlling web client 110 can access information from web sites
130 and cause
that information to be presented to those web clients 110 participating in the
session. These
can include one or more of, or some combination of, the following:
Web Page Look Ahead
The controlling web client 110 can select web pages 153 for "look ahead"
3o before designating those web pages 1 ~3 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:
37


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
o The user 112 at the controlling web client 110 can determine if the selected
''look
ahead" pages 153 are accessible at the time of the session. For example, some
such pages 153
can be subject to restricted access in response to time or usage constraints.
o The user 112 at the controlling web client 110 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 112
who are minors).
o The user 112 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 110 can choose to
exclude such
pages 153 from the session. For a second example, the controlling web client
110 can choose
to accept such special access (such as entering a password or credit card
number) without
presenting that acceptance to other web clients 110 participating in the
session.
Web Page Special Access
The controlling web client 110 can select web pages 153 for special access
when designating those web pages 153 as next pages 153 in the progression of
pages 153 in
the session. For a first example, the controlling web client 110 can enter
information required
for special access privately, without presenting that information to other web
clients 110
participating in the session. For a second example, the controlling web client
110 can enter
such information (such as for completing an HTML "form") using information
available
from, and supplied by, other web clients 110 participating in the session.
Web Page Automatic Form Completion
In a preferred embodiment, the controlling web client 110 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
38


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
information to the web site 130. When the web site 130 replies with a new
page, the group-
surfing server 140 sends that new page to all participating web clients 130.
In alternative embodiments, the when the controlling web client 110 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 110
can see the HTML
form being filled in. The group-surfing server 140 may present that
information on the
HTML form as each field of the form is completed, or when the entire form is
completed, or
at other times.
Payment for Web Site Services
The controlling web client 110 can select web pages 153 for paid access, even
if the web clients 110 participating in the session do not have the right to
such paid access.
The group-surfing server 140 can control paid access in one or more of, or
some combination
of, the following techniques:
o The controlling web client 110 can pay for that access itself, effectively
presenting a
2o gift of services to participating web clients 110.
o The group-surfing server 140 can exact a payment from accounts of those
participating web clients 110. This payment can be a pro-rata share of the
actual cost to the
controlling web client 110, can be a pre-selected amount agreed by the
participating web
clients 110, or can be a commission paid to the group-surfing server 140 by
the transacting
web site 130.
o The group-surfing server 140 can exact such payment only from those
participating
web clients 110 that choose to have the paid information or services presented
to them as part
of the session. The participating web clients 110 can make this decision
either at the time
they join the session or at the time the payment for information or services
is (about to be)
incurred.
39


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Affiliated Electronic Commerce
The controlling web client I 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 110
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:
to o The controlling web client 1 I 0 can pay for the ordered goods or
services itself,
effectively presenting gifts to participating web clients 110.
o The group-surfing server 140 can exact payment from accounts of those
participating
web clients 110 for a single instance of such electronic commerce. This
payment can be a
pro-rata share of the actual cost to the controlling web client 110, can be a
pre-selected
amount agreed by the participating web clients 110, or can be a commission
paid to the group-
surfing server 140 by the transacting web site 130.
o The group-surfing server 140 can exact such payment only from those
participating
2o web clients 110 that choose to have the paid information or services
presented to them as part
of the session. Similarly to paid web site services, the participating web
clients 110 can make
this decision either at the time they join the session or at the time the
payment for information
or services is (about to be) incurred.
o The group-surfing server 140 can duplicate the electronic commerce
transaction for
each participating web client 110 that chooses to participate. Similarly to
paid web site
services, the participating web clients 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.
and
o The group-surfing server 140 can receive a pre-payment prior to the group-
surfing
session, so that an associated web client participating that chooses to
participate in the group-
surfmg session can use that payment for electronic commerce. Thus, the group-
surfing server


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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 110.
This function can be useful for making joint decisions regarding electronic
commerce, such as for selecting gifts for third parties or for one of the
session participants.
Import and Export of Web Site Information
The controlling web client 110 can import or export information related to web
to sites 130, including bookmarks, "cookies," and user registrations at
participating web sites
130. Similarly to paid web site services, web clients 110 participating in the
session can
choose whether or not to participate in these import or export operations.
Use in Conjunction with Intra-User Communication
Those web clients 110 participating in the session can also communicate
between and among groups of users 112 at those web clients 110. The techniques
used for
communication can include one or more of, or some combination of, the
following: telephone
communication, voice over IP, Internet chat, electronic mail, "instant
messaging," or other
intra-user communication. In a preferred embodiment, the communication
technique can be
presented to each web client 110 at the initiation of the group-surfing server
140, using either
a same or a separate window at the web client 110.
Use in Conjunction with Other Network Functions
Those web clients 110 participating in the session can also perform other
functions associated with the network. For example, the use of the invention
in conjunction
with electronic commerce is described above.
The invention can also be used for remote training functions. In such uses,
one
or more of the participating web clients 110 would be instructors, teachers,
seminar
presenters, discussion facilitators, or other types of moderator. These
participating web
clients 110 can be controlling web clients 110. Additional participating web
clients 110 (who
41


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
could substantially outnumber the moderators) would be students, seminar
participants or
reviewers, discussion participants, or negotiating parties. The instructors or
moderators can
use the group-surfing process to present information to the students or
participants, to confirm
assumptions or assertions using available reference services or reference
works, and the like.
The invention can also be used for virtual displays or tours. In such uses,
one
or more of the participating web clients 110 would be salespeople, docents,
presenters, or
other types of guide. These participating web clients 110 can be controlling
web clients 110.
Additional participating web clients 110 (who could substantially outnumber
the moderators
l0 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
15 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.
2o The invention can also be used for telemedicine or other process
telecontrol.
In such uses, one or more of the participating web clients 110 would be
controlling surgeons,
physicians, other medical personnel, or other consultants. These participating
web clients 110
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
25 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.
30 The invention can also be used for consulting (such as in the fields of
finance,
advertising or marketing). In such uses, one or more of the participating web
clients 110
would be consultants. These participating web clients 110 can be controlling
web clients 110.
Additional participating web clients 110 would be the consultants' (human)
client or clients,
42


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
such as marketing personnel. The consultant can use the group-surfing process
to present
information to the client, including new or proposed presentation material, or
presentation
material from competitors or other participants in the electronic marketplace.
Multiple Group-Surfing "Channels"
The group-surfing server 140 can maintain more than one separate group-
surfing session, with each separate group-surfing session having its own
history of viewed
pages. When a web client 110 adds itself to the participating web clients 110
in a group-
I o surfing session, it is presented with the most recent viewed page, and is
able to review the
history of pages viewed prior to joining that group-surfing session.
In a preferred embodiment, when an individual user of a web client 110 using
ordinary web surfing techniques comes upon a page that the user desires to
share, that user
15 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-
2o surfing server 140. In alternative embodiments, the second web client 110
can receive only a
list of pointers (such as URLs) to those pages presented during the group-
surfing session,
dynamically updated when a new page is added.
System Operation
Figure 4 shows a process flow diagram for a method of using a system for
group access to web sites.
A method 200 is performed by the system 100, including the web client 110,
3o the communication network 120, the web server 130, and the group-surfing
server 140.
43


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Although described serially and in a particular sequence, in a preferred
embodiment the steps described herein can be performed concurrently or in
parallel by the
system elements, could be performed in a different sequence or some
combination thereof.
At a flow point 210, the group-surfing server 140 is ready to create a group-
surfing session.
At a step 211, a first web client 110 sends a session-creation message 151 to
the group-surfing server 140, as described above, to request the group-surfing
server 140 to
1o create or set up a group-surfing session.
At a step 212, the group-surfing server 140 receives the session-creation
message 151. The group-surfing server 140 (1) creates the group-surfing
session; and (2)
informs the participants in the group-surfing session.
The method 200 continues at the flow point 220.
At a flow point 220, the group-surfing server 140 is ready to add web clients
110 to a group-surfing session.
At a step 221, a second (or further) web client 110 sends a session join
message 151 to the group-surfing server 140, as described above.
At a step 222, the group-surfing server 140 receives the session join message
151. The group-surfing server 140 ( 1 ) adds the new web client 110 to the
group-surfing
session, and (2) inform the other participants in the group-surfing session of
the newly added
web client 110.
At a step 223, the group-surfing server 140 sends to the new web client 110 a
3o 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
44


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
is thus able to determine which next pages 153 are selected, and to assure
that such next pages
153 are presented to all participating web clients 110.
The method 200 continues at the flow point 230.
At a flow point 230, the group-surfing server 140 is ready to perform a group-
surfing session.
At a step 231, the group-surfing server 140 designates one or more controlling
1o web clients 110, as described above. In a preferred embodiment, the first
web client 110,
which sent the session-creation message 151, is the single controlling web
client 110.
At a step 232, the controlling web client 110 receives a page 153 from the
group-surfing server 140, which received that page 153 from the web site 130.
When the
controlling web client 110 selects a link 152 on the page 153, the selection
is caught by the
program fragment, which sends the selection to the group-surfing server 140 as
described
below (preferably using a protocol operating on top of TCP/IP). In alternative
embodiments,
the group-surfing server 140 may modify the links 152 in the page 153 before
presenting that
page 153 to web clients 110 participating in the session.
At a step 233, the controlling web client 110 sends a next-page message 151 to
the group-surfing server 140, indicating the next page 153 in the progression
of pages 153 in
the session.
At a step 234, the group-surfing server 140 receives the next-page message
151. The group-surfing server 140 (1) contacts the web site 130 having that
next page 153
after adding proper cookie or other identity information, and directs that
target web site 130 to
deliver that next page 153 to the group-surfing server 140 itself. The group-
surfing server
140 then re-sends that page 153 to those web clients 110 participating in the
session.
In a preferred embodiment, in order to reduce load on the group-serving server
140, the group-serving server 140 sends only the page 153 itself without any
multimedia


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
elements (such as embedded sound, images, or program fragments). Each
participating web
client 110 requests those multimedia elements directly from the web site 130.
At a step 235, the page 1 ~3 is presented at each of the web clients 110
participating in the session.
At a step 236, if the group-surfing server 140 receives a "cookie" or other
data
relating to identity or session from the web site 130, the group-surfing
server 140 records the
"cookie" in a cookie database relatively local to the group-surfing server 140
and session.
1o Each time the group-surfing server 140 requests a page from the web site
130, the group-
surfmg server 140 also sends any relevant "cookies" that were received from
the web site 130.
The step 231, the step 232, the step 233, the step 234, the step 235, and the
step
236 are performed repeatedly so that the progression of pages is presented at
each of the web
clients 110 participating in the session.
At a flow point 240, a selected web client 110 is ready to leave the session.
At a step 241, the selected web client 110 sends a session-exit message 151 to
the group-surfing server 140.
At a step 242, the group-surfing server 140 receives the session-exit message
151. The group-surfing server 140 ( 1 ) removes the exiting web client 110
from the group-
surfing session, and (2) informs the other participants in the group-surfing
session of the
exiting web client 110.
In a preferred embodiment, if the controlling web client 110 leaves the
session,
the group-surfing server 140 (1) terminates the session, and (2) informs the
participants in the
group-surfing session.
At a flow point 250, the controlling web client 110 is ready to select web
pages
153 for "look ahead."
46


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 251, the controlling web client 110 sends a look-ahead-start message
151 to the group-surfing server 140.
At a step 252, the group-surfing server 140 receives the look-ahead-start
message 151. The group-surfing server 140 refrains from presenting following
pages 153 to
participants in the session.
At a step 253, the controlling web client 110 sends messages 151 to one or
more web sites 130 to request pages 153 and receive information from those web
sites 130,
l0 without having that information presented to participants in the session.
At a step 254, the controlling web client 110 sends a look-ahead-stop message
151 to the group-surfing server 140.
At a step 255, the group-surfing server 140 receives the look-ahead-stop
message 151. The group-surfing server 140 returns to presenting following
pages 153 to
participants in the session.
At a flow point 260, the controlling web client 110 is ready to select web
pages
153 for "special access."
At a step 261, the controlling web client 110 sends a special-access-start
message 151 to the group-surfing server 140.
At a step 262, the group-surfing server 140 receives the special-access-start
message 151. The group-surfing server 140 refrains from presenting access or
authentication
information (such as HTML forms) to participants in the session.
At a step 263, the controlling web client 110 sends messages 151 to one or
more web sites 130 to obtain access to those web sites 130, without having
that information
presented to participants in the session.
47


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 264, the controlling web client 110 sends a special-access-stop
message 151 to the group-surfing server 140.
At a step 265, the group-surfing server 140 receives the special-access-stop
message 151. The group-surfing server 140 returns to regular presentation of
information in
pages 153 to participants in the session.
At a flow point 270, the controlling web client 110 is ready to select web
pages
153 for paid access.
In a preferred embodiment, the group-surfing server 140 does not exact any
payment from the web clients 110 participating in the session. Accordingly,
all paid access is
paid for by the controlling web client 110, and is effectively given away free
to those web
clients 110 participating in the session. The group-surfing server 140 takes
no special action.
At a flow point 280, the controlling web client 110 is ready to select web
pages
153 for participation in electronic commerce.
In a preferred embodiment, the group-surfing server 140 does not exact any
2o payment for participation in electronic commerce. Accordingly, all
electronic commerce is
paid for by the controlling web client 110, and (if a service) is effectively
given away free to
those web clients 110 participating in the session. The group-surfing server
140 takes no
special action.
In alternative embodiments, the group-surfing server 140 may be registered as
a partner or a~liate of the web site 130, and thus receives a commission from
the web site
130 for electronic commerce conducted during the session.
At a flow point 290, the controlling web client 110 is ready to import or
export
information related to web sites 130.
48


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 291, the controlling web client 110 sends an import-export message
151 to the group-surfing server 140, directing import or export of information
relating to web
sites (such as bookmarks, "cookies," or user registrations at participating
web sites 130)
At a step 292, the group-surfing server 140 receives the import-export message
151. The group-surfing server 140 imports or exports the designated
information to selected
databases at web clients 110 participating in the session that indicate their
willingness to
participate in the import or export operation.
1 o In a preferred embodiment, the selected databases are specific to a
cookie/identity database for the group-surfing session. In alternative
embodiments, the
selected databases may also be available to other applications for web use,
such as bookmark
and registration databases for generic web surfing. The selected databases can
be managed by
the program fragment sent to the web client 110 from the group-surfing server
140, or by
15 other related software.
III.
Lexicography
20 As used herein, use of the following terms refer or relate to aspects of
the
invention as described below.
~ personalized information - As used herein, the phrase "personalized
information"
includes any data collected by, from or about a user or a web site that can be
stored on a
25 personal data server.
Personalized information can include one or more of the following: financial
information
(such as bank account balances, credit information, loan information, real
estate
information, stock account balances, stock portfolio information, or other
financial
30 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.
49


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
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.
I s Personalized information can also include information also information the
individual user
would use to act with, such as for performing e-commerce. For example,
personalized
information can include information to automate purchases, such as the
individual user's
name and address, credit card number, account number, delivery address and
profile of
delivery preferences, or the individual users' preferred account for
purchases.
~ summarization and aggregation - As used herein, the phrase "summarization
and
aggregation" includes all techniques and methodologies for the organization,
selective or
nonselective segregation, linking, selective presentation and selective
transfer of
personalized information.
Summarization or aggregation can include one or more of the following: adding
or
totaling account balances or account values, adding or totaling securities
holdings from
individual accounts, computing or determining a blend of multiple sources of
credit
information or other financial information, or other forms of summarization or
3o 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.
so


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Summarization or aggregation can include a default set of information to
summarize or to
aggregate, a selection by an individual user of preferences or what specific
information to
summarize or to aggregate, or a request by an individual user to summarize or
aggregate
using an editor or other tool.
~ personal data server - As used herein, the phrase "personal data server"
includes a
server device which has access to web sites that include personalized
information, as
described above, and can include access information or preferences of an
individual user
to for retrieving or using that personalized information. The personal data
server can also
have access to web sites with information of personal interest to the
individual user, even
when that information is not specific to that particular individual user.
~ individual user - As used herein, the phrase "individual user" includes any
person who
is 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.
20 ~ web site - As used herein, the phrase "web site" includes any combination
of devices or
software taking on the role of a server in a client-server environment in the
Internet, the
world wide web, or an equivalent or extension thereof. There is no particular
requirement
that the web sites 130 must be individual devices. They can each be a single
device, a set
of cooperating devices, a portion of a device, or some combination thereof.
~ jump page - As used herein, the phrase "jump page" refers to a web page used
by the
personal data server to present personalized data that the individual user can
peruse. The
"jump page" can also be used to navigate directly to one or more web sites
having that
information at hand.
~ navigate - As used herein, the phrase "navigate" includes activities whereby
by a an
individual user uses a web client to access information and move from one web
site to
s1


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
another web site, one web page to another web page, within a web page, and
onto and off
of an Internet, intranet or other network.
~ e-commerce or electronic commerce - As used herein, the phrase "ecommerce"
or
"electronic commerce" includes all commercial, business, professional and
investment
activities conducted over the Internet, an intranet or any type of network.
~ inter-user communication and interest groups - As used herein, the phrase
"inter-user
communication" and "interest groups" refers to any communication among users
of a
1 o network or to any communication between user of a network and a USENET, or
computer bulletin board, or newsgroup or the group involved in the aggregation
and
transfer of information.
~ limited access or aggregate access - As used herein, the phrase "limited
access" or
15 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
2o physician.
~ persons or entities other than the individual - As used herein, the phrase
"persons or
entities other than the individual" includes all persons or entities other
than the individual
user. For instance, it may include a government agency, an insurer or other
third party
25 authorized to access personalized information, or a web site or other
network link that
attempts to retrieve information concerning an individual user.
~ meta-bookmark - As used herein, the phrase "meta-bookmark" includes data
structures
and techniques for accessing a web object, including information relating to a
location of
3o that web object and information relating to access control, or
authorization or
identification of an entity seeking to access that web object.
52


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
For example, a meta-bookmark can include one or more of the following: ( 1 ) a
link or
pointer to a web object ordinarily requiring a cookie or password for access,
(2) a link or
pointer to a partially completed form, where some of the form fields, such as
a login name
or a password, have restricted presentation, or (3) a link or pointer to an
application or
applet that compiles aggregate information from personalized information.
A meta-bookmark can include a bookmark such as "buy this stock," which
includes a link
or pointer to a selected web site with a specific action, such as to login to
a selected
stockbroker, to select a stock for purchase, and to order purchase of that
stock in a
1 o selected amount.
System Elements
Figure 5 shows a block diagram of a system for summarization and
15 aggregation of personalized information.
A system 100 includes a set of web clients 110, a communication network 120,
at least one web site 130, and a personal data server 140.
2o As used herein, the terms "client" and "server" refer to relationships
between
the client and the server, not necessarily to particular physical devices.
As used herein, the phrase "web client" includes any combination of devices
or software taking on the role of a client in a client-server environment in
the Internet, the
25 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).
30 ~ 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
53


CA 02364297 2001-08-07
w0 Ob/48110 PCT/US00/03790
web sites 130 must be individual devices. They can each be a single device, a
set of
cooperating devices, a portion of a device, or some combination thereof.
As used herein, the phrase "client device" includes any device taking on the
role of a client in a client-server relationship (such as an HTTP web client
and web server).
There is no particular requirement that any client devices must be individual
physical devices;
they can each be a single device, a set of cooperating devices, a portion of a
device, or some
combination thereof.
to As used herein, the phrase "server device" includes any device taking on
the
role of a server in a client-server relationship. There is no particular
requirement that server
devices must be individual physical devices; they can each be a single device,
a set of
cooperating devices, a portion of a device, or some combination thereof.
1 s The web clients 110 each include a processor operating under control of
web
client software 11 l, 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 sites) 130 using a communication protocol, as
described below.
2o In a preferred embodiment, the web clients 110 each include a general-
purpose
computer, such as a laptop or workstation. However, the web clients 110 can
also include
(either alone or in conjunction with a laptop or workstation), a hand-held
calendar (such as a
"Palm Pilot" or other hand-held device), a portable computer, a special
purpose computer, a
cellular telephone or other telephonic device, a web server acting as the
agent for a user, or
25 another device. In alternative embodiments, the web clients 110 may also
include any other
device disposed for performing the all or some functions described herein. The
location, the
type of device, and the nature of the connection of the web clients 110 to the
web sites 130
can each differ between pairs of connection sessions between the web clients
110 and the web
sites 130.
In a preferred embodiment, the communication network 120 includes a packet
switched network such as the Internet, as well as (in conjunction with or
instead of) an
intranet, an enterprise network, an extranet, a virtual private network, a
virtual switched
54


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
network. In alternative embodiments. the communication network 120 may include
any other
set of communication links that couple the web clients 110, web site 130, and
personal data
server 140 so they can perform the functions described herein.
The communication network 120 is disposed for transporting messages 151
between any two of the web clients 110, 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
to 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
15 of ordinary skill in the art will recognize, after perusing this
application, that use of the
invention with other protocols would not require new invention or undue
experimentation.
In a preferred embodiment, those messages 151 that request information can
include an identifier 152 for a requested page 153. The page 153 includes a
set of
20 information, possibly including data in one of a number of formats, and
possibly also includes
a set number of links 154 to other pages 153. Each link 154 includes an
identifier 152 for its
target page 153, and information about the target page 153 (such as a title).
In a preferred embodiment, each page 153 can include data in the form of text,
images (still or animated), sound, program fragments (such as applets,
applications, or
25 JavaScript), or combinations thereof.
In a preferred embodiment, the web site 130 includes a processor operating
under control of web server software 13 l, and disposed for delivering
information 132 to the
web clients 110 or the personal data server 140 in response to requests made
using the
30 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.


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Personal Data Server
The personal data server 140 includes a processor operating under control of
both web client software 111 and web server software 141. In a preferred
embodiment, the
web client software 111 includes software disposed for communicating with the
web sites)
130, as described below, while the web server software 141 includes software
disposed for
communicating with the web client 110, as described below.
The personal data server 140 includes an access database 142 or other data
to structure including information regarding a set of individual users. The
access database 142
includes, for each individual user, a set of web sites 130 having personalized
information for
that individual user, and a corresponding set of access information for each
individual user for
each web site 130, such as a login name and a password. In a preferred
embodiment, the
personal data server 140 also includes authentication information for each
individual user, so
that the personal data server 140 only presents personalized information to
the correct
individual user.
The personal data server 140 is disposed for using the access database 142, at
the request of an individual user using a web client 110, for accessing those
web sites 130 in
2o the access database 142 and obtaining a set of personalized information
about the individual
user. The personal data server 140 includes a personalized information
database 143 with this
information, and dynamically generates a jump page 144 or other presentation
of the
personalized information for use by the individual user.
In a preferred embodiment, the jump page 144 includes at least a summary of
the personalized information obtained from each web site 130, and a hyperlink
or other
pointer to that web site 130 for detailed review or manipulation of that
personalized
information by the individual user.
3o The hyperlink or other pointer includes an address, such as a URL (uniform
resource locator) for the personalized information, and also includes access
information for
that personalized information. For example, the hyperlink or other pointer can
include a
56


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
sequence of web navigation operations (such as links to links, links with
forms with data
already completed, links requiring login names and passwords, or some
combination thereof).
The individual user can obtain the hyperlink or other pointer from the jump
page, either for later use, or for distribution to another entity. The saved
or transmitted
hyperlink or other pointer is a meta-bookmark 145. In a preferred embodiment,
the individual
user can set properties for the a meta-bookmark 145, such as a limitation on
data available
using the meta-bookmark 145, a limitation on distribution, a password for use,
an expiration
date, or some combination thereof.
to
In a preferred embodiment, the meta-bookmark 145 can include (or the
personal data server 140 can otherwise provide), automated completion of forms
and
automated responses to applets, JavaScript or Java applications. This allows
the individual
user to provide access information to be used by the personal data server 140,
either in
15 conjunction with use of a meta-bookmark 145 or otherwise, in which the web
site 130 uses a
technique for access to the personalized information that is relatively more
interactive than
providing a cookie, login name or password.
Method of Operation
Figures 6 and 7 collectively show a process flow diagram for a method of
using a system for summarization and aggregation of personalized information.
A method 200 is performed by the system 100. Although the method 200 is
described serially, the steps of the method 200 can be performed by separate
elements in
conjunction or in parallel, whether asynchronously, in a pipelined manner, or
otherwise.
There is no particular requirement that the method 200 be performed in the
same order in
which this description lists the steps, except where so indicated.
Access to Jump Page
At a flow point 210, the personal data server 140 is ready to receive a
request
from an individual user for personalized information.
57


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 21 l, 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.
At a step 212, the personal data server 140 identifies and authenticates the
individual user at the web client 110. In a preferred embodiment, the personal
data server 140
can perform this step using a cookie stored at the web client 110, or using a
login name or
password for the individual user, a digital identifier, or any other form of
identification and
1 o authentication.
For example, the digital identifier can include one for a hardware device
operating as part of the web client 110, including a processor, a cellular
telephone EIN, a
caller-ID telephone number, or an identifier from an Internet service
provider. This would be
15 useful when the web client 110 is operating in conjunction with a device
not directly coupled
to the Internet, such as a handheld computer (such as a Palm Pilot), a pager,
or a telephone
(cellular or with interactive voice response).
At a step 213, the personal data server 140 retrieves, from its access
database
20 142, access information for the individual user.
At a step 214, the personal data server 140 uses the access information to
contact each web site 130 associated with the individual user, and to obtain
personalized
information for that individual user.
At a step 215, the personal data server 140 dynamically, in response to the
personalized information it gleaned in the step 214, generates a jump page 144
for the
individual user. As part of this step, the personal data server 140 computes
or determines any
aggregate information, in response to a profile it maintains for the
individual user (or in
3o response to a request by the individual user), for inclusion on the jump
page 144.
At least a portion of the jump page 144 can be prepared in advance of the
request made by the individual user, such as prepared in advance at a selected
time of day or
S8


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
at a selected frequency. Moreover, at least a portion of the jump page 144 can
be updated in
response to a selected time of day, a selected frequency, at the request of
the individual user,
or in response to information from the web site.
At a step 216, the personal data server 140 sends the jump page 144 to the web
client 110 so as to present the personalized information to the individual
user for review°.
At a step 217, the individual user manipulates the web client 110 to review-
the
to jump page 144, and determine whether to perform further operations with
regard to the
personalized information. If so, the method 200 proceeds with the next step.
If not, the
method 200 proceeds at the flow point 210 or the flow point 220 or the flow
point 230.
At a step 218, the individual user manipulates the web client 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
following
operations:
~ The individual user can select a hyperlink or pointer on the jump page 144
to "click
through" to a selected web site 130 having personalized information. As part
of this
operation, the individual user can manipulate the web client 110 so as to
interact directly
with the web site 130 with regard to the personalized information (or other
information).
~ The individual user can save or send a hyperlink or pointer on the jump page
144 as a
meta-bookmark 145.
~ The individual user can review and manipulate personalized information at
the web site
130 using the hyperlinks or pointers on the jump page 144.
At a flow point 220, the personal data server 140 is ready to receive a
request
from an individual user to alter access information or preferences.
59


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 221, similar to the step 211, 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 21 l, this step is optional.
At a step 222, similar to the step 212, the personal data server 140
identifies
and authenticates the individual user at the web client 110. If identification
and authentication
were already performed at the step 212, this step is optional.
At a step 223, the personal data server 140 dynamically, in response to the
access information or preferences it maintains for the individual user,
generates an access or
preference page for the individual user, similar to the jump page 144.
The access data may include at least one or more of, or some combination of,
is the following: name, address, Social Security number, names and ages of
children, clothing
sizes, medical information pertaining to the user, their spouse or other
family number, type,
date and amount of past purchases, number and type of pets, income data,
address of user's
work, users work phone numbers, links to web sites, information gleaned from
other web
sites.
At a step 224, similar to the step 216, the personal data server 140 sends the
access or preference page to the web client 110 so as to present the access or
preference
information to the individual user for review.
At a step 225, similar to the step 217, the individual user manipulates the
web
client 110 to review the access or preference page, and determine whether to
perform further
operations with regard to the personalized information. If so, the method 200
proceeds with
the next step. If not, the method 200 proceeds at the flow point 210 or the
flow point 220 or
the flow point 230.
At a step 226, similar to the step 218, the individual user manipulates the
web
client 110 to perform further operations with regard to the personalized
information. As part


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
of this step, the individual user can perform one or more of, or some
combination of, the
operations described with regard to the step 218.
At a flow point 230, the personal data server 140 is ready to receive a
request
from an individual user to allow access to personalized information by other
entities.
At a step 231, similar to the step 211, 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
1o at the step 211, this step is optional.
At a step 232, similar to the step 212, the personal data server 140
identifies
and authenticates the individual user at the web client 110. If identification
and authentication
were already performed at the step 212, this step is optional.
At a step 233, the personal data server 140 records the request from an
individual user to allow access to personalized information by other entities.
At a step 234, similar to the step 211 through the step 218, an entity other
than
the individual user can establish a connection with the personal data server
140, identify and
authenticate itself as an entity authorized to review personal information for
one or more
individual users, and access that personalized information. In a preferred
embodiment, the
personal data server 140 allows only aggregate or otherwise limited access to
the personalized
information, as directed by the individual user.
For example, the individual user might choose to aggregate medical
information or aggregate information concerning family pets. Limited access to
aggregated
information ensures that only relevant information is sent to the other
entity. Thus,
aggregating medical data for family members and veterinary data for pets, the
individual user
3o can restrict their childrens' medical records from being set to a
veterinary service.
The method 200 continues at the flow point 210 or the flow point 220 or the
flow point 230.
61


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Generality of the Invention
The invention has general applicability to various fields of use, not
necessarily
related to e-commerce as described above. For example, these fields of use can
include one
or more of, or some combination of, the following:
~ Access to census, demographic, marketing, or other population information -
personalized
information regarding individual users (in these or related fields) can be
reviewed and
to 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.
15 ~ Use in conjunction or parallel with automated form completion - the
individual user can
use personalized information (either aggregated, limited, or not), to conduct
automated
form completion, without having to repeatedly provide that information.
Similarly, the
individual user can permit access to personalized information (either
aggregated, limited,
or not), by other entities to facilitate these or related techniques.
~ Use in conjunction or parallel with e-commerce - the individual user can use
personalized
information (either aggregated, limited, or not), to conduct e-commerce
without having to
repeatedly provide that information. Similarly, the individual user can permit
access to
personalized information (either aggregated, limited, or not), by other
entities to facilitate
e-commerce.
~ Use in conjunction or parallel with inter-user communication - the
individual user can use
personalized information (either aggregated, limited, or not), to conduct
inter-user
communication, such as bulletin boards or mailing lists, electronic "chat,"
interest groups,
or related techniques, without having to repeatedly provide that information.
Similarly,
the individual user can permit access to personalized information (either
aggregated,
limited, or not), by other entities to facilitate these or related techniques.
62


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Other and further applications of the invention in its most general form,
would
be clear to those skilled in the art after perusal of this application, and
are within the scope
and spirit of the invention.
IV.
Lexicography
The following terms refer or relate to aspects of the invention as described
below. The descriptions of general meanings of these terms are not intended to
be limiting,
1 o only illustrative.
~ automated new-user registration - in general, a technique for registering a
new user
with a web site, in which personalization information about the user is sent
to the web site
in an automated manner and without need for substantial user input
~ data input - in general, sending data from a web client to a web site that
requests that
data
~ descriptive text - in general, text or other descriptive presentation
information (such as
2o a graphic, a picture, or an icon) indicative of the nature of data
requested for a selected
f eld of a structured data input form
~ differing types of structured data forms - in general, structured data forms
having
differing purposes, such as ( 1 ) requesting information to register a new
user with a web
site, (2) logging in an already-registered user with a web site, or (3)
completing, approving
or confirming an e-commerce transaction
~ forms for structured data input - in general, a structured presentation,
such as a
graphic or picture, used to request data input from a user (typically an HTML
or XML
3o form)
63


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
~ helper application - in general, software at the web client used to assist
the
personalization software in recognizing web pages and differing types of
structured data
forms
~ input field - in general, a logical data field designated to request
selected types of
information from the user
~ logical field value - in general, a logical descriptor of a type of
information requested
for a selected input field
~ meta-bookmark - in general, a command, selected through a bookmark or
another user
interface element at the client, that associates a selected web page or URL,
such as a
current web page or URL, with a script or program fragment for taking selected
actions
with regard to that web page or URL
~ multiple or partial data values - in general, a reassignment of partial data
values or
multiple data values for a single selected input field of a structured data
form, such as
distinguishing (year, month, day) for a single value of (date), or combining
multiple
values of (address, state, country) into a single value of (postal address)
~ personalization server - in general, a device used to assist the web client
in sending
personalized information to one or more web sites
~ personalization software - in general, software at the personalization
server or at the
web client used to assist the web client in sending personalized information
to a web site,
which collects information about a user or sending the information directly
from the
personalization server to the web site
~ pre-recorded personal information - in general, information used by the
3o personalization software, describing the user of the web client
64


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
~ program fragment - in general, software at the web client (such as
JavaScript, a Java
applet, or another type of macro language program) for performing a selected
programmable activity with regard to a web page (or URL)
~ screen location - in general, a positional reference in a presentation of
data to the user,
such as a selected line of a structured data form
~ user - in general, an individual using or operating a web client
1 o ~ web browser - in general, web client software for use by a user
~ web page for confirming an e-commerce transaction - in general, a web page
(whether
statically or dynamically generated) having the purpose of requesting
information for, or
confirmation of, an e-commerce transaction
~ web page for new-user registration - in general, a web page (whether
statically or
dynamically generated) having the purpose of requesting information about a
new user to
be registered at a web site
~ web page for user login - in general, a web page (whether statically or
dynamically
generated) having the purpose of requesting information about a user who has
already
been registered at a web site
As noted above, these descriptions of general meanings of these terms are not
intended to be limiting, only illustrative. Other and further applications of
the invention,
including extensions of these terms and concepts, would be clear to those of
ordinary skill in
the art after perusing this application. These other and further applications
are part of the
scope and spirit of the invention, and would be clear to those of ordinary
skill in the art,
without further invention or undue experimentation.
System Elements


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Figure 8 shows a block diagram of a system for automated and intelligent
structured data input.
A system 100 includes a web client 110, a web site 120, a communication link
130, and a personalization server 160.
The web client 110 includes a processor, program and data memory, and mass
storage, operating under control of web client software (not shown) to perform
the functions
of a web client or web browser. The web client is operated by a user 111, and
includes an
l0 input device 112 and a presentation device 113. In a preferred embodiment,
the web client
software can include the "Netscape Navigator" product from America On Line or
the
"Internet Explorer" product from Microsoft Corporation.
Similar to the web client 110, the web site 120 includes a processor, program
and data memory, and mass storage, operating under control of web server
software (not
shown) to perform the functions of a web server or web site. The web site 120
includes a set
of web pages 121 for sending to the web client 110 (upon request of the web
client 110),
including at least one web page 121 having a structured data form 122 for
requesting
information from the web client 110.
The communication link 130 includes a technique for sending and receiving
messages between the web client 110 and the web site 120. In a preferred
embodiment, the
communication link 130 includes an Internet, intranet, extranet, virtual
private network, or
other technique for communication. In a preferred embodiment, the
communication link 130
operates using the HTTP protocol (or a variant thereof), so as to send and
receive web page
requests and web pages.
Similar to the web client 110, the personalization server 160 includes a
processor, program and data memory, and mass storage, operating under control
of
3U personalization software 140 to perform the functions described herein.
System Data Flow
66


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Figure 9 shows a data flow diagram of the system for automated and intelligent
structured data input.
The system 100 includes a set of data flows for sending and receiving
information between the web client 110 and the web site 120, using the
communication link
130.
A data flow 210 includes a set of messages between the web client 110 and the
web site 120, in which the web client 110 is assisted by a set of
personalization software 140
l0 logically local to the web client 110 to enter data for structured data
forms, so as to send that
data to the web site 120.
The web client 110 sends a message 211 to the web site 120, requesting a
selected web page.
The web site 120 responds to the message 211 by sending a message 212 to the
web client 110, presenting a structured data form and requesting information
from the web
client 110.
The web client 110 recognizes the structured data form, using the
personalization software, which assists the user with data input.
The web client 110 collects the information responsive to the structured data
form (whether from the personalization software or from the user) and sends a
message 213
with that information to the web site 120. As part of doing so, the web client
110 can obtain
the information from the personalization server 160 when that information is
available at the
personalization server 160, or from the user of the web client 110.
Once the information is sent to the web site 120, the data flow 210 is
complete.
A data flow 220 includes a set of messages between the web client 110 and the
web site 120, in which the web client 110 is assisted by the personalization
software 140 to
perform a program fragment associated with a meta-bookmark.
67


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
The web client 110 sends a message 221 to the web site 120 requesting a
selected web page.
The web site 120 sends a message 222 to the web client 110 including the
selected web page.
The personalization software 140 at the web client 110 performs the following
tasks
~ a portion thereof recognizes the selected web page;
~ a portion thereof completes a form or other data entry for the selected web
page at the web
site;
and
a portion thereof completes a form or other data entry for the selected web
page at the
client device.
2o Once the actions associated with the personalization software 140 are
performed, the data flow 220 is complete.
A data flow 230 includes a set of messages to the web site 120, in which
personalization software 140 at the personalization server 160 performs
automated new-user
registration for the user of the web client 110 at a plurality of web sites
120.
The personalization software 140 sends a message 231 from the
personalization server 160 to a set of selected web sites 120 including a
request for a new-user
registration web page.
Each selected web site 120 sends a message 232 to the personalization server
160 including the new-user registration web page.
68


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
The personalization software 140 at the personalization server 160 responds to
each new-user registration web page by sending a message 233 to the associated
web site 120
including information for registering the user at that web site 120.
Once the user is registered at the plurality of web sites 120, the data flow
230
is complete.
A data flow 240 includes a set of messages between the web client 110 and the
web site 120, in which a helper application 150 assists the personalization
software in
l0 recognizing differing types of structured data forms and directing the
personalization software
how to enter data for those differing types of structured data forms.
The web client 110 sends a message 241 to a selected web site 120 including a
request for a selected web page.
The web site 120 sends a message 242 to the web client 110 including the
selected web page.
The helper application 150 intercepts the selected web page, and determines if
2o the web page is a web page for user registration, a web page for user
login, or a web page for
confirming an e-commerce transaction. The helper application 150 so informs
the
personalization software 140.
The personalization software 140 exchanges a sequence of messages 243 with
the web site 120, in which the personalization software 140 sends information
requested by
the web site 120 to perform operations associated with the web page.
Once the operations associated with the web page have been performed, the
data flow 240 is complete.
Method of Operation
69


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
Figure 10 shows a process flow diagram of a first method for operating a
system for automated and intelligent structured data input.
A method 300 includes a set of flow points and steps.
At a flow point 310, the user operating the web client 110 is ready to be
assisted by personalization software that identifies forms for structured data
input and assists
the user with data input.
to At a step 31 l, the user operating the web client 110 selects a web page at
the
web site 120.
At a step 312, the web site 120 sends the web page to the web client 110.
I S At a step 313, personalization software 140 identifies the web page as
including a structured data form for data input.
At a step 314, the personalization software 140 identifies each relevant input
field in the form with a set of descriptive text. In a preferred embodiment,
the descriptive text
2o includes information presented as part of the web page for the user of the
web client 110 to
determine what information is being requested.
At a step 315, the personalization software 140 associates each set of
descriptive text with a logical field value. In a preferred embodiment, the
personalization
25 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>.
3o At a step 316, the personalization software 140 associates each relevant
input
field in the form with a screen location for presentation, such as with a
specific set of
descriptive text or a specific logical field value responsive to a proximity
relationship between
screen location for title and content in the form. In a preferred embodiment,
the screen


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
location can be a relative position with regard to a second screen location
for a second set of
descriptive text.
At a step 317, the personalization software 140 associates each screen
location
with a logical field value. For example, the personalization software 140 can
determine that a
screen location for requesting <name of user> is likely to be placed above a
screen location
for requesting <address of user>.
At a step 318, the personalization software 140 associates each logical field
l0 value with multiple data values or partial data values. For example, as
noted above, the
logical field values for <first name> and <last name> might be combined into a
single logical
field value for <name of user>.
At a step 319, the personalization software 140 identifies personalization
information associated with each logical field value, and sends that
information to the web
site 120 in association with each logical field value. In a preferred
embodiment, this step is
performed without requirement for substantial user input. In alternative
embodiments, the
user may be asked for confirmation (or for completing unknown values) of one
or more items
of data for such logical field values.
Figure 11 shows a process flow diagram of a second method for operating a
system for automated and intelligent structured data input.
A method 400 includes a set of flow points and steps.
At a flow point 410, the user operating the web client 110 is ready to be
assisted by personalization software that performs a meta-bookmark.
At a step 41 l, the user operating the web client 110 selects a web page at
the
3o web site 120.
At a step 412, the web site 120 sends the web page to the web client 110.
71


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a step 413, personalization software 140 identifies the web page as being
associated with a meta-bookmark (and thus being associated with a script or
program
fragment to be performed).
At a step 414, the personalization software 140 identifies the associated
script
or program fragment associated with the meta-bookmark. [* * * on the server *
* *]
At a step 415, the personalization software 140 performs the associated script
or program fragment associated with the meta-bookmark.
to
Figure 12 shows a process flow diagram of a third method for operating a
system for automated and intelligent structured data input.
A method 500 includes a set of flow points and steps.
At a flow point 510, the user operating the web client 110 is ready to be
assisted by personalization software that performs automated new-user
registration for the
user of the web client 110 at a plurality of web sites 120.
2o At a step 511, the personalization software 140 sends the message 231 to a
set
of selected web sites 120 including a request for a new-user registration web
page.
At a step 512, each selected web site 120 sends the message 232 to the web
client 110 including the new-user registration web page.
At a step 513, the personalization software 140 responds to each new-user
registration web page by sending the message 233 to the associated web site
120 including
information for registering the user at that web site 120.
Figure 13 shows a process flow diagram of a fourth method for operating a
system for automated and intelligent structured data input.
A method 600 includes a set of flow points and steps.
72


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a flow point 610, the personalization software 140 at the web client 110 is
ready to be assisted by the helper application 150 that assists the
personalization software in
recognizing differing types of structured data forms and directing the
personalization software
how to enter data for those differing types of structured data forms.
At a step 61 l, the web client 110 requests a selected web page from the web
site 120.
1 o At a step 612, the web site 120 sends the selected web page to the web
client
110.
At a step 613, the helper application 150 intercepts the selected web page,
and
determines if the web page is a web page for user registration, a web page for
user login, or a
15 web page for confirming an e-commerce transaction.
At a step 614, the helper application 150 informs the personalization software
140 of the web page type.
20 At a step 61 S, 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
25 which the personalization software 140 performs operations suited to a web
page for
confirming an e-commerce transaction.
Figure 14 shows a process flow diagram of a fifth method for operating a
system for automated and intelligent structured data input.
A method 700 includes a set of flow points and steps.
73


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
At a flow point 710, the personalization software 140 at the personalization
server 160 is ready to automate recognition of recognizing differing types of
structured data
forms and entering data those differing types of structured data forms
directly from the
personalization server 160.
At a step 711, the web client 110 requests a selected web page from the web
site 120.
At a step 712, the web site 120 sends the selected web page to the web client
110.
At a step 713, the helper application 150 intercepts the selected web page,
and
determines if the personalization software 140 at the personalization server
160 is able to
automate operations from the selected web page.
At a step 714, the personalization software 140 at the personalization server
160 automates operations, on behalf of the user of the web client 110, 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
2o site 120 (similarly to the method 600). In a preferred embodiment, this
step includes the
performance by the personalization software 140 at the personalization server
160 of all
operations needed to perform operations for the selected web page (and any
successor web
pages), so that the user need not enter substantial data to perform operations
for the selected
web page.
For example, when the web client 110 is a wireless device for which it is
relatively difficult to enter large amounts of data, the personalization
software 140 at the
personalization server 160 can automate (a) the entire process of logging the
user of the web
client 110 into a web site, and (b) the entire process of completing and
confirming an e-
commerce transaction at the web site on behalf of the user of the web client
110.
Generality of the Invention
74


CA 02364297 2001-08-07
WO 00/48110 PCT/US00/03790
The invention has general applicability to various fields of use, not
necessarily
related to the services described above. For example, these fields of use can
include one or
more of, or some combination of, the following:
~ information transactions and interactions relating to database queries and
responses;
and
~ information transactions and interactions relating to wireless devices and
servers
responsive thereto
Other and further applications of the invention in its most general form.
would
be clear to those skilled in the art after perusal of this application, and
are within the scope
and spirit of the invention.
I, II, III, and IV.
Alternative Embodiments
Although preferred embodiments are disclosed herein, many variations are
possible which remain within the concept, scope, and spirit of the invention,
and these
2o variations would become clear to those skilled in the art after perusal of
this application.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2000-02-11
(87) PCT Publication Date 2000-08-17
(85) National Entry 2001-08-07
Dead Application 2003-02-11

Abandonment History

Abandonment Date Reason Reinstatement Date
2002-02-11 FAILURE TO PAY APPLICATION MAINTENANCE FEE
2002-11-08 FAILURE TO RESPOND TO OFFICE LETTER

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $300.00 2001-08-07
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
LEBRUN, JEAN-NOEL
KRUTA, FRANCOIS
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 2001-08-07 14 252
Abstract 2001-08-07 2 80
Representative Drawing 2002-06-12 1 8
Claims 2001-08-07 16 614
Description 2001-08-07 75 3,424
Cover Page 2002-06-13 2 47
PCT 2001-08-07 1 38
Assignment 2001-08-07 4 150
Prosecution-Amendment 2001-08-07 82 3,236
Correspondence 2002-01-22 1 19
PCT 2001-10-23 1 51
Correspondence 2002-06-10 1 25
Prosecution-Amendment 2001-08-08 99 4,142
PCT 2001-08-08 19 921