U.S. patent application number 11/164263 was filed with the patent office on 2006-10-05 for circuit training system and method.
This patent application is currently assigned to LANFIT, LLC. Invention is credited to Warren Michael Korkie.
Application Number | 20060223674 11/164263 |
Document ID | / |
Family ID | 37071315 |
Filed Date | 2006-10-05 |
United States Patent
Application |
20060223674 |
Kind Code |
A1 |
Korkie; Warren Michael |
October 5, 2006 |
CIRCUIT TRAINING SYSTEM AND METHOD
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) |
Correspondence
Address: |
SNELL & WILMER;ONE ARIZONA CENTER
400 EAST VAN BUREN
PHOENIX
AZ
85004-2202
US
|
Assignee: |
LANFIT, LLC
9113 Leesville Road, Suite 102
Raleigh
NC
|
Family ID: |
37071315 |
Appl. No.: |
11/164263 |
Filed: |
November 16, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60667637 |
Apr 1, 2005 |
|
|
|
Current U.S.
Class: |
482/8 ;
482/1 |
Current CPC
Class: |
A63B 2225/15 20130101;
A63B 24/00 20130101; A63B 24/0075 20130101; A63B 71/0697
20130101 |
Class at
Publication: |
482/008 ;
482/001 |
International
Class: |
A63B 15/02 20060101
A63B015/02; A63B 71/00 20060101 A63B071/00 |
Claims
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
[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 .function. ( X ) = n ! X !
.times. ( n - X ) ! .times. p x .function. ( 1 - p ) ( n - x )
##EQU1## n = number .times. .times. of .times. .times. members
.times. .times. currently .times. .times. working .times. .times.
out ##EQU1.2## X = capacity .times. .times. of .times. .times.
machine .times. .times. type .times. .times. being .times. .times.
chosen ##EQU1.3## p = probability .times. .times. of .times.
.times. station .times. .times. being .times. .times. chosen
.times. .times. ( success ) . ##EQU1.4##
[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'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'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.RTM.),
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'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.
[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. TABLE-US-00001 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'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'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. TABLE-US-00002
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'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'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'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'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'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'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.
TABLE-US-00003 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'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.
TABLE-US-00004 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'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'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'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'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.
* * * * *