WO2000070521A9 - Method and apparatus for internet commerce - Google Patents

Method and apparatus for internet commerce

Info

Publication number
WO2000070521A9
WO2000070521A9 PCT/US2000/013459 US0013459W WO0070521A9 WO 2000070521 A9 WO2000070521 A9 WO 2000070521A9 US 0013459 W US0013459 W US 0013459W WO 0070521 A9 WO0070521 A9 WO 0070521A9
Authority
WO
WIPO (PCT)
Prior art keywords
ecommerce
key
keys
site
alert
Prior art date
Application number
PCT/US2000/013459
Other languages
French (fr)
Other versions
WO2000070521A3 (en
WO2000070521A2 (en
Inventor
William R Murray Jr
Original Assignee
Acco Brands 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 Acco Brands Inc filed Critical Acco Brands Inc
Priority to AU48538/00A priority Critical patent/AU4853800A/en
Publication of WO2000070521A2 publication Critical patent/WO2000070521A2/en
Publication of WO2000070521A3 publication Critical patent/WO2000070521A3/en
Publication of WO2000070521A9 publication Critical patent/WO2000070521A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards

Definitions

  • the present invention relates generally to keyboard or keypad devices for use with a personal computer. More specifically, the present invention relates to an enhanced keyboard system for operation with personal computers currently known in the art to enhance and promote Internet Commerce by matching users to WWW sites on the Internet.
  • WWW world- wide web
  • Many of the prior art solutions provide for advertiser, commerce or content provider links included in web pages presented on web browsers that have been directed to a specific universal resource locators (URLs). A user activating one of these links is directed to the appropriate web page via the activated link. Revenue is generated for the owner of the web site hosting these things either due simply to directing users to a site, or when the user purchases something or performs some other action. Advertising revenue is generated by the number of users accessing and viewing particular pages.
  • the keyboard is the most frequently used input device for a personal computer.
  • a typical computer keyboard has a QWERTY key layout, and often includes a numerical keypad, shift keys (e.g., right-hand and left-hand shifts, ALT, and CTRL), toggle keys (e.g., CAPS LOCK, NUM LOCK, and SCROLL LOCK) and function keys.
  • shift keys e.g., right-hand and left-hand shifts, ALT, and CTRL
  • toggle keys e.g., CAPS LOCK, NUM LOCK, and SCROLL LOCK
  • function keys e.g., CAPS LOCK, NUM LOCK, or SCROLL LOCK
  • Many models also have small indicator lights which indicate when a particular key or function (e.g., CAPS LOCK, NUM LOCK, or SCROLL LOCK) is engaged. Combinations of these features are found on keyboards compatible with both IBM-type personal computers and the Macintosh line
  • a typical keyboard includes a keyboard chip and a scan matrix which cooperate to generate two unique scan codes whenever a key is pressed— one scan code when the key is pushed down (i.e., make code) and another when the key is released (i.e., break code).
  • the keyboard chip subsequently transmits the scan codes to a keyboard controller in the host computer via the keyboard cable.
  • the keyboard controller Upon receipt on the scan codes, the keyboard controller generates an interrupt signal.
  • the computer's CPU calls an interrupt handling routine that processes the scan codes and translates them into character or command codes which are recognized by the computer's operating system or application programs.
  • a typical keyboard In addition to generating scan codes, a typical keyboard also processes a limited number of commands received from the computer to control its status. In particular, it is known in the art that a keyboard responds to commands from the computer to turn on/off the small indicator lights described above, to reset or disable the keyboard, or to set the repetition rate and repeat delay for keys when they are held down.
  • a typical personal computer to which the above-described keyboard may be attached has an operating system that enables the computer to run multiple application programs at once limited only by the amount of memory installed in the computer.
  • Such an operating system typically also employs a graphical user interface (GUI) of the type well-known in the art. Via the GUI, the user interacts with application programs, manages files and file storage devices, operates peripherals, controls network interfaces, and executes commands by operating a pointing device to manipulate icons and menus items arranged on an electronic desktop displayed on the computer monitor.
  • GUI graphical user interface
  • the user operates the pointing device to control a cursor displayed on the screen.
  • the user launches an application program by using the pointing device to point the cursor to an icon displayed on the computer monitor that represents the desired application program, and then "clicking" on the icon with the pointing device.
  • the operating system displays the application on the electronic desktop in a "window.”
  • the typical user typically displays each running application program in its own window.
  • the typical user only interacts with one application window at a time.
  • We designate the window with which the user currently interacts as the "active" window It is often displayed so that it appears as if it is "on top of the other application program windows and/or application icons displayed on the electronic desktop. This feature of the "top-active" application window often causes it to partially or totally obscure other application windows or icons shown on the electronic desktop.
  • the user When the current top-active window partially or totally obscures the other application windows or icons, the user must first operate the pointing device to cause the operating system to close, reduce or move the current top-active window before he or she can select another top-active window and/or launch another application program.
  • the user employs a special system management window provided by the operating system (e.g., Apple Macintosh "Desktop", Windows “Program Manager”) to select a new top-active window and/or to launch another application program.
  • the operating system displays the system management window when the user operates the pointing device to point to and click on a special menu item or icon provided for that purpose.
  • the user selects a new application program to launch or to display by operating the pointing device as previously described.
  • the procedures described above require the user to rely heavily on the pointing device to manipulate items on the electronic desktop to launch another application or to select a new top-active window.
  • Using the pointing device is usually less time efficient than using the keyboard because of the hand-to-eye coordination inherently required (e.g. locating the cursor on the screen, moving the cursor to the desired location, etc.)
  • Using on the pointing device often requires the user to remove one hand from the keyboard, thereby increasing the likelihood of typographical error due to misplacement of the hands on the keyboard after manipulating the pointing device.
  • An alternative to using the pointing device is to manipulate items on the display via the keyboard.
  • current methods for operating a GUI via the keyboard often involve complicated procedures which require the user to execute complex keystroke combinations (e.g., Cntl+Esc, Alt+Tab, Alt & F & R, etc.) not readily known by less experienced users, or to understand and program complicated keyboard macros for performing the desired functions.
  • the modern personal computer employs energy-saving devices with increasing frequency.
  • many personal computer systems include a power- saving apparatus which operates according to a power-saving program to disable the monitor if no user input is detected for a predetermined amount of time. The user presses a key or moves the pointing device to reactivate the monitor.
  • Such devices are a boon to energy conservation efforts and to the environment, especially in view of the proliferation of the personal computer in both homes and businesses.
  • alert messages When an alert or error conditions occurs.
  • the alert messages are displayed on the monitor and may be accompanied by an audible alarm.
  • the user When an alert condition occurs after the power-saving program has disabled the monitor, the user will not see the alert message generated by the operating system or the application program. When an audible alarm accompanies the alert message, then the user often hears the audible alarm and responds to it accordingly by reactivating the screen and responding to the message as requested. However, there are many instances when no audible alarm is provided or when the user may not hear the audible alarm. For examples of the latter, the user may be hearing-impaired, may work in a noisy operating environment, may be away from the computer at the time of the alert, or, because of the proliferation of computers in the workplace, may mistake the audible alarm of the user's workstation for the audible alarm of another's workstation.
  • the present invention comprises a method and apparatus for implementing an enhanced computer keyboard system.
  • the present invention comprises a method and apparatus for accessing and launching application programs via the keyboard and for indicating an alert status to a computer user via the computer keyboard.
  • the present invention offers an improved and simplified system for the initiation and fulfillment of Internet commerce.
  • the preferred embodiment provides a specialized keyboard including a plurality of extra Internet buttons, which in the preferred embodiment is an entire extra row of function keys. Each of these buttons is associated with a specific Internet company that desires to sell a good or service to the user, or desires other activities for which the company is willing to pay.
  • the keyboard is automatically configured such that activation of the individual buttons immediately takes the user to the specific site in which the user may purchase the goods or services, or perform the requested service.
  • a company distributes these specialized keyboards for free or nominal cost.
  • the company associates preestablished vendors with each of the specialized keys, either for a fee or for a portion of the generated revenue, or some combination.
  • a user activates one of the specialized keys and purchases the good or service, or performs other activity that generates revenue for the company, some of that revenue is returned to the user either as a rebate, discount or other valuable offers.
  • buttons may be identified by function or product.
  • keys may associated with them book, movie, video, software, flower icons.
  • Selection of the key with the book icon activates a site enabling the user to purchase a book, at a discount or for other remuneration.
  • the company may periodically reassociate these Intemet buttons with other Internet companies or services.
  • the computer system attached to the specialized computer keyboard operates a configuration program which detects activation of these special keys, and activates the user's Internet browser with the specific URL.
  • the configuration program will periodically contact a configuration server operated by the company to receive new configuration information for the Internet keys. It is possible to use user identification information or other demographic information or user preference profiles (provided by the user in response to specific questions, for example) to establish a specialized and custom configuration set of Internet buttons.
  • the invention includes an apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver.
  • the apparatus includes some type of a input device, preferably a keypad device having a plurality of keys coupled to a keyboard housing, the plurality of keys including an ecommerce key, but other type of input device is possible, such as a voice recognition system.
  • the apparatus also includes a key press recognition mechanism, coupled to the plurality of keys, for identifying to the input device driver when the ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated.
  • a key press recognition mechanism coupled to the plurality of keys, for identifying to the input device driver when the ecommerce key has been activated
  • an ecommerce communication application operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated.
  • an enhanced keyboard system comprising an application key apparatus and an alert-indicating apparatus.
  • the application key apparatus includes an enhanced computer keyboard, an application key signal generating unit, and an application key processing unit.
  • the enhanced computer keyboard comprises one or more application keys contained in a keyboard housing.
  • the application key signal generating unit is coupled to the application keys and generates an application key signal when an application key is pressed and/or released.
  • the application key processing unit is coupled to the application key signal generating unit.
  • the application key processing unit responds to the application key signal to cause the operating system to launch the specified application program.
  • the application key processing unit responds to the application key signal to cause the operating system to make the window associated with the specified application program the top-active window.
  • the alert-indicating apparatus comprises an enhanced computer keyboard, an alert filter, and an alert filter interface.
  • the enhanced computer keyboard includes a plurality of keys contained in a housing, and an alert indicator coupled to the keyboard housing.
  • the alert filter is coupled to the operating system and generates a plurality of alert indicator control signals when the operating system and/or an application program issues an alert message of a specified type.
  • the alert filter is customizable to specify the type of alert conditions for which the alert indicator will activate.
  • the alert filter is further customizable to activate the alert indicator in a characteristic manner according to the type of alert condition that has occurred.
  • the alert filter interface transfers alert indicator control signals from the alert filter to the alert indicator coupled to the keyboard.
  • it is a method for accessing and launching application programs via the keyboard that comprises the steps of 1) scanning for a key signal; 2) determining whether a received key signal is an application key signal; 3) identifying the application program that corresponds to the received application key signal; 4) determining whether the identified application program is currently running on the computer; 5) when the identified application program is currently running, making the window corresponding to the identified application program the top-active window; and 6) when the identified application program is not currently running, launching the identified application program.
  • it is a method for indicating an alert status to the user via the keyboard that comprises the steps of 1) detecting when an alert event occurs; 2) identifying the type of alert associated with the detected alert event; 3) determining whether the identified alert type corresponds with one of the stored alert types; 4) retrieving the alert indicator control attributes associated with the corresponding stored alert type; and 5) transmitting a plurality of alert indicator control signals according to the retrieved alert indicator control attributes.
  • FIG. 1 is a drawing of a computer workstation having a configuration that is currently know i in the art
  • Fig. 2 is a block diagram a computer system having a configuration that is currently known in the art
  • Fig. 3 is a drawing of a preferred embodiment of an enhanced keyboard according to the present invention.
  • Fig. 4 is an enlarged view of an illustrative embodiment of the application key portion of the enhanced keyboard of the present invention
  • Fig. 5 is an enlarged view of an illustrative embodiment of the alert lamp portion of the enhanced keyboard of the present invention
  • Fig. 6 is a block diagram of a computer system which incorporates the present invention
  • Fig. 7 is a block diagram of one embodiment of components of the enhanced keyboard according to the present invention
  • Fig. 8 is a block diagram of one embodiment of the components of the enhanced keyboard controller/driver according to the present invention.
  • Fig. 9 is a process flow diagram illustrating a method for accessing and launching an application program via the keyboard
  • Fig. 10 is a block diagram representation of an operating system that incorporates the present invention.
  • Fig. 11 is a block diagram of an illustrative embodiment of an Alert Filter according to the present invention
  • Fig. 12 is a process flow diagram illustrating a method for indicating an alert condition to a user via the keyboard.
  • FIG. 1 is an illustration of a conventional workstation 10, which includes a computer system 12 coupled to a fixed disk 14, a keyboard 16, a pointing device 18, and a monitor 20 having a display surface 22.
  • the examples that follow refer to an image being displayed on display surface 22 of monitor 20; however the invention is equally applicable to variations such as where the display device is a printer and the display surface is a printed page, or the display device is some other pixilated or rasterized display device.
  • pointing device 18 is shown as a mouse; however other types of pointing devices such as a trackball, a light-pen, etc. may also be suitably employed.
  • Display surface 22 shows a number of objects being displayed associated with the GUI.
  • the displayed objects include application program icons 24 and 26, application program windows 28 and 30, and alert dialog box 32.
  • the user employs pointing device 18 to point to and click on one of the application program icons, 24 or 26.
  • the operating system displays the corresponding application program in an application program window as shown.
  • the operating system displays each running application program in a separate application program window. Accordingly, Fig. 1 shows a first application program running in window 28 and a second application program running in window 30.
  • Alert dialog box 32 is also shown on display surface 22.
  • Alert dialog box 32 provides an alert message to the user to indicate when an alert or error condition has occurred.
  • Either the operating system or one of the application programs generates alert dialog box 32 automatically or according to user-provided input ⁇ as with an appointment reminder.
  • the alert messages that are displayed in alert dialog box 32 include, without limitation, an indication that an error condition has occurred, an appointment reminder, notification of electronic mail, an indication that an application program has completed some predefined step or steps, or a request for the user to provide additional data.
  • Alert dialog box 32 is one of several types of alert dialog boxes that are displayed on monitor 20.
  • a first type of alert dialog box may be moved or closed by the user without requiring the user to provide any further response. Alternatively, the first type of alert dialog box is displayed for a predetermined amount of time after which it disappears.
  • a second type of alert dialog box disables user input to a specified application program until the user provides the response or input requested by the alert message.
  • a third type of alert dialog box disables user input to all application programs until the user provides the response or input requested by the alert message.
  • FIG. 2 is a block diagram of computer system 12.
  • Computer system 12 includes a central processing unit (CPU) 34, random access memory (RAM) 36, readonly memory 38, a disk storage device 40, a pointing device controller/driver 42, a keyboard controller/driver 44, a timer 46, a graphics accelerator 48, and a video controller 50, all coupled to computer bus 52.
  • Keyboard controller/driver 44 is shown coupled to enhanced keyboard 16 and video controller 50 is shown coupled to a monitor 20 and a printer 54.
  • one or more elements might by combined.
  • pointing device controller/driver 42 and keyboard controller/driver 44 may be combined into a single unit.
  • CPU 34 processes the instructions of the various programs stored in memory on computer system 12 (e.g., RAM 36, ROM 38, or Disk Storage Device 40).
  • the stored programs include, without limitation, the operating system, various application programs, and various built-in routines for controlling the operation of computer system 12 (e.g., BIOS).
  • CPU 34 controls the interaction of the other components coupled to bus 52.
  • CPU 34 uses the pointing device controller/driver 42 to receive relative-positional data from pointing device 18, and keyboard controller/driver 44 to transfer data to/from keyboard 16.
  • CPU 34 uses timer 46 to measure precise intervals of time according to various programs running on computer system 12. Applications of timer 46 include, without limitation, controlling the refresh cycle for dynamic memory circuits, measuring a time-out interval after which monitor 20 is disabled, and generating harmonics for sound generation via a speaker or other sound-generating device.
  • CPU 34 uses video controller/driver 50 to generate images on monitor 20 and/or printer 54.
  • Video controller/driver includes a separate processor and memory (not shown).
  • Graphics accelerator 48 is optional and includes a limited instruction set for executing certain frequently used graphics functions independently of CPU 34.
  • Fig. 3 is an illustration of a preferred embodiment of an enhanced keyboard 60 according to the present invention.
  • the preferred embodiment of enhanced keyboard 60 includes keyboard housing 62, a plurality of keys, and a number of indicator lamps.
  • the plurality of keys are arranged in functional groups including a QWERTY keypad 72, a numeric keypad 74, a function, key group Z ⁇ , and a control key group 78.
  • Each of the foregoing functional groups is well-known in the art and requires no further description.
  • enhanced keyboard 60 also includes an application key group 80.
  • Application key group 80 includes five application keys arranged along the left edge of keyboard housing 62.
  • computer system 12 is customizable to correspond an application program stored in computer system 12 to each of the application keys.
  • FIG. 4 is an enlarged view of a preferred embodiment of application key group 80. Each key is marked with a symbol for indicating the type of application program with which it corresponds.
  • a first application key 82 is marked with a symbol which suggests that the key is operated in conjunction with an application program for providing an electronic calendar or personal information manager;
  • a second application key 84 is marked with a symbol which suggests that the key is operated in conjunction with an application program for sending and receiving electronic mail;
  • a third application key 86 is marked with a symbol which suggests that the key is operated in conjunction with an application program for word processing;
  • a fourth application key 88 is marked with a symbol which suggests that the key is operated in conjunction with an application program for an electronic spreadsheet;
  • a fifth application key 90 is marked with a symbol which suggests that the key is operated in conjunction with an application program for drawing graphics.
  • each key is not critical and may vary. For example, it may be a letter or group of letters, an emblem, or some combination thereof. Also, the manner of affixing a mark on each key is not critical and may vary. For example, the symbol may be embossed, may be painted on the key, may be applied by means of a sticker or other attachment, or may be affixed by some combination of the foregoing.
  • each application key may be marked with a generic symbol (e.g., Al, A2, A3, etc.), and a template which indicates the application program to which each application is associated is placed over the application key group 80.
  • Enhanced keyboard 60 also includes a number of indicator lamps 64, 66, 68 and 70 such as those shown in Fig. 2.
  • A.first lampj6 indicates whether a "Num Lock” feature is activated; a second lamp 66 indicates whether a "Scroll Lock” feature is activated; and a third lamp 68 indicates whether a "Caps Lock” feature is activated.
  • Each of the foregoing lamps is well-known in the keyboard art.
  • Enhanced keyboard 60 also includes a fourth lamp 70 for indicating an alert condition to the user.
  • alert lamp 70 is provided along the front edge of enhanced keyboard 60 as shown; however, the position of alert lamp 70 is not critical and may vary.
  • computer system 12 is customizable to illuminate alert lamp 70 when certain predefined alert conditions occur.
  • computer system 12 is further customizable to cause alert lamp 70 to blink a characteristic number of times, at a characteristic rate, with or without a characteristic intensity according to the type of alert condition that has occurred.
  • Fig. 5 is an enlarged view of one illustrative embodiment of alert lamp 70 according to the present invention.
  • alert lamp 70 comprises a light-emitting diode 92 ("LED" hereinafter) and a light cover 94 which disperses the light from the LED.
  • Cover 94 is coupled to keyboard housing 62 and is clear or colored as necessary to enhance the effect of LED 92.
  • the size and color of light cover 94 in combination with the intensity of the LED 92 are such that alert lamp 70 is easily visible to an observer from a distance of 5 meters away when LED 92 is illuminated.
  • Fig. 6 is a block diagram of computer system 95 which incorporates the present invention. The items which are identical to those depicted in Fig. 2 are similarly numbered. Keyboard controller/driver 44 shown in Fig. 2 has been replaced with an Enhanced keyboard controller/driver 96 which is coupled to Enhanced keyboard 60.
  • Fig. 7 is a block diagram of one embodiment of an enhanced keyboard 60 according to the present invention.
  • Enhanced keyboard 60 includes a scan matrix 98, an x-decoder 100, a y-decoder 102, a keyboard chip 104, key indicator lamps 64, 66, and 68, a key status lamp driver 106, an alert lamp 70, an alert lamp driver 108.
  • Scan matrix 98 includes a number of signal lines displaced in an x- direction and a y-direction as shown.
  • a key switch is located at the intersection of each x- and y-line corresponding to a key of enhanced keyboard 60. The highlighted switches correspond to application keys 80, 84, 86, 88, and 90.
  • Keyboard chip 104 is a microprocessor which includes the commands for controlling the operation of scan matrix 98. When one of the application keys is activated (i-. e x pressed and then released), scan matrix 98, x-decoder 100, y-decoder 102, and keyboard chip 104 operate together to generate a "make" code and a "break" code which uniquely correspond to the activated application key.
  • Keyboard chip 104 transmits the "make” and "break” codes to enhanced keyboard controller/driver 96 via cable 112.
  • scan matrix 98, x-decoder 100, y-decoder 102, and keyboard chip 104 in generating "make” and “break” codes and transmitting them to computer system 95, the reader is referred to Hans-Peter Messmer, The Indispensable PC Hardware Book, pp. 919-943 (2d ed. 1995), incorporated here by reference.
  • keyboard chip 104 includes commands for controlling key status lamps 64, 66 and 68 and alert lamp 70.
  • keyboard chip 104 issues control signals to key status lamp controller 106 responsive to instructions received from computer system 95 via enhanced keyboard controller 96 and keyboard cable 112.
  • key status lamp controller 106 responsive to instructions received from computer system 95 via enhanced keyboard controller 96 and keyboard cable 112.
  • keyboard chip 104 issues control signals to alert lamp controller 108 in response to instructions received from enhanced keyboard controller/driver 96 via keyboard cable 112.
  • Fig. 8 is a block diagram of one embodiment of enhanced keyboard controller/driver 96 according to the present invention.
  • the items shown in Fig. 8 include keyboard interface circuit 110, key code converter 113, and application key processor 114.
  • Keyboard interface circuit 110 receives key codes (e.g., "make” and "break” codes) from keyboard chip 104, and acts as a serial-to-parallel buffer for computer system 95.
  • Key code convertor 113 translates the received key codes into an appropriate form for processing by the operating system or by the application programs running on computer system 95.
  • Key code convertor 113 includes, without limitation, a character code generator 116, a control code generator 118, a function key code identifier 120, an application key code identifier 122, and a key code storage unit 124.
  • Key code storage unit 124 stores all possible key codes organized into functional groups. The operation of character code generator 116, control code generator 118, and function key identifier 120 is well-known in .the- art and will not be described further. If the received key codes do not correspond to a character key, a control key, or a function key, then application key code identifier 122 compares the key codes with the contents of key storage unit 124 to determine whether the received key codes correspond to an application key code. When the received key codes do not correspond to an application key code, the key codes are passed to the active application program without further processing. When the received key codes do so correspond, application key code identifier 122 directs the received key codes to application key processor 114.
  • Application key processor 114 includes, without limitation, an enhanced keyboard applet 126, a key-to-application map 128, an application code generator 130, a program running detector 132, a launch/active switch 134, launching unit 136, and top- active unit 138.
  • Enhanced keyboard applet 126 provides a user interface by which a user specifies how the application programs correspond to the application key codes (and to the application keys). This information is stored in application map 128.
  • Application code generator 130 receives an application key code from key code convertor 113 and compares it with the contents of application map 128. When there is a match, application code generator 130 issues an application code which uniquely identifies the application program to which the application key code corresponds. The application code is transmitted to program running detector 132 and to switch 134. Program running detector 132 determines whether the identified application program is running on computer system 95. If so, then program running detector 132 causes switch 134 to direct the application code to the input of top-active unit 138. Conversely, when program running detector determines that the identified application program is not running on computer system 95, then program running detector 132 causes switch 134 to direct the application code to the input of launching unit 136.
  • top-active unit 138 issues a top-active command to the operating system.
  • the operating system executes the top-active command by making the application program window of the specified application the top-active window.
  • Launching unit 136 responds to the application code by issuing a launch command to the operating system which causes the same to launch the specified application program in its own window.
  • Fig. 9 is a process flow diagram illustrating a method for accessing and launching an application program via the keyboard according to the present invention.
  • the application key apparatus scans for a key code.
  • the application key apparatus detects a received key code, it retrieves the key code and determines at step B whether the retrieved key code corresponds to an application key. If not, then the application key apparatus processes the key code accordingly at step C. For example, when the key code corresponds to an alphanumeric key, the application key apparatus forwards the key code to the operating system which converts the retrieved key code into an ASCII code format and forwards the ASCII-coded key to the appropriate application program.
  • the application key apparatus compares the retrieved key code to the information stored in database E to identify the application program to which the retrieved key code is associated.
  • Database E includes information that maps the list of possible application key codes to the list of application programs on computer system 95.
  • the application key apparatus determines whether the application program specified at step D is running. When the program is running on computer system 95, the application key apparatus causes the operating system to issue a command at step G to make the window for the specified application program the top-active window. When the program is not running on computer system 95, the application key apparatus causes the operating system to issue a command at step H to launch the specified application program in its own window on computer system 95. Control then returns to step A for the next key code.
  • Fig. 10 is a block diagram representation of an operating system 150 for computer system 95 which incorporates the present invention.
  • operating system 150 is a computer program which is stored on disk storage device 40, downloaded to RAM 36, and executed by CPU 34.
  • operating system 150 is multi-tasking in that it is capable of running several application programs at once limited only by the amount of memory on computer system 95. In Fig. 10, therefore, operating system 150 is shown with several application programs 152, 154, 156 and 158, running at once.
  • Operating system 150 also includes, without limitation, a system resources block 160, an event storage unit 162, a device-independent interface 164, and several device drivers 166, 168, 17.0 and 172 J _- - -
  • the device drivers 166, 168, 170 and 172 shown in Fig. 10 include, by way of illustration without limitation, a display driver 166, a printer driver 168, a pointing device driver 170, and an enhanced keyboard driver 172.
  • Each device driver includes routines for enabling computer system 95 to control and communicate with the various peripheral devices coupled thereto.
  • display driver 166 includes routines which enable computer system 95 to control and communicate with a particular make and model of monitor 20.
  • Printer driver 168 includes routines for enabling computer system 95 to control and communicate with a particular make and model of printer 54.
  • Pointing device driver 170 provides the routines for enabling computer system 95 to control and communicate with a particular make and model of pointing device 18.
  • enhanced keyboard driver 172 provides routines for enabling computer system 95 to control and communicate with enhanced keyboard 60.
  • enhanced keyboard driver 172 includes a group of routines for enabling key code convertor 113 and launch- active controller 114. The operation of these elements has been described above and need not be repeated here.
  • Enhanced keyboard driver 172 also includes a group of routines for controlling the operation of alert lamp 70.
  • Enhanced keyboard driver 172 includes routines for turning alert lamp 70 ON and OFF, for controlling the intensity of alert lamp 70, and for setting timer 46. These routines are executed according to instructions provided by an Alert Filter program 160 described in the following paragraphs.
  • the routines cause CPU 34 to generate commands which are executed by enhanced keyboard controller/driver 96 and which cause the same to generate signals that operate alert lamp driver 108 as described.
  • the device-independent interface 164 provides a generalized interface between the application programs 152, 154, 156 and 158 and the various devices coupled to computer system 95. Because of the general nature of device-independent interface 164, each application program can control and communicate with the various devices coupled to computer system 95 without knowing the specific commands required to operate the particular make and model of each device.
  • the elements contained in device- independent interface 164 include, without limitation, a user interface 174, a file manager 176, and a graphics display interface 178.
  • User interface 174 includes routines which enable a user to control and communicate with the operating system 150 or an application program via enhanced keyboard 60, pointing device is l and monitor 20.
  • File manager 176 includes routines which enable the application programs to store, retrieve, and organize data on disk storage device 40.
  • Graphics display interface 178 includes routines which enable the application programs to display a variety of graphical objects on monitor 20 and/or printer 54.
  • System resources block 160 includes the system routines, commands, and other resources which are used by all of the applications programs.
  • the resources contained in system resources block 160 include, without limitation, routines for defining, creating, moving, and destroying an application program window; a massaging system for distributing data to, among, and between application programs; routines for allocating system hardware resources to the application programs on a time-shared basis; routines for defining and creating an alert dialog box; and device-independent commands for causing an alert dialog box to be displayed on display surface 22.
  • Fig. 10 also shows an event storage unit 162 coupled to system resources block 160.
  • Event storage unit 162 maintains a record of the transactions between the application programs 152, 154, 156 and 158 and the system resources block 160.
  • event storage unit keeps a record of the transactions which occur when operating system 150 or one of the application programs 152, 154, 156 and 158 creates an alert dialog box for display on monitor 20.
  • the type of transactions recorded includes, without limitation, calls to system routines used for defining and/or creating an alert dialog box, messages communicated among and between application programs, and commands transferred to the device-independent interface 164 for causing an alert dialog box to be displayed on display surface 22.
  • the application programs shown in Fig. 10 include a power-saving program 152, a generic application program 154, an alert-indicator (AI) enabled application program 156, and an alert filter program 158.
  • the function of generic application program 154 is relevant only in that it includes commands for causing an alert dialog box to be displayed on monitor 20 when an alert condition occurs. Such programs are well-known in the art.
  • Power-saving program 152 is also well-known in the art. It includes routines that cause monitor 20 to be disabled when no user input is detected at enhanced keyboard 60 and pointing device 18 for a predetermined amount of time.
  • Power-saving program 152 causes monitor 20 to be reactivated when computer system 12 detects input from enhanced keyboard 60 or pointing device 18.
  • Al-enabled application program 156 includes commands for directly controlling alert lamp 70 via enhanced keyboard controller/driver.
  • Al-enabled application program 156 generates alert indicator control commands which are passed by operating system 150 to enhanced keyboard driver 172.
  • Enhanced keyboard driver 172 thereafter causes CPU 34 to generate control signals for timer 46 and enhanced keyboard controller/driver 96 to operate alert lamp 70 accordingly.
  • Examples of typical Al-enabled application program include, without limitation, security programs which cause alert lamp 70 to activate when computer system 95 is secured; point-of-sale programs which cause alert lamp 70 to activate when computer system 95 has been designated as a point-of-sale display device; and power-on indicator programs which cause alert lamp 70 to be activated as long as power is supplied to computer system 95.
  • FIG. 11 is a block diagram of the elements of Alert Filter 158 according to the present invention. It includes a user interface 180, an alert monitor 182, an alert lamp controller 184, and an alert lamp data storage unit 186.
  • the user interface includes routines that define and create the typical windows, menus, and dialog boxes by which the user interfaces with Alert Filter 158.
  • the user specifies the type of alert conditions for which alert lamp 70 will be activated.
  • the specified alert types are thereafter stored in alert lamp storage unit 186.
  • the user programs Alert Filter 158 to cause alert lamp 70 to blink a characteristic number of times, at a characteristic rate, with a characteristic intensity according to the type of alert condition that has occurred. This information is also stored in alert lamp storage unit 186.
  • the alert monitor 182 includes routines for determining whether an application program or the operating system has created an alert dialog box for display on monitor 20, and for identifying the type of alert condition associated with the identified alert dialog box.
  • the alert monitor may perform this function by intermittently reviewing the contents of event storage unit 162.
  • the alert monitor determines that an alert dialog box has been created, the alert monitor next identifies the alert type. Having determined the type of alert condition, alert monitor then passes control to the alert lamp controller 184.
  • the alert lamp controller 184 as its name indicates, includes the routines for controlling operation of alert lamp 70.
  • Alert lamp controller 184 first compares the identified alert type to the information stored in alert lamp data storage unit 186 to determine whether the identified alert type corresponds o-one of those stored in alert lamp storage unit 186.
  • alert lamp controller 184 retrieves the control attributes corresponding to the stored alert type from alert lamp storage unit 186.
  • the control attributes may include, without limitation, a TIMES attribute which defines the characteristic number of times that alert lamp 70 blinks within a predetermined time period for the specified alert type, a RATE attribute which defines the characteristic frequency that alert lamp 70 blinks for the given alert type, and an INTENSITY attribute which defines the characteristic intensity for alert lamp 70 for the given alert type.
  • Alert lamp controller 184 then passes the control attributes to enhanced keyboard driver 172 in the form of alert indicator control commands.
  • Enhanced keyboard driver 172 thereafter causes CPU 34 to generate control signals for timer 46 and enhanced keyboard controller/driver 96 which operate alert lamp 70 accordingly.
  • Fig. 12 is a process flow diagram illustrating a method for indicating an alert condition to a user via the keyboard according to the present invention.
  • the alert indicator apparatus monitors the operating system at step A to detect when an alert event occurs.
  • an alert event is deemed to have occurred whenever the routines for creating, displaying, or destroying an dialog box of a predetermined type or the routines for creating, displaying, or destroying an error message box are called by an application program or by the operating system.
  • the alert indicator apparatus identifies the alert type for the detected alert event.
  • an alert event may correspond to a fatal system error, to an application-specific error having no effect on other application programs, to a prompt for user input, or to a simple notification or reminder.
  • the alert types corresponds to the type of dialog box or error message box that is created, displayed, or destroyed.
  • a first type of dialog box is one which can be moved or closed by the user without requiring any other input by the user, or which disappears automatically after a predetermined amount of time.
  • a second type of dialog box disables user input to an associated application program until the user provides the response or input requested by the alert message. Input to other application programs is not disabled.
  • Aihird type of alert dialog box disables user input to all application programs until the user provides the response or input requested by the alert message.
  • the alert indicator apparatus retrieves the stored alert types from database D.
  • the stored alert types are a subset of all possible alert types which may be identified at step B.
  • the user designates those alert types for which the alert indicator will activate.
  • the designated alert types are then stored in database D as the stored alert types.
  • the alert indicator apparatus determines whether the identified alert type corresponds to one of those retrieved from database D. When there is not a match, the alert indicator apparatus returns to the START state without further processing of the alert event. When there is a match, the alert indicator apparatus retrieves the control attributes for the corresponding alert type from database D.
  • the control attributes define how the alert indicator operates for the specified alert type. In one illustrative embodiment of the present invention, the control attributes define a blinking rate, a blinking time-period, and a blinking intensity for each stored alert type.
  • the control attributes for each alert type are designated by the user and stored in database D.
  • the alert indicator apparatus transmits control signals to operate alert lamp 70 according to the retrieved control attributes. Control then returns to step A.
  • the invention includes an apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver.
  • the apparatus includes some type of a input device, preferably a keypad device having a plurality of keys coupled to a keyboard housing, the plurality of keys including an ecommerce key, but other type of input device is possible, such as a voice recognition system.
  • the apparatus also includes a key press recognition mechanism (when the input device is a keypad, though the invention may be adapted as required dependent upon the type of input device used), coupled to the plurality of keys, for identifying to the input device driver when the ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated.
  • a key press recognition mechanism when the input device is a keypad, though the invention may be adapted as required dependent upon the type of input device used
  • an ecommerce communication application operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated.
  • the ecommerce communication application is a web browser, but other types of communications mechanisms may be implemented to establish a commercial exchange.
  • the preferred embodiment pre-associates ecommerce sites with the available ecommerce selectors of the input device (e.g. keys of the keypad), but it is possible to dynamically reroute communications to appropriate ecommerce sites. It is an aspect of the present invention to have multiple ecommerce keys, each associated with a type of commercial transaction. These different commercial transactions are appropriate for a specific implementation, or demographic group, and may, for example, be classified as books, music, periodicals, groceries, etc. Whatever is a desired differentiation of the online ecommerce sites to make use and selection by the user simple, convenient and efficient.
  • the Internet commerce invention has the advantage of being able to financially benefit a referral source for association of an ecommerce site with an ecommerce selector (e.g., a ecommerce key).
  • an ecommerce selector e.g., a ecommerce key
  • the actual ecommerce address associated with ecommerce site includes identification information, such as by pre-pending or post-pending identifying data, or the address may be unique.
  • additional communication may be established between the ecommerce communication application (or an associated plugin, script or applet) and the ecommerce site or the ecommerce site server.
  • each input device has associated with it an identifier that enables a user to be identified to the ecommerce site or to the ecommerce site server. In some models, the identifier will also identify the referral source, in addition to the user.
  • the ecommerce site server When using identifiers associated with the input device, it is possible for the ecommerce site server, either when pre-associating or dynamically associating ecommerce sites with ecommerce keys, to establish a user profile that may include user contributed information and user use statistics, to establish a personalized set of ecommerce sites for each user.
  • identifiers When identifiers are used, a user is able to select specific ecommerce sites for their ecommerce selectors, or for specific classes of commercial transactions. Further, a single ecommerce server may be established for different classes or subclasses of identifiers, letting multiple entities use the same server. For example, one company may distribute 'Brand X' keypads and another may distributs-'Brand Y' keypads. The identifiers of the different boards could be used to unambiguously identify Brand X users to the servers and provide different ecommerce sites than those provided to the users of the Brand Y keypads.
  • the revenue sharing model also allows further division of the financial benefit rather than having all the benefit be provided to the ecommerce server operator.
  • Users, keypad distributors, keypad marketers and third parties may also refer sites to the ecommerce server operator and receive a proportionate share of the bestowed financial benefit. Financial benefit may be bestowed even if the user does not transact business on the site, as accessing the site by the user may be of sufficient value to motivate the ecommerce site operator to provide the financial benefit to the referral source or sources. While the above is a complete description of a preferred embodiment of the invention, various modifications, alternative constructions, and equivalents may be used. For example, alert filter 158 and event storage unit 162 may be combined without departing from the spirit of the invention.
  • alert lamp 70 may comprise a plurality of light-emitting diodes having different colors.
  • the alert filter would thereafter be programmable to cause the alert lamp to activate an LED of a certain color for a specified alert type. Accordingly, the above description should not be taken as limiting the scope of the invention which is defined by the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention comprises a method and apparatus for facilitating Internet Commerce from a personal computer. In particular, the present invention comprises a method and apparatus for automatically connecting a user to an ecommerce site associated with an ecommerce key of a keypad device, and financially rewarding the referral source for the communication after it is made.

Description

METHOD AND APPARATUS FOR INTERNET COMMERCE
This application is a continuation of and claims priority from U.S. Patent
Application No. 09/313,954 filed on May 18, 1999 and co-pending U.S. Provisional Patent Application 60/134,741 filed on May 18, 1999, the disclosures of which are incorporated in their entirety herein by reference.
BACKGROUND OF THE INVENTION The present invention relates generally to keyboard or keypad devices for use with a personal computer. More specifically, the present invention relates to an enhanced keyboard system for operation with personal computers currently known in the art to enhance and promote Internet Commerce by matching users to WWW sites on the Internet. The prior art has many instances of use of the world- wide web (WWW) and the Internet for commerce opportunities. Many of the prior art solutions provide for advertiser, commerce or content provider links included in web pages presented on web browsers that have been directed to a specific universal resource locators (URLs). A user activating one of these links is directed to the appropriate web page via the activated link. Revenue is generated for the owner of the web site hosting these things either due simply to directing users to a site, or when the user purchases something or performs some other action. Advertising revenue is generated by the number of users accessing and viewing particular pages.
It has been a goal of such WWW sites to create, promote, market and advertise their sites to encourage people to start their computer, initiate the browser, and direct it to their site.
The keyboard is the most frequently used input device for a personal computer. A typical computer keyboard has a QWERTY key layout, and often includes a numerical keypad, shift keys (e.g., right-hand and left-hand shifts, ALT, and CTRL), toggle keys (e.g., CAPS LOCK, NUM LOCK, and SCROLL LOCK) and function keys. Many models also have small indicator lights which indicate when a particular key or function (e.g., CAPS LOCK, NUM LOCK, or SCROLL LOCK) is engaged. Combinations of these features are found on keyboards compatible with both IBM-type personal computers and the Macintosh line.
A typical keyboard includes a keyboard chip and a scan matrix which cooperate to generate two unique scan codes whenever a key is pressed— one scan code when the key is pushed down (i.e., make code) and another when the key is released (i.e., break code). The keyboard chip subsequently transmits the scan codes to a keyboard controller in the host computer via the keyboard cable. Upon receipt on the scan codes, the keyboard controller generates an interrupt signal. In response, the computer's CPU calls an interrupt handling routine that processes the scan codes and translates them into character or command codes which are recognized by the computer's operating system or application programs.
In addition to generating scan codes, a typical keyboard also processes a limited number of commands received from the computer to control its status. In particular, it is known in the art that a keyboard responds to commands from the computer to turn on/off the small indicator lights described above, to reset or disable the keyboard, or to set the repetition rate and repeat delay for keys when they are held down.
A typical personal computer to which the above-described keyboard may be attached has an operating system that enables the computer to run multiple application programs at once limited only by the amount of memory installed in the computer. Such an operating system typically also employs a graphical user interface (GUI) of the type well-known in the art. Via the GUI, the user interacts with application programs, manages files and file storage devices, operates peripherals, controls network interfaces, and executes commands by operating a pointing device to manipulate icons and menus items arranged on an electronic desktop displayed on the computer monitor.
On a personal computer having the typical operating system described above, the user operates the pointing device to control a cursor displayed on the screen. The user launches an application program by using the pointing device to point the cursor to an icon displayed on the computer monitor that represents the desired application program, and then "clicking" on the icon with the pointing device. The operating system displays the application on the electronic desktop in a "window." When several application programs are running at once, the operating system typically displays each running application program in its own window. However, the typical user only interacts with one application window at a time. We designate the window with which the user currently interacts as the "active" window. It is often displayed so that it appears as if it is "on top of the other application program windows and/or application icons displayed on the electronic desktop. This feature of the "top-active" application window often causes it to partially or totally obscure other application windows or icons shown on the electronic desktop.
When the current top-active window partially or totally obscures the other application windows or icons, the user must first operate the pointing device to cause the operating system to close, reduce or move the current top-active window before he or she can select another top-active window and/or launch another application program.
Alternatively, the user employs a special system management window provided by the operating system (e.g., Apple Macintosh "Desktop", Windows "Program Manager") to select a new top-active window and/or to launch another application program. The operating system displays the system management window when the user operates the pointing device to point to and click on a special menu item or icon provided for that purpose. Once at the system management window, the user selects a new application program to launch or to display by operating the pointing device as previously described.
The procedures described above require the user to rely heavily on the pointing device to manipulate items on the electronic desktop to launch another application or to select a new top-active window. Using the pointing device is usually less time efficient than using the keyboard because of the hand-to-eye coordination inherently required (e.g. locating the cursor on the screen, moving the cursor to the desired location, etc.) Also, Using on the pointing deviceOften requires the user to remove one hand from the keyboard, thereby increasing the likelihood of typographical error due to misplacement of the hands on the keyboard after manipulating the pointing device.
An alternative to using the pointing device is to manipulate items on the display via the keyboard. However, current methods for operating a GUI via the keyboard often involve complicated procedures which require the user to execute complex keystroke combinations (e.g., Cntl+Esc, Alt+Tab, Alt & F & R, etc.) not readily known by less experienced users, or to understand and program complicated keyboard macros for performing the desired functions. The modern personal computer employs energy-saving devices with increasing frequency. For example, many personal computer systems include a power- saving apparatus which operates according to a power-saving program to disable the monitor if no user input is detected for a predetermined amount of time. The user presses a key or moves the pointing device to reactivate the monitor. Such devices are a boon to energy conservation efforts and to the environment, especially in view of the proliferation of the personal computer in both homes and businesses.
Most operating systems and application programs currently known in the art generate alert messages when an alert or error conditions occurs. The alert messages are displayed on the monitor and may be accompanied by an audible alarm. For example, it is known in the art to generate an alert message to notify a user that e-mail has been received, to indicate that an error condition has occurred, to notify the user of a scheduled appointment, or to ask the user to provide additional data.
When an alert condition occurs after the power-saving program has disabled the monitor, the user will not see the alert message generated by the operating system or the application program. When an audible alarm accompanies the alert message, then the user often hears the audible alarm and responds to it accordingly by reactivating the screen and responding to the message as requested. However, there are many instances when no audible alarm is provided or when the user may not hear the audible alarm. For examples of the latter, the user may be hearing-impaired, may work in a noisy operating environment, may be away from the computer at the time of the alert, or, because of the proliferation of computers in the workplace, may mistake the audible alarm of the user's workstation for the audible alarm of another's workstation.
It is known to provide computer systems having a computer keyboard outfitted with several specialized buttons which, when activated, launch a specific application or URL.
SUMMARY OF THE INVENTION The present invention comprises a method and apparatus for implementing an enhanced computer keyboard system. In particular, the present invention comprises a method and apparatus for accessing and launching application programs via the keyboard and for indicating an alert status to a computer user via the computer keyboard. The present invention offers an improved and simplified system for the initiation and fulfillment of Internet commerce. The preferred embodiment provides a specialized keyboard including a plurality of extra Internet buttons, which in the preferred embodiment is an entire extra row of function keys. Each of these buttons is associated with a specific Internet company that desires to sell a good or service to the user, or desires other activities for which the company is willing to pay. The keyboard is automatically configured such that activation of the individual buttons immediately takes the user to the specific site in which the user may purchase the goods or services, or perform the requested service. In the preferred embodiment, a company distributes these specialized keyboards for free or nominal cost. The company associates preestablished vendors with each of the specialized keys, either for a fee or for a portion of the generated revenue, or some combination. When a user activates one of the specialized keys and purchases the good or service, or performs other activity that generates revenue for the company, some of that revenue is returned to the user either as a rebate, discount or other valuable offers.
For ease of use, specific buttons may be identified by function or product.
For example, keys may associated with them book, movie, video, software, flower icons.
Selection of the key with the book icon activates a site enabling the user to purchase a book, at a discount or for other remuneration. The company may periodically reassociate these Intemet buttons with other Internet companies or services.
In the preferred embodiment, the computer system attached to the specialized computer keyboard operates a configuration program which detects activation of these special keys, and activates the user's Internet browser with the specific URL. Hence, the user does not have to learn or remember specific URLs for effective and economical access to the Internet services. The configuration program will periodically contact a configuration server operated by the company to receive new configuration information for the Internet keys. It is possible to use user identification information or other demographic information or user preference profiles (provided by the user in response to specific questions, for example) to establish a specialized and custom configuration set of Internet buttons.
It is also possible to provide useful, non-commercial sites and URLs along with the Intemet commerce sites to enhance the functionality and appeal of the specialized keyboard system. In a preferred embodiment, the invention includes an apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver. The apparatus includes some type of a input device, preferably a keypad device having a plurality of keys coupled to a keyboard housing, the plurality of keys including an ecommerce key, but other type of input device is possible, such as a voice recognition system. The apparatus also includes a key press recognition mechanism, coupled to the plurality of keys, for identifying to the input device driver when the ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated.
According to one aspect of the present invention, it is an enhanced keyboard system comprising an application key apparatus and an alert-indicating apparatus. The application key apparatus includes an enhanced computer keyboard, an application key signal generating unit, and an application key processing unit. The enhanced computer keyboard comprises one or more application keys contained in a keyboard housing. The application key signal generating unit is coupled to the application keys and generates an application key signal when an application key is pressed and/or released. The application key processing unit is coupled to the application key signal generating unit. When a specified application program is not currently running on the computer, the application key processing unit responds to the application key signal to cause the operating system to launch the specified application program. When the specified application program is currently running on the computer, the application key processing unit responds to the application key signal to cause the operating system to make the window associated with the specified application program the top-active window.
The alert-indicating apparatus comprises an enhanced computer keyboard, an alert filter, and an alert filter interface. The enhanced computer keyboard includes a plurality of keys contained in a housing, and an alert indicator coupled to the keyboard housing. The alert filter is coupled to the operating system and generates a plurality of alert indicator control signals when the operating system and/or an application program issues an alert message of a specified type. The alert filter is customizable to specify the type of alert conditions for which the alert indicator will activate. The alert filter is further customizable to activate the alert indicator in a characteristic manner according to the type of alert condition that has occurred. The alert filter interface transfers alert indicator control signals from the alert filter to the alert indicator coupled to the keyboard. According to another aspect of the present invention, it is a method for accessing and launching application programs via the keyboard that comprises the steps of 1) scanning for a key signal; 2) determining whether a received key signal is an application key signal; 3) identifying the application program that corresponds to the received application key signal; 4) determining whether the identified application program is currently running on the computer; 5) when the identified application program is currently running, making the window corresponding to the identified application program the top-active window; and 6) when the identified application program is not currently running, launching the identified application program.
According to yet another aspect of the present invention, it is a method for indicating an alert status to the user via the keyboard that comprises the steps of 1) detecting when an alert event occurs; 2) identifying the type of alert associated with the detected alert event; 3) determining whether the identified alert type corresponds with one of the stored alert types; 4) retrieving the alert indicator control attributes associated with the corresponding stored alert type; and 5) transmitting a plurality of alert indicator control signals according to the retrieved alert indicator control attributes.
These and other novel aspects of the present invention will be apparent to those of ordinary skill in the art upon review of the drawings and the remaining portions of the specification. __- -
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a drawing of a computer workstation having a configuration that is currently know i in the art;
Fig. 2 is a block diagram a computer system having a configuration that is currently known in the art;
Fig. 3 is a drawing of a preferred embodiment of an enhanced keyboard according to the present invention;
Fig. 4 is an enlarged view of an illustrative embodiment of the application key portion of the enhanced keyboard of the present invention; Fig. 5 is an enlarged view of an illustrative embodiment of the alert lamp portion of the enhanced keyboard of the present invention;
Fig. 6 is a block diagram of a computer system which incorporates the present invention; Fig. 7 is a block diagram of one embodiment of components of the enhanced keyboard according to the present invention;
Fig. 8 is a block diagram of one embodiment of the components of the enhanced keyboard controller/driver according to the present invention;
Fig. 9 is a process flow diagram illustrating a method for accessing and launching an application program via the keyboard;
Fig. 10 is a block diagram representation of an operating system that incorporates the present invention;
Fig. 11 is a block diagram of an illustrative embodiment of an Alert Filter according to the present invention; and Fig. 12 is a process flow diagram illustrating a method for indicating an alert condition to a user via the keyboard.
DESCRIPTION OF THE SPECIFIC EMBODIMENTS Fig. 1 is an illustration of a conventional workstation 10, which includes a computer system 12 coupled to a fixed disk 14, a keyboard 16, a pointing device 18, and a monitor 20 having a display surface 22. The examples that follow refer to an image being displayed on display surface 22 of monitor 20; however the invention is equally applicable to variations such as where the display device is a printer and the display surface is a printed page, or the display device is some other pixilated or rasterized display device. Here, pointing device 18 is shown as a mouse; however other types of pointing devices such as a trackball, a light-pen, etc. may also be suitably employed.
Display surface 22 shows a number of objects being displayed associated with the GUI. The displayed objects include application program icons 24 and 26, application program windows 28 and 30, and alert dialog box 32. To launch an application program, the user employs pointing device 18 to point to and click on one of the application program icons, 24 or 26. In response, the operating system displays the corresponding application program in an application program window as shown. When more than one application program is running at the same time, the operating system displays each running application program in a separate application program window. Accordingly, Fig. 1 shows a first application program running in window 28 and a second application program running in window 30.
Alert dialog box 32 is also shown on display surface 22. Alert dialog box 32 provides an alert message to the user to indicate when an alert or error condition has occurred. Either the operating system or one of the application programs generates alert dialog box 32 automatically or according to user-provided input ~ as with an appointment reminder. The alert messages that are displayed in alert dialog box 32 include, without limitation, an indication that an error condition has occurred, an appointment reminder, notification of electronic mail, an indication that an application program has completed some predefined step or steps, or a request for the user to provide additional data.
Alert dialog box 32 is one of several types of alert dialog boxes that are displayed on monitor 20. A first type of alert dialog box may be moved or closed by the user without requiring the user to provide any further response. Alternatively, the first type of alert dialog box is displayed for a predetermined amount of time after which it disappears. A second type of alert dialog box disables user input to a specified application program until the user provides the response or input requested by the alert message. A third type of alert dialog box disables user input to all application programs until the user provides the response or input requested by the alert message. The foregoing description of alert dialog box types is offered primarily for illustrative purposes and is not meant to limit the type of alert dialog boxes which may be encompassed by the present invention. For example,, the foregoing types of alert dialog boxes may be further delineated by whether, the box is-generated by the operating system or by an application program. Fig. 2 is a block diagram of computer system 12. Computer system 12 includes a central processing unit (CPU) 34, random access memory (RAM) 36, readonly memory 38, a disk storage device 40, a pointing device controller/driver 42, a keyboard controller/driver 44, a timer 46, a graphics accelerator 48, and a video controller 50, all coupled to computer bus 52. Keyboard controller/driver 44 is shown coupled to enhanced keyboard 16 and video controller 50 is shown coupled to a monitor 20 and a printer 54. In variations of computer system 12, one or more elements might by combined. For example, pointing device controller/driver 42 and keyboard controller/driver 44 may be combined into a single unit. CPU 34 processes the instructions of the various programs stored in memory on computer system 12 (e.g., RAM 36, ROM 38, or Disk Storage Device 40). The stored programs include, without limitation, the operating system, various application programs, and various built-in routines for controlling the operation of computer system 12 (e.g., BIOS).
Under the control of these various programs, CPU 34 controls the interaction of the other components coupled to bus 52. For example, CPU 34 uses the pointing device controller/driver 42 to receive relative-positional data from pointing device 18, and keyboard controller/driver 44 to transfer data to/from keyboard 16. CPU 34 uses timer 46 to measure precise intervals of time according to various programs running on computer system 12. Applications of timer 46 include, without limitation, controlling the refresh cycle for dynamic memory circuits, measuring a time-out interval after which monitor 20 is disabled, and generating harmonics for sound generation via a speaker or other sound-generating device. CPU 34 uses video controller/driver 50 to generate images on monitor 20 and/or printer 54. Video controller/driver includes a separate processor and memory (not shown). Graphics accelerator 48 is optional and includes a limited instruction set for executing certain frequently used graphics functions independently of CPU 34.
Fig. 3 is an illustration of a preferred embodiment of an enhanced keyboard 60 according to the present invention. The preferred embodiment of enhanced keyboard 60 includes keyboard housing 62, a plurality of keys, and a number of indicator lamps. The plurality of keys are arranged in functional groups including a QWERTY keypad 72, a numeric keypad 74, a function, key group Zβ, and a control key group 78. Each of the foregoing functional groups is well-known in the art and requires no further description.
In the preferred embodiment of the present invention, enhanced keyboard 60 also includes an application key group 80. Application key group 80 includes five application keys arranged along the left edge of keyboard housing 62. As will be described more fully below, computer system 12 is customizable to correspond an application program stored in computer system 12 to each of the application keys.
Pressing an application key launches the corresponding application program or causes the corresponding application program window to become the top-active window depending on whether the application program is currently running on computer system 12. Fig. 4 is an enlarged view of a preferred embodiment of application key group 80. Each key is marked with a symbol for indicating the type of application program with which it corresponds. For example, a first application key 82 is marked with a symbol which suggests that the key is operated in conjunction with an application program for providing an electronic calendar or personal information manager; a second application key 84 is marked with a symbol which suggests that the key is operated in conjunction with an application program for sending and receiving electronic mail; a third application key 86 is marked with a symbol which suggests that the key is operated in conjunction with an application program for word processing; a fourth application key 88 is marked with a symbol which suggests that the key is operated in conjunction with an application program for an electronic spreadsheet; and a fifth application key 90 is marked with a symbol which suggests that the key is operated in conjunction with an application program for drawing graphics.
The particular symbol or marking used for each key is not critical and may vary. For example, it may be a letter or group of letters, an emblem, or some combination thereof. Also, the manner of affixing a mark on each key is not critical and may vary. For example, the symbol may be embossed, may be painted on the key, may be applied by means of a sticker or other attachment, or may be affixed by some combination of the foregoing. Furthermore, each application key may be marked with a generic symbol (e.g., Al, A2, A3, etc.), and a template which indicates the application program to which each application is associated is placed over the application key group 80.
Enhanced keyboard 60 also includes a number of indicator lamps 64, 66, 68 and 70 such as those shown in Fig. 2. A.first lampj6 indicates whether a "Num Lock" feature is activated; a second lamp 66 indicates whether a "Scroll Lock" feature is activated; and a third lamp 68 indicates whether a "Caps Lock" feature is activated. Each of the foregoing lamps is well-known in the keyboard art.
Enhanced keyboard 60 also includes a fourth lamp 70 for indicating an alert condition to the user. In the preferred embodiment, alert lamp 70 is provided along the front edge of enhanced keyboard 60 as shown; however, the position of alert lamp 70 is not critical and may vary. As will be explained more fully in the following paragraphs, computer system 12 is customizable to illuminate alert lamp 70 when certain predefined alert conditions occur. Furthermore, computer system 12 is further customizable to cause alert lamp 70 to blink a characteristic number of times, at a characteristic rate, with or without a characteristic intensity according to the type of alert condition that has occurred.
Fig. 5 is an enlarged view of one illustrative embodiment of alert lamp 70 according to the present invention. In the preferred embodiment, alert lamp 70 comprises a light-emitting diode 92 ("LED" hereinafter) and a light cover 94 which disperses the light from the LED. Cover 94 is coupled to keyboard housing 62 and is clear or colored as necessary to enhance the effect of LED 92. The size and color of light cover 94 in combination with the intensity of the LED 92 are such that alert lamp 70 is easily visible to an observer from a distance of 5 meters away when LED 92 is illuminated. Fig. 6 is a block diagram of computer system 95 which incorporates the present invention. The items which are identical to those depicted in Fig. 2 are similarly numbered. Keyboard controller/driver 44 shown in Fig. 2 has been replaced with an Enhanced keyboard controller/driver 96 which is coupled to Enhanced keyboard 60.
Fig. 7 is a block diagram of one embodiment of an enhanced keyboard 60 according to the present invention. Enhanced keyboard 60 includes a scan matrix 98, an x-decoder 100, a y-decoder 102, a keyboard chip 104, key indicator lamps 64, 66, and 68, a key status lamp driver 106, an alert lamp 70, an alert lamp driver 108.
Scan matrix 98 includes a number of signal lines displaced in an x- direction and a y-direction as shown. A key switch is located at the intersection of each x- and y-line corresponding to a key of enhanced keyboard 60. The highlighted switches correspond to application keys 80, 84, 86, 88, and 90. Keyboard chip 104 is a microprocessor which includes the commands for controlling the operation of scan matrix 98. When one of the application keys is activated (i-. expressed and then released), scan matrix 98, x-decoder 100, y-decoder 102, and keyboard chip 104 operate together to generate a "make" code and a "break" code which uniquely correspond to the activated application key. Keyboard chip 104 transmits the "make" and "break" codes to enhanced keyboard controller/driver 96 via cable 112. For a more detailed description of the operation of scan matrix 98, x-decoder 100, y-decoder 102, and keyboard chip 104 in generating "make" and "break" codes and transmitting them to computer system 95, the reader is referred to Hans-Peter Messmer, The Indispensable PC Hardware Book, pp. 919-943 (2d ed. 1995), incorporated here by reference.
In addition to controlling the operation of scan matrix 98, keyboard chip 104 includes commands for controlling key status lamps 64, 66 and 68 and alert lamp 70. To control key status lamps 64, 66 and 68, keyboard chip 104 issues control signals to key status lamp controller 106 responsive to instructions received from computer system 95 via enhanced keyboard controller 96 and keyboard cable 112. For a more detailed description of the operation of enhanced keyboard controller 96, keyboard chip 104, key status lamp controller 106, and key status lamps 66-68, the reader is referred again to Hans-Peter Messmer, The Indispensable PC Hardware Book, pp. 919-943 (2d ed. 1995), incorporated here by reference.
To control alert lamp 70, keyboard chip 104 issues control signals to alert lamp controller 108 in response to instructions received from enhanced keyboard controller/driver 96 via keyboard cable 112.
Fig. 8 is a block diagram of one embodiment of enhanced keyboard controller/driver 96 according to the present invention. The items shown in Fig. 8 include keyboard interface circuit 110, key code converter 113, and application key processor 114. Keyboard interface circuit 110 receives key codes (e.g., "make" and "break" codes) from keyboard chip 104, and acts as a serial-to-parallel buffer for computer system 95. Key code convertor 113 translates the received key codes into an appropriate form for processing by the operating system or by the application programs running on computer system 95. Key code convertor 113 includes, without limitation, a character code generator 116, a control code generator 118, a function key code identifier 120, an application key code identifier 122, and a key code storage unit 124.
Key code storage unit 124 stores all possible key codes organized into functional groups. The operation of character code generator 116, control code generator 118, and function key identifier 120 is well-known in .the- art and will not be described further. If the received key codes do not correspond to a character key, a control key, or a function key, then application key code identifier 122 compares the key codes with the contents of key storage unit 124 to determine whether the received key codes correspond to an application key code. When the received key codes do not correspond to an application key code, the key codes are passed to the active application program without further processing. When the received key codes do so correspond, application key code identifier 122 directs the received key codes to application key processor 114.
Application key processor 114 includes, without limitation, an enhanced keyboard applet 126, a key-to-application map 128, an application code generator 130, a program running detector 132, a launch/active switch 134, launching unit 136, and top- active unit 138. Enhanced keyboard applet 126 provides a user interface by which a user specifies how the application programs correspond to the application key codes (and to the application keys). This information is stored in application map 128.
Application code generator 130 receives an application key code from key code convertor 113 and compares it with the contents of application map 128. When there is a match, application code generator 130 issues an application code which uniquely identifies the application program to which the application key code corresponds. The application code is transmitted to program running detector 132 and to switch 134. Program running detector 132 determines whether the identified application program is running on computer system 95. If so, then program running detector 132 causes switch 134 to direct the application code to the input of top-active unit 138. Conversely, when program running detector determines that the identified application program is not running on computer system 95, then program running detector 132 causes switch 134 to direct the application code to the input of launching unit 136.
In response to the application code, top-active unit 138 issues a top-active command to the operating system. The operating system executes the top-active command by making the application program window of the specified application the top-active window. Launching unit 136 responds to the application code by issuing a launch command to the operating system which causes the same to launch the specified application program in its own window.
Fig. 9 is a process flow diagram illustrating a method for accessing and launching an application program via the keyboard according to the present invention. At step A the application key apparatus scans for a key code. When the application key apparatus detects a received key code, it retrieves the key code and determines at step B whether the retrieved key code corresponds to an application key. If not, then the application key apparatus processes the key code accordingly at step C. For example, when the key code corresponds to an alphanumeric key, the application key apparatus forwards the key code to the operating system which converts the retrieved key code into an ASCII code format and forwards the ASCII-coded key to the appropriate application program. When the retrieved key code does correspond to an application key code, the application key apparatus compares the retrieved key code to the information stored in database E to identify the application program to which the retrieved key code is associated. Database E includes information that maps the list of possible application key codes to the list of application programs on computer system 95. At step F, the application key apparatus determines whether the application program specified at step D is running. When the program is running on computer system 95, the application key apparatus causes the operating system to issue a command at step G to make the window for the specified application program the top-active window. When the program is not running on computer system 95, the application key apparatus causes the operating system to issue a command at step H to launch the specified application program in its own window on computer system 95. Control then returns to step A for the next key code.
Fig. 10 is a block diagram representation of an operating system 150 for computer system 95 which incorporates the present invention. In the preferred embodiment, operating system 150 is a computer program which is stored on disk storage device 40, downloaded to RAM 36, and executed by CPU 34. As is typical in the art, operating system 150 is multi-tasking in that it is capable of running several application programs at once limited only by the amount of memory on computer system 95. In Fig. 10, therefore, operating system 150 is shown with several application programs 152, 154, 156 and 158, running at once. Operating system 150 also includes, without limitation, a system resources block 160, an event storage unit 162, a device-independent interface 164, and several device drivers 166, 168, 17.0 and 172J_- - -
The device drivers 166, 168, 170 and 172 shown in Fig. 10 include, by way of illustration without limitation, a display driver 166, a printer driver 168, a pointing device driver 170, and an enhanced keyboard driver 172. Each device driver includes routines for enabling computer system 95 to control and communicate with the various peripheral devices coupled thereto. For example, display driver 166 includes routines which enable computer system 95 to control and communicate with a particular make and model of monitor 20. Printer driver 168 includes routines for enabling computer system 95 to control and communicate with a particular make and model of printer 54. Pointing device driver 170 provides the routines for enabling computer system 95 to control and communicate with a particular make and model of pointing device 18. Finally, enhanced keyboard driver 172 provides routines for enabling computer system 95 to control and communicate with enhanced keyboard 60.
In the preferred embodiment of the present invention, enhanced keyboard driver 172 includes a group of routines for enabling key code convertor 113 and launch- active controller 114. The operation of these elements has been described above and need not be repeated here. Enhanced keyboard driver 172 also includes a group of routines for controlling the operation of alert lamp 70. In particular, Enhanced keyboard driver 172 includes routines for turning alert lamp 70 ON and OFF, for controlling the intensity of alert lamp 70, and for setting timer 46. These routines are executed according to instructions provided by an Alert Filter program 160 described in the following paragraphs. The routines cause CPU 34 to generate commands which are executed by enhanced keyboard controller/driver 96 and which cause the same to generate signals that operate alert lamp driver 108 as described.
The device-independent interface 164 provides a generalized interface between the application programs 152, 154, 156 and 158 and the various devices coupled to computer system 95. Because of the general nature of device-independent interface 164, each application program can control and communicate with the various devices coupled to computer system 95 without knowing the specific commands required to operate the particular make and model of each device. The elements contained in device- independent interface 164 include, without limitation, a user interface 174, a file manager 176, and a graphics display interface 178. User interface 174 includes routines which enable a user to control and communicate with the operating system 150 or an application program via enhanced keyboard 60, pointing device island monitor 20. File manager 176 includes routines which enable the application programs to store, retrieve, and organize data on disk storage device 40. Graphics display interface 178 includes routines which enable the application programs to display a variety of graphical objects on monitor 20 and/or printer 54.
System resources block 160 includes the system routines, commands, and other resources which are used by all of the applications programs. The resources contained in system resources block 160 include, without limitation, routines for defining, creating, moving, and destroying an application program window; a massaging system for distributing data to, among, and between application programs; routines for allocating system hardware resources to the application programs on a time-shared basis; routines for defining and creating an alert dialog box; and device-independent commands for causing an alert dialog box to be displayed on display surface 22.
Fig. 10 also shows an event storage unit 162 coupled to system resources block 160. Event storage unit 162 maintains a record of the transactions between the application programs 152, 154, 156 and 158 and the system resources block 160. In particular, event storage unit keeps a record of the transactions which occur when operating system 150 or one of the application programs 152, 154, 156 and 158 creates an alert dialog box for display on monitor 20. The type of transactions recorded includes, without limitation, calls to system routines used for defining and/or creating an alert dialog box, messages communicated among and between application programs, and commands transferred to the device-independent interface 164 for causing an alert dialog box to be displayed on display surface 22.
The application programs shown in Fig. 10 include a power-saving program 152, a generic application program 154, an alert-indicator (AI) enabled application program 156, and an alert filter program 158. The function of generic application program 154 is relevant only in that it includes commands for causing an alert dialog box to be displayed on monitor 20 when an alert condition occurs. Such programs are well-known in the art. Power-saving program 152 is also well-known in the art. It includes routines that cause monitor 20 to be disabled when no user input is detected at enhanced keyboard 60 and pointing device 18 for a predetermined amount of time.
Power-saving program 152 causes monitor 20 to be reactivated when computer system 12 detects input from enhanced keyboard 60 or pointing device 18.
Al-enabled application program 156 includes commands for directly controlling alert lamp 70 via enhanced keyboard controller/driver. Al-enabled application program 156 generates alert indicator control commands which are passed by operating system 150 to enhanced keyboard driver 172. Enhanced keyboard driver 172 thereafter causes CPU 34 to generate control signals for timer 46 and enhanced keyboard controller/driver 96 to operate alert lamp 70 accordingly. Examples of typical Al-enabled application program include, without limitation, security programs which cause alert lamp 70 to activate when computer system 95 is secured; point-of-sale programs which cause alert lamp 70 to activate when computer system 95 has been designated as a point-of-sale display device; and power-on indicator programs which cause alert lamp 70 to be activated as long as power is supplied to computer system 95. Fig. 11 is a block diagram of the elements of Alert Filter 158 according to the present invention. It includes a user interface 180, an alert monitor 182, an alert lamp controller 184, and an alert lamp data storage unit 186. The user interface includes routines that define and create the typical windows, menus, and dialog boxes by which the user interfaces with Alert Filter 158. By means of the user interface, the user specifies the type of alert conditions for which alert lamp 70 will be activated. The specified alert types are thereafter stored in alert lamp storage unit 186. Furthermore, by means of user interface 180 the user programs Alert Filter 158 to cause alert lamp 70 to blink a characteristic number of times, at a characteristic rate, with a characteristic intensity according to the type of alert condition that has occurred. This information is also stored in alert lamp storage unit 186.
The alert monitor 182 includes routines for determining whether an application program or the operating system has created an alert dialog box for display on monitor 20, and for identifying the type of alert condition associated with the identified alert dialog box. The alert monitor may perform this function by intermittently reviewing the contents of event storage unit 162. When the alert monitor determines that an alert dialog box has been created, the alert monitor next identifies the alert type. Having determined the type of alert condition, alert monitor then passes control to the alert lamp controller 184. The alert lamp controller 184, as its name indicates, includes the routines for controlling operation of alert lamp 70. Alert lamp controller 184 first compares the identified alert type to the information stored in alert lamp data storage unit 186 to determine whether the identified alert type corresponds o-one of those stored in alert lamp storage unit 186. When no matching alert type is found in alert lamp data storage unit 186, no further action is performed by Alert Filter 158. When a matching alert type is found, alert lamp controller 184 retrieves the control attributes corresponding to the stored alert type from alert lamp storage unit 186. The control attributes may include, without limitation, a TIMES attribute which defines the characteristic number of times that alert lamp 70 blinks within a predetermined time period for the specified alert type, a RATE attribute which defines the characteristic frequency that alert lamp 70 blinks for the given alert type, and an INTENSITY attribute which defines the characteristic intensity for alert lamp 70 for the given alert type. Alert lamp controller 184 then passes the control attributes to enhanced keyboard driver 172 in the form of alert indicator control commands. Enhanced keyboard driver 172 thereafter causes CPU 34 to generate control signals for timer 46 and enhanced keyboard controller/driver 96 which operate alert lamp 70 accordingly.
Fig. 12 is a process flow diagram illustrating a method for indicating an alert condition to a user via the keyboard according to the present invention. The alert indicator apparatus monitors the operating system at step A to detect when an alert event occurs. In one illustrative embodiment of the present invention, an alert event is deemed to have occurred whenever the routines for creating, displaying, or destroying an dialog box of a predetermined type or the routines for creating, displaying, or destroying an error message box are called by an application program or by the operating system.
When an alert event is detected, at step B the alert indicator apparatus identifies the alert type for the detected alert event. For example, an alert event may correspond to a fatal system error, to an application-specific error having no effect on other application programs, to a prompt for user input, or to a simple notification or reminder. The foregoing list is provided for illustrative purposes only and is not meant to limit the types of alert events which are encompassed by the present invention. In one illustrative embodiment of the present invention, the alert types corresponds to the type of dialog box or error message box that is created, displayed, or destroyed. A first type of dialog box is one which can be moved or closed by the user without requiring any other input by the user, or which disappears automatically after a predetermined amount of time. A second type of dialog box disables user input to an associated application program until the user provides the response or input requested by the alert message. Input to other application programs is not disabled. Aihird type of alert dialog box disables user input to all application programs until the user provides the response or input requested by the alert message.
Having identified the alert type of the detected alert event, at step C the alert indicator apparatus retrieves the stored alert types from database D. The stored alert types are a subset of all possible alert types which may be identified at step B. In one illustrative embodiment of the present invention, the user designates those alert types for which the alert indicator will activate. The designated alert types are then stored in database D as the stored alert types.
At step E, the alert indicator apparatus determines whether the identified alert type corresponds to one of those retrieved from database D. When there is not a match, the alert indicator apparatus returns to the START state without further processing of the alert event. When there is a match, the alert indicator apparatus retrieves the control attributes for the corresponding alert type from database D. The control attributes define how the alert indicator operates for the specified alert type. In one illustrative embodiment of the present invention, the control attributes define a blinking rate, a blinking time-period, and a blinking intensity for each stored alert type. The control attributes for each alert type are designated by the user and stored in database D.
At step G, the alert indicator apparatus transmits control signals to operate alert lamp 70 according to the retrieved control attributes. Control then returns to step A. In a preferred embodiment, the invention includes an apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver. The apparatus includes some type of a input device, preferably a keypad device having a plurality of keys coupled to a keyboard housing, the plurality of keys including an ecommerce key, but other type of input device is possible, such as a voice recognition system. The apparatus also includes a key press recognition mechanism (when the input device is a keypad, though the invention may be adapted as required dependent upon the type of input device used), coupled to the plurality of keys, for identifying to the input device driver when the ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with the ecommerce key and for initiating connection between the personal computer and the ecommerce site when the ecommerce key has been activated. - -
In one implementation, the ecommerce communication application is a web browser, but other types of communications mechanisms may be implemented to establish a commercial exchange. The preferred embodiment pre-associates ecommerce sites with the available ecommerce selectors of the input device (e.g. keys of the keypad), but it is possible to dynamically reroute communications to appropriate ecommerce sites. It is an aspect of the present invention to have multiple ecommerce keys, each associated with a type of commercial transaction. These different commercial transactions are appropriate for a specific implementation, or demographic group, and may, for example, be classified as books, music, periodicals, groceries, etc. Whatever is a desired differentiation of the online ecommerce sites to make use and selection by the user simple, convenient and efficient.
The Internet commerce invention has the advantage of being able to financially benefit a referral source for association of an ecommerce site with an ecommerce selector (e.g., a ecommerce key). There are many ways that this may be done. In one example, the actual ecommerce address associated with ecommerce site includes identification information, such as by pre-pending or post-pending identifying data, or the address may be unique. In other ways, additional communication may be established between the ecommerce communication application (or an associated plugin, script or applet) and the ecommerce site or the ecommerce site server. In some implementations, each input device has associated with it an identifier that enables a user to be identified to the ecommerce site or to the ecommerce site server. In some models, the identifier will also identify the referral source, in addition to the user.
When using identifiers associated with the input device, it is possible for the ecommerce site server, either when pre-associating or dynamically associating ecommerce sites with ecommerce keys, to establish a user profile that may include user contributed information and user use statistics, to establish a personalized set of ecommerce sites for each user.
When identifiers are used, a user is able to select specific ecommerce sites for their ecommerce selectors, or for specific classes of commercial transactions. Further, a single ecommerce server may be established for different classes or subclasses of identifiers, letting multiple entities use the same server. For example, one company may distribute 'Brand X' keypads and another may distributs-'Brand Y' keypads. The identifiers of the different boards could be used to unambiguously identify Brand X users to the servers and provide different ecommerce sites than those provided to the users of the Brand Y keypads.
The revenue sharing model also allows further division of the financial benefit rather than having all the benefit be provided to the ecommerce server operator. Users, keypad distributors, keypad marketers and third parties may also refer sites to the ecommerce server operator and receive a proportionate share of the bestowed financial benefit. Financial benefit may be bestowed even if the user does not transact business on the site, as accessing the site by the user may be of sufficient value to motivate the ecommerce site operator to provide the financial benefit to the referral source or sources. While the above is a complete description of a preferred embodiment of the invention, various modifications, alternative constructions, and equivalents may be used. For example, alert filter 158 and event storage unit 162 may be combined without departing from the spirit of the invention. Furthermore, alert lamp 70 may comprise a plurality of light-emitting diodes having different colors. The alert filter would thereafter be programmable to cause the alert lamp to activate an LED of a certain color for a specified alert type. Accordingly, the above description should not be taken as limiting the scope of the invention which is defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. An apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver, the apparatus comprising: a keypad device comprising a plurality of keys coupled to a keyboard housing, said plurality of keys including an ecommerce key; key press recognition means, coupled to said plurality of keys, for identifying to the input device driver when said ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with said ecommerce key and for initiating connection between the personal computer and said ecommerce site when said ecommerce key has been activated.
2. The apparatus of claim 1, wherein said ecommerce application is a web browser.
3. The apparatus of claim 1, wherein said ecommerce application contacts an ecommerce site server to automatically identify and associate said ecommerce key with said ecommerce site.
* 4. The apparatus of claim 1 wherein said ecommerce application contacts an ecommerce site server to create a set of user-selectable candidate ecommerce sites that the user may associate with said ecommercel ey.
5. The apparatus of claim 1 wherein said keypad device is an alphanumeric keyboard.
6. The apparatus of claim 1 wherein said personal computer is associated with a user and the apparatus further comprises: an ecommerce site server, electrically communicated to said ecommerce application program, for storing a user profile associated with the user and for selecting a particular ecommerce site for association with said ecommerce key responsive to said user profile.
7. The apparatus of claim 1 wherein said connection identifies a referral source attributed to said association of said ecommerce site to said ecommerce key.
8. The apparatus of claim 7 wherein said referral source receives financial benefit for association of said ecommerce site to said ecommerce key.
9. The apparatus of claim 8 wherein said financial benefit is a per access fee each time said connection is initiated.
10. The apparatus of claim 8 wherein said financial benefit is a portion of the value transacted at said ecommerce site after said connection is initiated from activation of said ecommerce key.
11. The apparatus of claim 7 wherein said referral source is identified by the ecommerce address.
12. The apparatus of claim 7 wherein said referral source is identified by an identifier associated with said keypad device that is communicated to the ecommerce site by said ecommerce communication application.
13. An apparatus for implementing electronic commerce via a personal computer having an operating system for implementing an input device driver, the apparatus comprising: a keypad device comprising a plurality of keys coupled to a keyboard housing, said plurality of keys including an ecommerGe-key; key press recognition means, coupled to said plurality of keys, for identifying to the input device driver when said ecommerce key has been activated; and an ecommerce communication application, operable on the operating system and in communication with an ecommerce site server, for identifying activation of said ecommerce key and for associating a specific ecommerce site having an ecommerce address with said ecommerce key and for dynamically initiating connection between the personal computer and said ecommerce site when said ecommerce key has been activated.
14. An ecommerce system, comprising: a keypad device comprising a plurality of keys coupled to a keyboard housing, said plurality of keys including a first ecommerce key and a second ecommerce key; key press recognition means, coupled to said plurality of keys, for identifying to the input device driver when one of said ecommerce keys have been activated and for identifying which of said ecommerce keys is an activated ecommerce key; and an ecommerce communication application, operable on the operating system and in communication with the input device driver, for associating a specific ecommerce site having an ecommerce address with each of said ecommerce keys and for initiating connection between the personal computer and said ecommerce site associated with said activated ecommerce key when said activated ecommerce key has been activated.
15. The ecommerce system of claim 14 wherein said ecommerce application periodically contacts an ecommerce server to automatically associate each said ecommerce key with an ecommerce site appropriate for said type of commercial transaction.
16. The ecommerce system of claim 15 wherein said automatic association is dynamically performed by said ecommerce server to reroute said connection to said appropriate ecommerce site.
17. An ecommerce method, comprising the steps of: detecting an activation of an ecommercejcey associated with a plurality of keys associated with a keypad device associated with a personal computer having an operating system for implementing an input device driver that responds to said activation of said ecommerce key; initiating, responsive to said detected activation of said ecommerce key, a communication to an ecommerce site associated with said ecommerce key; identifying a referral source of said association of said ecommerce site with said ecommerce key; and thereafter benefiting financially said referral source for said communication.
18. An ecommerce method, comprising the steps of: detecting an activation of one of a plurality of ecommerce keys each associated with a plurality of keys associated with a keypad device associated with a personal computer having an operating system for implementing an input device driver that responds to said activation of said ecommerce key; identifying an activated ecommerce key from said plurality of keys; initiating, responsive to said detected activation of said activated ecommerce key, a communication to an ecommerce site associated with said activated ecommerce key; identifying a referral source of said association of said ecommerce site with said activated ecommerce key; and thereafter benefiting financially said referral source for said communication.
19. An ecommerce method, comprising the steps of: detecting an activation of one of a plurality of ecommerce keys each associated with a plurality of keys associated with a keypad device associated with a personal computer having an operating system for implementing an input device driver that responds to said activation of said ecommerce key wherein each ecommerce key is associated with a different type of commercial transaction; identifying an activated ecommerce key from said plurality of keys; initiating, responsive to said detected activation of said activated ecommerce key, a communication to an ecommerce server; rerouting said communication to an ecommerce site associated with the type of commercial transaction associated with the activated ecommerce key; identifying a referral source of said association of said ecommerce site with said activated ecommerce key; and thereafter benefiting financially said referral source for said communication.
PCT/US2000/013459 1999-05-18 2000-05-16 Method and apparatus for internet commerce WO2000070521A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU48538/00A AU4853800A (en) 1999-05-18 2000-05-16 Method and apparatus for internet commerce

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13474199P 1999-05-18 1999-05-18
US31395499A 1999-05-18 1999-05-18
US09/313,954 1999-05-18
US60/134,741 1999-05-18

Publications (3)

Publication Number Publication Date
WO2000070521A2 WO2000070521A2 (en) 2000-11-23
WO2000070521A3 WO2000070521A3 (en) 2002-03-28
WO2000070521A9 true WO2000070521A9 (en) 2002-07-04

Family

ID=26832632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/013459 WO2000070521A2 (en) 1999-05-18 2000-05-16 Method and apparatus for internet commerce

Country Status (2)

Country Link
AU (1) AU4853800A (en)
WO (1) WO2000070521A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0106473A (en) * 2001-02-07 2002-12-03 Asiatotal Net Ltda Interface for non-typed direct access to partner sites, equipment with an interface for non-typed direct access to partner sites, non-typed access method to partner sites, method of enabling the use of microcomputers through the presence of an interface for access untyped direct to partner sites
US6712535B2 (en) * 2001-04-30 2004-03-30 Microsoft Corporation Keyboard with improved lateral region
CN2476842Y (en) * 2001-06-15 2002-02-13 陈振文 Special keyboard for view window

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011495A (en) * 1997-04-03 2000-01-04 Silitek Corporation Multimedia keyboard structure
US6625649B1 (en) * 1998-06-08 2003-09-23 Hewlett-Packard Development Company, L.P. Rapid network access computer system

Also Published As

Publication number Publication date
WO2000070521A3 (en) 2002-03-28
AU4853800A (en) 2000-12-05
WO2000070521A2 (en) 2000-11-23

Similar Documents

Publication Publication Date Title
US6768483B1 (en) System and method of providing restrained, streamlined access to a computerized information source
US7251684B2 (en) Method and apparatus for providing simplified access to the internet
US5801691A (en) Method and apparatus for mobile device screen reformatting utilizing hypertext
EP3472766A1 (en) Workflow visualization platform
US20010029468A1 (en) Information communication system and information terminal device capable of collecting customer use information
US6489976B1 (en) System and method for displaying pop-up symbols for indicating accelerator keys for implementing computer software options
CN103119589A (en) Method and apparatus for binding mobile device functionality to an application definition
Nordgren Development of a Touch Screen Interface for Scania Interactor
US20010024189A1 (en) Merchant-specific computer peripheral device and method of promoting business
US6697089B1 (en) User selectable application grammar and semantics
CN113467659A (en) Icon display method and device and storage medium
WO2000070521A9 (en) Method and apparatus for internet commerce
AU2023210618A1 (en) System and method for providing a customisable graphical user interface for information technology assistance
US20030189551A1 (en) System and method for identifying functions invoked by function keys on a keyboard
GB2206225A (en) Point of sale terminals microcomputer system
WO2000070437A1 (en) Enchanced computer keyboard system
KR100393054B1 (en) Internet service server, computer system and advertising method thereof
TWI550498B (en) Device and method for switching stock detailed information of the stock quoting software
TW594541B (en) Method and apparatus for providing simplified access to the Internet
JP2001331404A (en) Job controller provided with function key command function through internet
CN107015728A (en) Tax reciept management method and device
AU2003271349B2 (en) A System and Method of Providing Restrained, Streamlined Access to a Computerized Information Source
KR20210087749A (en) Advertisement history management system and control method thereof
Miller Top ten list of user‐hostile interface design: The ten most frequent mistakes made in human–computer interface design
KR20000072526A (en) Method of converting piracy in computing system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ 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: A2

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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ 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: A3

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

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ 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: C2

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

COP Corrected version of pamphlet

Free format text: PAGES 1/12-12/12, DRAWINGS, REPLACED BY NEW PAGES 1/12-12/12; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP