Patent Document

This application is a Continuation of prior application Ser. No.: 09/273,591, filed Mar. 22, 1999, now U.S. Pat. No. 6,193,631 which is a continuation of Ser. No. 08/766,513 filed Dec. 13, 1996, now issued as U.S. Pat. No. 6,059,692, which claims the benefit of Provisional application Ser. No. 60/008,603 filed Dec. 14, 1975, from which priority under 35 U.S.C. §120 is claimed. 
    
    
     BACKGROUND OF THE INVENTION 
     CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit of copending U.S. Provisional Patent Application No. 60/008,603, entitled “METHOD AND APPARATUS FOR REMOTE INTERACTIVE EXERCISE AND HEALTH EQUIPMENT,” filed Dec. 14, 1995 on behalf of Paul L. Hickman, which is hereby incorporated herein by reference in its entirety. 
     1. Field of the Invention 
     This invention relates generally to health and exercise equipment, and more particularly to computer networked systems including health or exercise equipment. 
     2. Description of the Related Art 
     Good health is a fundamental requirement for a happy and long life. A multi-billion dollar health and fitness industry has grown to help individuals meet this requirement. For example, there are a great many gymnasiums which provide facilities and equipment for aerobic and musculature development, and there are hundreds, if not thousands, of weight loss and diet centers and programs. The goals of these many programs typically includes weight loss and/or maintenance, the improvement of aerobic fitness, improved circulation, increased strength, and body building or shaping. 
     There are several problems encountered with the use of gymnasiums, fitness centers, and diet centers. For one, they tend to be fairly expensive due to the need to maintain the facilities, pay rent and payroll, buy equipment, etc. In addition, these centers tend to be inconvenient in that they require a special trip to the center by individuals wishing to use their facilities. Both the price and the inconvenience tend to discourage use of these centers over time, allowing the individuals to lose incentive and drop out of their fitness or diet program. 
     A partial solution to this problem is home exercise and health equipment. Again, a large industry has arisen to provide exercise and health equipment for the home. This equipment tends to be more of the aerobic type, e.g. stationary bicycles, rowing machines, “step” machines, etc., although weight lifting apparatus, sometimes referred to as “resistance trainers,” are also widely used in the home. These types of home exercise and health equipment increasingly use sophisticated electronics, such as microprocessors, to monitor the level of exercise and to provide exercise programs for the user. 
     Unfortunately, even well designed home exercise and health equipment often fall into disuse over time. This is because individuals, even in their own home, often lack the incentive to exercise when there are other, more enjoyable, activities available. Also, since there is typically not the camaraderie often found in a health club, diet center, etc., it is easier for users, as individuals, to discontinue their exercise or diet program. 
     Personal trainers have been used both at fitness clubs and in the home. Personal trainers are individuals who usually have a fitness training background and who typically provide personal training services to an individual customers. Personal trainers can be very effective in that they provide personal motivation and feedback to an individual in the exercise program, and thus often foster a more effective and longer-lasting exercise program. The downside of personal trainers is, particularly in the home setting, their relatively high cost. It is not unusual for a personal trainer to charge hundreds of dollars per month for their services. Therefore, while these personal trainers are very effective, they tend to be used by only a small percentage of the population. 
     SUMMARY OF THE INVENTION 
     The present invention provides an exercise and health system which is convenient, affordable, and effective. The system includes computerized exercise and/or health equipment (the “local system”) that can provide feedback and encouragement to the user, i.e. can serve as a “virtual personal trainer.” In addition, the system includes a remote computer system communicating over a bidirectional data channel with the exercise and health equipment. Still further, the system can include a server computer system that is in communication with the remote computer systems to provide bi-directional data communication with the remote computer systems. 
     Since the exercise and health equipment can communicate with the user, it is possible for the health equipment to provide incentive and motivation to the user much in the same fashion as a human personal trainer. In addition, the health and exercise equipment can store data and other parameters concerning the exercise or other activities which can be used to monitor the progress and to vary the exercise program or script. In this way, the local system can serve as a “virtual personal trainer.” 
     The remote system computer is preferably associated with a number of exercise and health locations. The remote system computer can be considered to be the communication tool of a human personal trainer, as opposed to the “virtual personal trainer” emulated by software in the local system computer. For example, the remote system computer can be associated with one hundred local systems (used by one or more individuals in, for example, their homes), and can be used to upload information from the exercise and health equipment of a local system to be analyzed by the personal trainer at the remote computer. The personal trainer can then call the individual user to provide additional instruction, encouragement, and cautions, and the remote system computer can download new exercise scripts or programs to the local system computer to implement these changes. 
     The server system computer serves a number of remote system computers. For example, while a remote system computer might serve one hundred local system computers, the server system computer might serve as one hundred remote system computers. The server system computer can communicate with other server system computers (“peer” servers), or with a yet higher order server system computers for the consolidation, storage, processing, and exchange of data. The server system computer can be used to communicate with the remote system computers for the uploading of data concerning the remote system computer and the local system computers that the remote system computer is in contact with, and it can also download new programs and other data and information to the remote system computers. For example, a server system computer or peer system computer might design a dietary program for a particular user which is then downloaded into the remote system computer for subsequent communication to the individual user of a local system. 
     The systems, methods, and apparatus of the present invention therefore can provide an effective exercise, dietary, and health program for a great number of individuals. The computerized health equipment provides incentive and encouragement to stay in the program, due to the “virtual personal trainer” of the local system, the human personal trainer of the remote system, and by the various services provided by the enterprise as a whole as supported by the server systems, peer systems, etc. For example, a variety of services of products can be offered to the users of the system to further their health and fitness goals. 
    
    
     These and other advantages of the present invention will become apparent upon the rating of the following descriptions and the study of the figures of the drawings. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a health and fitness system in accordance with the present invention; 
     FIG. 2 is a block diagram of the local, remote, and server system computers of the present invention; 
     FIG. 3 is a flow diagram of a process running on a local system computer of the present invention; 
     FIG. 4 is a flow diagram of the “PROCESS EXERCISE ACTIVITY” step of FIG. 3; 
     FIG. 5 is a flow diagram of the “DETECT AND RECORD USER ACTIVITY, PROVIDE FEEDBACK” step of FIG. 4; 
     FIG. 6 is a flow diagram of a “PROCESS LOCAL SYSTEM ACTIVITY” step of FIG. 3; 
     FIG. 7 is a flow diagram of the “PROCESS REMOTE ACTIVITY” step of FIG. 3; 
     FIG. 8 is a flow diagram of a process running on a remote system computer of the present invention; 
     FIGS. 8 a ,  8   b , and  8   c  are three examples of data analysis performed in the “PROCESS DATA” step  176  of FIG. 8; and 
     FIG. 9 is a flow diagram of a process running on a server system computer of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In FIG. 1, a health and fitness system  10  in accordance with the present invention includes one or more local systems  12 , one or more remote systems  14 , and one or more server systems  16 . The local systems  12  are typically home-based systems designed for the promotion of the health and fitness of individual users within a family. The remote systems  14  may be home or business based, and are used as data gathering and storage stations, as well as communication stations, between a human personal trainer and users of local systems  12 . As will be discussed in greater detail subsequently, the remote system  14  is associated with a relatively large number of local systems  12 , e.g. a personal trainer with a remote system might be in communication with 100 or more individual users of local systems  12 . This is made possible, in part, by providing a “virtual personal trainer” at each of the local stations  12  to partially or fully replace the need for a human personal trainer at the local station. The server systems  16  can communicate with the remote systems  14  to provide server and control functions across the entire enterprise, i.e. over the entire system  10 . As also will be discussed in greater detail subsequently, the server system  16  is associated with a number of remote systems  14 . 
     The local system  12  includes one or more health or fitness devices such as a stationary bicycle  18 , a weight or “resistance trainer”  20 , a scale  22 , etc. Associated with a local system  12  is a computer  24  which, in this preferred embodiment, is integrated into the stationary bicycle  18 . A stationary bicycle as a “base unit” is given merely by way of example, as any piece of equipment (a rowing machine, a step machine, etc.) could house the computer  24 , or the computer  24  could be housed separately. The computer  24  can serve as a “local server” for other health and fitness devices at local system  12 , such as the weight trainer  20  and the scale  22 . Alternatively, a separate local server  26  can be used to control and/or support various devices in local system  12  via data and control lines  28 , and communicate with the remote system  14  via a telephone line  30  and a modem  32 . However, in the present preferred embodiment, the assumption is that the local server  26  and modem  32  are not required and that the computer  24  will serve not only to control the operation and data gathering function of the stationary bicycle  18 , but will also provide these functions for the weight trainer  20  and the scale  22 . Of course, the weight trainer  20  and the scale  22  may include their own computer systems for local control purposes. 
     The stationary bicycle  18  includes a housing  34  which, as stated previously, preferably houses the computer  24 , a crank  36  provided with a pair of pedals  38 , a seat  40  supported by a seat stem  42 , handle bar  34  supported by handle bar stem  46 , legs  48 , and feet  50 . The various components of the stationary bicycle  18  are typically attached to a rigid frame that is internal to the housing  34 . 
     The weight trainer  20  is preferably a resistance-type weight trainer, such as a bench press machine, a biceps curl machine, a squat machine, etc. Typically the use grasps a bar connected to a cable that is attached to a resistance device. This resistance device can be weights, or can be an active resistance device such as a motor, or a passive resistance device such as an electrically actuated brake. In any event, the amount of resistance to movement of the bar is preferably under the control of the computer  24  and the script that it is running. The scale  22  preferably provides an electrical connection to the computer  24  through an I/O port to allow the computer  24  to monitor the weight of the person standing on the scale. 
     The computer  24  is coupled to a variety of input/output (I/O) devices including a brake  52 , a sensor  54 , a display  56 , a heart rate monitor (HRM)  59 , a loudspeaker  58 , an interface  60 , a modem  62 , and a voice board  64 . In this fashion, the computer  24  can control and monitor the various functions of the stationary bicycle  18 . 
     More particularly, computer  24  can, under software and hardware control, control the electrically actuated brake  52  which is coupled to the crank  36  of the stationary bicycle. In this fashion, the pedaling force that must be exerted on pedals  38  to cause the crank  36  to rotate at a given speed can be varied under computer control. This electrically actuated brake can be electric/mechanical brake, electric/magnetic brake, etc. as it is well known to those skilled in the art. The sensor  54  is typically used to determine the rotations-per-minute (RPM) of the crank  36 . In this way, the computer  24  can receive information concerning the level of effort being exerted by a user of the stationary bicycle  18 . Rotation sensors are well known those skilled in the art. The sensor  54  can also measure other parameters such as the force (torque) being applied to pedal  38 , again to provide information to the computer as to the level of effort being exerted by the user of the bicycle. 
     The computer can provide an output on a display  56  that can be viewed by an individual user sitting on seat  40 . This display can be a simple light display, e.g. a series of light emitting diodes (LEDs) or it can be a full video display. A preferred embodiment of the present invention provides a full video display to provide instructions and encouragement to a user of the stationary bicycle. For example, an image of a “virtual personal trainer” can be provided on the video display  56 . This image is preferably the image of the human personal trainer who is in charge of the remote system  14 . 
     The loudspeaker  58  provides another important communication medium to the user of the stationary bicycle  18 . For example, under computer  24  control, the user can be told with either a digitally synthesized or digitally recorded voice to pedal faster, pedal slower, that they are doing a good job, etc. Of course, analog recording techniques can be used as well, but are considered to be less flexible and desirable. Preferably, the voice being used is that of the personal trainer associated with the remote system  14  that oversees that local system  12 . Both voice synthesis and digital voice recording on computer systems  24  are well known to those skilled in the art. 
     A local interface  60  can be used to couple the computer  24  to additional health and fitness devices. In this instance, the local interface  60  is coupled to the weight trainer  20  and to the scale  22 . This additional health and fitness systems can either “dumb” systems with limited digital computation and storage capabilities, or they can include full fledged computer system such as the computer system  24 . In the present embodiment, the weight trainer  20  and scale  22  include digital control circuitry (e.g. a microcontroller) which can communicate with the more powerful computer  24  of the stationary bicycle  18 . The various I/O devices, such as the loudspeaker  58  can be used in conjunction with these other devices  20  and  22 , e.g. the weight detected by the scale  22  can be announced on the loudspeaker  58  along with an indication that this is an increase or decrease in weight from the last session. Also, as mentioned previously, the weight trainer  20  can include the equivalent of the electrically control brake  52  which allows the resistance of the weight bar or handle to be varied to provide resistance (“weight”) training. This control of the break within the weight trainer  20  can be controlled by a “script” of the computer  24 . 
     The computer  24  is also coupled to a modem  62  for communication over a telephone line  30 . Alternatively, the computer  24  can be coupled to the remote computer  14  by other communication linkages, such as ISDN digital transmission line, via a local area network, or via a wide area network (WAN) such as the Internet. In other words, the telephone line  30  represents only one type of data communication channel between the local systems  12  and the remote system  14 . The present embodiment also includes a voice board  64  which can bypass the modem such that the loudspeaker  58  can be driven directly to the telephone line  30  in an analog fashion. Combination modem/voice boards are commercially available for personal computer systems, and are well known to those skilled in the art. 
     The remote system  14  includes, for example, a remote system computer  66  which is coupled to the telephone line  30  by a modem  68 . In addition, a telephone  70  can be coupled to the line  30  by a voice board  72 . Alternatively, the telephone  70  can be coupled to a separate telephone line so that simultaneous telephone and data links can be made. Still further alternatively, it is known to those skilled in the art that a single telephone line can be made to support both voice and data transmission. In any event, the telephone  70  can communicate directly with the loudspeaker  58  of the stationary bicycle  18  over the standard analog telephone line  30 . Alternatively, the telephone  70  can communicate with the computer  66  as indicated by the broken line  74  and the computer  66  can communicate digital voice data via modem  68 , telephone line  30  and modem  62 , to the computer  24 . The computer  24  can then store or pass through the digital voice data and play the voice input to the user of local station  12  via speaker  58 . 
     As noted above, the computer  66  is used to communicate with the local system  12  via computer communication link such as the telephone line  30  or an equivalent. This communication can include the downloading of data and instructions to the computer  24 , and can include the uploading of information from the computer  24  to the computer  66 . This allows for interactive communication between the remote system  14  and the local systems  12 . 
     The server stations  16  are used to further consolidate information from multiple remote system  14  and to provide a variety of services to the remote systems  14 . While the remote system  14  maybe housed in human personal trainer homes or work sites, the server system(s)  16  are preferably more regional or national in origin. In this way, the main office of the enterprise can access each of the server systems  16  to provide upgrades for software, exercise programs, exercise equipment scripts, etc., as well as receiving information from the remote computers  66  that can be used for further analysis and for providing further services. Part of this analysis can be on the general and specific level of fitness of various individual users of the local system  12 , as well as marketing information that can be used to offer product and services particularly tailored for the various users of the local system  12 . The performance of the human personal trainers at remote stations  14  can also be monitored. It should be noted that the server  16  can include direct connect server  76  and peer server  78  that can either be direct server itself (like server  76 ) to a number of remote stations  14 , or which can be a specialized server (such as a dietary analysis server) coupled to one or more direct connect servers  76 . In addition, higher-level servers can be used to further consolidate data from the direct connect servers  76  and/or the peer servers  78 . For example, the direct connect servers  76  can be regional in scope, while higher level servers can be national or international in scope. 
     In FIG. 2, a computer  80  is shown in a block diagram form. This basic computer architecture can be used for the local system computer  24 , the remote system computer  66 , and the server system computer  76 . Of course other and equivalent architectures (in the computational sense), such as parallel processing computers can be used in the present invention as well. In the disclosed embodiment, the computer  80  includes a microprocessor  82 , random access memory (RAM)  84 , read only memory (ROM)  86 , real time clock (RTC)  87 , digital mass storage  88 , CD-ROM drive  89 , and a number of input/output (I/O) ports  90 . Preferably, the digital mass storage  88  is read/write memory such as a hard disk with adequate storage capacity (e.g. 40 megabytes to 2 gigabytes or more). In addition, CD-ROM drive  89  can be coupled to the bus to provide, in particular, images to be displayed on a display  56  of the local system  12 . The various components  82 - 90  address, pass data, and pass control signals through a bus  92  which typically includes data (D), address (A), and control (C) lines, as it is well known to those skilled in the art. In addition, there are control and “glue” chips typically provided in the form of a “chipset” which are used to couple the various components of the system together. The design and manufacture of computer systems such as computer system  80  is well known to those skilled in the art, and such computer systems are commercially available, both as complete systems and as subsystems (e.g. motherboards) from a variety of commercial sources. 
     In FIG. 3, a process  94  implemented on a local system computer  24  is illustrated in a flow diagram. The process begins at  96  and, in a decision step  98 , it is determined whether there is any activity which requires the attention local system computer. If not, the computer system  24  is in a “standby” mode and process control is returned to step  98  in a recurring manner. If step  98  does determine that there is some activity, one or more of multiple branches are made to process the activity. If the activity is “EXERCISE”, e.g. the stationary bicycle  18 , the weight trainer  20 , or the scale  22  is to be used, a step  100  processes the exercise activity. If it is a “LOCAL SYSTEM” activity such as routine housekeeping, the local system activity is processed in a step  102 . If it is a “REMOTE SYSTEM” activity, the remote system activity is processed in a step  104 . After the completion of any one of steps  100 ,  102 , and  104 , process control is returned to step  98 . Of course, other types of activities can be initiated by step  98  such as, for example, a shut down activity which would cause a power-down of system, as will be appreciated by those skilled in the art. 
     In FIG. 4, step  100  of FIG. 3 is illustrated in greater detail. The process  100  begins at step  106  and, in a step  108 , a “welcome greeting” is created. This welcome greeting can be displayed on the screen  56  and/or can be heard from the speaker  58 , and can be personalized to both the individual user of the local system  12  and the human personal trainer of remote station  14 . For example, the image of the personal trainer can show up on the screen  56  with his voice saying “Good morning, Fred! I haven&#39;t seen you since last Wednesday. Let&#39;s try to get in a good work-out today!” This greeting forms a part of a “virtual personal trainer” at local system  12  which replaces some or all of the need for a human personal trainer to be present at the exercise session at the local system  12 . The “virtual personal trainer” is, therefore, a computerized process which emulates part or all of the functions traditionally performed by a human personal trainer. 
     Next, in a selection step  110 , the user decides whether he wants to select his own training program for that session or if he would like the system  12  to select the program. If the user selects the program, he creates a user “script” of what kind of exercise program he would like to perform that day. For example, if the user wishes to simply bicycle at a fixed resistance for thirty minutes, that can be entered in step  112 . Alternatively, more complex “scripts” can indicate that he would like to bicycle with interval training for thirty minutes, and then do five repetitions on the weight trainer  20 . 
     If, however, the user allows the system  12  to select the section type, step  114  controls the script selection. This is the preferred mode for using the local station  12  in that the script can be influenced not only by the local station  12 , but also by the human personal trainer at the remote system computer  66 . For example, data concerning the user&#39;s previous performances and the personal trainer&#39;s guidance can be stored in mass storage  88  (e.g. on a hard disk) so that a custom-tailored, interactive exercise program can be provided. 
     As noted above, the exercise program preferably proceeds according to “scripts.” A script is simply a sequence of exercise or other health-related events that are performed in fixed or variable sequences. The order and structuring of the script can be modified based upon monitoring the user&#39;s performance or by other user feedback. For example, if it is detected that the user is getting tired due to a slowing of the exercise repetition rate, the steps or parameters of the exercise script can be modified accordingly. In other words, certain script steps can be skipped or the parameters concerning the steps can be modified. For example, if a user is determined to be tiring by the local system  12 , and if the script says the next exercise event is to be ten repetitions on the weight trainer  20 , that step could be skipped. Alternatively, the weight training step could still be done, but the resistance parameters could be modified. For example, instead of doing ten repetitions at a hundred pounds resistance on the weight trainer  20 , eight repetitions at eighty pounds of resistance might be called for. The script therefore provides a general framework of a desired exercise session which can be varied based upon human personal trainer input from remote system  14 , user input at local station  12 , and detected user performance at local station  12 . 
     Once the script has been initiated in either steps  112  or  114 , a step  116  detects and records user activity and provides feedback to the user. This step will be discussed in greater detail subsequently. Such parameters as the rotations per minute (RPM) of the crank  36 , the timing and speed of the resistance weight repetitions of weight trainer  20 , the detected weight on the scale  22 , etc. can all be recorded in the mass storage  88  of the local system computer  24 . In addition, user feedback is provided. For example, if the person is cycling too slow on the stationary bicycle  18 , the computer  24  can generate a encouragement on speaker  58  that the person should pedal faster. Alternatively, if it is determined that the user is over-exerting, such as pedaling too fast, a cautionary warning can be issued on speaker  58  to slow down. Another important input is the heart rate monitor (HRM)  59  which detects if the heart (pulse) rate is rising too high. 
     Next, in a step  118 , it is determined whether the session is a modifiable session. Most sessions are preferably be modifiable, unless the user selects, in a step  112 , a non-modifiable session. If the session is modifiable, the session is modified in a step  120  based upon the selected script and upon user activity or other input. For example, if the heart rate monitor  59  detects that the pulse rate is too high, the resistance on the crank  36  can be reduced via a signal to the brake  52 . Next, in a step  122 , it is determined whether the session is completed. This is usually based on the script, although the user can always terminate a session. If the session is not completed, process control is returned to step  116  to repeat the loop. If the session is completed, the session records are updated in the mass storage  88 , as are the scripts, as indicated in step  124 . The process  100  is then completed at step  126 . 
     In FIG. 5, the step  116  of FIG. 4 is explained in greater detail. Process  116  begins at  128  and, in a step  130 , exercise parameters relative to the script are stored, preferably in mass storage  88 . These parameters depend on the type of exercise being done, and the type of sensory input available to the system  12 , but typically includes such things as time, RPM, resistance, machine state, etc. These exercise parameters are used to control the implementation of the exercise script, and are stored for later analysis. 
     Next, in a step  132 , it is determined whether encouragement is needed. An example of encouragement being needed is when the person is slowing down below the suggested repetition rate or speed in the script or, for example, has stopped exercising entirely. In such circumstances, encouragement is given in a step  134 . Again, this encouragement can be auditory via speaker  58 , or visual via display  56 , a combination of the two, or in any other suitable fashion. Next, in a step  136 , it is determined whether a caution is needed. If so, the caution is given in a step  138  either through auditory, visual, or other ways. Caution might be needed if the user is exercising faster than that suggested by the script or if a dangerous physical condition is detected, such as by the HRM  59 . Next, in a step  140 , it is determined if a script preview should be provided. If yes, a step  142  provides an auditory, visual or other type of preview of upcoming script events. For example, the system  12  could be taking a user on a imaginary bicycle ride through the country. The script preview would then, in a step  142 , indicate something like “We are now approaching a hill. You will note an increased resistance to pedaling in a few seconds which will steadily increase until we reach the crest of the hill in about one and a half minutes.” These steps  134 ,  138 , and  142  are further examples of the local system  12  serving as a “virtual personal trainer.” The process  116  is completed at step  144 . 
     In FIG. 6, step  102  of FIG. 3 is illustrated in greater detail. Process  102  begins at step  146  and, in a step  148 , it is determined what type of local system activity is to be performed. Three different local system activities will be discussed herein by way of example. As a first example, the local system activity can be to alert the user as indicated in a step  150 . For example, the local computer  24  can detect that it is time for a scheduled exercise session. The computer  24  can then communicate with the user via speaker  58  that it is time for a scheduled exercise. In this instance, the computer  24  would use a real time clock (RTC)  87  to know that it was time to initiate the exercise session. After completion of step  150 , process control is returned to step  148 . 
     A second type of local system activity would be housekeeping. For example, in a step  152 , diagnostics can be run to check the operability and calibration of the various components of local system  12 . Also, in a step  154 , data compression, hard disk compaction, and data preparation can be accomplished. 
     A third example of local system activity detected by step  148  is a local communication within the local system  12 . For example, the weight trainer  20  or the scale unit  22  might be communicating to the computer  24  via the interface  60  or vice-versa. A step  146  processes the data from the local unit accordingly and can provide commands to the local unit for the exercise or health session. Process control is then returned to step  148  after the completion of steps  150 ,  154 , and  156 . 
     In FIG. 7, step  104  of FIG. 3 is illustrated in greater detail. The process  104  begins at  158  and, in a step  160 , the connection is established with the remote system. Next, in a step  162 , information is uploaded or downloaded, the process is completed at  164 . It should be noted that the connection of step  160  can be either an incoming connection or an outgoing connection. If there is an outgoing connection to a remote system computer  66  the modem  62  makes connection with the telephone line  30  and dials the telephone number of the remote system computer  66 . For an incoming connection, the modem  62  detects an incoming call on telephone line  30 , picks up the line, and connects to the local system computer  24 . 
     Since the systems  12  are typically home based, the user may wish to use a single telephone line for both normal telephone needs and for use by the system  12  for step  160 . It would, of course, be simpler to have an additional telephone line installed simply for the system  12 , but this may be impractical from a cost point of view. If the system  12  is sharing the telephone line with the other telephones and devices in the household, mechanisms and/or processes are preferably provided to prevent interference with normal telephone usage. If the local system  12  initiates the call to the server  66 , it would simply need to detect whether the telephone line was available so as not to interfere with other use of the telephone line. It can help ensure this availability by calling at unusual times, such as the middle of the night or when it is known that the user is away from the home, e.g. at work. 
     However, with incoming calls from a computer  66  to the computer  24  on a single home line, some way of distinguishing between calls for the local system  12  and other kinds of telephone calls should be preferably provided. Again, this could be time-based such that it is implied that a telephone call in the middle of the night is for the local system  12 . The RTC  87  could be used for timing purposes in this situation, or the computer could simple start a counter. In this instance, the modem  62  would pick up the telephone quickly before other devices, such an answering machine for a facsimile machine, would have a chance to pick it up. Alternatively, the local system  12  could allow a number of “rings” before picking up the line. For example, the local system  12  could allow the telephone line  30  to ring six times before modem  62  picks up the line. In a still further instance, the computer  66  might be calling a local computer  24  and have the phone line picked up by the user or by another device (like a telephone answering machine) coupled to the telephone line  30 . In this instance, the computer  66  could hang up the line and call back a second time. Since the computer  24  can monitor the line via modem  62 , it could know that a call back within, for example, thirty seconds of a hang up is for the computer  24 . Alternatively, it could listen to the line on the first call to determine if it was computer  66  calling, and then pick it up the line  62  immediately on any call back, or call back the remote system computer  66  itself when the telephone line was free. Again, RTC  87  can be used for timing purposes, or counters can be used, as is well known to those skilled in the art. 
     Information being uploaded can include parameters and data stored in the mass storage  88  concerning the exercise sessions by the user(s) of the local system  12 . It can also include other system information used for diagnosing or improving the operation of the local system  12 . In addition, information can be downloaded to the local system  12  from the remote system computer  66  to, for example, change exercise scripts for a user, provide upgrades for the software running on the local system computer  24 , etc. 
     In FIG. 8, a process  166  running on a remote system computer  66  is illustrated. The process  166  begins at  168  and, in a step  170 , an activity type is determined. A first type of activity is a batch system connection whereby the remote system computer  66  sequentially connects with a series of local systems for the uploading or downloading of information. This process is accomplished in step  172 . A batch system connection can be used to update the software on a number of computers  24  of local system  12 , or to upload exercise session data from a number of local systems  12  on a regular basis, e.g. daily, weekly, monthly, etc. 
     If step  170  detects a single system activity type, a step  174  connects the remote system computer  66  to a single local system  12  for uploading and/or downloading as described previously. If an activity type “PROCESS DATA” is detected by step  170 , a step  176  prepares data on the computer  66  for storage, processing, communication, and/or analysis. Examples of some types of analysis of the data will be discussed subsequently with referenced to FIGS. 8 a - 8   c . Finally, if an activity type “SERVER CONNECTION” is detected, a connection is made with the server  76  to upload or download information. The server connection can be initiated by the computer  66 , or it can be initiated by the server system computer  76  depending on the circumstances. Upon the completion of any of the steps  172 ,  174 ,  176 , and  178 , process control is returned to step  170 . 
     In FIGS. 8 a - 8   c , several examples of types of data analysis that can be performed on the remote system computer  66  in step  176  of process  166  are illustrated. Of course, this analysis can be accomplished at any of the computers on the system  10  including the remote system computer  66 , server system computer  76 , peer system computer  78 , or even on the local system computer  24 . In FIG. 8 a , a display of exercise activity is shown. This display can be on the display on a video display, such as a display  56 , or it can be printed to make a permanent record. Along the y axis are the number of minutes of exercise, and along the x axis are the days of the week. As seen in the illustration of FIG. 8 a , on Monday the user had twenty minutes of exercise, on Tuesday the user had sixty minutes of exercise, and on Thursday the user again had twenty minutes of exercise. 
     In FIG. 8 b , another display or print out of, preferably, the remote system computer  66  is a summary of daily exercise activity. As noted, the Monday twenty minute exercise session actually consisted of a ten minute cycling session and a ten minute weight session. Also includes is a summary of the number of calories burned and other parameters associated with those activities. 
     In FIG. 8 c , a plot of the user&#39;s weight as taken from scale  22  is shown illustrating the day-by-day weights of the user during part of the month of January. In this way, users are provided with good feed-back concerning the progress he/she is making in reaching their ideal weight. This information can be used by the remote or server systems to modify the exercise scripts and/or provide dietary counseling or products to the individual users of local stations  12 . 
     As noted, the analysis of the data is preferably accomplished at the site of the human personal trainer, i.e. the site of the remote system computer  66 . However, this analysis can also be accomplished at upstream or downstream computers. As mentioned previously, the computer  24  of the local system  12  is perfectly capable of making these types of analysis and displaying the on the display  66 . Also, a simple printer I/O port can be provided in the stationary bicycle  18  to allow a printout of the graphs and charts that were shown by way of example in FIGS. 8 a ,  8   b , and  8   c.    
     In FIG. 9, a process  180  running on server system computer  76  is illustrated. In many ways, the process  180  running on the server system computer  76  is very similar to the process  166  running on the remote system computer  66 . The process  180  begins at  182  and, in a step  184 , an activity type is detected. One type of activity type is the batch connection where the server sequentially (e.g. serially and/or in parallel) connects to a series of remote system computers  66  for uploading and downloading information. This process is accomplished at step  186 . Another activity type detected by step  184  is the single system connection accomplished in step  188 . In step  188 , the server connects to a single remote system for uploading or downloading. In the case of step  186  where there is a batch connection, the server system computer  76  will almost always be the initiating computer for the connection. With the single system connection however, the initiation of the connection can come either from the server  76  or from the remote system computer  66 . 
     If step  184  detects a “PROCESS DATA” activity type, the data for multiple remote system computers  66  (which includes data from multiple local system  12 ) is prepared for storage, processing, communication, and/or analysis in a step  190 . If a step  184  determines that there is to be a peer-to-peer connection with a peer server  188 , a step  192  makes the connection with the peer server to pass data back and forth. Of course, there are other activity types that can be performed by the process on server system computer  76 , these four being by way of example. After the completion of steps  186 ,  188 ,  190 , or  192 , process control is returned to step  184  to detect another activity type. 
     While this invention has been described in terms of several preferred embodiments, it is contemplated that alternatives, modifications, permutations and equivalents thereof will become apparent to those skilled in the art upon a reading of the specification and study of the drawings. It is therefore intended that the following appended claims be interpreted as including all such alternatives, modifications, permutations and equivalents as fall within the true spirit and scope of the present invention.

Technology Category: a