Title:
CIRCUIT TRAINING SYSTEM AND METHOD
Kind Code:
A1


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.



Inventors:
Korkie, Warren Michael (Raleigh, NC, US)
Application Number:
11/164263
Publication Date:
10/05/2006
Filing Date:
11/16/2005
Assignee:
LANFIT, LLC (9113 Leesville Road, Suite 102, Raleigh, NC, US)
Primary Class:
Other Classes:
482/1
International Classes:
A63B15/02; A63B71/00
View Patent Images:



Primary Examiner:
RICHMAN, GLENN E
Attorney, Agent or Firm:
SNELL & WILMER L.L.P. (Main) (400 EAST VAN BUREN ONE ARIZONA CENTER, PHOENIX, AZ, 85004-2202, US)
Claims:
What is claimed is:

1. A computer-implemented method for improving the effectiveness of circuit training, said method including: receiving, at a host computer, a user request for a workout schedule from a client computer; retrieving, from a database, workout data associated with a user; determining, at said host computer, a number of stations in a workout circuit based on said workout data, wherein said number of stations is added to an instruction set associated with said user; identifying, at said host computer, a station based on said workout data, wherein said station is added to said instruction set; creating reservation data, at said host computer, to facilitate reserving said station for a duration of time; configuring, at said host computer, an optimum weight setting for said station based on said workout data, wherein said optimum weight setting is added to said instruction set; and, transmitting said instruction set to said client computer.

2. The method of claim 1, wherein said receiving step is in response to said user causing a user identification to be submitted to said client computer.

3. The method of claim 1, wherein said receiving step is in response to said user entering a user identification in a keyboard at said client computer.

4. The method of claim 1, wherein said receiving step is in response to said user scanning a barcode with a digitizing device.

5. The method of claim 1, wherein said step of creating reservation data includes restricting access to said station until said user provides a user identification.

6. The method of claim 1, wherein said number of stations in a circuit is determined by dividing a workout duration by a training interval.

7. The method of claim 1, wherein said workout data includes at least one of user identification, workout history, workout station detail, workout schedule, and weight setting.

8. The method of claim 1, further including transmitting said instruction set from said client computer to said station.

9. The method of claim 1, wherein said station includes a start station.

10. The method of claim 1, wherein said step of transmitting said instruction set to said client computer further includes transmitting said instruction set to a primary client.

11. The method of claim 1, wherein said step of transmitting said instruction set to said client computer further includes transmitting said instruction set to a primary client to facilitate controlling a secondary client.

12. The method of claim 1, further including querying said database to monitor changes to at least one of a time period and workout schedule.

13. The method of claim 1, further including displaying said workout data at said client computer.

14. A computer-readable storage medium encoded with processing instructions for implementing a method, said processing instructions directing a computer to perform the steps of: receiving, at a host computer, a user request for a workout schedule from a client computer; retrieving, from a database, workout data associated with a user; determining, at said host computer, a number of stations in a workout circuit based on said workout data, wherein said number of stations is added to an instruction set associated with said user; identifying, at said host computer, a station based on said workout data, wherein said station is added to said instruction set; creating reservation data, at said host computer, to facilitate reserving said station for a duration of time; configuring, at said host computer, an optimum weight setting for said station based on said workout data, wherein said optimum weight setting is added to said instruction set; and, transmitting said instruction set to said client computer.

15. A system including a host computer, a plurality of stations and a client computer associated with each of said plurality of stations, said host computer configured to: receiving, at said host computer, a user request for a workout schedule from said client computer; retrieving, from a database, workout data associated with a user; determining, at said host computer, a number of stations in a workout circuit based on said workout data, wherein said number of stations is added to an instruction set associated with said user; identifying, at said host computer, a station based on said workout data, wherein said station is added to said instruction set; creating reservation data, at said host computer, to facilitate reserving said station for a duration of time; configuring, at said host computer, an optimum weight setting for said station based on said workout data, wherein said optimum weight setting is added to said instruction set; and, transmitting said instruction set to said client computer.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

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

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

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.

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.

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.

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.

The following equation may be used to calculate the probability of a bottleneck occurring: P(X)=n!X!(n-X)!px(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).

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.

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.

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.

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.

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'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.

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.

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

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.

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.

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.

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.

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.

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.

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

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:

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;

FIG. 2 are charts listing varying types of exercise machines with an estimated probability of encountering bottlenecks at varying capacity levels;

FIG. 3 is a diagram illustrating the various steps of a common exercise circuit;

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;

FIG. 5 is a flowchart illustrating an exemplary process for scheduling and configuring a workout session, according to an embodiment of the present invention;

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;

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;

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;

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,

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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'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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Member Details and History are maintained in order to offer an effective workout, the system needs the member'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's program and workout history. A member'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.

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.

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.

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.

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.

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.

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.

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.

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.

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 PeriodStart TimeEnd Time
112:30:4512:31:15
212:31:1512:31:45
312:31:4512:32:15
412:32:1512:32:45
512:32:4512:33:15
612:33:1512:33:45
712:33:4512:34:15
812:34:1512:34:45

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.

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).

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's current program, the first workout in the program is used.

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).

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'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.

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 PeriodCircuit PositionUser Id
228333
239333
2410333
251333
262333
273333

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).

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's workout begins and displays that as well.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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.

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.

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'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).

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.

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.

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'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.

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's 100 “clientfiles” directory (FIG. 6, 620).

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'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).

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.

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'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.

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.

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.

PositionField Name
1Station ID
2Station Name
3Station Description
4Circuit Position
5Machine Type
6First Weight Step
7Number of First Weight Step
8Second Weight Step
9Number of Second Weight Step
10Third Weight Step
11Number of Third Weight Step
12Intermediate Weight 1
13Intermediate Weight 2
14Next Station Description

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's 145 workout schedule table. The “changesfile” may contain any number of descriptors for defining changes to a member's workout data as shown the example below.

PositionField Name
1member id
2member name
3circuit time period
4workout id
51-rep maximum weight value
6number of workouts at current weight value
7rounds complete
8stations complete
9rounds to be completed
10number of stations on final round
11workout description

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's 145 workout transaction table. In general, the only data that is maintained by this file is the user identifier.

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.

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.

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.

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.

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.

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).

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's workout program.

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).

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'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).

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).

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's workout is complete (step 1070).

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.

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.