(57)【要約】【課題】運動機器を使用する運動を含む運動レッスンに参加可能なユーザの人数を適切に決定する。【解決手段】情報処理装置は、運動機器の種類と利用可能な前記運動機器の数とを示す機器情報を記憶する第１記憶手段と、運動機器を用いて行われる第１運動と運動機器を用いないで行われる第２運動とにより構成される運動レッスンを構成する複数の運動と、第１運動に用いられる運動機器の種類とを示すレッスン情報を記憶する第２記憶手段と、第１記憶手段に記憶された機器情報が示す数のうち、第２記憶手段に記憶されたレッスン情報が示す種類の運動機器の数に基づいて、レッスン情報が示す第１運動を実行可能なユーザの人数を決定する第１決定手段と、第１決定手段により決定された人数に基づいて、運動レッスンに参加可能なユーザの人数を決定する第２決定手段と、を備える。【選択図】図２
2014166238.tif 000002
【特許請求の範囲】
【請求項１】
運動機器の種類と利用可能な前記運動機器の数とを示す機器情報を記憶する第１記憶手段と、
前記運動機器を用いて行われる第１運動と前記運動機器を用いないで行われる第２運動とにより構成される運動レッスンを構成する複数の運動と、前記第１運動に用いられる前記運動機器の種類とを示すレッスン情報を記憶する第２記憶手段と、
前記第１記憶手段に記憶された前記機器情報が示す数のうち、前記第２記憶手段に記憶された前記レッスン情報が示す種類の前記運動機器の数に基づいて、前記レッスン情報が示す前記第１運動を実行可能なユーザの人数を決定する第１決定手段と、
前記第１決定手段により決定された人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定する第２決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２記憶手段は、前記第１運動に用いられる前記運動機器の種類を、前記運動レッスンを構成する前記第１運動ごとに示す前記レッスン情報を記憶し、
前記第１決定手段は、前記レッスン情報が示す種類ごとに、前記第１運動を実行可能なユーザの人数を決定し、
前記第２決定手段は、前記第１決定手段により決定された各人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
運動するユーザをサポートする補助者の人数を示す第１人数情報を記憶する第３記憶手段を更に備え、
前記第２記憶手段は、前記運動レッスンが行われるときに所定人数当たりの前記補助者がサポート可能なユーザの人数を示す第２人数情報を含む前記レッスン情報を記憶し、
前記第３記憶手段に記憶された前記第１人数情報と、前記第２記憶手段に記憶された前記レッスン情報に含まれる前記第２人数情報が示す人数とに基づいて、前記補助者からサポートを受けることができるユーザの人数を決定する第３決定手段と、を更に備え、
前記第２決定手段は、前記第１決定手段により決定された人数と、前記第３決定手段により決定された人数とに基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
運動場所と、前記運動場所の収容人数とを示す収容情報を記憶する第４記憶手段を更に備え、
前記第２決定手段は、前記第１決定手段により決定された人数と、前記第４記憶手段に記憶された前記収容情報とに基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第２決定手段は、前記第１決定手段により決定された人数以下の範囲で、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記第２決定手段は、前記第１運動に用いられる前記運動機器の種類を、前記運動レッスンを構成する前記第１運動ごとに示す前記レッスン情報を記憶し、
前記第１決定手段は、前記レッスン情報が示す種類ごとに、前記第１運動を実行可能なユーザの人数を決定し、
前記第２決定手段は、前記第１決定手段により決定された人数のうち、最も少ない人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第２記憶手段は、前記複数の運動のそれぞれの実行時間を示す前記レッスン情報を記憶し、
前記第２記憶手段に記憶された前記レッスン情報に基づいて、前記運動レッスンに参加するユーザを複数のグループに分けた場合の前記複数のグループのそれぞれの前記複数の運動の実行順序であって、前記グループ間で同じ前記運動機器を用いて前記第１運動を行う時間が重ならない実行順序があるかを判定する判定手段を更に備え、
前記第１決定手段は、前記判定手段により前記実行順序があると判定された場合、利用可能な前記運動機器の数と前記グループの数とに応じて、前記第１運動を実行可能なユーザの人数を決定することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
運動機器の種類と利用可能な前記運動機器の数とを示す機器情報を記憶する第１記憶手段に記憶された前記機器情報が示す数のうち、前記運動機器を用いて行われる第１運動と前記運動機器を用いないで行われる第２運動とにより構成される運動レッスンを構成する複数の運動と、前記第１運動に用いられる前記運動機器の種類とを示すレッスン情報を記憶する第２記憶手段に記憶された前記レッスン情報が示す種類の前記運動機器の数に基づいて、前記レッスン情報が示す前記第１運動を実行可能なユーザの人数を決定する第１決定ステップと、
前記第１決定ステップにより決定された人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定する第２決定ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運動機器を用いて行われる運動と運動機器を用いないで行われる運動とにより構成される運動レッスンを支援する技術分野に関する。
【背景技術】
【０００２】
例えば、特許文献１には、運動動作を行う際に使用される運動機器に応じて、運動動作の実行速度を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５０５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
運動機器を使用する運動と運動機器を使用しない運動とにより構成される運動レッスンを企画するとする。この場合、運動施設にある運動機器の数に応じて、運動レッスンに参加可能なユーザの人数が変わる。しかしながら、特許文献１に記載の技術においては、運動機器の数が考慮されていない。そのため、運動レッスンを企画しても、運動レッスンに参加するユーザの人数が、運動機器の数に合わない場合がある。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、運動機器を使用する運動を含む運動レッスンに参加可能なユーザの人数を適切に決定することを可能とする情報処理装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、運動機器の種類と利用可能な前記運動機器の数とを示す機器情報を記憶する第１記憶手段と、前記運動機器を用いて行われる第１運動と前記運動機器を用いないで行われる第２運動とにより構成される運動レッスンを構成する複数の運動と、前記第１運動に用いられる前記運動機器の種類とを示すレッスン情報を記憶する第２記憶手段と、前記第１記憶手段に記憶された前記機器情報が示す数のうち、前記第２記憶手段に記憶された前記レッスン情報が示す種類の前記運動機器の数に基づいて、前記レッスン情報が示す前記第１運動を実行可能なユーザの人数を決定する第１決定手段と、前記第１決定手段により決定された人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定する第２決定手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、前記第２記憶手段は、前記第１運動に用いられる前記運動機器の種類を、前記運動レッスンを構成する前記第１運動ごとに示す前記レッスン情報を記憶し、前記第１決定手段は、前記レッスン情報が示す種類ごとに、前記第１運動を実行可能なユーザの人数を決定し、前記第２決定手段は、前記第１決定手段により決定された各人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする。
【０００８】
請求項３に記載の発明は、運動するユーザをサポートする補助者の人数を示す第１人数情報を記憶する第３記憶手段を更に備え、前記第２記憶手段は、前記運動レッスンが行われるときに所定人数当たりの前記補助者がサポート可能なユーザの人数を示す第２人数情報を含む前記レッスン情報を記憶し、前記第３記憶手段に記憶された前記第１人数情報と、前記第２記憶手段に記憶された前記レッスン情報に含まれる前記第２人数情報が示す人数とに基づいて、前記補助者からサポートを受けることができるユーザの人数を決定する第３決定手段と、を更に備え、前記第２決定手段は、前記第１決定手段により決定された人数と、前記第３決定手段により決定された人数とに基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする。
【０００９】
請求項４に記載の発明は、運動場所と、前記運動場所の収容人数とを示す収容情報を記憶する第４記憶手段を更に備え、前記第２決定手段は、前記第１決定手段により決定された人数と、前記第４記憶手段に記憶された前記収容情報とに基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする。
【００１０】
請求項５に記載の発明は、前記第２決定手段は、前記第１決定手段により決定された人数以下の範囲で、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする。
【００１１】
請求項６に記載の発明は、前記第２決定手段は、前記第１運動に用いられる前記運動機器の種類を、前記運動レッスンを構成する前記第１運動ごとに示す前記レッスン情報を記憶し、前記第１決定手段は、前記レッスン情報が示す種類ごとに、前記第１運動を実行可能なユーザの人数を決定し、前記第２決定手段は、前記第１決定手段により決定された人数のうち、最も少ない人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定することを特徴とする。
【００１２】
請求項７に記載の発明は、前記第２記憶手段は、前記複数の運動のそれぞれの実行時間を示す前記レッスン情報を記憶し、前記第２記憶手段に記憶された前記レッスン情報に基づいて、前記運動レッスンに参加するユーザを複数のグループに分けた場合の前記複数のグループのそれぞれの前記複数の運動の実行順序であって、前記グループ間で同じ前記運動機器を用いて前記第１運動を行う時間が重ならない実行順序があるかを判定する判定手段を更に備え、前記第１決定手段は、前記判定手段により前記実行順序があると判定された場合、利用可能な前記運動機器の数と前記グループの数とに応じて、前記第１運動を実行可能なユーザの人数を決定することを特徴とする。
【００１３】
請求項８に記載の発明は、運動機器の種類と利用可能な前記運動機器の数とを示す機器情報を記憶する第１記憶手段に記憶された前記機器情報が示す数のうち、前記運動機器を用いて行われる第１運動と前記運動機器を用いないで行われる第２運動とにより構成される運動レッスンを構成する複数の運動と、前記第１運動に用いられる前記運動機器の種類とを示すレッスン情報を記憶する第２記憶手段に記憶された前記レッスン情報が示す種類の前記運動機器の数に基づいて、前記レッスン情報が示す前記第１運動を実行可能なユーザの人数を決定する第１決定ステップと、前記第１決定ステップにより決定された人数に基づいて、前記運動レッスンに参加可能なユーザの人数を決定する第２決定ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
請求項１又は８に記載の発明によれば、運動施設にある運動機器の数を考慮して、運動レッスンに参加可能なユーザの人数が決定される。そのため、参加可能なユーザの人数を適切に決定することができる。
【００１５】
請求項２に記載の発明によれば、運動レッスンで用いられる運動機器の種類ごとに、運動レッスンに参加可能なユーザの人数を決定する必要がない。
【００１６】
請求項３に記載の発明によれば、運動レッスンにおいて運動するユーザを補助する補助者の人数と、所定人数あたりの補助者が補助するユーザの人数とを更に考慮して、運動レッスンに参加可能なユーザの人数が決定される。そのため、参加可能なユーザの人数をより適切に決定することができる。
【００１７】
請求項４に記載の発明によれば、運動場所の収容人数を更に考慮して、運動レッスンに参加可能なユーザの人数が決定される。そのため、参加可能なユーザの人数をより適切に決定することができる。
【００１８】
請求項５に記載の発明によれば、運動レッスンに参加するユーザの全員が運動機器を用いて運動することができる。
【００１９】
請求項６に記載の発明によれば、参加可能なユーザの人数をより適切に決定することができる。
【００２０】
請求項７に記載の発明によれば、グループ間で運動機器を用いる時間が重ならないようにグループごとの運動の実行順序を決めることで、運動機器の数よりも多い人数のユーザを運動レッスンに参加させることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態の運動レッスン支援システム１の概要構成例を示す図である。
【図２】（Ａ）は、運動レッスンの定員が決定される様子の一例を示す図であり、（Ｂ）は、マシン制約定員が決定される様子の一例を示す図である。
【図３】（Ａ）は、配信サーバ２のＣＰＵ２１の運動レッスン実施準備処理の処理例を示すフローチャートであり、（Ｂ）は、配信サーバ２のＣＰＵ２１のリソース・定員決定処理の処理例を示すフローチャートである。
【図４】（Ａ）は、配信サーバ２のＣＰＵ２１の運動機器仮予約処理の処理例を示すフローチャートであり、（Ｂ）は、配信サーバ２のＣＰＵ２１のインストラクター仮予約処理の処理例を示すフローチャートである。
【図５】配信サーバ２のＣＰＵ２１の定員確定・リソース予約処理の処理例を示すフローチャートである。
【図６】配信サーバ２のＣＰＵ２１の参加受付処理の処理例を示すフローチャートである。
【図７】配信サーバ２のＣＰＵ２１の定員拡張処理の処理例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援する運動レッスン支援システムに本発明を適用した場合の実施形態である。
【００２３】
［１．運動レッスン支援システム１の構成］
始めに、図１を参照して、本実施形態の運動レッスン支援システム１の構成について説明する。図１は、本実施形態の運動レッスン支援システム１の概要構成例を示す図である。図１に示すように、運動レッスン支援システム１は、配信サーバ２と１つ以上の出力端末５と受付端末６とを含んで構成されている。配信サーバ２と出力端末５とは、ネットワーク１０を介して接続可能になっている。ネットワーク１０は、例えば、インターネットを含む。配信サーバ２には、データベース３が接続されている。データベース３には、運動に関する情報や楽曲に関する情報が登録されている。配信サーバ２は、データベース３に登録されている情報等を、定期的に又は出力端末５からの要求に応じて出力端末５に配信する。配信サーバ２は、本発明の情報処理装置の一例である。
【００２４】
出力端末５は、例えば、施設４に設置される端末装置である。出力端末５は、例えばパーソナルコンピュータであってもよい。出力端末５は、施設４の利用者４１により利用される。施設４は、例えば、スポーツ施設であってもよい。施設４においては、複数の利用者４１が運動レッスンを受ける。運動レッスンは、複数の運動から構成されるレッスンである。施設４の中には、運動場所として、１つ以上のスタジオ８とマシンルーム９とがある。スタジオ８には、出力端末５及びモニタ５７が設置される。スタジオ８は、モニタ５７から出力される運動コンテンツに合わせて利用者４１が運動を行うための部屋である。運動コンテンツは、運動を支援するための映像及び音声を含む。マシンルーム９には、複数の運動機器９１が設置される。運動機器９１は、運動に用いられる器具、器械等である。運動機器９１の種類として、例えば、筋力トレーニングマシン、ランニングマシン、バイクマシン、ダンベル等がある。マシンルーム９は、利用者４１が運動機器９１を用いて運動を行うための部屋である。運動レッスンは、運動機器９１を用いて行われる運動と、運動機器９１を用いないで行われる運動とを含む場合がある。運動機器を用いて行われる運動を、マシン運動という。マシン運動は、本発明における第１運動の一例である。なお、運動機器９１が持ち運び可能である場合、利用者４１は、運動機器９１をスタジオ８に持ち込んで、スタジオ８でマシン運動を行ってもよい。運動機器を用いないで行われる運動を、スタジオ運動という。スタジオ運動は、スタジオ８で行われる。スタジオ運動は、１又は複数の運動動作により構成される。スタジオ運動は、本発明における第２運動の一例である。スタジオ８は、本発明における運動場所の一例である。なお、スタジオ８の中に、ホットスタジオが含まれていてもよい。また、施設４の中に、水泳などの運動を行うためのプールがあってもよい。
【００２５】
出力端末５は、モニタ５７と接続可能である。モニタ５７は、複数のスピーカ６４とディスプレイ６７とを備える表示装置であってもよい。この場合、出力端末５は、ディスプレイ６７と接続可能である。また、出力端末５は、スピーカ６４と接続可能である。出力端末５がモニタ５７へ音声信号を出力することにより、スピーカ６４により楽曲等が出力される。出力端末５がモニタ５７へ映像信号を出力することにより、ディスプレイ６７に運動映像等が表示される。運動映像は、運動動作を行うフィギュア８３を映し出した動画である。フィギュア８３は、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュア８３は、三次元仮想空間に配置される。出力端末５は、スピーカ６４から出力される楽曲と、ディスプレイ６７に表示されるフィギュア８３の動きとが同期するように、信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者４１は、スピーカ６４により出力される楽曲を聴きながら、ディスプレイ６７に表示されるフィギュア８３を見て、スタジオ運動を行うことができる。操作者４２は、リモコン６６等を用いて出力端末５を操作することができる。操作者４２は、例えば、インストラクターであってもよい。インストラクターは、本発明における補助者の一例である。
【００２６】
受付端末６は、利用者４１から運動レッスンへの参加を受け付けるための端末装置である。受付端末６は、例えば、パーソナルコンピュータ、タブレット型コンピュータ等であってもよい。
【００２７】
［２．運動レッスンの参加可能な人数の決定］
例えば、インストラクターは、出力端末５を操作して、実施する運動レッスンの内容を決定する。例えば、インストラクターは、運動レッスンを構成する複数の運動を決定する。また、インストラクターは、例えば、各運動の実行時間を決定する。実行時間は、運動が行われる時間の長さである。インストラクターは、運動レッスンを構成する運動の１つとして、マシン運動を決定したとする。この場合、インストラクターは、例えば、マシン運動に用いる運動機器９１の種類を決定する。または、インストラクターは、マシン運動の種類を決定してもよい。この場合、例えば出力端末５が、決定された種類のマシン運動に必要な運動機器９１の種類を自動的に決定してもよい。また、インストラクターは、運動レッスンのスケジュールを決定する。例えば、インストラクターは、運動レッスンが行われる日付、時間等を決定する。ここで、運動レッスンに参加可能な利用者４１の人数を決定する必要がある。運動レッスンに実際に参加する利用者４１を、参加者という。しかしながら、運動レッスンがマシン運動を含む場合、参加可能な利用者４１の人数は、施設４に設置されている運動機器９１の数によって変化する。そこで、配信サーバ２は、運動機器９１を効率的に利用するために、運動機器９１の数に基づいて、マシン運動を実行可能な利用者４１の人数を決定する。そして、配信サーバ２は、マシン運動を実行可能な利用者４１の人数に基づいて、運動レッスンに参加可能な利用者４１の人数を決定する。運動機器９１の数に基づいて決定されるマシン運動を実行可能な利用者４１の人数を、マシン制約定員という。運動レッスンに参加可能な利用者４１の人数を、運動レッスンの定員という。なお、本実施形態においては、配信サーバ２が、運動レッスンの定員を決定する。しかしながら、出力端末５が運動レッスンの定員を決定してもよい。また、例えば、配信サーバ２及び配信サーバ２が協働して処理を行うことにより、定員を決定してもよい。
【００２８】
マシン制約定員を決定するための要素として、マシン運動に用いられる運動機器９１の種類と、この種類の運動機器９１の数とがある。施設４にある運動機器９１の数は予め決まっている。この数を、所有数という。施設４にある運動機器９１のうち、ある運動レッスンにおいて実際に利用可能な運動機器９１の数は、その運動レッスンが行われる日及び時間によって変わる場合がある。その理由は、同一の時間帯に、同一種類の運動機器９１を用いる複数の運動レッスンが行われる場合があるからである。運動レッスンを行うためには、必要な数の運動機器９１を予約する必要がある。実際に利用可能な運動機器９１の数を、確保可能機器数という。配信サーバ２は、運動レッスンを構成するマシン運動で用いられる種類の運動機器９１の確保可能機器数を、マシン制約定員に決定する。運動レッスンを構成するマシン運動が複数あるために、運動レッスンの中で複数種類の運動機器９１が用いられる場合がある。この場合、配信サーバ２は、各種類の運動機器９１の確保可能機器数のうち、最も少ない確保可能機器数を、マシン制約定員に決定する。そして、マシン制約定員を決定した場合、配信サーバ２は、マシン制約定員以下の人数の範囲内で、運動レッスンの定員を決定する。これにより、運動レッスンの定員を適切に決定することができる。
【００２９】
運動レッスンの定員を決定するための要素として、運動機器９１の数のほかに、インストラクターの人数がある。その理由は、利用者４１が運動を行う際に、インストラクターが利用者４１をサポートする必要がある場合があるからである。例えば、スタジオ運動において、インストラクターが参加者一人一人に対して運動動作の指導を行う場合がある。また、例えば、マシン運動において、インストラクターが、参加者一人一人に対して運動機器９１の使い方を教える場合がある。また、例えば、インストラクターが、運動機器９１用いた運動により身体にかかる負荷を利用者４１ごとに調整する必要がある場合がある。このような場合、一人当たりのインストラクターがサポート可能な参加者の人数が限られる場合がある。そこで、運動レッスンにおいて、１人当たりのインストラクターがサポートする参加者の人数が設定される場合がある。この人数を、サポート人数という。サポート人数は、本発明における第２人数情報の一例である。例えば、運動レッスンを構成する運動ごとに、インストラクターは、１人当たりのインストラクターがサポート可能な参加者の人数を見積もる。そして、インストラクターは、例えば、見積もった人数のうち最も少ない人数を、サポート人数に設定する。運動レッスンが如何なる利用者４１を対象とするかに応じて、サポート人数が変わる場合がある。例えば、運動の初心者と上級者とでは、サポート人数を変えた方がよい場合がある。運動レッスンを構成する全ての運動において、一人のインストラクターが参加者全員をサポートすることができる場合、サポート人数を設定する必要はない。
【００３０】
施設４に所属するインストラクターのうち、実際に利用者４１をサポートすることが可能なインストラクターの人数は、日及び時間によって変わる場合がある。利用者４１をサポートすることが可能なインストラクターの人数を、確保可能人数という。配信サーバ２は、運動レッスンが行われる日及び時間における確保可能人数と、その運動レッスンにおけるサポート人数とに基づいて、マシン運動を実行可能な利用者４１の人数を決定する。この人数を、インストラクター制約定員という。具体的に、配信サーバ２は、確保可能人数をサポート人数に掛けて、インストラクター制約定員を計算する。マシン制約定員とインストラクター制約定員とを決定した場合、配信サーバ２は、例えば、マシン制約定員とインストラクター制約定員とのうち少ない方の人数以下の人数の範囲内で、運動レッスンの定員を決定する。
【００３１】
運動レッスンの定員を決定するための要素として、更にスタジオ８の収容人数がある。スタジオ８は、別の運動レッスンで利用するために既に予約されている場合がある。予約されていないスタジオ８を、確保可能スタジオという。マシン制約定員と確保可能スタジオとを決定した場合、配信サーバ２は、例えば、マシン制約定員と確保可能スタジオの収容人数のうち少ない方の人数以下の人数の範囲内で、運動レッスンの定員を決定する。
【００３２】
運動機器９１、インストラクター及びスタジオ８は、運動レッスンを行うために必要なリソースといえる。配信サーバ２は、確保可能スタジオを特定し、マシン制約定員及びインストラクター制約定員を決定すると、確保可能スタジオの収容人数、マシン制約定員及びインストラクター制約定員に基づいて、運動レッスンの定員を決定する。具体的に、配信サーバ２は、収容人数、マシン制約定員及びインストラクター制約定員のうち、最も少ない人数を、運動レッスンの定員に決定する。
【００３３】
次に、具体例を説明する。図２（Ａ）は、運動レッスンの定員が決定される様子の一例を示す図である。運動レッスンが、スタジオ運動Ａ、マシン運動Ｂ、スタジオ運動Ｃで構成されているとする。マシン運動Ｂでは、運動機器Ｘが使用される。また、サポート人数として３が設定されている。運動レッスンが行われる時間において、運動機器Ｘの確保可能機器数は、２０である。そこで、配信サーバ２は、マシン制約定員として、２０人を決定する。また、インストラクターの確保可能人数が１０人である。そこで、配信サーバ２は、インストラクター制約定員として、３０人を決定する。また、スタジオ８として、スタジオＪ〜Ｍがある。スタジオＪの収容人数は１０人である。スタジオＫの収容人数は２０人である。スタジオＬの収容人数は３０人である。スタジオＭの収容人数は４０人である。スタジオＪ〜Ｍのうち、確保可能スタジオは、スタジオＪ、Ｌ、Ｍである。従って、最大の収容人数は、４０人である。確保可能スタジオの収容人数、マシン制約定員及びインストラクター制約定員のうち、マシン制約定員が最も少ない。そこで、配信サーバ２は、運動レッスンの定員として、２０人を決定する。例えば、確保可能スタジオは、スタジオＪのみであったとする。この場合、収容人数が最も少ないため、配信サーバ２は、運動レッスンの定員として１０人を決定する。また、例えば、確保可能人数５人であったとする。この場合、インストラクター制約定員は、１５人になる。この場合、インストラクター制約定員が最も少ないため、配信サーバ２は、運動レッスンの定員として１５人を決定する。
【００３４】
定員を決定すると、配信サーバ２は、運動レッスンを行うために必要なリソースを予約する。具体的に、配信サーバ２は、定員に相当する２０台の運動機器Ｘを予約する。また、２０人の利用者４１をサポートするため、インストラクターは７人必要である。従って、配信サーバ２は、インストラクターを７人予約する。また、スタジオＪ、Ｌ、Ｍのうち、２０人を収容可能なスタジオ８は、スタジオＬ、Ｍである。配信サーバ２は、スタジオ８を効率よく利用するため、複数のスタジオ８のうち、収容人数が定員以上であって、且つ、収容人数が最も少ないスタジオ８を予約する。この例の場合、配信サーバ２は、収容人数が３０人であるスタジオＬを予約する。
【００３５】
ところで、運動レッスンが複数の運動で構成されている場合、参加者を２以上のグループに分け、グループごとに異なる順序で複数の運動を並行して実行させることができる。このときに、ある運動機器９１を用いるマシン運動を行う時間を、グループごと重ならないようにすることができる場合がある。この場合、参加者全員が同一種類の運動機器９１を同時に利用する必要がない。すると、運動レッスンにおいて、確保可能機器数よりも多い人数の参加者が、運動機器９１を利用することができる。従って、マシン制約定員を、確保可能機器数よりも多くすることができる。そこで、配信サーバ２は、参加者を複数のグループに分けた場合に、複数のグループ間で同一種類の運動機器９１を用いてマシン運動を行う時間が重ならない実行順序があるかを判定する。このような実行順序を、複数グループ並行運動可能実行順序という。そして、配信サーバ２は、複数グループ並行運動可能実行順序がある場合、確保可能機器数とグループ数とに基づいて、マシン制約定員を決定する。具体的に、配信サーバ２は、確保可能機器数にグループ数を掛けて、マシン制約定員を計算する。これにより、マシン制約定員を増加させることができるとともに、運動レッスンの定員を増加させることができる。
【００３６】
なお、配信サーバ２は、運動レッスンへの参加が申し込まれていない段階では、マシン制約定員を増加させない。配信サーバ２は、運動レッスンに参加する利用者４１の人数が所定数以上になったときに、マシン制約定員を増加させ、運動レッスンの定員を増加させる。これを、定員の拡張という。その理由は、定員を拡張した場合、拡張後の定員に対応するスタジオ８及びインストラクターを予約する必要があるからである。運動レッスンの参加者が少ない場合、拡張前の定員に対応するスタジオ８及びインストラクターを予約することで、スタジオ８及びインストラクターを効率的に利用することができる。配信サーバ２は、例えば、参加者数が定員に達したときに、定員を拡張してもよい。また、配信サーバ２は、例えば、定員と参加者数との差が所定値以下となったときに、定員を拡張してもよい。
【００３７】
以下に具体例を説明する。図２（Ｂ）は、マシン制約定員が決定される様子の一例を示す図である。運動レッスンが、スタジオ運動Ａ、マシン運動Ｂ、スタジオ運動Ｃ、マシン運動Ｄ、スタジオ運動Ｅで構成されているとする。マシン運動Ｂでは、運動機器Ｘが使用される。マシン運動Ｄでは、運動機器Ｙが使用される。スタジオ運動Ａ及びＣの実行時間はそれぞれ１０分である。マシン運動Ｂ及びＤの実行時間はそれぞれ１５分である。スタジオ運動Ｅの実行時間は５分である。ここで、参加者をグループＧ１とグループＧ２とに分けるとする。グループＧ１の運動の実行順を、スタジオ運動Ａ、マシン運動Ｂ、スタジオ運動Ｃ、マシン運動Ｄ、スタジオ運動Ｅとする。一方、グループＧ２の運動の実行順を、スタジオ運動Ｃ、マシン運動Ｄ、スタジオ運動Ａ、マシン運動Ｂ、スタジオ運動Ｅとする。すると、グループＧ１とＧ２との間で、運動機器Ｘを利用する時間が重ならず、且つ、運動機器Ｙを利用する時間が重ならない。この場合においては、同じスタジオ８で、スタジオ運動ＡとＣとが並行して行われることになる。この場合、配信サーバ２は、例えば、ディスプレイ６７の画面を２つに分割し、スタジオ運動Ａの運動映像とスタジオ運動Ｃの運動映像とを同時に表示させてもよい。
【００３８】
ここで、運動機器Ｘの確保可能機器数が２０であり、運動機器Ｙの確保可能機器数が１５であるとする。この場合、配信サーバ２は、最も少ない確保可能機器数である１５に、グループ数である２を掛ける。そして、配信サーバ２は、マシン制約定員として、３０人を決定する。なお、本実施形態では、参加者は２つのグループに分けられる。しかしながら、参加者が３つ以上のグループに分けられてもよい。
【００３９】
複数グループ並行運動可能実行順序があるかを判定する方法は種々考えられる。例えば、運動レッスンを構成する複数の運動と各運動の実行時間とが決定された後に、インストラクターが、運動の実行順序をグループごとに設定してもよい。このとき、インストラクターは、グループ間で同一種類の運動機器９１を用いてマシン運動を行う時間が重ならないように実行順序を設定する。例えば、出力端末５は、レッスン情報を生成する。レッスン情報は、運動レッスンの内容を定めた情報である。運動レッスンの内容として、例えば、運動レッスンを構成する複数の運動、各運動の実行時間、実行順序等がある。また、レッスン情報は、グループ化可能フラグを含む。グループ化可能フラグは、参加者を複数のグループに分けることが可能であるか否かを示す情報である。インストラクターにより複数のグループについて運動の実行順序が設定された場合、グループ化可能フラグはＴＲＵＥに設定される。複数のグループについて運動の実行順序が設定されなかった場合、グループ化可能フラグはＦＡＬＳＥに設定される。配信サーバ２は、グループ化可能フラグがＴＲＵＥである場合、複数グループ並行運動可能実行順序があると判定する。なお、レッスン情報の詳細については後述する。
【００４０】
また、配信サーバ２が、実行順序を自動的に決定してもよい。例えば、配信サーバ２は、複数の順序情報を生成する。１つの順序情報が、運動レッスンを構成する複数の運動の実行順序を示す。配信サーバ２は、実行順序が互いに異なる複数の順序情報を生成する。配信サーバ２は、グループ数に相当する数の順序情報を組み合わせる。このときに、配信サーバ２は、組み合わせた順序情報が示す実行順序と、運動レッスンを構成する各運動の実行時間とに基づいて、同一のマシン運動が実行される時間が重なるか否かを判定する。配信サーバ２は、同一のマシン運動が実行される時間が重ならないと判定した場合、複数グループ並行運動可能実行順序があると判定する。配信サーバ２は、如何なる順序情報を組み合わせたとしても、同一のマシン運動が実行される時間が重なる場合、複数グループ並行運動可能実行順序がないと判定する。
【００４１】
なお、配信サーバ２が決定可能な実行順序が制限されていてもよい。例えば、インストラクターは、運動レッスンを構成する複数の運動の中で、決められた順序で実行する必要がある運動を設定してもよい。例えば、インストラクターは、マシン運動として筋力トレーニングを行った後、次にスタジオ運動として有酸素運動を行うように設定する。配信サーバ２は、インストラクターにより設定された運動が決められた順序で実行されるように、実行順序を決定する。また、例えば、配信サーバ２は、運動レッスンを構成する複数の運動をグループ化してもよい。例えば、上半身を鍛える運動のグループと、下半身を鍛える運動のグループとに分けられてもよい。例えば、インストラクターは、運動レッスンを構成する運動を設定するときに、身体のどの部位を鍛える運動であるかを設定してもよい。配信サーバ２は、グループ化された運動が連続して実行されるように、実行順序を決定してもよい。
【００４２】
配信サーバ２は、複数グループ並行運動可能実行順序があると判定した運動レッスンの参加者のグループ分けを行ってもよい。具体的に、配信サーバ２は、参加者の情報に基づいてグループ分けを行う。このとき、配信サーバ２は、１つのグループの人数が、利用する運動機器９１の確保可能機器数以下となるように、グループ分けする。例えば、配信サーバ２は、参加者の年齢に基づいて、グループ分けをしてもよい。例えば、１５歳未満の参加者と６０歳を超える参加者を、グループＧ１とし、その他の参加者をグループＧ２としてもよい。また、例えば、配信サーバ２は、性別でグループ分けしてもよい。配信サーバ２は、運動レッスンで行われる運動の負荷を、グループごとに変えてもよい。例えば、運動レッスンを構成する運動の中に、スタジオ運動としてステップ運動があるとする。例えば、グループＧ１は、身体の動作が小さいステップ運動を行い、グループＧ２は、身体の動作が大きいステップ運動を行う。配信サーバ２は、運動映像をディスプレイ６７に表示させるとき、身体の動作が小さいステップ運動を行うフィギュア８３と、身体の動作が大きいステップ運動を行うフィギュア８３とを同時に表示させてもよい。
【００４３】
［３．各装置の構成］
次に、図１を参照して、運動レッスン支援システムに含まれる各装置の構成について説明する。
【００４４】
［３−１．配信サーバ２の構成］
図１に示すように、配信サーバ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、バス２４、Ｉ／Ｏインタフェイス２５、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０及びＨＤＤ（ハードディスクドライブ）３７を備える。ＣＰＵ２１は、バス２４を介して、ＲＯＭ２２、ＲＡＭ２３、バス２４及びＩ／Ｏインタフェイス２５に接続されている。ＣＰＵ２１は、時計機能及びタイマー機能を有する。ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ３７に記憶されたプログラムを実行することにより、配信サーバ２の各部を制御する。Ｉ／Ｏインタフェイス２５には、データベース３、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０、キーボード３１、マウス３２及びＨＤＤ３７が接続されている。ＣＰＵ２１は、Ｉ／Ｏインタフェイス２５を介してデータベース３にアクセスする。表示制御部２６は、ＣＰＵ２１の制御に基づいて映像信号をモニタ２７に出力する。ディスクドライブ２８は、記録媒体２９に対するデータの書き込み及び読み出しを行う。ネットワーク通信部３０は、配信サーバ２がネットワーク１０に接続するための制御を行う。ＨＤＤ３７には、ＯＳや各種制御プログラム等が記憶されている。
【００４５】
データベース３は、本発明における第１記憶手段、第３記憶手段、第４記憶手段の一例である。データベース３には、施設情報、会員情報、モーションデータ、楽曲データ等のデータが登録されている。施設情報は、施設に関する情報である。施設情報は、施設４ごとに記憶される。施設情報は、運動場所情報、運動機器情報、インストラクター情報、予定表情報を含む。運動場所情報は、施設４が有する運動場所としてのスタジオ８に関する情報である。具体的に、運動場所情報には、場所ＩＤ、スタジオの名称、収容人数等が、スタジオ８ごとに登録される。場所ＩＤは、スタジオ８の識別情報である。運動場所情報は、本発明における収容情報の一例である。運動機器情報は、施設４が有する運動機器９１に関する情報である。具体的に、運動機器情報には、機器種別、運動機器９１の名称、所有数等が、運動機器９１の種類ごとに登録される。機器種別は、運動機器９１の種類を示す識別情報である。所有数は、施設４が有する運動機器９１の数である。インストラクター情報は、施設４に所属するインストラクターに関する情報である。具体的に、インストラクター情報には、インストラクターＩＤ、インストラクターの氏名等が、インストラクターごとに登録される。インストラクターＩＤは、インストラクターの識別情報である。
【００４６】
会員情報は、利用者４１に関する情報である。会員情報は、利用者４１ごとに登録される。具体的に、会員情報には、会員ＩＤ、氏名、年齢、性別等が登録される。会員ＩＤは、利用者４１を識別する識別情報である。
【００４７】
予定表情報は、レッスン予定表情報及びリソース予定表情報を含む。レッスン予定表情報は、運動レッスンの予定表を示す情報である。具体的に、レッスン予定表情報には、レッスンＩＤ、運動レッスンの名称、実施日、開始時刻、終了時刻、リソース予約状態、場所ＩＤ、定員拡張状態、定員、参加者数等が実施予定の運動レッスンごとに対応付けて登録される。レッスンＩＤは、運動レッスンの識別情報である。実施日は、運動レッスンが行われる日である。開始時刻及び終了時刻は、運動レッスンが行われる時間帯を示す。リソース予約状態は、運動レッスンを行うためのリソースが予約されているか否かを示す。リソース予約状態は、未予約又は予約済が設定される。場所ＩＤは、運動レッスンで利用されるスタジオ８を示す。場所ＩＤは、リソースが予約された場合に設定される。定員拡張状態は、運動レッスンの定員が拡張されているか否かを示す。定員拡張状態は、未拡張又は拡張済が設定される。
【００４８】
リソース予定表情報は、運動場所予定表情報、運動機器予定表情報、インストラクター予定表情報を含む。運動場所予定表情報は、スタジオ８の予約状況を示す。運動場所予定表情報は、スタジオ８ごとに、場所ＩＤと対応付けて登録される。具体的に、運動場所予定表情報には、日付及び予約単位となる時間帯ごとに、予約状態とレッスンＩＤとの組が登録されている。予約状態は、対応付けられた日付及び時間帯におけるスタジオ８の予約の状態を示す。予約状態は、未予約、仮予約又は予約済の何れかに設定される。レッスンＩＤは、スタジオ８が仮予約又は予約された運動レッスンを示す。予約単位となる時間帯の長さは、例えば、３０分等であってもよい。
【００４９】
運動機器予定表情報は、運動機器９１の予約状況を示す。運動機器予定表情報は、運動機器９１の種類ごとに、機器種別と対応付けて登録される。具体的に、運動機器予定表情報には、日付及び予約単位となる時間帯ごとに、予約状態とレッスンＩＤとの組が、機器種別に対応する運動機器９１の所有数分登録される。１つの組が、１台の運動機器９１に対応する。予約状態は、未予約、仮予約又は予約済の何れかに設定される。所有数分の予約状態のうち、未予約に設定されている予約状態の数が、確保可能機器数に相当する。レッスンＩＤは、運動機器９１が仮予約又は予約された運動レッスンを示す。運動機器予定表情報は、本発明における機器情報の一例である。
【００５０】
インストラクター予定表情報は、インストラクターの予約状況を示す。インストラクター予定表情報は、インストラクターごとに、インストラクターＩＤと対応付けて登録される。具体的に、インストラクター予定表情報には、日付及び予約単位となる時間帯ごとに、予約状態とレッスンＩＤとの組が登録される。予約状態は、対応付けられた日付及び時間帯におけるインストラクターの予約の状態を示す。予約状態は、未予約、仮予約又は予約済の何れかに設定される。全てのインストラクターのうち、予約状態が未予約に設定されているインストラクターの数が、確保可能インストラクター数に相当する。レッスンＩＤは、インストラクターが仮予約又は予約された運動レッスンを示す。インストラクター予定表情報は、本発明における第１人数情報の一例である。
【００５１】
モーションデータは、三次元仮想空間におけるフィギュア８３の運動動作を定義するデータである。モーションデータは、ディスプレイ６７にフィギュア８３の運動動作を表示させるためのデータである。モーションデータは、運動動作の進行に応じたフィギュア８３の身体の各部の座標を含む。モーションデータは、モーション情報と対応付けて登録される。モーション情報は、運動動作を示す識別情報である。楽曲データは、スピーカ６４により楽曲を出力するための演奏データである。楽曲データは、例えば、ＭＩＤＩ（Musical Instrument Digital Interface）形式のデータであってもよい。
【００５２】
ＨＤＤ３７は、本発明における第２記憶手段の一例である。ＨＤＤ３７には、出力端末５からアップロードされたレッスン情報が記憶される。また、ＨＤＤ３７には、ＯＳ、施設管理プログラム等の各種プログラム等が記憶されている。施設管理プログラムは、施設４の運営を支援するためのプログラムである。施設管理プログラムは、コンピュータとしてのＣＰＵ２１に、第１決定ステップと、第２決定ステップとを少なくとも実行させる。各種プログラムは、例えば、所定のサーバ装置からネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体２９に記録されてディスクドライブ２８を介して読み込まれるようにしてもよい。
【００５３】
［３−２．出力端末５の構成］
図１に示すように、出力端末５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、バス５４、Ｉ／Ｏインタフェイス５５、表示制御部５６、ディスクドライブ５８、ネットワーク通信部６０、音声出力部６３、信号受信部６５及びＨＤＤ７を備える。ＣＰＵ５１は、バス５４を介して、ＲＯＭ５２、ＲＡＭ５３、バス５４及びＩ／Ｏインタフェイス５５に接続されている。ＣＰＵ５１は、ＲＯＭ５２やＨＤＤ７に記憶されたプログラムを実行することにより、出力端末５の各部を制御する。Ｉ／Ｏインタフェイス５５には、ＨＤＤ７、表示制御部５６、音声出力部６３、ディスクドライブ５８、ネットワーク通信部６０、キーボード６１、マウス６２及び信号受信部６５が接続されている。表示制御部５６は、ＣＰＵ５１の制御に基づいて映像信号をモニタ５７に出力する。音声出力部６３は、ＣＰＵ５１の制御に基づいて音声信号をモニタ５７に出力する。ディスクドライブ５８は、記録媒体５９に対するデータの書き込み及び読み出しを行う。信号受信部６５は、リモコン６６から出力される信号を受信する。リモコン６６は、操作者４２が出力端末５を操作するためのものである。
【００５４】
ＨＤＤ７には、配信サーバ２から配信されたモーションデータ、楽曲データ等が記憶される。また、ＨＤＤ７には、レッスン情報が記憶される。例えば、インストラクターの操作に基づいて、出力端末５がレッスン情報を生成する。レッスン情報は、例えば、レッスンＩＤ、運動レッスンの名称、レッスン実行時間、サポートフラグ、サポート人数、運動機器利用フラグ、運動機器リスト、複数の運動ユニット情報、グループ化可能フラグ、グループ数、順序情報等を含む。レッスン実行時間は、運動レッスンが行われる時間の長さである。サポートフラグは、運動レッスンが、インストラクターによるサポートが必要な運動を含むか否かを示す情報である。インストラクターがサポート人数を設定した場合、サポートフラグはＴＲＵＥに設定される。インストラクターがサポート人数を設定しなかった場合、サポートフラグはＦＡＬＳＥに設定される。運動機器利用フラグは、運動レッスンで運動機器９１が利用されるか否かを示す情報である。運動レッスンがマシン運動を含む場合、運動機器利用フラグはＴＲＵＥに設定される。運動レッスンがマシン運動を含まない場合、運動機器利用フラグはＦＡＬＳＥに設定される。運動機器リストは、運動レッスンで利用される運動機器９１の機器種別のリストである。運動機器利用フラグがＴＲＵＥである場合、運動機器リストが設定される。運動ユニット情報は、運動レッスンを構成する運動に関する情報である。運動ユニット情報は、運動レッスンを構成する運動の数分設定される。運動ユニット情報は、運動ＩＤ、運動種別及び実行時間等を含む。運動ＩＤは、運動の識別情報である。運動種別は、運動の種類を示す。運動種別として、マシン運動とスタジオ運動がある。運動種別がマシン運動である場合、運動ユニット情報は、更に機器種別を含む。機器種別は、マシン運動で利用される運動機器９１の種類である。運動ユニット情報に設定される機器種別と同一の機器種別が、運動機器リストの中にも設定される。運動種別がスタジオ運動である場合、運動ユニット情報は、更に１つ以上のモーション情報及び楽曲ＩＤを含む。モーション情報は、スタジオ運動を構成する運動動作を示す。楽曲ＩＤは、スタジオ運動を行っているときに出力される楽曲を示す。グループ数は、グループ化可能フラグがＴＲＵＥである場合に設定される。本実施形態では、グループ数として２が設定される。順序情報は、運動レッスンを構成する複数の運動のそれぞれ運動ＩＤを含む。順序情報において、複数の運動ＩＤは、複数の運動の実行順ｉ並べられている。グループ化可能フラグがＦＡＬＳＥであるとき、１つの順序情報が設定される。この場合の順序情報は、参加者全員による運動の実行順序を示す。グループ化可能フラグがＴＲＵＥであるとき、グループ数分の順序情報が設定される。出力端末５は、レッスン情報を生成すると、例えば、レッスン情報を配信サーバ２へアップロードする。
【００５５】
ＨＤＤ７には、更に、ＯＳ、運動支援プログラム、３Ｄエンジン、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、利用者４１の運動を支援するためのプログラムである。３Ｄエンジンは、モーションデータに基づいて、三次元仮想空間で運動動作するフィギュア８３を二次元平面に投影した画像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。ＣＰＵ５１は、３Ｄエンジンを実行して、静止画像を順次生成する。ＣＰＵ５１は、順次生成した複数の静止画像から動画データを生成する。ＣＰＵ５１が動画データに含まれる静止画像を表示制御部５６へ順次出力することで、ディスプレイ６７には、運動映像が表示される。
【００５６】
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。ＣＰＵ５１は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成する。また、ＣＰＵ５１は、ミュージックシーケンサを実行することにより、各種のメッセージ（イベント）を発生させる。メッセージとして、例えば、テンポに応じて所定時間間隔で発生するメッセージがある。このメッセージは、ＭＩＤＩクロックや同期メッセージと呼ばれる。
【００５７】
各種プログラムは、例えば、配信サーバ２等のサーバからネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体５９に記録されてディスクドライブ５８を介して読み込まれるようにしてもよい。なお、３Ｄエンジンやミュージックシーケンサは、プログラムではなく、専用のハードウェアであってもよい。そして、出力端末５は、ハードウェアとしての３Ｄエンジンやミュージックシーケンサを備えてもよい。
【００５８】
ＣＰＵ５１は、設定されたテンポに従って、楽曲データに対応する音声信号を音声出力部６３へ出力させるとともに、生成した画像に対応する映像信号を表示制御部５６から出力させる。ＣＰＵ５１は、同期メッセージに基づいて、楽曲の音声信号の出力タイミングと運動映像の映像信号の出力タイミングとを同期させる。これにより、スピーカ６４から出力される楽曲に同期して運動動作を行うフィギュア８３がディスプレイ６７に表示される。
【００５９】
［４．運動レッスン支援システム１の動作］
次に、図３乃至図７を参照して、運動レッスン支援システム１の動作を説明する。図３（Ａ）は、配信サーバ２のＣＰＵ２１の運動レッスン実施準備処理の処理例を示すフローチャートである。例えば、インストラクターは、運動レッスンのスケジュールを設定する。例えば、インストラクターは、出力端末５を操作して、所望の運動レッスンを選択する。また、インストラクターは、運動レッスンの実施日、開始時刻等を設定する。出力端末５は、選択された運動レッスンのレッスンＩＤ、実施日、開始時刻等を配信サーバ２へ送信する。ＣＰＵ２１は、レッスンＩＤ、実施日、開始時刻等を受信したときに、運動レッスン実施準備処理を開始してもよい。
【００６０】
また、例えば、ＣＰＵ２１は、レッスン予定表情報に基づいて、所定時間後に運動レッスンが開始されるかを定期的に判定する。例えば、ＣＰＵ２１は、１時間後等に運動レッスンが開始されるかを判定してもよい。ＣＰＵ２１は、所定時間後に運動レッスンが開始されると判定したときに、運動レッスン実施準備処理を開始してもよい。
【００６１】
図３（Ａ）に示すように、ＣＰＵ２１は、対象となる運動レッスン及び時間帯を特定する（ステップＳ１）。例えば、インストラクターが運動レッスンのスケジュールを設定した場合、対象となる運動レッスンは、出力端末５から受信されたレッスンＩＤが示す運動レッスンである。この場合、ＣＰＵ２１は、受信したレッスンＩＤに対応するレッスン情報から、運動レッスンの実行時間を取得する。ＣＰＵ２１は、開始時刻と実行時間に基づいて、終了時刻を計算する。ＣＰＵ２１は、レッスン情報のレッスンＩＤ、実施日、開始時刻、終了時刻、リソース予約状態、定員拡張状態等を、レッスン予定表情報に登録する。このとき、ＣＰＵ２１は、リソース予約済状態を未予約に設定し、定員拡張状態を未拡張に設定する。例えば、所定時間後に運動レッスンが開始される場合、対象となる運動レッスンは、所定時間後に開始される運動レッスンである。ＣＰＵ２１は、レッスン予定表情報から、開始される運動レッスンのレッスンＩＤ、実施日、開始時刻、終了時刻、リソース予約状態等を取得する。
【００６２】
次いで、ＣＰＵ２１は、対象の運動レッスンのリソース予約状態が予約済であるか否かを判定する（ステップＳ２）。このとき、ＣＰＵ２１は、リソース予約状態が予約済であると判定した場合には（ステップＳ２：ＹＥＳ）、ステップＳ５に進む。一方、ＣＰＵ２１は、リソース予約状態が未予約であると判定した場合には（ステップＳ２：ＮＯ）、ステップＳ３に進む。
【００６３】
ステップＳ３において、ＣＰＵ２１は、リソース・定員決定処理を実行する。リソース・定員決定処理において、ＣＰＵ２１は、対象の運動レッスンの定員を決定し、リソースを予約する。リソース・定員決定処理の詳細については後述する。次いで、ＣＰＵ２１は、リソース・定員決定処理でリソースを予約することができたか否かを判定する（ステップＳ４）。このとき、ＣＰＵ２１は、リソースを予約することができたと判定した場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に進む。一方、ＣＰＵ２１は、リソースを予約することができなかったと判定した場合には（ステップＳ４：ＮＯ）、ステップＳ６に進む。
【００６４】
ステップＳ５において、ＣＰＵ２１は、参加受付処理を実行する。参加受付処理において、ＣＰＵ２１は、対象の運動レッスンへの参加を受け付ける処理を行う。参加受付処理の詳細については省略する。ＣＰＵ２１は、ステップＳ５の処理を終えると、運動レッスン実施準備処理を終了させる。ステップＳ６において、ＣＰＵ２１は、対象の運動レッスンが実施することができない旨を示すメッセージを、出力端末５へ送信する。出力端末５は、受信したメッセージを、ディスプレイ６７に表示させる。ＣＰＵ２１は、ステップＳ６の処理を終えると、運動レッスン実施準備処理を終了させる。
【００６５】
図３（Ｂ）は、配信サーバ２のＣＰＵ２１のリソース・定員決定処理の処理例を示すフローチャートである。図３（Ｂ）に示すように、ＣＰＵ２１は、運動場所仮予約処理を実行する（ステップＳ１１）。具体的に、ＣＰＵ２１は、運動場所予定表情報から、対象の運動レッスンの開始時刻から終了時刻までの間、予約状態が未予約であるスタジオ８を、確保可能スタジオとして検索する。このとき、確保可能スタジオが存在しない場合、ＣＰＵ２１は、仮予約結果として失敗を設定する。一方、確保可能スタジオが存在する場合、ＣＰＵ２１は、確保可能スタジオの運動場所予定表情報において、運動レッスンの開始時刻から終了時刻までの予約状態及びレッスンＩＤを、仮予約及び対象の運動レッスンのレッスンＩＤに変更する。そして、ＣＰＵ２１は、仮予約したスタジオ８の場所ＩＤを、運動場所予定表情報から取得する。この場合、ＣＰＵ２１は、仮予約結果として成功を設定する。
【００６６】
次いで、ＣＰＵ２１は、仮予約結果が成功であるか否かを判定する（ステップＳ１２）。このとき、ＣＰＵ２１は、仮予約結果が成功であると判定した場合には（ステップＳ１２：ＹＥＳ）、ステップＳ１３に進む。一方、ＣＰＵ２１は、仮予約結果が失敗であると判定した場合には（ステップＳ１２：ＮＯ）、ステップＳ１８に進む。
【００６７】
ステップＳ１３において、ＣＰＵ２１は、運動機器仮予約処理を実行する。運動機器仮予約処理において、ＣＰＵ２１は、運動機器９１を仮予約する。運動機器仮予約処理の詳細については後述する。次いで、ＣＰＵ２１は、運動機器９１の仮予約結果が成功であるか否かを判定する（ステップＳ１４）。このとき、ＣＰＵ２１は、仮予約結果が成功であると判定した場合には（ステップＳ１４：ＹＥＳ）、ステップＳ１５に進む。一方、ＣＰＵ２１は、仮予約結果が失敗であると判定した場合には（ステップＳ１４：ＮＯ）、ステップＳ１８に進む。
【００６８】
ステップＳ１５において、ＣＰＵ２１は、インストラクター仮予約処理を実行する。インストラクター仮予約処理において、ＣＰＵ２１は、インストラクターを仮予約する。ＣＰＵ２１は、インストラクター仮予約処理の詳細については後述する。次いで、ＣＰＵ２１は、インストラクターの仮予約結果が成功であるか否かを判定する（ステップＳ１６）。このとき、ＣＰＵ２１は、仮予約結果が成功であると判定した場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１７に進む。一方、ＣＰＵ２１は、仮予約結果が失敗であると判定した場合には（ステップＳ１６：ＮＯ）、ステップＳ１８に進む。
【００６９】
ステップＳ１７において、ＣＰＵ２１は、定員確定・リソース予約処理を実行する。定員確定・リソース予約処理において、ＣＰＵ２１は、仮予約したリソースに基づいて、対象の運動レッスンの定員を確定する。また、ＣＰＵ２１は、定員に基づいて、リソースを正式に予約する。次いで、ＣＰＵ２１は、ステップＳ１８に進む。ステップＳ１８において、ＣＰＵ２１は、仮予約したリソースを解放する。具体的に、ＣＰＵ２１は、運動場所予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて仮予約に設定されている予約状態を、未予約に変更する。また、ＣＰＵ２１は、運動機器予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて仮予約に設定されている予約状態を、未予約に変更する。また、ＣＰＵ２１は、インストラクター予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて仮予約に設定されている予約状態を、未予約に変更する。ＣＰＵ２１は、ステップＳ１８の処理を終えると、リソース・定員決定処理を終了させる。
【００７０】
図４（Ａ）は、配信サーバ２のＣＰＵ２１の運動機器仮予約処理の処理例を示すフローチャートである。図４（Ａ）に示すように、ＣＰＵ２１は、対象の運動レッスンのレッスン情報に含まれる運動機器利用フラグに基づいて、対象の運動レッスンにおいて運動機器９１が必要であるか否かを判定する（ステップＳ２１）。このとき、ＣＰＵ２１は、運動機器９１が必要であると判定した場合には（ステップＳ２１：ＹＥＳ）、ステップＳ２２に進む。一方、ＣＰＵ２１は、運動機器９１が必要ではないと判定した場合には（ステップＳ２１：ＮＯ）、ステップＳ２７に進む。
【００７１】
ステップＳ２２において、ＣＰＵ２１は、対象の運動レッスンで必要な種類の運動機器９１の確保可能機器数を取得する。具体的に、ＣＰＵ２１は、レッスン情報に含まれる運動機器リストから機器種別を取得する。次いで、ＣＰＵ２１は、機器種別に対応する運動機器予定表情報から、対象の運動レッスンの開始時刻から終了時刻までの間、予約状態が未予約である運動機器９１を検索する。ＣＰＵ２１は、予約状態が未予約である運動機器９１の数を、確保可能機器数としてカウントする。ＣＰＵ２１は、運動機器リストに登録されている機器種別ごとに確保可能機器数をカウントする。
【００７２】
次いで、ＣＰＵ２１は、必要な運動機器９１の機器種別の全てについて確保可能機器数が０よりも多いか否かを判定する（ステップＳ２３）。このとき、ＣＰＵ２１は、全ての確保可能機器数が０よりも多いと判定した場合には（ステップＳ２３：ＹＥＳ）、ステップＳ２５に進む。一方、ＣＰＵ２１は、少なくとも１つの確保可能機器数が０であると判定した場合には（ステップＳ２３：ＮＯ）、ステップＳ２４に進む。ステップＳ２４において、ＣＰＵ２１は、仮予約結果として失敗を設定する。ＣＰＵ２１は、ステップＳ２４の処理を終えると、運動機器仮予約処理を終了させる。
【００７３】
ステップＳ２５において、ＣＰＵ２１は、全ての確保可能機器数のうち、最も少ない確保可能機器数で、各種類の運動機器９１を仮予約する。具体的に、ＣＰＵ２１は、機器種別に対応する運動機器予定表情報において、対象の運動レッスンの開始時刻から終了時刻に含まれる予約状態及びレッスンＩＤを、仮予約及び対象の運動レッスンのレッスンＩＤに変更する。ＣＰＵ２１は、この処理を、最も少ない確保可能機器数分行う。次いで、ＣＰＵ２１は、最も少ない確保可能機器数を、マシン制約定員に設定する（ステップＳ２６）。次いで、ＣＰＵ２１は、仮予約結果として成功を設定する（ステップＳ２７）。ＣＰＵ２１は、ステップＳ２７の処理を終えると、運動機器仮予約処理を終了させる。
【００７４】
図４（Ｂ）は、配信サーバ２のＣＰＵ２１のインストラクター仮予約処理の処理例を示すフローチャートである。図４（Ｂ）に示すように、ＣＰＵ２１は、対象の運動レッスンのレッスン情報に含まれるサポートフラグフラグに基づいて、対象の運動レッスンにおいて、利用者４１をサポートするインストラクターが必要であるか否かを判定する（ステップＳ３１）。このとき、ＣＰＵ２１は、インストラクターが必要であると判定した場合には（ステップＳ３１：ＹＥＳ）、ステップＳ３２に進む。一方、ＣＰＵ２１は、インストラクターが必要ではないと判定した場合には（ステップＳ３１：ＮＯ）、ステップＳ３７に進む。
【００７５】
ステップＳ３２において、ＣＰＵ２１は、確保可能人数を取得する。具体的に、ＣＰＵ２１は、インストラクター予定表情報から、対象の運動レッスンの開始時刻から終了時刻までの間、予約状態が未予約であるインストラクターを検索する。ＣＰＵ２１は、予約状態が未予約であるインストラクターの数を、確保可能人数としてカウントする。
【００７６】
次いで、ＣＰＵ２１は、確保可能人数が０よりも多いか否かを判定する（ステップＳ３３）。このとき、ＣＰＵ２１は、確保可能人数が０よりも多いと判定した場合には（ステップＳ３３：ＹＥＳ）、ステップＳ３５に進む。一方、ＣＰＵ２１は、確保可能人数が０であると判定した場合には（ステップＳ３３：ＮＯ）、ステップＳ３４に進む。ステップＳ３４において、ＣＰＵ２１は、仮予約結果として失敗を設定する。ＣＰＵ２１は、ステップＳ３４の処理を終えると、インストラクター仮予約処理を終了させる。
【００７７】
ステップＳ３５において、ＣＰＵ２１は、確保可能なインストラクターを全て仮予約する。具体的に、ＣＰＵ２１は、確保可能なインストラクターのインストラクター予定表情報において、対象の運動レッスンの開始時刻から終了時刻までの予約状態及びレッスンＩＤを、仮予約及び対象の運動レッスンのレッスンＩＤに変更する。次いで、ＣＰＵ２１は、レッスン情報から、サポート人数を取得する。次いで、ＣＰＵ２１は、確保可能人数にサポート人数を掛けて、インストラクター制約定員を計算する（ステップＳ３６）。次いで、ＣＰＵ２１は、仮予約結果として成功を設定する（ステップＳ３７）。ＣＰＵ２１は、ステップＳ３７の処理を終えると、インストラクター仮予約処理を終了させる。
【００７８】
図５は、配信サーバ２のＣＰＵ２１の定員確定・リソース予約処理の処理例を示すフローチャートである。図５に示すように、ＣＰＵ２１は、マシン制約定員とインストラクター制約定員のうち、少ない方の定員を、仮定員に決定する（ステップＳ４１）。このとき、対象の運動レッスンにおいてサポートするインストラクターが必要ではない場合、ＣＰＵ２１は、マシン制約定員を仮定員に決定する。対象の運動レッスンにおいて運動機器９１が必要ではない場合、ＣＰＵ２１は、インストラクター制約定員を仮定員に決定する。運動機器９１及びインストラクターの何れも必要ではない場合、ＣＰＵ２１は、例えば、収容人数が最大のスタジオ８の収容人数を、仮定員に決定する。次いで、ＣＰＵ２１は、仮予約された各スタジオ８の収容人数を、運動場所情報から取得する。次いで、ＣＰＵ２１は、仮予約されたスタジオ８のうち、収容人数が最大のスタジオ８を、予約候補として選択する（ステップＳ４２）。
【００７９】
次いで、ＣＰＵ２１は、予約候補のスタジオ８の収容人数が仮定員以下であるか否かを判定する（ステップＳ４３）。このとき、ＣＰＵ２１は、収容人数が仮定員以下であると判定した場合には（ステップＳ４３：ＹＥＳ）、ステップＳ４４に進む。一方、ＣＰＵ２１は、収容人数が仮定員よりも多いと判定した場合には（ステップＳ４３：ＮＯ）、ステップＳ４５に進む。ステップＳ４４において、ＣＰＵ２１は、対象の運動レッスンの定員として、予約候補のスタジオ８の収容人数を設定する。次いで、ＣＰＵ２１は、ステップＳ４９に進む。
【００８０】
ステップＳ４５において、ＣＰＵ２１は、仮予約されたスタジオ８の中で、予約候補のスタジオ８の次に収容人数が多いスタジオ８があるか否かを判定する。このとき、ＣＰＵ２１は、次に収容人数が多いスタジオ８があると判定した場合には（ステップＳ４５：ＹＥＳ）、ステップＳ４６に進む。一方、ＣＰＵ２１は、次に収容人数が多いスタジオ８がないと判定した場合には（ステップＳ４５：ＮＯ）、ステップＳ４８に進む。ステップＳ４６において、ＣＰＵ２１は、予約候補のスタジオ８の次に収容人数が多いスタジオ８の収容人数が仮定員よりも少ないか否かを判定する。このとき、ＣＰＵ２１は、収容人数が仮定員よりも少ないと判定した場合には（ステップＳ４６：ＹＥＳ）、ステップＳ４８に進む。一方、ＣＰＵ２１は、収容人数が仮定員以上であると判定した場合には（ステップＳ４６：ＮＯ）、ステップＳ４７に進む。ステップＳ４７において、ＣＰＵ２１は、次に収容人数が多いスタジオ８を、予約候補のスタジオ８として選択する。次いで、ＣＰＵ２１は、ステップＳ４３に進む。ステップＳ４８において、ＣＰＵ２１は、対象の運動レッスンの定員として、仮定員を設定する。次いで、ＣＰＵ２１は、ステップＳ４９に進む。
【００８１】
ステップＳ４９において、ＣＰＵ２１は、リソースを正式に予約する。ＣＰＵ２１は、予約候補のスタジオ８を、予約するスタジオ８として決定する。そして、ＣＰＵ２１は、予約するスタジオ８のスタジオ予定表において、対象の運動レッスンの開始時刻から終了時刻まで仮予約に設定されていた予約状態を、予約済に変更する。次いで、ＣＰＵ２１は、仮予約した運動機器９１のうち定員数分の運動機器９１を予約する。具体的に、ＣＰＵ２１は、仮予約した運動機器９１の機器種別に対応する運動機器予定表情報において、対象の運動レッスンの開始時刻から終了時刻まで仮予約に設定されていた予約状態を、予約済に変更する。ＣＰＵ２１は、この処理を、定員数分行う。次いで、ＣＰＵ２１、仮予約したインストラクターのうち定員数分の利用者４１をサポートするインストラクターを予約する。具体的に、ＣＰＵ２１は、定員をサポート人数で割ることにより、予約するインストラクターの人数を計算する。次いで、ＣＰＵ２１は、仮予約したインストラクターのインストラクター予定表情報において、対象の運動レッスンの開始時刻から終了時刻まで仮予約に設定されていた予約状態を、予約済に変更する。ＣＰＵ２１は、この処理を、予約するインストラクターの人数分行う。また、ＣＰＵ２１は、対象の運動レッスンのリソース予約状態を、予約済に変更する。ＣＰＵ２１は、ステップＳ４９の処理を終えると、定員確定・リソース予約処理を終了させる。
【００８２】
図６は、配信サーバ２のＣＰＵ２１の参加受付処理の処理例を示すフローチャートである。図６に示すように、ＣＰＵ２１は、対象の運動レッスンの現在の参加予定数を０に設定する（ステップＳ５１）。次いで、ＣＰＵ２１は、利用者４１からの参加入力が行われるまで所定時間待機する（ステップＳ５２）。利用者４１は、受付端末６を操作して、参加入力を行う。例えば、利用者４１は、利用者４１の会員ＩＤを入力する。受付端末６は、入力された会員ＩＤを含む参加リクエストを、配信サーバ２へ送信する。ＣＰＵ２１は、参加リクエストを受信した場合、ステップＳ５３に進む。また、ＣＰＵ２１は、所定時間待機しても参加リクエストを受信しなかった場合にも、ステップＳ５３に進む。ステップＳ５３において、ＣＰＵ２１は、参加入力が行われたか否かを判定する。このとき、ＣＰＵ２１は、参加リクエストを受信した場合には、参加入力が行われたと判定する（ステップＳ５３：ＹＥＳ）。この場合、ＣＰＵ２１は、ステップＳ５４に進む。一方、ＣＰＵ２１は、参加リクエストを受信しなかった場合には、参加入力が行われなかったと判定する（ステップＳ５３：ＮＯ）。この場合、ＣＰＵ２１は、ステップＳ６０に進む。
【００８３】
ステップＳ５４において、ＣＰＵ２１は、対象の運動レッスンの定員が現在の参加予定数よりも多いか否かを判定する。このとき、ＣＰＵ２１は、定員が現在の参加予定数よりも多いと判定した場合には（ステップＳ５４：ＹＥＳ）、ステップＳ５８に進む。一方、ＣＰＵ２１は、定員が現在の参加予定数以下である判定した場合には（ステップＳ５４：ＮＯ）、ステップＳ５５に進む。ステップＳ５５において、ＣＰＵ２１は、定員拡張処理を実行する。定員拡張処理において、ＣＰＵ２１は、対象の運動レッスンの参加者を複数のグループに分けることが可能である場合には、対象の運動レッスンの定員を拡張する。定員拡張処理の詳細については、後述する。次いで、ＣＰＵ２１は、定員の拡張が成功したか否かを判定する（ステップＳ５６）。このとき、ＣＰＵ２１は、定員の拡張が成功したと判定した場合には（ステップＳ５６：ＹＥＳ）、ステップＳ５８に進む。一方、ＣＰＵ２１は、定員の拡張が失敗したと判定した場合には（ステップＳ５６：ＮＯ）、ステップＳ５７に進む。
【００８４】
ステップＳ５７において、ＣＰＵ２１は、参加を受け付けられない旨のメッセージを、受信端末６へ送信する。受信端末６は、受信したメッセージを表示する。次いで、ＣＰＵ２１は、ステップＳ５２に進む。ステップＳ５８において、ＣＰＵ２１は、現在の参加予定人数に１を加算する。次いで、ＣＰＵ２１は、参加を受け付けた旨のメッセージを、受信端末６へ送信する（ステップＳ５９）。受信端末６は、受信したメッセージを表示する。次いで、ＣＰＵ２１は、ステップＳ５２に進む。
【００８５】
ステップＳ６０において、ＣＰＵ２１は、対象の運動レッスンの締め切り時間が経過したか否かを判定する。例えば、締め切り時間は、運動レッスンの開始時刻の１０分前等であってもよい。ＣＰＵ２１は、締め切り時間が経過していないと判定した場合には（ステップＳ６０：ＮＯ）、ステップＳ５２に進む。一方、ＣＰＵ２１は、締め切り時間が経過したと判定した場合には（ステップＳ６０：ＹＥＳ）、ステップＳ６１に進む。ステップＳ６１において、ＣＰＵ２１は、現在の参加予定人数を、対象の運動レッスンの最終的な参加者数として決定する。ＣＰＵ２１は、ステップＳ６１の処理を終えると、参加受付処理を終了させる。
【００８６】
図７は、配信サーバ２のＣＰＵ２１の定員拡張処理の処理例を示すフローチャートである。図７に示すように、ＣＰＵ２１は、対象の運動レッスンの定員拡張状態が拡張済であるか否かを判定する（ステップＳ６１）。このとき、ＣＰＵ２１は、定員拡張状態が拡張済であると判定した場合には（ステップＳ６１：ＹＥＳ）、ステップＳ６４に進む。一方、ＣＰＵ２１は、定員拡張状態が未拡張であると判定した場合には（ステップＳ６１：ＮＯ）、ステップＳ６２に進む。ステップＳ６２において、ＣＰＵ２１は、対象の運動レッスンのレッスン情報に含まれる運動機器利用フラグに基づいて、対象の運動レッスンにおいて運動機器９１が必要であるか否かを判定する。このとき、ＣＰＵ２１は、運動機器９１が必要であると判定した場合には（ステップＳ６２：ＹＥＳ）、ステップＳ６３に進む。一方、ＣＰＵ２１は、運動機器９１が必要ではないと判定した場合には（ステップＳ６３：ＮＯ）、ステップＳ６４に進む。
【００８７】
ステップＳ６３において、ＣＰＵ２１は、対象の運動レッスンにおいて、複数グループ並行運動可能実行順序があるかを判定する。このとき、ＣＰＵ２１は、対象の運動レッスンのレッスン情報に含まれるグループ化可能フラグがＴＲＵＥである場合、複数グループ並行運動可能実行順序があると判定する（ステップＳ６３：ＹＥＳ）。この場合、ＣＰＵ２１は、ステップＳ６５に進む。一方、ＣＰＵ２１は、グループ化可能フラグがＦＡＬＳＥである場合、複数グループ並行運動可能実行順序がないと判定する（ステップＳ６３：ＮＯ）。この場合、ＣＰＵ２１は、ステップＳ６４に進む。ステップＳ６４において、ＣＰＵ２１は、定員拡張結果として失敗を設定する。ＣＰＵ２１は、ステップＳ６４の処理を終えると、定員拡張処理を終了させる。
【００８８】
なお、ステップＳ６３においては、ＣＰＵ２１は、上述したように実行順序を自動的に決定してもよい。具体的に、配信サーバ２は、レッスン情報に含まれる運動ＩＤに基づいて、運動レッスンを構成する複数の運動を１列に並べる順列の数分、複数の順序情報を生成する。生成された複数の順序情報は、実行順序のパターンが互いに異なる。例えば、運動レッスンを構成する複数の運動の数が３である場合、生成される順序情報の数は６である。配信サーバ２は、レッスン情報から、グループ数を取得する。また、配信サーバ２は、レッスン情報に含まれる運動ユニット情報から、各運動の実行時間を取得する。また、配信サーバ２は、マシン運動の運動ユニット情報から、機器種別を取得する。配信サーバ２は、各運動の実行時間に基づいて、順序情報が示す実行順序で複数の運動を実行した場合のマシン運動の実行開始時刻と実行終了時刻とを計算する。配信サーバ２は、この計算を順序情報ごとに行う。配信サーバ２は、生成した順序情報の中から、グループ数に相当する数の順序情報の組み合わせを選択する。配信サーバ２は、マシン運動の実行開始時刻と実行終了時刻とに基づいて、選択した順序情報間で、同一のマシン運動が実行される時間帯が重なるか否かを判定する。配信サーバ２は、同一のマシン運動が実行される時間帯が重なると判定した場合、生成した順序情報の中から、別の順序情報の組み合わせを選択して、同一のマシン運動が実行される時間帯が重なるか否かを判定する。配信サーバ２は、このような処理を、同一のマシン運動が実行される時間帯が重ならないと判定するまで繰り返す。配信サーバ２は、同一のマシン運動が実行される時間帯が重ならないと判定した場合には、複数グループ並行運動可能実行順序があると判定する。そして、配信サーバ２は、このときの組み合わせに含まれる順序情報を、レッスン情報に格納する。一方、配信サーバ２は、全ての組み合わせにおいて、同一のマシン運動が実行される時間帯が重なると判定した場合には、複数グループ並行運動可能実行順序がないと判定する。
【００８９】
ステップＳ６５において、ＣＰＵ２１は、拡張前の定員として、対象の運動レッスンの現在の定員を設定する。次いで、ＣＰＵ２１は、対象の運動レッスンについて現在予約しているリソースの情報を一時的にＲＡＭ５３に保存する（ステップＳ６６）。例えば、ＣＰＵ２１は、予約しているスタジオ８の場所ＩＤを、ＲＡＭ５３に記憶させる。また、ＣＰＵ２１は、予約している運動機器９１の数を、予約している運動機器９１の機器種別ごとに、ＲＡＭ５３に記憶させる。また、ＣＰＵ２１は、予約しているインストラクターのインストラクターＩＤを、ＲＡＭ５３に記憶させる。次いで、ＣＰＵ２１は、現在予約しているリソースを仮予約可能な状態に変更する（ステップＳ６７）。具体的に、ＣＰＵ２１は、運動場所予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて予約済に設定されている予約状態を、未予約に変更する。また、ＣＰＵ２１は、運動機器予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて予約済に設定されている予約状態を、未予約に変更する。また、ＣＰＵ２１は、インストラクター予定表情報において、対象の運動レッスンのレッスンＩＤに対応付けて予約済に設定されている予約状態を、未予約に変更する。
【００９０】
次いで、ＣＰＵ２１は、ソース・定員決定処理のステップＳ１１と同様に、運動場所仮予約処理を実行する（ステップＳ６８）。次いで、ＣＰＵ２１は、マシン制約定員を決定する（ステップＳ６９）。具体的に、ＣＰＵ２１は、ＲＡＭ５３に記憶されている運動機器９１の数を取得する。複数の機器種別について運動機器９１の数が記憶されている場合、ＣＰＵ２１は、何れか１つの機器種別の運動機器９１の数を取得する。次いで、ＣＰＵ２１は、対象の運動レッスンのレッスン情報からグループ数を取得する。次いで、ＣＰＵ２１は、運動機器９１の数にグループ数を掛けることにより、マシン制約定員を計算する。
【００９１】
次いで、ＣＰＵ２１は、インストラクター仮予約処理を実行する（ステップＳ７０）。次いで、ＣＰＵ２１は、定員確定・リソース予約処理を実行する（ステップＳ７１）。次いで、ＣＰＵ２１は、定員確定・リソース予約処理で決定された定員が、拡張前の定員よりも多いか否かを判定する（ステップＳ７２）。このとき、ＣＰＵ２１は、リソース予約処理で決定された定員が拡張前の定員以下であると判定した場合には（ステップＳ７２：ＮＯ）、ステップＳ７３に進む。一方、ＣＰＵ２１は、リソース予約処理で決定された定員が拡張前の定員よりも多いと判定した場合には（ステップＳ７２：ＹＥＳ）、ステップＳ７７に進む。
【００９２】
ステップＳ７３において、ＣＰＵ２１は、ＲＡＭ５３に保存した情報に基づいて、リソースの予約状態を予約済に戻す。次いで、ＣＰＵ２１は、ソース・定員決定処理のステップのステップＳ１８と同様に、仮予約したリソースを解放する（ステップＳ７４）。次いで、ＣＰＵ２１は、対象の運動レッスンの定員を、拡張前の定員に戻す（ステップＳ７５）。次いで、ＣＰＵ２１は、定員拡張結果として失敗を設定する（ステップＳ７６）。ＣＰＵ２１は、ステップＳ７６の処理を終えると、定員拡張処理を終了させる。
【００９３】
ステップＳ７７において、ＣＰＵ２１は、リソース・定員決定処理のステップのステップＳ１８と同様に、仮予約したリソースを解放する。次いで、ＣＰＵ２１は、定員拡張状態を拡張済に変更する（ステップＳ７８）。次いで、ＣＰＵ２１は、定員拡張結果として成功を設定する（ステップＳ７９）。ＣＰＵ２１は、ステップＳ７９の処理を終えると、定員拡張処理を終了させる。
【００９４】
以上説明したように、本実施形態によれば、ＣＰＵ２１は、データベース３に記憶された運動機器予定表情報が示す確保可能機器数のうち、ＨＤＤ３７に記憶されたレッスン情報に含まれる機器種別が示す種類の運動機器９１の確保可能機器数に基づいて、レッスン情報が示すマシン運動を実行可能なユーザの人数を決定する。ＣＰＵ２１は、決定された人数に基づいて、運動レッスンに参加可能なユーザの人数を決定する。そのため、参加可能なユーザの人数を適切に決定することができる。
【００９５】
なお、上記実施形態においては、施設４には、運動場所としてスタジオ８があった。しかしながら、例えば、運動場所としてプールやホットスタジオ等があってもよい。利用者４１は、プールやホットスタジオにおいても、運動機器９１を用いないで運動を行うことができる。この場合、レッスン情報には、運動レッスンが行われる運動場所の種類が設定されてもよい。そして、配信サーバ２は、レッスン情報に設定された種類に対応する運動場所の収容人数に基づいて、運動レッスンの定員を決定してもよい。
【００９６】
また、上記実施形態においては、インストラクター全員が利用者４１をサポートすることが可能となっていた。しかしながら、インストラクターごとに、サポートする技能があるか否かが設定されていてもよい。例えば、マシン運動、プールでの運動、ホットスタジオでの運動等のそれぞれについて、サポートする技能があるか否かが設定されてもよい。配信サーバ２は、運動レッスンを構成する運動の種類、運動場所の種類等に基づいて、運動レッスンを構成する運動をサポートする技能があるインストラクターの中から、確保可能なインストラクターの人数を決定してもよい。
【００９７】
また、上記実施形態においては、本発明の情報処理装置が配信サーバ２に適用されていた。しかしながら、本発明の情報処理装置が出力端末５に適用されてもよい。そして、出力端末５が、運動レッスン実施準備処理、リソース・定員決定処理、運動機器仮予約処理、インストラクター仮予約処理、定員確定・リソース予約処理、参加受付処理、定員拡張処理等を実行してもよい。これにより、出力端末５が、運動レッスンに参加可能な利用者４１の人数を決定してもよい。また、運動レッスンに参加可能な利用者４１の人数を出力端末５が決定するためのプログラムが、出力端末５に記憶されてもよい。また、本発明の情報処理装置が出力端末５及び配信サーバ２に適用されてもよい。そして、出力端末５及び配信サーバ２は協働して処理を行ってもよい。
【符号の説明】
【００９８】
１  運動レッスン支援システム
２  配信サーバ
３  データベース
５  出力端末
７  ＨＤＤ
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５６  表示制御部
６０  ネットワーク通信部
６３  音声出力部
５７  モニタ
６４  スピーカ
６７  ディスプレイ
【図１】
2014166238.tif 000003
【図２】
2014166238.tif 000004
【図３】
2014166238.tif 000005
【図４】
2014166238.tif 000006
【図５】
2014166238.tif 000007
【図６】
2014166238.tif 000008
【図７】
2014166238.tif 000009