JP2010153995A - Packet communication method - Google Patents
Packet communication method Download PDFInfo
- Publication number
- JP2010153995A JP2010153995A JP2008327348A JP2008327348A JP2010153995A JP 2010153995 A JP2010153995 A JP 2010153995A JP 2008327348 A JP2008327348 A JP 2008327348A JP 2008327348 A JP2008327348 A JP 2008327348A JP 2010153995 A JP2010153995 A JP 2010153995A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- remote device
- credit
- local device
- data
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、複数のデバイス間でパケットデータを送受信するためのパケット通信方法に関するものである。 The present invention relates to a packet communication method for transmitting and receiving packet data between a plurality of devices.
従来、オーディオ信号や映像信号のように連続性があり、かつ、リアルタイム性を確保する必要があるデータの送受信に適した無線通信方法が知られている(例えば、特許文献1参照。)。この先行技術は、通信装置が他のデバイスとの間でデータ通信を行う際、通信対象として複数のデバイスが検出された場合にリアルタイム性が要求されるデバイスとそれ以外のデバイスとを区別して認識しておき、先にリアルタイム性が要求されない方のデバイスとの通信を確立し、その後でリアルタイム性が要求されるデバイスとの間でオーディオ信号の伝送を行うものである。また先行技術では、通信装置においてリアルタイム性が要求されるデバイスとの間でデータ伝送が行われている間、その他のデバイスの検出や既に通信を確立したデバイスとの通信を行わないこととしている。 2. Description of the Related Art Conventionally, there is known a wireless communication method suitable for data transmission / reception that has continuity such as an audio signal and a video signal and needs to ensure real-time property (see, for example, Patent Document 1). In this prior art, when a communication apparatus performs data communication with another device, when a plurality of devices are detected as communication targets, a device that requires real-time property is distinguished from other devices. In addition, communication with a device that does not require real-time property is established first, and then an audio signal is transmitted to the device that requires real-time property. In the prior art, while data transmission is being performed with a device that requires real-time performance in a communication apparatus, detection of other devices and communication with a device that has already established communication are not performed.
上記の先行技術によれば、例えばオーディオ機器から通信機器に対してオーディオ信号等の伝送が行われている間、それ以外のデバイスである携帯電話機との通信は原則として行われない。この場合、例えば1曲分のオーディオ信号の伝送が終了するまでの間はオーディオ機器との通信が優先されるため、リアルタイム性を失うことなくオーディオの再生が可能になると考えられる。 According to the above-described prior art, for example, while an audio signal or the like is being transmitted from an audio device to a communication device, communication with a mobile phone that is another device is not performed in principle. In this case, for example, communication with the audio device is prioritized until the transmission of the audio signal for one song is completed, so that it is considered that the audio can be reproduced without losing the real time property.
さらに先行技術では、オーディオデータの再生及び転送を優先している間であっても、例えば携帯電話機に着信があると、割り込み処理によって携帯電話機との通信を実行することができる。このため、通常はリアルタイム性を優先しつつ、通話等の急を要する状況が発生した場合はそちらに通信を切り替えることができるので、ユーザの要望に応じた態様で通信を実行することができると考えられる。
しかしながら上記の先行技術は、リアルタイム性が要求されるデバイスを優先するあまり、それ以外のデバイスとの通信を大きく犠牲にしている。このため先行技術の通信方法は、ユーザにとってあまり利便性が高いとはいえない。例えば、複数のデバイスを同時並行してユーザが使用しようとしても、先行技術の手法ではリアルタイム性が要求されるデータの伝送が終了するまで他のデバイスは使用できなくなるという不便さがある。 However, the above prior art gives priority to a device that requires real-time performance, and greatly sacrifices communication with other devices. For this reason, the prior art communication method is not very convenient for the user. For example, even if a user tries to use a plurality of devices at the same time, the prior art technique has the inconvenience that other devices cannot be used until the transmission of data requiring real-time performance is completed.
そうかといって、複数のデバイスから同時並行してデータの伝送を行うことを単純に許可しただけでは、リアルタイム性を要求されるデータの受信帯域が圧迫されてしまい、オーディオ等を再生する際の品質を劣化させてしまうことになる。 However, simply allowing data transmission from multiple devices at the same time would impose pressure on the data reception bandwidth that requires real-time performance, and when playing audio, etc. The quality will be degraded.
また近年、Bluetooth(登録商標)対応製品の多様化により、1つの通信システム内で複数のデバイスが別々のアプリケーションを同時に実行するというケースが増えつつある。例えば、ダイアルアップやシリアルポートを用いたアプリケーションによるデータアクセス中に、これとは別のオーディオアプリケーションによる音楽の再生が開始されたり、さらに別のハンズフリーアプリケーションによる音声通話が開始されたりすることがある。このような場合、いずれの通信も中断させることなく、その中でオーディオ再生の音質を優先したり、音声通話の音質を優先したりすることへの要望が高まってきている。 In recent years, with the diversification of products compatible with Bluetooth (registered trademark), cases in which a plurality of devices simultaneously execute different applications in one communication system are increasing. For example, during data access by an application using a dial-up or a serial port, music playback by another audio application may be started, or a voice call by another hands-free application may be started. In such a case, there is an increasing demand for giving priority to the sound quality of audio reproduction and giving priority to the sound quality of voice calls without interrupting any communication.
そこで本発明は上記の事情に鑑み、同時に多様な通信状態を許容しつつ、その中でも優先度の高いデータに対して充分な受信帯域を確保することができるパケット通信方法を提供しようとするものである。 Therefore, in view of the above circumstances, the present invention intends to provide a packet communication method capable of ensuring a sufficient reception band for high priority data while allowing various communication states at the same time. is there.
解決手段1:本発明は、複数の通信プロファイルを用いて通信する機能を有したローカルデバイス及びリモートデバイスから構成される通信システム内で使用されるパケット通信方法である。詳細には、ローカルデバイスとリモートデバイスとの通信開始時に予めローカルデバイスが受信可能なパケット数をリモートデバイスに通知し、この通知されたパケット数分のデータをリモートデバイスからローカルデバイスに送信してローカルデバイスで受信する通信処理を繰り返しながら所望量のパケットデータを送受信するパケット通信方法である。その上で本発明のパケット通信方法は、以下の工程に特徴を有するものである。 Solution 1: The present invention is a packet communication method used in a communication system including a local device and a remote device having a function of performing communication using a plurality of communication profiles. Specifically, when the communication between the local device and the remote device is started, the remote device is notified in advance of the number of packets that can be received by the local device, and the data corresponding to the notified number of packets is transmitted from the remote device to the local device. This is a packet communication method for transmitting and receiving a desired amount of packet data while repeating the communication process received by the device. In addition, the packet communication method of the present invention is characterized by the following steps.
(1)検出工程
この工程は、ローカルデバイスがいずれかのリモートデバイスとの間で通信処理を実行する際、複数ある通信プロファイルの中でいずれの通信プロファイルを用いて通信処理が実行されているかを検出するものである。
(1) Detection process This process determines which communication profile is used for communication processing among a plurality of communication profiles when the local device executes communication processing with any remote device. It is to detect.
すなわち通信プロファイルは、それ自身が使用する通信プロトコルを特定しているため、通信処理で用いられている通信プロファイルを検出することで、その通信処理がどのような通信状態にあるのかを識別することができる。 In other words, since the communication profile specifies the communication protocol used by itself, the communication profile used in the communication process is detected to identify the communication state of the communication process. Can do.
(2)減少工程
この工程は、ローカルデバイスが特定のリモートデバイスとの間で通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の通信処理が実行されたことを検出した場合、現在実行中の通信処理の中でローカルデバイスが特定のリモートデバイスに通知する受信可能なパケット数を減少させることにより、別の通信プロファイルを用いた通信処理の中でローカルデバイスが受信可能なパケット数を相対的に増加させるものである。
(2) Decrease step This step is for another communication that is different from the current one with the same specific remote device or another remote device while the local device is performing communication processing with the specific remote device. When it is detected that another communication process has been executed using the profile, the local device can reduce the number of receivable packets notified to a specific remote device in the currently executing communication process. In the communication processing using the communication profile, the number of packets that can be received by the local device is relatively increased.
これにより、現在実行中の通信処理はパケット数の減少によって相対的に帯域が狭められるが、その一方で別の通信プロファイルを用いた通信処理に割くことができる帯域を相対的に広げることができる。このため、意図的に優先させたい通信処理のスループットをそれだけ多くしつつ、いずれの通信処理も犠牲にすることなく同時並行して通信システム内でのデータ通信を継続することができる。 As a result, the bandwidth of the currently executing communication process is relatively narrowed due to the decrease in the number of packets, while the bandwidth that can be allocated to the communication processing using another communication profile can be relatively widened. . For this reason, it is possible to continue the data communication in the communication system in parallel without sacrificing any communication processing while increasing the throughput of the communication processing that is intentionally given priority.
解決手段2:解決手段1のパケット通信方法において、さらに以下の工程を有してもよい。
Solution 2: The packet communication method of
(3)待機工程
この工程は、ローカルデバイスが特定のリモートデバイスとの間で通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の通信処理が実行されたことを検出した場合、現在実行中の通信処理の中に待機時間を挿入するものである。
(3) Standby process This process is a process in which a local device is performing communication processing with a specific remote device, and another communication different from the current with the same specific remote device or another remote device. When it is detected that another communication process has been executed using the profile, a waiting time is inserted into the currently executed communication process.
このような工程を追加することにより、上記(2)の減少工程による帯域の確保と合わせて、より優先させたい通信処理に対して必要な帯域を割り当てることができる。 By adding such a process, it is possible to allocate a necessary band for a communication process to be given higher priority in addition to securing a band by the reduction process of (2) above.
解決手段3:解決手段2において、待機時間を挿入する工程では、現在実行中の通信処理の中でローカルデバイスが特定のリモートデバイスに受信可能なパケット数を通知する前に待機時間を挿入することが好ましい。
Solution 3: In the
上記のように本パケット通信方法では、ローカルデバイスから受信可能なパケット数を通知するまでは、リモートデバイスからローカルデバイスに対してデータを送信することができない。したがって、ローカルデバイスからリモートデバイスへ受信可能なパケット数を通知する前に待機時間を挿入すれば、それだけ現在の通信処理に遅延が発生するため、相対的に別の通信処理の優先度を高めることができる。 As described above, in this packet communication method, data cannot be transmitted from the remote device to the local device until the number of packets that can be received from the local device is notified. Therefore, if a waiting time is inserted before the number of packets that can be received from the local device to the remote device is inserted, a delay occurs in the current communication process, so that the priority of another communication process is relatively increased. Can do.
解決手段4:解決手段1から3のパケット通信方法において、パケット数を相対的に増加させる工程では、現在の通信プロファイルに比較して別の通信プロファイルの方がよりリアルタイム性を要求されるものである場合に現在実行中の通信処理の中でパケット数を減少させることが好ましい。
Solution 4: In the packet communication methods of
このような態様であれば、単純に後から開始された通信処理を優先するのではなく、通信プロファイルの特性からみて優先度の高い方の通信処理を確実に優先させることができる。 With such an aspect, priority is not given simply to the communication process started later, but it is possible to reliably give priority to the communication process with the higher priority in view of the characteristics of the communication profile.
解決手段5:あるいは、解決手段1から3のパケット通信方法において、パケット数を相対的に増加させる工程では、別の通信プロファイルがオーディオデータ又は音声通話データをローカルデバイスで受信する場合に使用されるものであるか、もしくは、所定時間内にリモートデバイスからローカルデバイスへのデータ転送を完了させる必要がある場合に使用されるものであるかのいずれかである場合、現在実行中の通信処理の中でパケット数を減少させることが好ましい。
Solution 5: Alternatively, in the packet communication method of
この場合も同様に、通信プロファイルの特性からみて優先度の高い方の通信処理を確実に優先させることができることに加えて、所定時間内にデータ転送を完了させる必要がある場合のように、後から意図的に優先させたい通信処理が開始されれば、そちらを確実に優先させることができる。 Similarly, in this case, in addition to being able to reliably give priority to the communication process with the higher priority in view of the characteristics of the communication profile, it is necessary to complete the data transfer within a predetermined time. If communication processing that is intentionally prioritized is started, it can be surely prioritized.
解決手段6:解決手段1から5のパケット通信方法において、ローカルデバイスとリモートデバイスとの間で行われる通信処理は、特定の短距離無線通信規格におけるRFCOMMプロトコルにより定義されたクレジットベースドフローコントロールに則り、ローカルデバイスが受信可能なパケット数をクレジット数としてローカルデバイスからリモートデバイスに通知する手順と、リモートデバイスからパケットデータをローカルデバイスに送信するごとにリモートデバイスにおいてクレジット数を減少させる手順とを含むものである。
Solution 6: In the packet communication methods of
この場合、クレジット数がリモートデバイスにおいて残存している間はリモートデバイスからローカルデバイスに対してパケットデータの送信が可能である一方、クレジット数が残存しなくなるとリモートデバイスからローカルデバイスからリモートデバイスへのパケットデータの送信が不可となる。 In this case, while the credit amount remains in the remote device, packet data can be transmitted from the remote device to the local device. On the other hand, when the credit amount does not remain, the remote device transfers from the local device to the remote device. Packet data cannot be transmitted.
例えば、特定の短距離無線通信規格としてBluetooth(登録商標)を使用した場合、そのRFCOMMプロトコルで定義されたクレジットベースドフローコントロール(Credit Based Flow Control)を必須機能とするため、ローカルデバイスとリモートデバイスとの間での相互接続性の観点からも有利なパケット通信方法を実現することができる。 For example, when Bluetooth (registered trademark) is used as a specific short-range wireless communication standard, the credit-based flow control defined by the RFCOMM protocol is an essential function. It is possible to realize a packet communication method that is advantageous also from the viewpoint of mutual connectivity between the two.
以上のように本発明のパケット通信方法によれば、多様な通信プロファイルを用いた通信処理を同時に実行しつつ、より優先させたい通信処理に対して必要な帯域を確保することができる。これにより、リアルタイム性のあるデータ通信の品質劣化を防止してユーザの利便性を高めたり、意図的に優先させたいデータの転送を早期に完了させたりすることができる。 As described above, according to the packet communication method of the present invention, it is possible to secure a necessary band for a communication process to be given higher priority while simultaneously executing communication processes using various communication profiles. As a result, it is possible to prevent deterioration of the quality of data communication with real-time characteristics and improve user convenience, or to complete transfer of data that is intentionally prioritized at an early stage.
以下、本発明の実施形態について図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
〔通信システムの概要〕
図1は、通信システム10の構成例を概略的に示す図である。この通信システム10は、例えば自動車に搭載された車載電装ユニット12をローカルデバイスとし、車内に持ち込まれる各種の携帯機器14,16,18をそれぞれリモートデバイスとして構成されている。これら車載電装ユニット12や携帯機器14,16,18は、いずれもブルートゥース(Bluetooth:登録商標)規格に準拠した無線通信機能を有している。なお、以下の説明では、Bluetooth(登録商標)を「BT」と略称する。
[Outline of communication system]
FIG. 1 is a diagram schematically illustrating a configuration example of a
〔車載電装ユニット〕
車載電装ユニット12は、例えば走行経路誘導(ナビゲーション)機能を有するほか、オーディオ再生機能やビデオ再生機能、ラジオ、テレビ等の受信機能等を有する。このため車載電装ユニット12には、液晶ディプレイ等を用いた表示部20や、図示しないプッシュスイッチ、キースイッチ、回転つまみ等を有した操作部22が付属するほか、音響出力用のスピーカ24、マイク26等の周辺機器が付属している。
[In-vehicle electrical unit]
The in-vehicle
また車載電装ユニット12は、上記の周辺機器を制御する制御部28を内蔵するほか、BTによる無線通信機能を発揮するためにBTモジュール30を内蔵している。なお制御部28は、例えば中央処理装置であるCPUやROM、RAM等のメモリデバイスを備えたマイクロコンピュータである。またBTモジュール30は、車載電装ユニット12(制御部28)をホストとしてBT通信を用いたサービス(例えば無線接続)を提供することができる。
In addition, the in-vehicle
〔携帯機器〕
携帯機器14,16,18は、例えば携帯音楽プレーヤ、携帯情報端末、携帯電話機等のユーザが携帯して使用することができる電子機器である。いずれにしても、携帯機器14,16,18にも図示しないBTモジュールが内蔵されており、このBTモジュールを用いて携帯機器14,16,18はそれぞれBTによる無線通信機能を発揮することができる。
[Portable equipment]
The
〔通信システムの特性〕
ここで挙げている通信システム10は、そのローカルデバイスとして単一の車載電装ユニット12を有しているが、ローカルデバイスが通信の対象とするリモートデバイスとして、複数の携帯機器14,16,18を含むことができる。したがって通信システム10の動作としては、例えば以下の2つの状態を挙げることができる。
[Characteristics of communication system]
The
(1)マルチコネクション
この通信状態は、ローカルデバイスである車載ユニット12が同時に複数のリモートデバイス(携帯機器14〜18)を対象として通信(データ受信)を行う場合である。例えば、携帯機器14〜18がそれぞれにBT通信を行うアプリケーションを実行した場合、通信システム10の動作はマルチコネクションとなる。
(1) Multi-connection This communication state is a case where the in-
(2)マルチプロファイル
この通信状態は、車載ユニット12が1台の携帯機器14〜18のいずれかとの間、もしくは複数台の携帯機器14〜18との間で複数の通信プロファイルを用いて同時に通信を行う場合である。例えば、携帯機器18(携帯電話機)には標準の音声通話機能だけでなく、データ通信機能が付属していたり、あるいは音楽再生機能が付属していたりする。この場合、1台の携帯機器18で複数のアプリケーションを同時並行して利用することができるため、それぞれのアプリケーションごとに通信プロファイルが異なっていれば、通信システム10の動作はマルチプロファイルになる。
(2) Multi-profile In this communication state, the in-
あるいは、携帯機器14〜18がそれぞれ単一の通信プロファイルを用いるアプリケーションを実行していても、上記(1)のマルチコネクション状態において、携帯機器14〜18ごとに異なる通信プロファイルが使用された場合、通信システム10の動作はマルチコネクション及びマルチプロファイルとなる。
Alternatively, even if the
本実施形態では、上記のように通信システム10の動作が複数の通信状態(特にマルチプロファイル)に変化することを踏まえ、通信システム10内で行われる通信処理を動的にコントロールする通信方法を採用している。以下、本実施形態で採用する通信方法の詳細について説明する。
In the present embodiment, based on the fact that the operation of the
〔BTモジュールの構成例〕
先ず、通信処理を動的にコントロールするために必要なハード構成の例について説明する。図2は、BTモジュール30のハード構成例を概略的に示すブロック図である。
[Configuration example of BT module]
First, an example of a hardware configuration necessary for dynamically controlling communication processing will be described. FIG. 2 is a block diagram schematically showing a hardware configuration example of the
BTモジュール30は、例えば内蔵型のBTアンテナ32及びRF回路34を有しており、これらBTアンテナ32及びRF回路34により他のBT機器(ここでは携帯機器14〜18)との間でBT規格による無線通信を行うことができる。
The
またBTモジュール30は、ベースバンド部36及びプロトコルスタック38を有しており、このうちベースバンド部36は、RF回路34にて受信した信号をIF信号に変換し、復調してパケットデータ(受信パケット)を生成する。プロトコルスタック38は、例えばある程度の記憶容量を有したスタックレジスタであり、ここにはベースバンド部36で生成されたパケットデータが順次蓄積(スタック)されるものとなっている。なおプロトコルスタック38はFIFO形式である。
The
またプロトコルスタック38には、BTモジュール30からの送信用パケットデータ(送信フレーム)もまた順次蓄積されており、ここから取り出された送信用パケットデータは、上記のベースバンド部36で変調され、RF回路34及びBTアンテナ32を通じて携帯機器14〜18に送信される。
Further, the packet data for transmission (transmission frame) from the
BTモジュール30はデータ送信処理部40及びデータ受信処理部42を有しており、上記の送信用パケットデータは、データ送信処理部40からプロトコルスタック38に順次転送される。一方、プロトコルスタック38に蓄積された受信済みのパケットデータは、データ受信処理部42にて順次読み出される。
The
BTモジュール30は、データ送信処理部40による送信処理に関して複数の通信プロファイルに対応している。具体的には、BTモジュール30はDUN/SPPデータ送信処理部46及び他プロファイルデータ送信処理部50を有しており、これら複数の処理部46,50によりマルチプロファイル機能をカバーしている。このうちDUN/SPPデータ送信処理部46は、ダイヤルアップネットワークプロファイル及びシリアルポートプロファイルを用いたデータ送信処理を行う。また他プロファイルデータ送信処理部50は、上記の以外のプロファイルを用いたデータ送信処理を行うものである。
The
またデータ受信処理に関して、同じくBTモジュール30はDUN/SPPデータ受信処理部52及び他プロファイルデータ受信処理部54を有している。このうちDUN/SPPデータ受信処理部52は、ダイヤルアップネットワークプロファイル及びシリアルポートプロファイルを用いたデータ受信処理を行う。また他プロファイルデータ受信処理部54は、上記の以外のプロファイルを用いたデータ受信処理を行うものである。
Further, regarding the data reception processing, the
〔クレジットベースドフローコントロール〕
上記のマルチプロファイルによるデータ送信処理及びデータ受信処理(通信処理)に関して、BTモジュール30は、RFCOMMプロトコルで定義されている必須機能のクレジットベースドフローコントロールを使用する。このためBTモジュール30はクレジット送信処理部44を有しており、このクレジット送信処理部44は、ローカルデバイス(車載ユニット12)からいずれかのリモートデバイス(携帯機器14〜18)に対してクレジット(フリークレジット)を送信する。なお、クレジットベースドフローコントロールの例についてはさらに後述する。
[Credit-based flow control]
Regarding the data transmission processing and data reception processing (communication processing) by the multi-profile described above, the
またBTモジュール30はマルチプロファイル状態検知部48を有しており、このマルチプロファイル状態検知部48は、マルチプロファイル動作中にBTモジュール30による通信処理の状態の変化を検知する。具体的には、上記のダイヤルアップネットワークプロファイルやシリアルポートプロファイルに加えて、他のプロファイルとして例えば高度オーディオ配信プロファイル(A2DP)、ハンズフリープロファイル(HFP)等を用いて通信処理が実行されたことを検知したり、その通信処理が終了したことを検知したりする。
The
そしてマルチプロファイル状態検知部48は、上記のようにマルチプロファイル動作中の状態の変化を検知すると、クレジット送信処理部44が送信するクレジット数を操作し、クレジットベースドフローコントロールによる通信処理を制御するためのトリガを発生する。なお、具体的な制御手法の例についてはさらに後述する。
When the multi-profile
この他に、BTモジュール30はHOSTモジュール間制御部56を有しており、このHOSTモジュール間制御部56は、上記の車載ユニット12が有する制御部28をホスト(HOST)としたとき、このホストとBTモジュール30との間の通信を制御する。
In addition, the
例えば、ユーザが車載ユニット12の操作部22を通じてBT通信に関する操作を実行した場合、ホスト側の制御部28からHOSTモジュール間制御部56に動作信号が送信され、これを受けてHOSTモジュール間制御部56はDUN/SPPデータ送信処理部46や他プロファイルデータ送信処理部50の動作を制御する。またHOSTモジュール間制御部56は、DUN/SPPデータ受信処理部52や他プロファイルデータ受信処理部54により受信されたパケットデータをホスト側の制御部28に出力する。これにより、例えば携帯機器18からBT通信で受信したオーディオデータや音声通話データ等を車載ユニット12のスピーカ24から出力したり、マイク26で拾った音声を携帯機器18に転送したりすることが可能になる。
For example, when the user performs an operation relating to BT communication through the
〔パケット通信方法〕
次に、本実施形態の通信システム10において使用されているパケット通信方法の一例について説明する。
[Packet communication method]
Next, an example of the packet communication method used in the
図3は、BTモジュール30が実行する通信処理の手順例を示したフローチャートである。この受信処理は、通信システム10内でローカルデバイスである車載ユニット12とリモートデバイスである携帯機器14〜18との間でRFCOMM接続が完了した後に開始される。なお、BT通信におけるRFCOMM接続のシーケンスについては公知のものを適用できるので、ここではその詳細を省略する。
FIG. 3 is a flowchart illustrating an example of a procedure of communication processing executed by the
RFCOMM接続が完了すると、BTモジュール30内で上記のHOSTモジュール間制御部56をはじめクレジット送信処理部44、DUN/SPPデータ送信処理部46、他プロファイルデータ送信処理部50、DUN/SPPデータ受信処理部52、他プロファイルデータ受信処理部54等の演算処理機能を有した構成要素を用いて通信処理が実行される。
When the RFCOMM connection is completed, the credit
この通信処理は、マルチプロファイル状態検知部48に予めトリガとなる条件を付与しておき、通信中のトリガ条件に応じてクレジット送信処理部44によるクレジット送信処理を動的に操作し、ダイアルアップネットワークやシリアルポートを用いたアプリケーションによるデータアクセス中の受信帯域を他のアプリケーションに割り当てるものである。以下、手順例に沿って説明する。
In this communication processing, a condition for triggering is given to the multi-profile
ステップS10:RFCOMMプロトコルでのクレジットベースドフローコントロールにおいて、BTモジュール30は最初にクレジット送信処理部44によるフリークレジットの値を「0」に設定する。
Step S10: In credit-based flow control in the RFCOMM protocol, the
ステップS12:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値をローカルデバイスにおける初期クレジットの値(例えば「7」)に設定する。
Step S12: Next, the
ステップS14:BTモジュール30は、通信処理のモードとして「モード1」を設定する。
Step S14: The
ステップS16:次にBTモジュール30は、上記のマルチプロファイル状態検知部48により通信状態を確認する(検出工程)。
Step S16: Next, the
ステップS18:そしてBTモジュール30は、上記の結果からマルチプロファイル状態検知部48においてトリガとなる条件が満たされたか否か(「コンディションC」の条件を満たすか否か)を判断する。例えば、以下に該当する場合を「コンディションC」の条件を満たすと判断することができる。
Step S18: Then, the
〔コンディションCのトリガ条件〕
(1)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してオーディオアプリケーションの動作中に、マルチプロファイル状態検知部48がオーディオアプリケーションの状態を「停止中」から「再生中」に遷移したことを検知した場合。オーディオアプリケーションの動作中は通信処理にリアルタイム性が要求されるため、これをトリガ条件とする。
[Trigger condition for condition C]
(1) The fact that the multi-profile
(2)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してハンズフリーアプリケーションの動作中に、マルチプロファイル状態検知部48がハンズフリーアプリケーションの状態を「SLC接続中」から「通話中」に遷移したことを検知した場合。この場合、HFP通話の音質やHFPコントロールデータの受信処理を優先する必要があるため、これをトリガ条件とする。
(2) While the hands-free application is operating in parallel with dial-up or data access using the serial port, the multi-profile
(3)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してパーソナルインフォメーションマネージャアプリケーション(OPP、PBAP)の動作中に、マルチプロファイル状態検知部48がこれらアプリケーションの状態を「SLC接続中」から「データ取得中」に遷移したことを検知した場合。この場合も同様にデータの受信処理を優先する必要があるため、これをトリガ条件とする。なお、パーソナルインフォメーションマネージャアプリケーション(OPP、PBAP)の動作中にデータの受信処理を優先する必要があるのは、例えば携帯情報端末や携帯電話機である携帯機器16,18からアドレス帳等のデータを受信する際、そのデータ転送を所定時間(例えば数秒〜十数秒間)内で完了させる必要があることを考慮したものである。
(3) While the personal information manager application (OPP, PBAP) is operating simultaneously with dial-up or data access using a serial port, the multi-profile
特に上記(1)〜(3)のトリガ条件が満たされていなければ(ステップS18:No)、BTモジュール30は次にステップS20に進む。
In particular, if the trigger conditions (1) to (3) are not satisfied (step S18: No), the
ステップS20:現在は「モード1」に設定されているため(Yes)、BTモジュール30はここでステップS22を実行する。
Step S20: Since it is currently set to “
ステップS22:この場合、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理1」を実行する。そして、この処理から復帰すると、BTモジュール30はステップS16に戻ってマルチプロファイル状態検知部48による通信状態の確認を継続する(検出工程)。
Step S22: In this case, the
これに対し、上記(1)〜(3)のいずれかのトリガ条件が満たされると(ステップS18:Yes)、BTモジュール30は次にステップS24に進む。
On the other hand, when any of the trigger conditions (1) to (3) is satisfied (step S18: Yes), the
ステップS24:この場合、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理2」を実行する。
Step S24: In this case, the
ステップS26:次にBTモジュール30は、通信処理のモードとして「モード2」を設定する。そしてBTモジュール30は、ステップS16に戻り、マルチプロファイル状態検知部48による通信状態の確認を継続する。
Step S26: Next, the
上記(1)〜(3)のいずれかのトリガ条件が満たされなくなるまでの間(ステップS18:Yes)、BTモジュール30は引き続きステップS24に進み、「RFCOMMデータ受信及びクレジット送信処理2」を実行する(ステップS16〜ステップS26のループ)。
Until any of the trigger conditions (1) to (3) is not satisfied (step S18: Yes), the
この後、上記(1)〜(3)のいずれかのトリガ条件が満たされなくなると(ステップS18:No)、BTモジュール30はステップS20に進み、現在のモードを確認する。
Thereafter, when any of the trigger conditions (1) to (3) is not satisfied (step S18: No), the
ステップS20:そして、この時点では「モード2」に設定されているため(No)、次にステップS28が実行されることになる。
Step S20: Since “
ステップS28:BTモジュール30は、「RFCOMMデータ受信及びクレジット送信補正処理」を実行する。
Step S28: The
〔RFCOMMデータ受信及びクレジット送信処理1〕
図4は、上記のステップS22で実行される「RFCOMMデータ受信及びクレジット送信処理1」の手順例を示すフローチャートである。以下、この処理について説明する。
[RFCOMM data reception and credit transmission processing 1]
FIG. 4 is a flowchart showing an example of the procedure of “RFCOMM data reception and
ステップS40:BTモジュール30は、RFCOMMデータ受信を開始する。
ステップS42:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S40: The
Step S42: The
ステップS44:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値を「1」デクリメントする。これにより、前回のカレントクレジットの値が1つ減算された状態となる。
Step S44: Next, the
ステップS46:ここでBTモジュール30は、条件として「コンディションA」が満たされるか否かを判断する。なお「コンディションA」は、例えば以下の内容とすることができる。
Step S46: Here, the
カレントクレジット≦Th1 かつ フリークレジット≧Th2
ただし、ローカルデバイスの初期クレジット=Th1+Th2である。なお、上記の例では初期クレジットの値を「7」としているので、ここではTh1=1、Th2=6とする。
Current credit ≤ Th1 and free credit ≥ Th2
However, the initial credit of the local device = Th1 + Th2. In the above example, since the value of the initial credit is “7”, Th1 = 1 and Th2 = 6 are set here.
特に「コンディションA」の条件が満たされない場合(ステップS46:No)、BTモジュール30はステップS40に戻ってRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS42)、代わりにカレントクレジットの値をデクリメントすると(ステップS44)、再びBTモジュール30は「コンディションA」の条件を満たすか否かを判断する。
In particular, when the condition of “condition A” is not satisfied (step S46: No), the
このように、カレントクレジットの値がTh1=「1」以下になり、かつ、フリークレジットの値がTh2=「6」以上になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。
Thus, the
この後、カレントクレジットの値がTh1以下になり、かつ、フリークレジットの値がTh2以上になると、「コンディションA」の条件が満たされるので(ステップS46:Yes)、BTモジュール30は次にステップS48を実行する。
Thereafter, when the value of the current credit is equal to or less than Th1 and the value of the free credit is equal to or greater than Th2, the condition of “condition A” is satisfied (step S46: Yes), so the
ステップS48:ここでBTモジュール30は、クレジットとして「フリークレジットA」をリモートデバイスに送信する。このときの「フリークレジットA」は、現在の「フリークレジット」に等しい。したがって上記の例では「6」が送信されることになる。
Step S48: Here, the
ステップS50:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS52:そしてBTモジュール30は、カレントクレジットの値=「1」に「フリークレジットA」=「6」を加算して、カレントクレジットの値を「7」に更新する。
Step S50: Next, the
Step S52: The
このように、「RFCOMMデータ受信及びクレジット送信処理1」では、以上の手順を繰り返しながら通信処理が行われる。
As described above, in the “RFCOMM data reception and
〔通信処理シーケンス〕
図5は、「RFCOMMデータ受信及びクレジット送信処理1」による通信処理の流れを示すシーケンス図である。図5中、左側カラムにはローカルデバイス(BTモジュール30)による処理を示し、右側カラムにはリモートデバイス(例えば携帯機器18)による処理を示す。なお以下の説明では、それぞれを単にローカルデバイス、リモートデバイスと一般化して呼称する。
[Communication processing sequence]
FIG. 5 is a sequence diagram showing a flow of communication processing by “RFCOMM data reception and
ST1:シーケンス初期において、ローカルデバイスとリモートデバイスとの間でRFCOMM接続が完了する。 ST1: At the initial stage of the sequence, the RFCOMM connection is completed between the local device and the remote device.
ST2:ローカルデバイスのフリークレジットの値が「0」に設定される。
ST3:リモートデバイスにおいて、カレントクレジットの値はローカルデバイスの初期クレジットの値=「7」に設定される。この値は、これからローカルデバイスが受信可能なパケット数を指定したものである。RFCOMMプロトコルで規定されたクレジットベースドフローコントロールでは、リモートデバイスにおいてカレントクレジットの値が「0」になるまでの間、フレーム送信(パケットデータの送信)が可能である。
ST2: The free credit value of the local device is set to “0”.
ST3: In the remote device, the value of the current credit is set to the initial credit value of the local device = “7”. This value specifies the number of packets that can be received by the local device. In credit-based flow control defined by the RFCOMM protocol, frame transmission (transmission of packet data) is possible until the current credit value becomes “0” in the remote device.
ST4:このためリモートデバイスは、ローカルデバイスに対してパケットデータを送信する。 ST4: For this reason, the remote device transmits packet data to the local device.
ST5:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST6:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST5: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST6: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.
ST7:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST7: Since the current credit still remains, the remote device transmits packet data to the local device.
ST8:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST9:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST8: When receiving the RFCOMM data, the local device increments the free credit value to “2”.
ST9: On the other hand, the remote device decrements the value of the current credit to “5”.
ST10:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST10: Since the current credit still remains, the remote device transmits packet data to the local device.
ST11:以上の処理を繰り返し、ローカルデバイスのフリークレジットの値が「6」までインクリメントされる。
ST12:このときリモートデバイスは、カレントクレジットの値が「1」までデクリメントされている。
ST11: The above process is repeated, and the free credit value of the local device is incremented to “6”.
ST12: At this time, the remote device has been decremented until the value of the current credit is “1”.
ST13:ここで上記の「コンディションA」の条件が満たされるので、ローカルデバイスは「フリークレジットA」をリモートデバイスに送信する。
ST14:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST13: Since the condition of the above “condition A” is satisfied, the local device transmits “free credit A” to the remote device.
ST14: The local device resets the value of the free credit to “0”.
ST15:リモートデバイスは、カレントクレジットに「フリークレジットA」を加算し、カレントクレジットの値を「7」に更新する。 ST15: The remote device adds “free credit A” to the current credit and updates the value of the current credit to “7”.
ST16:「コンディションA」の条件は満たされなくなり、カレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信することができる。 ST16: Since the condition of “condition A” is not satisfied and the current credit remains, the remote device can transmit packet data to the local device.
ST17:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST18:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST17: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST18: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.
ST19:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST19: Since the current credit still remains, the remote device transmits packet data to the local device.
ST20:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST21:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST20: When receiving the RFCOMM data, the local device increments the value of the free credit to “2”.
ST21: On the other hand, the remote device decrements the value of the current credit to “5”.
ST22:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST22: Since the current credit still remains, the remote device transmits packet data to the local device.
ST23:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「3」にインクリメントする。
ST24:一方、リモートデバイスは、カレントクレジットの値を「4」にデクリメントする。
ST23: When receiving the RFCOMM data, the local device increments the value of the free credit to “3”.
ST24: On the other hand, the remote device decrements the value of the current credit to “4”.
以下、所望量のデータ転送が完了するまでの間、同様にして通信処理のシーケンスが実行される。BTモジュール30は、図4の「RFCOMMデータ受信及びクレジット送信処理1」の実行中、例えばタイマ割り込みを発生させて所望量のデータ転送が完了したか否かを確認している。いずれかの割り込み周期でデータ転送が完了していれば、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理1」を抜けて図3の通信処理に復帰する。
Thereafter, the communication processing sequence is executed in a similar manner until a desired amount of data transfer is completed. During the execution of “RFCOMM data reception and
以上の通信処理シーケンスは、マルチプロファイル状態検知部48においてトリガ条件が満たされる前の内容であるが、トリガ条件が満たされた場合は以下の処理が実行される。
The communication processing sequence described above is the content before the trigger condition is satisfied in the multi-profile
〔RFCOMMデータ受信及びクレジット送信処理2〕
図6は、上記のステップS24で実行される「RFCOMMデータ受信及びクレジット送信処理2」の手順例を示すフローチャートである。以下、この処理について説明する。
[RFCOMM data reception and credit transmission processing 2]
FIG. 6 is a flowchart showing a procedure example of the “RFCOMM data reception and
ステップS60:BTモジュール30は、ダイヤルアップやシリアルポートのデータアクセスに関する通信処理中に待機時間(例えば500msec)を挿入して待機する(待機工程)。
Step S60: The
ステップS62:待機時間が経過すると、BTモジュール30はRFCOMMデータ受信を開始する。
ステップS64:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S62: When the standby time elapses, the
Step S64: The
ステップS66:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値を「1」デクリメントする。これにより、前回のカレントクレジットの値が1つ減算された状態となる。
Step S66: Next, the
ステップS68:ここでBTモジュール30は、条件として「コンディションB」が満たされるか否かを判断する。ここでいう「コンディションB」は、例えば以下の内容とすることができる。
Step S68: Here, the
カレントクレジット≦Th3 かつ フリークレジット≧Th4
ただし、Th3はTh1より小さく、またTh4はTh2より小さい値とする。ここでは例えば、Th3=0、Th4=1とする。
Current credit ≤ Th3 and free credit ≥ Th4
However, Th3 is smaller than Th1, and Th4 is smaller than Th2. Here, for example, Th3 = 0 and Th4 = 1.
特に「コンディションB」の条件が満たされない場合(ステップS68:No)、BTモジュール30はステップS60に戻って待機時間だけ待機した後、ステップS62に進んでRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS64)、代わりにカレントクレジットの値をデクリメントすると(ステップS66)、再びBTモジュール30は「コンディションB」の条件を満たすか否かを判断する。
In particular, when the condition of “condition B” is not satisfied (step S68: No), the
このように、カレントクレジットの値がTh3=「0」以下になり、かつ、フリークレジットの値がTh4=「1」以上になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。
As described above, the
この後、カレントクレジットの値がTh3以下(=0)になり、かつ、フリークレジットの値がTh4以上(=1)になると、「コンディションB」の条件が満たされるので(ステップS68:Yes)、BTモジュール30は次にステップS70を実行する。
Thereafter, when the value of the current credit is equal to or less than Th3 (= 0) and the value of the free credit is equal to or greater than Th4 (= 1), the condition of “condition B” is satisfied (step S68: Yes). The
ステップS70:ここでBTモジュール30は、クレジットとして「フリークレジットB」をリモートデバイスに送信する。このときの「フリークレジットB」は、Th4=「1」と同値である。したがって上記の例では「1」が送信されることになる。
Step S70: Here, the
ステップS72:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS74:そしてBTモジュール30は、カレントクレジットの値=「0」に「フリークレジットB」=「1」を加算して、カレントクレジットの値を「1」に更新する。
Step S72: Next, the
Step S74: The
次にBTモジュール30がステップS62でRFCOMMデータ受信を行うと、ステップS64でフリークレジットの値が「1」となるが、ステップS66でカレントクレジットの値は1度のRFCOMMデータ受信で「0」になる。このためリモートデバイスは、ローカルデバイスに対してパケットデータを送信することができなくなり、ステップS70〜ステップS74を経てステップS60に戻ることになる。そして、ステップS60で待機時間を待機し、次のRFCOMMデータ受信を行う。
Next, when the
このように、「RFCOMMデータ受信及びクレジット送信処理2」では、以上の手順を繰り返しながら通信処理が行われるが、この間、カレントクレジットの値は最大で「1」にしかならないので、ローカルデバイスが受信可能なパケット数が減少する(減少工程)。また、RFCOMMデータ受信を1度行うごとに待機時間が挿入されるため、それだけ通信処理にかかる時間が遅延する(待機工程)。
As described above, in the “RFCOMM data reception and
〔通信処理シーケンス〕
図7は、「RFCOMMデータ受信及びクレジット送信処理2」による通信処理の流れを示すシーケンス図である。
[Communication processing sequence]
FIG. 7 is a sequence diagram showing a flow of communication processing by “RFCOMM data reception and
ST50:シーケンス初期において、ローカルデバイスとリモートデバイスとの間でRFCOMM接続が完了する。 ST50: At the beginning of the sequence, the RFCOMM connection is completed between the local device and the remote device.
ST51:ローカルデバイスのフリークレジットの値が「0」に設定される。
ST52:リモートデバイスにおいて、カレントクレジットの値はローカルデバイスの初期クレジットの値=「7」に設定される。この値は、上記と同様にこれからローカルデバイスが受信可能なパケット数を指定したものである。
ST51: The free credit value of the local device is set to “0”.
ST52: In the remote device, the value of the current credit is set to the initial credit value of the local device = “7”. This value specifies the number of packets that can be received from the local device in the same manner as described above.
ST53:リモートデバイスは、ローカルデバイスに対してパケットデータを送信する。 ST53: The remote device transmits packet data to the local device.
ST54:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST55:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST54: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST55: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.
ST56:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST56: Since the current credit still remains, the remote device transmits packet data to the local device.
ST57:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST58:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST57: When receiving RFCOMM data, the local device increments the value of the free credit to “2”.
ST58: On the other hand, the remote device decrements the value of the current credit to “5”.
ST59:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。 ST59: Since the current credit still remains, the remote device transmits packet data to the local device.
ST60:以上の処理を繰り返し、ローカルデバイスのフリークレジットの値が「7」までインクリメントされる。
ST61:このときリモートデバイスは、カレントクレジットの値が「0」までデクリメントされている。したがって、リモートデバイスはこれ以上、パケットデータを送信することができない。
ST60: The above processing is repeated, and the free credit value of the local device is incremented to “7”.
ST61: At this time, the remote device has been decremented until the value of the current credit is “0”. Therefore, the remote device cannot transmit packet data any more.
ST62:ここでローカルデバイスは、設定した待機時間を待機する。
ST63:上記の「コンディションB」の条件が満たされるので、ローカルデバイスは「フリークレジットB」をリモートデバイスに送信する。
ST64:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST62: Here, the local device waits for the set standby time.
ST63: Since the condition of “condition B” is satisfied, the local device transmits “free credit B” to the remote device.
ST64: The local device resets the value of the free credit to “0”.
ST65:リモートデバイスは、カレントクレジットに「フリークレジットB」を加算し、カレントクレジットの値を「1」に更新する。 ST65: The remote device adds “free credit B” to the current credit and updates the value of the current credit to “1”.
ST66:「コンディションB」の条件は満たされなくなり、カレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信することができる。 ST66: Since the condition of “condition B” is not satisfied and the current credit remains, the remote device can transmit packet data to the local device.
ST67:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST68:一方、リモートデバイスは、カレントクレジットの値を「1」から「0」にデクリメントする。これにより、リモートデバイスはこれ以上、パケットデータを送信することができなくなる。
ST67: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST68: On the other hand, the remote device decrements the value of the current credit from “1” to “0”. As a result, the remote device can no longer transmit packet data.
ST69:ここでローカルデバイスは、また設定した待機時間を待機する。
ST70:上記の「コンディションB」の条件が満たされるので、ローカルデバイスは「フリークレジットB」をリモートデバイスに送信する。
ST69: Here, the local device waits for the set waiting time.
ST70: Since the condition of “condition B” is satisfied, the local device transmits “free credit B” to the remote device.
ST71:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST72:リモートデバイスは、カレントクレジットに「フリークレジットB」を加算し、カレントクレジットの値を「1」に更新する。これにより、リモートデバイスは1パケット分だけデータを送信することが可能になる。
ST71: The local device resets the value of the free credit to “0”.
ST72: The remote device adds “free credit B” to the current credit and updates the value of the current credit to “1”. As a result, the remote device can transmit data for one packet.
以下、所望量のデータ転送が完了するまでの間、同様にして通信処理のシーケンスが実行される。BTモジュール30は、図6の「RFCOMMデータ受信及びクレジット送信処理2」の実行中、例えばタイマ割り込みを発生させて所望量のデータ転送が完了したか否かを確認している。いずれかの割り込み周期でデータ転送が完了していれば、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理2」を抜けて図3の通信処理に復帰する。
Thereafter, the communication processing sequence is executed in a similar manner until a desired amount of data transfer is completed. During the execution of “RFCOMM data reception and
ただし、「RFCOMMデータ受信及びクレジット送信処理2」の実行中は1回のRFCOMMデータ受信ごとに待機時間が挿入されるので、相対的に別の通信プロファイルを用いた通信処理に割り当てられる時間が長くなる。また、1回のRFCOMMデータ受信が可能なパケット数が減少するため、別の通信プロファイルを用いた通信処理(特に図示していない)について相対的にパケット数が増加し、それだけデータ受信帯域が広げられることとなる。
However, during the execution of “RFCOMM data reception and
〔RFCOMMデータ受信及びクレジット送信補正処理〕
次に図8は、「RFCOMMデータ受信及びクレジット送信補正処理」の手順例を示すフローチャートである。この処理は、図3の通信処理において「コンディションC」のトリガ条件が満たされた後、この条件が満たされなくなった場合に実行される。
[RFCOMM data reception and credit transmission correction processing]
Next, FIG. 8 is a flowchart showing an example of the procedure of “RFCOMM data reception and credit transmission correction processing”. This process is executed when this condition is not satisfied after the trigger condition of “condition C” is satisfied in the communication process of FIG. 3.
ステップS80:ここでもBTモジュール30は、RFCOMMデータ受信を実行する。
ステップS82:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S80: Again, the
Step S82: The
ステップS84:次にBTモジュール30は、リモートデバイスでのカレントクレジットの値を「1」デクリメントする。
Step S84: Next, the
ステップS86:ここでBTモジュール30は、条件として「コンディションD」が満たされるか否かを判断する。なお「コンディションD」は、例えば以下の内容とすることができる。
Step S86: Here, the
カレントクレジット=「0」 Current credit = “0”
特に「コンディションD」の条件(つまりカレントクレジット=0)が満たされない場合(ステップS86:No)、BTモジュール30はステップS80に戻ってRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS82)、代わりにカレントクレジットの値をデクリメントすると(ステップS84)、再びBTモジュール30は「コンディションD」の条件を満たすか否かを判断する。
In particular, when the condition of “condition D” (that is, current credit = 0) is not satisfied (step S86: No), the
このように、カレントクレジットの値が「0」になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。
Thus, the
この後、カレントクレジットの値が「0」になると、「コンディションD」の条件が満たされるので(ステップS86:Yes)、BTモジュール30は次にステップS88を実行する。
Thereafter, when the value of the current credit becomes “0”, the condition of “condition D” is satisfied (step S86: Yes), so the
ステップS88:ここでBTモジュール30は、クレジットとして「フリークレジットD」をリモートデバイスに送信する。このときの「フリークレジットD」は、ローカルデバイスの初期クレジットに等しい。したがって上記の例では「7」が送信されることになる。
Step S88: Here, the
ステップS90:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS92:そしてBTモジュール30は、カレントクレジットの値=「0」に「フリークレジットD」=「7」を加算して、カレントクレジットの値を「7」に更新する。
Step S90: Next, the
Step S92: The
ステップS94:BTモジュール30は「モード1」を設定し、図3の通信処理に復帰する。
Step S94: The
この後、「モード1」が設定されているので、次にトリガ条件が満たされるまでの間(図3のステップS18:No、ステップS20:Yes)、「RFCOMMデータ受信及びクレジット送信処理1」が実行されることになる。
Thereafter, since “
以上のように本実施形態では、マルチプロファイル状態検知部48にトリガとなる条件を付与し、通信状態が変化するごとに「RFCOMMデータ受信及びクレジット送信処理1」と「RFCOMMデータ受信及びクレジット送信処理2」とを動的に切り替えることにより、ダイアルアップやシリアルポートを用いたアプリケーションによるデータアクセス中の受信帯域を他のアプリケーションに割り当てることが可能となる。
As described above, in the present embodiment, a trigger condition is given to the multi-profile
また、「RFCOMMデータ受信及びクレジット送信処理2」の実行中にマルチプロファイル状態検知部48がオーディオアプリケーションの状態を「再生中」から「停止中」に遷移したことを検知した場合、あるいは、「RFCOMMデータ受信及びクレジット送信処理2」の実行中にマルチプロファイル状態検知部48がハンズフリーアプリケーションの状態を「通話中」から「SLC接続中」に遷移したことを検知した場合、図8の「補正処理」を経て「RFCOMMデータ受信及びクレジット送信処理1」に切り替え、できるだけデータ受信のスループットを優先することができる。
Further, when the multi-profile
〔製品市場での有用性〕
特に近年のBT通信のユーザーシナリオにおいては、マルチコネクションやマルチプロファイルでの動作及び品質の向上が製品市場から求められている。その中で個々のプロファイル(アプリケーション)によっては、音声通話やオーディオ伝送等、リアルタイム性や音質を厳しく問われる要素と、ダイアルアップ(DUN/SPP)のように、ベストエフォート型データ通信の要素に大別することができるが、これらを最大限に共存させるため、送信/受信帯域の制御が課題となっている。
[Usefulness in the product market]
Particularly in recent user scenarios of BT communication, improvement of operation and quality by multi-connection and multi-profile is required from the product market. Depending on the individual profiles (applications), there are roughly divided into elements that require strict real-time performance and sound quality, such as voice calls and audio transmission, and elements of best-effort data communication such as dial-up (DUN / SPP). However, in order to allow these to coexist as much as possible, control of the transmission / reception bandwidth is an issue.
本実施形態の通信方法では、リアルタイム性や品質が求められる要素とベストエフォート型データ通信の要素が同時並行して通信を実行中に、前者が通話中又はオーディオ再生中の状態になったことを検出した場合、後者の要素に関してクレジット数及びその送信条件、送信方法を適応的に変更することができ、それにより受信可能なパケット数を制限し、結果として後者の要素に関して受信帯域を相対的に減少させ、逆に前者のリアルタイム性及び音質を可能な限り改善する効果がある。 In the communication method of this embodiment, the former is in a call or audio playback state while an element for which real-time property and quality are required and an element for best effort data communication are being executed in parallel. If detected, the number of credits, the transmission conditions, and the transmission method can be adaptively changed with respect to the latter element, thereby limiting the number of receivable packets, and as a result, the reception band is relatively set with respect to the latter element. On the contrary, it has the effect of improving the former real-time property and sound quality as much as possible.
また、前者の通信において終話又はオーディオ停止の状態を検出した場合、本来の通信処理に復帰させることによって受信帯域を可能な限り増加させ、データ受信のスループットを確保することができる。 Further, when the end of communication or the state of audio stop is detected in the former communication, the reception bandwidth can be increased as much as possible by returning to the original communication processing, and the data reception throughput can be ensured.
本発明は上述した実施形態に制約されることなく、各種の変形を伴って実施することができる。一実施形態で挙げたBTモジュール30の構成はあくまで機能的なブロック要素の例示であり、これらの機能をマイクロコンピュータ(CPU)のリソースで全て賄い、それぞれの機能をアプリケーションで実現してもよい。
The present invention can be implemented with various modifications without being limited to the above-described embodiments. The configuration of the
また、一実施形態では通信処理を優先するものとしてオーディオデータや音声通話データ等を例に挙げているが、映像データを転送する際にも本発明の通信方法を適用することができる。 In the embodiment, audio data, voice call data, and the like are given as an example for giving priority to communication processing. However, the communication method of the present invention can also be applied when transferring video data.
10 通信システム
12 車載ユニット
14,16,18 携帯機器
30 BTモジュール
44 クレジット送信処理部
46 DUN/SPPデータ送信処理部
48 マルチプロファイル状態検知部
50 他プロファイルデータ送信処理部
52 DUN/SPPデータ受信処理部
54 他プロファイルデータ受信処理部
DESCRIPTION OF
Claims (6)
ローカルデバイスがいずれかのリモートデバイスとの間で前記通信処理を実行する際、複数ある通信プロファイルの中でいずれの通信プロファイルを用いて前記通信処理が実行されているかを検出する工程と、
ローカルデバイスが特定のリモートデバイスとの間で前記通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の前記通信処理が実行されたことを検出した場合、現在実行中の前記通信処理の中でローカルデバイスが前記特定のリモートデバイスに通知する受信可能なパケット数を減少させることにより、別の通信プロファイルを用いた前記通信処理の中でローカルデバイスが受信可能なパケット数を相対的に増加させる工程と
を有するパケット通信方法。 In a communication system composed of a local device and a remote device having a function of communicating using a plurality of communication profiles, the number of packets that can be received in advance by the local device at the start of communication between the local device and the remote device is stored in the remote device. In the packet communication method of transmitting and receiving a desired amount of packet data while repeating the communication process of transmitting and receiving data for the notified number of packets from the remote device to the local device and receiving at the local device,
When the local device executes the communication processing with any remote device, detecting which communication profile is used to perform the communication processing among a plurality of communication profiles;
While the local device is performing the communication process with a specific remote device, another communication profile with a different communication profile that is different from the current one with the same specific remote device or another remote device is used. When it is detected that a process has been executed, another communication profile is used by reducing the number of receivable packets that the local device notifies to the specific remote device in the currently executing communication process. And a step of relatively increasing the number of packets that can be received by the local device during the communication process.
ローカルデバイスが特定のリモートデバイスとの間で前記通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の前記通信処理が実行されたことを検出した場合、現在実行中の前記通信処理の中に待機時間を挿入する工程をさらに有するパケット通信方法。 The packet communication method according to claim 1,
While the local device is performing the communication process with a specific remote device, another communication profile with a different communication profile that is different from the current one with the same specific remote device or another remote device is used. A packet communication method further comprising a step of inserting a waiting time into the currently executed communication process when it is detected that the process has been executed.
前記待機時間を挿入する工程では、
現在実行中の前記通信処理の中でローカルデバイスが前記特定のリモートデバイスに受信可能なパケット数を通知する前に待機時間を挿入することを特徴とするパケット通信方法。 The packet communication method according to claim 2,
In the step of inserting the waiting time,
A packet communication method, wherein a waiting time is inserted before a local device notifies the specific remote device of the number of receivable packets in the communication process currently being executed.
前記パケット数を相対的に増加させる工程では、
現在の通信プロファイルに比較して別の通信プロファイルの方がよりリアルタイム性を要求されるものである場合に現在実行中の前記通信処理の中でパケット数を減少させることを特徴とするパケット通信方法。 In the packet communication method according to any one of claims 1 to 3,
In the step of relatively increasing the number of packets,
A packet communication method characterized by reducing the number of packets in the currently executed communication process when another communication profile requires more real-time characteristics than the current communication profile. .
前記パケット数を相対的に増加させる工程では、
別の通信プロファイルがオーディオデータ又は音声通話データをローカルデバイスで受信する場合に使用されるものであるか、もしくは、所定時間内にリモートデバイスからローカルデバイスへのデータ転送を完了させる必要がある場合に使用されるものであるかのいずれかである場合、現在実行中の前記通信処理の中でパケット数を減少させることを特徴とするパケット通信方法。 In the packet communication method according to any one of claims 1 to 3,
In the step of relatively increasing the number of packets,
Another communication profile is used when receiving audio data or voice call data at the local device, or when it is necessary to complete the data transfer from the remote device to the local device within a predetermined time A packet communication method characterized by reducing the number of packets in the currently executed communication process if any of them is used.
前記通信処理は、
特定の短距離無線通信規格におけるRFCOMMプロトコルにより定義されたクレジットベースドフローコントロールに則り、ローカルデバイスが受信可能なパケット数をクレジット数としてローカルデバイスからリモートデバイスに通知する手順と、
リモートデバイスからパケットデータをローカルデバイスに送信するごとにリモートデバイスにおいてクレジット数を減少させる手順とを含み、
前記クレジット数がリモートデバイスにおいて残存している間はリモートデバイスからローカルデバイスに対してパケットデータの送信が可能である一方、前記クレジット数が残存しなくなるとリモートデバイスからローカルデバイスからリモートデバイスへのパケットデータの送信が不可となることを特徴とするパケット通信方法。 In the packet communication method according to any one of claims 1 to 5,
The communication process includes
In accordance with credit-based flow control defined by the RFCOMM protocol in a specific short-range wireless communication standard, a procedure for notifying the remote device from the local device as the number of packets that the local device can receive;
Reducing the number of credits at the remote device each time packet data is sent from the remote device to the local device,
While the credit amount remains in the remote device, packet data can be transmitted from the remote device to the local device. On the other hand, when the credit amount does not remain, the packet from the remote device to the remote device is transmitted from the remote device. A packet communication method, wherein data transmission is disabled.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008327348A JP2010153995A (en) | 2008-12-24 | 2008-12-24 | Packet communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008327348A JP2010153995A (en) | 2008-12-24 | 2008-12-24 | Packet communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010153995A true JP2010153995A (en) | 2010-07-08 |
Family
ID=42572608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008327348A Withdrawn JP2010153995A (en) | 2008-12-24 | 2008-12-24 | Packet communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010153995A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014112291A (en) * | 2012-12-05 | 2014-06-19 | Alpine Electronics Inc | Emergency call system and emergency call device |
JP5531161B2 (en) * | 2011-05-25 | 2014-06-25 | トヨタ自動車株式会社 | Vehicle communication device |
WO2014174893A1 (en) * | 2013-04-26 | 2014-10-30 | クラリオン株式会社 | Communication device and bluetooth communication system |
JP2018007142A (en) * | 2016-07-06 | 2018-01-11 | アルプス電気株式会社 | Communication device |
-
2008
- 2008-12-24 JP JP2008327348A patent/JP2010153995A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5531161B2 (en) * | 2011-05-25 | 2014-06-25 | トヨタ自動車株式会社 | Vehicle communication device |
JP2014112291A (en) * | 2012-12-05 | 2014-06-19 | Alpine Electronics Inc | Emergency call system and emergency call device |
WO2014174893A1 (en) * | 2013-04-26 | 2014-10-30 | クラリオン株式会社 | Communication device and bluetooth communication system |
JPWO2014174893A1 (en) * | 2013-04-26 | 2017-02-23 | クラリオン株式会社 | Communication device and Bluetooth communication system |
JP2018007142A (en) * | 2016-07-06 | 2018-01-11 | アルプス電気株式会社 | Communication device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420640B (en) | In-vehicle apparatus | |
US10674002B2 (en) | Apparatus and method for controlling built-in microphone of portable terminal | |
CN101263688B (en) | Methods, electronic devices, and computer program products for coordinating bluetooth and wireless local area network communication | |
US10477474B2 (en) | Arbitrating a low power mode for multiple applications running on a device | |
US7792490B2 (en) | Hiding a device | |
EP2294872B1 (en) | System and method for automatically switching connection of a wireless interface | |
US8620217B2 (en) | Short range wireless communication apparatus | |
EP2266215A2 (en) | Wireless communicator for laptop computers | |
JP4645318B2 (en) | Wireless communication apparatus and method | |
CN101785341A (en) | controlling handover | |
EP2737739A1 (en) | Methods and apparatuses for providing profile information in a bluetooth communication system | |
JP2010153995A (en) | Packet communication method | |
US20090186607A1 (en) | Multi-standby mobile terminal and method of performing conference call using the same | |
US8238827B2 (en) | Information processing apparatus | |
US9300778B2 (en) | Bluetooth headset for mobile phone | |
EP1805940B1 (en) | Portable electronic devices including attaching circuits and methods of operating the same | |
US20070110011A1 (en) | Mobile communication apparatus for operation in a wireless local area network | |
KR100562363B1 (en) | Usb audio dongle having a bluetooth function for use of the voip messenger service | |
JP2000069557A (en) | Mobile communication system and its transmitter and receiver | |
JP2003299152A (en) | Communication equipment and base station selecting method | |
JP2003218769A (en) | Radio communication apparatus, method for controlling radio communication apparatus, program for controlling radio control apparatus, and storage medium | |
JP2019220865A (en) | Communication device and communication method | |
WO2004086805A1 (en) | Mobile terminal and cdma communication method | |
JP2009253552A (en) | Radio communication terminal and radio communication method | |
JP2008042561A (en) | Mobile communication terminal, and terminal control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120306 |