(57)【特許請求の範囲】
【請求項１】
サービス受信装置との間で近接無線通信を行うサービス提供装置において、
近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、
無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、
前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、
前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を備えることを特徴とするサービス提供装置。
【請求項２】
サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、
前記サービス提供装置は、
近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、
無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、
前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、
前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、
前記サービス受信装置は、実行中のアプリケーションを終了する際に送信電力を検出して、送信電力を所定値に設定する送信電力初期化手段を有することを特徴とする近距離通信システム。
【請求項３】
サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、
前記サービス提供装置は、
近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、
無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、
前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、
前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、
前記サービス受信装置は、送信電力が所定値以下の場合には指向性アンテナを選択し、送信電力が前記所定値より大きい場合には無指向性アンテナを選択するアンテナ選択手段を有することを特徴とする近距離通信システム。
【請求項４】
サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、
前記サービス提供装置は、
近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、
無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、
前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、
前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、
前記サービス受信装置は、実行中のプログラムに含まれる特定のコマンドに応じて自動的に送信電力を制御する第４の送信電力制御手段を有することを特徴とする近距離通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、近距離無線通信により各種サービスの送受信を行うサービス提供装置、サービス受信装置、サービス提供制御プログラム、サービス受信制御プログラム、サービス提供制御方法及びサービス受信制御方法に関する。
【０００２】
【従来の技術】
最近、伝送距離が１０ｍ程度の近距離無線通信方式が注目を集めている。従来の無線LANの有効な伝送距離範囲が１００ｍ以上であるのに対し、近距離無線通信方式は、伝送距離が短いため、使用する電力が少なく、携帯電話やＰＤＡ等の携帯型情報処理装置（以下、簡単に携帯端末と呼ぶ）などのバッテリー容量に制限がある情報処理装置に適している。
【０００３】
このような近距離無線通信方式の１つに、Bluetooth（ＴＭ）と呼ばれるものがあり（非特許文献１参照）、近年、このBluetoothの仕様による通信機能（以下、Bluetooth通信機能）を備えた携帯端末や携帯端末に各種サービスを提供する装置が普及し始めている。
【０００４】
Bluetooth通信機能は、安価なチップで実現でき、小型化が可能なため、Bluetooth通信機能を備えた装置が今後いたるところで普及すると予想される。Bluetoothの普及に伴い、任意の場所で、各場所に応じた各種サービスの提供を実現する計画が推進されている。
【０００５】
例えば、コンビニ、スーパ及び小売店などでは、電子クーポンサービス、電子ポイントサービス、電子決済、レシート及び領収書発行など、Bluetoothを利用した購買者向けのサービスの提供が検討されている。また、電子チケットによりゲート開閉の制御、自動販売機での決済や割引サービス、駐車場、ガソリンスタンド及びドライブスルーでの料金支払いなどへの応用も検討されている。この他、インターネットへのアクセス、特定の場所に依存する情報配信及びユーザの位置情報の提供、経路案内なども可能である。上記に関連したいくつかのサービスは、既に実システムで実験が行われている。
【０００６】
以下、Bluetooth通信機能を備えた携帯端末（以下、簡単にBluetooth携帯端末と呼ぶ）と、Bluetooth通信機能を備えて各種のサービスを提供する情報処理装置（以下、簡単にBluetooth装置と呼ぶ）との間で、Bluetoothによる接続を確立し、当該Bluetooth携帯端末を所持するユーザにBluetooth装置がサービスを提供する場合を例にとって、従来技術を説明する。
【０００７】
まず、Bluetooth携帯端末が任意の場所で任意の相手からサービスを受けるための手順を説明する。図１７はBluetooth携帯端末が任意の場所で任意の相手からサービスを受けるための従来の処理手順を示すフローチャートである。
【０００８】
Bluetooth携帯端末は、サービスを受けるためのクライアントアプリケーションプログラムを起動する（ステップＳ１）。次に、Bluetooth携帯端末のクライアントアプリケーションは、通信可能な端末を発見するためにインクワイアリを、予め指定した期間（例えば、10秒間）行うことをBTモジュールに指示する（ステップＳ２）。ここで、BTモジュールとは、Bluetooth通信機能を実現する通信処理部であり、チップ等のハードウェアで構成してもよいし、ソフトウェアで構成してもよい。
【０００９】
指定時間経過後にインクワイアリが完了すると、クライアントアプリケーションは、その間発見したおのおのBluetooth装置の識別名、あるいはその装置が提供するサービスの識別名である、リモートネームを取得するコマンドをBTモジュールに指示する（ステップＳ３）。
【００１０】
次に、発見したすべてのBluetooth装置のリモートネームを取得した後、取得したリモートネームの一覧をユーザに提示し、接続するBluetooth装置の選択を促す（ステップＳ４）。次に、クライアントアプリケーションは、ユーザが選択したBluetooth装置に対してACL接続要求コマンドをBTモジュールに指示する（ステップＳ５）。
【００１１】
設定によっては、ACL接続中に、端末認証手順を行う場合もあり、双方の装置で同じリンクキー、あるいは、リンクキーを作成するために同一のPINコード入力により、双方の装置を認証する場合もありうる。また、暗号通信を使用するためには、認証処理が実施後に、リンクキーから一時的な暗号通信用の暗号キーが作成される。
【００１２】
次に、クライアントアプリケーションは、ACL接続完了後、サービス情報取得コマンドを送信するようBluetoothスタックと呼ばれるモジュールに指示する（ステップＳ６）。相手装置からサービス情報を取得するとにより、アプリケーションが利用するプロトコルに関する情報を取得する（ステップＳ７）。
【００１３】
次に、クライアントアプリケーションは、プロトコルに対応する情報を用いて、クライアントアプリケーションが使用するプロトコルと接続するために、Bluetoothスタックと呼ばれるモジュールに指示する（ステップＳ８）。たとえば、クライアントアプリケーションが、サービスを受けるために、OBEX  FTPを使用するのであれば、クライアントアプリケーションは、OBEXの接続要求関数をコールする。この場合スタックは、RFCOMMやL2CAPの接続を順に行い、L2CAPやRFCOMMの接続完了後、OBEXプロトコルの接続を実現する。
【００１４】
プロトコルの接続完了後に、クライアントアプリケーションは、アプリケーションレベルで、チャレンジレスポンスなどを行うことでサーバ認証を行う（ステップＳ１０）。OBEXの場合は、OBEXプロトコル自体に認証機能を有しているので、OBEXプロトコルの認証機能を用いてもサービス提供装置の認証は可能である。
【００１５】
以上の手順により、ユーザは、Bluetooth携帯端末を使用して所望のサービスを受けることが可能となる。
【００１６】
【非特許文献１】
http://www.bluetooth.org/のＷｅｂサイトで入手可能な仕様書
【００１７】
【発明が解決しようとする課題】
しかしながら、上記の手順を実行すると、サービスを受けるまでにかかる処理時間は、通信可能な装置が1台しか存在しない場合でも、一定時間通信可能端末発見処理であるインクワイアリを行うと、通常10数秒の時間を要する。また、リモートネームは、１台づつ取得するため、通信可能な装置が多数存在する場合は、その台数に比例して処理時間が増えていくことになる。つまり、リモートネームの取得に約1秒必要と仮定すると、N台の装置が発見された場合には、全ての装置のリモートネーム取得にN秒を要することになる。例えば、スーパなどでレジが１ｍおきに複数並んでおり、買い物客がBluetooth携帯端末を使用して支払いを行うためにレジ装置を探索すると、レジの台数分の時間待たないと接続できないことになり、レジ作業に時間がかかってしまう。
【００１８】
インクワイアリにより取得できる情報に含まれるBluetooth装置の種類に関する情報を記したCOD(Class of Device)を用いることにより、所望のサービスを提供する装置のみを絞り込むことができる。しかしながら、CODは装置の種類であってサービスそのものを識別しているのではない。例えば、CODに決済サービスのカテゴリーが存在したとしても、上記の例では、全てのレジがそのカテゴリーに属し、ユーザの選択時間の短縮には役に立たない。
【００１９】
一方、近接通信手段の１つである赤外線は、無線通信と比較して指向性を有しており、特定の装置に向けるだけでその装置と通信を行うことができる。現在では、携帯電話に採用されており、赤外線を使用した会員管理システムが実現されているが、赤外線のデバイスの向きを合わせることが困難なことと、通信を行っている間は、同一の姿勢を保持しないと通信が切断されてしまうといった課題を抱えている。
【００２０】
他方、無線通信は、一度所望の相手と通信が確立できると、無指向性であること、多少の障害物が２つの装置間に存在しても通信可能であるという性質を有する反面、特定の装置との接続を確立することは困難である。
【００２１】
例えば、顧客が一人（Bluetooth携帯端末が１つ）で、レジが１つ（Bluetooth装置が１つ）の場合は、支払いを行う顧客の有するBluetooth携帯端末とキャッシュレジスタ装置との関係は一意に決定されるため接続に関する問題は生じない。つまり、Bluetooth携帯端末を操作する人が、上記のようなBluetooth装置の探索機能を用いて、Bluetooth装置を発見した場合は、発見した装置を支払いするキャッシュレジスタ装置とみなすことができる。
【００２２】
しかしながら、Bluetooth携帯端末の通信可能範囲内に複数のキャッシュレジスタ装置が並置された店舗の場合、隣接するキャッシュレジスタ装置も発見してしまう。Bluetooth携帯端末を所持するユーザは、発見されたキャッシュレジスタ装置の中から、これから支払いを行うキャッシュレジスタ装置の種類や名称などを確認して選択する必要がある。
【００２３】
通信相手の選択に余分な時間がかかると、サービスを受けるまでに時間がかり、ユーザの利便性が悪くなる。特に、店舗のレジの支払いの場合、顧客が多数並んでいる混雑時には、レジ業務に支障をきたしてしまう。また、Bluetooth携帯端末を操作する人が、間違ったキャッシュレジスタ装置を指定すると、クーポンが使用されるのもかかわらず、支払い金額から値引きされていない、あるいは、他人のポイントが自分に加算されてしまうといった不具合が生じる。このような不具合が生じた場合の取り消し作業は、Bluetooth携帯端末とキャッシュレジスタ装置との双方で行う必要があり、多大な労力を必要とする。
【００２４】
このため、キャッシュレジスタのオペレータは、Bluetooth携帯端末に付随する何らかの情報を用いて、接続したBluetooth携帯端末が正しいか否かを顧客に確認する必要がある。このような選択や確認作業は、支払いを行う顧客にとって良いインタフェースではなく、オペレータのレジ作業を阻害してしまう。
【００２５】
本発明は、このような点に鑑みてなされたものであり、その目的は、セキュリティを保持した状態で所望の通信相手と確実に通信可能なサービス提供装置、サービス受信装置、サービス提供制御プログラム、サービス受信制御プログラム、サービス提供制御方法及びサービス受信制御方法を提供することにある。
【００２６】
【課題を解決するための手段】
本発明の一態様によれば、サービス受信装置との間で近接無線通信を行うサービス提供装置において、近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を備えることを特徴とするサービス提供装置が提供される。
【００２７】
また、本発明の一態様によれば、サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、前記サービス提供装置は、近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、前記サービス受信装置は、実行中のアプリケーションを終了する際に送信電力を検出して、送信電力を所定値に設定する送信電力初期化手段を有することを特徴とする近距離通信システムが提供される。
【００２８】
また、本発明の一態様によれば、サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、前記サービス提供装置は、近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、前記サービス受信装置は、送信電力が所定値以下の場合には指向性アンテナを選択し、送信電力が前記所定値より大きい場合には無指向性アンテナを選択するアンテナ選択手段を有することを特徴とする近距離通信システムが提供される。
また、本発明の一態様によれば、サービス受信装置と、このサービス受信装置との間で近接無線通信を行うサービス提供装置と、を備えた近距離通信システムにおいて、前記サービス提供装置は、近接無線通信による無線通信可能範囲が第１の範囲になるように無線送信電力を設定する第１の送信電力制御手段と、無線通信可能範囲が前記第１の範囲に設定されているときに、前記サービス受信装置からの接続要求を受信すると、該サービス受信装置との間で接続処理を行う接続処理手段と、前記サービス受信装置との前記接続処理が完了する前に、前記サービス受信装置からあらかじめ定められた第１のパケットを受信すると、前記第１の範囲よりも広い第２の範囲となるように無線送信電力を設定する第２の送信電力制御手段と、前記第２の送信電力制御手段が無線通信可能範囲を設定した後に、前記サービス受信装置に送信したパケットに対する応答がなかった場合に、前記サービス受信装置から前記第１のパケットが再度送信されたときは、無線通信可能範囲が前記第２の範囲よりもさらに広い第３の範囲となるように無線送信電力を設定する第３の送信電力制御手段と、を有し、前記サービス受信装置は、実行中のプログラムに含まれる特定のコマンドに応じて自動的に送信電力を制御する第４の送信電力制御手段を有することを特徴とする近距離通信システムが提供される。
【００２９】
【発明の実施の形態】
以下、本発明に係るサービス提供装置、サービス受領装置、サービス提供制御プログラム、サービス受領制御プログラム及び近距離通信システムについて、図面を参照しながら具体的に説明する。以下では、サービス提供装置とサービス受領装置がBluetoothの仕様に準拠して近距離無線通信を行う例について主に説明するが、通信形態は必ずしもBluetoothに限られない。サービス提供装置は例えばキャッシュレジスタや自動改札機などであり、サービス受領装置は例えば携帯端末である。以下の実施形態では、サービス提供装置としてキャッシュレジスタ装置を用い、サービス受領装置として携帯端末を用いる例について説明する。
【００３０】
図１は本発明に係るサービス提供装置とサービス受領装置を備えた近距離通信システムの一実施形態の全体構成を示すブロック図である。図１の近距離通信システムは、互いにBluetoothの仕様に準拠して近距離無線通信を行うキャッシュレジスタ装置１及びBluetooth携帯端末２と、各種商品のバーコード読取用のバーコードリーダ３と、LAN４を介してキャッシュレジスタ装置１と通信を行うPOS（Point Of Sales）サーバ５とを備えている。
【００３１】
キャッシュレジスタ装置１（以下、POS端末と呼ぶこともある）は、表示部６、キー入力部７、印刷部８及びドローア９等のレジ機能を有し、この他、POSサーバ５に接続するためのLANカード１０と、Bluetooth携帯端末２と無線通信を行うためのBluetoothモジュール（以下、BTモジュール１１と呼ぶ）１１とを内蔵している。
【００３２】
図２はキャッシュレジスタ装置１の内部構成の一例を示すブロック図である。図２のキャッシュレジスタ装置１は、内部バス２１に接続されたCPU２２、メモリ２３、ROM２４、キー入力部７、RS232Cコントローラ２５、レジ制御部２６及び印刷部８を有する。RS232Cコントローラ２５にはバーコードリーダ３とBTモジュール１１が接続され、レジ制御部２６にはドローア９が接続されている。
【００３３】
図１のキャッシュレジスタ装置１は、商品に印刷あるいは貼り付けられたバーコードから読み取った会社コードや商品コード等を用いて、キャッシュレジスタ装置１にLANカード１０とLAN４を介して接続されたPOSサーバ５に対して当該商品の金額を問い合わせる。キャッシュレジスタ装置１は、POSサーバ５からの金額情報を受信すると、その金額とレジオペレータにより入力された個数との乗算を行って合計金額に加算し、商品金額や合計金額を表示部６に提示したり、印刷部８で印字してレシートを発行する。また、キャッシュレジスタ装置１は、商品の販売履歴情報をPOSサーバ５に送る。POSサーバ５は、キャッシュレジスタ装置１からの販売履歴情報に基づいて、商品売上管理や在庫管理等を行う。
【００３４】
なお、キャッシュレジスタ装置１は、顧客が商品を購入するたびにPOSサーバ５に問合せるのでなく、POSサーバ５から定期的に送られてくる商品の金額情報をメモリ２３に記憶しておき、このメモリ２３の内容を参照してもよい。
【００３５】
図３はキャッシュレジスタ装置１内のBTモジュール１１の内部構成の一例を示すブロック図である。図３のBTモジュール１１は、2.4GHzの無線信号を送受信するアンテナ３１と、RF部３２と、ベースバンド部３３とを有する。RF部３２は、送信部３４と、受信部３５と、制御部３６と、送受信切替部３７とを有する。
【００３６】
送信部３４は、ベースバンド部３３からの指示により、送信周波数をホッピングして送信電力の制御を行うものであり、A/D変換器４１と、ローパスフィルタ４２と、FM変調器４３と、送信アンプ４４とを有する。
【００３７】
受信部３５は、受信周波数をホッピングして基準信号を生成し、受信信号の相関を取って自装置宛ての電波を受信するFSK復調を行うものであり、RSSI部５１と、受信アンプ５２と、IFフィルタ５３と、FM復調器５４と、コリレータ５５と、D/A変換器５６とを有する。
【００３８】
ベースバンド部は、HCIインタフェース部６１と、ROM６２と、RAM６３と、フラッシュROM６４と、演算装置６５とを有する。
【００３９】
制御部３６は、ベースバンド部３３からの指示により、送受信切替部３７を制御したり、受信部３５の受信感度を測定してベースバンド部３３に通知したり、送信アンプのゲインを制御して送信電力を変更したり、受信アンプのゲインを制御して受信感度を変更したりする。
【００４０】
なお、RF部３２とベースバンド部３３の内部構成の詳細は、ISBN-89797-405-5の書籍（Bluetooth技術解説ガイド）等を参照されたい。
【００４１】
ベースバンド部３３は、ベースバンド処理、リンク管理及びHCIインタフェース処理等のベースバンド処理を行う。ベースバンド部３３の一部がハードウェアで構成されてもよいが、本実施形態では、ベースバンド部３３に内蔵されたCPUやDSPなどの演算装置６５が、ROM６２に記憶されている処理プログラムを実行して、上記のベースバンド処理を行うものとする。
【００４２】
ここで、ベースバンド処理とは、パケットの組み立て分解、データの誤り検出や訂正、データの暗号、復号化及びタイミング検出などの処理である。リンク管理とは、ACLリンクやSCOリンクの接続・切断、デバイス情報に関する情報の交換、及び認証プロトコルの実行などである。HCIインタフェース処理とは、ホスト（キャッシュレジスタ装置１）との通信を行い、ホストから送られたコマンドの受信及び解釈と、そのコマンドを実行した結果をイベントとして通知する処理である。送受信用のデータのバッファリングもHCIインタフェース処理に含まれる。
【００４３】
リンク管理では、他の装置とACLリンクの接続中に、他の装置からLMP_inqr_power_reqのメッセージを受信すると、RF部３２に制御信号を送り、予め決められた分の電力を増加させる。逆に、LMP_decr_power_reqのメッセージを受信すると、予め決められた分の電力を減少させる。このように、通信相手からの指示により、ACLリンクを確立した相手との間で適切な電力で通信できるよう自動調整を行う機能をオプション機能として備える。
【００４４】
現在は、RF部３２とベースバンド部３３の２チップ構成が主流であるが、最近ではRF部３２、ベースバンド部３３、リンク管理機能、及びHCIインタフェースを１チップで構成したデバイスも開発されている。このような構成の場合は、キャッシュレジスタ装置１を制御するプログラムは、コア仕様書パートHで定義されたHCI(Host Controller Interface)コマンドをBTモジュール１１に送信し、その結果をHCIイベントとして受信する。L2CAPやRFCOMMなどのBluetoothプロトコルは、レジ処理を行うアプリケーションプログラムや顧客へのサービス提供を行うアプリケーションプログラムと共に、CPU２２によりメモリ２３にロードされて実行される。その他、ＯＳ、ドライバ及びアプリケーションもメモリ２３に記憶されている。
【００４５】
なお、上位のプロトコル、例えば、L2CAPやRFCOMMなどの処理を行うプログラムは、BTモジュール１１内のROM６２に格納され、このプログラムをベースバンド部３３の演算装置６５で実行してもよい。この場合、BTモジュール１１がサポートする機能に応じて、BTモジュール１１の実装に依存したコマンドやイベントを送受信し、BTモジュール１１の制御とデータの送受信を実現する。
【００４６】
BTモジュール１１のインタフェースをRS232Cにすれば、現行のキャッシュレジスタにも容易に対応可能であるが、必ずしもRS232Cを介して内部バスに接続する必要はなく、例えば、BTモジュール１１をキャッシュレジスタ装置１の内部バス２１に直接接続してもよいし、USB（Universal Serial Bus）を介して接続してもよいし、PCMCIAカードインタフェースを介して接続してもよい。
【００４７】
BTモジュール１１をキャッシュレジスタ装置１の内部バス２１に直接接続する場合は、BTモジュール１１内のRF部３２を内部バス２１に接続し、ベースバンド処理やリンク管理をキャッシュレジスタ装置１のプログラムとして実現してもよい。この場合、サービス提供を行うプログラムは、HCIインタフェースと呼ばれるコマンドのやり取りではなく、専用のAPIをコールすることにより実行される。
【００４８】
図４はBluetooth携帯端末２の内部構成の一例を示すブロック図である。図４のBluetooth携帯端末２は、内部バス７０に接続された所定のプログラムを実行するCPU７１、プログラムや辞書データを記憶するROM７２、一時的な変数やデータを格納するメモリ７３、個人登録情報や電子クーポンなどを保存するEEPROM７４、マイク７５で音声信号をデジタル信号に変換するＡ／Ｄ７６、デジタル信号を音声信号に変換してスピーカ７７に出力するＤ／Ａ７８、筐体を振動させる偏心モータ７９、基地局８０との通信を行う通信部８１、各種情報を表示する表示部８２、顧客が文字を入力するキー入力部８３、メニューの選択等を行う選択指示部８４、及びBluetoothモジュール８５（以下、BTモジュールと呼ぶ）を有する。
【００４９】
BTモジュール１１は、例えば、キャッシュレジスタ装置１との間に無線通信路を確立し、サーバから提供されるサービスを受けるためにデータの送受信を行う。BTモジュール８５は、キャッシュレジスタ装置１内のBTモジュール１１と同様の構成でもよいし、異なる構成でもよい。例えば、図３と同様の構成の場合、ベースバンド部３３の内部バスにRF部３２を接続してもよい。
【００５０】
音声通話に関する構成は、従来の携帯電話と同様であり、例えば、通信部８１は、基地局８０との間で位置登録、発呼・着呼時の呼制御を行ってデータの送受信を行い、通信が終了した際には切断の呼制御、さらに、通信中にはハンドオーバ等を行う。
【００５１】
通信部８１は、基地局８０から接続要求を受信した場合には、スピーカ７７から呼び出し音を出力する、あるいは、偏芯モータ７９を駆動させ、Bluetooth携帯端末２の筐体を振動させて、Bluetooth携帯端末２の所有者であるユーザの注意を喚起する。ユーザの接続了解指示の後、キャリアは２地点間の回線接続を行って通信を開始する。
【００５２】
通信時は、Bluetooth携帯端末２は、マイク７５から入力された音声をＡ／Ｄ変換部７６でアナログ信号からデジタル信号に変換し、CPU７１の制御の下、デジタルデータの圧縮処理を行い、通信部を通じて近接の基地局に送信する。また、通信部８１で受信された信号は、CPU７１の制御の下、伸張処理等を施されて元の信号に戻され、Ｄ／Ａ変換部７８でデジタル信号からアナログ信号に変換されてスピーカ７７から出力される。
【００５３】
図４のBluetooth携帯端末２がキャッシュレジスタ装置１からサービス提供を受ける機能は通常、アプリケーションプログラムで実現される。近年では、JAVA（登録商標）の仮想マシンを携帯電話内で実行し、公衆網を通じて取得し、携帯電話のストレージに保存しているJAVAアプリケーションをJAVA仮想マシン上で実行する技術が普及しており、この技術を利用すればよい。携帯電話のJAVAアプリケーションを保存するメモリ空間は、通常の空間とは異なる管理をされており、他のアプリケーションからアクセスを行うことはできない。これにより、不正なアプリケーションからデータを保護してセキュリティを確保している。
【００５４】
また、JAVA仮想マシンからBluetoothを制御するAPIはJSR-82として規定されており、JAVAアプリケーションは、JAVA仮想マシンが提供するAPIを通じてBTモジュール１１にコマンドを送信し、BTモジュール１１からのイベントは、JAVA仮想マシンを通じて受信したり、登録した関数がコールバックされる。
【００５５】
Bluetooth携帯端末２上で動作するプログラムは、必ずしもJAVAには限られず、例えば、Symbian OS, Windows CE Phone Edition, Palm OS, BREWなどのプラットフォーム上で動作する場合でも同等の効果が得られる。
【００５６】
本実施形態の効果を説明するにあたり、サービスを受けるアプリケーションが予めBluetooth携帯端末２に保存されているものと仮定する。また、サービス提供を受けるための秘密の共有鍵を、アプリケーションとあわせてEEPRON内に保存しているものと仮定する。
【００５７】
以下、Bluetooth携帯端末２が任意の場所で任意の相手からサービスを受けるための手順を説明する。図５はBluetooth携帯端末２が任意の場所で任意の相手からサービスを受けるための処理手順を示すフローチャートである。図５の処理手順は、従来のBluetooth携帯端末２の処理手順と同様である。Bluetooth携帯端末２は、インクワイアリを開始すると（ステップＳ１１）、１０秒が経過したか否かを判断し（ステップＳ１２）、１０秒以内に通信相手の端末が発見されると（ステップＳ１３）、その端末のCODを検査し（ステップＳ１４）、CODが予め登録してあるものと一致する場合には（ステップＳ１５）、リストに記録し（ステップＳ１６）、一致しなければステップＳ１２以降の処理を繰り返す。
【００５８】
１０秒が経過すると、通信相手の端末が存在するか否かを判定し（ステップＳ１７）、存在しなければ端末なしを表示する（ステップＳ１８）。端末が存在する場合には、その端末のリモートネームを取得し（ステップＳ１９）、リストに記録する（ステップＳ２０）。
【００５９】
次に、他に端末が存在するか否かを判定し（ステップＳ２１）、存在すれば、ステップＳ１９以降の処理を繰返し、存在しなければ、リモートネームの一覧を表示し（ステップＳ２２）、利用者による接続指示を待ち受ける（ステップＳ２３）。
【００６０】
利用者からの接続要求があると（ステップＳ２４）、接続が成功したか否かを判定し（ステップＳ２５）、接続が成功しなければ接続エラーを表示する（ステップＳ２６）。接続が成功した場合には、接続用の情報を取得し（ステップＳ２７）、アプリケーション・プロトコルの接続を行う（ステップＳ２８）。次に、通信先の端末（本実施形態では、キャッシュレジスタ装置１）に情報取得要求を送信し（ステップＳ２９）、キャッシュレジスタ装置１からの情報を取得すると（ステップＳ３０）、取得した情報を表示する（ステップＳ３１）。
【００６１】
本実施形態は、キャッシュレジスタ装置１の送信電力を、ACL接続を行っている他の装置からの指示で変更するのではなく、BTモジュール１１と内部バスに接続されたCPUからの指示で変更する点に特徴がある。
【００６２】
キャッシュレジスタ装置１内のBTモジュール１１は、ホスト（キャッシュレジスタ装置１）から、HCIコマンドの拡張として、送信電力の変更を指示するコマンドを受信するとともに、送信電力が変更されたことを示すイベントを送信する。HCIコマンドとHCIイベントのパケットの構造やコードの割り当ては、Bluetoothコア仕様のパートＨに詳細に記載されている。
【００６３】
送信電力制御用のHCIコマンドは、HCIコマンドパケット内のOpCodeに専用のコードを割り当てて使用する。専用コードの割り当ては、既存のグループに命令を追加する方法、新規のグループを定義する方法、ベンダーのデバッグ用のグループを使用する方法などが考えられる。電力制御コマンドの引数は、例えば、使用するRF部３２の送信電力の最小値を１とし、最大値を１００となるようにベースバンド部３３内で管理する。また、電力変更イベントは、従来のイベントに新規イベントとして追加することで実現可能である。イベントの引数としては、変更後の電力値を示す値を設定する。あるいは、他のコマンドと同様にコマンド終了イベントの引数に電力変更を示すコードを追加する方法でもよい。本実施形態では、以上のような機能をプログラムで実現する。
【００６４】
図６はBTモジュール１１と通信エリアを示す図である。図示のように、BTモジュール１１に接続されたアンテナ３１は、特定方向に対して送受信の感度が高い指向性アンテナ３１である。図６のLmaxは最大送信電力で通信可能な距離であり、この距離を得る場合の送信電力はクラス３に分類される１mwであり、BTモジュール１１の通信距離は約10ｍである。Lminは最小電力での通信距離であり、仮に最大電力と最小電力の差を30dBとすると、最小電力での通信距離は約30分の１になり、通信可能距離は約30cmとなる。
【００６５】
最大電力と最小電力の差が30dBであることは一例であり、他の値でもかまわない。例えば、その差が30dBより少ない場合、例えば、20dBとすると、最小距離は１ｍとなる。キャッシュレジスタ装置１（POS）のように、隣の装置との間隔が狭い場合には、最小距離をさらに小さくする必要がある。このような場合は、BluetoothのRF部３２とアンテナ３１間に(-10)dBの減衰器を挿入することにより、その最小通信距離を約30ｃｍにすることができる。しかし、それに伴い、最大距離も３ｍになるが、上記のような例では、３ｍもの通信距離は不要であり、発明の効果に影響を与えずに所望の目的を実現できる。また、最大電力と最小電力の差が40dBもあるような場合、所望の距離を実現するには、送信電力を(-30)dBになるように設定すればよい。
【００６６】
最大電力と最小電力の差が30dBの差がある場合、電力制御コマンドの引数は、「１」が最小電力(-30)dBを示し、「100」が最大電力を示す。40dBの場合は、１が(-40)dBを示すので、所望の効果を得るには、(-30)dBを示す25を設定すればよい。
【００６７】
また、指向性アンテナ３１が、指向性を有する軸とそうでない軸との差が６dBと仮定し、図７のように、アンテナ３１の指向性方向を、キャッシュレジスタ装置１が置かれているカウンタ８６に対して垂直方向に設置すると、水平方向の通信距離はその２分の１になる。最小電力を(-30)dBとすると、その通信距離は、垂直方向に60cm、水平方向に30cmとなる。
【００６８】
図８は図７を真上から見た状態を示す図である。カウンタ８６上のキャッシュレジスタ装置１（POS）とPOSの間隔を約１ｍとし、レジで清算を行おうとする顧客の前後の間隔を約60cmと仮定する。
【００６９】
Bluetoothは、79chの周波数をホッピングしながら通信を行う。それゆえ、使用するチャネルごとの送信機性能のばらつき、周波数ごとのアンテナ性能の差、BTモジュール１１固体のばらつき、及び温度特性などの影響により、実際その通信距離は一定ではない。それゆえ、実利用においては隣の装置と重ならないように通信エリアを制御する必要がある。
【００７０】
なお、通信距離30ｃｍはあくまで１例であり、状況によってはその値を10cmくらい(-40)dB、あるいは、５ｃｍ(-46)dBまで絞り込む状況も生じる。
【００７１】
本実施形態で示している数値はあくまでも１例であり、本発明の本質は、その数字ではなく、ACL接続以前に送信電力の制御を行うことにより、所望の相手との接続を実現することである。
【００７２】
次に、キャッシュレジスタ装置１の処理動作を説明する。図９はキャッシュレジスタ装置１の処理手順の一例を示すフローチャートである。まず、キャッシュレジスタ装置１上で動作するプログラムにより、サービス提供の開始を指示されると（ステップＳ４１）、送信電力を変更し（ステップＳ４２）、Bluetooth携帯端末２を発見可能かつ接続可能に設定する（ステップＳ４３）。
【００７３】
次に、ACL接続要求を待機し（ステップＳ４４）、ACL接続要求を受信すると（ステップＳ４５）、ACL接続を許可し（ステップＳ４６）、その後、ACL接続を完了する（ステップＳ４７）。次に、送信電力を変更し（ステップＳ４８）、L2CAP等の接続処理を行った後（ステップＳ４９）、サービス提供を開始する（ステップＳ５０）。
【００７４】
図１０はキャッシュレジスタ装置１（POS端末）の送信電力を制御する場合の近接無線通信システムの処理手順の一例を示すシーケンス図である。この図では、サービスを提供するキャッシュレジスタ装置１自身の初期化手順を割愛している。初期化手順により既にサービス提供を行うアプリケーションは実行されているものとし、実際にサービス提供を行う手順のみを説明する。
【００７５】
レジオペレータがBluetoothを使用した通信の開始をPOSアプリケーションに指示すると、アプリケーションは、HCIインタフェースを通じてBTモジュール１１に電力変更コマンドを送信する（ステップＳ５１）。電力制御コマンドの引数としては(-30)dBを示す値である０を設定する。BTモジュール１１は、電力制御コマンドを受信すると、そのコマンドに応答し、RFの送信機のゲインを制御して最小電力となるように設定する。送信電力を小さくすることにより、その水平方向の通信距離を約30cmとする。BTモジュール１１は、送信電力コマンドを完了したら、コマンド完了イベントをキャッシュレジスタ装置１に通知する（ステップＳ５２）。
【００７６】
次に、アプリケーションは、キャッシュレジスタ装置１を発見可能かつ接続可能に設定するようWrite_Scan_EbableコマンドでBTモジュール１１に指示する（ステップＳ５３）。これにより、周囲に存在するBluetooth携帯端末２から発見可能かつ接続可能となる。
【００７７】
Bluetooth携帯端末２を所持するユーザは、専用のJAVAアプリケーションを起動し、サービス開始指示を行う。JAVAアプリケーションは、BTモジュール１１にインクワイアリを開始するInquiryコマンドを指示する（ステップＳ５４）。
【００７８】
もし、ユーザのBluetooth携帯端末２がキャッシュレジスタ装置１の通信可能範囲外に存在する場合は、キャッシュレジスタ装置１はBluetooth携帯からのIQパケットを受信し（ステップＳ５５）、FHSパケットを返信するが（ステップＳ５６）、Bluetooth携帯端末２はキャッシュレジスタ装置１の通信可能範囲外なので、キャッシュレジスタ装置１からのFHSパケットを受信できないため、キャッシュレジスタ装置１を発見することはできない。
【００７９】
一方、ユーザのBluetooth携帯端末２が、キャッシュレジスタ装置１の通信可能範囲内に存在する場合は、キャッシュレジスタ装置１からのFHSパケットを受信でき、通信可能な装置として認識できる。JAVAアプリケーションは、新規端末発見イベントであるInquiry Resultイベントを受信すると（ステップＳ５７）、装置種別を示すCODを検査し、所望のCODかどうか検査する。所望のCODを有する場合は、Inquiry_Cancelコマンドによりインクワイアリ処理をキャンセルし（ステップＳ５８）、発見した装置に対してACL接続要求であるCreate_Connectionコマンドを指示する（ステップＳ５９）。
【００８０】
次に、Bluetooth携帯端末２のBTモジュール１１とキャッシュレジスタ装置１のBTモジュール１１間でACL接続手順が実行される。具体的には、まず、マスター（Bluetooth携帯端末２）のBTモジュール１１のベースバンド部３３は、スレーブ（キャッシュレジスタ装置１）のアドレスからDAC(Device Access code)を含むIDパケットを作成し、取得したスレーブのBluetoothクロック情報を元にスレーブがページスキャンを行っている周波数を推測して、その周波数の前後１６ｃｈに対して周期的にRF部からIDパケットを送信する（ステップＳ６０）。スレーブのベースバンド部３３は、自装置を示すDAC（Device Access Code）を含むIDパケットを受信すると、同一のIDパケットをマスターに対して送信する（ステップＳ６１）。
【００８１】
マスター（Bluetooth携帯端末２）のベースバンド部３３は、IDパケットを受信すると、マスターのクロック情報を含むFHSパケットをスレーブ（キャッシュレジスタ装置１）に送信する（ステップＳ６２）。スレーブは、マスターからFHSパケットを受信すると、IDパケットを送信し（ステップＳ６３）、周波数のホッピングパターンをマスターのクロックから計算したホッピングパターンに変更する。
【００８２】
マスターのベースバンド部３３は、スレーブからIDパケットを受信すると、POLLパケットを送信し（ステップＳ６４）、何らかのパケットを受信すると（ステップＳ６５）、LMP_host_connection_reqパケットをスレーブに送信する（ステップＳ６６）。
【００８３】
スレーブのベースバンド部３３は、LMP_host_connection_reqパケットを受信すると、Connection RequestイベントをHCIイベントとしてキャッシュレジスタ装置１のアプリケーションに通知する（ステップＳ６７）。アプリケーションがAccept Connection RequestHCIコマンドをベースバンド部３３に指示すると（ステップＳ６８）、LMP_acceptedパケットをマスターのBTモジュール１１に返信する（ステップＳ６９）。
【００８４】
以後、ベースバンド部３３は、LMP_features_reqとLMP_features_resメッセージにより双方のデバイスのハードウェア情報を交換し（ステップＳ７０，Ｓ７１）、通信に関する設定が完了すると、LMP_setup_completeパケットを双方送りあう（ステップＳ７２，Ｓ７３）。
【００８５】
Bluetooth携帯端末２とキャッシュレジスタ装置１の双方のベースバンド部３３の設定が完了すると、双方のBTモジュール１１からアプリケーションに対して、接続完了であるConnection Completeイベントが通知される（ステップＳ７４，Ｓ７５）。
【００８６】
POSアプリケーションがこのイベントを受信すると、電力変更コマンドをBTモジュール１１に指示し、送信電力を大きくするように指示する（ステップＳ７６）。例えば、送信電力を最大にすれば、通信距離が約１０ｍになるが、不必要に通信エリアを大きくすると他のキャッシュレジスタ装置１間の通信に影響を及ぼす可能性もある。例えば、12dB分送信電力を増やすよう指示すると、通信距離は４倍の約1.2ｍになり、他の装置の通信に与える影響は少なくなる。
【００８７】
上述した第１の実施形態では、ユーザのBluetooth携帯端末２をキャッシュレジスタ装置１に近づけない限り、通信相手であるキャッシュレジスタ装置１を発見できないため、所望の装置以外のキャッシュレジスタ装置１を発見することはない。また、ACLリンク接続後は、キャッシュレジスタ装置１の送信電力を大きくすることにより、Bluetooth携帯端末２をキャッシュレジスタ装置１に近づけておく必要がなく、その通信範囲内であれば、自由にBluetooth携帯端末２を移動させることができる。
【００８８】
また、一旦ACLリンクが接続された場合には、ユーザがBluetooth携帯端末２をポケットやバッグにしまったとしても、その後の処理を継続して行うことが可能である。
【００８９】
本実施形態において、ユーザは、Bluetooth携帯端末２のアプリケーションの接続指示を行ってから、ACLリンクが確立する間のみ、その姿勢を拘束する。現在策定中のBluetoothの高速接続仕様を用いれば、端末の発見処理とACLの接続処理に必要な時間は、数百ミリセコンドとなる。それゆえ、赤外線通信や単純に減衰器を挿入したサービス提供装置などと比較して、ユーザが長時間同一の姿勢を保持する必要がなく、利便性の面で優れている。
【００９０】
以上に説明したように、第１の実施形態では、Bluetooth携帯端末２のユーザが所望のサービス専用のアプリケーションを起動し、通信相手のキャッシュレジスタ装置１の近くで、通信開始指示を行うだけで、容易に、短時間に、確実に、かつ長時間の姿勢の拘束なしに、キャッシュレジスタ装置１と通信を行うことができる。本実施形態では、アプリケーションを起動して接続要求を行ってから、所望の装置に近づけても、あるいは、所望の装置に近づけてから接続要求を行っても、同等の効果を得ることができる。
【００９１】
キャッシュレジスタ装置１のPOSアプリケーションは、利用者へのサービス提供可能な状態になるととともに、送信電力の減少コマンドをBluetoothモジュールに送信し、電力変更完了イベントを受信する。このイベントを受信すると、POSに付属したLEDなどのランプを点灯することにより、利用者に対して通信可能な状態であることを知らせることができる。利用者は、LEDが点灯しているときに、接続可能であると認識できる、いつ自分の携帯を近づければよいか、タイミングを知ることができる。
【００９２】
また、ACLリンク接続完了後、送信電力の増大コマンドをBTモジュール１１に送信し、電力変更完了イベントを受信する。このイベントを受信すると、「接続しました」のような音声をスピーカから出力したり、POSに具備したランプを光らせたり、ユーザの方向を向いている表示装置に「接続しました」のようなメッセージを出力する。ユーザは、この出力により、キャッシュレジスタ装置１と接続できたこと、またBluetooth携帯をキャッシュレジスタ装置１から引き離してよいタイミングを知ることができ、利便性の面で優れたものとなる。
【００９３】
従来は、発見した装置の中から利用者が所望の装置を区別しやすくするために、発見された装置に対してRemote_name_requestを送信し、識別用の名称を取得し、利用者に提示する処理が必要であったが、本発明では、通信可能な装置が所望の装置1台であるため、利用者による選択処理を必要としない。
【００９４】
それゆえ、Remote_name_requestによる識別名称所得処理が不要なため、従来と比較し処理時間を短縮することが可能となる。
【００９５】
（第２の実施形態）
第１の実施形態では、サービス提供を行うスレーブ側のキャッシュレジスタ内のBTモジュール１１が送受信の制御を行っているが、以下に説明する第２の実施形態では、サービスを受領するマスター側のBluetooth携帯端末２が送信電力の制御を行うものである。以下では、第１の実施形態との相違点を中心に説明する。
【００９６】
第２の実施形態は、Bluetooth携帯端末２上で動作するプログラムに記述された送信電力の変更を指示するコマンドにより、Bluetooth携帯端末２内のBTモジュール１１は送信電力の変更を行う。
【００９７】
図１１はBluetooth携帯端末２とアンテナ３１との位置関係を示す図であり、図１１（ａ）は斜視図、図１１（ｂ）は側面図、図１１（ｃ）は上面図である。指向性アンテナ３１の指向性方向軸と非指向性軸との差を６dBと仮定し、指向性方向をBluetooth携帯端末２の背面パネルに対して垂直方向に設置すると、水平方向の通信距離は垂直方向の通信距離の半分になる。最小電力を(-30)dBとすると、その通信距離は、垂直方向に60ｃｍ、水平方向に30ｃｍとなる。
【００９８】
通常、Bluetooth携帯端末２のユーザは、同端末の画面を見ながら操作するため、キャッシュレジスタ装置１（POS）のアンテナ３１をキャッシュレジスタ装置１のカウンタ８６に取り付けた場合、このアンテナ３１にBluetooth携帯端末２をかざすようにする。これにより、指向性アンテナ３１の感度を調整することにより、通信を行うことができる。
【００９９】
あるいは、キャッシュレジスタ装置１のアンテナ３１がPOSの側面に取り付けられていたとしても、図１１のようにアンテナ３１を設置していれば、POSの側面に携帯電話を近づけるだけで安定した通信が得られる。
【０１００】
図１２はBluetooth携帯端末２の第２の実施形態の処理手順の一例を示すフローチャートである。まず、サービスを行うキャッシュレジスタ装置１のBTモジュール１１が、発見可能、通信可能な状態になっているとする。Bluetooth携帯端末２を所持するユーザは、専用のJAVAアプリケーションを起動し、サービス開始指示を行う（ステップＳ８１）。次に、Bluetooth携帯端末２の送信電力を変更する（ステップＳ８２）。次に、インクワイアリを実行し（ステップＳ８３）、Bluetooth携帯端末２を発見すると（ステップＳ８４）、CODを検査した後（ステップＳ８５）、送信電力を変更する（ステップＳ８６）。
【０１０１】
次に、ACL接続要求を行い（ステップＳ８７）、ACL接続が完了すると（ステップＳ８８）、L2CAP接続を行った後（ステップＳ８９）、キャッシュレジスタ装置１からのサービス提供を受ける（ステップＳ９０）。
【０１０２】
図１３は本発明に係る近距離通信システムの第２の実施形態の処理手順を示すシーケンス図である。Bluetooth携帯端末２で起動されたJAVAアプリケーションは、JAVA仮想マシンのAPIを通じて、BTモジュール１１に送信電力を変更するコマンドを指示し（ステップＳ１０１）、ベースバンド部３３がRF部３２の送信電力を変更した後、イベントを通知する（ステップＳ１０２）。コマンド完了イベントを受信すると、インクワイアリを開始するInquiryコマンドを指示する（ステップＳ１０３）。
【０１０３】
もし、キャッシュレジスタ装置１のBTモジュール１１が、ユーザのBluetooth携帯端末２のBTモジュール１１の通信可能範囲外に存在する場合は、キャッシュレジスタ装置１はBluetooth携帯端末２からのIQパケットを受信できない。キャッシュレジスタ装置１が、ユーザのBluetooth携帯端末２の通信可能範囲内に存在する場合は、ベースバンド部３３はIQパケットを受信し（ステップＳ１０４）、キャッシュレジスタ装置１のベースバンド部３３はFHSパケットを返信する（ステップＳ１０５）。
【０１０４】
Bluetooth携帯端末２のベースバンド部３３は、キャッシュレジスタ装置１からのFHSパケットを受信でき、キャッシュレジスタ装置１を通信可能な装置として認識する。
【０１０５】
次にJAVA仮想マシンは、新規端末発見イベントであるInquiry Resultイベントを受信すると（ステップＳ１０６）、JAVAアプリケーションに端末発見メッセージを送信する。JAVAアプリケーションは、装置種別を示すCODを検査し、所望のCODかどうか検査する。所望のCODを有する場合は、インクワイアリをInquiry_Cancelコマンドでキャンセルするよう仮想マシンを通じてBTモジュール１１に要求する（ステップＳ１０７）。キャンセルコマンドの実行により、Inquiry CompleteイベントをJAVAアプリケーションは受信する（ステップＳ１０８）。このイベントを受信するとJAVAアプリケーションは、電力変更コマンドをBTモジュール１１に指示し、RF部３２の送信電力を変更する（ステップＳ１０９）。
【０１０６】
ベースバンド部３３は、電力を変更した後、発見した装置のBluetoothアドレスを引数として、ACL接続要求であるCreate_Connectionコマンドを指示する（ステップＳ１１０）。これにより、第１の実施形態と同等の効果が得られる。
【０１０７】
また、Inquiry Completeイベントを受信した時ではなく、ACL接続の完了を示す、connection completeイベントを受信した後に送信電力を変更しても同等の効果を得られる。
【０１０８】
あるいは、JAVAアプリケーションを動作させる仮想マシンが、電力変更コマンドをBTモジュール１１に指示するのではなく、インクワイアリや接続要求などのあらかじめ決められたコマンドをJAVAアプリケーションから受け取った場合や、Inquiry Resultイベントやconnection completeイベントなどのあらかじめ決められたイベント受信した場合には、JAVA仮想マシンを実現しているアプリケーションが、JAVAアプリケーションに代わって電力変更コマンドをBTモジュール１１に指示する構成もありうる。
【０１０９】
なお、図１３のステップＳ１１１〜Ｓ１２６では、図１０のステップＳ６０〜Ｓ７６と同様の処理を行うため、詳細な説明は割愛する。
【０１１０】
Bluetooth携帯端末２は、サービスを受けるアプリケーションの他にも、他のBluetoothアプリケーションを実行させる場合が多々存在する。それゆえ、電力制御を行った場合には、デフォルトの設定に戻さないと、他のアプリケーションを使用した場合に、うまく接続できない可能性がある。それゆえ、一定時間Inquiryを行って通信可能な端末が発見できなかった場合は、つまり、Inquiry Completeを受信するまでに、通信可能な端末を発見できなかった場合は、送信電力を元に戻すよう送信電力変更コマンドを指示する。あるいは、インクワイアリの途中でJAVAアプリケーションを終了した場合には、送信電力を元に戻すように、JAVAアプリケーションのデストラクタに記述するか、仮想マシンが責任を持って処理を行うようにする。
【０１１１】
確実な方法として、JAVAアプリケーションの初期化の時に現在の送信電力を取得し、その値を記録しておき、JAVAアプリケーションのデストラクタで設定を元に戻す。このような場合は、送信電力を変更するコマンドだけでなく、現在の送信電力をBTモジュール１１から読み出すコマンドを準備する。このような作業は、JAVA仮想マシンがアプリケーションを起動するときに実行し、アプリケーションを終了させるときに行うことで、プログラム開発者が意識しなくてもよい。
【０１１２】
以上のような方法を用いることにより、他のBluetoothアプリケーションに対して、送信電力の変更により、接続できないような現象が生じることを防ぐことができる。
【０１１３】
また、電力変更コマンドの指示の戻り値が成功した場合には、Bluetooth携帯端末２は、あらかじめ決められた信号を出力する。例えば、送信電力を下げた場合には、LEDを赤く、送信電力を元に戻したのであれば青にすることにより、ユーザは、Bluetooth携帯端末２をいつキャッシュレジスタ装置１に近づけて、いつ遠ざければよいか容易に認知できる。また、出力はLEDだけでなく、音声、音楽、画面へのメッセージ、携帯端末の場合は、振動などでも同等の効果を得ることができる。
【０１１４】
また、本実施形態では、数cmの近接の装置と接続しやすいように指向性アンテナ３１を利用しているが、アクセスポイントなど天井に設置されている装置に対して接続を行う場合は、無指向性アンテナ３１を利用したほうが利便性がよい。それゆえ、Bluetooth携帯端末２に指向性アンテナ３１と無指向性アンテナ３１の双方を設け、送信電力により双方のアンテナ３１を切り替えて利用してもよい。切り替え方法は、送信電力の少ないときは指向性アンテナ３１を利用し、大きいときは無指向性アンテナ３１を利用するなどの自動切換え方式や、専用のHCIイベントコマンドやイベントを設けてアプリケーションが指示する方式などが考えられる。
【０１１５】
このように、第２の実施形態では、Bluetooth携帯端末２が送信電力の切替制御を行い、キャッシュレジスタ装置１に対するインクワイアリを行う場合には送信電力を小さくし、インクワイアリ完了後に送信電力を大きくするため、所望のキャッシュレジスタに確実に接続できるとともに、いったんインクワイアリが完了した後はキャッシュレジスタ装置１から距離的に離れても、そのキャッシュレジスタ装置１からのサービスを受けることができ、Bluetooth携帯端末２のユーザの使い勝手がよくなる。
【０１１６】
（第３の実施形態）
第１の実施形態では、HCIコマンドとして、上位アプリケーションより明示的に電力制御コマンドを与える構成を説明した。これに対して、以下に説明する第３の実施形態では、CPUから特定コマンドの実行指示を受けた場合に、BTモジュール１１内のリンク管理機能で、送信電力を自動的に決められた値に変更するものであり、自動電力制御機能を有するBTモジュール１１を具備する点に特徴がある。
【０１１７】
図１４は本発明に係る近距離通信システムの第３の実施形態の処理手順を示すシーケンス図であり、以下では、図１０と異なる点を中心に説明する。上述したようにリンク管理機能は、BTモジュール１１内に搭載された、CPUで実行するプログラムとして実現されている、あるいは、CPUにRF部３２を直接接続した場合は、CPU上で動作するプログラムとして構成されている。
【０１１８】
レジオペレータがBluetoothを使用した通信開始をアプリケーションに指示すると、キャッシュレジスタ装置１を発見可能かつ接続可能に設定するようWrite_Scan_EbableコマンドをBTモジュール１１に指示する（ステップＳ１３１）。BTモジュール１１は、HCIコマンドを解釈し、それが、Write_Scan_Ebableであり、その引数が、発見可能かつ接続可能である場合は、その通信距離が数cmとなる送信電力に変更するようRF部３２に指示する（ステップＳ１３２）。RF部３２が送信電力の変更に成功した場合は、発見可能かつ接続可能の状態である、Inquiry Scan State, Page Scan Stateに定期的になるよう制御する。
【０１１９】
Bluetooth携帯端末２がキャッシュレジスタ装置１の通信可能範囲内に存在する場合は、キャッシュレジスタ装置１のBTモジュール１１は、Inquiry Scan state時（ステップＳ１３３）に、Bluetooth携帯端末２からのIQパケットを受信する（ステップＳ１３４）。IQパケットを受信すると、自装置のアドレス、COD（Class Of Device）、BluetoothクロックからなるFHSパケットを送信する（ステップＳ１３５）。
【０１２０】
その後、Page Scan Stateの時にIDパケットを受信すると（ステップＳ１３６）、正確には、DAC（Device Access Code）で受信状態であるRF部３２のコリレータの出力が閾値を超えた場合には、Page Response sub stateに状態を遷移させ、その通信距離が数mとなる送信電力に変更ようRF部３２に指示する（ステップＳ１３７）。RF部３２が送信電力を変更した後、規定のタイミングでIDパケットを送信する（ステップＳ１３８）。
【０１２１】
以上により、第３の実施形態は、第１の実施形態と同等の効果を得ることができる。また、第３の実施形態において、キャッシュレジスタ装置１で動作するプログラムは、Bluetooth携帯端末２の接続時に、電力制御を意識することなく、通常のBluetooth携帯端末２で動作するプログラムと互換性を有するため、プログラムの開発において、従来のプログラムの変更をほとんど必要としないという効果が得られる。
【０１２２】
上記の例では、Page scan state時にIDパケットを受信した時点で送信電力を変更しているが、ある程度の手順が進んだ場合、例えば、Lmp_connction_Requestパケットを受信した場合、あるいは、Connection Completeの状態になった場合などに、その通信距離が数mとなる送信電力に変更するようRF部３２に指示してもよい。
【０１２３】
RF部３２は、送信電力を変更した後、規定のタイミングでIDパケットを送信するが、何らかの理由で、キャッシュレジスタ装置１からのIDパケットがBluetooth携帯端末２で受信されない場合がある。この場合のシーケンス図は図１５のようになる。
【０１２４】
RF部３２が送信電力を変更した後、規定のタイミングでIDパケットを送信し、その後決められた時間内に、FHSパケットを受信しなかった場合は（ステップＳ１４２）、Page Response sub stateからPage Scan stateに状態が遷移する。これは、何らかの理由により、キャッシュレジスタ装置１からのIDパケットをBluetooth携帯端末２が受信できなかったからであり、送信電力が不十分であるために生じる問題である。このままでは、接続処理の途中でPage Timeoutイベントが生じ、ユーザが、再度接続手順を指示する必要があり、利便性の面では好ましくない。
【０１２５】
それゆえ、図１５では、送信電力を小さくして接続処理を行っている途中で接続処理が進まない、つまり、上記のような状況を検知した場合には、前回設定した値以上の送信電力になるように、例えば、前回より３dB（その通信距離は１．４倍）加算した値で、RF部３２に送信電力の変更を指示する（ステップＳ１４３）。RF部３２が送信電力変更後、規定のタイミングでIDパケットを送信する（ステップＳ１４４）。
【０１２６】
以上の方法により、その送信電力不足により接続処理がうまく進まなかった場合でも、送信電力を増加させ接続処理を進めることにより、ユーザが再度指示するまでもなく、自動で接続処理を行うことが可能となる。
【０１２７】
このように、第３の実施形態では、キャッシュレジスタ装置１のプログラムの特定コマンドの実行指示を受けると、キャッシュレジスタ装置１の送信電力を小さくし、その後、Bluetooth携帯端末２からIDパケットを受信すると、送信電力を大きくするようにしたため、第１の実施形態と同様に、所望のBluetooth携帯端末２のみに対して所望のサービスを提供できる。
【０１２８】
（第４の実施形態）
第２の実施形態では、HCIコマンドとして上位アプリケーションより明示的に電力制御コマンドを与える構成を説明した。これに対して、以下に説明する第４の実施形態では、Bluetooth携帯端末２のプログラムから特定コマンドの実行指示を受けると、BTモジュール８５内のリンク管理機能で、送信電力を自動的に決められた値に変更するようにするものであり、自動電力制御機能を有するBTモジュール８５を具備する点に特徴がある。以下、第２の実施形態と異なる部分を中心に説明する。
【０１２９】
図１６は本発明に係る近距離通信システムの第４の実施形態の処理手順を示すフローチャートである。Bluetooth携帯端末２の所持者が、Bluetoothを使用した通信開始をアプリケーションに指示すると、通信可能装置を発見であるInquiryコマンドを、Bluetooth携帯端末２内のBTモジュール８５に送信する（ステップＳ１５１）。
【０１３０】
BTモジュール８５は、HCIコマンドの解釈を行い、それが、Inquiryである場合は、その通信距離が数cmとなる送信電力に変更するようRF部３２に指示する（ステップＳ１５２）。RF部３２が送信電力の変更に成功した場合は、Inquiry Stateの状態に遷移し、IQパケットを決められた時間送信する（ステップＳ１５３）。その間、FHSパケットを受信すると（ステップＳ１５４）、そのBluetoothアドレス、COD,クロックなどを含む情報をBluetooth携帯端末２に通知する。JAVAアプリケーションがその情報を受信するとCODを検査し、該当する装置であれば、Inquiry CancelコマンドをBTモジュール８５に送信し、Inquiry Completeイベントを受信すると、発見した装置のBluetoothアドレスを引数とし、Cretae_ConnectionコマンドをBTモジュール８５に送信する（ステップＳ１５５）。
【０１３１】
BTモジュール８５は、HCIコマンドの解釈を行い、それが、Create_Connectionである場合は、その通信距離が数mとなる送信電力に変更するようRF部３２に指示する（ステップＳ１５６）。RF部３２が送信電力変更後、Page Stateの状態に遷移し、接続処理を行う。
【０１３２】
このように、第４の実施形態では、Bluetooth携帯端末２のプログラムから特定コマンドの実行指示を受けると、BTモジュール８５内のリンク管理機能で、送信電力を自動制御するため、インクワイアリ期間中は送信電力を小さくし、インクワイアリ期間終了後に送信電力を大きくするような制御が可能になる。これにより、第２の実施形態と同等の効果を得ることが可能である。
【０１３３】
また、第４の実施形態では、JAVAアプリケーションのプログラム開発者は、Bluetoothの接続時に、電力制御を意識することなく、通常のBluetooth上で動作するプログラムと互換性を有するため、プログラムの開発において、従来のプログラムの変更を必要としなくなる。
【０１３４】
以上第１の実施形態から第４の実施形態で説明した構成を用いることにより、Bluetooth携帯端末２の所持者が、サービスを提供する装置のBTモジュール１１に、数１００ｍｓの間だけ、接近させるという容易な操作だけで、所望の装置と確実に、数秒の時間で、接続を行うことが可能となる。
【０１３５】
また、上記第１〜第４の実施形態では、サービスを受けるBluetooth携帯端末１がマスター、サービスを提供するキャッシュレジスタ装置１がスレーブの役割を担当している例を用いて説明したが、Bluetooth携帯端末１がスレーブ、キャッシュレジスタ装置１がマスターでも同等の効果が得られる。このような状況は、マスタースレーブ交換により、実現可能である。この場合、送信電力を変更する対象もBluetooth携帯端末２とキャッシュレジスタ装置１とで入れ替わる。
【０１３６】
また、上記第１〜第４の実施形態では、Bluetooth携帯端末２、キャッシュレジスタ装置１単独で使用しても効果があるが、双方、組み合わせて利用しても同様の効果を得ることが可能となる。その場合、通信範囲が非常に小さいので、不必要な電波を周囲に送信しないので、他の装置の通信への影響を少なくすることが可能となる。
【０１３７】
上記第１〜第４の実施形態ではサービスを受ける携帯端末に携帯電話を想定して説明を行っているが、携帯電話の他に、PDAと呼ばれる携帯型の情報処理装置、デジタルスチルカメラ、音楽再生装置、ノートPC、情報処理装置を内蔵した時計や衣服にBTモジュール１１を装着した場合でも同等の効果を得ることができる。
【０１３８】
また、サービスを提供する装置にPOSレジスタを用いて説明を行ったが、自動販売機、駐車場のゲート、施設のゲート、情報提供装置、マルチメディアキオスク、デジタル写真印刷装置（DPE）などにBTモジュール１１を装着しても同等の効果を得ることができる。
【０１３９】
本実施形態では、携帯電話のアプリケーションをJAVAと記載しているが同等の処理を行うプログラムであれば、その形態を問わない。例えば、Symbian（TM）、Palm（TM）、ITORN（TM）、LINUX（TM）、Windows CE（TM）、BREW（TM）などの各種OSで動作するプログラムであってもなんら問題ない。
【０１４０】
なお、本発明は、上記の実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１４１】
【発明の効果】
以上詳細に説明したように、本発明によれば、近接無線通信を行う場合の送信電力を可変制御することにより、所望のサービス受領装置とサービス提供装置間で所望のサービスの送受信を確実に行うことができる。
【図面の簡単な説明】
【図１】本発明に係る近距離通信システムの一実施形態の全体構成を示すブロック図。
【図２】キャッシュレジスタ装置１の内部構成の一例を示すブロック図。
【図３】キャッシュレジスタ装置１内のBTモジュール１１の内部構成の一例を示すブロック図。
【図４】  Bluetooth携帯端末２の内部構成の一例を示すブロック図。
【図５】  Bluetooth携帯端末２が任意の場所で任意の相手からサービスを受けるための処理手順を示すフローチャート。
【図６】  BTモジュール１１と通信エリアを示す図。
【図７】アンテナの指向性を説明する図。
【図８】図７を真上から見た状態を示す図。
【図９】キャッシュレジスタ装置１の処理手順の一例を示すフローチャート。
【図１０】キャッシュレジスタ装置１（POS端末）の送信電力を制御する場合の近接無線通信システムの処理手順の一例を示すシーケンス図。
【図１１】  Bluetooth携帯端末２とアンテナ３１との位置関係を示す図。
【図１２】  Bluetooth携帯端末２の第２の実施形態の処理手順の一例を示すフローチャート。
【図１３】本発明に係る近距離通信システムの第２の実施形態の処理手順を示すシーケンス図。
【図１４】本発明に係る近距離通信システムの第３の実施形態の処理手順を示すシーケンス図。
【図１５】図１４の変形例を示すシーケンス図。
【図１６】本発明に係る近距離通信システムの第４の実施形態の処理手順を示すフローチャート。
【図１７】  Bluetooth携帯端末が任意の場所で任意の相手からサービスを受けるための従来の処理手順を示すフローチャート。
【符号の説明】
１  キャッシュレジスタ装置
２  Bluetooth携帯端末
３  バーコードリーダ
４  LAN
５  POSサーバ
６  表示部
７  キー入力部
８  印刷部
９  ドローア
１０  LANカード
１１  BTモジュール
２２  CPU
２３  メモリ
２４  ROM
２５  RS232Cコントローラ
２６  レジ制御部
３１  アンテナ
３２  RF部
３３  ベースバンド部
３４  送信部
３５  受信部
３６  制御部
７１  CPU
７２  ROM
７３  メモリ
７４  EEPROM
７５  マイク
７６  A/D
７７  スピーカ
７８  D/A
７９  偏心モータ
８０  基地局
８１  通信部
８２  表示部
８３  キー入力部
８４  選択指示部
８５  BTモジュール
【図１】
0003875196.tif 000002
【図２】
0003875196.tif 000003
【図３】
0003875196.tif 000004
【図４】
0003875196.tif 000005
【図５】
0003875196.tif 000006
【図６】
0003875196.tif 000007
【図７】
0003875196.tif 000008
【図８】
0003875196.tif 000009
【図９】
0003875196.tif 000010
【図１０】
0003875196.tif 000011
【図１１】
0003875196.tif 000012
【図１２】
0003875196.tif 000013
【図１３】
0003875196.tif 000014
【図１４】
0003875196.tif 000015
【図１５】
0003875196.tif 000016
【図１６】
0003875196.tif 000017
【図１７】
0003875196.tif 000018