Abstract:
A system and method for efficient automation of a fitness circuit is disclosed. The system includes a number of networked client computers positioned at workout stations. The client computers are coordinated by a primary client computer which serves as a relay between the client computers and a centralized circuit control system where circuit scheduling and workout details are defined. The method includes enabling an exerciser to scan an issued identification card at each workout station. A client computer positioned at the workout station retrieves and displays workout information specific to the user and further instructs user when to progress to the next circuit station.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims priority to, and the benefit of, U.S. Provisional Application Ser. No. 60/667,637, filed Apr. 1, 2005, which is hereby incorporated by reference in its entirety. 
     
    
     FIELD OF INVENTION  
       [0002]     The present invention generally relates to circuit training, and more particularly, to the application of a system of networked computers and unique algorithms to the circuit training method.  
       BACKGROUND OF INVENTION  
       [0003]     Both strength and cardiovascular training are considered to be important aspects of an effective physical fitness program. The proven benefits of fitness training often include, for example, increased muscle mass, lower resting heart rate, decreased cholesterol levels, lower blood pressure, and less stress on joints. To achieve these benefits, a consistent exercise program spanning an extended period of time is usually required. Common barriers to maintaining a consistent exercise program include, for example, time constraints, boredom, planning and tracking overhead, lack of endurance, and budget limitations. Circuit strength training has become a common method of training that can minimize these barriers.  
         [0004]     In order to offer exercisers a complete and balanced program, exercise facilities typically include strength equipment that works every muscle group, as well as cardiovascular machines. The relative popularity of different types of machinery dictates the unique capacity of each machine. For example, men are usually far more likely to use a bench press than they are to use a leg abductor machine. As such, the most efficient full service fitness facilities often include a number of machines proportionate to usage levels. Therefore, large, centralized fitness facilities are increasingly common.  
         [0005]     Despite the numerous choices of exercise machines, it is a common occurrence to find increased demand for a certain type of equipment, wherein the demand is often larger than the capacity. This phenomenon known as “bottlenecking” is especially common during peak usage times. Frequent bottlenecking during peak times is very disruptive to a workout program, often resulting in inefficient and time consuming workouts.  
         [0006]     A study of the manner in which people exercise often leads to a further understanding of why bottlenecking occurs so frequently. First, workout programs are extremely flexible. Given the equipment that is available, the member can create a program from an almost limitless number of possible permutations. Second, the order of exercises within workouts is flexible, so exercise choices are effectively independent and random. Therefore, binomial probability laws can be used to analyze the probability of bottlenecks.  FIG. 2, 200  lists an exemplary configuration of different types of exercise machines and their capacity. Capacity is increased by simply adding another machine. Listed next is the probability that each machine type is chosen by a single member for an exercise within their workout. To determine this probability, it has been assumed that, through the process of trial and error, exercise facilities have observed bottlenecks and increased or decreased capacity accordingly. It is assumed that gyms generally have close to the optimal number of machines given member preferences, so the probability is approximated by dividing the number of machines of a given type by the total number of machines.  
         [0007]     The following equation may be used to calculate the probability of a bottleneck occurring:  
         P   ⁡     (   X   )       =         n   !         X   !     ⁢       (     n   -   X     )     !         ⁢         p   x     ⁡     (     1   -   p     )         (     n   -   x     )             
       n   =     number   ⁢           ⁢   of   ⁢           ⁢   members   ⁢           ⁢   currently   ⁢           ⁢   working   ⁢           ⁢   out         
       X   =     capacity   ⁢           ⁢   of   ⁢           ⁢   machine   ⁢           ⁢   type   ⁢           ⁢   being   ⁢           ⁢   chosen         
       p   =     probability   ⁢           ⁢   of   ⁢           ⁢   station   ⁢           ⁢   being   ⁢           ⁢   chosen   ⁢           ⁢       (   success   )     .           
 
         [0008]     At 80% capacity, there is a one in five chance that a bottleneck will occur for an exercise station each time a member switches exercises. People who routinely exercise in a gym would most likely agree that this is unacceptable in planning a workout. Because of this bottleneck issue, full service gyms cannot reasonably operate at greater than 60% capacity. Smaller gymnasiums are even more susceptible to these problems.  FIG. 2, 205  shows an example of the bottlenecking that occurs in a gym with only one machine of each type, namely, bottlenecking is estimated to occur at 20% of capacity.  
         [0009]     A strength program must be well planned in order to be effective. For example, a strength program may include exercises for every muscle group at resistance levels based on personal fitness levels. Once a program is established, the exerciser should be provided information relating to which exercise to perform and how much of the exercise to complete while they work out. Further, the workouts are typically tracked to help plan future workouts. For example, as fitness levels change, the resistance levels should also be changed. Planning and tracking is typically a manual process. Programs are set up by the exerciser or a personal trainer. Workouts are manually recorded in log books or computer programs that accept manually keyed data. Alternatively, the exerciser may choose to memorize their program and weight settings, which can be prone to errors. In either case, it is a difficult and time consuming process that requires diligence.  
         [0010]     The American Medical Association recommends that vigorous exercise be performed for thirty minutes, three times per week. However, many people find it is difficult to allow these 1.5 hours per week for exercise. An added dilemma is the need to balance cardiovascular, strength, and flexibility fitness. When exercise facilities are busy, the bottlenecking problem causes an increase in time spent waiting for equipment. However, many people who exercise find that they need to do so during peak hours. A typical thirty minute strength workout will consist of ten minutes of actual exercise, twenty minutes of muscle recovery time, and time spent waiting for equipment. Further, because of the likelihood of being interrupted, cardiovascular workouts are often completed at a separate time which often adds another twenty minutes of time spent performing cardiovascular exercise in order to benefit from the full thirty minutes of vigorous exercise. At best, this can be completed in fifty minutes, however sixty minutes is more typical. The net result is that a balanced program using traditional exercise techniques typically requires at least sixty minutes, three times per week.  
         [0011]     Circuit training is a method of strength training that has evolved over the past forty years to help overcome the concerns of bottlenecks, time constraints, and planning. In general, circuit training is the performance of a series of strength training exercises with little or no rest between exercises. By alternating muscle groups, both strength and cardiovascular benefit can typically be achieved. As shown in  FIG. 3 , exercisers often conform to a constant, predefined exercise order so that muscle groups are given appropriate rest and bottlenecking is limited. Ten exercises performed three times each in this type of workout can be completed in thirty minutes per workout, rather than the sixty minutes required when doing separate strength and cardiovascular workouts. To be effective, however, exercises should be completed at proper resistance levels. Too little resistance will often result in the exerciser getting neither the cardiovascular benefit, nor the strength benefit, and too much resistance will often result in overexertion of the exerciser. Overexertion can be very dangerous and can cause sickness, vertigo, or other dangerous conditions.  
         [0012]     Hydraulic resistance circuit training has become an extremely popular method of circuit training because it increases the chance that the exerciser will utilize a resistance level appropriate for their fitness level. Specifically, increases in the exerciser&#39;s movement results in an increase in the machines resistance. Operationally, this type of circuit is extremely efficient because planning and tracking overhead is reduced or eliminated. The downside to hydraulic resistance is that it is a one workout, one-size-fits-all production line. As the exerciser becomes stronger and more physically fit, they typically need to move the machines faster resulting in the workout becoming a higher and higher repetition workout. This is undesirable for most individuals who would prefer more diverse exercising alternatives.  
         [0013]     Many fitness facilities have dedicated circuit training areas equipped with free weight or selectorized resistance machines. This reduces or eliminates the problem of one-size-fits-all production line; however does so at the expense of reintroducing planning and tracking overhead. For example, the exerciser must know their correct resistance level for each machine; otherwise the workout will not provide optimal benefit.  
         [0014]     As such, a longstanding need exists to further minimize the concerns of bottlenecks, time constraints, and planning by applying a technological process to circuit training.  
       SUMMARY OF INVENTION  
       [0015]     The invention includes a system and method for an improved workout by promoting a unique combination of efficient time usage, effective training, ease of use, and resource usage. With respect to these advantages, the invention will now be compared to personal training services, hydraulic resistance circuit training, and traditional gymnasium training environments.  
         [0016]     With respect to resource usage, circuit training (using the invention and hydraulic embodiments) is the most cost effective because floor space, equipment, and staffing costs are kept to a minimum. Circuits can operate at 100% capacity and minimal bottlenecking exists. Even if the circuit is operating above 100% capacity (i.e., more exercisers than equipment), bottlenecking is limited to upfront queuing. In other words, exercisers must wait for a space to open up on the circuit, but once they have a spot, their workout is uninterrupted until they finish. Further, one personal trainer can readily supervise at least twenty exercisers.  
         [0017]     Traditional gymnasiums cannot effectively operate above 60% capacity; therefore, the investment in floor space and equipment is much higher for a traditional gym than it is for a circuit training facility. Personal training is the least cost effective method of training because the exerciser is purchasing one-on-one attention from a trained professional. If the exerciser wants to guarantee a balanced uninterrupted workout in a personal training environment, the facility will typically be operating at no better than 20% capacity.  
         [0018]     With respect to efficient time usage, circuit training environments allow the exerciser to complete a balanced strength, cardiovascular, and flexibility program in thirty minutes, three times per week. Traditional gymnasiums and personal training sessions can only offer the same balanced program in sixty minutes, three times per week (unless the exerciser is performing a circuit workout in these environments). In addition, traditional gym workouts often require the planning and tracking overhead previously discussed.  
         [0019]     With respect to effective training, personal trainers and traditional gymnasiums settings offer exercisers almost limitless possibilities for exercise. Elite athletes can use these services to help reach the pinnacle of fitness. However, the exercise frequency and variety is subject to the law of diminishing returns. The thirty minute, three times per week exercise regiment offered by weight resistance circuit training is very effective and meets the needs of anyone who wants to maintain a good, to very good, level of fitness. Hydraulic resistance circuit training is limited to providing basic, high repetition cardio/strength workouts. The present invention provides the exerciser with many different exercise possibilities. The relative weight levels and rest interval can be changed to provide workout types including, for example, cardio, cardio/strength, strength, power, and pyramid. This variety and flexibility provides programs that meet the needs of most exercisers, except for possibly the elite athlete trainer.  
         [0020]     With respect to ease of use, circuit training and personal training offerings often allow working out to be an extremely easy and mindless process. The exerciser enters the facility and follows instructions until the workout is complete. Whether the instructions come from a personal trainer or computer display is irrelevant—the exerciser is completely guided through their workout. The reason that many people ignore strength training in traditional gymnasium settings is that they simply do not know what to do in order to get a complete and balanced workout. Even those who do have knowledge of exercise techniques may shy away from strength training because they do not wish to plan and track their workouts.  
         [0021]     The invention avoids some of the major weaknesses of the other workout alternatives. Personal training is the best option for those who are willing to pay a premium. Traditional gymnasium settings are fine for those who have knowledge of workouts and are willing to tolerate bottlenecking, planning, and tracking. Hydraulic resistance workouts are fine for those who are willing to sacrifice effectiveness for an inexpensive, efficient workout that they can easily complete. A workout using the present invention is the best combination for those exercisers wanting to balance cost, time, effectiveness, and ease of use. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]     A more complete understanding of the invention may be derived by referring to the detailed description and claims when considered in connection with the Figures, wherein like reference numbers refer to similar elements throughout the Figures, and:  
         [0023]      FIG. 1  is a block diagram illustrating the major system components for an exemplary circuit training system, according to an embodiment of the present invention;  
         [0024]      FIG. 2  are charts listing varying types of exercise machines with an estimated probability of encountering bottlenecks at varying capacity levels;  
         [0025]      FIG. 3  is a diagram illustrating the various steps of a common exercise circuit;  
         [0026]      FIG. 4  is a flowchart illustrating an exemplary process for constructing a circuit time array and controlling a current time period value, according to an embodiment of the present invention;  
         [0027]      FIG. 5  is a flowchart illustrating an exemplary process for scheduling and configuring a workout session, according to an embodiment of the present invention;  
         [0028]      FIG. 6  is a block diagram illustrating an exemplary memory directory structure for both primary and secondary client computers, according to an embodiment of the present invention;  
         [0029]      FIG. 7  is a flowchart illustrating an exemplary process for coordinating a number of client computers during a circuit, according to an embodiment of the present invention;  
         [0030]      FIG. 8  is a flowchart illustrating an exemplary process for managing communications between a primary client computer and a secondary client computer during a circuit, according to an embodiment of the present invention;  
         [0031]      FIG. 9  is a flowchart illustrating an exemplary process for ensuring that every component of the CTS is running to ensure proper functioning of the workout process, according to an embodiment of the present invention; and,  
         [0032]      FIG. 10A-10B  is a flowchart illustrating an exemplary automated process for guiding users through a complete circuit, according to an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0033]     The detailed description of exemplary embodiments of the invention herein makes reference to the accompanying drawings, which show the exemplary embodiment by way of illustration and its best mode. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. Thus, the detailed description herein is presented for purposes of illustration only and not of limitation.  
         [0034]      FIG. 1 . In general, CTS  110  customizes the circuit training process to improve training effectiveness and variety, while maintaining the circuit efficiency. CTS  110  comprises a system of networked computers and unique algorithms to the circuit training method. A computer monitor at each exercise station automatically displays personalized workout data to enable the exerciser to understand precisely what exercise to perform, how much weight to lift, and when to perform the exercise. To overcome the disadvantages of a “one-size-fits all” hydraulic resistance production line, selectorized or free weight exercise equipment can be used efficiently in a circuit training environment. The exercise machine configuration conforms to the basic circuit training model.  
         [0035]     The invention includes a system and method for customizing the circuit training process to improve training effectiveness and variety, while maintaining the circuit efficiency. The invention applies a system of networked computers and unique algorithms to the circuit training method. With reference to  FIG. 1 , the circuit training system (CTS)  110  enables a user  100  to interact with the circuit control engine  140  through a computer client  105 . Client  105  is connected to a host server  120  through a network connection (e.g., Internet, Intranet, LAN, WAN) that is managed through a network hub  115  or similar device. Server  105  may employ an authentication server  125  in order to validate and afford proper permissions to authorized users of the system. User database  130  stores user credentials and permissions specific to each user. Server  120  also employs an applications server  135  to manage various applications utilized by the system. Application server  135  may be a stand-alone device or may comprise software residing within server  120 . Application server  135  invokes circuit control engine  140  in order to process user  100  requests for personalized workout data. Circuit control engine  140  stores data relating workout specifics within circuit database  145 . According to one embodiment, circuit control engine  140  further interacts with a report engine  150  in order to organize and format workout data from circuit database  145 .  
         [0036]     As will be appreciated by one of ordinary skill in the art, the CTS  110  and its associated components may be embodied as a customization of an existing system, an add-on product, upgraded software, a stand alone system (e.g., kiosk), a distributed system, a method, a data processing system, a device for data processing, and/or a computer program product. Accordingly, the invention may take the form of an entirely software embodiment, an entirely hardware embodiment, or an embodiment combining aspects of both software and hardware. Furthermore, the invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the storage medium. Any suitable computer-readable storage medium may be utilized, including hard disks, CD-ROM, optical storage devices, magnetic storage devices, and/or the like.  
         [0037]     Primary client  105  and secondary client  100  may comprise any hardware and/or software suitably configured to facilitate input, receipt and/or review of any data related circuit control engine  140  or any data discussed herein. Each of primary client  105  and secondary client  100  may include any device (e.g., personal computer), which communicates (in any manner discussed herein) with the invention via any network discussed herein. Such browser applications comprise Internet browsing software installed within a computing unit or system to conduct online transactions and communications. These computing units or systems may take the form of a computer or set of computers, although other types of computing units or systems may be used, including laptops, notebooks, hand held computers, set-top boxes, workstations, computer-servers, main frame computers, mini-computers, PC servers, pervasive computers, network sets of computers, and/or the like. Practitioners will appreciate that primary client  105  and secondary client  100  may or may not be in direct contact with the invention. For example, primary client  105  may access the services of CTS  110  through another server, which may have a direct or indirect connection to server  120 .  
         [0038]     Each of the primary client  105  and secondary client  100  computing units may be further equipped with an Internet browser connected to the Internet or an intranet using standard dial-up, cable, DSL or any other Internet protocol known in the art. Transactions originating at a web client may pass through a firewall in order to prevent unauthorized access from users of other networks. Further, additional firewalls may be deployed between the varying components of CTS  110  to further enhance security.  
         [0039]     Any firewalls may include any hardware and/or software suitably configured to protect CTS  110  components and/or enterprise computing resources from users of other networks. Further, a firewall may be configured to limit or restrict access to various systems and components behind the firewall for web clients connecting through a web server. Firewall may reside in varying configurations including Stateful Inspection, Proxy based and Packet Filtering among others. Firewall may be integrated within a web server or any other CMS components or may further reside as a separate entity.  
         [0040]     Digitizer  155  may include any hardware and/or software suitably configured to facilitate the input of data at primary client  105  and secondary client  100  computing units. In one embodiment, digitizer  155  is a hand-held laser scanner. Practitioners will appreciate that there are numerous configurations of digitizers and scanning devices which are configured to read both natural and encoded text and numerals and facilitate conversion to digital signals. According to one embodiment, digitizer  155  is used to enable users to conveniently and accurately enter user credentials for security and identification purposes.  
         [0041]     Server  120  may include any hardware and/or software suitably configured to facilitate communications between client  105  and one or more CTS  110  components. Further, server  120  may be configured to transmit data to client  105  within markup language documents. Server  120  may operate as a single entity in a single geographic location or as separate computing components located together or in separate geographic locations. Requests originating from client  105  may pass through a firewall before being received and processed at server  120 . As used herein, “transmit” may include sending electronic data from one system component to another over a network connection. Additionally, as used herein, “data” may include encompassing data such as commands, queries, files, data for storage, and the like in digital or any other form.  
         [0042]     Network hub  115 , as used herein, may comprise any hardware and/or software suitably configured to interconnect various computing components relating to CTS  110 . Network hub  115  may be used with 10-Base T, 100-Base T EtherNet, or any other available wiring. Practitioners will appreciate that network hub  115  may be configured with differing numbers of ports and hubs that can be bridged together according to the number of computing units being connected.  
         [0043]     Application server  135  may include any hardware and/or software suitably configured to serve applications and data to a connected client  105 . Like server  120 , the applications server  135  may communicate with any number of other servers, databases and/or components through any means known in the art. Further, applications server  135  may serve as a conduit between client  105  and the various systems and components of CTS  110  and client  105 . Server  120  may interface with an applications server  135  through any means known in the art including a LAN/WAN, for example. Application server  135  may further invoke circuit control engine  140  in response to a user  100  request.  
         [0044]     Circuit control engine  140  may include any hardware and/or software suitably configured to automatically generate personalized workout data based a user  100  request and equipment availability. Circuit control engine  140  may reside as a standalone computing device or as a software entity stored within applications server  135  or server  120 . Circuit control engine  140  may communicate directly or indirectly with one or more computing devices such as mainframe computers, for example. Circuit control engine  140 , in an exemplary embodiment, controls the circuit run data in circuit database  145 . It can run on the database server or a stand-alone server, includes read/write access to circuit database  145 . Circuit control engine  140  accepts input comprising the length of time for which it is to run, and then accesses circuit database  145  to determine the training interval length (time spent at each exercise or recovery station). In one embodiment, circuit control engine  140  then performs two functions, namely building a time interval array, and controlling a current time period value.  
         [0045]     In order to control access to server  120  or any other component of CTS  110 , server  120  may invoke login module  125  in response to submission of user authentication credentials received at server  120 . Login module  125  may include any hardware and/or software suitably configured to receive authentication credentials, encrypt and decrypt credentials, authenticate credentials, and grant access rights according to user&#39;s pre-defined privileges attached to the credentials. Login module  125  may grant varying degrees of application and data level access to users based on user data stored within circuit database  145 . For example, an administrator may be allowed to modify and/or re-configure training profiles and equipment lists while a personal trainer may only view and/or modify training profiles for clients assigned to her.  
         [0046]     According to one embodiment, CTS  110  may include a reports engine  150  to configure and produce various reports relating to equipment performance and workout activities. Such reports may include, for example, equipment usage, member activity, equipment downtime, and the like. Report engine  150  may include any hardware and/or software suitably configured to produce reports from data stored in one or more databases. Report engines  150  are commercially available and known in the art. Report engine  150  may provide printed reports, web access to reports, graphs, real-time data, raw data, batch data and/or the like. Report engine  150  may be implemented through commercially available hardware and/or software, through custom hardware and/or software components, or through a combination thereof. Further, report engine  150  may reside as a standalone system within CTS  110  or as a component of applications server  135  or server  120 . Report engine  150  may be invoked by applications server  135  which facilitates the retrieval of data from circuit database  145 . In another embodiment, report engine  150  may interact directly with circuit database  145  to retrieve data for report compilation.  
         [0047]     One skilled in the art will also appreciate that, for security reasons, any databases, systems, devices, servers or other components of CTS  110  may consist of any combination thereof at a single location or at multiple locations, wherein each database or system includes any of various suitable security features, such as firewalls, access codes, encryption, decryption, compression, decompression, and/or the like.  
         [0048]     For the sake of brevity, conventional data networking, application development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical system.  
         [0049]     The various computer program instructions discussed herein may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.  
         [0050]     Accordingly, functional blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each functional block of the block diagrams and flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, can be implemented by either special purpose hardware-based computer systems which perform the specified functions or steps, or suitable combinations of special purpose hardware and computer instructions. Further, illustrations of the process flows and the descriptions thereof may make reference to user windows, web pages, websites, web forms, prompts, etc. Practitioners will appreciate that the illustrated steps described herein may comprise in any number of configurations including the use of windows, web pages, web forms, popup windows, prompts and the like. It should be further appreciated that the multiple steps as illustrated and described may be combined into single web pages and/or windows but have been expanded for the sake of simplicity. In other cases, steps illustrated and described as single process steps may be separated into multiple web pages and/or windows but have been combined for simplicity.  
         [0051]     The various system components discussed herein may include one or more of the following: a host server or other computing systems including a processor for processing digital data; a memory coupled to the processor for storing digital data; an input digitizer coupled to the processor for inputting digital data; an application program stored in the memory and accessible by the processor for directing processing of digital data by the processor; a display device coupled to the processor and memory for displaying data derived from digital data processed by the processor; and a plurality of databases. Various databases used herein may include: workout machine data; exerciser data; trainer data; and/or like data useful in the operation of the system. As those skilled in the art will appreciate, user computer may include an operating system (e.g., Windows NT, 95/98/2000, OS2, UNIX, Linux, Solaris, MacOS, etc.) as well as various conventional support software and drivers typically associated with computers. The computer may include any suitable personal computer, network computer, workstation, minicomputer, mainframe or the like. The computer can be in a home or business environment with access to a network. In an exemplary embodiment, access is through a network or the Internet through a commercially-available web-browser software package.  
         [0052]     As used herein, the term “network” shall include any electronic communications means which incorporates both hardware and software components of such. Communication among the parties may be accomplished through any suitable communication channels, such as, for example, a telephone network, an extranet, an intranet, Internet, point of interaction device (point of sale device, personal digital assistant (e.g., Palm Pilot®), cellular phone, kiosk, etc.), online communications, satellite communications, off-line communications, wireless communications, transponder communications, local area network (LAN), wide area network (WAN), networked or linked devices, keyboard, mouse and/or any suitable communication or data input modality. Moreover, although the system is frequently described herein as being implemented with TCP/IP communications protocols, the system may also be implemented using IPX, Appletalk, IP-6, NetBIOS, OSI or any number of existing or future protocols. If the network is in the nature of a public network, such as the Internet, it may be advantageous to presume the network to be insecure and open to eavesdroppers. Specific data related to the protocols, standards, and application software utilized in connection with the Internet is generally known to those skilled in the art and, as such, need not be detailed herein. See, for example, DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2 COMPLETE, various authors, (Sybex 1999); DEBORAH RAY AND ERIC RAY, MASTERING HTML BRIAN TOTTY, HTTP, THE DEFINITIVE GUIDE (2002), the contents of which are hereby incorporated by reference.  
         [0053]     The various system components may be independently, separately or collectively suitably coupled to the network via data links which includes, for example, a connection to an Internet Service Provider (ISP) over the local loop as is typically used in connection with standard modem communication, cable modem, Dish networks, ISDN, Digital Subscriber Line (DSL), or various wireless communication methods, see, e.g., GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), which is hereby incorporated by reference. It is noted that the network may be implemented as other types of networks, such as an interactive television (ITV) network. Moreover, the system contemplates the use, sale or distribution of any goods, services or data over any network having similar functionality described herein.  
         [0054]     As used herein, “transmit” may include sending electronic data from one system component to another over a network connection. Additionally, as used herein, “data” may include encompassing data such as commands, queries, files, data for storage, and the like in digital or any other form.  
         [0055]     The system contemplates uses in association with web services, utility computing, pervasive and individualized computing, security and identity solutions, autonomic computing, commodity computing, mobility and wireless solutions, open source, biometrics, grid computing and/or mesh computing.  
         [0056]     The invention may include any number of databases and/or Database Management Systems (DBMS). In an exemplary embodiment, the data to facilitate workouts is stored in circuit database  145  so that the various components of CTS  110  have access to current and historical data. Other types of data stored in circuit database  145  may include, for example, Circuit Configuration, Circuit Run, Member Details, member History, and System Time.  
         [0057]     Circuit Configuration includes data about the weight-resistance exercise and recovery stations that comprise the circuit, what workouts are available, and the training interval for each station.  
         [0058]     Circuit Run includes when the circuit training control engine is running, there is data that is utilized to coordinate workout displays. The list of all circuit time periods and the current time period are stored in the database. Workout transactions are defined as member logins, workout pauses, and workout cancels. Any workout transaction is stored in the database along with the workout station schedule. The workout station schedule is the detail of which station a particular member will be at for a given time period.  
         [0059]     Member Details and History are maintained in order to offer an effective workout, the system needs the member&#39;s strength level at each machine. Knowing the approximate one-repetition for each strength training station will allow the system to display appropriate weight settings when the member does a workout. The system will also keep track of workouts in the member&#39;s program and workout history. A member&#39;s program comprises of a series of workout types from the workout list. Any workout from the workout list can be chosen and in any order. This will facilitate scheduling the correct workout when a member logs into the system.  
         [0060]     System Time includes each computer (and therefore every database) having a system time. Coordination of activities on the circuit is linked to the application server  135  and/or server  120  system time.  
         [0061]     Circuit database  145  as well as any other databases discussed herein may include relational, hierarchical, graphical, or object-oriented structure and/or any other database configurations. Common database products that may be used to implement the databases include DB2 by IBM (White Plains, N.Y.), various database products available from Oracle Corporation (Redwood Shores, Calif.), Microsoft Access or Microsoft SQL Server by Microsoft Corporation (Redmond, Wash.), or any other suitable database product. Moreover, the databases may be organized in any suitable manner, for example, as data tables or lookup tables. Each record may be a single file, a series of files, a linked series of data fields or any other data structure. Association of certain data may be accomplished through any desired data association technique such as those known or practiced in the art. For example, the association may be accomplished either manually or automatically. Automatic association techniques may include, for example, a database search, a database merge, GREP, AGREP, SQL, using a key field in the tables to speed searches, sequential searches through all the tables and files, sorting records in the file according to a known order to simplify lookup, and/or the like. The association step may be accomplished by a database merge function, for example, using a “key field” in pre-selected databases or data sectors.  
         [0062]     More particularly, a “key field” partitions the database according to the high-level class of objects defined by the key field. For example, certain types of data may be designated as a key field in a plurality of related data tables and the data tables may then be linked on the basis of the type of data in the key field. The data corresponding to the key field in each of the linked data tables is preferably the same or of the same type. However, data tables having similar, though not identical, data in the key fields may also be linked by using AGREP, for example. In accordance with one embodiment, any suitable data storage technique may be utilized to store data without a standard format. Data sets may be stored using any suitable technique, including, for example, storing individual files using an ISO/IEC 7816-4 file structure; implementing a domain whereby a dedicated file is selected that exposes one or more elementary files containing one or more data sets; using data sets stored in individual files using a hierarchical filing system; data sets stored as records in a single file (including compression, SQL accessible, hashed via one or more keys, numeric, alphabetical by first tuple, etc.); Binary Large Object (BLOB); stored as ungrouped data elements encoded using ISO/IEC 7816-6 data elements; stored as ungrouped data elements encoded using ISO/IEC Abstract Syntax Notation (ASN.1) as in ISO/IEC 8824 and 8825; and/or other proprietary techniques that may include fractal compression methods, image compression methods, etc.  
         [0063]     In one exemplary embodiment, the ability to store a wide variety of data in different formats is facilitated by storing the data as a BLOB. Thus, any binary data can be stored in a storage space associated with a data set. As discussed above, the binary data may be stored on a control engine, workout computer or transaction instrument or external to but affiliated with the workout computer or transaction instrument. The BLOB method may store data sets as ungrouped data elements formatted as a block of binary via a fixed memory offset using fixed storage allocation, circular queue techniques, or best practices with respect to memory management (e.g., paged memory, least recently used, etc.). By using BLOB methods, the ability to store various data sets that have different formats facilitates the storage of data associated with the control engine by multiple and unrelated owners of the data sets. For example, a first data set which may be stored may be provided by a first party, a second data set which may be stored may be provided by an unrelated second party, and yet a third data set which may be stored, may be provided by an third party unrelated to the first and second party. Each of these three exemplary data sets may contain different data that is stored using different data storage formats and/or techniques. Further, each data set may contain subsets of data that also may be distinct from other subsets.  
         [0064]     As stated above, in various embodiments, the data can be stored without regard to a common format. However, in one exemplary embodiment, the data set (e.g., BLOB) may be annotated in a standard manner when provided for manipulating the data onto control engine or workout computer. The annotation may comprise a short header, trailer, or other appropriate indicator related to each data set that is configured to convey data useful in managing the various data sets. For example, the annotation may be called a “condition header”, “header”, “trailer”, or “status”, herein, and may comprise an indication of the status of the data set or may include an identifier correlated to a specific issuer or owner of the data. In one example, the first three bytes of each data set BLOB may be configured or configurable to indicate the status of that particular data set; e.g., LOADED, INITIALIZED, READY, BLOCKED, REMOVABLE, or DELETED. Subsequent bytes of data may be used to indicate for example, the identity of the issuer, user, transaction/membership account identifier or the like. Each of these condition annotations are further discussed herein.  
         [0065]     The data set annotation may also be used for other types of status data as well as various other purposes. For example, the data set annotation may include security data establishing access levels. The access levels may, for example, be configured to permit only certain individuals, levels of employees, companies, or other entities to access data sets, or to permit access to specific data sets based on the workout machine, exerciser, trainer or the like. Furthermore, the security data may restrict/permit only certain actions such as accessing, modifying, and/or deleting data sets. In one example, the data set annotation indicates that only the data set owner or the user are permitted to delete a data set, various identified users may be permitted to access the data set for reading, and others are altogether excluded from accessing the data set. However, other access restriction parameters may also be used allowing various entities to access a data set with various permission levels as appropriate.  
         [0066]     The data, including the header or trailer may be received by a stand alone interaction device configured to add, delete, modify, or augment the data in accordance with the header or trailer. As such, in one embodiment, the header or trailer is not stored on the transaction device along with the associated issuer-owned data but instead the appropriate action may be taken by providing to the transaction instrument user at the stand alone device, the appropriate option for the action to be taken. The system may contemplate a data storage arrangement wherein the header or trailer, or header or trailer history, of the data is stored on the transaction instrument in relation to the appropriate data.  
         [0067]     Referring now to  FIGS. 4-5  and  7 - 10  the process flows depicted are merely embodiments of the invention and are not intended to limit the scope of the invention as described herein. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented. It will be appreciated that the following description makes appropriate references not only to the steps and user interface elements depicted in  FIGS. 4-5  and  6 - 10 , but also to the various system components as described above with reference to  FIG. 1  and directory structure illustrated in  FIG. 6 .  
         [0068]      FIG. 4  is a flowchart illustrating an exemplary process for constructing a circuit time array and controlling a current time period value, according to an embodiment of the present invention. The beginning of the process to create a circuit time array and controlling the current time period value as represented by step  400 . In step  405 , the time interval series begins with the current system time and adds the training interval length to the current system time to obtain an end time for time interval  1  (the current system time is the begin time). If the begin time for a time interval is not greater than the begin time, then circuit control engine  140  determines the current time period. The begin time for time interval  2  is the end time for time interval  1 , and the end time is the begin time of time interval  2  plus the training interval length. This process is continued until the begin time for a time interval is greater than the begin time for time interval  1  plus the total run time and processing ends step  405  is then complete. The following is an example of an exemplary circuit time period array.  
                                                                     Time Interval:   30 seconds           Run Time:    3 minutes           Start Time:   12:30:45                        Time Period   Start Time   End Time               1   12:30:45   12:31:15       2   12:31:15   12:31:45       3   12:31:45   12:32:15       4   12:32:15   12:32:45       5   12:32:45   12:33:15       6   12:33:15   12:33:45       7   12:33:45   12:34:15       8   12:34:15   12:34:45                    
         [0069]     When the time interval array is constructed, circuit control engine  140  begins to continuously access the time period array to determine the current time period. First, the current time period is set to 1 (step  410 ). Next the CTS  110  checks the current system time (step  415 ) and compares it to the maximum interval end time in the circuit time period array (step  420 ). When this condition is met, circuit control engine  140  is shut down (step condition is not met, the CTS  110  determines where the current system time falls in relation to the circuit time period array (step  425 ). None of the time periods overlap; therefore the current time period will be assured of a unique value. The current time period is set to the value corresponding to its positioning in the circuit time period array (step  430 ). Steps  415 ,  420 ,  425 , and  430  may repeat until the condition for executing step  435  is met.  
         [0070]      FIG. 5  is a flowchart illustrating an exemplary process for scheduling and configuring a workout session, according to an embodiment of the present invention. In an exemplary embodiment, the login control module  125  accesses user data, checks the circuit for availability, determines which workout is to be performed, and schedules the entire workout with the correct weight setting and repetition data. When a user uses digitizer  155  to scan in his or her unique identifier, login control module  125  receives the input and queries circuit database to identify the user (step  505 ).  
         [0071]     When the user is identified, their workout program and workout history can be retrieved (step  510 ) in order to determine the workout to be performed for the current session (step  515 ). This determination is made based upon two variables: the workouts in the users program and the last workout the user did. If the last workout does not correspond to anything in the user&#39;s current program, the first workout in the program is used.  
         [0072]     The circuit has a training interval and every workout has a specific duration. The total number of stations in the workout is calculated (step  520 ) by dividing the workout duration by the training interval and rounding up. For example, a 30 minute workout on a circuit with a training interval of 33 seconds will include 55 stations to complete (30*60/33).  
         [0073]     The starting position and circuit time interval is determined before a workout can be fully scheduled (step  525 ). The login control module  125  allows the user 1.5 minutes to prepare for their workout; therefore it determines the circuit time period in which the user&#39;s workout should begin. Beginning time period=current time period+(1.5 minutes/training interval). If there is a remainder, the beginning time period value is rounded up. Login control module  125  then accesses the workout station schedule to determine whether there is a station that does not have another user scheduled for the desired time period. If no station is available, beginning time period is increased by 1 until a beginning time period is found with availability in the workout station schedule.  
         [0074]     When the correct beginning time period and beginning workout station are determined, the entire workout is scheduled (step  530 ). A record is added to workout station schedule for the (beginning time period)|(beginning station)|(user id) combination. Next, a record is added for the (beginning time period+1)| (next station on the circuit)|(user id) combination. This process continues until an entry has been made for the (beginning time period+total stations in workout)|(final station in workout)|(user id) combination. Each (circuit time period)|(station)|(user id) combination in the workout station schedule is unique, meaning that no user can be on two stations at once and two members are never scheduled on the same machine at the same time. The following example of workout schedule records assumes that the user id is 333.  
                                                                     Time Interval:   30 seconds           Workout Length:    3 minutes           Number of Stations on Circuit:   10           Starting Station Position:    8           Starting Station Time Period:   22                        Time Period   Circuit Position   User Id               22   8   333       23   9   333       24   10   333       25   1   333       26   2   333       27   3   333                  
 
         [0075]     In order to display the correct resistance settings for the user at each station, the client programs have access to these values. The login control module  125  adds the current, 1-repition maximum resistance setting for each station to the workout station schedule (step  535 ).  
         [0076]     When the workout has been successfully scheduled with the appropriate exercise weights for the user have been determined, the login module  125  displays the identification for the starting station (step  540 ) to instruct the user to move to the appropriate station to begin the exercise routine. In addition, the user needs to know when their workout will begin, so the login module  125  calculates how long until the user&#39;s workout begins and displays that as well.  
         [0077]     Finally, the workout history in the circuit database  145  is updated (step  545 ) with the date of the current workout, the type of workout being performed, and the current, estimated 1-rep maximum workout weights for each station for this user. The weight values can be updated by a system attendant based upon feedback from the user.  
         [0078]     In order to facilitate the login control process a digitizer  155  may be used to scan a barcode or similar identifier. Each member is associated with a unique number in circuit database  145 . This number can be selected at random or based upon a bar code card assigned to the user. When the user signs-in, they use the digitizer  155  to read their bar code number which is then transmitted to the login module  125 .  
         [0079]     In another embodiment, interaction with the invention may include the user having an account number or code which is transmitted to a client computer. An “account” or “account number”, as used herein, may include any device, code, number, letter, symbol, digital certificate, smart chip, digital signal, analog signal, biometric or other identifier/indicia suitably configured to allow the exerciser, trainer or other administrator to access, interact with or communicate with the system (e.g., one or more of an authorization/access code, personal identification number (PIN), Internet code, other identification code, and/or the like). The account number may optionally be located on or associated with a rewards card, charge card, credit card, debit card, prepaid card, telephone card, embossed card, smart card, magnetic stripe card, bar code card, transponder, radio frequency card or an associated account. The system may include or interface with any of the foregoing cards or devices, or a fob having a transponder and RFID reader in RF communication with the fob. Although the system may include a fob embodiment, the invention is not to be so limited. Indeed, system may include any device having a transponder which is configured to communicate with RFID reader via RF communication. Typical devices may include, for example, a key ring, tag, card, cell phone, wristwatch or any such form capable of being presented for interrogation. Moreover, the system, computing unit or device discussed herein may include a “pervasive computing device,” which may include a traditionally non-computerized device that is embedded with a computing unit. Examples can include watches, Internet enabled kitchen appliances, restaurant tables embedded with RF readers, wallets or purses with imbedded transponders, etc. The account number may be distributed and stored in any form of plastic, electronic, magnetic, radio frequency, wireless, audio and/or optical device capable of transmitting or downloading data from itself to a second device.  
         [0080]     With respect to weight training equipment, circuit training configurations are flexible; any type of free weight or selectorized pin equipment may be used. To be effective for strength training, however, the weight equipment in a circuit workout is suitably arranged in such a way that each muscle group receives at least 1.5 minutes of recovery. In addition, effective cardiovascular includes the exercise being completed with minimal interruption. As such, the invention includes two or more pieces of adjustable resistance strength equipment.  
         [0081]     A typical selectorized exercise machine might consist of twenty, 12.5 pound plates as well as a six pound detached intermediate weight. This sample machine would allow an exerciser to choose resistance settings ranging from 12.5 to 256 pounds in six pound increments. Selectorized machines are available for every muscle group.  
         [0082]     A free weight station might consist of barbell or dumbbell weights optionally combined with some type of workout bench. For example, one forty-five pound barbell, two 2.5 pound plates, two five pound plates, two ten pound plates, two twenty-five pound plates, two thirty-five pound plates, two forty-five pound plates, and a bench press combine to create a free weight bench press station. The resistance level could be adjusted within range from forty-five pounds (no weight on the bar) to 290 pounds (all the weight on the bar) by five pound increments. Free weight exercises are available for every muscle group.  
         [0083]     In an exemplary embodiment, for a subset or all weight equipment stations, a computer with monitor is employed to enable user interaction with CTS  110 . However, no such computer with monitor is required at recovery stations. The client computer displays workout data for the user that is scheduled at a specific station for the current time period. Each client is connected to network hub  115 , and each has read/write access to circuit database  145 .  
         [0084]     One client is designated as the primary client  105  because a primary client program runs on this computer station. All other clients are known as secondary clients  100  because a secondary client program runs on these computer stations. For the sake of brevity, when primary client  105  and secondary client  100  can be used interchangeably, the term “client computer” will be used herein.  
         [0085]     The primary client  105  has a mapping to the directory on each secondary client  100 . The address of that mapping is associated with the corresponding weight resistance station in the circuit database  145 .  FIG. 6  illustrates an exemplary directory structure for both primary client  105  and each secondary client  100 . In one embodiment, primary client  105  has an audio card attached to a speaker for the purpose of broadcasting a change station message every time the current circuit time period changes. The change station audio file is a recorded message readable by the primary client  105  program that instructs members to move to the next circuit station. It resides in the media directory ( FIG. 6, 615 ) of primary client  105 .  
         [0086]     Primary client  105  program controls the flow of data for the entire workout circuit. It resides in the “bin” directory ( FIG. 6, 610 ) of primary client  105 . The primary client  105  program is responsible for not only determining the configuration of its own workout equipment, but also for every other piece of workout equipment on the circuit. Primary client  105  transmits this data with a “startfile” to each secondary client  100  to enable secondary clients  100  to have the data required to display the workout data for their designated exercise equipment. When the initial transmission to secondary clients  100  is complete, primary client  105  continues to query circuit database  145  to monitor any changes to the current time period and/or workout schedule. Changes are immediately communicated to secondary clients  100 , and appropriate workout data (if any) is displayed in the secondary client  100  display window.  
         [0087]      FIG. 7  is a flowchart illustrating an exemplary process for coordinating a number of client computers during a circuit, according to an embodiment of the present invention. In order to display data for the user, a GUI window object is suitably displayed on the client computer display (step  702 ). All workout data relating to the individual client computers are displayed through this object. Circuit control engine  140  provides real-time workout data to the client computers. If primary client  105  determines that circuit control engine  140  is not running (step  704 ), the process ends (step  728 ).  
         [0088]     CTS  110  processes can be applied to any configuration of circuit training exercise programs. Primary client  105  retrieves circuit configuration data from circuit database  145  in order to control processing. Data used during such processing includes, for example, the number of pieces of equipment, the relative order in which they are utilized, and the weight configuration of each. By definition, primary client  105  is located at the machine which is designated as circuit position  1 . Primary client  105  accesses directory mapping data for each of the secondary clients  100  in order to write “clientfiles” to the appropriate location. When all circuit configuration data has been retrieved, primary client  105  writes a “startfile” containing the name and equipment configuration for the specific equipment station it supports to each secondary client (step  706 ). Primary client  105  further loads data regarding circuit position  1  into memory for use in displaying workout data to the user. Primary client  105  then retrieves the current circuit time period (step  708 ) and determines a starting point for managing the circuit workout data.  
         [0089]     To ensure that changes are relayed to all secondary clients  100 , primary client  105  determines whether there have been changes to the circuit schedule (step  710 ). When a user signs-in to CTS  110 , login module  125  updates the workout schedule table of circuit database  145 ; therefore primary client  105  regularly monitors this table for newly added records. When new records are detected, the data is parsed according to circuit position. The circuit position  1  records are stored in memory in order to display the data at the appropriate time, while the other records are transmitted to each secondary client  100  for the same purpose. New workout records are transmitted in a number of “changesfiles” corresponding to each secondary client  100 . If at any time a user cancels their workout, the cancel transaction is transmitted to each secondary client  100  by a number of “cancelfiles” corresponding to each secondary client  100 . Each “changesfile” and “cancelfile” contains only records that are relevant to the secondary client  100  to which it is being transmitted. For example, circuit position  3  would not receive a “cancelfile” designated for position  4 ,  5 ,  6 , and  7 .  
         [0090]     Primary client  105  invokes circuit control engine  140  to perform a query of circuit database  145  at regular intervals to determine when there is a change to the circuit time period (step  712 ). Each time the circuit time period is determined to be unchanged (step  714 ); primary client  105  determines whether control engine (step  724 ) is running. If the circuit control engine  140  is not running (step  724 ), then the primary client  105  sends a “quitfile” to each secondary client&#39;s  100  “clientfiles” directory ( FIG. 6, 620 ) and shuts down primary client  105  program function (step  726 ). If circuit control engine  140  is running (step  724 ), then a “switchfile” containing the new time period is transmitted to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client (step  716 ).  
         [0091]     CTS  110  transmits an audio file to a change station in step  718 . A change station broadcast comprises recorded messages in any the digital audio formation which prompts the CTS  110  users to move to the next station in the circuit. The audio file is broadcasted over speakers attached to primary client  105 .  
         [0092]     Primary client  105  invokes circuit control engine  140  to perform a query of circuit database  145  for circuit position  1  workout records for the new current circuit time period (step  720 ). If circuit control engine returns no data, then no user is scheduled to be at position  1  for the current time period and the client display will remain blank.  
         [0093]     Each client computer automatically displays the current workout data for the current time period in the GUI window (step  722 ). The data displayed includes, but is not limited to, user name, resistance level, and the number of repetitions the user is to complete at this station for the current time period. The resistance setting at a particular station is based on three factors: the user&#39;s strength level at that station, the workout being performed, and the stage of the workout. The workout being performed is important because strength workouts include more resistance than cardiovascular workouts (see, Workout List component for more detail). Resistance level is calculated as a percentage of one-rep maximum which is then converted to a weight pin setting or free weight value. The stage of the workout is important because resistance levels can be changed as the user progresses through their workout. For example, the first four stations of the workout may be designated as the warm-up phase, therefore the resistance levels would be set lower than they would be later in the workout. Other non-critical data may also be displayed given the data that is available in the workout schedule and circuit databases  45 . Such data may include, for example, the specific workout being performed, workout tips, the number of workouts at the current resistance setting, and the time left in the workout. Steps  710  through  722  are then repeated until step  714  causes a program exit condition.  
         [0094]     According to an exemplary embodiment, the secondary client  100  program runs at any exercise station not designated as circuit position  1 . It resides in the “bin” directory ( FIG. 6, 610 ) of secondary client  160  computer(s). Secondary client  100  program functions to display workout data for a user who is scheduled to be present at any exercise station other than circuit position  1 . All processing for this program is controlled by the primary client  105  program which writes workout data to the secondary client&#39;s  100  “clientfiles” directory ( FIG. 6, 620 ).  
         [0095]      FIG. 8  is a flowchart illustrating an exemplary process for managing communications between a primary client computer and a secondary client computer during a circuit, according to an embodiment of the present invention. In order to display workout data for the user, a GUI window object is displayed on each computer client&#39;s display. All workout data for primary client  105  will be displayed through this object. Secondary client  100  cannot begin meaningful processing until it receives a “startfile” from primary client  105 . Until secondary client  100  receives the “startfile” it has no data regarding the exercise machine for which it is displaying data. Secondary client  100  continues to scan the “clientfiles” directory ( FIG. 6, 620 ) until it finds the “startfile” (step  802 ). When “startfile” has been located (step  804 ), secondary client  100  parses the files fields (step  806 ) and accesses the circuit data for use in display (step  808 ). Secondary client  100  then scans the “clientfiles” directory ( FIG. 6, 620 ) for any and all files that exist in that directory (step  810 ).  
         [0096]     Secondary client  100  then determines whether a “quitfile” exists (step  812 ), and if so, closes the display window and ends processing (step  824 ). If “quitfile” does not exist (step  812 ), then secondary client  100  determines whether a “switchfile” exists. If the “switchfile” does exist (step  814 ), then it is read to determine the new circuit time period (step  816 ) which is then displayed to the user (step  818 ). Primary client  105  searches the circuit position  1  workout records for the new current circuit time period. There may not be any data available, meaning that no user is scheduled to be at this position for the current time period which results in a blank display.  
         [0097]     Client computers automatically display the current time period workout data which may include, but is not limited to, user name, resistance level, and the number of repetitions the user is to complete at this station for the current time period. The resistance setting at a particular is determined by three factors: the user&#39;s strength level at that station, the workout being performed, and the stage of the workout. The workout being performed is important because strength workouts often require more resistance than cardiovascular workouts. Resistance level is calculated as a percentage of 1-rep maximum and then converted to a weight pin setting or free weight value. The stage of the workout is important because resistance levels can be changed as the user progresses through their workout. For example, the first four stations of the workout may be designated as the warm-up phase, so the resistance levels would be set lower than they would be later in the workout. Other non-critical data may be displayed given the data that is available in the workout schedule and member database. This data may include, for example, the workout being performed, workout tips, number of workouts at the current resistance setting, and the time left in the workout.  
         [0098]     If primary client  105  determines the existence of a “changesfile” (step  820 ), then primary client  105  reads all records in the file and place them in memory for use in step  818 . If primary client  105  determines the existence of a “cancelfile” (step  821 ), then primary client  105  reads all records in the file and deletes all workout records from step  820  for the users identified by the “cancelfile” (step  822 ). Steps  810  through  822  are repeated until a “quitfile” is encountered at step  812  causing the program to exit.  
         [0099]     In one embodiment, the “startfile” is written to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client  100  when primary client  105  begins operation. Secondary client  100  utilizes the data in this file to operate properly and will not begin displaying workout data until it has processed this file. The “startfile” may contain any number of descriptors for defining the workout for specific station as shown in the example below.  
                                             Position   Field Name                                1   Station ID       2   Station Name       3   Station Description       4   Circuit Position       5   Machine Type       6   First Weight Step       7   Number of First Weight Step       8   Second Weight Step       9   Number of Second Weight Step       10   Third Weight Step       11   Number of Third Weight Step       12   Intermediate Weight 1       13   Intermediate Weight 2       14   Next Station Description                  
 
         [0100]     In one embodiment, the “changesfile” is written by primary client  105  program to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client  100  when the login control program inserts new records into circuit database&#39;s  145  workout schedule table. The “changesfile” may contain any number of descriptors for defining changes to a member&#39;s workout data as shown the example below.  
                                             Position   Field Name                                1   member id       2   member name       3   circuit time period       4   workout id       5   1-rep maximum weight value       6   number of workouts at current weight value       7   rounds complete       8   stations complete       9   rounds to be completed       10   number of stations on final round       11   workout description                  
 
         [0101]     In one embodiment, the “cancelfile” is written by primary client  105  program to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client  100  when a circuit attendant inserts a new record into the circuit database&#39;s  145  workout transaction table. In general, the only data that is maintained by this file is the user identifier.  
         [0102]     In one embodiment, the “switchfile” is written by the primary client  105  program to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client  100  when circuit control engine  140  changes the current time period. In general, the only data that is maintained by this file is the new circuit time period.  
         [0103]     In one embodiment, the “quitfile” is an empty file that is written by primary client  105  program to the “clientfiles” directory ( FIG. 6, 620 ) of each secondary client  100  when circuit control engine  140  stops running.  
         [0104]     With respect to a workout list, any number of workouts may be designed by varying, for example, the training interval, the length of the workout, the exercise stations in the circuit, the exercise stations performed in the workout, the rest period between exercises, the number of repetitions performed, the length of the workout, and the weight setting (as a percentage of personal 1-repetition maximum) at each station of the workout. This variety best suits exercisers with many different combinations of fitness levels, exercise goals, and time allotments. The workouts that are designed are stored as a workout list in circuit database  145 .  
         [0105]     With respect to an exemplary workout setup, the first workout that a user performs may be completed under the supervision of an attendant. There are many ways to calculate an estimated 1-repetition maximum at each station, the most common being to gradually build up from a safe weight until the user can no longer perform the exercise. When the starting values have been estimated, they are stored in circuit database  145 .  
         [0106]     With respect to an exemplary feedback, the workout weights that are displayed at the workout stations are guidelines to assist the user in the workout process. If they find that a weight setting for a workout is too easy or difficult, they can make the desired adjustment to the weight setting. The circuit attendant will then enter the new data which is stored in circuit database  145 .  
         [0107]      FIG. 9  is a flowchart illustrating an exemplary process for ensuring that every component of the CTS is running to ensure proper functioning of the workout process, according to an embodiment of the present invention. An individual workout process cannot begin until the CTS  110  is operable. A System Run process ensures that every component is running, so the workout process can function properly. At step  905 , an administrator or other authorized person, ensures that primary client  105  and all secondary client  100  computers are powered up. Each client computer is equipped with Open Database Connectivity (ODBC), or similar connectivity protocol, in order to access circuit database  145 . The circuit database is started/mounted on a database client, and an instance of circuit database  145  is started (step  910 ). When the circuit database  145  instance is started, circuit control engine  140  is invoked (step  915 ). When step  915  is complete, primary client  105  program will be operational on the designated primary client  105  computer (step  920 ) and the secondary client  110  program will be operational on the designated secondary client computers (step  925 ). Secondary client  100  programs may be started in any order that is convenient. Upon completion of the above steps, CTS  110  is in a ready state, meaning that individual workouts may begin (step  930 ).  
         [0108]      FIG. 10A-10B  is a flowchart illustrating an exemplary automated process for guiding users through a complete circuit, according to an embodiment of the present invention. The workout process is a fully automated process that guides the user through one complete workout. This process is the same for any exercise circuit as well as every workout type in a user&#39;s workout program.  
         [0109]     Each CTS  110  user is assigned a unique identifier for identification by CTS  110 . Prior to beginning a workout session, the user scans their unique identifier using digitizer (step  1005 ). Digitizer  155  may be a barcode reader or similar technology. The scanned information is transmitted to CTS  110  to be authenticated (step  110 ). Login module  125  running on an authentication server processes the authentication information (step  1015 ) in order to retrieve workout data. When the user has been successfully identified and workout information has been retrieved, the user is directed to starting station and is provided a starting time. The user proceeds to the identified station and waits for their personal information to be displayed (step  1020 ).  
         [0110]     Primary client  105  retrieves information for the workout list (step  1025 ), parses the information by user id and station id, and then sends the parsed information to the appropriate station (step  1030 ). Each secondary client  100  reads the new information from the primary client as described in reference to  FIG. 8  (step  1035 ). As described in reference to  FIG. 4 , the primary client broadcasts a change stations message (step  1040 ) providing specific instructions to the user. When the change station message is received, the user may look for workout information to show up at the assigned starting station (step  1045 ). If the user&#39;s workout has not commenced, then the user may wait for a subsequent broadcast (step  1050 ). However, if the workout is underway, the starting station client will display workout information as described above in reference to  FIGS. 7 and 8  according to whether the starting station is a primary client  105  or a secondary client  100  (step  1051 ).  
         [0111]     The user may perform the workout as instructed (step  1055 ) until the next change stations message is broadcast by primary client (step  1060 ). If the workout is complete, no further information will be displayed for that user (step  1070 ). However, if the workout is not complete, the user may progress to the next station in the circuit (step  1075 ).  
         [0112]     Some stations in the circuit may be designated as recovery stations. If at a recovery station (step  1080 ), then no exercise is performed then user waits for a next change stations message (steps  1085  and  1060 ). If the user is at a workout station (step  1080 ), the client station will display the workout information (step  1090 ). The user may then perform the exercise as instructed (step  1095 ) until a next change stations message (step  1060 ) is broadcast. The process as described above in reference to steps  1060 ,  1065 ,  1075 ,  1080 ,  1085 ,  1090  and  1095  may repeat until the user&#39;s workout is complete (step  1070 ).  
         [0113]     In an alternative embodiment, the invention may also scan in at each station rather than automatic display and/or each secondary client  100  may initiate a query circuit database  145  database directly as opposed to receiving data from primary client  105 .  
         [0114]     Benefits, other advantages, and solutions to problems have been described herein with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of any or all the claims or the invention. It should be understood that the detailed description and specific examples, indicating exemplary embodiments of the invention, are given for purposes of illustration only and not as limitations. Many changes and modifications within the scope of the invention may be made without departing from the spirit thereof, and the invention includes all such modifications. Corresponding structures, materials, acts, and equivalents of all elements in the claims below are intended to include any structure, material, or acts for performing the functions in combination with other claim elements as specifically claimed. The scope of the invention should be determined by the appended claims and their legal equivalents, rather than by the examples given above.