Internet computer and method for connecting a computer to the Internet
The present invention relates to a method and a computer for providing Internet access to a user of the computer. More specifically, the present invention relates to a method for providing a network connection between a server computer and a client computer, comprising the steps of executing basic input/output system (BIOS) tasks for booting the client computer, starting up an operating system of the client computer and starting up a software program for establishing the network connection.
In a further aspect, the present invention relates to a client computer for providing Internet access to a user, the client computer comprising processor means, memory means connected to the processor means, and at least one peripheral equipment connected to the processor means for connecting the client computer to a server computer of an Internet service provider, the client computer further comprising nonvolatile memory means with a read-only part comprising basic input output system (BIOS) instructions.
General purpose computers, such as Personal Computers (PC) and the like, are able to run software programs that allow the user to connect with an Internet service provider, e.g. via a modem connection with the server computer of the Internet service provider. These software programs (browsers), in general, are configurable by the user, in order to be able to connect to various Internet service providers and various home pages. In certain situations, a home page provider may want a user to only use that home page or portal, as usually this generates income for the home page provider, e.g. by showing commercial messages on the home page/portal. In known computer systems, however, the user is completely free in choosing in what way, via what Internet service provider he connects to a home page or portal on the Internet. Some Internet service providers provide browser programs, which will pre-set certain parameters on installation, such as the starting page of the Internet browser. However, once the installation is complete, nothing prevents the user from altering these parameters. The present invention, therefore, seeks to provide a computer system and a method to assure that an Internet connection will always be established via a preferred Internet home page or portal.
To achieve this, the present invention provides a method according to the preamble of claim 1, in which the method comprises the further steps of performing a validity check on at least one validity parameter of the client computer after executing the BIOS tasks, and, if the validity check fails, decreasing the client computer performance, and receiving validity data from the server computer by the client computer after the network connection has been established, and setting the at least one validity parameter in accordance with the validity data.
The method according to the present invention will allow an Internet service provider to assure that the client computer being used to establish a network connection will only operate properly once a validity check has been made. This method will work an any client computer, regardless of operating system or browser program used. The associated at least one validity parameter may be a client computer cycle counter, the validity check comprising a check whether the client computer cycle counter is lower than a predetermined client computer cycle counter value. Alternatively, the at least one validity parameter may be a client computer timer, the validity check comprising a check whether the client computer timer is lower than a predetermined client computer timer value. In a further alternative embodiment the at least one validity parameter comprises a date of last use and the validity check comprises a check whether the date of last use is within a predetermined number of days from the actual date. Of course it is also possible to use a combination of these validity parameters and validity checks.
In one embodiment, the client computer performance is decreased by presenting a message on the client computer for a predetermined period of time. This message may comprise a warning that the client computer performance is degraded and urge the client to connect with the desired home page or portal. In an alternative embodiment, the client computer performance is decreased by pausing the client computer for a predetermined time period. In a further alternative embodiment, the client computer performance is degraded by slowing down the network connection, e.g. by limiting the baud rate of a modem. It will be clear that a combination of the above mentioned embodiments is possible. Preferably, a plug-in software program is present on the client computer, the plug-in software program comprising computer executable instructions to change the settings of the validity parameters in accordance with the validity data. The plug-in software program may be pre-installed on the client computer, or downloaded from the
desired home page or portal. This allows the home page provider to flexibly control the usage pattern of the client computer.
In a further embodiment the method comprises the further steps of receiving a client code from the client computer by the server computer after establishment of the connection, if the client code matches a predetermined list of client codes, sending the validity data to the client computer, and, if the client code is not on the list of predetermined client codes continuing the network connection without sending the validity data. In this way, it is possible to check the identity of the client computer before sending the validity data, and to effectively create a penalty for that client computer when failing the test. In a further embodiment, the validity data is sent after a predetermined amount of connection time. This allows a minimum amount of connection time to be chosen before sending the validity data to the client computer.
In a further embodiment the method comprises the further steps of receiving a server code from the server computer by the client computer and setting the at least one validity parameter in accordance with the validity data if and only if the server code matches a predetermined server code. This allows an additional check by the client computer concerning the identity of the server computer before executing the plug-in software program.
In a further embodiment, the method comprises the further step of executing secure transactions including a unique identifying code of the client computer. This allows identification of payments made via the Internet by a specific client computer.
In a still further embodiment, the method comprises the further steps of checking the home page setting of the client computer and if the home page setting of the client computer is not equal to a desired home page setting, altering the home page setting of the client computer to the desired home page setting. This embodiment allows a further possibility to ensure that the home page or portal used by the client computer is the desired home page or portal.
In a further aspect the present invention relates to a client computer according to the preamble of claim 10, in which the non- volatile memory means further comprise a rewritable part comprising instructions for performing a validity check on at least one validity parameter of the client computer after executing the BIOS instructions, and, if the validity check fails, decreasing the client computer performance, receiving validity data from the server computer by the client computer after a network connection has
been established, and setting the at least one validity parameter in accordance with the validity data.
Preferably, the rewritable part of the non-volatile memory further comprises instructions arranged to provide the client computer the functionality of the present method.
To allow secure transactions to be performed by the client computer, the client computer further comprises secure memory means connected with the processor means, for storing data relating to secure transactions.
In a still further aspect, the present invention relates to a computer program comprising computer readable instructions, for providing the functionality of the present method.
Finally, the present invention relates to a computer program product comprising a computer program according to the present invention.
The present invention will now be explained in further detail by description of a number of preferred embodiments, with referral to the accompanying drawings, in which:
Fig. 1 shows a schematic diagram of a client computer connected to a server computer;
Fig. 2 shows a flow diagram of the method according to the present invention as executed by the client computer; and
Fig. 3 shows a flow diagram of the method according to the present invention as executed by the server computer.
A company offers a high quality Internet connection, preferably by using a well- known Internet service provider. To make use of the services of the company, a customer will have to obtain a client computer 10 via the company. This is made possible by signing a contract, e.g. for a period of 36 month. The contract comprises a clause (a contractual obligation) to pay monthly a certain (low) price. Any person or company can apply for such a contract, however, the company may refuse an application. The client obtains the client computer 10 from the company free of charge or for a small (monthly) fee, the client computer 10 being arranged to enable access to the Internet and having all necessary software pre-installed. The client may also receive a credit card, which may be used for Internet payments, but also for other payments according to the general terms and conditions of the associated credit card company.
The amount monthly indebted by the client to the company will be credited from his/her credit card account.
The clients may be educated by the company in order to learn using the client computer 10 for accessing the Internet. This may be implemented by using the company home page or portal, sending study material by e-mail or by regular mail.
Alternatively, the clients may be addressed in big numbers using a dedicated television program or the like.
The client computer 10 supplied to the client has been modified such that the client will always be urged to establish a connection to the Internet via the company's home page or portal. This allows revenue to be generated by displaying advertisements on the home page or portal of the company. Also, revenue can be generated by establishing agreements with other Internet businesses, which may pay for clients being referred to their respective Internet pages. Whenever a client, who has reached a certain site via the company's site, decides to order a product or service from the other Internet business, the company may receive a provision (kickback) from that other Internet business for the referral service.
Fig. 1 shows a block diagram of a client computer 10 according to the present invention, being connected to a server computer 20 of an Internet service provider, which in its turn is connected to the Internet (or world wide web) 25. The client computer 10 comprises processor means 11, such as a single central processing unit, or a combination of multiple processors. The client computer 10 further comprises memory means 12, such as random access memory (DRAM, SDRAM, etc.) for use as memory during operation of the client computer 10. Furthermore, the client computer 10 comprises at least one peripheral equipment 13, such as a modem or Ethernet connection card, for providing a connection with a server computer 20 of the Internet service provider, via connection 19, such as a telephone line or a LAN-connection. As shown in Fig. 1, the client computer 10 in general comprises further subsystems, such as a hard disk drive and floppy drive 15, video driver card 17 for driving a display 18 and a keyboard 16, the various components being interfaced to the processor means 11 in a manner known to the person skilled in the art.
The client computer 10 further comprises a non- volatile memory 14, which comprises the basic input/output system (BIOS) instructions. The BIOS takes care of
the communications between the processor means 11 and numerous peripheral equipment, such as the hard disk drive and floppy drive 15, keyboard 16 and modem 13. The BIOS instructions actually form part of the boot system of the client computer 10, the BIOS being stored in non- volatile memory to enable start-up of the client computer 10. The BIOS provides the basic start-up routines to boot the client computer 10, i.e. to enable the processor means 11 to initialise other subsystems and software on the client computer 10 in order to obtain a computer system 10 in an operational state.
For this, the BIOS comprises a number of sections. First, the BIOS will enable a power on self test (POST) of the client computer 10 and booting of the operating system of the client computer 10, such that the client computer 10 is able to run further software programs. Furthermore, the BIOS provides an interface for the operating system to the other hardware subsystems and equipment in the client computer 10, e.g. in the form of a library of interrupt handlers. Other hardware subsystems and equipment that form the configuration of the client computer 10 comprise the keyboard 16, serial/parallel ports, video card 17, sound card, hard disk/floppy disk controllers 15 and the modem/Ethernet card 13.
The non- volatile memory 14 is preferably implemented as a battery backed CMOS-memory. Alternatively, the non-volatile memory may be an erasable programmable read-only memory, such as EEPROM or Flash-PROM. The non-volatile memory 14 storing the BIOS instructions may comprise two parts, a first part or boot block 21 comprising the normal BIOS instructions and instructions to check the validity of a second part 22, the second part or flashable part storing additional instructions and/or data which may be changed by reflashing during the lifetime of the client computer 10. In order to accomplish that a browser program on the client computer 10 will always start at the desired home page or portal of the company, the BIOS will comprise some additional instructions.
These additional BIOS instructions of the client computer 10 will be explained by reference to the flow diagrams of Fig. 2 and Fig. 3. In block 101, the client computer 10 executes the normal BIOS instructions, as present in the non-volatile memory 14.
In block 102, a validity check is performed on one or more validity parameters. The validity parameters may be used to check whether the client computer 10 is being used according to predetermined usage rules, such as minimum amount of connection
time with the server computer 20 of the Internet service provider, minimum frequency of use of the client computer for Internet browsing, maximum amount of use of the computer for purposes other than Internet browsing, etc. In a preferred embodiment, the validity parameters comprise a cycle counter, counting the number of times the client computer 10 is switched on and off. An alternative embodiment may comprise a timer measuring the time the client computer 10 has been switched on. In a further alternative, the validity parameters may comprise a date register, storing the date of last use of the client computer 10. The validity parameters may comprise further parameters and are preferably stored in the changeable part 22 of the non- volatile memory 14. Also, the changeable part 22 of the non- volatile memory 14 may comprise a client hexcode, uniquely identifying the client computer 10. Alternatively, the client hexcode is provided in a non-erasable memory.
The validity check of block 102 may comprise a plurality of checks. It may be checked that the cycle counter is below a predetermined value, or that a maximum of n days have lapsed since the last use of the client computer 10, or a combination of both.
When the validity check is negative, the client computer 10 performance is decreased in block 103. This may be accomplished by presenting a message on the client computer 10 for a predetermined period of time, e.g. urging the client to connect to the desired home page or portal. Performance degradation may also be accomplished by a slow start-up of the operating system, e.g. by introducing multiple waiting loops. A further alternative for decreased performance is to slow down the network connection, e.g. by decreasing the baud rate of the modem or Ethernet connection card 13. As an ultimate performance degradation the client computer 13 is halted. This situation can only be remedied by rebooting the client computer 10. When the validity check is positive, the start-up of the client computer 10 continues with unaffected performance in block 104, in which the operating system of the client computer 10 (such as Windows) is initialised, resulting in an operative client computer 10.
The next step is the establishment of the network connection between the client computer 10 and the server computer 20 of the Internet service provider (block 105). This may be implemented by the automatic initialisation (under operating system control) of an Internet browser software program. As part of the establishment of the network connection, the client computer 10 may request a log-in at the server computer 20 and, optionally, send its client hexcode to the server computer 20.
The steps executed by the server computer 20 of the Internet service provider after receiving the request are shown as a flow diagram in Fig. 3. In block 110, the server computer 20 receives the request for log-in and the client hexcode. The server computer 20 may check the client hexcode received in a list of client hexcodes associated with client computers 10 allowed to log-in at the server computer 20. If the client hexcode is on the list, the server computer 20 will send validity data to the client computer 10. If the client hexcode check fails, the server computer 20 will continue the network connection but will not send the specific client data (i.e. the validity data). In an alternative embodiment, the vahdity data and, optionally, the server hexcode, will only be sent after the client computer 10 has been connected to the server computer 20 for a predetermined amount of time.
In a further embodiment, the server computer 20 will also check whether the browser program of the client computer 10 is pre-set to the desired homepage. Normal browser programs allow a user to alter the starting page or home page, which is not desired for the present invention as explained above. Therefore, the server computer 20 checks the pre-set homepage of the client computer 10 (block 114), and if the homepage is the desired homepage, the flow diagram continues. When the homepage is different from the desired homepage, the server computer 20 will alter the homepage settings of the client computer (block 115) after which the network connection continues. The alteration of the home page by the server computer 20 may e.g. be accomplished using the additional instructions in the second part 22 of the non- volatile memory 14.
The continuation of the present method is further explained with reference to the flow diagram of Fig. 2. From the server computer 20, the client computer 10 receives the validity data and, optionally, a server hexcode. In the optional decision block 107, the client computer 10 may check the validity of the server code received from the server computer 20. If the check fails, the client computer 10 continues without using the validity data.
If the server code is correct, the client computer 10 sets the validity parameters in accordance with the validity data (block 108). Alternatively, the client computer 10 may comprise a small piece of software code, or a plug-in, comprising instructions to amend the validity parameters in the changeable part 22 of the non-volatile memory 14 of the client computer 10. The plug-in may be pre-installed or downloaded from the
company's home page. Depending on the agreement with the company, the plug-in may decrease the cycle counter or timer with a predetermined amount (allowing a fixed number of 'other' uses of the client computer), reset the cycle counter or timer, set the date register (last date of use) to the actual date, or a combination of the afore mentioned alternatives.
Using this mechanism, the client computer 10 receives a number of penalties when the client computer 10 is used for a purpose other than that agreed with the company. A penalty may be given for using the client computer 10 other than for browsing the Internet, or for a frequency of use below a predetermined frequency. These penalties may be (partially) cancelled when the client computer 10 is actually being used for browsing the Internet by means of the server computer 20 of the company.
In a further embodiment, the client computer 10 is further arranged to execute secure transactions via the Internet. For this, the client computer 10 further comprises secure memory means 23, which may form part of the non- volatile memory 14. In this secure memory means 23 data are stored for providing the functionality of an electronic wallet. Preferably, the client computer 10 is further arranged to execute secure transactions, e.g. by using the SET algorithm.
In a further embodiment the client computer 10 may be arranged to include a specific code (e.g. the client hexcode mentioned above) whenever the client performs a payment on the Internet, using the associated credit card. In an agreement with the credit card company, the company may receive revenue from each credit card payment made by the client.
By using a computer that is arranged to connect to the Internet exclusively via the company's home page or Internet portal, it is assured that the client will create revenue for the company in any of the above mentioned ways. This allows to offer the computer to the client for a very low monthly fee during a limited period of time (e.g. 3 years), which normally would not be sufficient to cover the costs of the computer and the associated services.