Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WEBSITE LAUNCH DEVICE, SYSTEM AND METHOD
Document Type and Number:
WIPO Patent Application WO/2013/093518
Kind Code:
A1
Abstract:
A user input device for connection to a computer device having a network connection to reliably direct a web browser installed on the computer to a predetermined internet URL, the user input device being programmed to send a predetermined user input to the computer upon a predetermined event, wherein the user input is configured as a series of keyboard scancodes, the scancodes to denote the URL being formed exclusively from scancodes corresponding to the numeric keypad of a computer keyboard.

Inventors:
GUNN JEFFREY MATTHEW TITCHENER (GB)
Application Number:
PCT/GB2012/053259
Publication Date:
June 27, 2013
Filing Date:
December 21, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INVENT TECHNOLOGY SOLUTIONS LTD (GB)
International Classes:
G06F3/023
Domestic Patent References:
WO2005050428A22005-06-02
WO2011067611A22011-06-09
Foreign References:
US20100169510A12010-07-01
US20060031231A12006-02-09
EP2023232A12009-02-11
US20060052885A12006-03-09
US20090254634A12009-10-08
US20100149101A12010-06-17
US20100058239A12010-03-04
US20090262076A12009-10-22
US20080062130A12008-03-13
US20060031403A12006-02-09
US20020015020A12002-02-07
GB2475902A2011-06-08
GB2464653B2011-01-12
Attorney, Agent or Firm:
FOOT, Paul Matthew James (4 More London Riverside, London SE1 2AU, GB)
Download PDF:
Claims:
Claims

1. A user input device for connection to a computer device having a network connection to reliably direct a web browser installed on the computer to a predetermined internet URL, the user input device being programmed to send a predetermined user input to the computer upon a predetermined event, wherein the user input is configured as a series of keyboard scancodes, the scancodes to denote the URL being formed exclusively from scancodes corresponding to the numeric keypad of a computer keyboard.

2. A user input device according to claim 1, wherein the series of keyboard scancodes further comprises a scancode to launch a web browser on the computer.

3. A user input device according to claim 2, wherein the series of keyboard scancodes further comprises a scancode sent to move the focus of the web browser to a location bar thereof. 4. A user input device according to any preceding claim wherein the URL comprises a numerical internet protocol (IP) address.

5. A user input device according to any preceding claim wherein the URL comprises a numerical suffix associated with a particular batch of user input device(s). 6. A user input device according to any preceding claim further comprising a button, and the predetermined event is a button press.

7. A user input device according to claim 6 wherein the button press is greater than a predetermined length.

8. A user input device according to claim 7 wherein a button press of less than the predetermined length provides an alternate function.

9. A user input device according to claim 8 wherein the alternate function is sending a "system sleep" keyboard scancode to instruct the computer to enter an energy saving state.

10. A user input device according to any preceding claim wherein the device is configured to send the user input via a USB connection.

11. A system for reliably directing a web browser to a predetermined internet URL, the system comprising: a. a computer device having a network connection; and b. a user input device according to any preceding claim and in communication with the computer.

12. A system according to claim 11 further comprising a remote server accessible via the network connection hosting the URL, wherein the URL is configured to redirect the browser to a second URL.

13. A system according to claim 11 or claim 12 wherein the URL or second URL enable the download of a computer file.

14. A system according to claim 13 wherein the computer file is a computer program.

15. A system according to claim 14 wherein the computer program is a program configured to cause the computer to enter an energy saving state. 16. A system according to claim 15 wherein the computer program further logs the amount of time the computer spends in an energy saving state.

17. A system according to claim 15 or claim 16 wherein the device is configured to initiate the running of the program when a predetermined event occurs to cause the computer device to enter the energy saving state.

18. A system according to any one of claims 13 to 17 wherein each device is provided with a serial number or key to individually identify the device and/or authenticate the file.

19. A system according to any one of claims 13 to 18 wherein the computer file is configured, once installed to disable or intercept the URL directing function.

20. A method of reliably directing a web browser installed on a computer to a predetermined internet URL, the method comprising the steps of: a. providing a computer device having a network connection; b. providing a user input device programmed to send a predetermined user input to the computer device upon a predetermined event, wherein the user input is configured as a series of keyboard scancodes, the scancodes to denote the URL being formed exclusively from scancodes corresponding to the numeric keypad of a computer keyboard; and c. a user carrying out the predetermined event to cause the user input device to send the predetermined input to the computer device.

21. A user input device for connection to a computer device having a network connection, the user input device being programmed to send a predetermined user input to the computer upon a predetermined event to direct a web browser to a URL, wherein the user input device is programmed to send a second user input upon a second predetermined event to cause the computer device to enter an energy saving state.

22. A user input device for connection to a computer device capable of adopting a locked state in which usual interaction with the computer is prevented and an unlocked state in which interaction of the computer is possible, to cause the computer to enter a locked state from the unlocked state and to provide a first visual indication corresponding to the unlocked state and a second visual indication corresponding to the locked state, the user input device being programmed to send a predetermined user input to the computer upon actuation of the device, wherein the user input is configured as at least one keyboard scancode, the or each scancode denoting a command to enter the locked state.

23. A user input device according to claim 22 configured such that a further actuation of the device sends a further user input, wherein the further user input is configured as at least one keyboard scancode, the or each scancode denoting a command to display a password entry screen.

24. A user input device according to claim 23 wherein the further actuation also causes the visual indication to change.

25. A user input device according to any one of claims 22 to 24 wherein the device is further capable of communicating usage thereof to a remote location in order that compliance with usage may be remotely monitored.

Description:
Website launch device, system and method

FIELD OF THE INVENTION

The present invention relates to a device, system and method for launching a website. More particularly, the present invention relates to a user input device and associated method that is able to reliably reach a particular web URL, irrespective of the computer and particular keyboard character set/regional settings employed on that computer. In other embodiments the device may be used for other purposes, such as locking a computer workstation. BACKGROUND OF THE INVENTION

The present applicant has previously disclosed in UK patent GB 2464653B a USB device acting as a keyboard emulator that operates in conjunction with a software application installed on a computer to cause the computer to enter an energy saving sleep state when a button on the device is actuated. This is achieved by the button emitting a series of keystrokes to cause the computer to follow a run command for a particular executable file placed on that computer - e.g. "run sleep" so the computer runs an executable file called sleep.exe placed in a system folder of that computer.

This system has been found to be effective in the vast majority of instances. However, problems can arise when the computer to which the device is connected has differing regional settings to that for which the device is intended. This can result in the software not being launched.

Furthermore, the device has been limited to use for a single purpose and may not function if access to the run command is restricted for security reasons. There is also a danger that the executable file could be replaced by one of the same name that runs malicious code.

Additionally, the known system lacks the ability to batch code or provide individual identifiers for each device, so their usage cannot easily be tracked or controlled. It is also known to provide devices, such as USB 3G modems, with driver software or connection management software for the modem stored in flash memory on the device, so that it can be automatically installed (bootstrap) when connected to a computer, typically by emulating a CDROM drive and "autoplaying". However provision of the memory adds to the cost of the devices, and again installation may not be reliable

The present invention seeks to overcome, or at least mitigate the problems of the prior art.

SUMMARY OF THE INVENTION A first aspect of the invention provides a user input device for connection to a computer device having a network connection to reliably direct a web browser installed on the computer to a predetermined internet URL, the user input device being programmed to send a predetermined user input to the computer upon a predetermined event, wherein the user input is configured as a series of keyboard scancodes, the scancodes to denote the URL being formed exclusively from scancodes corresponding to the numeric keypad of a computer keyboard.

Preferably, the series of keyboard scancodes further comprises a scancode to launch a web browser on the computer. More preferably the series of keyboard scancodes further comprises a scancode sent to move the focus of the web browser to a location bar thereof.

The URL may comprise a numerical internet protocol (IP) address.

The URL may comprise a numerical suffix associated with a particular batch of user input device(s).

The user input device may further comprise a button, and the predetermined event may be a button press. The button press is preferably greater than a predetermined length. More preferably a button press of less than the predetermined length provides an alternate function. Even more preferably, the alternate function is sending a "system sleep" keyboard scancode to instruct the computer to enter an energy saving state. The device may be configured to send the user input via a USB connection.

A second aspect of the present invention provides a system for reliably directing a web browser to a predetermined internet URL, the system comprising a computer device having a network connection; and a user input device according to the first aspect of the present invention and in communication with the computer.

The system preferably further comprises a remote server accessible via the network connection hosting the URL, wherein the URL is configured to redirect the browser to a second URL.

The URL or second URL advantageously enables the download of a computer file. The computer file is preferably a computer program. The computer program is preferably a program configured to cause the computer to enter an energy saving state.

The computer program advantageously further logs the amount of time the computer spends in an energy saving state.

The device may be configured to initiate the running of the program when a predetermined event occurs to cause the computer device to enter the energy saving state.

Each device may be provided with a serial number or key to individually identify the device and/or authenticate the file.

The computer file may be configured, once installed to disable or intercept the URL directing function.

A third aspect of the present invention provides a method of reliably directing a web browser installed on a computer device to a predetermined internet URL, the method comprising the steps of: a. providing a computer device having a network connection; b. providing a user input device programmed to send a predetermined user input to the computer device upon a predetermined event, wherein the user input is configured as a series of keyboard scancodes, the scancodes to denote the URL being formed exclusively from scancodes corresponding to the numeric keypad of a computer keyboard; and c. a user carrying out the predetermined event to cause the user input device to send the predetermined input to the computer device. A fourth aspect of the present invention provides a user input device for connection to a computer device having a network connection, the user input device being programmed to send a predetermined user input to the computer upon a predetermined event to direct a web browser to a URL, wherein the user input device is programmed to send a second user input upon a second predetermined event to cause the computer device to enter an energy saving state.

A fifth aspect of the present invention provides a user input device for connection to a computer device capable of adopting a locked state in which usual interaction with the computer is prevented and an unlocked state in which interaction of the computer is possible, to cause the computer to enter a locked state from the unlocked state and to provide a first visual indication corresponding to the unlocked state and a second visual indication corresponding to the locked state, the user input device being programmed to send a predetermined user input to the computer upon actuation of the device, wherein the user input is configured as at least one keyboard scancode, the or each scancode denoting a command to enter the locked state. The device may be configured such that a further actuation of the device sends a further user input, wherein the further user input is configured as at least one keyboard scancode, the or each scancode denoting a command to display a password entry screen.

Prefereably, the further actuation also causes the visual indication to change. Optionally, the device is further capable of communicating usage thereof to a remote location in order that compliance with usage may be remotely monitored.

BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention will now be described with reference to the accompanying drawings, in which:

FIGURE 1 is a diagram of a computer device incorporating the user input device and system of the present invention; FIGURE 2 is a schematic diagram of the system of the present invention;

FIGURE 3 is a flowchart illustrating the setting up of the device of a system of a first embodiment of the present invention;

FIGURE 4 is a flowchart illustrating the setting up of a webpage of a first embodiment of the present invention; FIGURE 5 is a flowchart illustrating the operation of the system of a first embodiment of the present invention;

FIGURE 6 is a flowchart illustrating the operation of the system of a second embodiment of the present invention; and

FIGURE 7 is a simplified illustration of a window of a program for use with the present invention.

DETAILED DESCRIPTION OF EMBODIMENT(S)

A computer device 100 incorporating the system 101 of the present invention is shown in Figure 1. In this embodiment, device 100 is a desktop personal computer (PC) and comprises a computer base unit 102 containing the system memory / processors / hard drive and other known components. The base unit receives power from power line 104 plugged into socket 106. An operating system (OS) such as Windows R ™ XP R ™, Windows R ™ Vista R ™, Windows R ™ 7, Windows R ™ 8, Apple OS X R ™ or Linux is installed on the computer.

The computer device 100 further comprises a display 108 such as an LCD / CRT or the like. The display receives data from the base unit 102 via display connection 110. The computer device 100 further comprises peripheral devices 112, specifically mouse 114 and keyboard 116. The mouse 114 and keyboard 116 with numeric keypad 115 are connected to the base unit 102 via connections 118 and 120 respectively. In this instance, peripheral devices 112 are connected via USB (universal serial bus) connectors 122. Although this is the case, it should be noted that connections 118, 120 may not be wired, and as such may be infra-red / Bluetooth R ™ or any known connection that offers similar functionality to USB. In other embodiments the computing device may be a laptop.

The computer power saving system 101 in accordance with the present invention is shown in Figure 2.

The power saving system 101 additionally comprises a user input device 150 of the present invention comprising a base 152 and a user input button 154 mounted thereto and actuable by depression. In this example, user input button 154 has lights 156 mounted thereon. The lights serve as a continuous reminder to the user to operate the user input device 150 when a period of inactivity commences (and in some embodiments for other purposes).

With reference to Figs 1 and 2, the user input device 150 is connected to base unit 102 via a connection 158 and one of the USB connectors 122. The user input device is powered via the USB connection 158 from the computer and comprises a microprocessor 159 and a section of non-volatile memory 161. In a particularly preferred embodiment, the microprocessor is a programmable system on a chip such as a Cypress enCoRe II microcontroller that includes a microprocessor, SRAM and Flash RAM. The microprocessor is configured to control operation of the lights 156, to exchange data with the computer device 100 when connected thereto, and provide input signals to the computer device 100 when the user input button is depressed.

The user input device 150 is a "plug and play" Windows device. It is capable of issuing a command to be interpreted by the OS of the computer device 100, as will be described below.

Turning to Figure 2, the power saving system 101 is shown schematically in more detail. The computer device 100 comprises, in addition to the components discussed above, a central processing unit CPU 124, random access memory (RAM) 126, and mass storage (e.g. a hard disk or solid state drive 128), speakers 130 and interface devices 132 including USB connections 122 and a network interface such as a wired or wireless LAN connection. The aforesaid components are all connected together for communication by a bus 134. The computer device 100 is therefore able to connect to the internet 136 in order to communicate with remote servers hosting websites 172 and 174.

The system functions as follows:

Prior to distribution of user input devices 150, a certain amount of preparation is required as illustrated in Figure 3. As part of the production thereof, a product ID and vendor IDs are written into the device as is standard for USB devices. Additionally, a batch code and/or a unique serial number are written are written to the non-volatile memory 161 thereof at step S202 as part of the firmware flashing process. Typically, the batch code and serial numbers are each 6 bytes (15 digits) written to an obscure location of the firmware. As a result they cannot be overwritten without completely re-flashing the firmware, and can only be readily accessed by software that knows this specific location. As such, a particular device can be identified at least to the extent that it belongs to a larger group of devices (e.g. devices to be supplied to a particular company, office, demographic group, devices to be given away as a promotional item by a particular company, or devices having particular functionality).

The device is further programmed with a sequence of "scancodes" - codes corresponding to keyboard key presses to be interpreted by the computer device 100, that normally enable the same physical keyboard to be set up for different key set-ups (e.g. UK vs US or German layouts) at step S204. So for example, for USB devices (as opposed to PS/2) the scancode for letter "A" is 04 and for number "1" on the keypad is 59.

The present applicant has recognised that for some letters, the scancodes are inconsistently interpreted across different regional settings, but that the numeric keypad 115 scancodes (e.g. for the numbers, "/", and "." are consistently applied, as are special "multimedia" type scancodes (e.g. to launch the default web browser). An example scancode sequence is discussed below. The device 150 is then ready for supply.

With reference to Figure 4, prior to distribution of the device, it is necessary to obtain an Internet Protocol (IP) address at step S210 and host this on a server at step S212. Numerical sub-pages can then be set up for particular batches of input devices 150 at step S214.

For example the IP address 123.123.123.123 could be acquired for a master administration website 172 and pages /0001, /0002 etc set up for that domain. Each page is then configured on the domain control panel to redirect to a target webpage 174 at step S216 and the webpage is provided with the desired content at step S218. In a preferred embodiment, the target website is provided with access to a database 176 of device serial numbers authorised to access the website and/or download a program (Fig 7, 400) therefrom at S220. Thus, the back-end system for use with devices 150 is now ready for operation. In other embodiments, content may simply be hosted on the sub-page, and/or that sub-page may be an iframe embedded within another page.

With reference to Fig. 5, installation of the user input device 150 is as follows: at step S230 the user plugs the device 150 into a free USB port of the computer device 100, where it is recognised as a human interface device, and therefore requires either no driver downloads, or standard downloads from an online service (Windows Metadata and Internet Services - WMIS - in the case of computer devices running a Windows operating system). Further, the device 150 monitors standard HID device codes transmitted by the operating system as the drivers are installed and is thus able to visually indicate when installation has not started (e.g. by the lights 156 on the device emitting red light), when installation is underway (e.g. by the lights emitting yellow light) and when installation is complete (e.g. by the lights emitting white light). In Windows based systems, these codes are referred to as Class Requests and the final Class Request to confirm complete installation is below:

Setup request

Name Value Dec Hex Bin bmRequestType . Recipient Interface 1 0x01 00001 bmRequestType.Type Class 1 0x1 01 bmRequestType . Direction Host-to-device 0 0x0 0 bRequest Class: 0x09 9 0x09 00001001 wValue 0x0202 514 0x0202 00000010

00000010 wlndex 0x0001 1 0x0001 00000000

00000001 wLength 2

At this stage, the device 150 then has two potential modes of operation. A short press on the input button 154 at step S254 causes the button to send a standard "system sleep" scancode S254 (equivalent to a sleep key on a normal keyboard) so the computer enters the default sleep state (typically the ACPI S3 state). The lights 156 may additionally light according to a predetermined state during and after the press. This method of entering a sleep state does not provide any additional functionality/reporting, however.

Referring to Figures 1 and 5, the second mode of operation is instigated by a longer press of the input button 154, in excess of two seconds, at step S232. A label on the device 150 or its packaging may inform the user of this operation mode. This longer press causes the microprocessor to send a different series of scancodes to the computer. In this embodiment, the scancode sequence comprises a the default web browser 107 launch "www home" scancode at step S234, followed by Alt + D scancode to move the focus to the browser location bar 105 (Ctrl + L also works) at step S236 and then at step S238 the predetermined IP address and numerical page scancode 109 stored in the memory at step S206 above, followed by the enter key scancode (note that modern browsers do not need the http:// prefix to be entered to resolve the URL). Suitable delays may be built into the process to e.g. enable the default browser to open before the address is entered. As the IP address and numerical page address 109 is set to redirect to the program download webpage 154, this then occurs, as illustrated by the dotted line arrow 155 The user is therefore presented with a specific webpage 174 (via the default browser 107) for that particular batch of devices 150. This enables customised versions of the program 400 to be available for download for that particular batch of users. For example, if the device is provided as a promotional item by a particular organisation, that organisation's branding or advertising or particular media may be incorporated into the program front end (as described in more detail in our application WO2011/067611 and incorporated herein by reference). As explained above, this could also be achieved by use of an iframe, rather than redirection.

Additionally or alternatively, the program 400 functionality may be customised to particular users. For example, a home user version may be provided with no central reporting functionality to consolidate energy savings and monitor device usage across a particular group of users, but could have an open advertising platform built in to part-fund device distribution, whereas a "pro" or business version may have reporting functionality, but advertising limited to the organisation's use only. In a preferred embodiment, the user may then be permitted to download and install the program 400 without further input being needed. Alternatively, the webpage may require some form of user registration before download is authorised (i.e. step S246 occurs between steps S238 and S240). As part of the installation process, the program may optionally determine the components of the computer device 100, and is therefore able to determine how much power it consumes both when fully operational and in an energy saving state.

Once installed at step S242, the program runs in the background at step S244 and is maximised by pressing the device once to commence a shutdown countdown, and then pressed again to stop the countdown and show the main window. Additionally it can be maximised in a standard way (e.g. from the Start menu on a Windows PC), or when the device computer device 150 wakes from the sleep state.

In this embodiment at step S246, to achieve full device functionality, registration thereof is now required so the device 150 and/or program can be associated with a particular user (or group of users) contact and demographic information, and optionally certain preferences, interests etc which may include name, age, contact details, location, job, income, leisure interests, etcetera. Additionally, if not detected automatically, the user manually inputs information on their computer device (laptop vs desktop, screen size, number of screens etc) manually in order to determine power consumption. With reference to Figure 7, registration may be achieved from an webpage embedded as an iframe 410 within a main program window 412 of the program 400, or on a separate webpage. The main program window 412 may also be used to display energy savings data, and act as a portal for upgrading the program 400, providing help, and also the display of media, such as advertising. Again this can be achieved by displaying suitable webpages via the iframe 410 In addition, the personal information may be linked with further identifiers associated with the user input device 150 and/or the computer device 100 into which it is connected, such as a particular media access control (MAC) address of the network adaptor of the computer device 100 to which the user input device is connected. The user's internet protocol (IP) address may also be used to provide an indication of their location. In certain embodiments where a computer device 100 has multiple user accounts, more than one user code and associated profile may be associated with a particular input device.

As a further measure to ensure only the correct program 400 is installed for the correct device 150, the website may at step S248 interrogate the device for its batch code and or serial number to be matched against a database of approved serial numbers or batch codes, before the program becomes fully operable. Alternatively, the user may be required to manually input one or both of these codes from information printed on the device or associated packaging.

Once installed, the program advantageously signals the admin website 152 at step S250 to confirm installation is complete, and may then update the database 176.

The program 400, when installed and running, communicates with the microprocessor 159 of the device 150 to control the device functionality (e.g. the behaviour of lights 156) using standard HID device transmissions.

An important change in functionality that these communications provide is to alter the button functionality. As such, the previous single press and extended press functions are disabled, either by the program rewriting the data on the device 150, or by intercepting the data signals at step S251 so they are not interpreted by the standard HID drivers, and are instead interpreted by the program 400. A press of the button of whatever length now results in the program 400 initiating its routine for entry into an energy saving state. In a preferred embodiment the program initiates a countdown (e.g. of 10 seconds) to enter the energy saving state, to display this countdown on the screen, and at the end of the countdown to enter the energy saving state .

In addition, when the button 154 is depressed, the program 400 first logs a first system clock time and stores that time in mass storage. The program then triggers the computer device 100 to enter into its default "suspend to RAM" energy saving state. In ACPI compliant desktops and laptops, this state is preferably the S3 state, in which the system context is stored in the device's RAM but all other non-essential components are shut down (display 108, mass storage 128, speakers 130) such that the typical power consumption of the computing device 100 is reduced. So whereas the computer device's 100 usual operating consumption is typically between 50 and 200 watts, in the S3 state that is typically reduced down to, for example, 5 watts or less.

The computer device 100 remains in this energy saving state until the user provides a second input. Depending upon the functionality of the user input device 150 and the settings of the computer device 100, inputs that may be able to cause the computer device to exit the energy saving state may include pressing a key on a part of the computer device 100, a short press on the power button of the computer device, moving a mouse connected to the computer device, pressing a mouse button or a second press on the button 154 of the user input device 150 itself.

When the computer device 100 has woken to the extent that program is again able to run, the program logs a second clock time and then based on the difference between clock time 1 and 2 and the information about the particular PC configuration is able to calculate the carbon dioxide and money saving of the previous week of energy saving, and the cumulative total since the system of the present invention has been in operation on the computer device 100 and this is displayed on the program window at In other embodiments, the button functionality may be altered in other ways. For example, an extended button press may now launch a particular predetermined, website, application etc, and this may be customisable by the user, or fixed by the supplier. Button presses may also be used to interrupt a countdown function built into the energy saving program, in order to launch particular applications, websites or media, and to wake the computer device from its energy saving state.

The program 400 preferably further comprises a settings option which can also be selected by the user in order to reconfigure the operation of the program and/or update their user details or computer device details. In a preferred embodiment, the settings option is a webpage shown in the iframe 410 within the program window 412, so that the user is able to directly interact with the database front end hosted on the master administration website 172. On this, users are able to view their full profile of personal information which has been built-up from information they have submitted, as well as data that may have been inferred from their usage of the system. The user may further be given an option to upgrade from e.g. a consumer/basic level of system, to a e.g. a "pro" level that may provide additional functionality such as consolidated savings (as discussed above).

In certain embodiments, primarily in corporate environments, the administration webpage may be located on a company's network or intranet, rather than the internet, so a user need not need to access the internet to change settings and the like.

The program may also access certain policies set up on a company wide, sub group, or individual user basis, e.g. to prevent or enforce the entry of a computer device into an energy saving state when certain conditions are met (e.g. at particular times of the day, or when particular other applications are running on a user's computer device). In another embodiment of the present invention, the primary function of the device is not as an energy saving device. Instead, the device is provided as part of a software delivery system.

With the increasing prevalence of high speed internet connections, it has become more common for software to be sold as a download, rather than on physical media. This has left caused problems for tradition retail stores that have hitherto sold software on physical media (CD, DVD or flash memory) in a physical box. On the one hand, it is desirable for the media to be omitted from such boxes, since this is relatively expensive to produce, and may become outdated relatively quickly (requiring the user to access the internet for updates once the main software package is installed anyway), On the other hand, including physical media provides the user with something tangible so that they can feel like they have bought something of value. This is lost if the box simply includes a download address and a software registration key within it.

Additionally, providing physical media ensures that initial installation is likely to be successful, which may not be the case if a user has problems locating/entering the download URL.

The present applicant has recognised that by providing a physical USB device in the box, pre-programmed with a desired numerical URL scancode combination of the type described above, a purchaser of a boxed software package is provided with a tangible item that may be used to access the required download website, which can be kept up-to-date.

With reference to Fig. 6, this is achieved as follows: at step S330 the user connects the device 150 in to a free USB port on the computing device 100 and press the input button 154 at step S332. At step S334 the device sends the default browser launch "www home" scancode, followed by Alt + D scancodes to move the cursor to the browser address bar (Ctrl + L also works) at step S336 and then the predetermined IP address and numerical page scancode followed by the enter key scancode at step S338. Suitable delays may be built into the process to e.g. enable the default browser to open before the address is entered.

The browser is therefore taken to a website IP address having the format 123.123.123.123/12345 or the like, and then at step S339 is automatically redirected to a webpage via the default browser for the particular software the user has purchased and wishes to install. In one embodiment the webpage may be an iframe within one of the software vendor's own webpages, in order to maintain a consistent appearance. In this case no forwarding may be needed. In a particularly preferred embodiment, a unique software registration key is stored on the device itself and before download is authorised at step S342, is transmitted to the website at step S340, to enable the download. Suitable encryption may be used to ensure the key is not extracted and used in an unauthorised manner. The webpage may autodetect the OS running on the computer device and thus ensure that the correct version of the software for that OS is downloaded.

The user is typically invited to register their contact details etc at step S341 prior to download. Download occurs at step S342 and installation at step S344.

In other embodiments, the software download may be permitted without checking the key and the key used to enable the software to be installed or become operable instead. A separate printout may be provided as a backup or as an alternative to the embedded key.

Once successfully installed, the software is then preferably registered back on a database operated by the software company at S346. At a final step S348, the user's browser is then redirected to e.g. the software vendor's website.

In a variant the press function may be reprogrammed, its primary purpose having been fulfilled. For example, the device may become a single key launcher for the software that has been installed, launch a browser at the software company's webpage, or may become an energy saving device of the type described in the first embodiment (in which case the user may then be able to download the energy saving software of the first embodiment).

In a further variant of the above embodiment, the webpage may incorporate an "onload" event to initiate download of the software as soon as the page has loaded, without further user intervention.

Furthermore, this functionality may be incorporated into peripheral devices themselves. For example a peripheral such as a printer may be provided with a button that is dedicated to enable download and installation of the latest software/drivers for that device once it is plugged in to a power supply and a USB connection to a computer device. In operation, such a peripheral need not be provided with installation discs. Instead, once the installation of standard HID drivers is complete, a user presses the button on the peripheral, and is directed automatically to the webpage for download of the appropriate software (which may be automatic if the "onload" event is used). Further, the download webpage may autodetect the OS of the computer device to which the peripheral is connected, and download the appropriate software for that OS.

In further variants, no button need be pressed. Once the device has been inserted into a USB port and the HID drivers installed, the device may detect the Class Request described above for completed installation and automatically launch the website without further user intervention. Thus, if combined with the onload event, no user intervention may be required for download aside from plugging the device into a USB port and authorising the download.

In further variants, the user input device may be configured to receive further signals from the computer device. The program may therefore signal the user input device to display certain conditions of the computer device, other programs, or applets that are running in conjunction with the program. For example, the user input device may be lighted a particular colour, or flashing if a user has received an email, an upgrade to the program is available, or has achieved a certain level of savings. In addition, the colour of the lighting or its flashing state may indicate the energy saving state of the PC.

In a further variant the device may be have a similar construction to the other embodiments and provided with as similar microprocessor arrangement, but the device is configured for use as a means of locking a computer workstation, whilst also providing a visual indication of the locked or unlocked state. In environments where security is important, such as banks insurance companies etc, workstation users are expected to lock their workstation when leaving their desk. However non-compliance with such rules can often be difficult to detect if the screen is not visible, or the screen blanks as a power saving measure irrespective of the locked and unlocked state. Thus, there is an advantage to providing a separate device having a user input such as a button that is highly visible and easily depressed to effect locking (instead of the multiple keystrokes often required to effect locking, such as Ctrl-Alt-Delete or Windows Key-L). The button may change colour or utilise other indicia to show whether the workstation is locked or unlocked, and may be position so as to be visible from over a wide area of an office (instead of the less than 180° of a conventional screen, so that monitoring compliance is easier.

Keystroke combinations and login arrangements may vary between different operating systems, and the device can be tailored to follow these requirements. In one example, the device is configured to light e.g. green when connected to an unlocked workstation (a Windows PC), and when the device is depressed is configured to send the scancode for Windows Key-L when depressed. This causes the computer to be locked (as opposed to enter an energy saving state) when whatever information that was on the screen is obscured, and normal keyboard and mouse inputs do not result in provide access to information on the computer. The device is then configured to light e.g. red to indicate visually that the computer is locked.

A further press of the device sends the scancodes corresponding to e.g. Ctrl- Alt-Delete to the computer to then cause a password entry screen to appear. A user then enters their password to unlock the computer again a recommence work. The device is configured to again light green at this stage.

In this embodiment the colour of the lighting in the device alternates on each button press, but in other embodiments, the may monitor suitable parameters of the computer to determine if it is locked or unlocked, e.g. USB data transmission..

In addition to the visual indication, the device may also interact with a suitable program running on the computer to send data on the usage of the device to a separate location where compliance with usage of the device may be monitored.

It will be appreciated that the device aids users to maintain compliance with procedures, since the lighting on the device acts as a visual reminder to user the device, and avoids the need to use complex keystroke combinations, and also aids with monitoring of user compliance, due to its visibility. In other variants, separate lock and unlock buttons may be provided.

It will be appreciated that the term program may encompass multiple executable and/or non-executable files that provide the functions described above.

Although the invention has been described above with reference to one or more preferred embodiments, it will be appreciated that various changes or modifications may be made without departing from the scope of the invention as defined in the appended claims.