(57)【要約】【課題】検出された無線通信端末から順に、タイムアウトを待たずにデータ通信を行うことができる情報処理装置を提供する。【解決手段】通信可能な範囲に無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、問合せ応答パケットを送信する複数の無線通信端末のそれぞれを順次検出し、問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末を検出しなかった場合に無線通信端末の検出を完了する端末検出部と、無線通信端末が検出された場合に、端末検出部による複数の無線通信端末の検出を中断させる端末検出中断部と、無線通信端末の検出が中断された状態において、検出された無線通信端末との間で無線によりデータ通信を行うデータ通信部と、データ通信の完了を検出した場合に、端末検出部による他の無線通信端末の検出を再開させる端末検出再開部とを備える情報処理装置を提供する。【選択図】図２
2005159468.tif 000002
【特許請求の範囲】
【請求項１】
無線通信端末との間で無線によりデータ通信を行う情報処理装置であって、
当該情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出部と、
前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させる端末検出中断部と、
前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信部と、
前記データ通信の完了を検出した場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる端末検出再開部と
を備える情報処理装置。
【請求項２】
前記端末検出部は、複数の前記問合せパケットを順次送信し、いずれかの前記問合せパケットに対して前記問合せ応答パケットを送信する前記複数の無線通信端末のそれぞれを順次検出し、
前記端末検出中断部は、前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記検出完了タイムアウト期間が経過するより前に前記端末検出部による前記問合せパケットの送信を中断させる
請求項１記載の情報処理装置。
【請求項３】
前記端末検出部は、前記端末検出再開部により他の前記無線通信端末の検出を再開された場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、再度前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する請求項１記載の情報処理装置。
【請求項４】
前記端末検出部は、前記無線通信端末を検出した場合に、当該無線通信端末を検出したことを前記端末検出中断部へ通知し、
前記端末検出中断部は、前記無線通信端末を検出したことを示す通知を受信した場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させると共に、前記データ通信部に前記データ通信の開始を指示し、
前記データ通信部は、前記端末検出中断部から前記データ通信の開始を指示された場合に、前記データ通信を行って前記データ通信の完了を前記端末検出再開部に通知し、
前記端末検出再開部は、前記データ通信の完了を通知された場合に、前記端末検出部に前記複数の無線通信端末の検出を再度行うことを指示し、
前記端末検出部は、前記複数の無線通信端末の検出を再度行う指示を受けた場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する前記複数の無線通信端末のそれぞれを順次検出し、再度前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する
請求項３記載の情報処理装置。
【請求項５】
前記端末検出中断部は、前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間より短い予め定められた検出中断タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線端末の検出を中断させ、
前記データ通信部は、前記無線通信端末の検出が中断された状態において、前記端末検出部により前記検出中断タイムアウト期間が経過するまでに検出された前記無線通信端末との間で前記データ通信を行う
請求項１記載の情報処理装置。
【請求項６】
前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合において、当該無線通信端末が送信した前記問合せ応答パケットに含まれる当該無線通信端末の識別情報に基づき当該無線通信端末が予め設定された前記無線通信端末のグループに属すると判断した場合に、前記無線通信端末の検出を中断する中断条件が成立すると判断し、当該無線通信端末が前記グループに属さないと判断した場合に、前記無線通信端末の検出を中断する中断条件が成立しないと判断する中断条件判断部を更に備え、
前記端末検出中断部は、前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合において、前記中断条件が成立すると判断された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させ、前記中断条件が成立しないと判断された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させない請求項１記載の情報処理装置。
【請求項７】
前記データ通信部は、
前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末に対して、当該無線通信端末に設定された属性情報の送信を要求する属性情報要求パケットを送信し、前記属性情報要求パケットを受信した当該無線通信端末により送信された属性情報応答パケットに含まれる前記属性情報を取得する属性情報取得部と、
前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うか否かを前記属性情報に基づいて判断するデータ通信条件判断部と、
前記無線通信端末の検出が中断された状態において前記データ通信を行うと判断された場合に、前記無線通信端末の検出が中断された状態において前記データ通信を行い、前記無線通信端末の検出が中断された状態において前記データ通信を行わないと判断された場合に、前記無線通信端末の検出が完了した状態において前記データ通信を行うデータ通信処理部と
を備え、
前記端末検出再開部は、前記データ通信の完了を検出した場合、又は、前記無線通信端末の検出が中断された状態において前記データ通信を行わないと判断された場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる
請求項１記載の情報処理装置。
【請求項８】
前記端末検出部、前記端末検出中断部、前記データ通信部、及び前記端末検出再開部の組を複数備え、
少なくとも１つの前記端末検出中断部は、当該端末検出中断部と組となる前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に検出した前記無線通信端末が、予め定められた数以上の他の前記端末検出部により検出されていない場合に、当該端末検出中断部と組となる前記端末検出部による前記複数の無線通信端末の検出を中断させる
請求項１記載の情報処理装置。
【請求項９】
前記端末検出部は、前記端末検出再開部により他の前記無線通信端末の検出を再開された場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する複数の前記無線通信端末のうち、前記データ通信部により前記データ通信を行っていない前記無線通信端末を順次検出する請求項１記載の情報処理装置。
【請求項１０】
情報処理装置により無線通信端末との間で無線によりデータ通信を行う無線通信方法であって、
前記情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出段階と、
前記端末検出段階において前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出段階による前記複数の無線通信端末の検出を中断させる端末検出中断段階と、
前記無線通信端末の検出が中断された状態において、前記端末検出段階により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信段階と、
前記データ通信の完了を検出した場合に、前記端末検出段階による他の前記無線通信端末の検出を再開させる端末検出再開段階と
を備える無線通信方法。
【請求項１１】
無線通信端末との間で無線によりデータ通信を行う情報処理装置において、前記無線通信端末との間の通信を制御する無線通信プログラムであって、
前記情報処理装置は、当該情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出部を備え、
当該無線通信プログラムは、前記情報処理装置を、
前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させる端末検出中断部と、
前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信部と、
前記データ通信の完了を検出した場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる端末検出再開部と
して機能させる無線通信プログラム。
【請求項１２】
請求項１１記載の無線通信プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、無線通信方法、無線通信プログラム、及び記録媒体に関する。特に本発明は、無線通信端末との間で無線通信を行う際における無線通信端末の検出を効率良く行う情報処理装置、無線通信方法、無線通信プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来、ブルートゥース（登録商標）等の近距離無線通信においては、データ通信に先立ち通信相手となる無線通信端末を検出する検出処理を行う。例えばブルートゥース（登録商標）においては、まず、マスターとなる無線通信端末が、当該端末と通信可能な範囲にスレーブとなる無線通信端末が存在するか否かを問い合わせる問合せ（Inquiry）パケットを送信する。次に、問合せパケットを受信した無線通信端末が、問合せパケットに応答して問合せ応答（Inquiry Response）パケットを送信する。マスターとなる無線通信端末は、この問合せ応答パケットを受信することにより、スレーブとなる無線通信端末を検出することができる。
【０００３】
以上の処理において、マスターとなる無線通信端末は、当該端末と通信可能な範囲に位置する全ての無線通信端末を漏れなく検出するために、検出処理を開始してから予め定められたタイムアウト期間が経過するのを待ってから、通信相手となる無線通信端末の選択や呼び出し等の処理を開始するのが一般的である。ここで、ブルートゥース（登録商標）においては、スレーブとなる無線通信端末は、当該無線通信端末の識別情報に応じて定まる周波数ホッピングパターンに基づいて待ち受け周波数を変化させながら、問合せパケットの受信を待つ。このため、スレーブとなる無線通信端末が待ち受け周波数と一致する周波数の問合せパケットを受信するまでに要する時間が長く、上記のタイムアウト期間も例えば１０秒等の長い時間に設定される。
【０００４】
ブルートゥース（登録商標）において、上記の検出処理に要する時間を低減させる技術として、スレーブとなる無線通信端末の識別情報を予め管理手段に保持しておき、検出処理を行うことなく利用者により選択された通信相手の無線通信端末を呼び出す通信システムが開示されている（特許文献１）。
【特許文献１】特開２００２−３００１７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ブルートゥース（登録商標）を応用する一形態として、店舗にブルートゥース（登録商標）対応の情報処理装置を設置し、当該情報処理装置と通信可能な範囲に利用者が携帯する無線通信端末が検出された場合に、当該店舗の情報を送信するものが考えられる。このようなシステムにおいては、移動している利用者が携帯する無線通信端末に対して店舗の情報を素早く送信する必要があり、長いタイムアウト期間による検出処理を用いた場合有効に機能しない。また、不特定多数の無線通信端末のうち店舗に接近してきた無線通信端末を適切に選択する必要があり、検出処理を行わない上記特許文献１の方法によっても実現するのが困難である。
【０００６】
そこで本発明は、上記の課題を解決することのできる情報処理装置、無線通信方法、無線通信プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
本発明の第１の形態によると、無線通信端末との間で無線によりデータ通信を行う情報処理装置であって、当該情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出部と、前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させる端末検出中断部と、前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信部と、前記データ通信の完了を検出した場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる端末検出再開部とを備える情報処理装置と、当該情報処理装置の無線通信方法、無線通信プログラム及びその記録媒体とを提供する。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００９】
本発明によれば、検出された無線通信端末から順に、タイムアウトを待たずにデータ通信を行うことができる情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態に係る無線通信システム１０の構成を示す。無線通信システム１０は、ブルートゥース（登録商標）等の近距離無線通信により複数の無線通信端末１００と通信する情報処理装置９００が、検出された無線通信端末１００から順にタイムアウトを待たずにデータ通信を行う。これにより無線通信システム１０は、情報処理装置９００及び無線通信端末１００の間で迅速なデータ通信を可能とする。
【００１２】
無線通信システム１０は、複数の無線通信端末１００（１００ａ〜１００ｃ）と、情報処理装置９００と、情報処理装置１２０（１２０ａ〜ｂ）と、ネットワーク１１０とを備える。複数の無線通信端末１００のそれぞれは、利用者により携帯されるＰＤＡ（Personal Digital Assistant）等であり、近距離無線通信の一例としてブルートゥース（登録商標）による無線通信を行う。情報処理装置９００は、複数の無線通信端末１００のそれぞれとの間でブルートゥース（登録商標）を用いて無線によりデータ通信を行う。複数の情報処理装置１２０は、インターネット等のＷＡＮ又はイントラネット等のＬＡＮを含むネットワーク１１０を介して情報処理装置９００に接続される。
【００１３】
以上において、情報処理装置９００は、ブルートゥース（登録商標）におけるマスターとして動作する。一方、複数の無線通信端末１００のそれぞれは、ブルートゥース（登録商標）におけるスレーブとして動作する。
【００１４】
以上に示した無線通信システム１０により、次に例示するサービスが複数の無線通信端末１００の利用者に対して提供される。例えば情報処理装置９００は、店舗に設けられ、屋外を通行する無線通信端末１００の利用者が当該店舗に接近し、情報処理装置９００と通信可能な範囲に移動してきた際に、当該店舗の識別情報や広告等の情報を当該無線通信端末１００に送信する。また例えば、情報処理装置９００は、複数の無線通信端末１００のそれぞれと、ネットワーク１１０との間の通信を中継することにより、ブルートゥース（登録商標）を介して無線通信端末１００と情報処理装置１２０との間のデータ通信を中継する。ここで、情報処理装置１２０ａは、情報処理装置１２０ａ本体に接続された外部表示装置１１００を有してよい。この場合、情報処理装置１２０ａは、無線通信端末１００により情報処理装置９００及びネットワーク１１０を介してアクセスされた情報処理装置１２０ａ内のウェブページ等の情報を外部表示装置１１００に表示し、当該無線通信端末１００の利用者に提示してもよい。これにより、無線通信端末１００の利用者は、情報処理装置９００と通信可能な範囲において、無線通信端末１００と比較し大きな画面を有する外部表示装置１１００を用いて情報処理装置１２０ａ内の情報を見ることができる。
【００１５】
また例えば、情報処理装置９００は、情報処理装置９００本体に接続された外部表示装置１０８１を有し、情報処理装置９００と通信可能な範囲に移動してきた無線通信端末１００に対応して選択された情報を外部表示装置１０８１に表示してもよい。すなわち例えば、外部表示装置１０８１は、無線通信端末１００の利用者が無線通信端末１００を用いてアクセスした情報処理装置１２０の情報を、外部表示装置１０８１に表示してもよい。また例えば、情報処理装置９００は、無線通信端末１００内に格納された、利用者の嗜好を示す情報を当該無線通信端末１００から取得し、利用者の嗜好に適合する広告等の情報を外部表示装置１０８１に表示してもよい。
【００１６】
図２は、本実施形態に係る情報処理装置９００の機能構成を示す。情報処理装置９００は、情報処理部２００と、有線通信部２２０と、外部表示装置１０８１と、無線通信部２３０と、端末検出部２３５と、中断条件判断部２４０と、端末検出中断部２４５と、データ通信部２５０と、端末検出再開部２７０とを備える。情報処理部２００は、複数の無線通信端末１００との間の無線通信、有線通信部２２０を介したネットワーク１１０との間の通信、及び外部表示装置１０８１による表示を制御する。外部表示装置１０８１は、情報処理部２００により指定された画面を無線通信端末１００の利用者等に対して表示する。有線通信部２２０は、情報処理装置９００とネットワーク１１０との間の通信を行う。無線通信部２３０は、複数の無線通信端末１００との間のブルートゥース（登録商標）による無線電波の送受信を行う。
【００１７】
端末検出部２３５は、情報処理部２００から無線通信を開始する指示を受けて、当該情報処理装置９００と通信可能な範囲に無線通信端末１００が存在するか否かを問い合わせる問合せパケットを送信し、問合せパケットに応答する問合せ応答パケットを送信する複数の無線通信端末１００のそれぞれを順次検出する。そして、端末検出部２３５は、問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に無線通信端末１００を検出しなかった場合に、無線通信端末１００の検出を完了する。
【００１８】
中断条件判断部２４０は、問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００が検出された場合において、検出された無線通信端末１００が予め設定された無線通信端末１００のグループに属すると判断した場合に、無線通信端末１００の検出を中断する中断条件が成立すると判断する。一方、当該無線通信端末１００が当該グループに属さないと判断した場合に、無線通信端末１００の検出を中断する中断条件が成立しないと判断する。この無線通信端末１００のグループには、例えば情報処理装置９００によるネットワーク１１０への接続サービスを受ける無線通信端末１００や、各店舗からの広告を受信させるために貸し出される無線通信端末１００等が予め登録される。
【００１９】
端末検出中断部２４５は、端末検出部２３５が問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００が検出された場合に、端末検出部２３５による複数の無線通信端末１００の検出を中断させる。ここで、本実施形態に係る端末検出中断部２４５は、端末検出部２３５が問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００が検出された場合において、中断条件が成立すると判断された場合に、端末検出部２３５による複数の無線通信端末１００の検出を中断させる。一方、中断条件が成立しないと判断された場合には、端末検出部２３５による複数の無線通信端末１００の検出を中断させず、他の無線通信端末１００の検出を続けさせる。これにより、予め設定されたグループに属さない無線通信端末１００が検出された場合において、端末検出部２３５による無線通信端末１００の検出処理が中断するのを防ぐことができる。
【００２０】
データ通信部２５０は、端末検出中断部２４５により無線通信端末１００の検出が中断された状態において、端末検出部２３５により検出された無線通信端末１００との間で、情報処理部２００の指示に基づき無線通信部２３０を介して無線によりデータ通信を行う。データ通信部２５０は、属性情報取得部２５５と、データ通信条件判断部２６０と、データ通信処理部２６５とを有する。
【００２１】
属性情報取得部２５５は、無線通信端末１００の検出が中断された状態において、端末検出部２３５により検出された無線通信端末１００に対して、当該無線通信端末１００に設定された属性情報の送信を要求する属性情報要求パケットを無線通信部２３０を介して送信する。そして、属性情報取得部２５５は、属性情報要求パケットを受信した当該無線通信端末１００により送信された属性情報応答パケットに含まれる属性情報を取得する。この属性情報は、例えば、無線通信端末１００が有するブルートゥース（登録商標）機能を識別する情報や、当該無線通信端末１００が情報処理装置９００との間でデータ通信を行うアプリケーションプログラムを実行しているか否かを示す情報や、当該無線通信端末１００が情報処理装置９００との間で既に送受信したデータを識別する情報等であってよい。
【００２２】
データ通信条件判断部２６０は、無線通信端末１００の検出が中断された状態において、端末検出部２３５により検出された無線通信端末１００との間で無線によりデータ通信を行うか否かを、属性情報に基づいて判断する。すなわち例えば、無線通信端末１００が特定のブルートゥース（登録商標）機能を有すること、無線通信端末１００が情報処理装置９００との間でデータ通信を行うアプリケーションプログラムを実行していること、又は、無線通信端末１００が情報処理装置９００との間で送受信していないデータが存在することを示す属性情報が受信された場合に、データ通信条件判断部２６０は、当該無線通信端末１００との間で無線によりデータ通信を行うことを判断する。
【００２３】
データ通信処理部２６５は、無線通信端末１００の検出が中断された状態においてデータ通信を行うとデータ通信条件判断部２６０により判断された場合に、無線通信端末１００の検出が中断された状態において当該無線通信端末１００との間で無線通信部２３０を介してデータ通信を行う。一方、無線通信端末１００の検出が中断された状態においてデータ通信を行わないと判断された場合に、端末検出部２３５による無線通信端末１００の検出が完了するのを待って、無線通信端末１００の検出が完了した状態においてデータ通信を行う。
【００２４】
端末検出再開部２７０は、データ通信処理部２６５によるデータ通信の完了を検出した場合に、端末検出部２３５による他の無線通信端末１００の検出を再開させる。なお、端末検出再開部２７０は、無線通信端末１００の検出が中断された状態においてデータ通信を行わないとデータ通信処理部２６５により判断された場合に、データ通信処理部２６５によるデータ通信を行わせることなく、端末検出部２３５による他の無線通信端末１００の検出を再開させる。
【００２５】
図３は、本実施形態に係る情報処理装置９００の処理フローを示す。
まず、情報処理部２００は、例えば１０〜２０秒毎等の予め定められたタイミングで、情報処理装置９００と通信可能な範囲に位置する複数の無線通信端末１００のそれぞれとの間でデータ通信を行うべく、無線通信端末１００の検出を端末検出部２３５に指示し、検出処理を開始する（ステップＳ３００）。
【００２６】
これを受けて端末検出部２３５は、問合せパケットを送信する（Ｓ３０２）。より具体的には、端末検出部２３５は、マスターがパケットを送信することができるそれぞれのタイムスロットにおいて、複数の問合せパケットを順次連続して送信する。本実施形態において、端末検出部２３５は、問合せパケットとして、ブルートゥース（登録商標）におけるＩＱパケット（Inquiryパケット）を送信する。次に、端末検出部２３５は、いずれかの問合せパケットに対して、当該問合せパケットに続くタイムスロットにおいて問合せ応答パケットを送信する無線通信端末１００を検出する（Ｓ３０５）。本実施形態において、端末検出部２３５は、問合せ応答パケットとして、ＩＱパケットに応じて無線通信端末１００から送信されるＦＨＳパケットを受信し当該無線通信端末１００を検出する。
【００２７】
問合せパケットに対して問合せ応答パケットを受信しない場合において（Ｓ３０５：Ｎｏ）、問合せパケットの送信を開始してから例えば１０秒等に予め設定された検出完了タイムアウト期間が経過していない場合（Ｓ３１０：Ｎｏ）、端末検出部２３５は、処理をＳ３０２へ進め、次のタイムスロットにおいて問合せパケットを送信する（Ｓ３０２）。一方、問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００が検出されなかった場合、端末検出部２３５は、検出完了タイムアウトを検出し（Ｓ３１０：Ｙｅｓ）、無線通信端末１００の検出処理を完了する（Ｓ３１５）。
【００２８】
問合せパケットに対して問合せ応答パケットを受信した場合、端末検出部２３５は、問合せ応答パケットを送信した無線通信端末１００を検出する（Ｓ３０５：Ｙｅｓ）。そして、端末検出部２３５は、当該無線通信端末１００が送信した問合せ応答パケットに含まれる当該無線通信端末１００のブルートゥースアドレス等の識別情報を中断条件判断部２４０及び端末検出中断部２４５へ出力する。次に、中断条件判断部２４０は、検出された無線通信端末１００の識別情報に基づき、当該無線通信端末１００が予め設定された無線通信端末１００のグループに属さないと判断した場合（Ｓ３２０：Ｎｏ）、処理をＳ３０２へ進め、端末検出部２３５の検出処理を中断することなく継続させる。
【００２９】
一方、検出された無線通信端末１００の識別情報に基づき、当該無線通信端末１００が予め設定された無線通信端末１００のグループに属すると判断した場合、中断条件判断部２４０は、中断条件が成立すると判断する（Ｓ３２０：Ｙｅｓ）。この場合、端末検出中断部２４５は、検出完了タイムアウト期間が経過するより前に、端末検出部２３５による問合せパケットの送信を中断させる（Ｓ３２５）。より具体的には、端末検出中断部２４５は、マスターがパケットを送信することができるタイムスロットにおいて端末検出部２３５が連続して順次問合せパケットを送信するのを中断させる。
【００３０】
次に、属性情報取得部２５５は、無線通信端末１００の検出が中断された状態において、端末検出部２３５により検出された無線通信端末１００に対して、属性情報要求パケットを無線通信部２３０を介して送信し、属性情報応答パケットを受信することにより、当該無線通信端末１００が有する属性情報を取得する（Ｓ３３０）。ここで、属性情報取得部２５５は、ブルートゥース（登録商標）におけるディスカバリ処理を用いて属性情報の取得を行ってよい。
【００３１】
次に、データ通信条件判断部２６０は、無線通信端末１００の検出が中断された状態において、検出された無線通信端末１００との間で無線によりデータ通信を行うか否かを、属性情報に基づいて判断する（Ｓ３３５）。次に、無線通信端末１００の検出が中断された状態においてデータ通信を行うと判断された場合、データ通信処理部２６５は、無線通信部２３０を介して無線通信端末１００との間で接続を確立し、無線によりデータ通信を行う（Ｓ３４０）。
【００３２】
より具体的には、データ通信処理部２６５は、例えば以下に示すデータ通信を行う。
（１）無線通信端末１００に広告等の情報を送信するサービスを提供する場合、情報処理部２００は、例えばブルートゥース（登録商標）におけるオブジェクト・プッシュ・プロファイルを用いて、当該情報を無線通信端末１００へ送信する。これを受けて、無線通信端末１００は、当該情報を無線通信端末１００の画面等に出力し、利用者に提示する。
【００３３】
（２）無線通信端末１００をネットワーク１１０に接続させるサービスを提供する場合、情報処理部２００は、まず、ネットワーク１１０へ接続するために用いるＩＰアドレス、ＤＮＳサーバ、及びゲートウェイのアドレス等のネットワーク接続情報を、データ通信処理部２６５及び無線通信部２３０を介して無線通信端末１００へ送信する。ここで情報処理部２００は、例えばブルートゥース（登録商標）におけるオブジェクト・プッシュ・プロファイルを用いてネットワーク接続情報を無線通信端末１００へ送信する。これを受けて、無線通信端末１００は、当該ネットワーク接続情報に基づいて、当該無線通信端末１００がネットワーク１１０に接続するために用いる通信プログラム等を設定する。
その後、無線通信端末１００から情報処理装置１２０内の情報のアクセス要求を受けた場合、データ通信処理部２６５及び情報処理部２００は当該アクセス要求をネットワーク１１０を介して情報処理装置１２０へ転送し、情報処理装置１２０によるアクセス処理を行わせる。このアクセス処理において、情報処理装置１２０ａは、当該アクセス要求により指定される情報処理装置１２０ａ内の情報を外部表示装置１１００へ表示してよい。これに代えて、情報処理装置９００内の情報処理部２００は、当該アクセス要求に対するアクセス応答を情報処理装置１２０ａから受信し、アクセス応答に含まれる情報処理装置１２０ａの情報を外部表示装置１０８１へ表示してもよい。
【００３４】
なお、無線通信端末１００をネットワーク１１０に接続させるサービスを提供する場合において、上記に代えて、情報処理装置９００がＩＣＳ（Internet Connection Sharing）を用いて複数の無線通信端末１００をネットワーク１１０へ接続してもよい。より具体的には、情報処理装置９００内の情報処理部２００は、情報処理装置９００のブルートゥースアドレス及びコンピュータ名を含むネットワーク接続情報を、データ通信処理部２６５及び無線通信部２３０を介して無線通信端末１００へ送信する。これを受けて、無線通信端末１００は、当該ネットワーク接続情報に基づいて、情報処理装置９００と通信する。情報処理装置９００内の情報処理部２００は、無線通信端末１００から情報処理装置１２０に対するアクセス要求に当該無線通信端末１００を識別する情報を付加することにより各アクセスの要求元を識別可能とし、複数の無線通信端末１００のそれぞれを代理して情報処理装置１２０をアクセスする。
【００３５】
（３）無線通信端末１００に対応して選択された情報を外部表示装置１０８１に表示する場合、情報処理部２００は、利用者の嗜好を示す情報を無線通信端末１００から取得するデータ通信を行う。そして、複数の画面のうち、利用者の嗜好を示す情報に基づいて選択した画面を外部表示装置１０８１へ表示する。
【００３６】
Ｓ３４０のデータ通信の完了を検出した場合、又は、Ｓ３３５において無線通信端末１００の検出を中断した状態でデータ通信を行わないと判断された場合、端末検出再開部２７０は、端末検出部２３５による他の無線通信端末１００の検出を再開させる（Ｓ３４５）。これを受けて、端末検出部２３５は、問合せパケットの送信を再開することにより、他の無線通信端末１００の検出を再開する（Ｓ３０２）。
【００３７】
本実施形態に係る端末検出部２３５は、無線通信端末１００の検出処理を再開する場合、検出処理の開始時と同一の検出完了タイムアウト期間を用いて、再度無線通信端末１００の検出処理を行う。より具体的には、端末検出部２３５は、端末検出再開部２７０により他の無線通信端末１００の検出を再開された場合に、問合せパケットを再度送信して、当該問合せパケットに対して問合せ応答パケットを送信する複数の無線通信端末１００のそれぞれを順次検出する。そして、端末検出部２３５は、再度問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００を検出しなかった場合に（Ｓ３０５：Ｎｏ、Ｓ３１０：Ｙｅｓ）、無線通信端末１００の検出を完了する（Ｓ３１５）。
【００３８】
これに代えて、端末検出部２３５は、無線通信端末１００の検出処理を再開した場合に、再開される前の検出処理において使用した検出完了タイムアウト期間と比較し短い検出完了タイムアウト期間を用いて、無線通信端末１００の検出処理を行ってもよい。より具体的には、再開される前の検出処理において問合せパケットを順次送信した期間と、再開後の検出完了タイムアウト期間との合計が、検出処理を開始した際の検出完了タイムアウト期間と同一となるように、又は当該検出完了タイムアウト期間を超えるように、再開後の検出完了タイムアウト期間を設定してもよい。
【００３９】
また、端末検出部２３５は、端末検出再開部２７０により他の無線通信端末１００の検出を再開された場合に、問合せパケットを送信して、問合せ応答パケットを送信する複数の無線通信端末１００のうち、データ通信部２５０によりデータ通信を行っていない無線通信端末１００を順次検出してよい。これにより、端末検出部２３５は、既にデータ通信を行った無線通信端末１００からの問合せ応答パケットを無視して他の無線通信端末１００の検出を行うことができる。
【００４０】
以上に示した処理の結果、情報処理装置９００は、Ｓ３１５において無線通信端末１００の検出処理を完了した時点で、情報処理装置９００と通信可能な範囲に位置する複数の無線通信端末１００の検出を終える。そして、情報処理装置９００内のデータ通信処理部２６５は、複数の無線通信端末１００のうち早急にデータ通信を行うべき無線通信端末１００に対しては、無線通信端末１００の検出が中断された状態においてデータ通信を既に済ませた状態となる（Ｓ３４０）。一方、比較的遅くデータ通信を開始してよい無線通信端末１００に対しては、情報処理装置９００内のデータ通信処理部２６５は、全ての無線通信端末１００の検出が完了した後にデータ通信を行う（Ｓ３５０）。
【００４１】
以上に示した情報処理装置９００によれば、例えば無線通信端末１００上で広告等の情報を受信するアプリケーションプログラムが動作していると属性情報に基づき判断した場合には、無線通信端末１００の検出が中断された状態において直ちにデータ通信を行うことができる。一方、例えばネットワーク１１０への接続を要求することを示す属性情報が無線通信端末１００から受信した場合には、無線通信端末１００はデータ通信の間情報処理装置９００と通信可能な範囲に止まると考えられることから、情報処理装置９００は、検出完了タイムアウト期間の経過を待ってデータ通信を開始することができる。
【００４２】
以上に示したＳ３０５において、情報処理装置９００は、それぞれの無線通信端末１００を検出する度に無線通信端末１００の検出を中断する代わりに、検出完了タイムアウト期間より短い検出中断タイムアウト期間を用いてタイムアウトした後、当該期間に検出された無線通信端末１００との間のデータ通信をまとめて行ってもよい。より具体的には、端末検出中断部２４５は、Ｓ３０５において、問合せパケットの送信を開始してから予め定められた検出中断タイムアウト期間が経過するまでの間に無線通信端末１００が検出された場合に、当該検出中断タイムアウト期間の経過後に端末検出部２３５による複数の無線端末の検出を中断させる。この検出中断タイムアウト期間は、例えば１秒等の、検出完了タイムアウト期間より短い時間に予め設定される。そして、データ通信部２５０は、無線通信端末１００の検出が中断された状態において、端末検出部２３５により検出中断タイムアウト期間が経過するまでに検出された１又は２以上の無線通信端末１００との間でそれぞれデータ通信を行う。
これにより、検出完了タイムアウト期間の経過を待ってデータ通信を開始する場合と比較しより迅速にデータ通信を開始することができる一方、各無線通信端末１００を個別に検出していくために要するオーバーヘッドを低減することができる。
【００４３】
図４は、本実施形態に係る無線通信端末１００の処理フローを示す。本処理フローにおいて、無線通信端末１００は、ブルートゥース（登録商標）を介して情報処理装置９００から転送されるネットワーク接続情報に基づいて、当該無線通信端末１００がネットワーク１１０に接続するために用いる通信プログラム等を設定する。
【００４４】
まず、無線通信端末１００は、情報処理装置９００から送信される、ネットワーク接続情報を含む情報ファイルが、オブジェクト・プッシュ・プロファイル等により無線通信端末１００上の記憶装置に設けた共有ディレクトリに格納されているかどうかを検索する（Ｓ４１０）。そして、当該情報ファイルが無線通信端末１００の記憶装置上に格納されておらず、当該情報ファイルを認識できなかった場合に（Ｓ４２０：Ｎｏ）、無線通信端末１００は、例えば１秒等の予め定められた時間待機し（Ｓ４３０）、処理をＳ４１０に進めて情報ファイルが情報処理装置９００から転送されるのを継続的に監視する。
【００４５】
一方、当該情報ファイルが無線通信端末１００の記憶装置上に格納されていた場合に、無線通信端末１００は、当該情報ファイルを認識する（Ｓ４２０：Ｙｅｓ）。次に、無線通信端末１００は、ネットワーク接続を実行するか否かの指示を当該無線通信端末１００の利用者から入力し（Ｓ４４０）、共有ディレクトリに格納された情報ファイルを取得した後に共有ディレクトリを空にする（Ｓ４５０）。
【００４６】
利用者によりネットワーク接続を実行する指示が入力されず、ネットワーク接続することが選択されなかった場合（Ｓ４６０：Ｎｏ）、無線通信端末１００は、予め定められた時間待機し（Ｓ４３０）、処理をＳ４１０に進める。
【００４７】
一方、利用者によりネットワーク接続を実行する指示が入力された場合（Ｓ４６０：Ｙｅｓ）、無線通信端末１００は、情報ファイルに含まれるネットワーク接続情報に基づいて、無線通信端末１００のオペレーティングシステム等が有する通信プログラムを設定する（Ｓ４７０）。そして、無線通信端末１００は、当該ネットワーク接続情報により設定された接続パラメータを用いて、情報処理装置９００を介してネットワーク１１０に接続し（Ｓ４８０）、処理をＳ４３０へ進める。より具体的には、無線通信端末１００は、ブルートゥース（登録商標）におけるＬＡＮアクセス・プロファイルを用いて情報処理装置９００に対するリンクを形成し、情報処理装置９００をアクセスポイントとしてネットワーク１１０へのネットワーク接続を確立する。この結果、当該無線通信端末１００は、情報処理装置９００及びネットワーク１１０を介して情報処理装置１２０との間でデータ通信を行うことができる。
【００４８】
以上に示した無線通信端末１００によれば、情報処理装置９００が送信する情報ファイルに含まれるネットワーク接続情報に基づいて、無線通信端末１００の通信プログラムを設定し、当該ネットワーク接続情報により設定された接続パラメータを用いてネットワーク１１０に接続することができる。
【００４９】
なお、無線通信端末１００が情報処理装置９００から受信した広告等の情報を利用者へ表示等する場合については、次に示す処理により同様に実現することができる。すなわち、まず無線通信端末１００は、Ｓ４１０及びＳ４２０において広告等の情報を含む情報ファイルが共有ディレクトリに格納されたことを検索・認識する。そして、無線通信端末１００は、情報ファイルに基づき広告等の情報を表示した後、Ｓ４５０において共有ディレクトリを空にする。
【００５０】
図５は、本実施形態に係る情報処理装置９００上で動作するプログラムの構成を示す。本実施形態に係る情報処理装置９００は、アプリケーションプログラム５００、基本通信プログラム５１０、及び拡張通信プログラム５４０等のプログラムを実行する。アプリケーションプログラム５００は、情報処理装置９００上で実行されることにより、情報処理装置９００を情報処理部２００、外部表示装置１０８１、及び有線通信部２２０として機能させる。基本通信プログラム５１０は、ブルートゥース（登録商標）の基本ＡＰＩとして情報処理装置９００のオペレーティングシステムにより提供され、情報処理装置９００をデータ通信部２５０の一部として機能させる。基本通信プログラム５１０は、情報処理装置９００を端末検出部２３５として機能させる端末検出モジュール５１５と、情報処理装置９００を属性情報取得部２５５として機能させる属性情報取得モジュール５２０と、情報処理装置９００をデータ通信処理部２６５として機能させる接続モジュール５２５及びデータ通信処理モジュール５３０とを備える。
【００５１】
拡張通信プログラム５４０は、本発明に係る無線通信プログラムの一例であり、基本通信プログラム５１０によるブルートゥース（登録商標）の基本ＡＰＩと同じインターフェイスをアプリケーションプログラム５００に提供しつつ、検出処理を中断する機能を提供する拡張ＡＰＩである。拡張通信プログラム５４０は、端末検出モジュール５１５の機能を拡張する端末検出開始モジュール５４５及び端末検出完了モジュール５６５と、情報処理装置９００を中断条件判断部２４０として機能させる中断条件判断モジュール５５０と、情報処理装置９００を端末検出中断部２４５として機能させる端末検出中断モジュール５５２と、情報処理装置９００をデータ通信条件判断部２６０として機能させるデータ通信条件判断モジュール５５５と、情報処理装置９００を端末検出再開部２７０として機能させる端末検出再開モジュール５６０とを備える。
【００５２】
以下、これらのプログラム及びモジュールが情報処理装置９００上で実行されることにより実現される情報処理装置９００の動作を示す。
まず、情報処理装置９００上でアプリケーションプログラム５００を実行することにより実現される情報処理部２００は、検出処理の開始を指示する拡張ＡＰＩであるＳｔａｒｔＩｎｑｕｉｒｙＥｘ関数を呼び出し、情報処理装置９００に端末検出開始モジュール５４５を実行させる。このＳｔａｒｔＩｎｑｕｉｒｙＥｘ関数は、端末検出モジュール５１５により提供される、検出処理の開始を基本通信プログラム５１０に指示する基本ＡＰＩであるＳｔａｒｔＩｎｑｕｉｒｙ関数をオーバライドすることにより拡張された関数である。次に、情報処理装置９００は、端末検出開始モジュール５４５を実行することにより、拡張通信プログラム５４０が有する内部変数の初期化を行い、ＳｔａｒｔＩｎｑｕｉｒｙ関数を呼び出して情報処理装置９００に端末検出モジュール５１５を実行させる。
【００５３】
次に、情報処理装置９００上で端末検出モジュール５１５を実行することにより実現される端末検出部２３５は、端末検出開始モジュール５４５からの呼び出しを受けて無線通信端末１００の検出処理を行う。そして、端末検出部２３５は、無線通信端末１００を検出した場合に、中断条件判断モジュール５５０により提供されるＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅＥｘ関数を呼び出す。このＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅＥｘ関数は、無線通信端末１００が検出された場合にアプリケーションプログラム５００が行うべき処理、すなわち例えば当該無線通信端末１００を通信相手の１つとして通信相手先リストに加える等の処理を実装するＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅ関数をオーバライドすることにより拡張された関数である。
これにより、端末検出部２３５は、当該無線通信端末１００を検出したことを、情報処理装置９００を中断条件判断部２４０として機能させる中断条件判断モジュール５５０へ通知する。ここで、中断条件の判定結果によらず検出処理を中断する場合、端末検出部２３５は、ＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅＥｘ関数を呼び出すことにより、情報処理装置９００を端末検出中断部２４５として機能させる端末検出中断モジュール５５２へ通知してもよい。
【００５４】
次に、情報処理装置９００上で中断条件判断モジュール５５０を実行することにより実現される中断条件判断部２４０は、端末検出モジュール５１５からの呼び出しを受けて、中断条件の成立又は不成立を判断し、端末検出中断モジュール５５２へ出力する。また、中断条件判断部２４０は、中断条件が不成立である場合にＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅ関数を呼び出して、無線通信端末１００が検出されたことを情報処理部２００へ通知する。
【００５５】
次に、情報処理装置９００上で端末検出中断モジュール５５２を実行することにより実現される端末検出中断部２４５は、無線通信端末１００を検出したことを示す通知を受信した場合に、端末検出モジュール５１５により提供されるＳｔｏｐＩｎｑｕｉｒｙ関数を呼び出して、端末検出部２３５による複数の無線通信端末１００の検出を中断させる。また、端末検出中断部２４５は、データ通信部２５０にデータ通信の開始を指示するべく、属性情報取得モジュール５２０により提供されるＳｔａｒｔＤｉｓｃｏｖｅｒｙ関数を呼び出す。ここで、端末検出中断部２４５は、中断条件の判定結果に応じて検出処理を中断する場合、中断条件が成立することを条件として、これらの処理を行う。
【００５６】
次に、情報処理装置９００上で属性情報取得モジュール５２０を実行することにより実現される属性情報取得部２５５は、検出された無線通信端末１００から属性情報を取得した後、データ通信条件判断モジュール５５５により提供されるＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅＥｘ関数を呼び出す。このＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅＥｘ関数は、無線通信端末１００から属性情報を取得した後にアプリケーションプログラム５００が行うべき処理を実装するＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅ関数をオーバライドすることにより拡張された関数である。
【００５７】
次に、情報処理装置９００上でデータ通信条件判断モジュール５５５を実行することにより実現されるデータ通信条件判断部２６０は、検出処理が中断された状態で、検出された無線通信端末１００との間でデータ通信を行うか否かを判断する。この状態でデータ通信を行わないと判断した場合、データ通信条件判断部２６０は、端末検出再開モジュール５６０へ処理を分岐する。一方、この状態でデータ通信を行うと判断した場合、データ通信条件判断部２６０は、ＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅ関数を呼び出す。これを受けて、情報処理装置９００は、アプリケーションプログラム５００を実行して接続モジュール５２５により提供されるＯｐｅｎＣｏｎｎｅｃｔｉｏｎ関数を呼び出す。次に、情報処理装置９００は、接続モジュール５２５を実行して当該無線通信端末１００との間で接続を確立し、ＯｎＯｐｅｎＲｅｓｐｏｎｓｅ関数を呼び出す。次に、情報処理装置９００は、ＯｎＯｐｅｎＲｅｓｐｏｎｓｅ関数により呼び出されたアプリケーションプログラム５００を実行し、データ通信処理モジュール５３０により提供されるＰｕｔＦｉｌｅ関数を呼び出して、当該無線通信端末１００へ転送すべき情報ファイルの送信を指示する。
【００５８】
次に、情報処理装置９００上でデータ通信処理モジュール５３０を実行することにより実現されるデータ通信処理部２６５は、端末検出中断部２４５から属性情報取得モジュール５２０、データ通信条件判断モジュール５５５、アプリケーションプログラム５００、接続モジュール５２５、及びデータ通信処理モジュール５３０の呼び出しを経由してデータ通信の開始を指示された場合に、データ通信を行う。そして、データ通信処理部２６５は、ＯｎＰｕｔＲｅｓｐｏｎｓｅＥｘ関数を呼び出すことにより、データ通信の完了を端末検出再開部２７０に通知する。このＯｎＰｕｔＲｅｓｐｏｎｓｅＥｘ関数は、データ通信の完了を受信した場合にアプリケーションプログラム５００が行うべき処理を実装するＯｎＰｕｔＲｅｓｐｏｎｓｅ関数をオーバライドすることにより拡張された関数である。
【００５９】
次に、情報処理装置９００上で端末検出再開モジュール５６０を実行することにより実現される端末検出再開部２７０は、ＯｎＰｕｔＲｅｓｐｏｎｓｅＥｘ関数の呼び出しによりデータ通信の完了を通知された場合に、ＳｔａｒｔＩｎｑｕｉｒｙ関数を呼び出し、端末検出部２３５に複数の無線通信端末１００の検出を再度行うことを指示すると共に、ＯｎＰｕｔＲｅｓｐｏｎｓｅ関数を呼び出し当該無線通信端末１００との間でデータ通信を完了したことを通知する。また、端末検出再開部２７０は、検出処理が中断された状態でデータ通信を行わないとデータ通信条件判断モジュール５５５により判断された場合についても同様に、無線通信端末１００の検出を再度行うことを指示する。
【００６０】
無線通信端末１００の検出を再度行う指示を受けて、端末検出部２３５は、問合せパケットを送信して、問合せ応答パケットを送信する複数の無線通信端末１００のそれぞれを順次検出する。そして、再度問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に無線通信端末１００を検出しなかった場合に無線通信端末１００の検出を完了し、端末検出完了モジュール５６５により提供されるＩｎｑｕｉｒｙＣｏｍｐｌｅｔｅＥｘ関数を呼び出す。このＩｎｑｕｉｒｙＣｏｍｐｌｅｔｅＥｘ関数は、検出処理がタイムアウトして完了した場合にアプリケーションプログラム５００が行うべき処理を実装するＩｎｑｕｉｒｙＣｏｍｐｌｅｔｅ関数をオーバライドすることにより拡張された関数である。
【００６１】
情報処理装置９００は、端末検出完了モジュール５６５を実行することにより、検出処理において検出された複数の無線通信端末１００の識別情報等をアプリケーションプログラム５００へ通知する。ここで、情報処理装置９００は、既にデータ通信を行った無線通信端末１００については、検出処理において検出されなかったものとして取り扱い、アプリケーションプログラム５００へ通知する識別情報のリストから除外してもよい。
【００６２】
以上に示した拡張通信プログラム５４０によれば、ＯｎＤｅｖｉｃｅＲｅｓｐｏｎｓｅＥｘ関数の呼び出しを受けてＳｔａｒｔＤｉｓｃｏｖｅｒｙ関数を呼び出し、ＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅＥｘ関数の呼び出しを受けてＰｕｔＦｉｌｅ関数を呼び出させるべくＤｉｓｃｏｖｅｒｙＣｏｍｐｌｅｔｅ関数を呼び出し、ＯｎＰｕｔＲｅｓｐｏｎｓｅＥｘ関数の呼び出しを受けてＳｔａｒｔＩｎｑｕｉｒｙ関数を呼び出す。これにより、拡張通信プログラム５４０は、アプリケーションプログラム５００に対するインターフェイスをほとんど変更することなく基本通信プログラム５１０を拡張し、端末検出モジュール５１５により無線通信端末１００が検出された場合に、基本通信プログラム５１０及びアプリケーションプログラム５００の関数を連鎖的に呼び出して図２に示した情報処理装置９００の機能を実現することができる。
【００６３】
図６は、本実施形態に係る情報処理装置９００のハードウェア構成を示す。本実施形態に係る情報処理装置９００は、ホスト・コントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、グラフィック・コントローラ１０７５、表示装置１０８０、及び外部表示装置１０８１を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホスト・コントローラ１０８２に接続される通信インターフェイス１０３０、無線通信インターフェイス１０３５、ハードディスク・ドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスク・ドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００６４】
ホスト・コントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィック・コントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置１０８０及び／又は外部表示装置１０８１上に表示させる。これに代えて、グラフィック・コントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００６５】
入出力コントローラ１０８４は、ホスト・コントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスク・ドライブ１０４０、ＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワーク１１０を介して他の装置と通信する。無線通信インターフェイス１０３５は、ブルートゥース（登録商標）等の近距離無線通信により複数の無線通信端末１００のそれぞれと通信する。ハードディスク・ドライブ１０４０は、情報処理装置９００内のＣＰＵ１０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介してハードディスク・ドライブ１０４０に提供する。
【００６６】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスク・ドライブ１０５０、及び入出力チップ１０７０の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置９００が起動時に実行するブート・プログラムや、情報処理装置９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介してハードディスク・ドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク・ドライブ１０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００６７】
ＲＡＭ１０２０を介してハードディスク・ドライブ１０４０に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ１０２０を介して情報処理装置９００内のハードディスク・ドライブ１０４０にインストールされ、ＣＰＵ１０００において実行される。
【００６８】
情報処理装置９００にインストールされる無線通信プログラムに含まれる基本通信プログラム５１０は、端末検出モジュール５１５と、属性情報取得モジュール５２０と、接続モジュール５２５及びデータ通信処理モジュール５３０とを備える。これらのプログラム又はモジュールは、情報処理装置９００を、端末検出部２３５の一部と、属性情報取得部２５５と、データ通信処理部２６５としてそれぞれ機能させる。
【００６９】
また、情報処理装置９００にインストールされる無線通信プログラムに含まれる拡張通信プログラム５４０は、端末検出開始モジュール５４５及び端末検出完了モジュール５６５と、中断条件判断モジュール５５０と、端末検出中断モジュール５５２と、データ通信条件判断モジュール５５５と、端末検出再開モジュール５６０とを備える。これらのプログラム又はモジュールは、情報処理装置９００を、端末検出部２３５の一部と、中断条件判断部２４０と、端末検出中断部２４５と、データ通信条件判断部２６０と、端末検出再開部２７０としてそれぞれ機能させる。
【００７０】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置９００に提供してもよい。
【００７１】
図７は、本実施形態の変形例に係る情報処理装置９００の機能構成を示す。本変形例に係る情報処理装置９００は、無線通信部２３０、端末検出部２３５、中断条件判断部２４０、端末検出中断部２４５、データ通信部２５０、及び端末検出再開部２７０の組を有する無線通信処理部７００を複数備える。本変形例における、図２に示した部材と同一の符号を付した部材は、それぞれ図２に示した部材と略同一の構成を採るため、以下相違点を除き説明を省略する。
【００７２】
複数の無線通信処理部７００（７００ａ〜ｂ）は、互いに異なる位置において無線通信を行う。ここで、複数の無線通信処理部７００は、それぞれが通信可能な範囲が一部重なるように配置される。例えば、無線通信処理部７００ａ及び無線通信処理部７００ｂは、無線通信処理部７００ａが通信可能な範囲と、無線通信処理部７００ｂが通信可能な範囲とが一部重なるように配置される。
【００７３】
本変形例において、複数の無線通信処理部７００のそれぞれが有する複数の端末検出中断部２４５のうち、少なくとも１つの端末検出中断部２４５は、当該端末検出中断部２４５と組となる端末検出部２３５により検出された無線通信端末１００が予め定められた数以上の他の無線通信処理部７００により検出されているか否かに応じて検出処理を中断しデータ通信を行うか否かを判断する。より具体的には、当該端末検出中断部２４５は、当該端末検出中断部２４５と組となる端末検出部２３５が問合せパケットの送信を開始してから検出完了タイムアウト期間が経過するまでの間に検出した無線通信端末１００が、予め定められた数以上の他の端末検出部２３５により検出されていない場合に、当該端末検出中断部２４５と組となる端末検出部２３５による複数の無線通信端末１００の検出を中断させ、データ通信部２５０によりデータ通信を行わせる。そして、当該データ通信部２５０は、当該無線通信端末１００との間でデータ通信を完了したことを他の無線通信処理部７００に通知し、他の無線通信処理部７００が再度データ通信を試行するのを防止する。
一方、当該無線通信端末１００が予め定められた数以上の端末検出部２３５により検出されている場合に、当該端末検出中断部２４５と組となる端末検出部２３５による複数の無線通信端末１００の検出を継続させる。
【００７４】
本変形例の情報処理装置９００によれば、予め定められた数以下の無線通信処理部７００との間でのみ通信可能な位置に存在する無線通信端末１００については、検出処理を中断してデータ通信を迅速に行うことができる。これにより、情報処理装置９００は、当該無線通信端末１００が複数の無線通信処理部７００のいずれを用いても通信できなくなる前に、予めデータ通信を行うことができる。
【００７５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７６】
以上に説明した実施形態によれば、以下の各項目に示す情報処理装置、無線通信方法、無線通信プログラム、及び記録媒体が実現される。
【００７７】
（項目１）無線通信端末との間で無線によりデータ通信を行う情報処理装置であって、当該情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出部と、前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させる端末検出中断部と、前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信部と、前記データ通信の完了を検出した場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる端末検出再開部とを備える情報処理装置。
【００７８】
（項目２）前記端末検出部は、複数の前記問合せパケットを順次送信し、いずれかの前記問合せパケットに対して前記問合せ応答パケットを送信する前記複数の無線通信端末のそれぞれを順次検出し、前記端末検出中断部は、前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記検出完了タイムアウト期間が経過するより前に前記端末検出部による前記問合せパケットの送信を中断させる項目１記載の情報処理装置。
【００７９】
（項目３）前記端末検出部は、前記端末検出再開部により他の前記無線通信端末の検出を再開された場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、再度前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する項目１記載の情報処理装置。
【００８０】
（項目４）前記端末検出部は、前記無線通信端末を検出した場合に、当該無線通信端末を検出したことを前記端末検出中断部へ通知し、前記端末検出中断部は、前記無線通信端末を検出したことを示す通知を受信した場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させると共に、前記データ通信部に前記データ通信の開始を指示し、前記データ通信部は、前記端末検出中断部から前記データ通信の開始を指示された場合に、前記データ通信を行って前記データ通信の完了を前記端末検出再開部に通知し、前記端末検出再開部は、前記データ通信の完了を通知された場合に、前記端末検出部に前記複数の無線通信端末の検出を再度行うことを指示し、前記端末検出部は、前記複数の無線通信端末の検出を再度行う指示を受けた場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する前記複数の無線通信端末のそれぞれを順次検出し、再度前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する項目３記載の情報処理装置。
【００８１】
（項目５）前記端末検出中断部は、前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間より短い予め定められた検出中断タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線端末の検出を中断させ、前記データ通信部は、前記無線通信端末の検出が中断された状態において、前記端末検出部により前記検出中断タイムアウト期間が経過するまでに検出された前記無線通信端末との間で前記データ通信を行う項目１記載の情報処理装置。
【００８２】
（項目６）前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合において、当該無線通信端末が送信した前記問合せ応答パケットに含まれる当該無線通信端末の識別情報に基づき当該無線通信端末が予め設定された前記無線通信端末のグループに属すると判断した場合に、前記無線通信端末の検出を中断する中断条件が成立すると判断し、当該無線通信端末が前記グループに属さないと判断した場合に、前記無線通信端末の検出を中断する中断条件が成立しないと判断する中断条件判断部を更に備え、前記端末検出中断部は、前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合において、前記中断条件が成立すると判断された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させ、前記中断条件が成立しないと判断された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させない項目１記載の情報処理装置。
【００８３】
（項目７）前記データ通信部は、前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末に対して、当該無線通信端末に設定された属性情報の送信を要求する属性情報要求パケットを送信し、前記属性情報要求パケットを受信した当該無線通信端末により送信された属性情報応答パケットに含まれる前記属性情報を取得する属性情報取得部と、前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うか否かを前記属性情報に基づいて判断するデータ通信条件判断部と、前記無線通信端末の検出が中断された状態において前記データ通信を行うと判断された場合に、前記無線通信端末の検出が中断された状態において前記データ通信を行い、前記無線通信端末の検出が中断された状態において前記データ通信を行わないと判断された場合に、前記無線通信端末の検出が完了した状態において前記データ通信を行うデータ通信処理部とを備え、前記端末検出再開部は、前記データ通信の完了を検出した場合、又は、前記無線通信端末の検出が中断された状態において前記データ通信を行わないと判断された場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる項目１記載の情報処理装置。
【００８４】
（項目８）前記端末検出部、前記端末検出中断部、前記データ通信部、及び前記端末検出再開部の組を複数備え、少なくとも１つの前記端末検出中断部は、当該端末検出中断部と組となる前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に検出した前記無線通信端末が、予め定められた数以上の他の前記端末検出部により検出されていない場合に、当該端末検出中断部と組となる前記端末検出部による前記複数の無線通信端末の検出を中断させる項目１記載の情報処理装置。
【００８５】
（項目９）前記端末検出部は、前記端末検出再開部により他の前記無線通信端末の検出を再開された場合に、前記問合せパケットを送信して、前記問合せ応答パケットを送信する複数の前記無線通信端末のうち、前記データ通信部により前記データ通信を行っていない前記無線通信端末を順次検出する項目１記載の情報処理装置。
【００８６】
（項目１０）情報処理装置により無線通信端末との間で無線によりデータ通信を行う無線通信方法であって、前記情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出段階と、前記端末検出段階において前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出段階による前記複数の無線通信端末の検出を中断させる端末検出中断段階と、前記無線通信端末の検出が中断された状態において、前記端末検出段階により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信段階と、前記データ通信の完了を検出した場合に、前記端末検出段階による他の前記無線通信端末の検出を再開させる端末検出再開段階とを備える無線通信方法。
【００８７】
（項目１１）無線通信端末との間で無線によりデータ通信を行う情報処理装置において、前記無線通信端末との間の通信を制御する無線通信プログラムであって、前記情報処理装置は、当該情報処理装置と通信可能な範囲に前記無線通信端末が存在するか否かを問い合わせる問合せパケットを送信して、前記問合せパケットに応答する問合せ応答パケットを送信する複数の前記無線通信端末のそれぞれを順次検出し、前記問合せパケットの送信を開始してから予め定められた検出完了タイムアウト期間が経過するまでの間に前記無線通信端末を検出しなかった場合に前記無線通信端末の検出を完了する端末検出部を備え、当該無線通信プログラムは、前記情報処理装置を、前記端末検出部が前記問合せパケットの送信を開始してから前記検出完了タイムアウト期間が経過するまでの間に前記無線通信端末が検出された場合に、前記端末検出部による前記複数の無線通信端末の検出を中断させる端末検出中断部と、前記無線通信端末の検出が中断された状態において、前記端末検出部により検出された前記無線通信端末との間で無線によりデータ通信を行うデータ通信部と、前記データ通信の完了を検出した場合に、前記端末検出部による他の前記無線通信端末の検出を再開させる端末検出再開部として機能させる無線通信プログラム。
（項目１２）項目１１記載の無線通信プログラムを記録した記録媒体。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係る無線通信システム１０の構成を示す。
【図２】本発明の実施形態に係る情報処理装置９００の機能構成を示す。
【図３】本発明の実施形態に係る情報処理装置９００の処理フローを示す。
【図４】本発明の実施形態に係る無線通信端末１００の処理フローを示す。
【図５】本発明の実施形態に係る情報処理装置９００上で動作するプログラムの構成を示す。
【図６】本発明の実施形態に係る情報処理装置９００のハードウェア構成を示す。
【図７】本実施形態の変形例に係る情報処理装置９００の機能構成を示す。
【符号の説明】
【００８９】
１０  無線通信システム
１００ａ〜ｃ  無線通信端末
１１０  ネットワーク
１２０ａ〜ｂ  情報処理装置
２００  情報処理部
２２０  有線通信部
２３０  無線通信部
２３５  端末検出部
２４０  中断条件判断部
２４５  端末検出中断部
２５０  データ通信部
２５５  属性情報取得部
２６０  データ通信条件判断部
２６５  データ通信処理部
２７０  端末検出再開部
５００  アプリケーションプログラム
５１０  基本通信プログラム
５１５  端末検出モジュール
５２０  属性情報取得モジュール
５２５  接続モジュール
５３０  データ通信処理モジュール
５４０  拡張通信プログラム
５４５  端末検出開始モジュール
５５０  中断条件判断モジュール
５５２  端末検出中断モジュール
５５５  データ通信条件判断モジュール
５６０  端末検出再開モジュール
５６５  端末検出完了モジュール
７００ａ〜ｂ  無線通信処理部
９００  情報処理装置
１０００  ＣＰＵ
１０１０  ＲＯＭ
１０２０  ＲＡＭ
１０３０  通信インターフェイス
１０３５  無線通信インターフェイス
１０４０  ハードディスク・ドライブ
１０５０  フレキシブルディスク・ドライブ
１０６０  ＣＤ−ＲＯＭドライブ
１０７０  入出力チップ
１０７５  グラフィック・コントローラ
１０８０  表示装置
１０８１  外部表示装置
１０８２  ホスト・コントローラ
１０８４  入出力コントローラ
１０９０  フレキシブルディスク
１０９５  ＣＤ−ＲＯＭ
１１００  外部表示装置
【図１】
2005159468.tif 000003
【図２】
2005159468.tif 000004
【図３】
2005159468.tif 000005
【図４】
2005159468.tif 000006
【図５】
2005159468.tif 000007
【図６】
2005159468.tif 000008
【図７】
2005159468.tif 000009