A Method of Accessing Application Data for a Peripheral Device
This invention relates to a method of accessing application data for a peripheral device, and also to a peripheral device comprising a memory having application data stored thereon. '
Most computer systems operate with peripheral devices, such as a printer or a modem, the peripheral devices being connected by means of communication port(s). The use of PC card peripheral devices is becoming increasingly important due to the small size of the device (PC card peripheral devices being peripheral devices which typically conform to the so-called PCMCIA standard). Indeed, the use of a Personal Digital Assistants (PDA) having a PC card modem enables convenient access to remote computer systems (e.g. by means of the Internet) in a portable, lightweight device. If the PC card is a cellular modem, wireless Internet access is possible from almost any location where cellular network coverage is available.
In order for a computer system to interface and comrnunicate with a peripheral device, application data is required to be input to the computer system (the so-called host computer) with which it is to operate. This application data may be required, in one aspect, initially to install driver information enabling Lthe computer system to communicate correctly with the peripheral device. In another aspect, the application data may comprise a program which enables a user to control the peripheral device. For example, if the peripheral device is a cellular modem, the application data may include an Internet browser and a program which enables a user to send E-mail or fax transmissions.
Conventionally, application data for a peripheral device is installed onto a computer system by means of a separate disk or CD-ROM. In use, the application data has to be transferred, from the disk or CD-ROM, to the memory of the computer system. Once transferred, the application data is executed to configure the peripheral drivers and/or to install the- application program, e.g. by running a "setup.exe" file.
The conventional method described above has disadvantages in that a separate storage medium (e.g. the disk or CD-ROM) has to be provided, and that the storage medium must have the correct application data for the peripheral device with which it is to be used. It is possible that incorrect or outdated application data may be provided with a peripheral device. Indeed, if no disk is packaged with the device, it is effectively useless until a correct disk can be obtained. Furthermore, since the application data is transferred from the disk, usually only once, the disk becomes effectively redundant once the data is transferred to the computer system.
According to one aspect of the present invention, there is provided a method of accessing application data for a peripheral device, the method comprising the steps of : establishing a data link between a host computer and the peripheral device; and transferring the application data from a memory location of the peripheral device to a memory location of the host computer.
In effect, by transferring the required application data from a storage location of the peripheral device itself, there is no need to provide a separate storage medium carrying the data. By arranging for the application data to be transferred automatically, after the data link between the peripheral device and the host device is established, the process of installing the application data may be completely automated once the peripheral is connected to the host computer.
It will be appreciated that 'application data' in the context of this application, includes all forms of computer data which relate to the application of the peripheral device. Such application data may include fully executable programs, or merely simple programming language scripts.
Preferably, the method further comprises configuring the host computer, by means of the application data, to cause the peripheral device to perform a particular operation.
This may involve the peripheral device transferring application data, in the form of a first sub-set of an application program, to the host computer, whereafter the first sub-set
of the application program configures the host computer to download a second sub-set of the application program from a remote location. The first sub-set may cause the host computer to access a predetermined Internet web-site from where the second sub-set of the application program may be downloaded.
The peripheral device may comprise a cellular modem, the application data being arranged to configure the host computer to connect to a remote computer network by means of a wireless cellular link. This may be achieved by means of accessing a predetermined Internet web-site. The method may further comprise transferring account information for a cellular commumcations service to the remote computer network. It will be appreciated that by sending account information to the web-site of e.g. a particular cellular communications service provider, it is possible to register with that particular service provider via the Internet. This removes the inconvenient and time-consuming registration process usually performed at the point-of-sale.
According to a second aspect of the present invention, there is also provided a computer program stored on a computer usable medium comprising computer readable instructions for causing a host computer to execute all of the steps of the method, as described above.
According to a third aspect of the present invention, there is also provided a peripheral device comprising a memory having application data stored thereon, wherein the application data, when transferred to a host computer, is capable of causing the peripheral device to perform a predetermined function.
Preferably, the application data stored on the peripheral device comprises a sub-set of an application program, which sub-set includes an identifier to a remote storage location. When the sub-set of the application program is executed, a communications link to the remote storage location may be made, by means of using the identifier. Preferably, the identifier is in the form of an Internet web-site address.
It is preferred that the peripheral device is in the form of a PC card. Indeed, the invention finds particular application with PC card modems or LAN cards. It will be appreciated that a PC card is a relatively small, lightweight module which can be attached to computer systems in order to perform a particular function.
According to a fourth aspect of the present invention, there is provided a method of initialising a peripheral device, comprising: transferring a unique identifier from a host computer to a storage area of the peripheral device; and performing a verification check within a processing means of either of the peripheral device or the host computer, such that the peripheral device will only operate after a positive verification, based on the stored identifier, is made.
For example, by installing application data to the host computer, which data performs a verification check based on a unique identifier transferred to the peripheral device from the host computer, the peripheral is required to be operated with that particular host PC. If the peripheral device is stolen from the host PC, the application program will prevent the peripheral from being operated since the identifier stored within it will not match an identifier stored in any other host computer. The application data may be installed using the method described above, i.e. by accessing the application program from the peripheral device itself.
Preferably, the unique identifier is permanently stored on a non-volatile memory device. The unique identifier may correspond to predetermined identification data which is unique to the host computer. For example, the identifier may be the product serial number of the host computer. The application program may be such as to disable the peripheral device if the verification check is unsuccessful.
According to a fifth aspect of the invention, there is provided a computer program stored on a computer usable medium comprising computer readable instructions for causing a host computer to execute all of the steps described in the above initialisation method.
The invention will now be described, by way of example, with reference to the accompanying drawings, in which:
Figure 1 is a block diagram of a personal computer, attached via a data link to a PC card cellular modem, having a memory with two storage locations;
Figure 2 is a block diagram of a personal computer and a cellular modem connected to the Internet by means of a cellular link; and
Figure 3 is a block diagram of a personal computer and modem, wherein the memory comprises three storage locations;
Referring to the drawings, Figure 1 shows a Personal Computer (PC) 1 which comprises a memory 3 and a Central Processing Unit (CPU) 5. The CPU 5 is connected to the memory 3 and transmits and receives data via a port 21. The PC 1 is connected to a cellular modem 7 by means of a connector 19 between port 21 of the PC and a port 23 of the cellular modem.
The cellular modem 7 is in the form of a PC card peripheral device, and comprises a processor sub-circuit 9, which is connected to a cellular radio sub-circuit 15, a Subscriber Identity Module (SIM) card 11, and a memory 13 which itself comprises two separate memory sections Ml, M2. The memory 13 comprises non- volatile flash memory ICs. The cellular radio sub-circuit 15 is connected to an r.f. antenna 1 .
It will be appreciated that the modem 7 operates by modulating and demodulating digital data for wireless transmission or reception. This modulation and demodulation is performed in the cellular radio sub-circuit 15. The modem 7 is controlled by the processor sub-circuit 9, which is itself controlled by the host PC 1. The processor sub-circuit 9 also accesses and stores information in the SIM card 11 and the memory 13, whilst communicating with the host PC 1. As with conventional cellular telephones, the SIM card 11- comprises a microchip having user information stored thereon. Such user information is provided for, amongst other things, identifying the
user account to the particular cellular network being used. Other information is also stored on the SIM card 11, such as telephone number entries.
In order for the PC 1 to control the modem 7, application data must be stored on the PC (a) to set-up the driver information enabling correct data communication between the two systems, and (b) to set-up an application program for enabling a user to control the modem 7. This application data is stored in the modem memory 13, at memory location Ml. The other memory location, M2, stores conventional identification data, in the form of Card Information Structure (CIS) data, and programs which are executed on the processor sub-circuit 9. The CIS data is provided so that, when connected to the
• PC 1, the PC can detect that it is actually connected to a PC card of a particular type.
Upon connecting the modem 7 to the PC 1, the PC is switched on, and power is supplied via the connector 19 to the modem 7. As the PC 1 boots up, it will automatically detect the presence of the modem 7 by reading the CIS data from memory location M2 of the memory 13. However, at this stage, the CIS data is configured to indicate to the PC 1 that the PC card is actually a memory device (as opposed to a modem). As such, the modem 7 effectively appears as a hard drive to the PC 1. After a short delay period, the application data at memory location Ml of the memory 13 is arranged to flag to the PC 1 that it is a "set-up" program, and is further arranged to run the program automatically. The set-up program may be a conventional "setup.exe" installation wizard, as provided with most modern hardware and software packages. By running the setup program, the PC 1 installs all of the application data, i.e. the hardware drivers and the application program onto the memory 3 of PC 1. In this case, the application program comprises an Internet browser and an E-mail application. Having completed the installation of the application data, the PC 1 is now instructed, by the application data, that the modem 7 is a cellular modem (as opposed to a hard drive). Conventional data transfer may now be effected between the PC 1 and the modem 7, using the transferred application program.
Although it is preferable for the set-up program to be run automatically on detection, the program could also be detected manually, e.g. by using a conventional operating system browser to browse the detected 'hard drive' .
It will be appreciated that, by using the above method of installing application data to the PC 1, no separate storage medium, such as a disk or a CD-ROM, is necessary.
Referring now to Figure 2, second and third embodiments in accordance with the present invention will be described. In this figure, the PC 1 and the modem 7 of Figure 1 are shown as part of a network, which network comprises a further cellular modem 25, connected to the Internet 29 by means of an Internet Service Provider (ISP) 27.
ha the second embodiment, the modem 7 is connected to the PC 1 in the same way as in the embodiment described above. However, only a small amount of a complete set of application data is stored in the memory Ml of the modem 7. This partial set of application data includes only the hardware drivers and a further reference to an Internet website address 31.
Upon powering-up the PC 1, and so the modem 7, the same initial sequence of events, as described above, occurs. Upon running the "setup.exe" program, the hardware drivers are installed, and the PC 1 is configured to communicate with the modem 7. ■ At this time, the PC 1 is instructed to access the Internet 29, by means of the modem 7, and to access the predetermined website 31 referenced in the partial application data.
Having accessed the website 31, the PC 1 is then instructed to download the remainder of the application data via the modem 7. In this way, the memory capacity of the modem memory location Ml can be kept to a minimum by storing only the minimum application data necessary for launching the Internet connection.
This method is particularly useful where the cellular modem 7 is provided by a particular service provider. Such a provider can include a basic Internet browser as part of the application data on the memory Ml of the modem 7, with the predetermined website address 31 being locked into the browser. Accordingly, when the modem 7 is
connected to the PC 1, the browser will automatically access the webpage 31 of that service provider, whereby more specialised application data can be downloaded. As an example, the service provider may provide access to their own customised Internet browser. In this way, the service provider is able to distribute updated browsers by means of the website 31 , rather than by sending individual disks to customers.
A third embodiment of the present invention will now be described with further reference to Figure 2. This embodiment relates to a method by which a user is able to register with a particular cellular network operator via an on-line connection. Conventionally, when purchasing a cellular communications product, such as a modem or mobile telephone, registration of account information, SIM data etc. takes place at the point of sale. This can be inconvenient, and can result in a delay in the user being connected to the network.
As in the first and second embodiments, the application data is transferred to the PC 1 by means of the memory 13 of the modem 7. The application data may be read from the modem 7 in its entirety (as is the case in the first embodiment), or it can be read in two or more stages, i.e. partially from the modem 7, and partially from a remote location via the Internet 29 (as is the case in the second embodiment). In this case, the application data includes an instruction to dial a particular telephone number, to access a wireless Internet Service Provider's portal to launch an Internet browser which in turn automatically accesses a website 33, operated by a particular cellular network operator. This is enabled by means of the network operator providing access to a single telephone number, stored as part of the application data of the modem. Since, initially, the user is not registered with the network operator, the SIM card will be locked to all other telephone numbers.
Having connected the modem 7 to the PC 1, a connection will be established to the network provider's website 33 by means of dialling the stored telephone number. Having accessed the website 33, the user may then complete an on-line registration form in which information such as account details, payment mechanisms, and security data may be registered. Having submitted this information, the SIM card 11 (not shown
in Figure 2) can be unlocked with minimum delay and the network will be open to the user. In addition, the registration process will enable information about the host PC 1 to be passed to the network operator, allowing further customised application programs to be downloaded. These application programs may be customised to suit the user e.g. according to the specification of the PC 1, or even the intended applications of the PC. Since the look and feel of mobility software provided by one company maybe different from the look and feel of another, even though the modem 7 and the network operator are the same, the network operator may download the most appropriate software according to the requirements of the host PC 1 or the user.
Figure 3 shows a fourth embodiment of the present invention. In this embodiment, the PC 1 is connected to a different modem 37. The modem 37 is similar to that shown in Figure 1, in that it comprises a processor sub-circuit 39, a cellular radio sub-circuit 45, a SIM card 41, an r.f. antenna 47 and a memory 43. However, in this case, the memory 43 comprises three memory locations, Ml, M2 and M3. Ml and M2 perform the same memory function as in the previous embodiments, i.e. to store CIS data and application data. M3, on the other hand is a non-volatile memory which provides a permanent storage location for storing a unique identifier, as will be explained below.
The application data is downloaded into the memory 3 of the PC 1 using any of the methods previously described. Having installed the application data, an initialisation program is automatically run which accesses the product serial number of the PC 1, and writes this number into the non- volatile memory location M3 of the memory 43 of the modem 37. Thereafter, each time other application programs are executed, the initialisation program will compare the serial number of the PC 1 with the serial number stored in the memory location M3 of the modem 37. If the serial numbers do not match, then the modem 37 will be disabled. Access to the modem 37 will only be enabled if the serial numbers match.
As an alternative, the processor sub-circuit 39 could itself perform the verification check using an initialisation program which is stored on the modem 37.