IP Library Granted Patent US 12,219,201
Granted Patent B2
US 12,219,201 · App. 17/880,337 · Granted Feb 4, 2025

Synchronizing video workout programs across multiple devices

Inventors: Chase Brammer (Providence, UT); Thomas H. Williams (Tucson, AZ); Dawson Toth (Elkton, MD)
H04N21/43078A61B5/024A63B24/0087A63B71/0622
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,219,201
App. No.
17/880,337
Granted
Feb 4, 2025
Kind
B2
Abstract

In one aspect of the disclosure, a method that involves keeping state of a video workout program may include communicatively coupling a server in a cloud network to an exercise machine through a first network connection, communicatively coupling the server to a network device through a second network connection, the server providing a video workout program to the exercise machine for execution at the exercise machine to enable a user to perform at least a portion of a workout of the video workout program on the exercise machine, the server keeping state of the video workout program during execution of the video workout program based on inputs from the exercise machine and the network device, and taking an action based on the state. The action may include synchronizing multiple displays, adaptively scaling the video workout program, and/or generating and providing an exercise machine control command to the exercise machine.

Claims (69)

1. A method to synchronize a video workout program across multiple devices, the method comprising:

communicatively coupling a server in a cloud network to an exercise machine through a first network connection;

communicatively coupling the server in the cloud network to a network device through a second network connection;

the server providing the video workout program to the exercise machine for execution at the exercise machine to enable a user to perform at least a portion of a workout of the video workout program on the exercise machine;

the server keeping a state of the video workout program during the execution of the video workout program based on inputs from the exercise machine and the network device;

the server generating an exercise machine control command based on the state;

the server providing the exercise machine control command over the first network connection to the exercise machine to control an actuator of the exercise machine according to the exercise machine control command;

receiving input indicative of the user performing at least a second portion of the workout off of the exercise machine; and

updating workout data included in the state to reflect performance of the second portion of the workout off of the exercise machine, wherein at least some of the workout data is displayed on a first display of the exercise machine.

2. The method of claim 1 , wherein the network device is located in proximity to the exercise machine without being directly communicatively coupled to the exercise machine.

3. The method of claim 1 , further comprising:

synchronizing the first display of the exercise machine with a second display of the network device based on the state.

4. The method of claim 3 , wherein the synchronizing based on the state comprises:

distributing workout data of the video workout program that is displayed on the first display of the exercise machine, received from the exercise machine, and updated in the state of the network device for display on the second display of the network device.

5. The method of claim 3 , wherein the synchronizing based on the state comprises:

providing one or more workout controls to the network device for display on the second display;

receiving as one or more of the inputs from the network device a manual workout adjustment to adjust a difficulty of the workout entered using the one or more workout controls;

generating a second exercise machine control command to adjust the difficulty of the workout according to the manual workout adjustment;

sending the exercise machine control command to the exercise machine for implementation at the exercise machine; and

updating the state to include the difficulty adjusted according to the manual workout adjustment, wherein the exercise machine displays the difficulty on the first display of the exercise machine.

6. The method of claim 1 , wherein the portion of the workout comprises a first portion performable on the exercise machine, and wherein the first portion of the workout comprises a first exercise modality and the second portion of the workout comprises a second exercise modality that is different than the first exercise modality.

7. The method of claim 6 , wherein the second portion of the workout is performable with a second exercise machine, the method further comprising:

communicatively coupling the server in the cloud network to the second exercise machine through a third network connection; and

the server further keeping the state of the video workout program during the execution of the video workout program based on inputs from the second exercise machine.

8. The method of claim 7 , further comprising:

the server generating a second exercise machine control command based on the state; and

the server providing the second exercise machine control command over the third network connection to the second exercise machine to control a second actuator of the second exercise machine according to the second exercise machine control command.

9. The method of claim 1 , further comprising;

communicatively coupling the server in the cloud network to a heart rate monitor coupled to the user through a third network connection; and

the server further keeping the state of the video workout program during the execution of the video workout program based on inputs from the heart rate monitor.

10. The method of claim 9 , further comprising:

adaptively scaling the video workout program on the exercise machine based on the state.

11. A method to synchronize a video workout program across multiple devices, the method comprising:

communicatively coupling a server in a cloud network to an exercise machine that includes a first display through a first network connection;

communicatively coupling the server in the cloud network to a second display through a second network connection;

the server providing the video workout program to the exercise machine for execution at the exercise machine to enable a user to perform at least a portion of a workout of the video workout program on the exercise machine;

the server keeping a state of the video workout program during the execution of the video workout program at the exercise machine based on inputs from the exercise machine;

the server synchronizing the second display with the first display of the exercise machine based on the state;

receiving input indicative of the user performing at least a second portion of the workout off of the exercise machine; and

updating workout data included in the state to reflect performance of the second portion of the workout off of the exercise machine, wherein at least some of the workout data is displayed on the first display of the exercise machine.

12. The method of claim 11 , wherein the second display is located in proximity to the exercise machine without being directly communicatively coupled to the exercise machine.

13. The method of claim 11 , wherein the synchronizing based on the state comprises:

distributing workout data of the video workout program that is displayed on the first display of the exercise machine, received from the exercise machine, and updated in the state to the second display for display on the second display.

14. The method of claim 11 , wherein the synchronizing based on the state comprises:

providing one or more workout controls to the second display for display on the second display;

receiving as one or more inputs from the second display a manual workout adjustment to adjust a difficulty of the workout entered using the one or more workout controls;

generating an exercise machine control command to adjust the difficulty of the workout according to the manual workout adjustment;

sending the exercise machine control command to the exercise machine for implementation at the exercise machine; and

updating the state to include the difficulty adjusted according to the manual workout adjustment, wherein the exercise machine displays the difficulty on the first display of the exercise machine.

15. A method to keep state of a video workout program, the method comprising:

communicatively coupling a server in a cloud network to an exercise machine through a first network connection;

communicatively coupling the server in the cloud network to a heart rate monitor through a second network connection;

the server providing the video workout program to the exercise machine for execution at the exercise machine to enable a user to perform at least a portion of a workout of the video workout program on the exercise machine;

the server keeping a state of the video workout program during the execution of the video workout program at the exercise machine based on inputs from the exercise machine and the heart rate monitor;

the server adaptively scaling the video workout program based on the state;

receiving input indicative of the user performing at least a second portion of the workout off of the exercise machine; and

updating workout data included in the state to reflect performance of the second portion of the workout off of the exercise machine, wherein at least some of the workout data is displayed on a display of the exercise machine.

16. The method of claim 15 , wherein the heart rate monitor is located in proximity to the exercise machine without being directly communicatively coupled to the exercise machine.

17. The method of claim 15 , wherein the inputs from the heart rate monitor include heart rate measurements of the user over time, and wherein the adaptively scaling comprises:

periodically determining from the heart rate measurements at least one of:

that an actual heart rate zone of the user is not equal to a current programmed heart rate zone; or

that the actual heart rate zone of the user is not trending toward the current programmed heart rate zone; and

in response to the periodically determining, adjusting a current difficulty level of the video workout program to adjust the actual heart rate zone of the user toward the current programmed heart rate zone.

18. The method of claim 17 , wherein the adjusting comprises:

adjusting the current difficulty level upward if the actual heart rate zone is lower than the current programmed heart rate zone; and

adjusting the current difficulty level downward if the actual heart rate zone is higher than the current programmed heart rate zone.

19. The method of claim 17 , wherein:

the adaptively scaling further comprises the server generating an exercise machine control command to adjust the current difficulty level based on the state; and

the adjusting further comprises the server providing the exercise machine control command over the first network connection to the exercise machine to control an actuator of the exercise machine according to the exercise machine control command.

Assignments (12)
RELEASE OF INTELLECTUAL PROPERTY SECURITY INTEREST (4TH LIEN) Recorded May 28, 2025
From: LC9 CONNECTED HOLDINGS, LP
To: IFIT INC.; ICON IP INC.
Reel/Frame 071429/0479 →
RELEASE OF SECURITY INTEREST Recorded May 27, 2025
From: LC9 CONNECTED HOLDINGS, LP
To: IFIT INC.; ICON IP INC.
Reel/Frame 071407/0001 →
RELEASE OF SECURITY INTEREST Recorded May 23, 2025
From: PLC AGENT LLC
To: IFIT INC.; ICON IP, INC.
Reel/Frame 071358/0584 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2025
From: ICON PREFERRED HOLDINGS, L.P.
To: IFIT INC.; ICON IP INC.
Reel/Frame 071339/0447 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2025
From: ICON PREFERRED HOLDINGS, L.P.
To: IFIT INC.; ICON IP INC.
Reel/Frame 071341/0293 →
SECURITY INTEREST Recorded May 13, 2025
From: IFIT, INC.
To: CERBERUS BUSINESS FINANCE AGENCY, LLC
Reel/Frame 071278/0707 →
SECURITY INTEREST Recorded Dec 20, 2023
From: IFIT INC.; ICON IP, INC.
To: LC9 CONNECTED HOLDINGS, LP
Reel/Frame 066094/0529 →
SECURITY INTEREST Recorded Oct 13, 2022
From: IFIT INC.
To: LC9 CONNECTED HOLDINGS, LP
Reel/Frame 061411/0051 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IFIT INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061133/0213 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IFIT INC.
To: PLC AGENT LLC
Reel/Frame 061134/0325 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IFIT INC.
To: ICON PREFERRED HOLDINGS, L.P.
Reel/Frame 061138/0742 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IFIT INC.
To: ICON PREFERRED HOLDINGS, L.P.
Reel/Frame 061138/0764 →