JP7315822B2 - 複数のクライアント間の同期方法および同期システム - Google Patents
複数のクライアント間の同期方法および同期システム Download PDFInfo
- Publication number
- JP7315822B2 JP7315822B2 JP2019089077A JP2019089077A JP7315822B2 JP 7315822 B2 JP7315822 B2 JP 7315822B2 JP 2019089077 A JP2019089077 A JP 2019089077A JP 2019089077 A JP2019089077 A JP 2019089077A JP 7315822 B2 JP7315822 B2 JP 7315822B2
- Authority
- JP
- Japan
- Prior art keywords
- count value
- server
- value
- count
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Electric Clocks (AREA)
Description
本発明は、サーバとインターネットプロトコルによって通信する複数のクライアント間の同期方法および同期システムに関する。
従来、サーバとクライアントの間で時刻の同期を可能とする方法が種々知られている。例えば、特許文献1の発明では、サーバとクライアントの間のデータ配信経路を設定し、時刻修正指令メッセージや現在時刻情報等を設定した経路に沿って渡り歩き配送させることで時刻同期を行っている。
ところで、複数のクライアントとサーバとをインターネットプロトコルで通信する場合、サーバからクライアントに至る通信経路は一定ではなく、サーバからクライアントへ送ったデータがクライアントにおいて揃うまで、どれだけの通信時間が掛かっているかはわからない。また、厳密な同期を必要としない場合には、できるだけ簡易な仕組みでクライアント間の同期ができることが望ましい。
そこで、本発明は、簡易な仕組みで複数のクライアントの同期をとることができる同期方法および同期システムを提供することを目的とする。
前記した課題を解決する本発明は、サーバと、サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備え、サーバは、所定の周期で第1カウント値を更新するサーバクロックを有し、各クライアントは、第2カウント値を記憶する記憶部と、記憶部で記憶している第2カウント値を所定の周期で更新するクライアントクロックとを有するシステムにおける、複数のクライアント間の同期方法である。
この同期方法において、サーバは、第1カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第1カウント値を受信した場合、受信した第1カウント値と、記憶部に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に、第1カウント値で第2カウント値を更新し、第2カウント値よりも第1カウント値の方が進んでいない場合には、第2カウント値を第1カウント値で更新しないことを特徴とする。
この同期方法において、サーバは、第1カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第1カウント値を受信した場合、受信した第1カウント値と、記憶部に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に、第1カウント値で第2カウント値を更新し、第2カウント値よりも第1カウント値の方が進んでいない場合には、第2カウント値を第1カウント値で更新しないことを特徴とする。
このような方法によれば、サーバとクライアントは、それぞれ、自己が有しているカウント値をそれぞれ同じ周期で更新する。そして、クライアントは、サーバから受信した第1カウント値と、記憶部に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に第1カウント値で第2カウント値を更新する。サーバからクライアントへ第1カウント値が到達するまでには、不定量の通信時間(以下、「遅延時間」とする。)が掛かるので、サーバから1つのクライアント(「第1クライアント」とする。)に1回のみ第1カウント値を送信し、この第1カウント値で第1クライアントの第2カウント値を更新しただけでは、この不定量の遅延時間分だけ、第1クライアントとサーバの間にずれが生じる。しかし、サーバから第1クライアントに第1カウント値を送信し、第1クライアントでこの第1カウント値を第2カウント値と比較し、必要に応じて更新する動作を何度も繰り返しているうちに、第1クライアントでは、それまで受信した第1カウント値のうち、最も遅延時間が小さい通信ができたときの第1カウント値に第2カウント値を合わせることができる。したがって、簡易な仕組みで、各クライアント間の同期をとることができる。
前記した方法において、サーバは、所定の周期で第1カウント値をカウントダウンして更新し、各クライアントは、所定の周期で第2カウント値をカウントダウンして更新することができる。
前記した方法において、サーバは、所定の周期で第1カウント値をカウントアップして更新し、各クライアントは、所定の周期で第2カウント値をカウントアップして更新してもよい。
前記した方法において、第1カウント値は、サーバが保持している時刻の値であってもよい。
また、各クライアントは、無線公衆回線を介してサーバとインターネットプロトコルによって通信する携帯端末であってもよい。
各クライアントが無線公衆回線を介してサーバとインターネットプロトコルによって通信する携帯端末である場合、携帯端末が移動するのにともなって、無線の基準局(Wifi(登録商標)におけるアクセスポイントや、携帯電話網における基地局など)が切り替わることで通信経路が変わりやすいので、特に、本発明の同期方法が有効である。
前記した課題を解決する本発明は、サーバと、サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備えてなる、複数のクライアント間の同期システムである。
このシステムにおいて、サーバは、所定の周期で第1カウント値を更新するサーバクロックを有し、各クライアントは、第2カウント値を記憶する記憶部と、記憶部で記憶している第2カウント値を所定の周期で更新するクライアントクロックとを有し、サーバは、第1カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第1カウント値を受信した場合、受信した第1カウント値と、記憶部に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に、第1カウント値で第2カウント値を更新し、第2カウント値よりも第1カウント値の方が進んでいない場合には、第2カウント値を第1カウント値で更新しないことを特徴とする。
このシステムにおいて、サーバは、所定の周期で第1カウント値を更新するサーバクロックを有し、各クライアントは、第2カウント値を記憶する記憶部と、記憶部で記憶している第2カウント値を所定の周期で更新するクライアントクロックとを有し、サーバは、第1カウント値を各クライアントに繰り返し送信し、クライアントは、サーバから第1カウント値を受信した場合、受信した第1カウント値と、記憶部に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に、第1カウント値で第2カウント値を更新し、第2カウント値よりも第1カウント値の方が進んでいない場合には、第2カウント値を第1カウント値で更新しないことを特徴とする。
このようなシステムによれば、上述した方法と同様に、簡易な仕組みで、各クライアント間の同期をとることができる。
本発明によれば、簡易な仕組みで、各クライアント間の同期をとることができる。
次に、本発明の同期システムおよび同期方法の一実施形態について、適宜図面を参照しながら詳細に説明する。
図1に示すように、本実施形態の同期システムは、複数の乗物用シートSおよびスマートフォンSPと、サーバSVとを使ったオンラインゲームを提供するシステムSYSとして実現される。乗物用シートSは、例えば、車両CRに設置される車両用シートとして構成される。乗物用シートSは、シート本体S0と制御装置100とからなる。車両CRには、例えば、2つの前席と2つの後席の4つのシートに乗物用シートSが設けられている。そして、車両CRでは、この4つの乗物用シートSの間で情報を統合し、これらを連携して動作させるとともに、スマートフォンSPと通信を行う制御装置100が設けられている。
図1に示すように、本実施形態の同期システムは、複数の乗物用シートSおよびスマートフォンSPと、サーバSVとを使ったオンラインゲームを提供するシステムSYSとして実現される。乗物用シートSは、例えば、車両CRに設置される車両用シートとして構成される。乗物用シートSは、シート本体S0と制御装置100とからなる。車両CRには、例えば、2つの前席と2つの後席の4つのシートに乗物用シートSが設けられている。そして、車両CRでは、この4つの乗物用シートSの間で情報を統合し、これらを連携して動作させるとともに、スマートフォンSPと通信を行う制御装置100が設けられている。
各スマートフォンSPは、着座者Pが使用するものである。各スマートフォンSPはインターネットINTを介してインターネットプロトコルによりサーバSVと通信可能なクライアントの一例である。具体的には、スマートフォンSPは、携帯電話網を利用した無線公衆回線を介してサーバSVとインターネットプロトコルによって通信する携帯端末である。スマートフォンSPは、場所によっては、Wi-fi(登録商標)を利用した公衆無線回線を介してサーバSVと通信可能である。
本実施形態のシステムSYSは、スマートフォンSP上で、シート本体S0を利用した100m走のゲームを提供するものとする。このゲームは、複数のプレイヤーがオンラインで同時に100m走をすることができる。スマートフォンSPはディスプレイDSP(図2参照)を含み、制御装置100は、シート本体S0上で、左右の脚を交互に上下させることで、ディスプレイDSP上に表示されたゲーム内のキャラクタを走らせる操作をする信号を出力する。
図2に示すように、シート本体S0は、シートクッションS1およびシートバックS2を有する。シートクッションS1とシートバックS2には、表皮の下に複数の圧力センサPS1~PS6が設けられている。圧力センサPS1~PS6は、シート本体S0に座っている着座者Pの動作を特定するための測定値を取得するセンサである。圧力センサPS1~PS6は、シート本体S0に着座する着座者Pに対向する座面の状態を検知可能に配置され、シート本体S0に座っている着座者Pからの圧力値を取得する。制御装置100は、各圧力センサPS1~PS6から、圧力値を取得可能に圧力センサPS1~PS6と接続されている。
各圧力センサPS1~PS6は、乗物用シートSの左右の中心に対して左右対称に1対ずつ設けられている。
具体的には、シートクッションS1には、圧力センサPS1~PS3が設けられている。圧力センサPS1および圧力センサPS2は、シートクッションS1における着座者Pの臀部に対応する位置に配置されている。圧力センサPS1および圧力センサPS2は、着座者Pの臀部からの圧力を測定する第1クッションセンサSC1を構成している。圧力センサPS2は、圧力センサPS1の少し前に配置されている。なお、第1クッションセンサSC1は、圧力センサPS1および圧力センサPS2のいずれか一方のみを備えていてもよい。
具体的には、シートクッションS1には、圧力センサPS1~PS3が設けられている。圧力センサPS1および圧力センサPS2は、シートクッションS1における着座者Pの臀部に対応する位置に配置されている。圧力センサPS1および圧力センサPS2は、着座者Pの臀部からの圧力を測定する第1クッションセンサSC1を構成している。圧力センサPS2は、圧力センサPS1の少し前に配置されている。なお、第1クッションセンサSC1は、圧力センサPS1および圧力センサPS2のいずれか一方のみを備えていてもよい。
圧力センサPS3は、着座者Pの大腿の下に位置している。圧力センサPS3は、着座者Pの大腿からの圧力値を測定する第2クッションセンサSC2を構成している。圧力センサPS3は、圧力センサPS1および圧力センサPS2から前方に大きく離れて配置されている。
シートバックS2には、圧力センサPS4~PS6が設けられている。圧力センサPS4は、着座者Pの腰の後ろに対応する位置に設けられている。圧力センサPS5は、圧力センサPS4の少し上に配置されている。圧力センサPS4および圧力センサPS5は、いずれも、着座者Pの腰からの圧力を測定する第1バックセンサSB1を構成している。なお、第1バックセンサSB1は、圧力センサPS4および圧力センサPS5のいずれか一方のみを備えていてもよい。
圧力センサPS6は、圧力センサPS4および圧力センサPS5から上方に大きく離れて配置されている。圧力センサPS6は、着座者Pの背中の上部に対応して位置している。圧力センサPS6は、着座者Pの背中の上部からの圧力値を測定する第2バックセンサSB2を構成している。
なお、以下の説明においては、圧力センサPS1~PS6で取得した圧力値を、それぞれP1~P6とし、右、左の圧力値を、それぞれ、P1R、P1Lのように、R,Lの添え字で示す。なお、圧力センサPS1~PS6は、例えば、外部からの圧力によって電気抵抗が変化する素子であり、圧力値が大きい程、検出信号の電圧が高くなる(もしくは低くなる)。そのため、圧力値の大小は、実際には、電圧値の大小によって比較するが、本明細書においては、理解の容易のため、圧力値の大小で判定する形で説明する。
図3に示すように、制御装置100は、測定値取得部110と、処理部120と、通信部130と、記憶部190とを有している。また、スマートフォンSPは、ゲーム処理部210と記憶部290とを有している。制御装置100およびスマートフォンSPは、図示しないCPU、ROM、RAM、書換可能な不揮発性メモリ等を有し、予め記憶されたプログラムを実行することで各機能部が実現されている。
制御装置100には、ブルートゥース(登録商標)またはWi-Fi(登録商標)などの近距離無線通信を可能にする近距離通信機3Aが接続されている。制御装置100は、通信部130および近距離通信機3Aを介してスマートフォンSPと通信可能であり、スマートフォンSPにインストールされたアプリと連携してスマートフォンSPに所定の画面や音声を提供するとともに、スマートフォンSPで入力されたデータを取得することができるようになっている。
測定値取得部110は、各圧力センサPS1~PS6から、一定の制御サイクルごとに圧力の測定値を取得する機能を有する。測定値取得部110が取得した測定値は、記憶部190に記憶され、処理部120で利用される。なお、記憶部190は、計算、処理等に必要なデータを適宜記憶するために使用される。
処理部120は、スマートフォンSPと通信し、スマートフォンSPで提供される100m走ゲームのアプリを操作するための信号を送信する処理を実行する。処理部120は、Yes信号出力部121と、No信号出力部122と、キャリブレーション処理部124と、ステップ信号出力部125とを有する。
処理部120は、圧力センサPS1~PS6の測定値に基づいて信号を出力する第1動作モードと、信号を出力しない第2動作モードとを有している。そして、スマートフォンSPを介して着座者Pに動作を促す通知をした後でのみ第1動作モードで動作することができる。具体的には、後述するように、スマートフォンSPから各種信号の受付信号を受けた後は、信号を出力する第1動作モードとなり、受付終了信号を受けた後は、信号を出力しない第2動作モードとなる。
Yes信号出力部121およびNo信号出力部122は、処理部120が、スマートフォンSPから参加受付信号を受信した後に、着座者Pの動作に応じてYes信号またはNo信号をスマートフォンSPに出力する。
具体的には、Yes信号出力部121は、右の圧力センサPS6(第1圧力センサ)から得られた圧力値P6Rが所定のしきい値P6thを超えたことを条件として、Yes信号を出力する。また、No信号出力部122は、左の圧力センサPS6(第2圧力センサ)から得られた圧力値P6Lが所定のしきい値P6thを超えたことを条件として、No信号を出力する。
スマートフォンSPのゲーム処理部210においては、Yes信号に対してスマートフォンSPのゲームを開始する第1操作が割り当てられ、No信号に対してゲームを行わない選択をする第2操作が割り当てられている。
具体的には、Yes信号出力部121は、右の圧力センサPS6(第1圧力センサ)から得られた圧力値P6Rが所定のしきい値P6thを超えたことを条件として、Yes信号を出力する。また、No信号出力部122は、左の圧力センサPS6(第2圧力センサ)から得られた圧力値P6Lが所定のしきい値P6thを超えたことを条件として、No信号を出力する。
スマートフォンSPのゲーム処理部210においては、Yes信号に対してスマートフォンSPのゲームを開始する第1操作が割り当てられ、No信号に対してゲームを行わない選択をする第2操作が割り当てられている。
キャリブレーション処理部124は、処理部120が、スマートフォンSPからキャリブレーション開始信号を受信した後、左右の圧力センサPS3の圧力値P3R,P3Lを取得する。そして、そのときに座っている着座者Pの平均的な圧力であるノーマル圧力P3nと、圧力値のピーク検出のためのしきい値P3thを決定するとともに、その着座者Pの平均的な脚を動かす周期であるノーマルステップ周期TSnを算出してスマートフォンSPに出力する。
具体的には、着座者Pが脚を交互に上げた場合、圧力値P3R,P3Lは、例えば図5のように変化する。図5において、圧力が急に小さくなっている部分は、着座者Pが脚を上げたことにより、センサPS3の部分の圧力が小さくなっていることを示す。つまり、圧力が小さくなっていない140付近の圧力値が、脚を上げていないときの平均なノーマル圧力P3nとなる。ノーマル圧力P3nを算出するには、例えば、圧力値P3R,P3Lの前回値と今回値の差(今回値P3(n)から前回値P3(n-1)を引いた値とする。)の絶対値が所定値以下である場合(つまり、値の変化が小さいとき)の今回値を集計して平均すればよい。
また、しきい値P3thは、脚を上げている最中であることを判定するためのしきい値であり、例えば、図5の場合であれば、100~120程度の値を用いればよい。このため、しきい値P3thは、ノーマル圧力P3nに所定値を乗じた値を用いることができる。例えば、ノーマル圧力P3nに0.6~0.9程度の所定値を乗じた値をしきい値P3thとすることができる。
ノーマルステップ周期TSnは、圧力値P3R,P3Lのピーク同士の時間間隔であるステップ周期TSの平均値である。
圧力値P3R,P3Lは、各圧力値P3R,P3Lが、しきい値P3thより小さい(上側から下側へ超えた)という条件下で、前回値と今回値の差が負から正に変化したときにピークに達したと判定することができ、このときの前回値P3(n-1)をピーク値Pmとすることができる。
圧力値P3R,P3Lは、各圧力値P3R,P3Lが、しきい値P3thより小さい(上側から下側へ超えた)という条件下で、前回値と今回値の差が負から正に変化したときにピークに達したと判定することができ、このときの前回値P3(n-1)をピーク値Pmとすることができる。
ステップ信号出力部125は、処理部120が、スマートフォンSPからレース開始信号を受信した後に、着座者Pの動作に応じて圧力値P3R,P3Lのピークを検出し、ピーク値Pmを算出する。ピークの検出およびピーク値Pmの算出は、キャリブレーション処理部124と同様に行うことができる。そして、脚を上げた大きさであるステップ強度F(FR,FL)を算出する。ステップ強度Fは、ピークの大きさ、つまり、ノーマル圧力P3から、ピーク値Pmを引いた値とすることができる。本実施形態においては、着座者Pの体格の大きさによる違いをなくすため、ノーマル圧力P3nで規格化した値とする。例えば、ステップ強度Fは、
F=(P3n-Pm)/P3n
とする。ステップ信号出力部125は、圧力値P3R,P3Lのピークを検出すると、ピーク値Pmおよびステップ強度FをスマートフォンSPに出力する。このように、ステップ信号出力部125は、圧力センサPS3から得られた圧力値P3の変化に基づいて信号を出力している。
F=(P3n-Pm)/P3n
とする。ステップ信号出力部125は、圧力値P3R,P3Lのピークを検出すると、ピーク値Pmおよびステップ強度FをスマートフォンSPに出力する。このように、ステップ信号出力部125は、圧力センサPS3から得られた圧力値P3の変化に基づいて信号を出力している。
一方、スマートフォンSPのゲーム処理部210は、アプリが立ち上げられたときにゲームの進行処理を実行する。また、ゲーム処理部210は、アプリが立ち上げられたときに、サーバSVに、スマートフォンSPの識別情報を送信する。これにより、サーバSVは、起動中のスマートフォンSPの識別情報を登録する。なお、アプリを終了するときには、ゲーム処理部210は、アプリ終了信号をスマートフォンSPの識別情報とともにサーバSVに送信する。これにより、サーバSVは、起動中のスマートフォンSPの登録情報から終了信号を送ってきたスマートフォンSPの識別情報を削除する。
ゲーム処理部210は、参加受付処理部211と、キャリブレーション指示部212と、キャラクタ移動処理部213と、オノマトペ判定部214と、同期・カウント処理部215と、結果出力部219とを有している。ゲーム処理部210は、制御装置100から受信した信号を、その受信時刻とともに記憶部290に記憶する。なお、記憶部290は、計算、処理等に必要なデータを適宜記憶するために使用される。また、記憶部290は、後述する第2カウントを記憶する。また、ゲーム処理部210は、算出した走行距離Lや、運動の結果などのデータを、適宜、制御装置100に送信して、他の乗物用シートSに対応したスマートフォンSPとデータを共有するように構成されている。制御装置100は、これらのデータを記憶部190に蓄積する。
参加受付処理部211は、ディスプレイDSP上に参加を受け付ける開始画面を表示するとともに、参加受付信号を制御装置100およびサーバSVに送信し、所定時間の間、制御装置100からのYes信号またはNo信号を受け付ける。また、参加受付処理部211は、サーバSVから参加募集信号を受信した場合にも、制御装置100に参加受付信号を送信し、所定時間の間、制御装置100からのYes信号またはNo信号を受け付ける。開始画面は、例えば、図17のような画面であり、着座者Pに動作を促す通知として、「参加しますか?肩でシートを押してください」の文字と、「No 左肩 右肩 Yes」の表示をディスプレイDSPに出力する。なお、Yes、Noの表示は、ディスプレイDSPにタッチしてそれぞれYes信号またはNo信号をスマートフォンSPに入力できるボタンの機能を持たせてもよい。参加受付処理部211は、Yes信号を受信した場合には、サーバSVへ参加信号を送信するとともにゲーム進行処理に進む処理を行い、No信号を受信した場合には、ゲーム進行処理に進まずにアプリを終了させる。ゲーム処理部210は、Yes信号およびNo信号のいずれも受信せずに所定時間が経過した場合には、受付終了信号を制御装置100に送信してアプリを終了させる。
なお、スマートフォンSPは、サーバSVに参加受付信号や参加信号等を送信する場合には、スマートフォンSPの識別情報とともに送信する。
なお、スマートフォンSPは、サーバSVに参加受付信号や参加信号等を送信する場合には、スマートフォンSPの識別情報とともに送信する。
キャリブレーション指示部212は、サーバSVからゲーム開始信号を受信した場合に、キャリブレーション画面を表示するとともに、キャリブレーション開始信号を制御装置100に送信し、所定時間の間、制御装置100からキャリブレーションに関する信号を受け付ける。所定時間が経過したら、キャリブレーション指示部212は、キャリブレーション終了信号を制御装置100に出力する。また、キャリブレーション指示部212は、キャリブレーション終了信号をサーバSVに送信する。
キャラクタ移動処理部213は、100m走のレース中に、ステップ強度Fを受信すると、ディスプレイDSP上のキャラクタをゴールへ向けて移動させる。このときの移動量は、ステップ強度Fの大きさに応じたものである。キャラクタ移動処理部213は、例えば、F[m]分だけゴールへ向けてキャラクタを移動させる。
オノマトペ判定部214は、100m走のレース中に、着座者Pの走っている様子を表現するオノマトペ(「よちよち」などの擬態語)を判定し、ディスプレイDSP上に出力する。オノマトペの判定は、例えば、着座者Pが脚を動かしている周期であるステップ周期TSを図6に示した判定条件と比較して行うことができる。なお、ステップ周期TSは、制御装置100から受信したステップ強度Fの周期であるが、ステップ強度Fを受信する間隔は一定ではないので、例えば、過去の20m分の平均の周期で算出することができる。
本実施形態においては、着座者Pの個人差の影響を減らすため、ステップ周期TSをノーマルステップ周期TSnで割った値をしきい値と比較してオノマトペの表現を判定する。例えば、TS/TSnが1.5以上で周期が長い場合には、「ふらふら」とし、1.2以上、1.5未満の場合には「のっしのっし」、0.7以上、1.2未満の場合には「すたすた」、0.7未満の場合には「どたどた」などと決められている。
結果出力部219は、着座者Pが100m走ゲームでゴールした後、運動の結果とアドバイスを決定してディスプレイDSP上に出力する。また、運動の結果は、制御装置100に送信する。
具体的には、結果出力部219は、運動の結果として、運動レベルと、運動量と、運動強度と、アドバイスを決定する。
具体的には、結果出力部219は、運動の結果として、運動レベルと、運動量と、運動強度と、アドバイスを決定する。
運動レベルは、100m走る間のステップ数に基づき、図7の運動レベル判定テーブルを参照して判定する。例えば、運動レベル判定テーブルは、ステップ数が60以下の場合、「ゆっくりお散歩」、61~110の場合、「日常の歩き」、111~140の場合、「ウォーキング」、141~240の場合、「ジョギング」、240以上の場合、「ダッシュ」などと設定されている。
運動量は、例えば、100m走る間のステップ強度Fの累積値で求めることができる。
運動強度は、METs(Metabolic equivalents)で示す。運動強度の値は、例えば、100[m]走る間のステップ数に、所定の係数を掛けることで決めることができる。
アドバイスは、記憶部290に予め記憶しておいたアドバイステーブルを参照して決めることができる。アドバイステーブルは、例えば、ステップ数、100mのゴールタイム、平均のステップ周期などのパラメータと、予め決めておいたアドバイスとを対応させたものとしておく。そして、100m走のゴール後に、これらのパラメータからアドバイスを検索して決定することができる。
そして、結果出力部219は、運動レベルと、運動量と、運動強度と、アドバイスを決定した後、ディスプレイDSP上にこれらの結果を表示する。
同期・カウント処理部215は、サーバSVと協働して、サーバSVと時刻に相当するカウント値を同期し、これにより、各スマートフォンSP間で同期をとる。
同期・カウント処理部215は、クライアントクロックの一例であり、記憶部290で記憶している第2カウント値を所定の周期で更新する。所定の周期は、ゲーム処理部210の制御サイクルであり、例えば、20msである。本実施形態では、同期・カウント処理部215は、所定の周期で第2カウント値を1ずつカウントダウンして更新する。
同期・カウント処理部215は、クライアントクロックの一例であり、記憶部290で記憶している第2カウント値を所定の周期で更新する。所定の周期は、ゲーム処理部210の制御サイクルであり、例えば、20msである。本実施形態では、同期・カウント処理部215は、所定の周期で第2カウント値を1ずつカウントダウンして更新する。
具体的に、同期・カウント処理部215は、100m走のスタート前にカウントダウンをする場合に、第2カウント値を記憶部290に記憶させる。そして、サーバSVから第1カウント値を受信した場合、受信した第1カウント値と、記憶部290に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合、つまり、第2カウント値よりも第1カウント値が小さい場合に、第1カウント値で第2カウント値を更新する。一方、第2カウント値よりも第1カウント値の方が進んでいない場合、つまり、第1カウント値が第2カウント値より大きい場合には、第2カウント値を第1カウント値で更新しない。なお、第2カウント値と第1カウント値が同じである場合には、第2カウント値を第1カウント値で更新してもしなくても変わりはないので、更新してもしなくてもよい。本実施形態では、処理を少なくするため、第1カウント値が第2カウント値と同じである場合には、第2カウント値を第1カウント値で更新しない。
また、同期・カウント処理部215は、所定のタイミングで第2カウント値から、ディスプレイDSPに表示させる表示カウントを決定し、ディスプレイDSPに表示させる。例えば、本実施形態では、制御サイクルが20msであるので、1秒ごとにディスプレイDSPに表示されるカウントを1減らすようにするために、第2カウント値を50で割った値を整数に丸めて表示カウントと決定し、表示カウントをカウントダウンの値としてディスプレイDSPに表示させる。
図4に示すように、サーバSVは、スマートフォン管理部310と、参加配信部320と、ゲーム開始配信部330と、同期部340と、記憶部390とを有している。
サーバSVは、スマートフォンSPがアプリを立ち上げたときに送信してきた識別情報を記憶部390に記憶させることで、アプリを起動中のスマートフォンSPを管理する。なお、識別情報には、スマートフォンSPのアドレスが含まれる。そして、スマートフォンSPからアプリ終了信号を受信した場合には、記憶部390から、当該スマートフォンSPの識別情報を削除する。
参加配信部320は、1つのスマートフォンSPから参加受付信号を受信した場合に、記憶部390に記憶している識別情報に基づいて、他の起動中のスマートフォンSPに参加募集信号を送信する。そして、所定時間内に、スマートフォンSPから参加信号を受信したら、参加するスマートフォンSPの識別情報を記憶部390に記憶させる。
ゲーム開始配信部330は、参加募集の所定時間が過ぎたときに、記憶部390に記憶している参加するスマートフォンSPの識別情報に基づいて、参加するスマートフォンSPへゲーム開始信号を送信する。
同期部340は、スマートフォンSP間のレース開始の同期を図るためのものであり、サーバクロックの一例である。同期部340は、同期およびレース開始のカウントダウンをする場合に、第1カウント値を記憶部390に記憶させる。そして、同期部340は、スマートフォンSPと同じ所定の周期で第1カウント値を更新する。所定の周期は、ゲーム処理部210と同じく、例えば、20msである。本実施形態では、同期部340は、所定の周期で第1カウント値を1ずつカウントダウンして更新する。そして、同期部340は、第1カウント値を所定の通知タイミングで、レースに参加する各スマートフォンSPに第1カウント値を繰り返し送信する。所定の通知タイミングは特に限定されず、20msごとでもよいし、通信量を減らすために、20msより長い周期ごとでもよい。例えば、1000msごとであってもよい。
記憶部390は、アプリを起動中のスマートフォンSPの識別情報、レースに参加するスマートフォンSPの識別情報および第1カウント値の他、サーバSVの各処理に必要なデータを適宜記憶する。
次に、ゲーム処理部210の他の処理も含めて、制御装置100、スマートフォンSPのアプリおよびサーバSVの処理の一例をフローチャートを参照して説明する。
まず、制御装置100の処理について説明する。
図8~図10の処理は、繰り返し行われる。
図8に示すように、処理部120は、まず、ゲーム参加に関するステップS11~17を実行する。具体的には、まず、参加受付信号を受信したか否かを判定する(S11)。
参加受付信号を受信した場合(S11,Yes)、処理部120は、圧力値P6R,P6Lを取得し(S12)、右の圧力値P6Rがしきい値P6thより大きいか判定する(S13)。P6RがP6thより大きい場合(S13,Yes)、Yes信号を送信して(S14)、ゲーム参加に関する処理を終了する。
P6RがP6thより大きくなかった場合(S13,No)、処理部120は、左の圧力値P6LがP6thより大きいか判定する(S15)。P6LがP6thより大きい場合(S15,Yes)、No信号を送信して(S16)、ゲーム参加に関する処理を終了する。
図8~図10の処理は、繰り返し行われる。
図8に示すように、処理部120は、まず、ゲーム参加に関するステップS11~17を実行する。具体的には、まず、参加受付信号を受信したか否かを判定する(S11)。
参加受付信号を受信した場合(S11,Yes)、処理部120は、圧力値P6R,P6Lを取得し(S12)、右の圧力値P6Rがしきい値P6thより大きいか判定する(S13)。P6RがP6thより大きい場合(S13,Yes)、Yes信号を送信して(S14)、ゲーム参加に関する処理を終了する。
P6RがP6thより大きくなかった場合(S13,No)、処理部120は、左の圧力値P6LがP6thより大きいか判定する(S15)。P6LがP6thより大きい場合(S15,Yes)、No信号を送信して(S16)、ゲーム参加に関する処理を終了する。
P6LがP6thより大きくなかった場合(S15,No)、処理部120は、受付終了信号を受信したか否か判定し(S17)、受信していない場合(S17,No)、ステップS12からの処理を繰り返し、受信した場合(S17,Yes)、ゲーム参加に関する処理を終了する。
ゲーム参加に関する処理の後、処理部120のキャリブレーション処理部124は、図9に示すように、キャリブレーション処理に関するステップS21~S26を実行する。
処理部120は、キャリブレーション開始信号を受信したか否か判定し(S21)、受信した場合(S21,Yes)、圧力値P3R,P3Lを取得し、記憶する(S22)。そして、キャリブレーション終了信号を受信したか否かを判定し、受信するまで(S23,No)ステップS22~S23を繰り返し、受信したら(S23,Yes)、ステップS24に進む。
処理部120は、キャリブレーション開始信号を受信したか否か判定し(S21)、受信した場合(S21,Yes)、圧力値P3R,P3Lを取得し、記憶する(S22)。そして、キャリブレーション終了信号を受信したか否かを判定し、受信するまで(S23,No)ステップS22~S23を繰り返し、受信したら(S23,Yes)、ステップS24に進む。
ステップS24において、キャリブレーション処理部124は、所定期間取得して記憶した圧力値P3R,P3Lに基づいてノーマル圧力P3nを算出する。そして、ノーマル圧力P3nからしきい値P3thを設定する(S25)。さらに、ノーマルステップ周期TSnを算出し、スマートフォンSPに送信する(S26)。
ステップS21において、キャリブレーション開始信号を受信していない場合(No)、キャリブレーション処理部124は、キャリブレーション処理を行うことなくステップS30(図10参照)へ進む。
ステップS21において、キャリブレーション開始信号を受信していない場合(No)、キャリブレーション処理部124は、キャリブレーション処理を行うことなくステップS30(図10参照)へ進む。
次に、処理部120は、ステップS30~S40のレースに関する処理を行う。
図10に示すように、まず、処理部120は、スマートフォンSPからレース開始信号を受信したか否か判定する(S30)。レース開始信号を受信していない場合(S30,No)、処理部120は処理を終了する。レース開始信号を受信した場合(S30,Yes)、ステップ信号出力部125は、圧力値P3R,P3Lを取得し、記憶する(S31)。
図10に示すように、まず、処理部120は、スマートフォンSPからレース開始信号を受信したか否か判定する(S30)。レース開始信号を受信していない場合(S30,No)、処理部120は処理を終了する。レース開始信号を受信した場合(S30,Yes)、ステップ信号出力部125は、圧力値P3R,P3Lを取得し、記憶する(S31)。
そして、右の圧力値P3Rがしきい値P3thより小さいか判定し(S32)、小さい場合(S32,Yes)、さらに、圧力値P3Rの前回値と今回値からピークを検出したか判定する(S33)。ピークを検出した場合(S33,Yes)、ステップ信号出力部125は、ノーマル圧力P3nと圧力値P3Rからステップ強度FRを算出する(S34)。そして、算出したステップ強度FRをスマートフォンSPに送信する(S35)。
一方、右の圧力値P3Rがしきい値P3thより小さくなかった場合(S32,No)、または、ピークを検出しなかった場合(S33,No)、ステップ信号出力部125は、ステップ強度FRの算出、送信をすることなくステップS36へ進む。
一方、右の圧力値P3Rがしきい値P3thより小さくなかった場合(S32,No)、または、ピークを検出しなかった場合(S33,No)、ステップ信号出力部125は、ステップ強度FRの算出、送信をすることなくステップS36へ進む。
ステップS36~S39において、ステップ信号出力部125は、左の圧力値P3Lについて、ピークの検出とステップ強度FLの算出、送信の処理を行う。これらの処理は、ステップS31~S35と同様であるので説明を省略する。
ステップS40において、処理部120は、レース終了信号を受信したか否か判定し、受信していない場合(S40,No)、ステップS31からの処理を繰り返し、受信した場合(S40,Yes)、処理を終了する。
次に、スマートフォンSPのアプリ(ゲーム処理部210)における処理を説明する。図11~図13、図15の処理は繰り返し行われる。
スマートフォンSPは、アプリが立ち上げられると、アプリの処理を開始し、図11に示すように、開始画面をディスプレイDSP上に表示する(S110)。開始画面は、例えば、図17に示すような画面である。開始画面においては、「参加しますか?肩でシートを押してください」の文字とともに、左肩がNo、右肩がYesであることを教える説明が表示されている。また、参加することができる残り時間が表示される。
スマートフォンSPは、アプリが立ち上げられると、アプリの処理を開始し、図11に示すように、開始画面をディスプレイDSP上に表示する(S110)。開始画面は、例えば、図17に示すような画面である。開始画面においては、「参加しますか?肩でシートを押してください」の文字とともに、左肩がNo、右肩がYesであることを教える説明が表示されている。また、参加することができる残り時間が表示される。
そして、参加受付処理部211は、制御装置100に参加受付信号を送信する(S111)。このとき、参加受付処理部211は、サーバSVにも参加受付信号を送り、他のスマートフォンSPからの参加を募るきっかけを作る。参加受付処理部211は、Yes信号を受信したか否か判定し(S112)、受信した場合(S112,Yes)、受付終了信号を制御装置100に送信し(S118)する。そして、サーバSVへ参加信号を送信し(S119)、ゲーム進行処理(S200)の後、処理を終了する。ゲーム進行処理については後述する。
参加受付処理部211は、Yes信号を受信していない場合(S112,No)、No信号を受信したか否か判定し(S113)、受信した場合(S113,Yes)、処理を終了する。
一方、No信号を受信していない場合(S113,No)、残り時間を示すカウントを表示し(S114)、カウントが0になったか判定する(S115)。カウントが0になっていない場合(S115,No)、ステップS112からの参加受付を継続し、カウントが0になった場合(S115,Yes)、受付終了信号を制御装置100に送信し(S116)、処理を終了する。
一方、No信号を受信していない場合(S113,No)、残り時間を示すカウントを表示し(S114)、カウントが0になったか判定する(S115)。カウントが0になっていない場合(S115,No)、ステップS112からの参加受付を継続し、カウントが0になった場合(S115,Yes)、受付終了信号を制御装置100に送信し(S116)、処理を終了する。
図12に示すように、ゲーム進行処理(S200)においては、まず、キャリブレーション指示部212が、ディスプレイDSP上にキャリブレーション画面を表示する(S211)。キャリブレーション画面は、例えば、図18に示すような、「ウォーミングUP 座ったまま脚を交互に上げてください」の文字による指示と、キャリブレーションを行う残り時間を表示している。ディスプレイDSP上には、シート等のキャラクタCH1が走っているアニメーションを表示すると、着座者Pが何をするべきかわかりやすい。
そして、キャリブレーション指示部212は、制御装置100にキャリブレーション開始信号を送信する(S212)。そして、残り時間のカウントを更新してディスプレイDSP上に表示し(S213)、カウントが0になったか判定する(S214)。カウントが0になっていない場合(S214,No)、ステップS213のカウントダウンの表示を継続し、カウントが0になった場合(S214,Yes)、キャリブレーション終了信号を制御装置100に送信する(S215)。また、キャリブレーション指示部212は、サーバSVにもキャリブレーション終了信号を制御装置100に送信する。
キャリブレーションが終了すると、ゲーム処理部210は、図13に示すように、レース開始画面を表示する(S220)。レース開始画面は、例えば、図19に示すような画面であり、「位置について!ヨーイ」の文字と、スタートまでのカウントダウンの数字が表示されている。また、レース画面には100mの競争レーンと、シートのキャラクタCH2,CH3が各レーンに表示されている。
例えば、レーンは複数表示されており、同時に参加する他の参加者がいる場合、プレイヤーを示す「あなた」の文字と、他の参加者であることを示す「SEAT2」の文字が各レーンに表示される。
例えば、レーンは複数表示されており、同時に参加する他の参加者がいる場合、プレイヤーを示す「あなた」の文字と、他の参加者であることを示す「SEAT2」の文字が各レーンに表示される。
ここで、各スマートフォンSPの同期を担当するサーバSVの処理を図14および図16を参照して説明する。図14および図16の処理は所定の周期で繰り返し行われる。なお、図14および図16においては、スマートフォンを「スマホ」と省略して示す。
図14に示すように、サーバSVは、いずれかのスマートフォンSPのアプリから、参加受付信号を受信したか否かを判定し(S310)、受信するまで待つ(S310,No)。サーバSVは、参加受付信号を受信したら、アプリを起動中として記憶部390に登録されているスマートフォンSPに、参加募集信号を送信する(S320)。そして、参加募集タイマをスタートする(S321)。
図14に示すように、サーバSVは、いずれかのスマートフォンSPのアプリから、参加受付信号を受信したか否かを判定し(S310)、受信するまで待つ(S310,No)。サーバSVは、参加受付信号を受信したら、アプリを起動中として記憶部390に登録されているスマートフォンSPに、参加募集信号を送信する(S320)。そして、参加募集タイマをスタートする(S321)。
サーバSVは、スマートフォンSPから参加信号を受信したか否か判定し(S322)受信したら(S322,Yes)、レースに参加するスマートフォンSPの識別情報を記憶部390に記憶させる(S323)。
ステップ323の後、または、ステップS322でNoと判定した後、サーバSVは、参加募集タイマが終了したか否か判定し(S324)、終了していなければ(S324,No)、ステップS322に戻り、終了していれば(S324,Yes)、記憶部390に記憶されている参加するスマートフォンSPへゲーム開始信号を送信する(S325)。そして、サーバSVは、参加するすべてのスマートフォンSPからキャリブレーション終了信号を受信したか否かを判定し(S330)、受信したら(S330,Yes)、同期処理S500に進む。
ステップ323の後、または、ステップS322でNoと判定した後、サーバSVは、参加募集タイマが終了したか否か判定し(S324)、終了していなければ(S324,No)、ステップS322に戻り、終了していれば(S324,Yes)、記憶部390に記憶されている参加するスマートフォンSPへゲーム開始信号を送信する(S325)。そして、サーバSVは、参加するすべてのスマートフォンSPからキャリブレーション終了信号を受信したか否かを判定し(S330)、受信したら(S330,Yes)、同期処理S500に進む。
図16に示すように、同期処理S500において、サーバSVは、第1カウント値の初期値を設定する(S510)。初期値は、例えば、5秒のカウントダウンであれば、250とする。サーバSVは、第1カウント値を各スマートフォンSPに送信し(S511)、第1カウント値を1減じてカウントダウンする(S512)。
サーバSVは、各スマートフォンSPへ第1カウント値を通知する通知タイミングであるか否かを判定し(S513)、通知タイミングであると判定したら(S513,Yes)、ステップS511に戻って、第1カウント値を送信する。サーバSVは、ステップS513で通知タイミングでないと判定した場合(S513,No)、カウントダウンが終了したか、つまり、第1カウント値が0であるかを判定し、終了していないと判定すれば(S514,No)、ステップS512に戻って第1カウント値のカウントダウンを繰り返し、終了したと判定すれば(S514,Yes)、処理を終了する。
図13に戻ってスマートフォンSPのアプリの処理の続きについて説明する。レース開始画面を表示した後(S220)、同期・カウント処理部215は、同期・カウント処理S400を実行する。
図15に示すように、同期・カウント処理部215は、第1カウント値をサーバSVから受信したか否か判定し(S410)、第1カウント値を受信するまで待つ(S410,No)。同期・カウント処理部215は、第1カウント値を受信したら(S410,Yes)、第2カウント値を、第1カウント値にして記憶部290に記憶させる(S411)。この第2カウント値がカウントダウンの初期値となる。
図15に示すように、同期・カウント処理部215は、第1カウント値をサーバSVから受信したか否か判定し(S410)、第1カウント値を受信するまで待つ(S410,No)。同期・カウント処理部215は、第1カウント値を受信したら(S410,Yes)、第2カウント値を、第1カウント値にして記憶部290に記憶させる(S411)。この第2カウント値がカウントダウンの初期値となる。
そして、同期・カウント処理部215は、第2カウント値を1減じてカウントダウンし(S412)、第2カウント値から表示カウントを決定してディスプレイDSPに表示させる(S413)。表示カウントは、例えば、第2カウント値を50で割って、整数に切り上げた値とする。
そして、同期・カウント処理部215は、第1カウント値をサーバSVから受信したか否か判定し(S414)、第1カウント値を受信していなければ、ステップS417に進む。一方、同期・カウント処理部215は、第1カウント値を受信したら(S414,Yes)、第1カウント値が、第2カウント値より小さいか否か判定し(S415)、小さければ(S415,Yes)、記憶部290に記憶している第2カウント値を第1カウント値の値にしてステップS417に進む(S416)。すなわち、同期・カウント処理部215は、第1カウント値で第2カウント値を更新する。同期・カウント処理部215は、第1カウント値が第2カウント値よりも小さくないと判定した場合(S415,No)、第2カウント値を更新せずにステップS417に進む。ステップS417において、同期・カウント処理部215は、カウントダウンが終了したか否か、つまり、第2カウント値が0になったかを判定し、終了していなければ(S417,No)、ステップ412に戻って所定の周期でカウントダウンを繰り返し、終了していれば(S417,Yes)、同期・カウント処理を終了する。
同期・カウント処理が終了して、レースがスタートすると、ゲーム処理部210は、レース開始信号を制御装置100に送信する(S221)。そして、キャラクタ移動処理部213は、ステップ強度FR,FLを受信したか否か判定する(S222)。受信した場合(S222,Yes)、キャラクタ移動処理部213は、ステップ強度FR,FLの大きさに応じてキャラクタCH2を移動させる処理を行う(S223)。そして、走行距離Lを更新し、走行距離Lを制御装置100に送信する。また、キャラクタ移動処理部213は、ディスプレイDSP上に、残り距離を表示する(S224)。
次に、オノマトペ判定部214は、ステップ周期TSおよびノーマルステップ周期TSnから表示すべきオノマトペを決定し、ディスプレイDSP上に表示する(S225)。これにより、レース中は、図20に示すように、キャラクタCH2,CH3が各レーンを走っているアニメーションと、残り距離と、「すたすた」などの擬態語が表示される。また、ゲーム処理部210はスタートからの時間も表示する。
キャラクタ移動処理部213は、ステップ強度FR,FLを受信していない場合(S222,No)、ステップS223~S225を実行することなくステップS226へ進む。
キャラクタ移動処理部213は、ステップ強度FR,FLを受信していない場合(S222,No)、ステップS223~S225を実行することなくステップS226へ進む。
そして、ゲーム処理部210は、制御装置100から、他のシートの着座者PのキャラクタCH3の走行距離Lを取得し、必要に応じて他のシートのキャラクタCH3を移動させる(S226)。
次に、キャラクタ移動処理部213は、走行距離Lが100以上か否か判定し(S227)、100未満であれば、ステップS222からのレースの処理を繰り返す。一方、走行距離Lが100以上になったら(S227,Yes)、レース終了信号を制御装置100に送信する(S228)。レース終了時は、例えば、図21のような画面を表示する。この画面では残りの距離が0mになり、ゴール時のタイムが表示される。
そして、結果出力部219は、運動の結果として、運動レベルと、運動量と、運動強度と、アドバイスを決定し、これらをディスプレイDSP上に出力する(S229)。結果画面は、例えば、図22のような画面である。結果画面においては、今までの制御装置100に蓄積されたデータから、これまでの競技者の中での順位を表示するとよい。また、結果が良かった場合には、喜んだ顔のキャラクタCH5を表示し、良くなかった場合には、残念な顔をしたキャラクタを表示するとよい。
結果出力部219が運動の結果を表示すると、アプリの処理は終了する。
結果出力部219が運動の結果を表示すると、アプリの処理は終了する。
以上のようにして、本実施形態の乗物用シートSによれば、次のような効果を奏することができる。
制御装置100は、圧力センサPS1~PS6から取得された圧力値を、スマートフォンSPのゲームアプリを操作するための信号としてスマートフォンSPに出力するので、乗物用シートSに座った着座者Pは、シート本体S0上で、脚や肩を動かすことによってスマートフォンSPの操作をすることができる。
このためスマートフォンSPの操作を手で行う必要がなく、シート本体S0上で体を動かすことにより操作することが可能となる。このため、乗り物内において疲れたときなどに適度に体を動かしてリフレッシュすることができる。
制御装置100は、圧力センサPS1~PS6から取得された圧力値を、スマートフォンSPのゲームアプリを操作するための信号としてスマートフォンSPに出力するので、乗物用シートSに座った着座者Pは、シート本体S0上で、脚や肩を動かすことによってスマートフォンSPの操作をすることができる。
このためスマートフォンSPの操作を手で行う必要がなく、シート本体S0上で体を動かすことにより操作することが可能となる。このため、乗り物内において疲れたときなどに適度に体を動かしてリフレッシュすることができる。
そして、サーバSVとクライアントとしてのスマートフォンSPは、それぞれ、自己が有しているカウント値をそれぞれ同じ周期で更新する。そして、スマートフォンSPは、サーバSVから受信した第1カウント値と、記憶部290に記憶している第2カウント値とを比較し、第2カウント値よりも第1カウント値の方が進んでいる場合に第1カウント値で第2カウント値を更新する。サーバSVからスマートフォンSPへ第1カウント値が到達するまでには、不定量の遅延時間を要するが、スマートフォンSPにおいて、第1カウント値を第2カウント値と比較し、第1カウント値が進んでいる場合に更新する動作を何度も繰り返しているうちに、スマートフォンSPでは、それまで受信した第1カウント値のうち、最も遅延時間が小さい通信ができたときの第1カウント値に第2カウント値を合わせることができる。したがって、簡易な仕組みで、各スマートフォンSP間の同期をとることができる。
特に、本実施形態のように、スマートフォンSPが無線公衆回線を介してサーバSVとインターネットプロトコルによって通信する携帯端末である場合、携帯端末が移動するのにともなって、無線の基準局が切り替わることで通信経路が変わりやすいので、特に、本実施形態の同期方法が有効である。
また、圧力センサPS1~PS6は、着座者Pに対向する座面S21,S22の状態を検知可能であることで、着座者Pが圧力センサPS1~PS6に対してアクセスし易い。すなわち、着座者Pが座面の状態を変えることで機内機器の操作が可能であるので、スマートフォンSPの操作を行いやすい。
また、Yes信号やNo信号は、圧力値P6がしきい値P6thを超えたことを条件として出力され、ステップ強度Fも、圧力値P3がしきい値P3thを上から下へ超えたことを条件として出力されるので、着座者Pの意図に反して、誤ってスマートフォンSPを操作することを抑制することができる。
また、右の圧力センサPS6の測定値に基づいてYes信号を出力し、左の圧力センサPS6の測定値に基づいてNo信号を出力するので、誤操作を抑制することができる。
以上に本発明の実施形態について説明したが、本発明は前記した実施形態に限定されるものではない。具体的な構成については、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、前記実施形態において、サーバは、第1カウント値をカウントダウンし、クライアントであるスマートフォンは、第2カウント値をカウントダウンしていたが、カウントアップしてもよい。すなわち、サーバSVは、所定の周期で第1カウント値をカウントアップして更新し、各クライアントは、所定の周期で第2カウント値をカウントアップして更新してもよい。
また、第1カウント値は、サーバが保持している時刻の値であってもよい。この場合、クライアントでは、第1カウント値を受信して第2カウント値の初期値とした後、第2カウント値を時刻と同様にカウントアップすることで、第2カウント値としてサーバと同じ時刻を保持することができる。
例えば、前記実施形態においては、ゲームの一例として100m走のゲームの操作に本発明を適用したが、他のゲームの操作に適用することもできる。また、クライアントは、スマートフォンに限らず、タブレットPC、パソコン、ナビゲーションシステムなどであってもよい。
前記実施形態においては、センサとして圧力センサを例示したが、センサは、他の種類のセンサ、例えば、静電容量センサなどであってもよい。また、圧力を測定する場合、圧力分布センサを採用することもできる。
前記実施形態においては、無線通信により制御装置とスマートフォンを接続していたが、有線の通信により接続されていてもよい。
前記実施形態においては、乗物用シートとして自動車の車両に搭載されるシートを例示したが、乗物用シートは、自動車以外の鉄道などの車両のシートであってもよいし、車両以外の船舶、航空機などのシートであってもよい。
また、本発明の同期方法および同期システムは、乗物用シートに用いるシステムに限らず、広く、インターネットプロトコルを用いて通信するサーバとクライアントに適用することができる。
また、本明細書に記載した各実施形態および各変形例で説明した各要素は、適宜組み合わせて実施することが可能である。
215 同期・カウント処理部
290 記憶部
340 同期部
INT インターネット
S 乗物用シート
SP スマートフォン
SV サーバ
290 記憶部
340 同期部
INT インターネット
S 乗物用シート
SP スマートフォン
SV サーバ
Claims (6)
- サーバと、前記サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備え、
前記サーバは、所定の周期で第1カウント値を更新するサーバクロックを有し、
各前記クライアントは、第2カウント値を記憶する記憶部と、前記記憶部で記憶している第2カウント値を前記所定の周期で更新するクライアントクロックとを有するシステムにおける、複数のクライアント間の同期方法であって、
前記サーバは、前記第1カウント値を各前記クライアントに繰り返し送信し、
前記クライアントは、前記サーバから前記第1カウント値を受信した場合、受信した前記第1カウント値と、前記記憶部に記憶している前記第2カウント値とを比較し、前記第2カウント値よりも前記第1カウント値の方が進んでいる場合に、前記第1カウント値で前記第2カウント値を更新し、前記第2カウント値よりも前記第1カウント値の方が進んでいない場合には、前記第2カウント値を前記第1カウント値で更新しないことを特徴とする同期方法。 - 前記サーバは、前記所定の周期で前記第1カウント値をカウントダウンして更新し、
各前記クライアントは、前記所定の周期で前記第2カウント値をカウントダウンして更新することを特徴とする請求項1に記載の同期方法。 - 前記サーバは、前記所定の周期で前記第1カウント値をカウントアップして更新し、
各前記クライアントは、前記所定の周期で前記第2カウント値をカウントアップして更新することを特徴とする請求項1に記載の同期方法。 - 前記第1カウント値は、前記サーバが保持している時刻の値であることを特徴とする請求項1に記載の同期方法。
- 各前記クライアントは、無線公衆回線を介して前記サーバとインターネットプロトコルによって通信する携帯端末であることを特徴とする請求項1から請求項4のいずれか1項に記載の同期方法。
- サーバと、前記サーバとインターネットプロトコルによって通信可能な複数のクライアントと、を備えてなる、複数のクライアント間の同期システムであって、
前記サーバは、所定の周期で第1カウント値を更新するサーバクロックを有し、
各前記クライアントは、第2カウント値を記憶する記憶部と、前記記憶部で記憶している第2カウント値を前記所定の周期で更新するクライアントクロックとを有し、
前記サーバは、前記第1カウント値を各前記クライアントに繰り返し送信し、
前記クライアントは、前記サーバから前記第1カウント値を受信した場合、受信した前記第1カウント値と、前記記憶部に記憶している前記第2カウント値とを比較し、前記第2カウント値よりも前記第1カウント値の方が進んでいる場合に、前記第1カウント値で前記第2カウント値を更新し、前記第2カウント値よりも前記第1カウント値の方が進んでいない場合には、前記第2カウント値を前記第1カウント値で更新しないことを特徴とする同期システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019089077A JP7315822B2 (ja) | 2019-05-09 | 2019-05-09 | 複数のクライアント間の同期方法および同期システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019089077A JP7315822B2 (ja) | 2019-05-09 | 2019-05-09 | 複数のクライアント間の同期方法および同期システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020184264A JP2020184264A (ja) | 2020-11-12 |
JP7315822B2 true JP7315822B2 (ja) | 2023-07-27 |
Family
ID=73045445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019089077A Active JP7315822B2 (ja) | 2019-05-09 | 2019-05-09 | 複数のクライアント間の同期方法および同期システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7315822B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108539A (ja) | 2001-10-02 | 2003-04-11 | Hitachi Kokusai Electric Inc | サーバ及びクライアント間の時刻同期方法 |
JP2003131958A (ja) | 2001-10-24 | 2003-05-09 | Shikoku Electric Power Co Inc | 時刻同期を可能とする方法 |
JP2005099886A (ja) | 2003-09-22 | 2005-04-14 | Casio Comput Co Ltd | 時刻同期システムおよび時刻同期方法 |
JP2006340179A (ja) | 2005-06-03 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 時刻配送システム |
JP2011176768A (ja) | 2010-02-25 | 2011-09-08 | Nippon Telegr & Teleph Corp <Ntt> | プッシュ型時刻配信装置、時刻同期サーバおよび時刻同期クライアント |
-
2019
- 2019-05-09 JP JP2019089077A patent/JP7315822B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108539A (ja) | 2001-10-02 | 2003-04-11 | Hitachi Kokusai Electric Inc | サーバ及びクライアント間の時刻同期方法 |
JP2003131958A (ja) | 2001-10-24 | 2003-05-09 | Shikoku Electric Power Co Inc | 時刻同期を可能とする方法 |
JP2005099886A (ja) | 2003-09-22 | 2005-04-14 | Casio Comput Co Ltd | 時刻同期システムおよび時刻同期方法 |
JP2006340179A (ja) | 2005-06-03 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 時刻配送システム |
JP2011176768A (ja) | 2010-02-25 | 2011-09-08 | Nippon Telegr & Teleph Corp <Ntt> | プッシュ型時刻配信装置、時刻同期サーバおよび時刻同期クライアント |
Also Published As
Publication number | Publication date |
---|---|
JP2020184264A (ja) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7381950B2 (ja) | 車両 | |
WO2019172063A1 (ja) | シート | |
JP2023153849A (ja) | 乗物用シート | |
JP7125641B2 (ja) | シートシステムおよびシート体験装置 | |
JP6507532B2 (ja) | 動作情報測定装置、ゲーム制御プログラム、動作情報測定プログラム | |
US11504626B2 (en) | Seat system and seat experience device | |
JP2023184670A (ja) | シート体験システム、車両用シートおよび車両 | |
JP7315822B2 (ja) | 複数のクライアント間の同期方法および同期システム | |
JP2020083210A (ja) | シートシステム | |
US10537783B2 (en) | System and method for automatically controlling a track timing system | |
JP6331874B2 (ja) | 運動情報測定装置、プログラム、および制御方法 | |
JP6910522B2 (ja) | ゲームサーバ、プログラム、方法、ゲームシステムおよび情報処理端末 | |
US12076639B2 (en) | Seat experience system, seat unit and car | |
JP2016185226A (ja) | 運動情報測定装置、運動管理方法、及び運動管理プログラム | |
US20240367039A1 (en) | Seat experience system, seat unit and car | |
US12005811B2 (en) | Seat system | |
JP7473856B2 (ja) | シートシステム | |
CN106512392A (zh) | 一种游戏控制方法及装置 | |
JP2020124342A (ja) | プログラム、情報処理装置、ゲームサーバおよびゲームシステム | |
JP2021000558A (ja) | プログラム、情報処理装置、ゲームサーバおよびゲームシステム | |
CN118059460A (zh) | 体感运动的交互方法、装置、电子设备及存储介质 | |
JP2020141802A (ja) | 運動支援装置、運動支援方法、運動支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220420 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7315822 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |