(57)【要約】【課題】簡易な仕組みで複数のクライアントの同期をとる。【解決手段】サーバは、所定の周期で第１カウント値を更新するサーバクロックを有し、各クライアントは、第２カウント値を記憶する記憶部と、記憶部で記憶している第２カウント値を所定の周期で更新するクライアントクロックとを有するシステムにおける、複数のクライアント間の同期方法である。この同期方法において、サーバは、第１カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第１カウント値を受信した場合、受信した第１カウント値と、記憶部に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合に（Ｓ４１５，Ｙｅｓ）、第１カウント値で第２カウント値を更新し（Ｓ４１６）、第２カウント値よりも第１カウント値の方が進んでいない場合には（Ｓ４１５，Ｎｏ）、第２カウント値を第１カウント値で更新しない。【選択図】図１５
2020184264.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、前記サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備え、
前記サーバは、所定の周期で第１カウント値を更新するサーバクロックを有し、
各前記クライアントは、第２カウント値を記憶する記憶部と、前記記憶部で記憶している第２カウント値を前記所定の周期で更新するクライアントクロックとを有するシステムにおける、複数のクライアント間の同期方法であって、
前記サーバは、前記第１カウント値を各前記クライアントに繰り返し送信し、
前記クライアントは、前記サーバから前記第１カウント値を受信した場合、受信した前記第１カウント値と、前記記憶部に記憶している前記第２カウント値とを比較し、前記第２カウント値よりも前記第１カウント値の方が進んでいる場合に、前記第１カウント値で前記第２カウント値を更新し、前記第２カウント値よりも前記第１カウント値の方が進んでいない場合には、前記第２カウント値を前記第１カウント値で更新しないことを特徴とする同期方法。
【請求項２】
前記サーバは、前記所定の周期で前記第１カウント値をカウントダウンして更新し、
各前記クライアントは、前記所定の周期で前記第２カウント値をカウントダウンして更新することを特徴とする請求項１に記載の同期方法。
【請求項３】
前記サーバは、前記所定の周期で前記第１カウント値をカウントアップして更新し、
各前記クライアントは、前記所定の周期で前記第２カウント値をカウントアップして更新することを特徴とする請求項１に記載の同期方法。
【請求項４】
前記第１カウント値は、前記サーバが保持している時刻の値であることを特徴とする請求項１に記載の同期方法。
【請求項５】
各前記クライアントは、無線公衆回線を介して前記サーバとインターネットプロトコルによって通信する携帯端末であることを特徴とする請求項１から請求項４のいずれか１項に記載の同期方法。
【請求項６】
サーバと、前記サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備えてなる、複数のクライアント間の同期システムであって、
前記サーバは、所定の周期で第１カウント値を更新するサーバクロックを有し、
各前記クライアントは、第２カウント値を記憶する記憶部と、前記記憶部で記憶している第２カウント値を前記所定の周期で更新するクライアントクロックとを有し、
前記サーバは、前記第１カウント値を各前記クライアントに繰り返し送信し、
前記クライアントは、前記サーバから前記第１カウント値を受信した場合、受信した前記第１カウント値と、前記記憶部に記憶している前記第２カウント値とを比較し、前記第２カウント値よりも前記第１カウント値の方が進んでいる場合に、前記第１カウント値で前記第２カウント値を更新し、前記第２カウント値よりも前記第１カウント値の方が進んでいない場合には、前記第２カウント値を前記第１カウント値で更新しないことを特徴とする同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバとインターネットプロトコルによって通信する複数のクライアント間の同期方法および同期システムに関する。
【背景技術】
【０００２】
従来、サーバとクライアントの間で時刻の同期を可能とする方法が種々知られている。例えば、特許文献１の発明では、サーバとクライアントの間のデータ配信経路を設定し、時刻修正指令メッセージや現在時刻情報等を設定した経路に沿って渡り歩き配送させることで時刻同期を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−０６４１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数のクライアントとサーバとをインターネットプロトコルで通信する場合、サーバからクライアントに至る通信経路は一定ではなく、サーバからクライアントへ送ったデータがクライアントにおいて揃うまで、どれだけの通信時間が掛かっているかはわからない。また、厳密な同期を必要としない場合には、できるだけ簡易な仕組みでクライアント間の同期ができることが望ましい。
【０００５】
そこで、本発明は、簡易な仕組みで複数のクライアントの同期をとることができる同期方法および同期システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決する本発明は、サーバと、サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備え、サーバは、所定の周期で第１カウント値を更新するサーバクロックを有し、各クライアントは、第２カウント値を記憶する記憶部と、記憶部で記憶している第２カウント値を所定の周期で更新するクライアントクロックとを有するシステムにおける、複数のクライアント間の同期方法である。
この同期方法において、サーバは、第１カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第１カウント値を受信した場合、受信した第１カウント値と、記憶部に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合に、第１カウント値で第２カウント値を更新し、第２カウント値よりも第１カウント値の方が進んでいない場合には、第２カウント値を第１カウント値で更新しないことを特徴とする。
【０００７】
このような方法によれば、サーバとクライアントは、それぞれ、自己が有しているカウント値をそれぞれ同じ周期で更新する。そして、クライアントは、サーバから受信した第１カウント値と、記憶部に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合に第１カウント値で第２カウント値を更新する。サーバからクライアントへ第１カウント値が到達するまでには、不定量の通信時間（以下、「遅延時間」とする。）が掛かるので、サーバから１つのクライアント（「第１クライアント」とする。）に１回のみ第１カウント値を送信し、この第１カウント値で第１クライアントの第２カウント値を更新しただけでは、この不定量の遅延時間分だけ、第１クライアントとサーバの間にずれが生じる。しかし、サーバから第１クライアントに第１カウント値を送信し、第１クライアントでこの第１カウント値を第２カウント値と比較し、必要に応じて更新する動作を何度も繰り返しているうちに、第１クライアントでは、それまで受信した第１カウント値のうち、最も遅延時間が小さい通信ができたときの第１カウント値に第２カウント値を合わせることができる。したがって、簡易な仕組みで、各クライアント間の同期をとることができる。
【０００８】
前記した方法において、サーバは、所定の周期で第１カウント値をカウントダウンして更新し、各クライアントは、所定の周期で第２カウント値をカウントダウンして更新することができる。
【０００９】
前記した方法において、サーバは、所定の周期で第１カウント値をカウントアップして更新し、各クライアントは、所定の周期で第２カウント値をカウントアップして更新してもよい。
【００１０】
前記した方法において、第１カウント値は、サーバが保持している時刻の値であってもよい。
【００１１】
また、各クライアントは、無線公衆回線を介してサーバとインターネットプロトコルによって通信する携帯端末であってもよい。
【００１２】
各クライアントが無線公衆回線を介してサーバとインターネットプロトコルによって通信する携帯端末である場合、携帯端末が移動するのにともなって、無線の基準局（Ｗｉｆｉ（登録商標）におけるアクセスポイントや、携帯電話網における基地局など）が切り替わることで通信経路が変わりやすいので、特に、本発明の同期方法が有効である。
【００１３】
前記した課題を解決する本発明は、サーバと、サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備えてなる、複数のクライアント間の同期システムである。
このシステムにおいて、サーバは、所定の周期で第１カウント値を更新するサーバクロックを有し、各クライアントは、第２カウント値を記憶する記憶部と、記憶部で記憶している第２カウント値を所定の周期で更新するクライアントクロックとを有し、サーバは、第１カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第１カウント値を受信した場合、受信した第１カウント値と、記憶部に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合に、第１カウント値で第２カウント値を更新し、第２カウント値よりも第１カウント値の方が進んでいない場合には、第２カウント値を第１カウント値で更新しないことを特徴とする。
【００１４】
このようなシステムによれば、上述した方法と同様に、簡易な仕組みで、各クライアント間の同期をとることができる。
【発明の効果】
【００１５】
本発明によれば、簡易な仕組みで、各クライアント間の同期をとることができる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態に係る乗物用シートを使ったシステムの全体構成を説明する図である。
【図２】各乗物用シートの構成を説明する図である。
【図３】乗物用シートおよびシステムの構成を説明するブロック図である。
【図４】サーバの構成を説明するブロック図である。
【図５】キャリブレーション時に取得した圧力の変化を示すグラフである。
【図６】オノマトペの判定条件のテーブルである。
【図７】運動レベル判定テーブルである。
【図８】制御装置の処理の一例を示すフローチャートであり、ゲームの参加の処理部分である。
【図９】制御装置の処理の一例を示すフローチャートであり、キャリブレーション処理部分である。
【図１０】制御装置の処理の一例を示すフローチャートであり、レース処理部分である。
【図１１】アプリの処理の一例を示すフローチャートである。
【図１２】ゲーム進行処理のキャリブレーション処理部分である。
【図１３】ゲーム進行処理のレース処理部分である。
【図１４】サーバの処理の一例を示すフローチャートである。
【図１５】スマートフォンの同期・カウント処理を示すフローチャートである。
【図１６】サーバの同期処理を示すフローチャートである。
【図１７】開始画面の一例である。
【図１８】ウォーミングアップ画面の一例である。
【図１９】１００ｍ走ゲームのスタート画面の一例である。
【図２０】１００ｍ走ゲーム中の画面の一例である。
【図２１】１００ｍ走ゲームのゴール時の画面の一例である。
【図２２】１００ｍ走ゲームの結果画面の一例である。
【発明を実施するための形態】
【００１７】
次に、本発明の同期システムおよび同期方法の一実施形態について、適宜図面を参照しながら詳細に説明する。
図１に示すように、本実施形態の同期システムは、複数の乗物用シートＳおよびスマートフォンＳＰと、サーバＳＶとを使ったオンラインゲームを提供するシステムＳＹＳとして実現される。乗物用シートＳは、例えば、車両ＣＲに設置される車両用シートとして構成される。乗物用シートＳは、シート本体Ｓ０と制御装置１００とからなる。車両ＣＲには、例えば、２つの前席と２つの後席の４つのシートに乗物用シートＳが設けられている。そして、車両ＣＲでは、この４つの乗物用シートＳの間で情報を統合し、これらを連携して動作させるとともに、スマートフォンＳＰと通信を行う制御装置１００が設けられている。
【００１８】
各スマートフォンＳＰは、着座者Ｐが使用するものである。各スマートフォンＳＰはインターネットＩＮＴを介してインターネットプロトコルによりサーバＳＶと通信可能なクライアントの一例である。具体的には、スマートフォンＳＰは、携帯電話網を利用した無線公衆回線を介してサーバＳＶとインターネットプロトコルによって通信する携帯端末である。スマートフォンＳＰは、場所によっては、Ｗｉ−ｆｉ（登録商標）を利用した公衆無線回線を介してサーバＳＶと通信可能である。
【００１９】
本実施形態のシステムＳＹＳは、スマートフォンＳＰ上で、シート本体Ｓ０を利用した１００ｍ走のゲームを提供するものとする。このゲームは、複数のプレイヤーがオンラインで同時に１００ｍ走をすることができる。スマートフォンＳＰはディスプレイＤＳＰ（図２参照）を含み、制御装置１００は、シート本体Ｓ０上で、左右の脚を交互に上下させることで、ディスプレイＤＳＰ上に表示されたゲーム内のキャラクタを走らせる操作をする信号を出力する。
【００２０】
図２に示すように、シート本体Ｓ０は、シートクッションＳ１およびシートバックＳ２を有する。シートクッションＳ１とシートバックＳ２には、表皮の下に複数の圧力センサＰＳ１〜ＰＳ６が設けられている。圧力センサＰＳ１〜ＰＳ６は、シート本体Ｓ０に座っている着座者Ｐの動作を特定するための測定値を取得するセンサである。圧力センサＰＳ１〜ＰＳ６は、シート本体Ｓ０に着座する着座者Ｐに対向する座面の状態を検知可能に配置され、シート本体Ｓ０に座っている着座者Ｐからの圧力値を取得する。制御装置１００は、各圧力センサＰＳ１〜ＰＳ６から、圧力値を取得可能に圧力センサＰＳ１〜ＰＳ６と接続されている。
【００２１】
各圧力センサＰＳ１〜ＰＳ６は、乗物用シートＳの左右の中心に対して左右対称に１対ずつ設けられている。
具体的には、シートクッションＳ１には、圧力センサＰＳ１〜ＰＳ３が設けられている。圧力センサＰＳ１および圧力センサＰＳ２は、シートクッションＳ１における着座者Ｐの臀部に対応する位置に配置されている。圧力センサＰＳ１および圧力センサＰＳ２は、着座者Ｐの臀部からの圧力を測定する第１クッションセンサＳＣ１を構成している。圧力センサＰＳ２は、圧力センサＰＳ１の少し前に配置されている。なお、第１クッションセンサＳＣ１は、圧力センサＰＳ１および圧力センサＰＳ２のいずれか一方のみを備えていてもよい。
【００２２】
圧力センサＰＳ３は、着座者Ｐの大腿の下に位置している。圧力センサＰＳ３は、着座者Ｐの大腿からの圧力値を測定する第２クッションセンサＳＣ２を構成している。圧力センサＰＳ３は、圧力センサＰＳ１および圧力センサＰＳ２から前方に大きく離れて配置されている。
【００２３】
シートバックＳ２には、圧力センサＰＳ４〜ＰＳ６が設けられている。圧力センサＰＳ４は、着座者Ｐの腰の後ろに対応する位置に設けられている。圧力センサＰＳ５は、圧力センサＰＳ４の少し上に配置されている。圧力センサＰＳ４および圧力センサＰＳ５は、いずれも、着座者Ｐの腰からの圧力を測定する第１バックセンサＳＢ１を構成している。なお、第１バックセンサＳＢ１は、圧力センサＰＳ４および圧力センサＰＳ５のいずれか一方のみを備えていてもよい。
【００２４】
圧力センサＰＳ６は、圧力センサＰＳ４および圧力センサＰＳ５から上方に大きく離れて配置されている。圧力センサＰＳ６は、着座者Ｐの背中の上部に対応して位置している。圧力センサＰＳ６は、着座者Ｐの背中の上部からの圧力値を測定する第２バックセンサＳＢ２を構成している。
【００２５】
なお、以下の説明においては、圧力センサＰＳ１〜ＰＳ６で取得した圧力値を、それぞれＰ１〜Ｐ６とし、右、左の圧力値を、それぞれ、Ｐ１Ｒ、Ｐ１Ｌのように、Ｒ，Ｌの添え字で示す。なお、圧力センサＰＳ１〜ＰＳ６は、例えば、外部からの圧力によって電気抵抗が変化する素子であり、圧力値が大きい程、検出信号の電圧が高くなる（もしくは低くなる）。そのため、圧力値の大小は、実際には、電圧値の大小によって比較するが、本明細書においては、理解の容易のため、圧力値の大小で判定する形で説明する。
【００２６】
図３に示すように、制御装置１００は、測定値取得部１１０と、処理部１２０と、通信部１３０と、記憶部１９０とを有している。また、スマートフォンＳＰは、ゲーム処理部２１０と記憶部２９０とを有している。制御装置１００およびスマートフォンＳＰは、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、書換可能な不揮発性メモリ等を有し、予め記憶されたプログラムを実行することで各機能部が実現されている。
【００２７】
制御装置１００には、ブルートゥース（登録商標）またはＷｉ−Ｆｉ（登録商標）などの近距離無線通信を可能にする近距離通信機３Ａが接続されている。制御装置１００は、通信部１３０および近距離通信機３Ａを介してスマートフォンＳＰと通信可能であり、スマートフォンＳＰにインストールされたアプリと連携してスマートフォンＳＰに所定の画面や音声を提供するとともに、スマートフォンＳＰで入力されたデータを取得することができるようになっている。
【００２８】
測定値取得部１１０は、各圧力センサＰＳ１〜ＰＳ６から、一定の制御サイクルごとに圧力の測定値を取得する機能を有する。測定値取得部１１０が取得した測定値は、記憶部１９０に記憶され、処理部１２０で利用される。なお、記憶部１９０は、計算、処理等に必要なデータを適宜記憶するために使用される。
【００２９】
処理部１２０は、スマートフォンＳＰと通信し、スマートフォンＳＰで提供される１００ｍ走ゲームのアプリを操作するための信号を送信する処理を実行する。処理部１２０は、Ｙｅｓ信号出力部１２１と、Ｎｏ信号出力部１２２と、キャリブレーション処理部１２４と、ステップ信号出力部１２５とを有する。
【００３０】
処理部１２０は、圧力センサＰＳ１〜ＰＳ６の測定値に基づいて信号を出力する第１動作モードと、信号を出力しない第２動作モードとを有している。そして、スマートフォンＳＰを介して着座者Ｐに動作を促す通知をした後でのみ第１動作モードで動作することができる。具体的には、後述するように、スマートフォンＳＰから各種信号の受付信号を受けた後は、信号を出力する第１動作モードとなり、受付終了信号を受けた後は、信号を出力しない第２動作モードとなる。
【００３１】
Ｙｅｓ信号出力部１２１およびＮｏ信号出力部１２２は、処理部１２０が、スマートフォンＳＰから参加受付信号を受信した後に、着座者Ｐの動作に応じてＹｅｓ信号またはＮｏ信号をスマートフォンＳＰに出力する。
具体的には、Ｙｅｓ信号出力部１２１は、右の圧力センサＰＳ６（第１圧力センサ）から得られた圧力値Ｐ６Ｒが所定のしきい値Ｐ６ｔｈを超えたことを条件として、Ｙｅｓ信号を出力する。また、Ｎｏ信号出力部１２２は、左の圧力センサＰＳ６（第２圧力センサ）から得られた圧力値Ｐ６Ｌが所定のしきい値Ｐ６ｔｈを超えたことを条件として、Ｎｏ信号を出力する。
スマートフォンＳＰのゲーム処理部２１０においては、Ｙｅｓ信号に対してスマートフォンＳＰのゲームを開始する第１操作が割り当てられ、Ｎｏ信号に対してゲームを行わない選択をする第２操作が割り当てられている。
【００３２】
キャリブレーション処理部１２４は、処理部１２０が、スマートフォンＳＰからキャリブレーション開始信号を受信した後、左右の圧力センサＰＳ３の圧力値Ｐ３Ｒ，Ｐ３Ｌを取得する。そして、そのときに座っている着座者Ｐの平均的な圧力であるノーマル圧力Ｐ３ｎと、圧力値のピーク検出のためのしきい値Ｐ３ｔｈを決定するとともに、その着座者Ｐの平均的な脚を動かす周期であるノーマルステップ周期ＴＳｎを算出してスマートフォンＳＰに出力する。
【００３３】
具体的には、着座者Ｐが脚を交互に上げた場合、圧力値Ｐ３Ｒ，Ｐ３Ｌは、例えば図５のように変化する。図５において、圧力が急に小さくなっている部分は、着座者Ｐが脚を上げたことにより、センサＰＳ３の部分の圧力が小さくなっていることを示す。つまり、圧力が小さくなっていない１４０付近の圧力値が、脚を上げていないときの平均なノーマル圧力Ｐ３ｎとなる。ノーマル圧力Ｐ３ｎを算出するには、例えば、圧力値Ｐ３Ｒ，Ｐ３Ｌの前回値と今回値の差（今回値Ｐ３（ｎ）から前回値Ｐ３（ｎ−１）を引いた値とする。）の絶対値が所定値以下である場合（つまり、値の変化が小さいとき）の今回値を集計して平均すればよい。
【００３４】
また、しきい値Ｐ３ｔｈは、脚を上げている最中であることを判定するためのしきい値であり、例えば、図５の場合であれば、１００〜１２０程度の値を用いればよい。このため、しきい値Ｐ３ｔｈは、ノーマル圧力Ｐ３ｎに所定値を乗じた値を用いることができる。例えば、ノーマル圧力Ｐ３ｎに０．６〜０．９程度の所定値を乗じた値をしきい値Ｐ３ｔｈとすることができる。
【００３５】
ノーマルステップ周期ＴＳｎは、圧力値Ｐ３Ｒ，Ｐ３Ｌのピーク同士の時間間隔であるステップ周期ＴＳの平均値である。
圧力値Ｐ３Ｒ，Ｐ３Ｌは、各圧力値Ｐ３Ｒ，Ｐ３Ｌが、しきい値Ｐ３ｔｈより小さい（上側から下側へ超えた）という条件下で、前回値と今回値の差が負から正に変化したときにピークに達したと判定することができ、このときの前回値Ｐ３（ｎ−１）をピーク値Ｐｍとすることができる。
【００３６】
ステップ信号出力部１２５は、処理部１２０が、スマートフォンＳＰからレース開始信号を受信した後に、着座者Ｐの動作に応じて圧力値Ｐ３Ｒ，Ｐ３Ｌのピークを検出し、ピーク値Ｐｍを算出する。ピークの検出およびピーク値Ｐｍの算出は、キャリブレーション処理部１２４と同様に行うことができる。そして、脚を上げた大きさであるステップ強度Ｆ（ＦＲ，ＦＬ）を算出する。ステップ強度Ｆは、ピークの大きさ、つまり、ノーマル圧力Ｐ３から、ピーク値Ｐｍを引いた値とすることができる。本実施形態においては、着座者Ｐの体格の大きさによる違いをなくすため、ノーマル圧力Ｐ３ｎで規格化した値とする。例えば、ステップ強度Ｆは、
Ｆ＝（Ｐ３ｎ−Ｐｍ）／Ｐ３ｎ
とする。ステップ信号出力部１２５は、圧力値Ｐ３Ｒ，Ｐ３Ｌのピークを検出すると、ピーク値Ｐｍおよびステップ強度ＦをスマートフォンＳＰに出力する。このように、ステップ信号出力部１２５は、圧力センサＰＳ３から得られた圧力値Ｐ３の変化に基づいて信号を出力している。
【００３７】
一方、スマートフォンＳＰのゲーム処理部２１０は、アプリが立ち上げられたときにゲームの進行処理を実行する。また、ゲーム処理部２１０は、アプリが立ち上げられたときに、サーバＳＶに、スマートフォンＳＰの識別情報を送信する。これにより、サーバＳＶは、起動中のスマートフォンＳＰの識別情報を登録する。なお、アプリを終了するときには、ゲーム処理部２１０は、アプリ終了信号をスマートフォンＳＰの識別情報とともにサーバＳＶに送信する。これにより、サーバＳＶは、起動中のスマートフォンＳＰの登録情報から終了信号を送ってきたスマートフォンＳＰの識別情報を削除する。
【００３８】
ゲーム処理部２１０は、参加受付処理部２１１と、キャリブレーション指示部２１２と、キャラクタ移動処理部２１３と、オノマトペ判定部２１４と、同期・カウント処理部２１５と、結果出力部２１９とを有している。ゲーム処理部２１０は、制御装置１００から受信した信号を、その受信時刻とともに記憶部２９０に記憶する。なお、記憶部２９０は、計算、処理等に必要なデータを適宜記憶するために使用される。また、記憶部２９０は、後述する第２カウントを記憶する。また、ゲーム処理部２１０は、算出した走行距離Ｌや、運動の結果などのデータを、適宜、制御装置１００に送信して、他の乗物用シートＳに対応したスマートフォンＳＰとデータを共有するように構成されている。制御装置１００は、これらのデータを記憶部１９０に蓄積する。
【００３９】
参加受付処理部２１１は、ディスプレイＤＳＰ上に参加を受け付ける開始画面を表示するとともに、参加受付信号を制御装置１００およびサーバＳＶに送信し、所定時間の間、制御装置１００からのＹｅｓ信号またはＮｏ信号を受け付ける。また、参加受付処理部２１１は、サーバＳＶから参加募集信号を受信した場合にも、制御装置１００に参加受付信号を送信し、所定時間の間、制御装置１００からのＹｅｓ信号またはＮｏ信号を受け付ける。開始画面は、例えば、図１７のような画面であり、着座者Ｐに動作を促す通知として、「参加しますか？肩でシートを押してください」の文字と、「Ｎｏ  左肩      右肩  Ｙｅｓ」の表示をディスプレイＤＳＰに出力する。なお、Ｙｅｓ、Ｎｏの表示は、ディスプレイＤＳＰにタッチしてそれぞれＹｅｓ信号またはＮｏ信号をスマートフォンＳＰに入力できるボタンの機能を持たせてもよい。参加受付処理部２１１は、Ｙｅｓ信号を受信した場合には、サーバＳＶへ参加信号を送信するとともにゲーム進行処理に進む処理を行い、Ｎｏ信号を受信した場合には、ゲーム進行処理に進まずにアプリを終了させる。ゲーム処理部２１０は、Ｙｅｓ信号およびＮｏ信号のいずれも受信せずに所定時間が経過した場合には、受付終了信号を制御装置１００に送信してアプリを終了させる。
なお、スマートフォンＳＰは、サーバＳＶに参加受付信号や参加信号等を送信する場合には、スマートフォンＳＰの識別情報とともに送信する。
【００４０】
キャリブレーション指示部２１２は、サーバＳＶからゲーム開始信号を受信した場合に、キャリブレーション画面を表示するとともに、キャリブレーション開始信号を制御装置１００に送信し、所定時間の間、制御装置１００からキャリブレーションに関する信号を受け付ける。所定時間が経過したら、キャリブレーション指示部２１２は、キャリブレーション終了信号を制御装置１００に出力する。また、キャリブレーション指示部２１２は、キャリブレーション終了信号をサーバＳＶに送信する。
【００４１】
キャラクタ移動処理部２１３は、１００ｍ走のレース中に、ステップ強度Ｆを受信すると、ディスプレイＤＳＰ上のキャラクタをゴールへ向けて移動させる。このときの移動量は、ステップ強度Ｆの大きさに応じたものである。キャラクタ移動処理部２１３は、例えば、Ｆ［ｍ］分だけゴールへ向けてキャラクタを移動させる。
【００４２】
オノマトペ判定部２１４は、１００ｍ走のレース中に、着座者Ｐの走っている様子を表現するオノマトペ（「よちよち」などの擬態語）を判定し、ディスプレイＤＳＰ上に出力する。オノマトペの判定は、例えば、着座者Ｐが脚を動かしている周期であるステップ周期ＴＳを図６に示した判定条件と比較して行うことができる。なお、ステップ周期ＴＳは、制御装置１００から受信したステップ強度Ｆの周期であるが、ステップ強度Ｆを受信する間隔は一定ではないので、例えば、過去の２０ｍ分の平均の周期で算出することができる。
【００４３】
本実施形態においては、着座者Ｐの個人差の影響を減らすため、ステップ周期ＴＳをノーマルステップ周期ＴＳｎで割った値をしきい値と比較してオノマトペの表現を判定する。例えば、ＴＳ／ＴＳｎが１．５以上で周期が長い場合には、「ふらふら」とし、１．２以上、１．５未満の場合には「のっしのっし」、０．７以上、１．２未満の場合には「すたすた」、０．７未満の場合には「どたどた」などと決められている。
【００４４】
結果出力部２１９は、着座者Ｐが１００ｍ走ゲームでゴールした後、運動の結果とアドバイスを決定してディスプレイＤＳＰ上に出力する。また、運動の結果は、制御装置１００に送信する。
具体的には、結果出力部２１９は、運動の結果として、運動レベルと、運動量と、運動強度と、アドバイスを決定する。
【００４５】
運動レベルは、１００ｍ走る間のステップ数に基づき、図７の運動レベル判定テーブルを参照して判定する。例えば、運動レベル判定テーブルは、ステップ数が６０以下の場合、「ゆっくりお散歩」、６１〜１１０の場合、「日常の歩き」、１１１〜１４０の場合、「ウォーキング」、１４１〜２４０の場合、「ジョギング」、２４０以上の場合、「ダッシュ」などと設定されている。
【００４６】
運動量は、例えば、１００ｍ走る間のステップ強度Ｆの累積値で求めることができる。
【００４７】
運動強度は、ＭＥＴｓ(Metabolic equivalents)で示す。運動強度の値は、例えば、１００［ｍ］走る間のステップ数に、所定の係数を掛けることで決めることができる。
【００４８】
アドバイスは、記憶部２９０に予め記憶しておいたアドバイステーブルを参照して決めることができる。アドバイステーブルは、例えば、ステップ数、１００ｍのゴールタイム、平均のステップ周期などのパラメータと、予め決めておいたアドバイスとを対応させたものとしておく。そして、１００ｍ走のゴール後に、これらのパラメータからアドバイスを検索して決定することができる。
【００４９】
そして、結果出力部２１９は、運動レベルと、運動量と、運動強度と、アドバイスを決定した後、ディスプレイＤＳＰ上にこれらの結果を表示する。
【００５０】
同期・カウント処理部２１５は、サーバＳＶと協働して、サーバＳＶと時刻に相当するカウント値を同期し、これにより、各スマートフォンＳＰ間で同期をとる。
同期・カウント処理部２１５は、クライアントクロックの一例であり、記憶部２９０で記憶している第２カウント値を所定の周期で更新する。所定の周期は、ゲーム処理部２１０の制御サイクルであり、例えば、２０ｍｓである。本実施形態では、同期・カウント処理部２１５は、所定の周期で第２カウント値を１ずつカウントダウンして更新する。
【００５１】
具体的に、同期・カウント処理部２１５は、１００ｍ走のスタート前にカウントダウンをする場合に、第２カウント値を記憶部２９０に記憶させる。そして、サーバＳＶから第１カウント値を受信した場合、受信した第１カウント値と、記憶部２９０に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合、つまり、第２カウント値よりも第１カウント値が小さい場合に、第１カウント値で第２カウント値を更新する。一方、第２カウント値よりも第１カウント値の方が進んでいない場合、つまり、第１カウント値が第２カウント値より大きい場合には、第２カウント値を第１カウント値で更新しない。なお、第２カウント値と第１カウント値が同じである場合には、第２カウント値を第１カウント値で更新してもしなくても変わりはないので、更新してもしなくてもよい。本実施形態では、処理を少なくするため、第１カウント値が第２カウント値と同じである場合には、第２カウント値を第１カウント値で更新しない。
【００５２】
また、同期・カウント処理部２１５は、所定のタイミングで第２カウント値から、ディスプレイＤＳＰに表示させる表示カウントを決定し、ディスプレイＤＳＰに表示させる。例えば、本実施形態では、制御サイクルが２０ｍｓであるので、１秒ごとにディスプレイＤＳＰに表示されるカウントを１減らすようにするために、第２カウント値を５０で割った値を整数に丸めて表示カウントと決定し、表示カウントをカウントダウンの値としてディスプレイＤＳＰに表示させる。
【００５３】
図４に示すように、サーバＳＶは、スマートフォン管理部３１０と、参加配信部３２０と、ゲーム開始配信部３３０と、同期部３４０と、記憶部３９０とを有している。
【００５４】
サーバＳＶは、スマートフォンＳＰがアプリを立ち上げたときに送信してきた識別情報を記憶部３９０に記憶させることで、アプリを起動中のスマートフォンＳＰを管理する。なお、識別情報には、スマートフォンＳＰのアドレスが含まれる。そして、スマートフォンＳＰからアプリ終了信号を受信した場合には、記憶部３９０から、当該スマートフォンＳＰの識別情報を削除する。
【００５５】
参加配信部３２０は、１つのスマートフォンＳＰから参加受付信号を受信した場合に、記憶部３９０に記憶している識別情報に基づいて、他の起動中のスマートフォンＳＰに参加募集信号を送信する。そして、所定時間内に、スマートフォンＳＰから参加信号を受信したら、参加するスマートフォンＳＰの識別情報を記憶部３９０に記憶させる。
【００５６】
ゲーム開始配信部３３０は、参加募集の所定時間が過ぎたときに、記憶部３９０に記憶している参加するスマートフォンＳＰの識別情報に基づいて、参加するスマートフォンＳＰへゲーム開始信号を送信する。
【００５７】
同期部３４０は、スマートフォンＳＰ間のレース開始の同期を図るためのものであり、サーバクロックの一例である。同期部３４０は、同期およびレース開始のカウントダウンをする場合に、第１カウント値を記憶部３９０に記憶させる。そして、同期部３４０は、スマートフォンＳＰと同じ所定の周期で第１カウント値を更新する。所定の周期は、ゲーム処理部２１０と同じく、例えば、２０ｍｓである。本実施形態では、同期部３４０は、所定の周期で第１カウント値を１ずつカウントダウンして更新する。そして、同期部３４０は、第１カウント値を所定の通知タイミングで、レースに参加する各スマートフォンＳＰに第１カウント値を繰り返し送信する。所定の通知タイミングは特に限定されず、２０ｍｓごとでもよいし、通信量を減らすために、２０ｍｓより長い周期ごとでもよい。例えば、１０００ｍｓごとであってもよい。
【００５８】
記憶部３９０は、アプリを起動中のスマートフォンＳＰの識別情報、レースに参加するスマートフォンＳＰの識別情報および第１カウント値の他、サーバＳＶの各処理に必要なデータを適宜記憶する。
【００５９】
次に、ゲーム処理部２１０の他の処理も含めて、制御装置１００、スマートフォンＳＰのアプリおよびサーバＳＶの処理の一例をフローチャートを参照して説明する。
【００６０】
まず、制御装置１００の処理について説明する。
図８〜図１０の処理は、繰り返し行われる。
図８に示すように、処理部１２０は、まず、ゲーム参加に関するステップＳ１１〜１７を実行する。具体的には、まず、参加受付信号を受信したか否かを判定する（Ｓ１１）。
参加受付信号を受信した場合（Ｓ１１，Ｙｅｓ）、処理部１２０は、圧力値Ｐ６Ｒ，Ｐ６Ｌを取得し（Ｓ１２）、右の圧力値Ｐ６Ｒがしきい値Ｐ６ｔｈより大きいか判定する（Ｓ１３）。Ｐ６ＲがＰ６ｔｈより大きい場合（Ｓ１３，Ｙｅｓ）、Ｙｅｓ信号を送信して（Ｓ１４）、ゲーム参加に関する処理を終了する。
Ｐ６ＲがＰ６ｔｈより大きくなかった場合（Ｓ１３，Ｎｏ）、処理部１２０は、左の圧力値Ｐ６ＬがＰ６ｔｈより大きいか判定する（Ｓ１５）。Ｐ６ＬがＰ６ｔｈより大きい場合（Ｓ１５，Ｙｅｓ）、Ｎｏ信号を送信して（Ｓ１６）、ゲーム参加に関する処理を終了する。
【００６１】
Ｐ６ＬがＰ６ｔｈより大きくなかった場合（Ｓ１５，Ｎｏ）、処理部１２０は、受付終了信号を受信したか否か判定し（Ｓ１７）、受信していない場合（Ｓ１７，Ｎｏ）、ステップＳ１２からの処理を繰り返し、受信した場合（Ｓ１７，Ｙｅｓ）、ゲーム参加に関する処理を終了する。
【００６２】
ゲーム参加に関する処理の後、処理部１２０のキャリブレーション処理部１２４は、図９に示すように、キャリブレーション処理に関するステップＳ２１〜Ｓ２６を実行する。
処理部１２０は、キャリブレーション開始信号を受信したか否か判定し（Ｓ２１）、受信した場合（Ｓ２１，Ｙｅｓ）、圧力値Ｐ３Ｒ，Ｐ３Ｌを取得し、記憶する（Ｓ２２）。そして、キャリブレーション終了信号を受信したか否かを判定し、受信するまで（Ｓ２３，Ｎｏ）ステップＳ２２〜Ｓ２３を繰り返し、受信したら（Ｓ２３，Ｙｅｓ）、ステップＳ２４に進む。
【００６３】
ステップＳ２４において、キャリブレーション処理部１２４は、所定期間取得して記憶した圧力値Ｐ３Ｒ，Ｐ３Ｌに基づいてノーマル圧力Ｐ３ｎを算出する。そして、ノーマル圧力Ｐ３ｎからしきい値Ｐ３ｔｈを設定する（Ｓ２５）。さらに、ノーマルステップ周期ＴＳｎを算出し、スマートフォンＳＰに送信する（Ｓ２６）。
ステップＳ２１において、キャリブレーション開始信号を受信していない場合（Ｎｏ）、キャリブレーション処理部１２４は、キャリブレーション処理を行うことなくステップＳ３０（図１０参照）へ進む。
【００６４】
次に、処理部１２０は、ステップＳ３０〜Ｓ４０のレースに関する処理を行う。
図１０に示すように、まず、処理部１２０は、スマートフォンＳＰからレース開始信号を受信したか否か判定する（Ｓ３０）。レース開始信号を受信していない場合（Ｓ３０，Ｎｏ）、処理部１２０は処理を終了する。レース開始信号を受信した場合（Ｓ３０，Ｙｅｓ）、ステップ信号出力部１２５は、圧力値Ｐ３Ｒ，Ｐ３Ｌを取得し、記憶する（Ｓ３１）。
【００６５】
そして、右の圧力値Ｐ３Ｒがしきい値Ｐ３ｔｈより小さいか判定し（Ｓ３２）、小さい場合（Ｓ３２，Ｙｅｓ）、さらに、圧力値Ｐ３Ｒの前回値と今回値からピークを検出したか判定する（Ｓ３３）。ピークを検出した場合（Ｓ３３，Ｙｅｓ）、ステップ信号出力部１２５は、ノーマル圧力Ｐ３ｎと圧力値Ｐ３Ｒからステップ強度ＦＲを算出する（Ｓ３４）。そして、算出したステップ強度ＦＲをスマートフォンＳＰに送信する（Ｓ３５）。
一方、右の圧力値Ｐ３Ｒがしきい値Ｐ３ｔｈより小さくなかった場合（Ｓ３２，Ｎｏ）、または、ピークを検出しなかった場合（Ｓ３３，Ｎｏ）、ステップ信号出力部１２５は、ステップ強度ＦＲの算出、送信をすることなくステップＳ３６へ進む。
【００６６】
ステップＳ３６〜Ｓ３９において、ステップ信号出力部１２５は、左の圧力値Ｐ３Ｌについて、ピークの検出とステップ強度ＦＬの算出、送信の処理を行う。これらの処理は、ステップＳ３１〜Ｓ３５と同様であるので説明を省略する。
【００６７】
ステップＳ４０において、処理部１２０は、レース終了信号を受信したか否か判定し、受信していない場合（Ｓ４０，Ｎｏ）、ステップＳ３１からの処理を繰り返し、受信した場合（Ｓ４０，Ｙｅｓ）、処理を終了する。
【００６８】
次に、スマートフォンＳＰのアプリ（ゲーム処理部２１０）における処理を説明する。図１１〜図１３、図１５の処理は繰り返し行われる。
スマートフォンＳＰは、アプリが立ち上げられると、アプリの処理を開始し、図１１に示すように、開始画面をディスプレイＤＳＰ上に表示する（Ｓ１１０）。開始画面は、例えば、図１７に示すような画面である。開始画面においては、「参加しますか？肩でシートを押してください」の文字とともに、左肩がＮｏ、右肩がＹｅｓであることを教える説明が表示されている。また、参加することができる残り時間が表示される。
【００６９】
そして、参加受付処理部２１１は、制御装置１００に参加受付信号を送信する（Ｓ１１１）。このとき、参加受付処理部２１１は、サーバＳＶにも参加受付信号を送り、他のスマートフォンＳＰからの参加を募るきっかけを作る。参加受付処理部２１１は、Ｙｅｓ信号を受信したか否か判定し（Ｓ１１２）、受信した場合（Ｓ１１２，Ｙｅｓ）、受付終了信号を制御装置１００に送信し（Ｓ１１８）する。そして、サーバＳＶへ参加信号を送信し（Ｓ１１９）、ゲーム進行処理（Ｓ２００）の後、処理を終了する。ゲーム進行処理については後述する。
【００７０】
参加受付処理部２１１は、Ｙｅｓ信号を受信していない場合（Ｓ１１２，Ｎｏ）、Ｎｏ信号を受信したか否か判定し（Ｓ１１３）、受信した場合（Ｓ１１３，Ｙｅｓ）、処理を終了する。
一方、Ｎｏ信号を受信していない場合（Ｓ１１３，Ｎｏ）、残り時間を示すカウントを表示し（Ｓ１１４）、カウントが０になったか判定する（Ｓ１１５）。カウントが０になっていない場合（Ｓ１１５，Ｎｏ）、ステップＳ１１２からの参加受付を継続し、カウントが０になった場合（Ｓ１１５，Ｙｅｓ）、受付終了信号を制御装置１００に送信し（Ｓ１１６）、処理を終了する。
【００７１】
図１２に示すように、ゲーム進行処理（Ｓ２００）においては、まず、キャリブレーション指示部２１２が、ディスプレイＤＳＰ上にキャリブレーション画面を表示する（Ｓ２１１）。キャリブレーション画面は、例えば、図１８に示すような、「ウォーミングＵＰ  座ったまま脚を交互に上げてください」の文字による指示と、キャリブレーションを行う残り時間を表示している。ディスプレイＤＳＰ上には、シート等のキャラクタＣＨ１が走っているアニメーションを表示すると、着座者Ｐが何をするべきかわかりやすい。
【００７２】
そして、キャリブレーション指示部２１２は、制御装置１００にキャリブレーション開始信号を送信する（Ｓ２１２）。そして、残り時間のカウントを更新してディスプレイＤＳＰ上に表示し（Ｓ２１３）、カウントが０になったか判定する（Ｓ２１４）。カウントが０になっていない場合（Ｓ２１４，Ｎｏ）、ステップＳ２１３のカウントダウンの表示を継続し、カウントが０になった場合（Ｓ２１４，Ｙｅｓ）、キャリブレーション終了信号を制御装置１００に送信する（Ｓ２１５）。また、キャリブレーション指示部２１２は、サーバＳＶにもキャリブレーション終了信号を制御装置１００に送信する。
【００７３】
キャリブレーションが終了すると、ゲーム処理部２１０は、図１３に示すように、レース開始画面を表示する（Ｓ２２０）。レース開始画面は、例えば、図１９に示すような画面であり、「位置について！ヨーイ」の文字と、スタートまでのカウントダウンの数字が表示されている。また、レース画面には１００ｍの競争レーンと、シートのキャラクタＣＨ２，ＣＨ３が各レーンに表示されている。
例えば、レーンは複数表示されており、同時に参加する他の参加者がいる場合、プレイヤーを示す「あなた」の文字と、他の参加者であることを示す「ＳＥＡＴ２」の文字が各レーンに表示される。
【００７４】
ここで、各スマートフォンＳＰの同期を担当するサーバＳＶの処理を図１４および図１６を参照して説明する。図１４および図１６の処理は所定の周期で繰り返し行われる。なお、図１４および図１６においては、スマートフォンを「スマホ」と省略して示す。
図１４に示すように、サーバＳＶは、いずれかのスマートフォンＳＰのアプリから、参加受付信号を受信したか否かを判定し（Ｓ３１０）、受信するまで待つ（Ｓ３１０，Ｎｏ）。サーバＳＶは、参加受付信号を受信したら、アプリを起動中として記憶部３９０に登録されているスマートフォンＳＰに、参加募集信号を送信する（Ｓ３２０）。そして、参加募集タイマをスタートする（Ｓ３２１）。
【００７５】
サーバＳＶは、スマートフォンＳＰから参加信号を受信したか否か判定し（Ｓ３２２）受信したら（Ｓ３２２，Ｙｅｓ）、レースに参加するスマートフォンＳＰの識別情報を記憶部３９０に記憶させる（Ｓ３２３）。
ステップ３２３の後、または、ステップＳ３２２でＮｏと判定した後、サーバＳＶは、参加募集タイマが終了したか否か判定し（Ｓ３２４）、終了していなければ（Ｓ３２４，Ｎｏ）、ステップＳ３２２に戻り、終了していれば（Ｓ３２４，Ｙｅｓ）、記憶部３９０に記憶されている参加するスマートフォンＳＰへゲーム開始信号を送信する（Ｓ３２５）。そして、サーバＳＶは、参加するすべてのスマートフォンＳＰからキャリブレーション終了信号を受信したか否かを判定し（Ｓ３３０）、受信したら（Ｓ３３０，Ｙｅｓ）、同期処理Ｓ５００に進む。
【００７６】
図１６に示すように、同期処理Ｓ５００において、サーバＳＶは、第１カウント値の初期値を設定する（Ｓ５１０）。初期値は、例えば、５秒のカウントダウンであれば、２５０とする。サーバＳＶは、第１カウント値を各スマートフォンＳＰに送信し（Ｓ５１１）、第１カウント値を１減じてカウントダウンする（Ｓ５１２）。
【００７７】
サーバＳＶは、各スマートフォンＳＰへ第１カウント値を通知する通知タイミングであるか否かを判定し（Ｓ５１３）、通知タイミングであると判定したら（Ｓ５１３，Ｙｅｓ）、ステップＳ５１１に戻って、第１カウント値を送信する。サーバＳＶは、ステップＳ５１３で通知タイミングでないと判定した場合（Ｓ５１３，Ｎｏ）、カウントダウンが終了したか、つまり、第１カウント値が０であるかを判定し、終了していないと判定すれば（Ｓ５１４，Ｎｏ）、ステップＳ５１２に戻って第１カウント値のカウントダウンを繰り返し、終了したと判定すれば（Ｓ５１４，Ｙｅｓ）、処理を終了する。
【００７８】
図１３に戻ってスマートフォンＳＰのアプリの処理の続きについて説明する。レース開始画面を表示した後（Ｓ２２０）、同期・カウント処理部２１５は、同期・カウント処理Ｓ４００を実行する。
図１５に示すように、同期・カウント処理部２１５は、第１カウント値をサーバＳＶから受信したか否か判定し（Ｓ４１０）、第１カウント値を受信するまで待つ（Ｓ４１０，Ｎｏ）。同期・カウント処理部２１５は、第１カウント値を受信したら（Ｓ４１０，Ｙｅｓ）、第２カウント値を、第１カウント値にして記憶部２９０に記憶させる（Ｓ４１１）。この第２カウント値がカウントダウンの初期値となる。
【００７９】
そして、同期・カウント処理部２１５は、第２カウント値を１減じてカウントダウンし（Ｓ４１２）、第２カウント値から表示カウントを決定してディスプレイＤＳＰに表示させる（Ｓ４１３）。表示カウントは、例えば、第２カウント値を５０で割って、整数に切り上げた値とする。
【００８０】
そして、同期・カウント処理部２１５は、第１カウント値をサーバＳＶから受信したか否か判定し（Ｓ４１４）、第１カウント値を受信していなければ、ステップＳ４１７に進む。一方、同期・カウント処理部２１５は、第１カウント値を受信したら（Ｓ４１４，Ｙｅｓ）、第１カウント値が、第２カウント値より小さいか否か判定し（Ｓ４１５）、小さければ（Ｓ４１５，Ｙｅｓ）、記憶部２９０に記憶している第２カウント値を第１カウント値の値にしてステップＳ４１７に進む（Ｓ４１６）。すなわち、同期・カウント処理部２１５は、第１カウント値で第２カウント値を更新する。同期・カウント処理部２１５は、第１カウント値が第２カウント値よりも小さくないと判定した場合（Ｓ４１５，Ｎｏ）、第２カウント値を更新せずにステップＳ４１７に進む。ステップＳ４１７において、同期・カウント処理部２１５は、カウントダウンが終了したか否か、つまり、第２カウント値が０になったかを判定し、終了していなければ（Ｓ４１７，Ｎｏ）、ステップ４１２に戻って所定の周期でカウントダウンを繰り返し、終了していれば（Ｓ４１７，Ｙｅｓ）、同期・カウント処理を終了する。
【００８１】
同期・カウント処理が終了して、レースがスタートすると、ゲーム処理部２１０は、レース開始信号を制御装置１００に送信する（Ｓ２２１）。そして、キャラクタ移動処理部２１３は、ステップ強度ＦＲ，ＦＬを受信したか否か判定する（Ｓ２２２）。受信した場合（Ｓ２２２，Ｙｅｓ）、キャラクタ移動処理部２１３は、ステップ強度ＦＲ，ＦＬの大きさに応じてキャラクタＣＨ２を移動させる処理を行う（Ｓ２２３）。そして、走行距離Ｌを更新し、走行距離Ｌを制御装置１００に送信する。また、キャラクタ移動処理部２１３は、ディスプレイＤＳＰ上に、残り距離を表示する（Ｓ２２４）。
【００８２】
次に、オノマトペ判定部２１４は、ステップ周期ＴＳおよびノーマルステップ周期ＴＳｎから表示すべきオノマトペを決定し、ディスプレイＤＳＰ上に表示する（Ｓ２２５）。これにより、レース中は、図２０に示すように、キャラクタＣＨ２，ＣＨ３が各レーンを走っているアニメーションと、残り距離と、「すたすた」などの擬態語が表示される。また、ゲーム処理部２１０はスタートからの時間も表示する。
キャラクタ移動処理部２１３は、ステップ強度ＦＲ，ＦＬを受信していない場合（Ｓ２２２，Ｎｏ）、ステップＳ２２３〜Ｓ２２５を実行することなくステップＳ２２６へ進む。
【００８３】
そして、ゲーム処理部２１０は、制御装置１００から、他のシートの着座者ＰのキャラクタＣＨ３の走行距離Ｌを取得し、必要に応じて他のシートのキャラクタＣＨ３を移動させる（Ｓ２２６）。
【００８４】
次に、キャラクタ移動処理部２１３は、走行距離Ｌが１００以上か否か判定し（Ｓ２２７）、１００未満であれば、ステップＳ２２２からのレースの処理を繰り返す。一方、走行距離Ｌが１００以上になったら（Ｓ２２７，Ｙｅｓ）、レース終了信号を制御装置１００に送信する（Ｓ２２８）。レース終了時は、例えば、図２１のような画面を表示する。この画面では残りの距離が０ｍになり、ゴール時のタイムが表示される。
【００８５】
そして、結果出力部２１９は、運動の結果として、運動レベルと、運動量と、運動強度と、アドバイスを決定し、これらをディスプレイＤＳＰ上に出力する（Ｓ２２９）。結果画面は、例えば、図２２のような画面である。結果画面においては、今までの制御装置１００に蓄積されたデータから、これまでの競技者の中での順位を表示するとよい。また、結果が良かった場合には、喜んだ顔のキャラクタＣＨ５を表示し、良くなかった場合には、残念な顔をしたキャラクタを表示するとよい。
結果出力部２１９が運動の結果を表示すると、アプリの処理は終了する。
【００８６】
以上のようにして、本実施形態の乗物用シートＳによれば、次のような効果を奏することができる。
制御装置１００は、圧力センサＰＳ１〜ＰＳ６から取得された圧力値を、スマートフォンＳＰのゲームアプリを操作するための信号としてスマートフォンＳＰに出力するので、乗物用シートＳに座った着座者Ｐは、シート本体Ｓ０上で、脚や肩を動かすことによってスマートフォンＳＰの操作をすることができる。
このためスマートフォンＳＰの操作を手で行う必要がなく、シート本体Ｓ０上で体を動かすことにより操作することが可能となる。このため、乗り物内において疲れたときなどに適度に体を動かしてリフレッシュすることができる。
【００８７】
そして、サーバＳＶとクライアントとしてのスマートフォンＳＰは、それぞれ、自己が有しているカウント値をそれぞれ同じ周期で更新する。そして、スマートフォンＳＰは、サーバＳＶから受信した第１カウント値と、記憶部２９０に記憶している第２カウント値とを比較し、第２カウント値よりも第１カウント値の方が進んでいる場合に第１カウント値で第２カウント値を更新する。サーバＳＶからスマートフォンＳＰへ第１カウント値が到達するまでには、不定量の遅延時間を要するが、スマートフォンＳＰにおいて、第１カウント値を第２カウント値と比較し、第１カウント値が進んでいる場合に更新する動作を何度も繰り返しているうちに、スマートフォンＳＰでは、それまで受信した第１カウント値のうち、最も遅延時間が小さい通信ができたときの第１カウント値に第２カウント値を合わせることができる。したがって、簡易な仕組みで、各スマートフォンＳＰ間の同期をとることができる。
【００８８】
特に、本実施形態のように、スマートフォンＳＰが無線公衆回線を介してサーバＳＶとインターネットプロトコルによって通信する携帯端末である場合、携帯端末が移動するのにともなって、無線の基準局が切り替わることで通信経路が変わりやすいので、特に、本実施形態の同期方法が有効である。
【００８９】
また、圧力センサＰＳ１〜ＰＳ６は、着座者Ｐに対向する座面Ｓ２１，Ｓ２２の状態を検知可能であることで、着座者Ｐが圧力センサＰＳ１〜ＰＳ６に対してアクセスし易い。すなわち、着座者Ｐが座面の状態を変えることで機内機器の操作が可能であるので、スマートフォンＳＰの操作を行いやすい。
【００９０】
また、Ｙｅｓ信号やＮｏ信号は、圧力値Ｐ６がしきい値Ｐ６ｔｈを超えたことを条件として出力され、ステップ強度Ｆも、圧力値Ｐ３がしきい値Ｐ３ｔｈを上から下へ超えたことを条件として出力されるので、着座者Ｐの意図に反して、誤ってスマートフォンＳＰを操作することを抑制することができる。
【００９１】
また、右の圧力センサＰＳ６の測定値に基づいてＹｅｓ信号を出力し、左の圧力センサＰＳ６の測定値に基づいてＮｏ信号を出力するので、誤操作を抑制することができる。
【００９２】
以上に本発明の実施形態について説明したが、本発明は前記した実施形態に限定されるものではない。具体的な構成については、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００９３】
例えば、前記実施形態において、サーバは、第１カウント値をカウントダウンし、クライアントであるスマートフォンは、第２カウント値をカウントダウンしていたが、カウントアップしてもよい。すなわち、サーバＳＶは、所定の周期で第１カウント値をカウントアップして更新し、各クライアントは、所定の周期で第２カウント値をカウントアップして更新してもよい。
【００９４】
また、第１カウント値は、サーバが保持している時刻の値であってもよい。この場合、クライアントでは、第１カウント値を受信して第２カウント値の初期値とした後、第２カウント値を時刻と同様にカウントアップすることで、第２カウント値としてサーバと同じ時刻を保持することができる。
【００９５】
例えば、前記実施形態においては、ゲームの一例として１００ｍ走のゲームの操作に本発明を適用したが、他のゲームの操作に適用することもできる。また、クライアントは、スマートフォンに限らず、タブレットＰＣ、パソコン、ナビゲーションシステムなどであってもよい。
【００９６】
前記実施形態においては、センサとして圧力センサを例示したが、センサは、他の種類のセンサ、例えば、静電容量センサなどであってもよい。また、圧力を測定する場合、圧力分布センサを採用することもできる。
【００９７】
前記実施形態においては、無線通信により制御装置とスマートフォンを接続していたが、有線の通信により接続されていてもよい。
【００９８】
前記実施形態においては、乗物用シートとして自動車の車両に搭載されるシートを例示したが、乗物用シートは、自動車以外の鉄道などの車両のシートであってもよいし、車両以外の船舶、航空機などのシートであってもよい。
【００９９】
また、本発明の同期方法および同期システムは、乗物用シートに用いるシステムに限らず、広く、インターネットプロトコルを用いて通信するサーバとクライアントに適用することができる。
【０１００】
また、本明細書に記載した各実施形態および各変形例で説明した各要素は、適宜組み合わせて実施することが可能である。
【符号の説明】
【０１０１】
２１５  同期・カウント処理部
２９０  記憶部
３４０  同期部
ＩＮＴ  インターネット
Ｓ      乗物用シート
ＳＰ    スマートフォン
ＳＶ    サーバ
【図１】
2020184264.tif 000003
【図２】
2020184264.tif 000004
【図３】
2020184264.tif 000005
【図４】
2020184264.tif 000006
【図５】
2020184264.tif 000007
【図６】
2020184264.tif 000008
【図７】
2020184264.tif 000009
【図８】
2020184264.tif 000010
【図９】
2020184264.tif 000011
【図１０】
2020184264.tif 000012
【図１１】
2020184264.tif 000013
【図１２】
2020184264.tif 000014
【図１３】
2020184264.tif 000015
【図１４】
2020184264.tif 000016
【図１５】
2020184264.tif 000017
【図１６】
2020184264.tif 000018
【図１７】
2020184264.tif 000019
【図１８】
2020184264.tif 000020
【図１９】
2020184264.tif 000021
【図２０】
2020184264.tif 000022
【図２１】
2020184264.tif 000023
【図２２】
2020184264.tif 000024