WO2001022283A1 - Methods and systems for facilitating user access to web pages using portal device - Google Patents

Methods and systems for facilitating user access to web pages using portal device Download PDF

Info

Publication number
WO2001022283A1
WO2001022283A1 PCT/US1999/026859 US9926859W WO0122283A1 WO 2001022283 A1 WO2001022283 A1 WO 2001022283A1 US 9926859 W US9926859 W US 9926859W WO 0122283 A1 WO0122283 A1 WO 0122283A1
Authority
WO
WIPO (PCT)
Prior art keywords
portal
user
web page
query
information
Prior art date
Application number
PCT/US1999/026859
Other languages
French (fr)
Inventor
Brent Michael Kleinheksel
David Louis Kaminsky
David Mark Ogle
Gregory Reasoner Dekoenigsberg
Kenneth Glenn Mages
Chun-Wen Lai
Original Assignee
Planetportal.Com, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Planetportal.Com, Inc. filed Critical Planetportal.Com, Inc.
Priority to JP2000582469A priority Critical patent/JP2002535741A/en
Priority to EP99958946A priority patent/EP1203325A1/en
Priority to AU16213/00A priority patent/AU1621300A/en
Publication of WO2001022283A1 publication Critical patent/WO2001022283A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates to methods and systems for facilitating user access to web pages. More particularly, the present invention relates to methods and systems for facilitating user access to web pages using a portal device.
  • a software portal is a web page that includes links to other web pages.
  • a software portal can be accessed by users through a conventional web browser. Once the user accesses the software portal, icons for various web pages are displayed in the browser window. The user accesses the web pages by clicking on one of the icons.
  • While software portals provide an interface through which users can access multiple web pages, the user must still manually invoke a browser and either manually or automatically, through a "favorites" interface of the browser, access the web page corresponding to the software portal.
  • Each step required to be performed by users in order to access a desired web page increases the time and complexity required to access a web page and decreases the likelihood that the user will access the web page.
  • keyboards currently being sold for personal computers include special function keys that correspond to functions normally provided by browsers.
  • one conventional keyboard includes forward, back, and reload keys that allow users to access web pages according to the list of Hypertext Transfer Protocol (HTTP) queries displayed in the browser's address window.
  • HTTP Hypertext Transfer Protocol
  • the address window can include many queries corresponding to web pages that the user does not desire to access.
  • the user can be required to "page" through multiple unwanted web pages before accessing a web page of interest. This paging increases the time required to access a web page of interest and decreases the likelihood that a user will access a web page of interest. Accordingly, there exists a long felt need in the industry for facilitating user access to web pages and for increasing hits to selected web pages.
  • the present invention includes methods and systems forfacilitating user access to web pages using portal devices and for increasing hits to selected web pages.
  • web page includes data sent from a web server to a web client in response to a query from the web client.
  • a web server can include one or more programs that execute on one or more computers that respond to queries from web clients.
  • a web client can include one or more programs that execute on one or more computers that query web servers and receive responses from the web servers.
  • the term "portal device” includes a device capable of communicating with a computer to facilitate user access to web pages and to facilitate collection of user information.
  • the portal device can include, but is not limited to, an electrical or electro-mechanical user interface, such as a keypad, for receiving input from a user.
  • Processing and communication circuitry identifies keys pressed by the user and communicates key codes for identifying the keys to downstream software.
  • a mapping module generates a signal or code for varying the association between keys on the keypad and web pages.
  • a method forfacilitating user access to web pages using a portal device includes transmitting a key code from a portal device to portal client software executing on a portal client computer.
  • the portal client computer can include, but is not limited to, a general purpose computer connected to other computers over a network.
  • the portal client software forwards the key code along with user identification information to portal server software executing on a portal server computer.
  • the portal server software determines a web page that the user desires to access by accessing user information in a portal server database.
  • the key code and the user identification code can be used to perform a lookup in the database and extract the corresponding web page access information.
  • the phrase "web page access information" includes any information usable by a web client to instruct a web server to deliver a specific web page.
  • the web page access information can include the domain name of the web server that serves the web page and additional information such as file and directory information for locating the web page on the web server.
  • the portal server software forwards the web page access information to the portal client software.
  • the portal client software then formulates and sends a query to the web server that serves the web page indicated by the web page access information.
  • the web server sends data back to the portal client device for display to the user.
  • user information is collected and a web page is accessed merely by pressing a single key.
  • the present invention includes computer program products comprising computer-executable instructions embodied in computer-readable media.
  • computer-readable medium includes, but is not limited, to optical, electrical, and magnetic storage devices, such as disk storage devices, memory storage devices, and cards. Accordingly, it is an object of the present invention to provide novel methods and systems for facilitating user access to web pages.
  • Figure 1 is a block diagram illustrating a system for facilitating user access to web pages using a portal device according to an embodiment of the present invention
  • Figure 2 is a block diagram illustrating a portal device according to an embodiment of the present invention
  • Figure 2(a) is a block diagram illustrating a user interface for a portal device according to an embodiment of the present invention
  • Figure 2(b) is a block diagram illustrating a mapping module for a portal device according to an embodiment of the present invention
  • Figure 3 is a block diagram illustrating portal client software according to an embodiment of the present invention
  • FIG. 4 is a block diagram illustrating portal server software according to an embodiment of the present invention.
  • Figure 5 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to an embodiment of the present invention
  • Figure 6 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to another embodiment of the present invention
  • Figure 7 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to yet another embodiment of the present invention
  • Figure 8 is a perspective view of a portal device according to an embodiment of the present invention
  • Figure 9 is a top view of exemplary cards associated with a mapping module of a portal device according to an embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a system for facilitating user access to web pages utilizing a portal device according to an embodiment of the present invention.
  • the system includes a portal device 100, portal client software 102 that executes on a portal client computer 104, and portal server software 106 that executes on a portal server computer 108.
  • the portal client computer 104 and the portal server computer 108 can each comprise general purpose computers, such as IBM, IBM-compatible,
  • the portal client computer 104 and the portal server computer 108 can be connected to each other and to web servers 110 through a computer network, such as a TCP/IP network or a UDP/IP network.
  • the portal device 100, the portal client software 102, and the portal server software 106 cooperate to facilitate user access to web pages served by the web servers 110.
  • the portal device 100 can comprise any device that receives input from a user indicative of a web page or a plurality of web pages that the user desires to access and transmits signals to the portal client software 102 indicative of the user's selection.
  • Figure 2 is a block diagram illustrating a portal device 100 according to an embodiment of the present invention.
  • the portal device 100 includes a user interface 200 adapted to receive user input relating to a web page or a plurality of web pages that the user desires to access.
  • the user interface 200 comprises a keypad having a plurality of keys, where each key is associated with a web page or a plurality of web pages that the user can desire to access.
  • the user interface 200 can comprise a touch screen having keys or areas associated with web pages that the user can desire to access.
  • the user interface can comprise voice recognition hardware and software combined with a graphical display.
  • keys can be displayed to a user on a computer display device. Each key can have a label, such as "YAHOO.COM". The user can actuate a key to contact a web page by speaking the appropriate label into a microphone connected to portal client computer 104.
  • Portal client software 102 can include voice recognition circuitry for identifying the web page that the user desires to access. Portal client software 102 can then generate a query for that web page and send the query to the appropriate web server.
  • the portal device 100 includes processing and communication circuitry 202 for monitoring the user interface 200 to identify a key or area being pressed or touched by the user and output a signal indicative of the key to the portal client computer 104 illustrated in Figure 1.
  • the processing and communication circuitry 202 can comprise hardware, software, or a combination of hardware and software configured to communicate with the user interface 200 and the portal client computer 104.
  • the processing and communication circuitry 202 can comprise a microprocessor programmed to perform the processing and communication functions described herein.
  • An exemplary microprocessor suitable for use as the processing and communication circuitry 202 is the Model No. CY631101A available from
  • the processing and communication circuitry 202 can include a serial interface, such as an RS-232 interface, for communicating with the serial port of the portal client computer
  • USB port of the portal client computer 104 can be configured to communicate with the portal client computer 104 through a wireless interface, such as an infrared interface or a radio frequency interface.
  • a wireless interface such as an infrared interface or a radio frequency interface.
  • the mapping module 204 can comprise hardware, software, or a combination or hardware and software that produces output signals or codes for varying the association between at least some of the keys or areas associated with the user interface 200 and web pages. The association between other keys associated with the user interface 200 and web pages might or might not be varied using the mapping module 204.
  • the mapping module 204 comprises a card reader adapted to read information stored on cards insertable in the card reader.
  • the mapping module 204 can comprise a bar code reader.
  • a card (not shown) insertable in the bar code reader can include a bar code that stores a card identification code.
  • the card identification code instructs software downstream from the card reader to interpret user input received through the user interface 200 in a certain way.
  • the card identification code can be used to vary the association between keys or areas associated with the user interface and web pages. For example, if the "news" key or area is pressed and an "ABC News" card is inserted in the card reader, software downstream from the card reader can generate a query to a web server having the domain name abcnews.com.
  • software downstream from the card reader can generate a query to the web server having the domain name cnn.com. If no card is inserted in the card reader, software downstream from the card reader preferably sends a query to a default location, as specified by the key or area being pressed and any user preferences, as will be discussed in more detail below.
  • the mapping module 204 can comprise a card reader adapted to generate card insertion and removal signals when a card is inserted or removed, respectively. These signals can be transmitted to the portal client computer 104.
  • the portal client software 102 can generate a query containing web page access information specified by the signal. For example, if the card is an eBAY.com card, the portal client software 102 might query the web server corresponding to the domain name eBAY.com to access the eBay.com home page. Similarly, when a card is removed, client software 102 can query a default web server or web servers to display a default web page.
  • the portal client software 102 can communicate card insertion and removal signals to portal server software 106.
  • the card insertion and removal signals can indicate the card type to the portal server software.
  • the portal server software can then generate a query to a web server for a web page corresponding to the card type.
  • Figure 2(a) illustrates exemplary user interface and detector circuitry that can be included in the user interface 200 and the processing and communication circuit 202.
  • the user interface 200 comprises a keypad 220 including a plurality of keys 222.
  • Each of the keys 222 includes an indicium associated with a web page or a plurality of web pages.
  • the indicium on each key can include a company identifier, a web page identifier, a product or service category identifier, or other indicium for facilitating user access to a web page or a plurality of web pages.
  • the user interface 200 can include any electrical, mechanical, electromechanical, or other mechanism for detecting when a user presses a key and for determining which key has been pressed.
  • the user interface 200 includes a matrix of row conductors 224 and column conductors 226 that underlies the keys on the keypad.
  • a plurality of switches S, - S n can be connected between the row conductors 224 and the column conductors 226. For example, there can be a single switch corresponding to each key 222 on the keypad 220.
  • the row conductors 224 are electrically isolated from the column conductors 226 until one of the keys 222 is pressed.
  • the detector 228 can be variously configured.
  • the detector 228 can comprise hardware, software, or any combination of hardware and software that scans the keypad matrix to identify a key being pressed.
  • the detector 228 can be adapted to sequentially or randomly generate electrical signals on the row conductors or the column conductors.
  • the detector 228 can also be adapted to receive return signals from the row conductors or the column conductors when a key is pressed.
  • the detector 228 is adapted to transmit signals on the row conductors 224, then the detector 228 is preferably adapted to receive signals on the column conductors, and vice versa.
  • the detector 228 drives a transmitter 230 connected to the row conductors 224 for transmitting scanning signals on the row conductors 224.
  • the detector 228 monitors signals output from a receiver 232 connected to the column conductors 226 for receiving return signals from the column conductors 226.
  • the switch corresponding to the key being pressed is closed.
  • the transmitter 230 transmits signals, e.g. sequentially, randomly, or in a predetermined order, on the row conductors 224 under control of the detector 228.
  • the receiver 232 detects the return signal on the column conductor connected to the switch and forwards the return signal to the detector 228. Because the detector 228 knows the row conductor on which the transmission occurred and the column conductor on which the return signal was detected, the detector 228 can identify the key being pressed. Once the detector identifies the key being pressed, the processing and communication circuitry 202 preferably generates a key code indicative of the key being pressed.
  • the key code can be a number or other identifier that uniquely identifies a key.
  • the key code can be transmitted to the portal client computer 104 in any suitable manner, as discussed above.
  • Figure 2(b) illustrates a mapping module according to an embodiment of the present invention.
  • the mapping module
  • the 204 includes a card reader 240 for reading a bar codes 242 and 244 on a card 246 insertable into the card reader 240.
  • the card reader 240 includes one or more optical sensors 248 and 250 for reading the bars in the bar code and outputting electrical signals indicative of the code.
  • the optical sensor 248 is positioned to read bar code 242 on the card 246, which includes data, such as a card identification code. Accordingly, the optical sensor 248 is preferably connected to a data input of the processing and communication circuitry 202.
  • the optical sensor 250 is positioned to read the bar code 244, which includes sync bits for synchronizing the reading of the bar code 242. Accordingly, the optical sensor 250 is preferably connected to a sync input of the processing and communication circuitry 202.
  • the present invention is not limited to having the bar code 242 on the top of the card and the bar code 244 containing synchronization bits on the bottom.
  • the bar code 242 could be on the bottom and the bar code 244 could be on the top.
  • either or both of the bar codes 242 and 244 can be replaced by a magnetic strip, an eprom, or any other information-bearing medium.
  • the bar code 244 includes translucent or non-reflective areas 246 and opaque or reflective areas 248.
  • the translucent or reflective areas and the opaque or reflective areas pass the optical sensor 250 and the bar code 242 passes the optical sensor 248. Transitions from areas 246 to areas 248 produce rising edges, i.e., a clock signal, on the sync input of the processing and communication circuitry 202. The rising edges generate interrupts to the processing and communication circuitry 202. The interrupts cause the processing and communication circuitry 202 to read and process the data bits in the bar code 242.
  • the bars in the bar code 242 must be correctly aligned with transitions in the bar code 244 so that data bits are read at the correct time.
  • the processing and communication circuitry 202 preferably executes a software routine for reading the data from the bar code 242.
  • the barcode 242 can include a preamble portion, a data portion, and a postamble portion.
  • the processing and communication circuitry 202 uses the preamble portion to detect card insertion.
  • the preamble portion can be a bit sequence, such as "0101". If this sequence is detected as an initial pattern, i.e., when the card reader is activated, the processing and communication circuitry 202 determines that a card is being inserted. As stated above, upon detection of card removal, a query can be sent to a default web server for accessing a default web page for the card. If the initial pattern detected by the processing and communication circuitry 202 is not an initial pattern, the processing and communication circuitry
  • the processing and communication circuitry 202 determines whether the initial pattern is the postamble portion in reverse, indicating that a card is being removed from the card reader. For example, if a valid postamble pattern is "0011", and the card reader detects "1100", the processing and communication circuitry 202 determines that a card is being removed. As stated above, upon detection of card removal, a query can be sent to a default web server for displaying a default web page for the card.
  • the processing and communication circuitry 202 determines that the preamble is invalid and takes appropriate action. For example, invalid patterns can cause the processing and communication circuitry 202 to enter a timeout period during which all data is ignored.
  • the processing and communication circuitry 202 can also reset data variables for storing data read from the bar code 242. After waiting for a predetermined time period, the processing and communication circuitry 202 can return to waiting for a valid preamble or postamble.
  • Data is only considered valid if the optical sensors scan a valid preamble, e.g., "0101 ", the correct number of data bits, e.g., 24 bits or 32 bits, and a valid postamble "0011 ".
  • the sync sensor 250 should be blocked. Therefore, a valid insertion event results in preamble, data, postamble, and sync blocked for extended time period.
  • a valid removal consists of the reverse data sequence followed by sync path clear. Invalid card activity will trigger a card insertion event with invalid data, such as
  • the processing and communication circuitry 202 determines that it has received valid data, the processing and communication circuitry 202 reads the data to determine the card identification code. The processing and communication circuitry 202 then transmits the card identification code, along with the key being pressed, to the portal client software 102 illustrated in Figure
  • the portal client software 102 uses the card identification code to vary the association between the keys on the keypad and one or more web pages, as will be discussed in more detail below.
  • the mapping module 204 can comprise magnetic card reader for reading a magnetic card that encodes the card identification code.
  • the card can include a memory device and the processing and communication circuitry 202 can be adapted to read the card identification from the memory device.
  • the card can comprise a smart card including a microprocessor and associated memory that can be used in performing secure e-commerce transactions using the hardware portal device.
  • the mapping module 204 would include appropriate interface circuitry for communicating data between the smart card and the processing and communication circuitry 202.
  • the present invention is not limited to a mapping module embodied in the portal device 100.
  • the mapping module can comprise a virtual card that can be downloaded to the portal client computer 104 from an external source, such as a friend's website.
  • the virtual card can be read by the portal client software
  • the portal client software 102 can receive the key code generated by the portal device 100 and use the information on the virtual card to generate the correct query, just as if a physical card had been inserted in the mapping module 204. For example, if the virtual card is an "ABC News" virtual card and the "news" key is pressed, the portal client software 102 can generate a query to "abcnews.com".
  • the portal client software 102 executing on the portal client computer 104 receives user input from the portal device 100 and communicates with the portal server software 106 executing on the portal server computer 108 and with web servers 110.
  • Figure 3 is a block diagram illustrating exemplary client software according to an embodiment of the present invention.
  • the portal client software 102 includes a device driver 300, a controller 302, and a browser 304.
  • the device driver 300 receives signals including key codes, card identification codes, and card insertion and removal signals from the portal device 100, converts the signals to data recognizable by the controller 302 and writes the data into a memory location accessible by the controller 302.
  • the device driver 300 can be configured to read a USB data stream and write data from the USB data stream to main memory of the portal client computer 104.
  • the controller 302 receives the data from the device driver 300, formulates queries and passes the queries to the browser 304.
  • the queries can comprise URL strings or other identifiers for accessing web pages.
  • Passing the query to the browser can be done in a number of ways, for example, using the COM interface, available in Microsoft WINDOWS® operating systems or directly invoking the browser with a command line argument, e.g., "netscape.exe www.abcnews.com”.
  • the controller 302 preferably also directly passes information to the portal server software 106, without using a browser interface.
  • This communication can be achieved using standard networking protocols, such as UDP or TCP, or using HTTP over TCP/IP.
  • the portal client software 102 and the portal server software 106 can exchange information for a variety of reasons, including keeping the client software current, communicating user preference and identification information, preferably with the user's permission, to the portal server software, and for receiving information from the portal server software.
  • the controller 302 can also manage a portal client database 306 that stores user preferences for one or more users to influence the formulation of queries.
  • the portal client database 306 can include web page access information based on preferences of a single user on a plurality of users.
  • the formulation of queries can be based on data received from the portal device 100, the portal server software 106, and/or the portal client database 306.
  • the browser 304 can be any type of web client adapted to forward queries to external machines and receive data from the external machines.
  • the browser 304 can also provide a graphical user interface for displaying information from the external machines to the user and allow the user to interact with the external machines.
  • Exemplary browsers suitable for use with the present invention include Internet Explorer available from Microsoft Corporation and Netscape Navigator, available from America Online
  • the present invention is not limited to using a browser and a separate controllerforformulating queries and communicating with an external machine.
  • controller 302 and the browser 304 can be integrated within a single software module to communicate with the portal device 100, external machines, the user, and the portal client database 306.
  • the system forfacilitating user access to web pages using a portal device includes portal server software 106 executing on portal server computer 108 for communicating with portal client software 102 executing on portal client computer 104.
  • Figure 4 illustrates the portal server software 106 in more detail.
  • the portal server software 106 includes a server application 400 that reads information from and writes information to a portal server database 402.
  • the server application 400 can be any type of server capable of communicating with the portal client software 102 and/or the web servers 110 over a computer network.
  • the server application can be configured to communicate using
  • TCP/IP TCP/IP
  • UDP/IP UDP/IP
  • HTTP HTTP over TCP/IP
  • the portal server database 402 comprises information regarding users and web page names access information for each user.
  • the portal server database 402 can store information regarding user preferences, and information for mapping key codes and card codes to web page access information.
  • the portal server application 400 is preferably capable of storing information regarding users in the portal server database 402 and extracting web page access information from the portal server database 402 using information received from the portal client software 102. Communication Methods
  • Figure 5 is an exemplary partial block/partial flow diagram illustrating an exemplary method for facilitating user access to web pages according to an embodiment of the present invention.
  • the blocks have the same general structure and functions as described above, and thus this discussion need not be repeated.
  • the arrows connecting the blocks indicate message flows between the blocks in an exemplary method forfacilitating user access to web pages using a portal device.
  • the number beside each arrow indicates the order in which the message occurs.
  • the message flow will be explained as a series of steps performed by the various devices according to the present invention. The steps can be implemented by hardware, software, or a combination of hardware and software.
  • the portal device 100 detects that a key or an area is being pressed or otherwise actuated by the user and formulates a key press package to the portal client software 102.
  • the key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device code indicative of the portal device 100.
  • the device code and the card code are optional and need not be sent.
  • the portal client software 102 sends a user identification code, a password, and the key press package to the portal server application 400.
  • the user identification code and the password can be received from the user when the user invokes the portal client software 102.
  • Sending the user identification code and password to the portal server application 400 is optional. However, in a preferred embodiment, this data is sent to allow the portal server application 400 to authenticate the user and collect information regarding the user.
  • the portal server application performs user authentication by verifying that the password is correct for the user identification received with the password and requests user data from the database.
  • the portal server application can perform a table lookup in the database 402 using the key code, the card code, and/or the device code to extract web page access information for the web page that the user desires to access.
  • the portal server application 400 can also record user information, such as the web page that the user is accessing.
  • the portal client software 102 can display an agreement to which the user must agree before the software can be successfully installed.
  • the user can be prompted during authentication of his or her user identification code and password as to whether or not the user consents to the recording and selling of his or her identification and preference information. If the user consents to the recording of his or her identification and preference information, the information can be stored in the database 400. If the user does not consent, the user identification and preference information are preferably not stored in the database 402.
  • the portal server application 400 forwards the web page access information for the web page or pages that the user desires to access to the portal client software 102.
  • the web page access information can be transmitted in HTTP format such that the web page or pages corresponding to the web page access information can be displayed by the browser. If web page access information for a plurality of web pages is communicated to the portal client software 102, the portal client software 102 can display a list of web pages to the user. The list can be in the form of an index page that includes a plurality of links to the web pages that the user desires to access.
  • the portal client software 102 transmits a query to the appropriate web server 110 based on the user's selection from the list of web pages or, if a single web page was requested, based on the web page access information received from the portal server software 102.
  • the selected web server 110 returns a response containing the desired information to the portal client software 102.
  • the response can contain data for displaying a web page on a display device connected to the portal client computer 104.
  • FIG. 5 illustrates exemplary steps by which information entered by the user through a portal device is used to access a web page of interest. All the user is required to do is press a key, and the appropriate information is extracted from the portal server, returned to the portal client application, and used to access the desired web page.
  • Figure 6 illustrates an alternative method for facilitating user access to web pages according to an embodiment of the present invention.
  • the portal client software 102 accesses information in the portal client database 306 to facilitate user access to web pages.
  • the portal device 100 detects that a key or an area has been pressed or otherwise actuated by the user and formulates a key press package to the portal client software 102.
  • the key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device identifier that identifies the hardware portal device.
  • the device identifier and the card identifier are optional and need not be sent.
  • the portal client software 102 extracts user profile information from the portal client database 306 and/or updates user profile information in the portal client database 306.
  • the user profile information can include geographic information, such as a postal code, for the user, or user preference information, for facilitating access to web pages.
  • the portal client software can transmit the user identification information, and optionally a password, and the key press package to the portal client database 306.
  • the portal client software 102 transmits the key press package and any user profile information, such as the postal code, to the portal server application 400.
  • the transmission can be in TCP/IP format
  • step 4 the portal server application 400 updates profile information in the database 402, if changes have occurred to the information in the portal client database 306. If the user profile information has not changed, in step 5, the portal server application 400 requests that one of the web servers, as specified by the key press package and any user profile information, transmit information to the portal client application, e.g., using the HTTP redirect command. In step 6, in response to the re-direct command, the accessed web server transmits data to the portal client application to allow the user to view the desired web page.
  • the embodiment illustrated in Figure 6 does not require that the portal server software communicate the web page access information back to the portal client software before the web page can be accessed.
  • the user's request is processed by the portal server software, which directs the appropriate web server to send data to the client.
  • client information can still be collected in the portal server database, since the original request from the protocol client software is transmitted through the portal server software.
  • Figure 7 illustrates another embodiment of the present invention for facilitating user access to web pages. Like the embodiment illustrated in Figure
  • the portal client software includes the portal client database 306 for storing user profile information. However, unlike the embodiment illustrated in Figure 6, the portal client software 102 communicates directly with one or more of the web servers 110 to access a desired web page.
  • the portal device 100 detects that a key or an area has been pressed or otherwise actuated by the user and transmits a key press package to the portal client software 102.
  • the key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device code indicative of the hardware portal device.
  • the device code and the card code are optional and need not be sent.
  • the portal client software 102 extracts user profile information from the portal client database 306 and updates user profile information in the portal client database 306.
  • the user profile information can include geographic information, such as a postal code, for the user, or user preference information, such as web page access information for the user, forfacilitating access to web pages.
  • the portal client software 102 can transmit the user identification information, an optional password, and the key press package to the portal client database 306.
  • the portal client software 102 formulates a query to one of the web servers based on at least one of, the key press package, the user profile information extracted from the database 306, the card ID, and the device ID.
  • the query can be in any suitable format, e.g., TCP/IP format, UDP/IP format, or HTTP over TCP/IP format.
  • the portal client software can transmit user profile information to the portal server application 400 so that the portal server application 400 can update user profile information in the database 402 (step 2b).
  • the portal server application 400 can also determine whether the user profile information is current by accessing portal server database 402, and, in step 2d, send updates to the user profile information to the client side, e.g., to notify that the client that a web page in the client's personal profile has been moved or that a key mapping has been changed.
  • An example of a change in key mapping is a change in the default mapping of the "news" key changes from "abcnews.com” to "cnn.com”. Because the portal server application 400 and the portal client software 102 preferably interact to maintain consistency between the databases 306 and 402, the information in both databases is kept current.
  • the embodiment illustrated in Figure 7 includes the advantages of direct client access to a web page, while still allowing updating of user profile information on both client and server sides.
  • updates to user profile information can be accomplished by the portal client software 102 downloading from the portal server application 400, preferably over HTTP, the latest version of a configuration file containing the user profile information.
  • the portal client software 102 can determine the version number of the configuration file currently in use.
  • the portal client software 102 calculates the next version of the configuration file in sequence by incrementing the version number of the current configuration file by a predetermined increment. For example, if the current version is 1 , and the increment is 1 , the next file can be version 2.
  • the portal client software 102 determines whether a configuration file update is needed by checking for the next version of the file in sequence, stored in a directory on the portal server computer 108 associated with that version. If the next version of the configuration file exists, the portal client software 102 downloads and installs the file. If the file does not exist, the portal client software 102 knows that the configuration file currently in use does not require updating. For example, a configuration file might be named "config.txt", the portal client software 102 might currently be using version 2 of the configuration file, and the increment might be 1. On the portal server computer 108, configuration files are stored in directories called: "/configurations/versions/1", “/configurations/versions/2", etc.
  • the portal client software 102 Since the portal client software 102 has version 2, it creates an HTTP request for the next version of the file.
  • the request might be: http://www.planetportal.eom/configurations/versions/3/config.txt.
  • the request can be sent as an unmodified HTTP request to the portal server application 400. If the portal server application 400 responds "file not found", the portal client software 102 knows that it has the latest version of config.txt.
  • the portal client software 102 in response to the request, and the portal client software 102 can install it.
  • the process of checking for updates can be combined in a novel manner with the process for conveying information to the portal server, as illustrated by step 2c in Figure 7. Specifically, when the portal client software
  • the portal client software 102 requests: http://www.planetportal.eom/configurations/versions/3/config.txt
  • the portal client software 102 can append the user profile information as parameters in the URL.
  • the portal server application 400 can automatically log the request to a log file.
  • Logging HTTP requests to a log file is a standard web server function, which is preferably included in the portal server application 400.
  • the logging operation requires no additional server code to be written; rather, it uses the logging function of a portal server application 400 in a novel way.
  • the portal client software 102 can be informed of newer file versions without server intervention or new server code, beyond what exists in a standard web server.
  • signals generated by the portal device are redirected through the portal server application 400 to a web server. More particularly, the portal client software 102 transmits a key press package to the portal server application 400 based on the key pressed on the portal device
  • the portal server application 400 then transmits a redirect message to the appropriate web server, and the web server responds directly to the portal client software 102.
  • the portal client software 102 generates a query directly to the web server 110 and uploads user profile information to the portal server application in parallel with loading the web page or pages.
  • a hybrid method for facilitating user access to web pages can combine the steps illustrated in Figures 6 and 7. That is, the portal client software 102 can send a query directly to a web server and concurrently send the user profile information to the portal server application 400.
  • a method for facilitating user access to web pages can begin by executing the steps illustrated in Figure 7.
  • the method can include executing the steps in Figure 6. That is, the portal client software can transmit a request for accessing a web page to the portal server application 400.
  • the portal server application 400 can then update its database by automatically logging the request, as described above. As a result, collection of user profile information can be reliably performed.
  • Figure 8 illustrates an exemplary portal device physical configuration according to an embodiment of the present invention.
  • the portal device includes a housing 800 for housing the portal device circuitry.
  • a cable 802 extends from the housing for connecting the internal circuitry to an external computer.
  • the cable 802 is a USB cable for connecting to the USB port of the portal client computer.
  • the housing includes a card slot 804 for receiving a card 246.
  • a keypad 220 is located in open area 806 of the housing 800.
  • the keypad includes a plurality of keys 222a - 222c, each including indicium related to web pages that a user can desire to access.
  • keys such as the key 222a
  • each have an indicium, such as "jobs", “tickets”, or “music” for accessing categories of web pages.
  • Keys, such as the key 222b each include an indicium, such as "Dominos", "AT&T”, or "eBAY”, that indicates company names or logos.
  • keys, such as keys 222c include generic indicia that correspond to specific indicia 808 on the card 246. In other words, the indicia
  • Figure 9 illustrates exemplary embodiments of the card 246.
  • cards 246a-246d each include different indicia 808a-
  • Cards 246a-246d also include different company identifiers 810a-810d indicative of the company accessed by the portal device when the card is inserted in the portal device and the user presses one of the keys 222c.
  • the cards can be any of the types of cards described above, in the illustrated embodiment, the cards include bar codes 242a-242d for instructing software downstream from the cards 242a-246d to alter the function of the keys 222c on the portal device.
  • An exemplary mechanism for altering the function of the keys 222c is described in detail above and need not be repeated herein.
  • card 246a is a Barnes & Noble card.
  • the portal device When the user inserts the card 246a in the portal device and presses one of the keys 222c labeled "home", the portal device causes the portal client software to access "barnesandnoble.com". Similar functionality is provided by the cards 246b-246d. In addition, the barcodes on the cards 246a-246d can cause the generation of card insertion and removal signals that result in queries to default web pages for each of the cards. Thus, a user can have a single portal device and a plurality of cards. As a result, the portal device can be easily reconfigured, simply by placing a new card in the card slot, according to the web page or pages that the user desires to access.
  • the present invention includes methods of doing business using portal devices.
  • a company that distributes portal devices can sell key space on the portal device to other companies.
  • an indicium of the company is placed on one or more keys on the keypad.
  • the portal client software and/or the portal server software is configured to generate queries to the purchasing company's web page or pages when the key or keys owned by the company are pressed.
  • the portal device and the portal client software are then distributed to a plurality of users.
  • the portal devices and the portal client software can be sold to the users, in a preferred business method according to the invention, the portal devices and the portal client software are distributed to users without charge.
  • the cards 246a- 246d can be distributed to users with or without charge to the end users to increase hits to company-sponsored web pages.
  • a method for doing business can include charging companies for mapping web page names to default buttons.
  • the portal device can include a default key labeled "news".
  • a company such as CNN, can pay for the right to have the news button mapped to cnn.com. Users can modify the default selection, but CNN will be the default for the news button.
  • portal client software 102 can present a list of news selections to the user with CNN being the first selection in the list.
  • the mapping of the news button to cnn.com can be performed using any of the methods described above.
  • each slot can be sold to companies with lower slots commanding a lower price.
  • the present invention provides improved methods for increasing hits to web pages and for generating revenue based on the increased hits.

Abstract

Methods and systems for facilitating user access to web pages include a portal device (100) that includes keys or areas associated with web pages. Processing and communication circuitry detects when a user presses one of the keys or areas and forwards a key code to a portal client computer (104). The portal client computer sends a query for accessing a web page based on the key code.

Description

Description METHODS AND SYSTEMS FOR FACILITATING USER ACCESS TO WEB
PAGES USING PORTAL DEVICE
Priority Application Information This application claims the benefit of United States Provisional Patent
Application 60/156,020, filed September 23, 1999, the disclosure of which is incorporated herein by reference in its entirety.
Technical Field
The present invention relates to methods and systems for facilitating user access to web pages. More particularly, the present invention relates to methods and systems for facilitating user access to web pages using a portal device.
Background Art As the number of web servers connected to computer networks, such as the Internet, increases, it becomes more and more difficult for users to access useful web pages. In addition, the number of "hits" per web user decreases, because users are faced with a greater number of choices as the number of web pages increases. As a result, company revenue generated per web user decreases. One conventional mechanism for facilitating user access to web pages and for increasing the number of hits to web pages is a software portal. A software portal is a web page that includes links to other web pages. A software portal can be accessed by users through a conventional web browser. Once the user accesses the software portal, icons for various web pages are displayed in the browser window. The user accesses the web pages by clicking on one of the icons. While software portals provide an interface through which users can access multiple web pages, the user must still manually invoke a browser and either manually or automatically, through a "favorites" interface of the browser, access the web page corresponding to the software portal. Each step required to be performed by users in order to access a desired web page increases the time and complexity required to access a web page and decreases the likelihood that the user will access the web page.
Some keyboards currently being sold for personal computers include special function keys that correspond to functions normally provided by browsers. For example, one conventional keyboard includes forward, back, and reload keys that allow users to access web pages according to the list of Hypertext Transfer Protocol (HTTP) queries displayed in the browser's address window. This feature is useful in allowing users to access previously-accessed web pages. However, the address window can include many queries corresponding to web pages that the user does not desire to access. As a result, the user can be required to "page" through multiple unwanted web pages before accessing a web page of interest. This paging increases the time required to access a web page of interest and decreases the likelihood that a user will access a web page of interest. Accordingly, there exists a long felt need in the industry for facilitating user access to web pages and for increasing hits to selected web pages.
Disclosure of the Invention
The present invention includes methods and systems forfacilitating user access to web pages using portal devices and for increasing hits to selected web pages. As used herein, the term "web page" includes data sent from a web server to a web client in response to a query from the web client. A web server can include one or more programs that execute on one or more computers that respond to queries from web clients. A web client can include one or more programs that execute on one or more computers that query web servers and receive responses from the web servers.
As used herein, the term "portal device" includes a device capable of communicating with a computer to facilitate user access to web pages and to facilitate collection of user information. The portal device can include, but is not limited to, an electrical or electro-mechanical user interface, such as a keypad, for receiving input from a user. Processing and communication circuitry identifies keys pressed by the user and communicates key codes for identifying the keys to downstream software. A mapping module generates a signal or code for varying the association between keys on the keypad and web pages.
A method forfacilitating user access to web pages using a portal device includes transmitting a key code from a portal device to portal client software executing on a portal client computer. The portal client computer can include, but is not limited to, a general purpose computer connected to other computers over a network. The portal client software forwards the key code along with user identification information to portal server software executing on a portal server computer. The portal server software determines a web page that the user desires to access by accessing user information in a portal server database. The key code and the user identification code can be used to perform a lookup in the database and extract the corresponding web page access information. As used herein, the phrase "web page access information" includes any information usable by a web client to instruct a web server to deliver a specific web page. For example, the web page access information can include the domain name of the web server that serves the web page and additional information such as file and directory information for locating the web page on the web server. The portal server software forwards the web page access information to the portal client software. The portal client software then formulates and sends a query to the web server that serves the web page indicated by the web page access information. The web server sends data back to the portal client device for display to the user. Thus, user information is collected and a web page is accessed merely by pressing a single key.
According to another aspect, the present invention includes computer program products comprising computer-executable instructions embodied in computer-readable media. As used herein, the phrase computer-readable medium includes, but is not limited, to optical, electrical, and magnetic storage devices, such as disk storage devices, memory storage devices, and cards. Accordingly, it is an object of the present invention to provide novel methods and systems for facilitating user access to web pages.
It is another object of the present invention to increase hits to web pages. It is another object of the present invention to provide a hardware portal for facilitating user access to web pages.
It is yet another object of the present invention to provide a method for collecting user preference information with regard to web page access.
It is yet another object of the present invention to provide business methods using hardware portal devices to increase hits to web pages.
These and other objects are achieved in whole or in part by the present invention. Some of the objects of the invention having been stated hereinabove, other objects will become evident as the description proceeds, when taken in connection with the accompanying drawings as best described hereinbelow.
Brief Description of the Drawings The present invention will now be explained with reference to the accompanying drawings of which:
Figure 1 is a block diagram illustrating a system for facilitating user access to web pages using a portal device according to an embodiment of the present invention;
Figure 2 is a block diagram illustrating a portal device according to an embodiment of the present invention; Figure 2(a) is a block diagram illustrating a user interface for a portal device according to an embodiment of the present invention;
Figure 2(b) is a block diagram illustrating a mapping module for a portal device according to an embodiment of the present invention; Figure 3 is a block diagram illustrating portal client software according to an embodiment of the present invention;
Figure 4 is a block diagram illustrating portal server software according to an embodiment of the present invention;
Figure 5 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to an embodiment of the present invention;
Figure 6 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to another embodiment of the present invention; Figure 7 is a partial block/partial flow diagram illustrating a method for facilitating user access to web pages according to yet another embodiment of the present invention;
Figure 8 is a perspective view of a portal device according to an embodiment of the present invention; and Figure 9 is a top view of exemplary cards associated with a mapping module of a portal device according to an embodiment of the present invention. Detailed Description of the Invention
Figure 1 is a block diagram illustrating a system for facilitating user access to web pages utilizing a portal device according to an embodiment of the present invention. In Figure 1 , the system includes a portal device 100, portal client software 102 that executes on a portal client computer 104, and portal server software 106 that executes on a portal server computer 108. The portal client computer 104 and the portal server computer 108 can each comprise general purpose computers, such as IBM, IBM-compatible,
Macintosh, or Macintosh-compatible computers. The portal client computer 104 and the portal server computer 108 can be connected to each other and to web servers 110 through a computer network, such as a TCP/IP network or a UDP/IP network. The portal device 100, the portal client software 102, and the portal server software 106 cooperate to facilitate user access to web pages served by the web servers 110. Each of these components will now be discussed in more detail.
Portal Device The portal device 100 can comprise any device that receives input from a user indicative of a web page or a plurality of web pages that the user desires to access and transmits signals to the portal client software 102 indicative of the user's selection. Figure 2 is a block diagram illustrating a portal device 100 according to an embodiment of the present invention. In Figure 2, the portal device 100 includes a user interface 200 adapted to receive user input relating to a web page or a plurality of web pages that the user desires to access. In a preferred embodiment of the invention, the user interface 200 comprises a keypad having a plurality of keys, where each key is associated with a web page or a plurality of web pages that the user can desire to access. In an alternative embodiment of the invention, the user interface 200 can comprise a touch screen having keys or areas associated with web pages that the user can desire to access. In yet another alternative embodiment, the user interface can comprise voice recognition hardware and software combined with a graphical display. For example, keys can be displayed to a user on a computer display device. Each key can have a label, such as "YAHOO.COM". The user can actuate a key to contact a web page by speaking the appropriate label into a microphone connected to portal client computer 104. Portal client software 102 can include voice recognition circuitry for identifying the web page that the user desires to access. Portal client software 102 can then generate a query for that web page and send the query to the appropriate web server.
The portal device 100 includes processing and communication circuitry 202 for monitoring the user interface 200 to identify a key or area being pressed or touched by the user and output a signal indicative of the key to the portal client computer 104 illustrated in Figure 1. The processing and communication circuitry 202 can comprise hardware, software, or a combination of hardware and software configured to communicate with the user interface 200 and the portal client computer 104. For example, the processing and communication circuitry 202 can comprise a microprocessor programmed to perform the processing and communication functions described herein. An exemplary microprocessor suitable for use as the processing and communication circuitry 202 is the Model No. CY631101A available from
Cypress Semiconductor.
To communicate with the portal client computer 104, the processing and communication circuitry 202 can include a serial interface, such as an RS-232 interface, for communicating with the serial port of the portal client computer
104, a parallel interface for communicating with the parallel port of the portal client computer 104, or high speed serial interface for communicating with the
USB port of the portal client computer 104. Alternatively, the processing and communication circuitry 202 can be configured to communicate with the portal client computer 104 through a wireless interface, such as an infrared interface or a radio frequency interface.
The mapping module 204 can comprise hardware, software, or a combination or hardware and software that produces output signals or codes for varying the association between at least some of the keys or areas associated with the user interface 200 and web pages. The association between other keys associated with the user interface 200 and web pages might or might not be varied using the mapping module 204.
In one embodiment, the mapping module 204 comprises a card reader adapted to read information stored on cards insertable in the card reader. For example, the mapping module 204 can comprise a bar code reader. A card (not shown) insertable in the bar code reader can include a bar code that stores a card identification code. The card identification code instructs software downstream from the card reader to interpret user input received through the user interface 200 in a certain way. For example, the card identification code can be used to vary the association between keys or areas associated with the user interface and web pages. For example, if the "news" key or area is pressed and an "ABC News" card is inserted in the card reader, software downstream from the card reader can generate a query to a web server having the domain name abcnews.com. If, the "news" key is pressed while a CNN card is inserted in the card reader, software downstream from the card reader can generate a query to the web server having the domain name cnn.com. If no card is inserted in the card reader, software downstream from the card reader preferably sends a query to a default location, as specified by the key or area being pressed and any user preferences, as will be discussed in more detail below.
According to another aspect of the invention, the mapping module 204 can comprise a card reader adapted to generate card insertion and removal signals when a card is inserted or removed, respectively. These signals can be transmitted to the portal client computer 104. In response to the card insertion signal, the portal client software 102 can generate a query containing web page access information specified by the signal. For example, if the card is an eBAY.com card, the portal client software 102 might query the web server corresponding to the domain name eBAY.com to access the eBay.com home page. Similarly, when a card is removed, client software 102 can query a default web server or web servers to display a default web page. In an alternative embodiment of the invention, the portal client software 102 can communicate card insertion and removal signals to portal server software 106. The card insertion and removal signals can indicate the card type to the portal server software. The portal server software can then generate a query to a web server for a web page corresponding to the card type.
Exemplary User Interface and Detector Circuitry
Figure 2(a) illustrates exemplary user interface and detector circuitry that can be included in the user interface 200 and the processing and communication circuit 202. In Figure 2(a), the user interface 200 comprises a keypad 220 including a plurality of keys 222. Each of the keys 222 includes an indicium associated with a web page or a plurality of web pages. For example, the indicium on each key can include a company identifier, a web page identifier, a product or service category identifier, or other indicium for facilitating user access to a web page or a plurality of web pages. The user interface 200 can include any electrical, mechanical, electromechanical, or other mechanism for detecting when a user presses a key and for determining which key has been pressed. In the illustrated embodiment, the user interface 200 includes a matrix of row conductors 224 and column conductors 226 that underlies the keys on the keypad. A plurality of switches S, - Sn can be connected between the row conductors 224 and the column conductors 226. For example, there can be a single switch corresponding to each key 222 on the keypad 220. The row conductors 224 are electrically isolated from the column conductors 226 until one of the keys 222 is pressed.
A detector 228, which can be included in the processing and communication circuitry 202, can be connected to the row conductors 224 and the column conductors 226 for detecting closure of one of the switches S.,-Sn, identifying the key being pressed. The detector 228 can be variously configured. For example, the detector 228 can comprise hardware, software, or any combination of hardware and software that scans the keypad matrix to identify a key being pressed. To scan the matrix, the detector 228 can be adapted to sequentially or randomly generate electrical signals on the row conductors or the column conductors. The detector 228 can also be adapted to receive return signals from the row conductors or the column conductors when a key is pressed. If the detector 228 is adapted to transmit signals on the row conductors 224, then the detector 228 is preferably adapted to receive signals on the column conductors, and vice versa. In the illustrated embodiment, the detector 228 drives a transmitter 230 connected to the row conductors 224 for transmitting scanning signals on the row conductors 224. The detector 228 monitors signals output from a receiver 232 connected to the column conductors 226 for receiving return signals from the column conductors 226. When a key is pressed by the user, the switch corresponding to the key being pressed is closed. The transmitter 230 transmits signals, e.g. sequentially, randomly, or in a predetermined order, on the row conductors 224 under control of the detector 228. When the transmitter 230 transmits a signal on the row conductor connected to the switch corresponding to the key being pressed, the receiver 232 detects the return signal on the column conductor connected to the switch and forwards the return signal to the detector 228. Because the detector 228 knows the row conductor on which the transmission occurred and the column conductor on which the return signal was detected, the detector 228 can identify the key being pressed. Once the detector identifies the key being pressed, the processing and communication circuitry 202 preferably generates a key code indicative of the key being pressed. The key code can be a number or other identifier that uniquely identifies a key. The key code can be transmitted to the portal client computer 104 in any suitable manner, as discussed above.
Mapping Module
Figure 2(b) illustrates a mapping module according to an embodiment of the present invention. In the illustrated embodiment, the mapping module
204 includes a card reader 240 for reading a bar codes 242 and 244 on a card 246 insertable into the card reader 240. The card reader 240 includes one or more optical sensors 248 and 250 for reading the bars in the bar code and outputting electrical signals indicative of the code. The optical sensor 248 is positioned to read bar code 242 on the card 246, which includes data, such as a card identification code. Accordingly, the optical sensor 248 is preferably connected to a data input of the processing and communication circuitry 202. The optical sensor 250 is positioned to read the bar code 244, which includes sync bits for synchronizing the reading of the bar code 242. Accordingly, the optical sensor 250 is preferably connected to a sync input of the processing and communication circuitry 202. The present invention is not limited to having the bar code 242 on the top of the card and the bar code 244 containing synchronization bits on the bottom. In an alternative embodiment, the bar code 242 could be on the bottom and the bar code 244 could be on the top. In addition, either or both of the bar codes 242 and 244 can be replaced by a magnetic strip, an eprom, or any other information-bearing medium.
The bar code 244 includes translucent or non-reflective areas 246 and opaque or reflective areas 248. When the user inserts a card into the card reader 240, the translucent or reflective areas and the opaque or reflective areas pass the optical sensor 250 and the bar code 242 passes the optical sensor 248. Transitions from areas 246 to areas 248 produce rising edges, i.e., a clock signal, on the sync input of the processing and communication circuitry 202. The rising edges generate interrupts to the processing and communication circuitry 202. The interrupts cause the processing and communication circuitry 202 to read and process the data bits in the bar code 242. In the illustrated embodiment, the bars in the bar code 242 must be correctly aligned with transitions in the bar code 244 so that data bits are read at the correct time. The processing and communication circuitry 202 preferably executes a software routine for reading the data from the bar code 242. For example, the barcode 242 can include a preamble portion, a data portion, and a postamble portion. The processing and communication circuitry 202 uses the preamble portion to detect card insertion. For example, the preamble portion can be a bit sequence, such as "0101". If this sequence is detected as an initial pattern, i.e., when the card reader is activated, the processing and communication circuitry 202 determines that a card is being inserted. As stated above, upon detection of card removal, a query can be sent to a default web server for accessing a default web page for the card. If the initial pattern detected by the processing and communication circuitry 202 is not an initial pattern, the processing and communication circuitry
202 determines whether the initial pattern is the postamble portion in reverse, indicating that a card is being removed from the card reader. For example, if a valid postamble pattern is "0011", and the card reader detects "1100", the processing and communication circuitry 202 determines that a card is being removed. As stated above, upon detection of card removal, a query can be sent to a default web server for displaying a default web page for the card.
If the processing and communication circuitry 202 detects any other initial pattern, the processing and communication circuitry 202 determines that the preamble is invalid and takes appropriate action. For example, invalid patterns can cause the processing and communication circuitry 202 to enter a timeout period during which all data is ignored. The processing and communication circuitry 202 can also reset data variables for storing data read from the bar code 242. After waiting for a predetermined time period, the processing and communication circuitry 202 can return to waiting for a valid preamble or postamble.
Data is only considered valid if the optical sensors scan a valid preamble, e.g., "0101 ", the correct number of data bits, e.g., 24 bits or 32 bits, and a valid postamble "0011 ". When the card is fully inserted, the sync sensor 250 should be blocked. Therefore, a valid insertion event results in preamble, data, postamble, and sync blocked for extended time period. A valid removal consists of the reverse data sequence followed by sync path clear. Invalid card activity will trigger a card insertion event with invalid data, such as
"OxFFFFFFFF".
Once the processing and communication circuitry 202 determines that it has received valid data, the processing and communication circuitry 202 reads the data to determine the card identification code. The processing and communication circuitry 202 then transmits the card identification code, along with the key being pressed, to the portal client software 102 illustrated in Figure
1. The portal client software 102 uses the card identification code to vary the association between the keys on the keypad and one or more web pages, as will be discussed in more detail below.
The present invention is not limited to using a bar code and a bar code reader to vary the association between keys and web pages. For example, in an alternative embodiment of the present invention, the mapping module 204 can comprise magnetic card reader for reading a magnetic card that encodes the card identification code. In yet another alternative embodiment, the card can include a memory device and the processing and communication circuitry 202 can be adapted to read the card identification from the memory device. In yet another alternative embodiment of the invention, the card can comprise a smart card including a microprocessor and associated memory that can be used in performing secure e-commerce transactions using the hardware portal device. In such an embodiment, the mapping module 204 would include appropriate interface circuitry for communicating data between the smart card and the processing and communication circuitry 202. The present invention is not limited to a mapping module embodied in the portal device 100. For example, in an alternative embodiment of the invention, the mapping module can comprise a virtual card that can be downloaded to the portal client computer 104 from an external source, such as a friend's website. The virtual card can be read by the portal client software
102 executing on the portal client computer 104 to which the portal device 100 is attached. The portal client software 102 can receive the key code generated by the portal device 100 and use the information on the virtual card to generate the correct query, just as if a physical card had been inserted in the mapping module 204. For example, if the virtual card is an "ABC News" virtual card and the "news" key is pressed, the portal client software 102 can generate a query to "abcnews.com".
Portal Client Software Referring back to Figure 1 , the portal client software 102 executing on the portal client computer 104 receives user input from the portal device 100 and communicates with the portal server software 106 executing on the portal server computer 108 and with web servers 110. Figure 3 is a block diagram illustrating exemplary client software according to an embodiment of the present invention. In the illustrated embodiment, the portal client software 102 includes a device driver 300, a controller 302, and a browser 304. The device driver 300 receives signals including key codes, card identification codes, and card insertion and removal signals from the portal device 100, converts the signals to data recognizable by the controller 302 and writes the data into a memory location accessible by the controller 302. For example, if the portal device is configured to communicate with the portal client computer 104 using the USB interface of the portal client computer 104, the device driver 300 can be configured to read a USB data stream and write data from the USB data stream to main memory of the portal client computer 104. The controller 302 receives the data from the device driver 300, formulates queries and passes the queries to the browser 304. The queries can comprise URL strings or other identifiers for accessing web pages.
Passing the query to the browser can be done in a number of ways, for example, using the COM interface, available in Microsoft WINDOWS® operating systems or directly invoking the browser with a command line argument, e.g., "netscape.exe www.abcnews.com".
The controller 302 preferably also directly passes information to the portal server software 106, without using a browser interface. This communication can be achieved using standard networking protocols, such as UDP or TCP, or using HTTP over TCP/IP. The portal client software 102 and the portal server software 106 can exchange information for a variety of reasons, including keeping the client software current, communicating user preference and identification information, preferably with the user's permission, to the portal server software, and for receiving information from the portal server software.
The controller 302 can also manage a portal client database 306 that stores user preferences for one or more users to influence the formulation of queries. For example, the portal client database 306 can include web page access information based on preferences of a single user on a plurality of users. The formulation of queries can be based on data received from the portal device 100, the portal server software 106, and/or the portal client database 306.
The browser 304 can be any type of web client adapted to forward queries to external machines and receive data from the external machines.
The browser 304 can also provide a graphical user interface for displaying information from the external machines to the user and allow the user to interact with the external machines. Exemplary browsers suitable for use with the present invention include Internet Explorer available from Microsoft Corporation and Netscape Navigator, available from America Online
Corporation.
The present invention is not limited to using a browser and a separate controllerforformulating queries and communicating with an external machine.
For example, the controller 302 and the browser 304 can be integrated within a single software module to communicate with the portal device 100, external machines, the user, and the portal client database 306.
Portal Server Software
Referring back to Figure 1 , the system forfacilitating user access to web pages using a portal device includes portal server software 106 executing on portal server computer 108 for communicating with portal client software 102 executing on portal client computer 104. Figure 4 illustrates the portal server software 106 in more detail. In the illustrated embodiment, the portal server software 106 includes a server application 400 that reads information from and writes information to a portal server database 402. The server application 400 can be any type of server capable of communicating with the portal client software 102 and/or the web servers 110 over a computer network. For example, the server application can be configured to communicate using
TCP/IP, UDP/IP, or HTTP over TCP/IP. Communication between the portal server application 400 and external devices will be discussed in more detail below.
The portal server database 402 comprises information regarding users and web page names access information for each user. For example, the portal server database 402 can store information regarding user preferences, and information for mapping key codes and card codes to web page access information. The portal server application 400 is preferably capable of storing information regarding users in the portal server database 402 and extracting web page access information from the portal server database 402 using information received from the portal client software 102. Communication Methods
Figure 5 is an exemplary partial block/partial flow diagram illustrating an exemplary method for facilitating user access to web pages according to an embodiment of the present invention. The blocks have the same general structure and functions as described above, and thus this discussion need not be repeated. The arrows connecting the blocks indicate message flows between the blocks in an exemplary method forfacilitating user access to web pages using a portal device. The number beside each arrow indicates the order in which the message occurs. The message flow will be explained as a series of steps performed by the various devices according to the present invention. The steps can be implemented by hardware, software, or a combination of hardware and software.
In step 1 , the portal device 100 detects that a key or an area is being pressed or otherwise actuated by the user and formulates a key press package to the portal client software 102. The key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device code indicative of the portal device 100. The device code and the card code are optional and need not be sent. In step 2, the portal client software 102 sends a user identification code, a password, and the key press package to the portal server application 400. The user identification code and the password can be received from the user when the user invokes the portal client software 102. Sending the user identification code and password to the portal server application 400 is optional. However, in a preferred embodiment, this data is sent to allow the portal server application 400 to authenticate the user and collect information regarding the user.
In step 3, the portal server application performs user authentication by verifying that the password is correct for the user identification received with the password and requests user data from the database. For example, the portal server application can perform a table lookup in the database 402 using the key code, the card code, and/or the device code to extract web page access information for the web page that the user desires to access. The portal server application 400 can also record user information, such as the web page that the user is accessing. To obtain permission from the user to record and sell his or her information, the portal client software 102 can display an agreement to which the user must agree before the software can be successfully installed.
Alternatively, the user can be prompted during authentication of his or her user identification code and password as to whether or not the user consents to the recording and selling of his or her identification and preference information. If the user consents to the recording of his or her identification and preference information, the information can be stored in the database 400. If the user does not consent, the user identification and preference information are preferably not stored in the database 402.
In step 4, the portal server application 400 forwards the web page access information for the web page or pages that the user desires to access to the portal client software 102. The web page access information can be transmitted in HTTP format such that the web page or pages corresponding to the web page access information can be displayed by the browser. If web page access information for a plurality of web pages is communicated to the portal client software 102, the portal client software 102 can display a list of web pages to the user. The list can be in the form of an index page that includes a plurality of links to the web pages that the user desires to access. In step 5, the portal client software 102 transmits a query to the appropriate web server 110 based on the user's selection from the list of web pages or, if a single web page was requested, based on the web page access information received from the portal server software 102. In step 6, the selected web server 110 returns a response containing the desired information to the portal client software 102. For example, the response can contain data for displaying a web page on a display device connected to the portal client computer 104.
The embodiment illustrated in Figure 5 illustrates exemplary steps by which information entered by the user through a portal device is used to access a web page of interest. All the user is required to do is press a key, and the appropriate information is extracted from the portal server, returned to the portal client application, and used to access the desired web page.
Figure 6 illustrates an alternative method for facilitating user access to web pages according to an embodiment of the present invention. In Figure 6, the portal client software 102 accesses information in the portal client database 306 to facilitate user access to web pages.
In step 1 , the portal device 100 detects that a key or an area has been pressed or otherwise actuated by the user and formulates a key press package to the portal client software 102. The key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device identifier that identifies the hardware portal device. The device identifier and the card identifier are optional and need not be sent. In step 2, the portal client software 102 extracts user profile information from the portal client database 306 and/or updates user profile information in the portal client database 306. The user profile information can include geographic information, such as a postal code, for the user, or user preference information, for facilitating access to web pages. To update user profile information in the portal client database 306, the portal client software can transmit the user identification information, and optionally a password, and the key press package to the portal client database 306.
In step 3, the portal client software 102 transmits the key press package and any user profile information, such as the postal code, to the portal server application 400. As stated above, the transmission can be in TCP/IP format,
UDP/IP format, or HTTP over TCP/IP format.
In step 4, the portal server application 400 updates profile information in the database 402, if changes have occurred to the information in the portal client database 306. If the user profile information has not changed, in step 5, the portal server application 400 requests that one of the web servers, as specified by the key press package and any user profile information, transmit information to the portal client application, e.g., using the HTTP redirect command. In step 6, in response to the re-direct command, the accessed web server transmits data to the portal client application to allow the user to view the desired web page.
Thus, unlike the embodiment illustrated in Figure 5, the embodiment illustrated in Figure 6 does not require that the portal server software communicate the web page access information back to the portal client software before the web page can be accessed. The user's request is processed by the portal server software, which directs the appropriate web server to send data to the client. In addition, client information can still be collected in the portal server database, since the original request from the protocol client software is transmitted through the portal server software. Figure 7 illustrates another embodiment of the present invention for facilitating user access to web pages. Like the embodiment illustrated in Figure
6, the portal client software includes the portal client database 306 for storing user profile information. However, unlike the embodiment illustrated in Figure 6, the portal client software 102 communicates directly with one or more of the web servers 110 to access a desired web page.
In step 1 , the portal device 100 detects that a key or an area has been pressed or otherwise actuated by the user and transmits a key press package to the portal client software 102. The key press package can include a key code indicative of the key being pressed, a card code indicative of a card inserted in the mapping module, and a device code indicative of the hardware portal device. The device code and the card code are optional and need not be sent.
In step 2a, the portal client software 102 extracts user profile information from the portal client database 306 and updates user profile information in the portal client database 306. The user profile information can include geographic information, such as a postal code, for the user, or user preference information, such as web page access information for the user, forfacilitating access to web pages. To update user profile information in the portal client database 306, the portal client software 102 can transmit the user identification information, an optional password, and the key press package to the portal client database 306.
In step 2b, the portal client software 102 formulates a query to one of the web servers based on at least one of, the key press package, the user profile information extracted from the database 306, the card ID, and the device ID. The query can be in any suitable format, e.g., TCP/IP format, UDP/IP format, or HTTP over TCP/IP format.
Concurrently with step 2b, the portal client software can transmit user profile information to the portal server application 400 so that the portal server application 400 can update user profile information in the database 402 (step
2c). The portal server application 400 can also determine whether the user profile information is current by accessing portal server database 402, and, in step 2d, send updates to the user profile information to the client side, e.g., to notify that the client that a web page in the client's personal profile has been moved or that a key mapping has been changed. An example of a change in key mapping is a change in the default mapping of the "news" key changes from "abcnews.com" to "cnn.com". Because the portal server application 400 and the portal client software 102 preferably interact to maintain consistency between the databases 306 and 402, the information in both databases is kept current. In step 3, the web server 110 contacted by the portal client software
102 transmits the requested information to the portal client software 102.
Thus, the embodiment illustrated in Figure 7 includes the advantages of direct client access to a web page, while still allowing updating of user profile information on both client and server sides.
Configuration File Updates In an alternative embodiment of the invention, updates to user profile information can be accomplished by the portal client software 102 downloading from the portal server application 400, preferably over HTTP, the latest version of a configuration file containing the user profile information. Each configuration file contains a version number such as "version=1". The portal client software 102 can determine the version number of the configuration file currently in use. The portal client software 102 calculates the next version of the configuration file in sequence by incrementing the version number of the current configuration file by a predetermined increment. For example, if the current version is 1 , and the increment is 1 , the next file can be version 2. The portal client software 102 determines whether a configuration file update is needed by checking for the next version of the file in sequence, stored in a directory on the portal server computer 108 associated with that version. If the next version of the configuration file exists, the portal client software 102 downloads and installs the file. If the file does not exist, the portal client software 102 knows that the configuration file currently in use does not require updating. For example, a configuration file might be named "config.txt", the portal client software 102 might currently be using version 2 of the configuration file, and the increment might be 1. On the portal server computer 108, configuration files are stored in directories called: "/configurations/versions/1", "/configurations/versions/2", etc. Since the portal client software 102 has version 2, it creates an HTTP request for the next version of the file. In this example, the request might be: http://www.planetportal.eom/configurations/versions/3/config.txt. The request can be sent as an unmodified HTTP request to the portal server application 400. If the portal server application 400 responds "file not found", the portal client software 102 knows that it has the latest version of config.txt.
However, if version 3 exists, it will be downloaded to the portal client software
102 in response to the request, and the portal client software 102 can install it.
The process of checking for updates can be combined in a novel manner with the process for conveying information to the portal server, as illustrated by step 2c in Figure 7. Specifically, when the portal client software
102 requests: http://www.planetportal.eom/configurations/versions/3/config.txt the portal client software 102 can append the user profile information as parameters in the URL. For example, the URL above can become: http://www.planetportal.com/configurations/versions/3/config.txt?&userlD=da vid&buttonlD=7&cardlD=2
When this request reaches the portal server application 400, the portal server application 400 can automatically log the request to a log file. Logging HTTP requests to a log file is a standard web server function, which is preferably included in the portal server application 400. Thus, both the updating of the client files and the logging of the user's request is accomplished with a single request. Furthermore, the logging operation requires no additional server code to be written; rather, it uses the logging function of a portal server application 400 in a novel way.
As a result of this process for downloading configuration file updates, the portal client software 102 can be informed of newer file versions without server intervention or new server code, beyond what exists in a standard web server. Hybrid Communication Methods
As described above with respect to Figure 6, according to one embodiment of the invention, signals generated by the portal device are redirected through the portal server application 400 to a web server. More particularly, the portal client software 102 transmits a key press package to the portal server application 400 based on the key pressed on the portal device
100. The portal server application 400 then transmits a redirect message to the appropriate web server, and the web server responds directly to the portal client software 102. In another embodiment, for example as described with respect to Figure 7, the portal client software 102 generates a query directly to the web server 110 and uploads user profile information to the portal server application in parallel with loading the web page or pages. In yet another alternative embodiment, a hybrid method for facilitating user access to web pages can combine the steps illustrated in Figures 6 and 7. That is, the portal client software 102 can send a query directly to a web server and concurrently send the user profile information to the portal server application 400. For example, a method for facilitating user access to web pages can begin by executing the steps illustrated in Figure 7. However, if the portal server application 400 experiences difficulty, e.g., a predetermined time period elapses, in receiving the user profile information from the portal client software 102, the method can include executing the steps in Figure 6. That is, the portal client software can transmit a request for accessing a web page to the portal server application 400. The portal server application 400 can then update its database by automatically logging the request, as described above. As a result, collection of user profile information can be reliably performed.
Portal Device Physical Configuration
Figure 8 illustrates an exemplary portal device physical configuration according to an embodiment of the present invention. In the illustrated embodiment, the portal device includes a housing 800 for housing the portal device circuitry. A cable 802 extends from the housing for connecting the internal circuitry to an external computer. In the illustrated embodiment, the cable 802 is a USB cable for connecting to the USB port of the portal client computer. The housing includes a card slot 804 for receiving a card 246.
A keypad 220 is located in open area 806 of the housing 800. The keypad includes a plurality of keys 222a - 222c, each including indicium related to web pages that a user can desire to access. For example, keys, such as the key 222a, each have an indicium, such as "jobs", "tickets", or "music" for accessing categories of web pages. Keys, such as the key 222b, each include an indicium, such as "Dominos", "AT&T", or "eBAY", that indicates company names or logos. Finally, keys, such as keys 222c, include generic indicia that correspond to specific indicia 808 on the card 246. In other words, the indicia
808 on the card 246 indicates the function of the indicia on the keys 222c. The function of the keys 222c change according to the card 246 inserted in the slot
804.
Figure 9 illustrates exemplary embodiments of the card 246. In the
illustrated embodiment, cards 246a-246d each include different indicia 808a-
808d for indicating different functions of the keys 222c. Cards 246a-246d also include different company identifiers 810a-810d indicative of the company accessed by the portal device when the card is inserted in the portal device and the user presses one of the keys 222c. Although the cards can be any of the types of cards described above, in the illustrated embodiment, the cards include bar codes 242a-242d for instructing software downstream from the cards 242a-246d to alter the function of the keys 222c on the portal device. An exemplary mechanism for altering the function of the keys 222c is described in detail above and need not be repeated herein. For example, card 246a is a Barnes & Noble card. When the user inserts the card 246a in the portal device and presses one of the keys 222c labeled "home", the portal device causes the portal client software to access "barnesandnoble.com". Similar functionality is provided by the cards 246b-246d. In addition, the barcodes on the cards 246a-246d can cause the generation of card insertion and removal signals that result in queries to default web pages for each of the cards. Thus, a user can have a single portal device and a plurality of cards. As a result, the portal device can be easily reconfigured, simply by placing a new card in the card slot, according to the web page or pages that the user desires to access.
Business Methods Using Portal Device
According to another aspect, the present invention includes methods of doing business using portal devices. For example, a company that distributes portal devices can sell key space on the portal device to other companies. When a company buys key space on the portal device, an indicium of the company is placed on one or more keys on the keypad. In addition, the portal client software and/or the portal server software is configured to generate queries to the purchasing company's web page or pages when the key or keys owned by the company are pressed. The portal device and the portal client software are then distributed to a plurality of users. Although the portal devices and the portal client software can be sold to the users, in a preferred business method according to the invention, the portal devices and the portal client software are distributed to users without charge. Distributing the portal devices and portal client software to users without charge increase the number of users of portal devices. Accordingly, web page hits will increase for companies that own key space on the portal device. Like the portal devices, the cards 246a- 246d can be distributed to users with or without charge to the end users to increase hits to company-sponsored web pages.
According to an alternative embodiment of the present invention, a method for doing business can include charging companies for mapping web page names to default buttons. For example, the portal device can include a default key labeled "news". A company, such as CNN, can pay for the right to have the news button mapped to cnn.com. Users can modify the default selection, but CNN will be the default for the news button. For example, portal client software 102 can present a list of news selections to the user with CNN being the first selection in the list. The mapping of the news button to cnn.com can be performed using any of the methods described above. Similarly, in the list of choices presented to the user other than the default choice, e.g., ABC News or MSNBC, each slot can be sold to companies with lower slots commanding a lower price. Thus, the present invention provides improved methods for increasing hits to web pages and for generating revenue based on the increased hits.
It will be understood that various details of the invention can be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation--the invention being defined by the claims.

Claims

CLAIMSWhat is claimed is:
1. A method for facilitating user access to web pages using a portal device, the method comprising: (a) receiving, at a portal client computer, a key code generated by a portal device indicative of a key being pressed by a user for accessing a web page;
(b) transmitting a query over a network for accessing the web page based on the key code; (c) updating information pertaining to the user or user preferences based on the query; and (d) receiving the web page from a web server based on the query.
2. The method of claim 1 wherein transmitting a query over a network comprises transmitting a first query to a portal server computer, the first query including the key code.
3. The method of claim 2 comprising receiving a response from the portal server computer based on the key code, the response including web page access information for the web page.
4. The method of claim 3 comprising transmitting a second query over the network for accessing the web page specified by the web page access information.
5. The method of claim 2 wherein, in response to the first query, the portal server computer transmits a redirect message to the web server for accessing the web page based on the key code and the web server sends the web page to the portal client computer.
6. The method of claim 1 further comprising accessing a database using the key code to obtain web page access information for the web page and wherein transmitting a query over a network comprises transmitting a first query from the portal client computer to the web server for accessing the web page specified by the web page access information.
7. The method of claim 1 wherein updating information pertaining to the user or user preferences includes transmitting information pertaining to the user or user preferences to a portal server computer and storing the information in a database managed by the portal server computer.
8. The method of claim 1 wherein updating information pertaining to the useror user preferences includes receiving information pertaining to user preferences from a portal server computer and storing the information pertaining to user preferences in a database managed by the portal client computer.
9. The method of claim 1 wherein updating information pertaining to the user or user preferences includes storing the information in a first database managed by the portal client computer and in a second database managed by a portal server computer connected to the portal client computer over a network.
10. The method of claim 6 wherein updating information pertaining to the user or user preferences comprises transmitting user preference information from the portal client computer to a portal server computer independently of transmitting the query to the web server, and, in response to failing to receive the user preference information at the portal server computer within a predetermined time period, transmitting a second query containing the user preference information to the portal server computer.
11. The method of claim 1 wherein transmitting a query over a network includes transmitting the query to a portal server computer, the query including web page access information for the web page and user identification information, and wherein updating information pertaining to the user comprises logging the query in a log file associated with the portal server computer.
12. The method of claim 10 wherein the second query comprises an
HTTP query and the user identification information is embedded in the HTTP query.
13. A computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising:
(a) receiving, at portal client computer, a key code generated by a portal device indicative of a key being pressed by a user for accessing a web page;
(b) transmitting a query over a network for accessing the web page based on the key code;
(c) updating information pertaining to the user or user preferences based on the query; and
(d) receiving the web page from a web server based on the query.
14. The computer program product of claim 13 wherein transmitting a query over a network comprises transmitting a first query to a portal server computer, the first query including the key code.
15. The computer program product of claim 14 comprising receiving a response from the portal server computer based on the key code, the response including web page access information for the web page.
16. The computer program product of claim 15 comprising transmitting a second query to the web server for accessing the web page specified by the web page access information.
17. The computer program product of claim 13 wherein updating information pertaining to the user or user preferences includes transmitting information pertaining to the user or user preferences to a portal server computer and storing the information in a database managed by the portal server computer.
18. The computer program product of claim 13 wherein updating information pertaining to the user or user preferences includes receiving information pertaining to user preferences from a portal server computer and storing the information pertaining to user preferences in a database managed by the portal client computer.
19. The computer program product of claim 13 wherein updating information pertaining to the user or user preferences includes storing the information in a first database managed by the portal client computer and transmitting the information to a portal server computer for storage in a second database managed by the portal server computer.
20. The computer program product of claim 13 wherein transmitting a query over a network includes transmitting the query to a portal server computer, the query including web page access information for the web page and user identification information, and wherein updating information pertaining to the user comprises logging the query in a log file associated with the portal server computer.
21. The computer program product of claim 13 wherein the query comprises an HTTP query and the user identification information is embedded in the HTTP query.
22. The computer program product of claim 13 wherein: transmitting a query over a network includes transmitting a first query to the web server for accessing the web page; and updating information pertaining to the user or user preferences comprises transmitting the information to a portal server computer, and in response to failing to receive the information at the portal server computer, transmitting a second query including information to the portal server computer.
23. A portal device for facilitating user access to web pages comprising: (a) a user interface having a plurality of keys or areas for receiving user input regarding a web page or web pages that a user desires to access, each key being associated with a web page or a plurality of web pages; (b) processing and communication circuitry operatively associated with the keys or areas for identifying a key or area being actuated by a user, producing a key code indicative of the key or area, and forwarding the key code to a computer; and (c) a mapping module for producing information for varying the association between at least some of the keys or areas and web pages.
24. The portal device of claim 23 wherein the mapping module comprises a card reader coupled to the processing and communication circuitry for reading codes from cards associated with the card reader, wherein the codes are used for varying the association between the keys or areas and web pages.
25. The portal device of claim 24 wherein the card reader comprises a bar code reader for reading bar codes containing information for varying the association between at least some of the keys or areas and web pages.
26. The portal device of claim 24 wherein the card reader comprises a magnetic card reader for reading magnetically encoded information for varying association between at least some of the keys or areas and web pages.
27. The portal device of claim 24 wherein the card reader comprises a memory card reader for reading information stored in a memory card for varying the association between at least some of the keys or areas and web pages.
28. The portal device of claim 24 wherein the card reader is adapted to generate a query for accessing a web page in response to at least one of insertion or removal of the card.
29. The portal device of claim 23 wherein the mapping module comprises a smart card interface for receiving information from a smart card for varying the association between at least some of the keys or areas and web pages.
30. The portal device of claim 23 wherein the mapping module comprises a virtual card downloadable from a web server for varying the association between at least some of the keys or areas and web pages.
31. A method for generating revenue and for increasing hits to company sponsored web pages, the method comprising:
(a) selling key space on portal devices to companies, the key space including a key or an area having a company or product identifier and being adapted to produce a code for generating a query to a company-sponsored web page; and
(b) distributing the portal devices to users to increase hits to the company-sponsored web page accessible using the key or area on the portal devices.
32. The method of claim 31 wherein distributing the portal devices to users includes distributing the portal devices to the users without charge to the users.
33. The method of claim 31 wherein distributing the portal devices to users includes selling the portal devices to the users.
34. The method of claim 31 comprising recording user identification information and user preference information generated by the portal devices.
35. The method of claim 34 comprising selling the user identification and preference information.
36. The method of claim 31 comprising distributing cards to users having company or product identifiers, wherein the cards are insertable in the portal devices for modifying the portal devices to access web pages relating to the company or product identifiers on the cards.
37. A method for increasing hits to a web page, the method comprising:
(a) in a portal device, generating, in response to insertion of a card in a card reader associated with the portal device, a first signal for accessing a first web page;
(b) transmitting the first signal from the portal device to a portal client computer coupled to the portal device; and
(c) transmitting, from the portal client computer, a first query for accessing the first web page based on the signal.
38. The method of claim 37 further comprising:
(d) in the portal device, generating, in response to removal of the card from the card reader, a second signal for accessing a second web page;
(e) transmitting the second signal from the portal device to the portal client computer; and (f) transmitting, from the portal client computer, a second query for accessing the second web page based on the second signal.
39. A method for updating user configuration files for mapping keys associated with a portal device to web page access information, the method comprising: at a portal client computer:
(a) reading a version number of a configuration file for mapping keys associated with a portal device associated with the portal client computer to web page access information;
(b) incrementing the version number by a predetermined increment;
(c) transmitting a query to a portal server computer based on the incremented version number; at the portal server computer:
(d) receiving the query from the portal client computer;
(e) searching for an updated configuration file based on the incremented version number; and
(f) in response to locating the updated configuration file, transmitting the updated configuration file to the portal client computer.
40. The method of claim 39 comprising, in response to failing to locate the updated configuration file, transmitting a file not found message to the portal client computer.
41. The method of claim 39 wherein transmitting the updated configuration file to the portal client computer includes transmitting an updated configuration file including information for mapping keys associated with the portal device to web page access information.
42. A method for generating revenue and for facilitating user access to web pages, the method comprising:
(a) distributing a plurality of portal devices to a plurality of users, each portal device including at least one key having an indicium indicative of a category of goods, services, or entertainment; (b) providing a default mapping between the key and a web page; and
(c) charging a company associated with the web page for providing the default mapping.
43. The method of claim 42 comprising providing a plurality of alternative mappings between alternative web pages and the key and charging companies associated with the alternative web pages for providing the alternative mappings.
PCT/US1999/026859 1999-09-23 1999-11-12 Methods and systems for facilitating user access to web pages using portal device WO2001022283A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000582469A JP2002535741A (en) 1999-09-23 1999-11-12 User access to web pages using portal devices
EP99958946A EP1203325A1 (en) 1999-09-23 1999-11-12 Methods and systems for facilitating user access to web pages using portal device
AU16213/00A AU1621300A (en) 1999-09-23 1999-11-12 Methods and systems for facilitating user access to web pages using portal device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15602099P 1999-09-23 1999-09-23
US60/156,020 1999-09-23

Publications (1)

Publication Number Publication Date
WO2001022283A1 true WO2001022283A1 (en) 2001-03-29

Family

ID=22557745

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/026859 WO2001022283A1 (en) 1999-09-23 1999-11-12 Methods and systems for facilitating user access to web pages using portal device

Country Status (4)

Country Link
EP (1) EP1203325A1 (en)
JP (1) JP2002535741A (en)
AU (1) AU1621300A (en)
WO (1) WO2001022283A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2773082A1 (en) * 2013-02-28 2014-09-03 Gemalto SA Method for allowing a web server to detect the logout of a distant token
US11900948B1 (en) * 2013-08-01 2024-02-13 Amazon Technologies, Inc. Automatic speaker identification using speech recognition features

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146398A (en) * 2007-11-22 2009-07-02 Shinsedai Kk Automatic access system, host computer, device, response device, automatic access method, computer program, and recording medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892905A (en) * 1996-12-23 1999-04-06 International Business Machines Corporation Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web
US5907831A (en) * 1997-04-04 1999-05-25 Lotvin; Mikhail Computer apparatus and methods supporting different categories of users

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892905A (en) * 1996-12-23 1999-04-06 International Business Machines Corporation Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web
US5907831A (en) * 1997-04-04 1999-05-25 Lotvin; Mikhail Computer apparatus and methods supporting different categories of users

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2773082A1 (en) * 2013-02-28 2014-09-03 Gemalto SA Method for allowing a web server to detect the logout of a distant token
WO2014131634A1 (en) * 2013-02-28 2014-09-04 Gemalto Sa Method for allowing a web server to detect the logout of a distant token
US11900948B1 (en) * 2013-08-01 2024-02-13 Amazon Technologies, Inc. Automatic speaker identification using speech recognition features

Also Published As

Publication number Publication date
EP1203325A1 (en) 2002-05-08
JP2002535741A (en) 2002-10-22
AU1621300A (en) 2001-04-24

Similar Documents

Publication Publication Date Title
US6836799B1 (en) Method and apparatus for tracking user profile and habits on a global network
CA2272585C (en) System and method for carrying out information-related transactions
US20060031411A1 (en) Document delivery
EP0913789B1 (en) Pre-paid links to networks servers
US7962845B2 (en) Method and apparatus for populating a form with data
KR100816629B1 (en) Member information registration method and system, and member verification method and system
US20080147883A1 (en) Accessing a vendor web site using personal account information retrieved from a credit card company web site
JP2002515149A (en) Automatic access of electronic information by machine readable code of printed documents
US10303661B2 (en) Data processing on a non-volatile mass storage device
WO2001053980A2 (en) Input device having positional and scanning capabilities
US20030074448A1 (en) Multimedia information system and computer program
US7930213B1 (en) Method and apparatus for completing, securing and conducting an E-commerce transaction
KR100856117B1 (en) Information providing system and method
US7386600B1 (en) Launching a web site using a personal device
US7493283B1 (en) Performing an e-commerce transaction from credit card account information retrieved from a credit card company web site
WO2001022283A1 (en) Methods and systems for facilitating user access to web pages using portal device
EP1018080A1 (en) Method for interfacing scanned product information with a source for the product over a global network
WO2001001280A2 (en) Method and system for sharing cookie information during internet transactions
JP3067714B2 (en) User support system, user support method, and recording medium recording user support program
WO2001079965A2 (en) Navigation server for use with, for example, a wireless web access device having a navigation control unit
WO2001015034A1 (en) Unique id for identifying a user and facilitating an e-commerce transaction
TW594541B (en) Method and apparatus for providing simplified access to the Internet
JP4231699B2 (en) Authentication device, authentication method, and program
WO2002031725A1 (en) Navigation device
KR100295560B1 (en) Download system and method for digital music file

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 16213

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1999958946

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1999958946

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999958946

Country of ref document: EP