Abstract:
A method is presented for managing an exercise regime. The method may include developing a plan for an exercise regime and transmitting the plan to one or more client computers. The client computer may be associated with a user. The client computer may acquire performance-related data from the user during execution of the plan, and may transmit the acquired data to a server in communication therewith. The server may analyze the performance-related data to verify that predetermined expected performance values are reached, and may modify the plan according to the analysis. The modified plan may then be provided to the client computer.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    Many training devices exist to help athletes improve their performance. The more innovative of these devices allow athletes to practice against a recorded workout which describes a series of activities to be performed, such as a sequence of distances or times or heart rates. These devices typically include data relating to one or more performance attributes of the athlete during training. These devices also typically include a notification mechanism that signals the athlete that he or she is ahead or behind their desired target values. Some online services also provide tailored training plans. 
         [0002]    In any case, such systems typically require a workout to be defined in advance of a training session, and a post-workout analysis to be performed on data acquired from the athlete during training. An exemplary training session is shown in  FIG. 1 . In this example, the athlete runs a first 1,000 meters at a planned pace. The athlete then begins to experience difficulties maintaining the pace. The athlete&#39;s performance worsens during the next 400 meters. 
         [0003]    During the training session, the athlete must decide whether to continue to try to follow the predefined training program, or to reduce the pace during the initial 1000 meter distance, or during the subsequent 400 meter distance. 
       SUMMARY OF THE INVENTION 
       [0004]    Embodiments of the invention provide exercise regime management tools. 
         [0005]    In one embodiment, a method for managing an exercise regime in accordance with the present invention may include developing a plan for an exercise regime and transmitting the plan to one or more client computers. The client computer may be associated with a user. The client computer may acquire performance-related data from the user during execution of the plan, and may transmit the acquired data to a server in communication therewith. The server may analyze the performance-related data to verify that predetermined expected performance values are reached, and may modify the plan according to the analysis. The modified plan may then be provided to the client computer. 
         [0006]    A corresponding computer program product and system are also disclosed and claimed herein. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    In order that the advantages of the disclosure will be readily understood, a more particular description of embodiments of the invention briefly described above will be rendered by reference to specific embodiments illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered limiting of its scope, embodiments of the invention will be described and explained with additional specificity and detail through use of the accompanying drawings, in which: 
           [0008]      FIG. 1  is a table detailing a sample workout and pace measured during the workout (wherein RP represents an ideal Race Pace); 
           [0009]      FIG. 2  is a block diagram of an apparatus in accordance with an embodiment of the invention; 
           [0010]      FIG. 3  is a flow chart of a method in accordance with an embodiment of the invention; 
           [0011]      FIG. 4  is a block diagram of an apparatus of an alternative embodiment of the invention; 
           [0012]      FIG. 5  is a block diagram of notifications to a user during a training session in accordance with embodiments of the invention; 
           [0013]      FIG. 6  is a flow chart of a method of an alternative embodiment; and 
           [0014]      FIG. 7  is a block diagram of a computer on which embodiments of the invention may operate. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    It will be readily understood that the components of embodiments of the present invention, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the Figures, is not intended to limit the scope of the disclosure, as claimed, but is merely representative of selected embodiments of the invention. 
         [0016]    Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. 
         [0017]    Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that embodiments of the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure. 
         [0018]    The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of the invention that are consistent with the disclosure as claimed herein. 
       Architecture of the System of a First Embodiment 
       [0019]    Referring to  FIG. 2 , a system  10  of one embodiment of the invention may include a primary database  12  configured to store a profile for each registered user. The system  10  may further include a secondary database  14  configured to store previous values (if available) of the user&#39;s performance attributes. Together, the profile and values may form a record of the user&#39;s performance history. The system  10  may further include a tertiary database  15  configured to store records of previous workout plans and modifications thereto. 
         [0020]    In some embodiments, the system  10  may include a planning module  16  configured to retrieve information from the primary, secondary, and tertiary databases  12 ,  14 , and  15 . The planning module  16  may use this information to construct a workout plan for the user. Since thresholds, events, and corrective actions may all be part of a workout plan, the workout plan may be expressed, for instance, in XML format. The system  10  may further include a transmission module  18  which may be configured to transmit the workout plan to a receiver (not shown) of the user. In some embodiments, the receiver may include a wireless receiver. In use, the system  10  may be located in a remote server some distance from the user. 
         [0021]    In certain embodiments, the system  10  may further include a data acquisition module  20  configured to receive data relating to predefined performance attributes of the user. The data acquisition module  20  may transmit the acquired data to a comparator  22 . The comparator  22  may be configured to compare the acquired values of the performance attributes with desired values for these attributes. The desired values, or target values, may be acquired from the planning module  16 . 
         [0022]    The system  10  may further include a first feedback loop  24  between the comparator  22  and the planning module  16 . A second feedback loop may be interposed between the planning module  16  and the tertiary database  15 . 
         [0023]    Those skilled in the art will appreciate that the system described above may be organized in other equivalent embodiments, and many changes or modifications may be made to the system without departing from the scope of the present invention. For example, the three databases mentioned above may be included in a single database. Another possible alternative may be to monitor several users at the same time, with the same central system. 
       Method of Operation of the First Embodiment 
       [0024]    Referring now to  FIGS. 2 and 3 , a method in accordance with an embodiment of the invention may include two phases, namely, a configuration phase and an execution phase. During the configuration phase, a user may register with the system by providing, inter alia, training goals and data relating to various physiological attributes (e.g., age, weight, medical conditions, fat content, medical conditions, etc.). From this information, a profile of the user may be constructed  26  and stored in the primary database  12 . 
         [0025]    During the execution phase, the method may determine  28  the length of time elapsed since the user last trained. This information may be obtained by asking the user, or by looking at a date stamp of a most recent entry in the secondary database  14 , for example. If a record from a previous workout plan for the user is available, the method may retrieve the record. From this information, the method may generate 30 a workout plan for the current training session of the user. The workout plan may include details of target values for specified performance-related variables. The workout plan may also include thresholds for allowable deviations from these target values. The method may then transmit  32  the workout plan to the user. 
         [0026]    As the user trains in accordance with the transmitted workout plan, a plurality of sensors in contact with the user (or a device which the user is using) may acquire  34  performance-related data from the user. The data may be transmitted to the data acquisition module  20 , which may forward the data to the comparator  22 . The comparator  22  may then compare  36  the data with the target values prescribed for the relevant performance-related variables in the current workout plan. 
         [0027]    In the event that the acquired data deviates from the target values for a given performance-related variable, the comparator  22  may determine the extent of the deviation and compare it with the prescribed deviation threshold. In the event that the deviation exceeds the threshold, the comparator may transmit, through the feedback loop  24 , a flag to this effect to the planning module  16 , together with the degree of deviation. On receipt of the flag for a predefined monitoring time interval, the planning module  16  may adjust  38  the workout plan for the user. The planning module  16  may further warn the user that there has been a deviation from the target values, and may notify the user of an imminent change to the workout plan. The planning module  16  may then transmit  42  the adjusted workout plan to the user. Finally, the planning module  16  may store the adjusted workout plan in the tertiary database  15 . 
         [0028]    The planning module  16  and the comparator  22  may thus collectively provide a dynamic feedback system which monitors the status of a user during training, and adapts the training plan in a dynamic real-time fashion. This dynamic modification may be inherently sensitive and responsive to the physical and environmental conditions experienced by the user. 
       Architecture of the System of an Alternative Embodiment 
       [0029]    In another embodiment, the system may receive input for a workout plan from a trainer. This feature may be particularly useful for specialized or very high-level training for particular sports. In particular, referring now to  FIG. 4 , an alternative embodiment of the invention may include a system  10  adapted to communicate with a user&#39;s device  44  and a trainer&#39;s device  46 . 
         [0030]    The trainer&#39;s device  46  may include a workout builder for creating and modifying a workout plan. To this end, the trainer&#39;s device  46  may communicate with the planning module of the system  10  to download a workout plan developed by the planning module, modify it in accordance with the specific needs of the user (and relevant sport), and upload the modified workout plan into the planning module of the system  10 . 
         [0031]    In another embodiment, the trainer may be allowed to intervene directly into the system  10  and prevent the planning module from developing an initial workout plan for the user. Instead, the trainer may implement this process. In particular, the trainer may develop the workout plan and download it directly to the planning module of the system  10 . To assist the trainer in modifying or creating the workout plan, the trainer may be provided with access to a history of previous workout plans and acquired performance-related variables in the secondary and tertiary databases. 
         [0032]    The trainer&#39;s device  46  may also include a workout tracker for monitoring an ongoing workout. The trainer may thus be provided with continuous feedback on the real performance achieved by the user, compared to the user&#39;s target performance. The trainer may also be permitted to intervene in a training session and provide a modified workout plan as desired, even if this is not triggered by the conditions used in the comparator of the system  10 . To support the above functions, the trainer&#39;s device  46  may be provided with internet connectivity for receiving the data collected during the training sessions and for downloading and uploading workout plans. 
         [0033]    As previously discussed, in use, external sensors may monitor performance-related variables from the user (e.g., heart rate, speed and distance) during a training session. This data may be acquired and collated by the user&#39;s device  44 , which may transmit the data to the system  10 . To support this activity, the user&#39;s device  12  may be provided with internet connectivity. The collected data may be accessed from the system  10  for real-time or post-workout analysis. 
         [0034]    This embodiment may also provide a notification service to notify the trainer that the user is starting a training session, as well as to notify the trainer if and when the deviation thresholds for the user&#39;s performance-related variables are repeatedly exceeded. In one embodiment, the notifications may be provided through Systems Management Server (“SMS”) messaging. The user&#39;s device  44  may include an SMS sender to transmit the relevant SMS message to the trainer. Similarly, the trainer&#39;s device  46  may include an SMS receiver for receiving messages from the user. The notification service may also be used by the trainer to notify the user that a new workout is available. Each message may include a list of properties similar to those shown in  FIG. 5 . 
         [0035]    As before, a system  10  in accordance with embodiments of the invention may modify a workout plan in accordance with the user&#39;s performance, and may allow the user&#39;s device  44  to download the modified workout plan as appropriate. 
       Method of Operation of the Alternative Embodiment 
       [0036]    Referring now to  FIG. 6  and  FIG. 4 , in one embodiment, the trainer may build  48  a workout plan for a specific user and upload  50  it to the system  10 . The user may then download  52  the workout plan before starting a training session. The user may then begin  54  training. At this point, a notification may be sent  56  to the trainer to signal the start of the activity. 
         [0037]    During the training session, performance-related data may be acquired  58  from the user. As previously discussed, the data may be compared  60  with allowable ranges provided in the workout plan. Repeatedly exceeding the predetermined thresholds may trigger  62  an event that is sent  64  to the trainer. The trainer, based on the event received, may adjust  66  the workout plan and upload  68  the adjusted workout plan to the planning module of the system  10 . 
         [0038]    The system  10  may then send 70 a notification to the user, via SMS for example, to signal that an update is ready to be downloaded. Upon receipt of the notification, the user may download  72  the new workout plan. The downloaded workout plan may then become the current workout plan. 
       System and Method of a Third Embodiment 
       [0039]    In some embodiments, the roles of the planning module and the trainer may be complementary. Accordingly, a third embodiment may provide a hybrid of the planning module and the trainer. In particular, the third embodiment may act primarily as a facilitator for the trainer (as in the second embodiment), and may switch to the automated workout planning facility (of the first embodiment) in situations where the trainer is unavailable. 
         [0040]    More particularly, the third embodiment may operate as follows. When a user begins a workout program, the user&#39;s device may send to the trainer a notification, and may wait for a response therefrom. If no response arrives within a certain time, the automatic trainer (of the first embodiment) may be enabled. If during the training session the trainer becomes available, the third embodiment may switch to the human trainer mode (of the second embodiment). Further, if during the training session the trainer leaves, the third embodiment may again switch to the automatic trainer mode (of the first embodiment). 
       Generic Operating Environment 
       [0041]    A machine on which embodiments of the invention may operate may include a generic structure, as shown in  FIG. 7 . More particularly, a generic computer of the system may be denoted with  80 . The computer  80  may be formed by several units connected in parallel to a system bus  82 . In detail, one or more microprocessors  84  may control operation of the computer  80 . A RAM  86  may be directly used as a working memory by the microprocessors  84 , and a ROM  88  may store basic code for a bootstrap of the computer  80 . 
         [0042]    Peripheral units may be clustered around a local bus  90  by means of respective interfaces. Particularly, a mass memory may include a hard disk  92  and a drive  94  for reading CD-ROMs  96 . The computer  80  may further include input devices  98  (for example, a keyboard and a mouse), and output devices  100  (for example, a monitor and a printer). A Network Interface Card (“NIC”)  102  may be used to connect the computer  80  to the network. A bridge unit  104  may interface the system bus  82  with the local bus  90 . Each microprocessor  84  and the bridge unit  104  may operate as master agents requesting an access to the system bus  82  for transmitting information. An arbiter  106  may manage the granting of the access with mutual exclusion to the system bus  82 . 
         [0043]    In any case, embodiments of the invention facilitate automatically and dynamically adapting a user training program according to specific conditions experienced by the user during training. Embodiments of the invention further provide more responsive mechanisms for automated training. Some embodiments facilitate storing a number of different training programs tailored to a number of users and their individual progress needs. As embodiments of the invention may be largely automated, such embodiments may be implemented in a system remote to the user. This feature may accommodate the needs of geographically distant users, such as those that may be traveling for different races, tournaments, competitions, and other events. 
         [0044]    In certain embodiments, the system may enable a trainer to remotely monitor users during their training, regardless of where the training is performed. Further, the trainer may remotely monitor and adjust a user&#39;s workout based on real-time data. In this manner, a user may be assisted remotely by his or her trainer.