WO1998027491A1 - Changing the effective execution rate of a computer application program - Google Patents

Changing the effective execution rate of a computer application program Download PDF

Info

Publication number
WO1998027491A1
WO1998027491A1 PCT/CA1997/000974 CA9700974W WO9827491A1 WO 1998027491 A1 WO1998027491 A1 WO 1998027491A1 CA 9700974 W CA9700974 W CA 9700974W WO 9827491 A1 WO9827491 A1 WO 9827491A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
rate
execution
generating
control signals
Prior art date
Application number
PCT/CA1997/000974
Other languages
French (fr)
Inventor
Gal Sela
Original Assignee
9044-4951 Quebec 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 9044-4951 Quebec Inc. filed Critical 9044-4951 Quebec Inc.
Publication of WO1998027491A1 publication Critical patent/WO1998027491A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1012Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time

Definitions

  • the invention relates to methods and devices for changing the effective execution rate of a computer application program.
  • the effective execution rate of many computer application programs can 0 be controlled by direct interaction with the program.
  • game difficulty automatically increases according to various parameters, such as the amount of game time that has passed, the amount of points scored, or the proficiency level s achieved.
  • Players are also often able to select the initial skill level ("Beginner”, “Intermediate”, “Expert”, and so on) .
  • the level of difficulty increases, the speed of play increases and other skill factors, such as the required accuracy, make advancement o through the game more difficult.
  • Control of the difficulty level can be provided by software or can be hardwired into the circuitry of the video game.
  • the invention concerns methods and devices for changing the effective rate at which a computer 5 application program is executed.
  • the invention does not require direct interaction with the application program and can be achieved without additional hardware and without understanding or interacting with the particular features of the application program.
  • control signals are generated, and each control signal is handled as an interruption to the processing of the application program.
  • the control signals cause the processor to halt execution of the application program for one or more execution cycles and thereby changes the effective rate at which the application program is executed.
  • the invention features a device that receives an input signal corresponding to a measured physiological characteristic, and generates one or more control signals for causing the processor to halt execution of the application program for one or more execution cycles and thereby effectively changes the rate at which the application program is executed.
  • the invention features methods and devices for changing the speed of play of a video game or for providing feedback to achieve a desired therapeutic effect.
  • E ⁇ iDodi ents may include one or more of the following .
  • Tne control signals can be hardware interrupt signals or software interrupt signals that are repeatedly generated to change the effective rate at which the application program is executed.
  • the repetition rate at which the interrupts are generated can be variably set, whereby I ⁇ reasing the repetition rate reduces the effective execution rate of the application program and decreasing the repetition rate increases the effective execution rate of the application program.
  • a fixed delay can be set m a delay program that determines the number of execution cycles the processor halts execution of the application program.
  • the control signals can vary depending upon received input signals .
  • the input signals are derived from a measured physiological characteristic, such as skin resistance or attention level, whereby a change in the physiological characteristic changes the effective rate at which the program application is executed.
  • a task-switching control signal is generated to set the amount of processing time the processor dedicates to executing a delay program.
  • An externally applied input signal can be used to generate the task-switching control signal.
  • the task-switching control signal can be updated as new input signals are received.
  • FIG. 1 is a diagrammatic view of a person playing a video game with a play speed that varies based upon changes in a measured physiological characteristic of the person.
  • Fig. 2 is a diagrammatic view of a method for changing the effective rate at which an application program is executed by a computer processor.
  • Figs. 3 and 4 are diagrammatic views of methods for changing the effective rate at which an application program is executed by a computer processor using interrupt signals.
  • Fig. 5 is a diagrammatic view of a method for changing the effective rate at which an application program is executed by a computer processor using task- switching control signals.
  • Fig. 5A is a flow diagram of a method for changing the effective rate at which an application program is executed based upon received input signals.
  • Fig. 6 is a diagrammatic view of a person receiving biofeedback therapy using an application program with an execution rate that varies based upon one or more measured physiological characteristics.
  • Figs. 7A, 7B, 7C, and 7D are schematic representations of various circuits for providing 5 interrupts to a controlled computer system.
  • a person 10 is using joystick controls 12 to operate an application program, such as a video game, which is running on a computer 14.
  • a sensor o 16 measures a physiological characteristic of the person, such as skin resistance.
  • Sensor 16 sends signals representative of the measured physiological characteristic to an input port 18 of computer 14, through an optional external controller 19 over cable 20.
  • the effective execution rate of the video game changes depending upon the signals received from sensor 16. For example, in one embodiment, the effective playing speed of the video game slows down as the user tenses and speeds up as the user relaxes. In another embodiment, o the effective playing speed of the video game speeds up as the user tenses and slows down as the user relaxes .
  • the effective playing speed of the video game can also vary as a function of the measured physiological characteristic in other, more complicated ways to achieve 5 a desired playing experience.
  • a controller 22 uses a received input signal 24 to generate one or more control signals that affect the operation of a processor 26 in computer 14.
  • Input signal 24 can be a signal 0 received from sensor 16 (Fig. 1) or some other si ⁇ r ⁇ l, such as a signal received from a keyboard attached to computer 14.
  • Processor 26 handles each control signal as an interruption to the processing of an application program 28.
  • Each control signal causes the processor to 5 suspend execution of application program 28 for one or more execution cycles, thereby decreasing the effective rate at which application program 28 is executed.
  • Controller 22 can be implemented by hardware or software, as described below.
  • a controller 30 is 5 implemented by hardware external to computer 14.
  • controller 30 can be controlled by a multitasking operating system or a non-multi-tasking operating system.
  • Controller 30 delivers hardware interrupt signals to an interrupt controller 32 in computer 14 ⁇ o through any computer input port 18, for example a serial port or a parallel port.
  • a delay program 34 which is a previously loaded terminate-and-stay-resident (TSR) software program (device driver) , serves as an interface between controller 30 and computer 14.
  • Interrupt is controller 32 monitors the input/output (I/O) devices attached to the input ports of computer 14, including controller 30, and notifies processor 26 when an I/O device has requested servicing by a particular device driver by activating an interrupt signal .
  • 20 26 receives an interrupt signal corresponding to controller 30, processor 26 halts execution of application 28 and runs delay program 34. After delay program 34 returns, processor 26 resumes execution of application program 28.
  • 25 application program 28 is executed is changed by varying the rate at which controller 30 sends hardware interrupt signals to computer 14.
  • the interrupt rate can be a function of input signal 24, as discussed above.
  • Controller 30 can also set a delay period in delay
  • program 34 that determines the execution time of c ⁇ _ lay program 34; the delay period can be generated based upon input signal 24.
  • a controller 36 is implemented by software running in computer 14, which is
  • Controller 36 triggers software interrupts that cause processor 26 to halt execution of application program 28 and begin execution of a delay program 38. After delay program 38 has returned, processor 26 resumes execution of application program 28.
  • application program 28 is executed changes based upon the rate at which controller 36 generates software interrupt signals.
  • the interrupt rate can be a function of input signal 24, as discussed above.
  • Controller 36 can also set a delay period in delay program 38 that determines o the time needed to execute delay program 38; the delay period can be set based upon input signal 24.
  • a controller 40 is implemented by software (delay program) running in computer 14 controlled by a multi -tasking operating
  • Controller 40 changes the effective rate at which application program 28 is executed by sending task- switching control signals to a task-switcher 42 that controls the amount of time processor 26 dedicates to executing application program 28.
  • Most multi-tasking o operating systems include a mechanism for controlling the task-switching function.
  • the UNIX ® operating system includes a "schedctl" (scheduler control) command which controls the amount of processor time (usually in milliseconds) dedicated to various
  • Controller 40 sends task-switching control signals to task switcher 42 so that processor 26 dedicates a selected amount of processing time (execution cycles) to o execntir; controller 40. Any programs running at the same time are given a smaller proportion of processing time and therefore execute at a slower effective rate.
  • the task- switching control signals generated by controller 40 can also cause processor 26 to dedicate a is selected amount of processing time to executing a separate delay program (not shown) , dif erent from controller 40.
  • controller 40 can be a function of input signal 24, as discussed above.
  • controller 40 is run as a repeating control loop in which controller 40 reads input signal 24 (at step 44) , sets task switcher 42 based upon input signal 24 (at step 46) , and repeats steps 44 and 46 until application program 28 terminates (at step 48) , at which point the control loop terminates (at step 50) .
  • the effective rate at which application program 28 is executed can be dynamically controlled based upon input signal 24.
  • the invention can be used to enable a person 10, or his or her doctor or therapist, to better sense the person's state of well being and to provide feedback to achieve a desired therapeutic effect, such as a more relaxed state.
  • the effective rate at which a therapeutic application program is executed on computer 14 can vary based upon physiological signals received from sensor 16 (for example, skin resistance) and/or sensor 52 attached to the person's head (for example, attention level) . For example, as the person tenses, the effective execution rate of the application program can decrease at a rapid rate; and as the person relaxes, the effective execution rate can decrease at a slower rate. If the person's attention level drops below a se n 3Cted threshold, the effective execution rate can b-_ increased. The rates at which the effective execution rate is increased or decreased can be selected to achieve a desired equilibrium relaxed state in the person.
  • the interrupt to the computer 14 can be provided from a voltage control oscillator 200 through a buffer amplifier 202.
  • the input to the voltage controlled oscillator 200 can vary depending upon the application.
  • the input to the voltage controlled oscillator is available, as V ⁇ n from a potentiometer 204 connected between a supply voltage and ground.
  • the rate of interrupt outputs from the voltage controlled oscillator will vary and hence the computer application program execution rate will vary. In this manner, the computer program execution rate can be manually controlled.
  • the input voltage to the voltage controlled oscillator is derived through a resistance divider network including the sensor 208 and a resistor 210, as measured by a manually controlled amplifier 212.
  • the output of the galvonic skin resistance (GSR) sensor 208 may be erratic, and thus the system provides a low-pass filter 220 to smooth the voltage from amplifier 212, and thereby provides some preprocessing of the input to the voltage controlled oscillator.
  • a plurality of control signals 221a, ...,221n are amplified by amplifiers 222a, ... , 222n and converted to digital signals by analog-to-digital (A-D) converters 224a, ..., 224n for input to a microcontroller 226.
  • the output of the microcontroller is a pulse train used at trigger interrupts at the computer 14. The frequency of these pulse interrupts can be a function of the input signals, and ⁇ ny statistics that are determined from these input signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

Methods and devices are described for changing the effective rate at which a computer application program is executed. In one aspect, one or more control signals are generated, and each control signal is handled as an interruption to the processing of the application program. The control signals cause the processor to suspend execution of the application program for one or more execution cycles and thereby change the effective rate at which the application program is executed.

Description

CHANGING THE EFFECTIVE EXECUTION RATE OF A COMPUTER APPLICATION PROGRAM Background of the Invention 5 The invention relates to methods and devices for changing the effective execution rate of a computer application program.
The effective execution rate of many computer application programs, such as video (computer) games, can 0 be controlled by direct interaction with the program. For example, m many video games, game difficulty automatically increases according to various parameters, such as the amount of game time that has passed, the amount of points scored, or the proficiency level s achieved. Players are also often able to select the initial skill level ("Beginner", "Intermediate", "Expert", and so on) . As the level of difficulty increases, the speed of play increases and other skill factors, such as the required accuracy, make advancement o through the game more difficult. Control of the difficulty level can be provided by software or can be hardwired into the circuitry of the video game.
There has also been proposed a method for encouraging user attention by correlating video game s difficulty with attention level. According to this method, the electrical activity of the user's brain is used to produce a signal indicative of attention level. The attention signal is used to directly set the difficulty level of a video game: game difficulty is o increased as the attention level decreases, whereas game difficulty is decreased as attention level increases.
Summary of the Invention The invention concerns methods and devices for changing the effective rate at which a computer 5 application program is executed. The invention does not require direct interaction with the application program and can be achieved without additional hardware and without understanding or interacting with the particular features of the application program.
In one aspect of the invention, one or more control signals are generated, and each control signal is handled as an interruption to the processing of the application program. The control signals cause the processor to halt execution of the application program for one or more execution cycles and thereby changes the effective rate at which the application program is executed.
In another aspect, the invention features a device that receives an input signal corresponding to a measured physiological characteristic, and generates one or more control signals for causing the processor to halt execution of the application program for one or more execution cycles and thereby effectively changes the rate at which the application program is executed.
In other aspects, the invention features methods and devices for changing the speed of play of a video game or for providing feedback to achieve a desired therapeutic effect.
EπiDodi ents may include one or more of the following . Tne control signals can be hardware interrupt signals or software interrupt signals that are repeatedly generated to change the effective rate at which the application program is executed. The repetition rate at which the interrupts are generated can be variably set, whereby IΓ reasing the repetition rate reduces the effective execution rate of the application program and decreasing the repetition rate increases the effective execution rate of the application program. A fixed delay can be set m a delay program that determines the number of execution cycles the processor halts execution of the application program. The control signals can vary depending upon received input signals . In some embodiments, the input signals are derived from a measured physiological characteristic, such as skin resistance or attention level, whereby a change in the physiological characteristic changes the effective rate at which the program application is executed.
In some embodiments, a task-switching control signal is generated to set the amount of processing time the processor dedicates to executing a delay program. An externally applied input signal can be used to generate the task-switching control signal. The task-switching control signal can be updated as new input signals are received.
Other features and advantages will become apparent from the following.
Brief Description of the Drawings Fig. 1 is a diagrammatic view of a person playing a video game with a play speed that varies based upon changes in a measured physiological characteristic of the person.
Fig. 2 is a diagrammatic view of a method for changing the effective rate at which an application program is executed by a computer processor.
Figs. 3 and 4 are diagrammatic views of methods for changing the effective rate at which an application program is executed by a computer processor using interrupt signals.
Fig. 5 is a diagrammatic view of a method for changing the effective rate at which an application program is executed by a computer processor using task- switching control signals.
Fig. 5A is a flow diagram of a method for changing the effective rate at which an application program is executed based upon received input signals. Fig. 6 is a diagrammatic view of a person receiving biofeedback therapy using an application program with an execution rate that varies based upon one or more measured physiological characteristics.
Figs. 7A, 7B, 7C, and 7D are schematic representations of various circuits for providing 5 interrupts to a controlled computer system.
Description of the Preferred Embodiments Referring to Fig. 1, a person 10 is using joystick controls 12 to operate an application program, such as a video game, which is running on a computer 14. A sensor o 16 measures a physiological characteristic of the person, such as skin resistance. Sensor 16 sends signals representative of the measured physiological characteristic to an input port 18 of computer 14, through an optional external controller 19 over cable 20. s The effective execution rate of the video game changes depending upon the signals received from sensor 16. For example, in one embodiment, the effective playing speed of the video game slows down as the user tenses and speeds up as the user relaxes. In another embodiment, o the effective playing speed of the video game speeds up as the user tenses and slows down as the user relaxes . The effective playing speed of the video game can also vary as a function of the measured physiological characteristic in other, more complicated ways to achieve 5 a desired playing experience.
As shown generally in Fig. 2, a controller 22 uses a received input signal 24 to generate one or more control signals that affect the operation of a processor 26 in computer 14. Input signal 24 can be a signal 0 received from sensor 16 (Fig. 1) or some other siσrπl, such as a signal received from a keyboard attached to computer 14. Processor 26 handles each control signal as an interruption to the processing of an application program 28. Each control signal causes the processor to 5 suspend execution of application program 28 for one or more execution cycles, thereby decreasing the effective rate at which application program 28 is executed. Controller 22 can be implemented by hardware or software, as described below.
Referring to Fig. 3, a controller 30 is 5 implemented by hardware external to computer 14. In this embodiment, controller 30 can be controlled by a multitasking operating system or a non-multi-tasking operating system. Controller 30 delivers hardware interrupt signals to an interrupt controller 32 in computer 14 ιo through any computer input port 18, for example a serial port or a parallel port. A delay program 34, which is a previously loaded terminate-and-stay-resident (TSR) software program (device driver) , serves as an interface between controller 30 and computer 14. Interrupt is controller 32 monitors the input/output (I/O) devices attached to the input ports of computer 14, including controller 30, and notifies processor 26 when an I/O device has requested servicing by a particular device driver by activating an interrupt signal . When processor
20 26 receives an interrupt signal corresponding to controller 30, processor 26 halts execution of application 28 and runs delay program 34. After delay program 34 returns, processor 26 resumes execution of application program 28. The effective rate at which
25 application program 28 is executed is changed by varying the rate at which controller 30 sends hardware interrupt signals to computer 14. The interrupt rate can be a function of input signal 24, as discussed above. Controller 30 can also set a delay period in delay
30 program 34 that determines the execution time of cη_lay program 34; the delay period can be generated based upon input signal 24.
Referring to Fig. 4, a controller 36 is implemented by software running in computer 14, which is
35 controlled by a multi-tasking operating system.
Controller 36 triggers software interrupts that cause processor 26 to halt execution of application program 28 and begin execution of a delay program 38. After delay program 38 has returned, processor 26 resumes execution of application program 28. The effective rate at which
5 application program 28 is executed changes based upon the rate at which controller 36 generates software interrupt signals. The interrupt rate can be a function of input signal 24, as discussed above. Controller 36 can also set a delay period in delay program 38 that determines o the time needed to execute delay program 38; the delay period can be set based upon input signal 24.
Referring to Fig. 5, a controller 40 is implemented by software (delay program) running in computer 14 controlled by a multi -tasking operating
5 system. Controller 40 changes the effective rate at which application program 28 is executed by sending task- switching control signals to a task-switcher 42 that controls the amount of time processor 26 dedicates to executing application program 28. Most multi-tasking o operating systems include a mechanism for controlling the task-switching function. For example, the UNIX® operating system includes a "schedctl" (scheduler control) command which controls the amount of processor time (usually in milliseconds) dedicated to various
5 executing programs and controls the rate at which a processor switches from one program to another. Controller 40 sends task-switching control signals to task switcher 42 so that processor 26 dedicates a selected amount of processing time (execution cycles) to o execntir; controller 40. Any programs running at the same time are given a smaller proportion of processing time and therefore execute at a slower effective rate. The task- switching control signals generated by controller 40 can also cause processor 26 to dedicate a is selected amount of processing time to executing a separate delay program (not shown) , dif erent from controller 40.
The proportion of processor time requested by controller 40 can be a function of input signal 24, as discussed above. As shown in Fig. 5A, controller 40 is run as a repeating control loop in which controller 40 reads input signal 24 (at step 44) , sets task switcher 42 based upon input signal 24 (at step 46) , and repeats steps 44 and 46 until application program 28 terminates (at step 48) , at which point the control loop terminates (at step 50) . In this way, the effective rate at which application program 28 is executed can be dynamically controlled based upon input signal 24.
Other embodiments are within the scope of the claims.
As shown in Fig. 6, the invention can be used to enable a person 10, or his or her doctor or therapist, to better sense the person's state of well being and to provide feedback to achieve a desired therapeutic effect, such as a more relaxed state. The effective rate at which a therapeutic application program is executed on computer 14 can vary based upon physiological signals received from sensor 16 (for example, skin resistance) and/or sensor 52 attached to the person's head (for example, attention level) . For example, as the person tenses, the effective execution rate of the application program can decrease at a rapid rate; and as the person relaxes, the effective execution rate can decrease at a slower rate. If the person's attention level drops below a sen 3Cted threshold, the effective execution rate can b-_ increased. The rates at which the effective execution rate is increased or decreased can be selected to achieve a desired equilibrium relaxed state in the person.
In a particular example, referring to Figures 7A, 7B, 7C, and 7D, the interrupt to the computer 14 can be provided from a voltage control oscillator 200 through a buffer amplifier 202. The input to the voltage controlled oscillator 200 can vary depending upon the application. Thus, in Figure 7A, the input to the voltage controlled oscillator is available, as Vιn from a potentiometer 204 connected between a supply voltage and ground. By varying the potentiometer, the rate of interrupt outputs from the voltage controlled oscillator will vary and hence the computer application program execution rate will vary. In this manner, the computer program execution rate can be manually controlled. Referring to Figure 7B, in a circuit monitoring the skin resistance through a galvanic skin resistance (GSR) sensor 208, the input voltage to the voltage controlled oscillator is derived through a resistance divider network including the sensor 208 and a resistor 210, as measured by a manually controlled amplifier 212.
Referring to Figure 7C, since the output of the galvonic skin resistance (GSR) sensor 208 may be erratic, and thus the system provides a low-pass filter 220 to smooth the voltage from amplifier 212, and thereby provides some preprocessing of the input to the voltage controlled oscillator. Finally, referring to Figure 7D, a plurality of control signals 221a, ...,221n are amplified by amplifiers 222a, ... , 222n and converted to digital signals by analog-to-digital (A-D) converters 224a, ..., 224n for input to a microcontroller 226. The output of the microcontroller is a pulse train used at trigger interrupts at the computer 14. The frequency of these pulse interrupts can be a function of the input signals, and ^ny statistics that are determined from these input signals.
Still other embodiments are within the scope of the claims .

Claims

What is claimed is:
1. A method for changing the effective rate at which an operating application program is executed by a processor in a computer comprising the steps of 5 generating one or more control signals, and handling each control signal as an interruption to the processing of the application program, wherein the one or more control signals cause the processor to suspend execution of the application program o for one or more execution cycles and thereby change the effective rate at which the application program is executed.
2. The method of claim 1 wherein the step of generating one or more control signals comprises the step s of generating one or more interrupt signals at a rate varying inversely with the effective rate at which the application program is executed.
3. The method of claim 1 further comprising the steps of 0 generating a signal representative of a physiological characteristic, and using the representative signal to generate the one or more control signals, whereby a change in the physiological characteristic changes the effective rate s at which the application program is executed.
4. The method of claim 3 wherein the rate at which the con ol signals are generated depends upon changes in the measured physiological characteristic.
5. The method of claim 3 wherein the generated 0 signal is representative of skin resistance.
6. The method of claim 1 wherein the step of generating one or more control signals comprises the steps of setting a hardware interrupt at an input port of the computer, and repeating the hardware interrupt setting step to change the effective rate at which the execution program is executed.
7. The method of claim 6 further comprising the step of variably setting a repetition rate at which the hardware interrupts are set, whereby increasing the repetition rate reduces the effective rate of execution of the application program and decreasing the repetition rate increases the effective execution rate of the application program.
8. The method of claim 1 further comprising the step of setting a fixed delay in a delay program that determines the number of execution cycles the processor is caused to halt execution of the application program.
9. The method of claim 1 wherein the step of generating one or more control signals comprises the steps of generating a software interrupt, and repeating the software interrupt generating step to change the effective execution rate of the application program.
10. The method of claim 1 wherein the step of generating one or more control signals comprises the step of generating a task-switching control signal to set the amount of processing time the processor dedicates to executing a delay program.
11. The method of claim 10 further comprising the steps of
(a) receiving an externally applied input signal, and 5 (b) using the received input signal to generate the task-switching control signal.
12. The method of claim 11 further comprising the step of repeating steps (a) and (b) .
13. The method of claim 1 further comprising the 0 step of generating one more control signals to change the effective execution rate of the application program to change the speed of play of a video game.
14. The method of claim 1 further comprising the step of generating one or more control signals to change
5 the effective execution rate of the application program to achieve a desired therapeutic effect.
15. A device for changing the effective rate at which an operating application program is executed by a processor in a computer comprising o an input port configured to receive an input signal corresponding to a measured physiological characteristic, a controller adapted to generate one or more control signals for causing the processor to halt
5 execution of the application program for one or more execution cycles and thereby change the effective rate at which the application program is executed, and an output port configured to couple to an input port of the computer for delivering the control signals o to the computer.
16. The device of claim 15 wherein the controller is adapted to generate hardware interrupt signals for delivery to an input port of the computer.
17. The device of claim 15 further comprising a 5 sensor for generating a signal representative of a physiological characteristic.
18. The device of claim 17 wherein the sensor is adapted to generate a signal representative of skin resistance .
o 19. A device for changing the effective rate at which a video game is executed by a processor in a computer comprising a sensor for generating a signal representative of a physiological characteristic, and s a controller adapted to generate one or more control signals based upon the generated sensor signal for causing the processor to halt execution of the application program for one or more execution cycles and thereby change the effective rate at which the video game o is executed.
20. The device of claim 19 wherein the controller is adapted to set one or more hardware interrupt signals at an input port of the computer based upon the generated sensor signal .
5 21. The device of claim 19 wherein the controller is adapted to set one or more software interrupt signals in a delay program based upon the generated sensor signal .
22. The device of claim 19 wherein the controller is adapted to set the amount of processing time the processor dedicates to executing a delay program based upon the generated sensor signal .
PCT/CA1997/000974 1996-12-16 1997-12-16 Changing the effective execution rate of a computer application program WO1998027491A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76716496A 1996-12-16 1996-12-16
US08/767,164 1996-12-16

Publications (1)

Publication Number Publication Date
WO1998027491A1 true WO1998027491A1 (en) 1998-06-25

Family

ID=25078671

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA1997/000974 WO1998027491A1 (en) 1996-12-16 1997-12-16 Changing the effective execution rate of a computer application program

Country Status (1)

Country Link
WO (1) WO1998027491A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101485649B1 (en) 2010-06-23 2015-01-22 인터내셔널 비지네스 머신즈 코포레이션 Controlling a rate at which adapter interruption requests are processed
US9588968B2 (en) 2012-04-25 2017-03-07 Nokia Technologies Oy Method and apparatus for acquiring event information on demand

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0215236A1 (en) * 1985-07-22 1987-03-25 Sharp Kabushiki Kaisha Data processing machine
US5362069A (en) * 1992-12-03 1994-11-08 Heartbeat Corporation Combination exercise device/video game

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0215236A1 (en) * 1985-07-22 1987-03-25 Sharp Kabushiki Kaisha Data processing machine
US5362069A (en) * 1992-12-03 1994-11-08 Heartbeat Corporation Combination exercise device/video game

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101485649B1 (en) 2010-06-23 2015-01-22 인터내셔널 비지네스 머신즈 코포레이션 Controlling a rate at which adapter interruption requests are processed
US9588968B2 (en) 2012-04-25 2017-03-07 Nokia Technologies Oy Method and apparatus for acquiring event information on demand

Similar Documents

Publication Publication Date Title
US5362069A (en) Combination exercise device/video game
US8932135B2 (en) Game controller
JP4387086B2 (en) Directional contact feedback for haptic feedback interface devices
US6348911B1 (en) Force feedback device including safety switch and force magnitude ramping
JP4750234B2 (en) Force feedback device
USRE37948E1 (en) Video game apparatus, method and device for controlling same, and memory cartridge for video games
US5645513A (en) Exercising apparatus which interacts with a video game apparatus during exercise
CA2271129C (en) Method and apparatus for shaping force signals for a force feedback device
US11714550B2 (en) System and method for converting input from alternate input devices
EP1438706B1 (en) Haptic feedback sensations based on audio output from computer devices
CN201444289U (en) Game controller
US5470081A (en) Control-signal input device for computer game machines
US20010012802A1 (en) Video game system providing physical sensation
KR19990063940A (en) Model and control virtual environment controls
JP2003199974A6 (en) Directional contact feedback for haptic feedback interface devices
EP0919267A3 (en) Simulation game machine
WO2001004864A1 (en) Method and apparatus for encouraging physiological self-regulation through modulation of an operators control input to a video game or training simulator
ATE213083T1 (en) EDUCATIONAL AND INTERACTIVE HEALTH MONITORING DEVICE AND METHOD
CN113425573A (en) Control method and device for massage equipment, electronic equipment and storage medium
WO1998027491A1 (en) Changing the effective execution rate of a computer application program
KR101158257B1 (en) Game device, method for controlling game and information recording medium
EP0988877A3 (en) Fishing video game apparatus
JPH0922314A (en) Stress-adaptive controller
JP3514925B2 (en) Controller pack
EP0674927A1 (en) Electronic game utilizing bio-signals

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN IL JP RU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase