(57)【要約】【課題】データ通信システム全体を通じて発生した処理スタックの影響を低減する。【解決手段】第１の装置の生成部において生成されたデータは、送信部によって所定の送信レートで第２の装置に送信される。第２の装置の処理部は、受信したデータを処理する。第２の装置の処理速度算出部は、処理部におけるデータの前記処理速度を算出する。第２の装置の通知部は、処理速度を第１の装置に通知する。第１の装置のレート設定部は、第２の装置におけるデータの処理速度に基づいてデータを第２の装置に送出するための適正レートを算出して当該適正レートによってデータを第２の装置に送出するように設定する。【選択図】図２
2015111769.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と、前記第１の装置から受信したデータを処理する第２の装置とを具備するデータ処理システムであって、
前記第１の装置は、
前記データを生成する生成部と、
所定の送信レートで前記第２の装置に前記データを送信する送信部と、
前記第２の装置におけるデータの処理速度に基づいて前記データを前記第２の装置に送出するための適正レートを算出して当該適正レートによって前記データを前記第２の装置に送出するように設定するレート設定部と
を備え、
前記第２の装置は、
受信した前記データを処理する処理部と、
前記処理部における前記データの前記処理速度を算出する処理速度算出部と、
前記処理速度を前記第１の装置に通知する通知部と
を備える
データ処理システム。
【請求項２】
前記第１の装置は、
少なくとも前記生成部の動作を実現するための第１のアプリケーションを実行する第１のプロセッサと、
前記第１のアプリケーションにおいて生成されたデータを前記第２の装置へ送信するための第１の通信レイヤと
を備え、
前記第２の装置は、
少なくとも前記処理部の動作を実現するための第２のアプリケーションを実行する第２のプロセッサと、
前記第１の装置から送信された前記データを受信して前記第２のアプリケーションに入力するための第２の通信レイヤと
を備え、
前記速度算出部は、前記データが前記第２のアプリケーションに入力される速度を前記処理速度として算出する
請求項１記載のデータ処理システム。
【請求項３】
前記処理速度算出部は、所定の単位時間ごとに前記第２のアプリケーションに入力される前記データの量から前記処理速度を算出する
請求項２記載のデータ処理システム。
【請求項４】
前記レート設定部は、前記適正レートに応じて前記第１のアプリケーションにおけるデータの生成レートを決定して当該生成レートによって前記データを生成するように設定する
請求項２または３に記載のデータ処理システム。
【請求項５】
前記適正レートは、前記生成部におけるデータの生成速度に対して、前記処理部における前記データの処理速度の遅延が少なくとも所定の範囲内に収まる程度のレートである
請求項１から４のいずれかに記載のデータ処理システム。
【請求項６】
前記通知部は、前記処理速度算出部により算出された前記処理速度が直前の算出結果よりも所定の閾値を超えて変動した場合の前記処理速度を前記第１の装置に通知する
請求項１から５のいずれかに記載のデータ処理システム。
【請求項７】
前記第１または第２の通信レイヤは、所定のインターバル毎に間欠通信を行う通信レイヤである
請求項２から６のいずれかに記載のデータ処理システム。
【請求項８】
前記第１または第２の通信レイヤは、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ規格に則った通信レイヤである
請求項７記載のデータ処理システム。
【請求項９】
第１の装置と、前記第１の装置から受信したデータを処理する第２の装置とを備えるデータ処理システムにおけるデータ処理方法であって、
前記第１の装置が、前記データを生成する生成手順と、
前記第１の装置が、所定の送信レートで前記第２の装置に前記データを送信する送信手順と
前記第２の装置が、受信した前記データを処理する処理手順と、
前記第２の装置が、前記処理手順における前記データの処理速度を算出する処理速度算出手順と、
前記第２の装置が、前記処理速度を前記第１の装置に通知する通知手順と
前記第１の装置が、前記通知手順において通知された前記処理速度に基づいて前記データを前記第２の装置に送出するための適正レートを算出して当該適正レートによって前記データを前記第２の装置に送出するように設定するレート設定手順と
を具備するデータ処理方法。
【請求項１０】
生成したデータを他の装置に対して送信するデータ送信装置であって、
前記データを生成する生成部と、
所定の送信レートで前記他の装置に前記データを送信する送信部と、
前記他の装置におけるデータの処理速度に基づいて前記データを前記他の装置に送出するための適正レートを算出して当該適正レートによって前記データを前記他の装置に送出するように設定するレート設定部と
を具備するデータ送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに関し、特に、生成したデータを他の装置に対して送信するデータ送信装置、それら装置を含むデータ処理システム、および、それらにおける処理方法に関する。
【背景技術】
【０００２】
データを送受信するデータ通信システムでは、データ経路上の様々な地点でデータを遅延させる要因が存在する。遅延要因の代表的なものとして、通信回線上の混雑状態などがあり、その影響を低減させるための手法が従来から知られている。例えば、パケット等を単位として信号対ノイズ比の変化を監視することによって、送信元にデータレート調整フィードバックを送信し、送信元において送信データレートをダイナミックに調節するシステムが提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３９６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術は、ワイヤレストランスポートチャネルの信号対ノイズ比、すなわち物理層とデータリンク層の間の信号対ノイズ比に着目し、通信回線上の混雑状態の影響を低減させるものである。しかしながら、近年ではスマートフォンなどの携帯端末が普及しており、処理スタックは通信回線以外において顕著に発生するようになっている。一方、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ規格などにより極小容量のデータを対象とした間欠通信が行われる場合、データの送受信に生じた遅延の規模を把握することは困難である。このように、通信と端末装置との処理負荷のバランスが従来と異なる状況下においては、単に通信回線の信号対ノイズ比を考慮するだけでは不十分である。
【０００５】
特に、リアルタイムなデータ送信を必要とする送受信システムでは、遅延が生じた場合には正確にコマンドを処理することができず、ユーザの意図しない結果に結びつくこともある。例えば、次の信号による指示があるまで受信装置がその付随するオーディオ機器の音量を（一定のレートで）大きくし続ける、という信号を送信装置が送信したとする。送信装置を用いるユーザが、最初の信号の送信後に、所望の音量となるタイミングで次の信号を送信しようと送信装置を操作した場合を考える。次の信号が受信装置のアプリケーション層で処理されるまでの間に遅延が生じるため、その遅延に相当する期間に音量が大きくなり続けることになる。したがって、リアルタイム性を有するデータについては、送信側アプリケーションの送信レートと、受信側アプリケーションの処理レートとが一致するような、同期したタイミングで処理されることが望ましい。
【０００６】
本発明はこのような状況に鑑みて生み出されたものであり、データ通信システム全体を通じて発生した処理スタックの影響を低減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の問題点を解消するためになされたものであり、その第１の側面は、第１の装置と、上記第１の装置から受信したデータを処理する第２の装置とを具備するデータ処理システムであって、上記第１の装置は、上記データを生成する生成部と、所定の送信レートで上記第２の装置に上記データを送信する送信部と、上記第２の装置におけるデータの処理速度に基づいて上記データを上記第２の装置に送出するための適正レートを算出して当該適正レートによって上記データを上記第２の装置に送出するように設定するレート設定部とを備え、上記第２の装置は、受信した上記データを処理する処理部と、上記処理部における上記データの上記処理速度を算出する処理速度算出部と、上記処理速度を上記第１の装置に通知する通知部とを備えるデータ処理システムおよびその処理方法である。これにより、第２の装置におけるデータの処理速度に基づいて算出された適正レートを生成レートとして設定するという作用をもたらす。
【０００８】
また、本発明の第２の側面は、生成したデータを他の装置に対して送信するデータ送信装置であって、上記データを生成する生成部と、所定の送信レートで上記他の装置に上記データを送信する送信部と、上記他の装置におけるデータの処理速度に基づいて上記データを上記他の装置に送出するための適正レートを算出して当該適正レートによって上記データを上記他の装置に送出するように設定するレート設定部とを具備するデータ送信装置である。これにより、他の装置におけるデータの処理速度に基づいて算出された適正レートを生成レートとして設定するという作用をもたらす。
【発明の効果】
【０００９】
本発明によれば、データ通信システム全体を通じて発生した処理スタックの影響を低減することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態におけるデータ処理システムを概念化したシステム９０の一例を示す図である。
【図２】本発明の実施の形態のデータ処理システムにおける送信装置１０の構成例を示す図である。
【図３】本発明の実施の形態のデータ処理システムにおける受信装置２０の構成例を示す図である。
【図４】本発明の実施の形態におけるコマンド処理の遷移の一例を示すシーケンス図である。
【図５】本発明の実施の形態におけるデータ処理方法の処理手順の一例を示す流れ図である。
【図６】本発明の実施の形態におけるデータ処理システムの階層構成の一例を示す図である。
【図７】本発明の実施の形態のデータ処理システムの具体例としてのラジコンカー制御システムの全体構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。
【００１２】
＜概念＞
図１は、本発明の実施の形態におけるデータ処理システムを概念化したシステム９０の一例を示す図である。ここでは、システム９０のデータの流出入の関係例が示されている。送信装置から送信されたデータとして、コマンドおよびそのレスポンスなどを想定する。レスポンスには、コマンドを処理した結果を示すステータスが含まれる。
【００１３】
送信装置は、受信装置における処理速度の通知のフィードバックを受けて、経路上に生じている何らかの処理スタックの存在を検出する。ここで、経路とは、送信装置におけるデータの生成から、受信装置におけるデータの処理に至るまでのあらゆる段階を含むものとする。受信装置における最終的な処理速度に基づいて、送信装置はデータが遅延せずに（例えば、リアルタイムで）処理される適切なレート（スループット）を算出して、受信装置へのデータの送出に適用する。ここで、送出とは、送信装置におけるデータの生成から送信までの各処理を含む広い概念である。
【００１４】
受信装置では、適宜、処理速度を計測（算出）し、処理速度に変化が生じた際に、その旨を送信装置に通知する。例えば、コマンドの処理に支障が出るほど大きく処理速度が低下した場合などが想定される。但し、送信装置への通知タイミングは、これだけに限られるものではなく、例えば、一定時間が経過する度に通知するようにしてもよい。
【００１５】
システム９０に入るデータの流入速度と、システム９０から出るデータの流出速度との差異に基づいて、経路上のシステム９０において生じている個々の遅延または処理スタックによって生じた影響が推測され、システム９０に入るデータの流入速度がフィードバック調整される。システム９０に入るデータの流入速度は、送信装置におけるコマンドの生成および送信のレートである。システム９０から出るデータの流出速度は、受信装置におけるコマンドの処理速度である。同図では、流入速度が１ミリ秒当りＸビット（もしくは、バイトまたはコマンド）であり、流出速度が１ミリ秒当りＹビット（もしくは、バイトまたはコマンド）である例を示している。送信装置は、流出速度のレートＹを受け取って、流入速度のレートＸの調整に反映する。
【００１６】
＜構成＞
図２は、本発明の実施の形態のデータ処理システムにおける送信装置１０の構成例を示す図である。この送信装置１０は、プロセッサ１００と、通信処理チップ１４０と、アンテナ１５０とを備えている。
【００１７】
プロセッサ１００は、ソフトウェアプログラムを実行する処理装置である。このプロセッサ１００上で実行されるソフトウェアプログラムとしては、アプリケーション１１０、オペレーティングシステム（ＯＳ）１２０およびドライバ１３０が想定される。
【００１８】
アプリケーション１１０は、ユーザ側に近いソフトウェアプログラムであり、それぞれ別々の働きをする複数のアプリケーション１１０−１および１１０−２などが存在し得る。ここでは、それらを総称してアプリケーション１１０と呼ぶ。この例では、受信装置において処理されるコマンドを生成する機能を有するアプリケーション１１０−１と、コマンドを生成するレートを設定する機能を有するアプリケーション１１０−２とを示している。アプリケーション１１０−１は、受信装置において処理されるコマンドを生成するコマンド生成部１１１を備える。アプリケーション１１０−２は、コマンドの送出のレートを設定するレート設定部１１２を備える。
【００１９】
ＯＳ１２０は、システム側のソフトウェアプログラムである。ドライバ１３０は、ハードウェアを直接操作するためのソフトウェアプログラムである。ここではＯＳ１２０およびドライバ１３０を一体化して示している。ＯＳ１２０およびドライバ１３０は、コマンド生成部１１１によって生成されたコマンドを通信処理チップ１４０に出力するコマンド出力部１３１と、通信処理チップ１４０からレスポンスを入力するレスポンス入力部１３２とを備える。
【００２０】
通信処理チップ１４０は、プロセッサ１００と外部の装置との間の通信処理を行う半導体チップである。この通信処理チップ１４０は、外部の装置に対して送信処理を実行する送信処理部１４１と、外部の装置からの受信処理を実行する受信処理部１４２とを備える。この通信処理チップ１４０により取り扱われる通信規格としては、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ、ＷｉＦｉ（登録商標）などが想定される。特に、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ、ＷｉＦｉ（登録商標）規格等において所定のインターバル毎に間欠通信を行う場合に、本発明の実施の形態として顕著な効果を奏し得る。なお、この通信処理チップ１４０は、特許請求の範囲における通信レイヤの一部を構成するものであり、特に論理レイヤとしての機能を有する。
【００２１】
アンテナ１５０は、外部の装置との間で通信を行うために電波を送受信するためのアンテナ機器である。このアンテナ１５０は、通信処理チップ１４０の送信処理部１４１および受信処理部１４２に接続される。なお、このアンテナ１５０は、特許請求の範囲における通信レイヤの一部を構成するものであり、特に物理レイヤとしての機能を有する。
【００２２】
図３は、本発明の実施の形態のデータ処理システムにおける受信装置２０の構成例を示す図である。この受信装置２０は、プロセッサ２００と、通信処理チップ２４０と、アンテナ２５０とを備えている。
【００２３】
プロセッサ２００は、プロセッサ１００と同様に、ソフトウェアプログラムを実行する処理装置である。このプロセッサ２００上で実行されるソフトウェアプログラムとしては、プロセッサ１００と同様に、アプリケーション２１０、ＯＳ２２０およびドライバ２３０が想定される。
【００２４】
アプリケーション２１０は、ユーザ側に近いソフトウェアプログラムであり、それぞれ別々の働きをする複数のアプリケーションを総称してアプリケーション２１０と呼ぶ。この例では、送信装置１０から送信されたコマンドを処理する機能を有するアプリケーション２１０−１と、アプリケーション２１０−１に入力されるコマンドからアプリケーション処理速度を算出する機能を有するアプリケーション２１０−２とを示している。アプリケーション２１０−１は、送信装置１０から送信されたコマンドを処理するコマンド処理部２１３を備えている。アプリケーション２１０−２は、コマンド監視部２１４と処理速度算出部２１５とを備える。コマンド監視部２１４は、アプリケーション２１０−１に入力されるコマンドを監視するものである。処理速度算出部２１５は、監視されたコマンドの時間的間隔や所定の単位時間ごとに入力されるデータ量からアプリケーション処理速度を算出するものである。
【００２５】
ＯＳ２２０は、ＯＳ１２０と同様に、システム側のソフトウェアプログラムである。ドライバ２３０は、ドライバ１３０と同様に、ハードウェアを直接操作するためのソフトウェアプログラムである。ここではＯＳ２２０およびドライバ２３０を一体化して示している。ＯＳ２２０およびドライバ２３０は、送信装置１０から受信したコマンドを通信処理チップ２４０を介して入力するコマンド入力部２３１と、アプリケーション２１０−２によって生成されたレスポンスを通信処理チップ２４０に出力するレスポンス出力部２３２とを備える。
【００２６】
通信処理チップ２４０は、通信処理チップ１４０と同様に、プロセッサ２００と外部の装置との間の通信処理を行う半導体チップである。この通信処理チップ２４０は、外部の装置に対して送信処理を実行する送信処理部２４１と、外部の装置からの受信処理を実行する受信処理部２４２とを備える。なお、この通信処理チップ２４０は、特許請求の範囲における通信レイヤの一部を構成するものであり、特に論理レイヤとしての機能を有する。
【００２７】
アンテナ２５０は、アンテナ１５０と同様に、外部の装置との間で通信を行うために電波を送受信するためのアンテナ機器である。このアンテナ２５０は、通信処理チップ２４０の送信処理部２４１および受信処理部２４２に接続される。なお、このアンテナ２５０は、特許請求の範囲における通信レイヤの一部を構成するものであり、特に物理レイヤとしての機能を有する。
【００２８】
この構成において、コマンド監視部２１４によって監視されたコマンド（データ）の入力の時間的間隔、および、その時間的間隔におけるコマンドのサイズ（データ量、コマンド数、パケット数など）に基づいて、処理速度算出部２１５がアプリケーション処理速度を算出する。そして、その算出されたアプリケーション処理速度が送信装置１０にフィードバックされる。
【００２９】
図４は、本発明の実施の形態におけるコマンド処理の遷移の一例を示すシーケンス図である。ここでは、３つのコマンドが処理される過程を示している。３つのコマンドは、それぞれ、Ｘ１、Ｘ２およびＸ３のデータサイズを有する。
【００３０】
送信装置１０のアプリケーション１１０において生成された３つのコマンドは受信装置２０に向けて出力されるが、アプリケーション１１０の段階ではそれぞれの時間的間隔はＴｔ１およびＴｔ２である。その後、コマンドは、ＯＳ１２０、ドライバ１３０、通信処理チップ１４０およびアンテナ１５０を経て受信装置２０に送信され、受信装置２０においてはアンテナ２５０、通信処理チップ２４０、ドライバ２３０およびＯＳ２２０を経てアプリケーション２１０に入力される。アプリケーション２１０の段階では、３つのコマンドのそれぞれの時間的間隔はＴｒ１およびＴｒ２となる。
【００３１】
コマンドがアプリケーション１１０からアプリケーション２１０に到達する経路上において、何らかの遅延を生じた場合には、時間的間隔Ｔｔ１とＴｒ１、または、時間的間隔Ｔｔ２とＴｒ２は、必ずしも一致しない。処理速度算出部２１５がアプリケーション処理速度を算出して、例えば処理速度に変化が生じた際に、その旨を送信装置１０に通知する。これにより、送信装置１０において適正なレートによりコマンドを出力することができる。
【００３２】
＜動作＞
図５は、本発明の実施の形態におけるデータ処理方法の処理手順の一例を示す流れ図である。
【００３３】
送信装置１０のアプリケーション１１０−１から出力されたコマンドは、データ処理システムの経路上を経て、受信装置２０のアプリケーション２１０−１によって処理される（ステップＳ９１１）。受信装置２０において、アプリケーション２１０−１に入力されたコマンドはアプリケーション２１０−２によって監視される（ステップＳ９１２）。そして、監視された情報に基づいて、受信装置２０のアプリケーション２１０−１における処理速度が算出される（ステップＳ９１３）。
【００３４】
所定のタイミングが到来すると、ステップＳ９１５およびＳ９１６の処理によって、受信装置２０から送信装置１０へのフィードバックが行われる（ステップＳ９１４：Ｙｅｓ）。この所定のタイミングとしては、処理速度に変化が生じた際や、一定時間が経過した度などの、種々のタイミングが想定される。
【００３５】
フィードバックが行われる場合、受信装置２０のアプリケーション２１０−２は、ステップＳ９１３で算出した処理速度を送信装置１０に対して通知する（ステップＳ９１５）。これにより、送信装置１０のアプリケーション１１０−２において、コマンドの送信レートが新たな処理速度に基づいて設定（補正）される（ステップＳ９１６）。
【００３６】
ステップＳ９１２以降の処理は、データ処理が終了するまで繰り返される（ステップＳ９１７）。
【００３７】
このように、送信装置１０におけるデータ生成および送信から、受信装置２０におけるデータの最終的な処理に至るまでの経路上で発生している処理スタックの影響を、システム９０へのデータの入口と出口におけるデータ流速に基づいて推測することができる。すなわち、送受信装置間の送信データレートを把握し、それに合わせて送信データレートを設定することができる。したがって、送信経路上でデータ詰まり（スタック）が生じた場合であっても、スムーズなデータ処理を行うことができる。
【００３８】
図６は、本発明の実施の形態におけるデータ処理システムの階層構成の一例を示す図である。
【００３９】
送信装置１０のアプリケーション１１０−１から出力されたコマンド（データ）は、ＯＳ１２０、ドライバ１３０−１、通信処理チップ１４０−１、アンテナ１５０を経て送信装置１０から送信される。受信装置２０では、アンテナ２５０、通信処理チップ２４０−１、ドライバ２３０−１、ＯＳ２２０を経てコマンドがアプリケーション２１０−１に入力される。
【００４０】
アプリケーション１１０−１からアプリケーション２１０−１へとコマンド（データ）を出力して処理させる場合において、そのデータ経路は、他のアプリケーション、通信処理チップまたはドライバなどにリソースを取られるため、使用可能なリソースが制限されている。これにより、論理プロトコルおよび物理プロトコル内でのデータの処理遅延が生じる。
【００４１】
その遅延要因としては、例えば、以下のものが考えられる。まず１つ目としては、アプリケーションの動作に起因するものである。アプリケーションが複数動作することによって、プロセッサの処理リソースが分散する。動作に着目しているアプリケーション以外のアプリケーションが動作しているだけで、プロセッサの処理リソースを一部占有することになる。
【００４２】
２つ目としては、ＯＳの動作に起因するものである。アプリケーションが個別にＯＳを呼び出すため、ＯＳによる処理が時分割される。コマンド送信時など、ＯＳを呼び出す際の処理において、プロセッサの処理リソースが分散し、処理レートが低減する。
【００４３】
３つ目としては、ドライバの動作に起因するものである。ドライバが複数動作することでプロセッサの処理リソースが分散し、処理レートが低減する。
【００４４】
４つ目としては、通信処理に起因するものである。複数のチップが個別にアンテナを使用するため、通信が時分割される。例えば、スマートフォンなどの多機能通信端末においては、Ｂｌｕｅｔｏｏｔｈ（登録商標）による近距離通信とＷｉＦｉ（登録商標）による無線ＬＡＮ通信とでは使用帯域が近いため、同一のアンテナを共有することがある。このような場合に、目当てのアプリケーションがＢｌｕｅｔｏｏｔｈ（登録商標）通信を行う場合、他のチップがＷｉＦｉ（登録商標）通信を使用していれば競合が生じる。
【００４５】
５つ目としては、通信回線の状況に起因するものである。送信装置１０から受信装置２０へデータを送信する際の、回線状況の条件悪化や、パケットの再送、ポーズフレームによるパケット送信の一時停止などがスループットを低下させ、処理スタックの要因となり得る。
【００４６】
この実施の形態では、回線状況などに基づいてデータの送信遅延や輻輳への対策のためにフロー制御を行うだけではなく、再送の発生や、装置内部での中間的な処理に起因する処理のスタック全てを含んだ最終的な処理速度のフィードバックによって、送信レートの調整を行う。したがって、送信側アプリケーションと、受信側アプリケーションとの間に処理階層、中継点が多いほど効果は顕著なものとなる。
【００４７】
＜具体例＞
図７は、本発明の実施の形態のデータ処理システムの具体例としてのラジコンカー制御システムの全体構成例を示す図である。このラジコンカー制御システムは、スマートフォンなどの多機能通信端末をラジコンカー２１のコントローラ１１として用いることを想定している。
【００４８】
コントローラ１１は、上述の送信装置１０と同様の内部構成を有しており、プロセッサ１００と通信処理チップ１４０とを備えている。また、プロセッサ１００は、アプリケーション１１０、ＯＳ１２０およびドライバ１３０の階層を有するソフトウェアプログラムを実行する。
【００４９】
ラジコンカー２１は、上述の受信装置２０に対応するものであり、制御チップ２０１と通信処理チップ２４０とを備える。制御チップ２０１はプロセッサ２００に対応するものであり、ここでは、コマンド処理部２１３と処理速度算出部２１５とを備える。通信処理チップ２４０としては、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）送受信ＩＣチップが用いられる。
【００５０】
コマンド処理部２１３は、通信処理チップ２４０を介してコマンドを受け取って、そのコマンドに従ってラジコンカー２１を動作させるものである。処理速度算出部２１５は、コマンド処理部２１３による処理速度から、その処理レートを計測または算出するものである。
【００５１】
ここで、コントローラ１１側においては、以下のような要因により遅延が生じる。１つ目としては、ＯＳの動作に起因するものである。コントローラ１１のアプリケーション１１０で生成されたコマンドがＯＳ１２０から出力されるに当たり、ＯＳ１２０がＵＩ（ユーザインターフェース）の処理など他の処理を行っていることによって、ビジー状態になっている場合などには、ＯＳ１２０においてコマンドの出力が留保される。
【００５２】
２つ目としては、ドライバ１３０の動作に起因するものである。ドライバ１３０の１つとして、Ｂｌｕｅｔｏｏｔｈ（登録商標）プロトコルスタックは、ネットワーク用の通信の階層を担当して、コマンドのパケット化や通信処理チップ１４０への送信指示などを行う。通信処理チップ１４０がビジー状態である場合など、送信処理に遅延が生じている場合には、ドライバ１３０においてコマンドの出力が留保される。
【００５３】
３つ目としては、通信処理に起因するものである。通信処理チップ１４０は、アンテナ１５０を介してラジコンカー２１に対してコマンドを送信する。アンテナ１５０が他の通信方式と共用である場合や、ノイズ過多で再送が何度も発生する場合などに、通信処理チップ１４０においてコマンドの送信が遅延する。
【００５４】
このような処理遅延が生じている場合、コマンド送出レートに対するフィードバックを行わないと、比較的高速に生成されるユーザの操作コマンドが、経路上で遅延してラジコンカー２１に伝達されるため、コマンド生成から処理までの間にユーザの意図しないタイムラグが生じてしまう。そのような影響を緩和するために、この実施の形態では、ラジコンカー２１は、所定のタイミング（任意のインターバルや、コントローラからの問合せに応じたタイミングなど）で、処理レートをコントローラ１１にフィードバックする。これにより、ラジコンカー２１へのコマンドの送出レートが適正に調整される。
【００５５】
なお、上述の実施の形態は本発明を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００５６】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【符号の説明】
【００５７】
１０  送信装置
１１  コントローラ
２０  受信装置
２１  ラジコンカー
９０  システム
１００  プロセッサ
１１０  アプリケーション
１１１  コマンド生成部
１１２  レート設定部
１３０  ドライバ
１３１  コマンド出力部
１３２  レスポンス入力部
１４０  通信処理チップ
１４１  送信処理部
１４２  受信処理部
１５０  アンテナ
２００  プロセッサ
２０１  制御チップ
２１０  アプリケーション
２１３  コマンド処理部
２１４  コマンド監視部
２１５  処理速度算出部
２３０  ドライバ
２３１  コマンド入力部
２３２  レスポンス出力部
２４０  通信処理チップ
２４１  送信処理部
２４２  受信処理部
２５０  アンテナ
【図１】
2015111769.tif 000003
【図２】
2015111769.tif 000004
【図３】
2015111769.tif 000005
【図４】
2015111769.tif 000006
【図５】
2015111769.tif 000007
【図６】
2015111769.tif 000008
【図７】
2015111769.tif 000009