(57)【特許請求の範囲】
【請求項１】
携帯装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータを、
無線ネットワークを用いて通信を行う通信部が無線ネットワークから受信した、複数の候補装置を識別するための情報である第１情報を、前記複数の候補装置ごとに対応付けて記憶部に記憶させるとともに、前記通信部が無線ネットワークから受信した、候補装置についての位置情報である第４情報を前記複数の候補装置ごとに対応付けて前記記憶部に記憶させる第１記憶制御手段と、
前記携帯装置の物理的位置を示す第２情報を前記記憶部に記憶させる第２記憶制御手段と、
前記複数の候補装置のうち、選択順位を上昇させる候補装置である第１種の候補装置を識別する第１の識別情報を前記記憶部に記憶させる第１の識別情報記憶制御手段と、
前記複数の候補装置のうち、前記選択順位を低下させる候補装置である第２種の候補装置を識別する第２の識別情報を前記記憶部に記憶させる第２の識別情報記憶制御手段と、
第１処理、第２処理および前記選択順位をソートする処理を順番に実行する割り当て手段と、
ここで、前記第１処理は、前記第１記憶制御手段および前記第２記憶制御手段が前記記憶部に記憶させている第２情報と第４情報とに基づいて、前記携帯装置と候補装置との相対方向を算出し、前記相対方向の差が小さい候補装置ほど選択順位が高くなるように前記選択順位を割り当てる処理であり、
前記第２処理は、前記第１記憶制御手段および前記第２記憶制御手段が前記記憶部に記憶させている第２情報と第４情報とに基づいて、前記携帯装置の位置を基準とする前記複数の候補装置との相対距離を算出し、前記相対距離が短い候補装置ほど選択順位が高くなるように前記選択順位を割り当てる処理であり、
前記選択順位をソートする前記処理は、前記記憶部に記憶されている前記第１の識別情報で識別される第１種の候補装置の選択順位が、前記記憶部に記憶されている前記第２の識別情報で識別される第２種の候補装置の選択順位よりも上位となるように、前記選択順位をソートする処理であり、
前記複数の候補装置のうち、最上位の選択順位が割り当てられている候補装置を仮選択候補装置として仮選択する仮選択手段と、
仮選択されていることを報知する旨の仮選択状態報知動作を仮選択候補装置に行なわせる旨の命令を仮選択候補装置へ送信するよう前記通信部を制御する送信手段と、
携帯装置に対する使用者の操作を受け付ける操作部が所定の操作を受け付けたことに応じて、もしくは、前記操作部が所定の操作を受け付けずに予め定められた所定期間を経過したことに応じて、仮選択候補装置をデータ通信の対象とする対象装置として確定する確定手段と、
前記確定手段が特定した対象装置を通信相手として通信するよう、前記通信部を制御する通信制御手段と、
して機能させることを特徴とするプログラム。
【請求項２】
前記仮選択手段は、前記確定手段が前記仮選択候補装置を前記対象装置として確定しなかった場合に、次の選択順位が割り当てられている候補装置を仮選択候補装置として仮選択し、
前記送信手段は、新たに選択された仮選択候補装置へ前記命令を送信し、
前記確定手段は、前記操作部が前記所定の操作を受け付けたことに応じて、もしくは、前記操作部が所定の操作を受け付けずに予め定められた所定期間を経過したことに応じて、新たに選択された仮選択候補装置を、前記対象装置として確定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記仮選択手段によって選択された前記仮選択候補装置が、前記確定手段によって前記対象装置として確定されたことに応じて、
前記第１の識別情報記憶制御手段は、対象装置として確定された候補装置を識別する第１情報を、前記第１の識別情報として前記記憶部に記憶させ、
前記第２の識別情報記憶制御手段は、対象装置として確定された候補装置を識別する第１情報に対応する第２の識別情報が前記記憶部に記憶されている場合に、当該第２の識別情報を前記記憶部から消去することを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記仮選択手段によって選択された前記仮選択候補装置が、前記確定手段によって前記対象装置として確定されなかったことに応じて、
前記第２の識別情報記憶制御手段は、対象装置として確定されなかった候補装置を識別する第１情報を、前記第２の識別情報として前記記憶部に記憶させ、
前記第１の識別情報記憶制御手段は、対象装置として確定されなかった候補装置を識別する第１情報に対応する第１の識別情報が前記記憶部に記憶されている場合に、当該第１の識別情報を前記記憶部から消去することを特徴とする請求項１〜３の何れか１項に記載のプログラム。
【請求項５】
携帯装置であって、
無線ネットワークを用いて通信を行う通信部が無線ネットワークから受信した、複数の候補装置を識別するための情報である第１情報を、前記複数の候補装置ごとに対応付けて記憶部に記憶させるとともに、前記通信部が無線ネットワークから受信した、候補装置についての位置情報である第４情報を前記複数の候補装置ごとに対応付けて前記記憶部に記憶させる第１記憶制御手段と、
前記携帯装置の物理的位置を示す第２情報を前記記憶部に記憶させる第２記憶制御手段と、
前記複数の候補装置のうち、選択順位を上昇させる候補装置である第１種の候補装置を識別する第１の識別情報を前記記憶部に記憶させる第１の識別情報記憶制御手段と、
前記複数の候補装置のうち、前記選択順位を低下させる候補装置である第２種の候補装置を識別する第２の識別情報を前記記憶部に記憶させる第２の識別情報記憶制御手段と、
第１処理、第２処理および前記選択順位をソートする処理を順番に実行する割り当て手段と、
ここで、前記第１処理は、前記第１記憶制御手段および前記第２記憶制御手段が前記記憶部に記憶させている第２情報と第４情報とに基づいて、前記携帯装置と候補装置との相対方向を算出し、前記相対方向の差が小さい候補装置ほど選択順位が高くなるように前記選択順位を割り当てる処理であり、
前記第２処理は、前記第１記憶制御手段および前記第２記憶制御手段が前記記憶部に記憶させている第２情報と第４情報とに基づいて、前記携帯装置の位置を基準とする前記複数の候補装置との相対距離を算出し、前記相対距離が短い候補装置ほど選択順位が高くなるように前記選択順位を割り当てる処理であり、
前記選択順位をソートする前記処理は、前記記憶部に記憶されている前記第１の識別情報で識別される第１種の候補装置の選択順位が、前記記憶部に記憶されている前記第２の識別情報で識別される第２種の候補装置の選択順位よりも上位となるように、前記選択順位をソートする処理であり、
前記複数の候補装置のうち、最上位の選択順位が割り当てられている候補装置を仮選択候補装置として仮選択する仮選択手段と、
仮選択されていることを報知する旨の仮選択状態報知動作を仮選択候補装置に行なわせる旨の命令を仮選択候補装置へ送信するよう前記通信部を制御する送信手段と、
携帯装置に対する使用者の操作を受け付ける操作部が所定の操作を受け付けたことに応じて、もしくは、前記操作部が所定の操作を受け付けずに予め定められた所定期間を経過したことに応じて、仮選択候補装置をデータ通信の対象とする対象装置として確定する確定手段と、
前記確定手段が特定した対象装置を通信相手として通信するよう、前記通信部を制御する通信制御手段と、
を備える携帯装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、無線通信するデバイス装置を簡易な手続きで選択することができる携帯装置のプログラムおよび携帯装置の制御方法に関する。
【背景技術】
【０００２】
携帯装置（ノートパソコン、携帯電話等）とデバイス装置（プリンタ等）とを、無線通信（無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ等）により接続する技術が知られている。無線通信の電波は指向性がなく、携帯装置の周囲に発信される。よって、デバイス装置が周囲に複数存在する場合には、無線通信先の候補が複数存在しうる。この場合、無線通信可能なデバイス装置の識別情報（アドレス、名称等）を携帯装置の表示部へ一覧表示し、使用者に接続先のデバイス装置を選択させる、という技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２４４８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、携帯端末と画像形成装置とがＧＰＳ(Global Positioning System)受信器を備えており、ＧＰＳにより生成する座標データに基づいて、携帯端末が、最寄の画像形成装置へ印刷データを送信する技術が記載されている。しかしながら、特許文献１に記載の技術では、使用者の後ろに存在する画像形成装置に携帯端末が印刷データを送信してしまうことも起こりうるため、使用者にとって、必ずしも便利とは言えなかった。本明細書では、このような不便性を解消することができる技術を提供する。
【課題を解決するための手段】
【０００５】
本願に記載のプログラムは、携帯装置のコンピュータが読み取り可能なプログラムであって、コンピュータを、記憶部に、無線ネットワークを用いて通信を行う通信部が無線ネットワークから受信した、候補装置を識別するための情報である第１情報を、候補装置ごとに対応付けて記憶させる第１記憶制御手段と、第１情報が対応付けられている候補装置のうちの１つを仮選択候補装置として仮選択する仮選択手段と、仮選択されていることを報知する旨の仮選択状態報知動作を仮選択候補装置に行なわせる旨の命令を仮選択候補装置へ送信するよう通信部を制御する送信手段と、携帯装置に対する使用者の操作を受け付ける操作部が所定の操作を受け付けたことに応じて、もしくは、操作部が所定の操作を受け付けずに予め定められた所定期間を経過したことに応じて、仮選択候補装置をデータ通信の対象とする対象装置として確定する確定手段と、確定手段が特定した対象装置を通信相手として通信するよう、通信部を制御する通信制御手段と、して機能させる。
【発明の効果】
【０００６】
請求項１のプログラムによれば、選択候補として仮選択された仮選択候補装置に、仮選択状態報知動作を行わせることができる。よって、使用者は何れの候補装置が仮選択されているかを、目視等により容易に認識できる。そして、携帯装置に所定の入力を行うことで、仮選択候補装置を対象装置として確定し、データ通信を行うことができる。これにより、データ通信の実行を所望する候補装置を識別するための情報を、使用者が知っている必要や、使用者が調べる必要がなくなる。よって、通信対象の候補装置を、簡易な手続きで選択することが可能となる。
【０００７】
請求項２のプログラムによれば、仮選択の再実行が可能となるため、使用者の利便性を高めることが出来る。
【０００８】
請求項３のプログラムによれば、使用者が選択を希望する候補装置の方向を指し示す第３情報を、操作部を介して携帯装置に入力することにより、当該候補装置を仮選択候補装置として仮選択することができる。これにより、通信対象の候補装置を、簡易な手続きで選択することが可能となる。
【０００９】
請求項４のプログラムによれば、使用者が選択を希望する候補装置の方向へ向けて、第３情報を入力することで、当該候補装置を通信先として選択することが可能となる。
【００１０】
請求項５のプログラムによれば、使用者が仮選択候補装置を仮選択する意図を有しない場合に、誤って仮選択候補装置が仮選択されてしまう事態を防止できる。
【００１１】
請求項６のプログラムによれば、例えば、データ通信を所望する候補装置が仮選択されたタイミングを見計らって使用者の操作が入力されることにより、当該仮選択候補装置を対象装置として選択することができる。これにより、仮選択動作が携帯装置によって自動的に行なわれるため、使用者が仮選択動作を行う必要がなく、使用者の利便性を高めることが可能となる。
【００１２】
請求項７のプログラムによれば、使用者が候補装置の向きを一定方向に所定時間固定する、という簡易な操作により、仮選択候補装置を仮選択することが可能になる。
【００１３】
請求項８のプログラムによれば、ある程度大きな加速度を携帯装置に与えないと、仮選択候補装置を仮選択する動作が実行されないことになる。よって、仮選択を行う意図なく使用者が携帯装置を動かした際に、誤って仮選択候補装置が仮選択されてしまう事態を防止できる。
【００１４】
請求項９のプログラムによれば、携帯装置に所定の入力を行うという簡易な操作により、仮選択のキャンセルを行うことが可能となる。
【００１５】
請求項１０のプログラムによれば、例えば、携帯端末機器を候補装置へ向けて突き出すことによって仮選択を行った場合には、突き出した携帯装置を元に戻す動作によって仮選択をキャンセルすることができる。よって、簡易な操作により仮選択操作をキャンセルすることが可能となる。
【００１６】
請求項１１のプログラムによれば、例えば、携帯端末機器を候補装置へ向けることによって仮選択を行った場合には、携帯装置を横方向に振る動作によって仮選択をキャンセルすることができる。よって、簡易な操作により仮選択操作をキャンセルすることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】通信システム１のブロック図である。
【図２】携帯電話の動作フローチャート（その１）を示す図である。
【図３】携帯電話の動作フローチャート（その２）を示す図である。
【図４】携帯電話の動作フローチャート（その３）を示す図である。
【図５】携帯電話の動作フローチャート（その４）を示す図である。
【図６】ＭＦＰの動作フローチャートを示す図である。
【図７】携帯電話の概観図である。
【図８】ＭＦＰの配置の一例を示す図である。
【図９】記憶テーブルの記憶内容の一例を示す図（その１）である。
【図１０】使用テーブルの記憶内容の一例を示す図（その１）である。
【図１１】除外テーブルの記憶内容の一例を示す図（その１）である。
【図１２】記憶テーブルの記憶内容の一例を示す図（その２）である。
【図１３】記憶テーブルの記憶内容の一例を示す図（その３）である。
【図１４】携帯電話の動作フローチャート（その５）を示す図である。
【図１５】携帯電話の動作フローチャート（その６）を示す図である。
【図１６】携帯電話の動作フローチャート（その７）を示す図である。
【図１７】サーバの動作フローチャート（その１）を示す図である。
【図１８】サーバの動作フローチャート（その２）を示す図である。
【図１９】携帯電話の使用態様の概観図である。
【発明を実施するための形態】
【００１８】
図１に、本願に係る第１実施形態として例示される通信システム１のブロック図を示す。通信システム１は、携帯電話１０、第１ＭＦＰ５１ないし第３ＭＦＰ５３、アクセスポイント６２、サーバ７１、基地局６１を備える。携帯電話１０、および、第１ＭＦＰ５１ないし第３ＭＦＰ５３は、既知の無線ＬＡＮ端末装置としての機能を備える。また、第１ＭＦＰ５１ないし第３ＭＦＰ５３は、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える多機能周辺装置である。また、第１ＭＦＰ５１ないし第３ＭＦＰ５３は、電話回線網１００を使用した通信機能を備える。アクセスポイント６２は、既知の無線ＬＡＮアクセスポイントとしての機能を備える。サーバ７１は、インターネット７０を介してアクセスポイント６２に接続される。
【００１９】
なお、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々とアクセスポイント６２とは、無線ＬＡＮ方式のインフラストラクチャーモード（複数の無線ＬＡＮ端末装置が、アクセスポイントを介してデータ通信するモード）に準拠する無線通信（電波を用いたデータ通信）２０１ないし２０３の各々を行うことが可能とされている。また、アクセスポイント６２とサーバ７１とは、インターネット７０を介して通信可能に接続されている。すなわち、携帯電話１０は、アクセスポイント６２へアクセスし、無線ＬＡＮのインフラストラクチャーモードに準拠する無線通信２００を行える状態になれば、携帯電話１０は、アクセスポイント６２を介して、第１ＭＦＰ５１ないし第３ＭＦＰ５３、サーバ７１とデータ通信することが可能になる。なお、無線ＬＡＮ方式の例としては、例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎの規格で定められる通信方式が挙げられる。
【００２０】
携帯電話１０の構成について説明する。図１に示すように、携帯電話１０は、ＣＰＵ（Central Processing Unit）１１、記憶部１２、無線送受信部１５、無線アンテナ部１６、ボタン入力部１７、パネル１８、携帯電話送受信部２２、携帯電話アンテナ部２３、ＧＰＳ部２４、コンパス部２５、加速度センサ２６、カメラ部２７、を主に備えている。また、通話や音声入力を行うために、スピーカ３とマイク４とを備えている。
【００２１】
また、図７に、携帯電話１０の概観図を示す。図７に示すように、携帯電話１０の操作や通話がしやすいように、スピーカ３の開口部とマイク４の開口部は、パネル１８の設置面に配置されている。また、スピーカ３の開口部とマイク４の開口部とが、使用者の口と耳の間程度離れるように、スピーカ３の開口部とパネル１８とマイク４の開口部とは、携帯電話１０の長手方向に並んで配置されている。
【００２２】
ＣＰＵ１１は、記憶部１２に記憶されるプログラムに従って処理を実行する。以降、通信プログラム２８やオペレーティングシステムなど、プログラムを実行するＣＰＵ１１のことを、単にプログラム名でも記載する場合がある。例えば「通信プログラム２８が」という記載は、通信プログラム２８を実行するＣＰＵ１１が」を意味する場合がある。なお、記憶部１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＨＤＤ（ハードディスク）、ＣＰＵ１１が備えるバッファなどが組み合わされて構成されている。無線送受信部１５は、無線アンテナ部１６を介して、無線ＬＡＮのインフラストラクチャーモードに準拠する無線通信２００を行う。そして、無線送受信部１５により、各種のデータを構成するデジタル信号が送受信される。ＧＰＳ部４４は、ＧＰＳ衛星からの電波を受信し、携帯電話１０の物理的位置を示す位置情報を算出する部材である。なお、位置情報は、緯度、経度および高度の成分を有する。また、携帯電話送受信部２２は、携帯電話アンテナ部２３を介して、基地局６１との間で携帯電話通信の方式に準拠する無線通信２１０を行う。記憶部１２は、プログラム２１を記憶する。プログラム２１は、基本プログラム（図示省略）、通信プログラム２８等を含む。基本プログラムは、携帯電話送受信部２２に通信を実行させるためのプログラムや、無線送受信部１５に無線通信２００を実行させるためのプログラム等を含む。また基本プログラムは、ＧＰＳ部４４が算出した情報を各プログラムが取得するためのＡＰＩ（Application Programming Interface）を提供するプログラムでもある。また通信プログラム２８は、後述する通信システム１の動作フローをＣＰＵ１１に実行させるためのプログラムである。
【００２３】
また記憶部１２は、設定値記憶領域１２ａおよびテーブル記憶領域１２ｂを備える。設定値記憶領域１２ａには、後述する、所定時間、加速度の所定値、許容角度範囲、所定距離、所定順番、などが記憶される。またテーブル記憶領域１２ｂには、記憶テーブルＴＢ１が記憶される。図９に、記憶テーブルＴＢ１の一例を示す。記憶テーブルＴＢ１は、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々ごとに、選択順位２２０を割り当てて、ＭＦＰ識別情報２３０、ＭＦＰ位置情報２４０、相対方向２４１、相対距離２４２、フラグ２４３を対応付けて記憶する。ＭＦＰ識別情報２３０は、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々に固有の情報である。ＭＦＰ識別情報２３０は、例えば、ＭＦＰのＩＰアドレス２３２である。ＭＦＰ名称２３１は、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々にＭＦＰの使用者や管理者が割り当てた名称、あるいは、生産者が工場出荷時に割り当てた名称である。また、ＭＦＰ位置情報２４０は、第１ＭＦＰないし第３ＭＦＰ５３の物理的位置を示す情報であり、緯度、経度および高度の成分を有する。なお、携帯電話１０は、ＭＦＰから物理的位置を示す情報を受信し、その情報をそのまま、そのＭＦＰのＭＦＰ位置情報２４０として、記憶テーブルＴＢ１に記憶する。相対方向２４１は、携帯電話１０の位置を基準とした第１ＭＦＰ５１ないし第３ＭＦＰ５３がどの方向に位置しているかを示す情報である。また、相対方向２４１は、水平成分（携帯電話１０とＭＦＰと相対位置を水平面に投影した場合の、携帯電話１０を基準とした、ＭＦＰが位置する方向）と鉛直成分（携帯電話１０とＭＦＰと相対位置を、携帯電話１０とＭＦＰとを含む鉛直面と直交する鉛直面に投影した場合の、携帯電話１０を基準とした、ＭＦＰが位置する方向）とを有する。相対距離２４２は、携帯電話１０と、第１ＭＦＰ５１ないし第３ＭＦＰ５３との間の距離である。また、相対距離２４２は、水平成分（携帯電話１０とＭＦＰと相対位置を水平面に投影した場合の、携帯電話１０とＭＦＰとの間の距離）と鉛直成分（携帯電話１０とＭＦＰと相対位置を、携帯電話１０とＭＦＰとを含む鉛直面と直交する鉛直面に投影した場合の、携帯電話１０とＭＦＰとの間の距離）とを有する。フラグ２４３は、選択候補であることを示すフラグ情報である。
【００２４】
また、テーブル記憶領域１２ｂには、除外テーブルＴＢ２および使用テーブルＴＢ３が記憶される。図１０に、使用テーブルＴＢ３の一例を示す。使用テーブルＴＢ３は、選択順位２２０を上昇させるＭＦＰを記憶しておくテーブルである。使用テーブルＴＢ３は、記憶順位２２１とＭＦＰ識別情報２３０を記憶する。記憶順位２２１は、使用テーブルＴＢ３に記憶された順番を示す情報である。記憶順位２２１が小さいＭＦＰ識別情報２３０ほど、新しく使用テーブルＴＢ３に記憶されたことを示している。なお、図１０の使用テーブルＴＢ３は、記憶順位２２１が「２」までとされているが、この形態に限られず、より多くの記憶順位２２１を使用テーブルＴＢ３に記憶可能であるとしても良い。
【００２５】
また図１１に、除外テーブルＴＢ２の一例を示す。除外テーブルＴＢ２は、選択順位２２０を下降させるＭＦＰを記憶しておくテーブルである。除外テーブルＴＢ２のその他の構成は、使用テーブルＴＢ３と同様であるため、ここでは詳細な説明は省略する。
【００２６】
ボタン入力部１７、ＧＰＳ部２４、コンパス部２５、加速度センサ２６、カメラ部２７は、携帯電話１０の使用者による操作を受け付ける操作部である。ボタン入力部１７は、タッチパネルとして、パネル１８と一体に構成されている。パネル１８は、携帯電話１０の各種機能情報を表示する。コンパス部２５は、携帯電話１０の向きを取得する地磁気センサを備えている。加速度センサ２６は、携帯電話１０の加速度を計測するセンサである。カメラ部２７は、ＣＣＤ等により画像データを取得する部位である。なお、コンパス部２５が取得した向きを示す情報や、加速度センサ２６が計測した加速度や、カメラ部２７が取得した画像データなどを各プログラムが取得するためのＡＰＩ（Application Programming Interface）を、基本プログラムが提供する。
【００２７】
第１ＭＦＰ５１の構成について説明する。第１ＭＦＰ５１は、ＣＰＵ３２、記憶部３３、無線送受信部３６、無線アンテナ部３７、ボタン入力部３８、パネル３９、モデム４０、電話回線接続部４１、プリンタ１９、スキャナ２０、ＧＰＳ部４４、表示灯４５、を主に備えている。これらの構成要素は、入出力ポート４３を介して互いに通信可能とされている。
【００２８】
ＣＰＵ３２は、記憶部３３に記憶されるプログラムや、無線送受信部３６を介して送受信される各種信号などに従って、各機能の制御を行う。なお、記憶部３３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＨＤＤ（ハードディスク）などが組み合わされて構成されているとしてもよい。
【００２９】
無線送受信部３６は、無線アンテナ部３７を介して、無線ＬＡＮ方式のインフラストラクチャーモードに準拠する無線通信２０１を行う。そして、無線送受信部３６により、各種のデータを構成するデジタル信号が送受信される。
【００３０】
ボタン入力部３８は、第１ＭＦＰ５１の各機能を実行するためのキーである。ボタン入力部３８は、タッチパネルとして、パネル３９と一体に構成されていてもよい。パネル３９は、第１ＭＦＰ５１の各種機能情報を表示する。プリンタ１９は、印刷を実行する部位である。スキャナ２０は、読み取りを実行する部位である。ＧＰＳ部４４は、携帯電話１０の位置情報を取得する部位である。表示灯４５は、ＬＥＤ（Light Emitting Diode）等を備えており、第１ＭＦＰ５１の各種ステータスを使用者に報知するための部位である。モデム４０は、ファクシミリ機能によって送信する原稿データを、電話回線網１００に伝送可能な信号に変調して電話回線接続部４１を介して送信したり、電話回線網１００から電話回線接続部４１を介して入力された信号を受信し、原稿データへ復調するものである。なお、第２ＭＦＰ５２および第３ＭＦＰ５３の構成は、第１ＭＦＰ５１と同様であるため、ここでは詳細な説明は省略する。
【００３１】
サーバ７１の構成について説明する。サーバ７１は、ＣＰＵ７２、記憶部７３、通信部７４、を主に備えている。サーバ７１は、ネットワークにおいて、クライアント装置に対し、自身の持っている機能やデータを提供する装置である。ＣＰＵ７２は、各機能の制御を行う。記憶部７３は、各種のデータを記憶する。通信部７４は、様々な情報を携帯電話１０との間で通信する。
【００３２】
第１実施形態に係る通信システム１の動作を、図２ないし図１３を用いて説明する。図２ないし図５を用いて、携帯電話１０で行われるフローを説明する。図２ないし図５のフローは、携帯電話１０の通信プログラム２８を起動することに応じて、実行が開始される。なお、第１実施形態では、図１９に示すように、使用者が、携帯電話１０のマイク側を握って、パネル１８が上を向くように持ち、データ通信の対象としたいＭＦＰに向けて（携帯電話１０のスピーカ３側の先端が向くように）携帯電話１０を素早く振ると、携帯電話１０が、スピーカ３側の先端が向いた方に存在するＭＦＰをデータ通信の対象として、データ通信を行う、という実施形態である。
【００３３】
図２のＳ９において、ＣＰＵ１１は、加速度センサ２６で計測された加速度が、まず、一の方向に向かう所定値以上の大きさの加速度から、反対の方向へ向かう同等の大きさの加速度へと急に切り替わったか、すなわち、使用者による操作がトリガ条件を満たす操作か否かを判断する。このとき、ＣＰＵ１１は、ＡＰＩ用いて定期的に加速度を取得し、取得した加速度を用いて判断を行う。トリガ条件が満たされていない場合（Ｓ９：ＮＯ）には、Ｓ９へ戻り待機する。一方、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０へ進む。トリガ条件の判断を設けることにより、使用者が携帯電話１０を素早く振って止めるという操作をしないと、Ｓ１０以降の処理は実行されない。よって、使用者がデータ通信を行う意図を有さずに携帯電話１０を動かした際に、誤ってデータ通信が実行されてしまう事態を防止することができる。Ｓ１０において、ＣＰＵ１１は、ＡＰＩを用いてコンパス部２５から携帯電話１０の向きを示す情報を取得する。そして、取得した情報を用いて、携帯電話１０の基準位置（携帯電話１０の長手方向の中心、かつ、短手方向の中心、かつ、厚み方向の中心（図７参照））を基準とした、携帯電話１０の長手方向の中心軸（短手方向の中心、かつ、厚み方向の中心に位置し、長手方向に伸びる軸）（図７参照）における、マイク側先端に対するスピーカ３側先端が位置している方向を算出する。すなわち、携帯電話１０が使用者から受け付けた操作が、携帯電話の位置を基準として、何れの方向を指定する操作であったのかを示す情報を算出する。そして、算出した情報を、方向情報として記憶部１２に記憶させる。なお、方向情報は、水平成分（コンパス部２５の基準位置と携帯電話１０のスピーカ３側の先端との相対位置を水平面に投影した場合の、コンパス部２５の基準位置を基準とした、携帯電話１０のスピーカ３側の先端が位置する方向）を有する。
【００３４】
続いて、Ｓ１１において、ＣＰＵ１１は、ネットワーク設定値を取得する。具体的には、無線送受信部１５を用いて、無線ＬＡＮのプローブ要求をブロードキャストする。そして、無線送受信部１５の電波が届く範囲のアクセスポイント（例えば、アクセスポイント６２）が返信するプローブ応答に含まれるＳＳＩＤ（Service Set Identifier）を受信し、一時的に、ＣＰＵ１１のワーク領域（記憶部１２のＲＡＭ、または、バッファ）に記憶する。Ｓ１３において、ＣＰＵ１１は、取得したＳＳＩＤを用いてアクセスポイント６２へアクセスし、無線ＬＡＮ方式のインフラストラクチャーモードに準拠する無線通信２００を行える状態になる。
【００３５】
Ｓ１５において、ＣＰＵ１１は、相対方向および相対距離の取得フローを実行する。図３を用いて、相対方向および相対距離の取得フローの詳細な内容を説明する。Ｓ１１１において、ＣＰＵ１１は、無線送受信部１５を用いて、無線ＬＡＮ方式のインフラストラクチャーモードに準拠する無線通信２００により、第１データをブロードキャストする（第１データは、第１データがブロードキャストされていることを示すために、第１データの受信先を示す情報としてブロードキャストアドレスを含んでいる）。すると、アクセスポイント経由で、アクセスポイント６２にアクセスしている無線クライアント（すなわち、第１ＭＦＰ５１ないし第３ＭＦＰ５３を含む無線クライアント）が第１データを受信する。なお、第１データは、第１データの送信元を示すために携帯電話１０の識別情報（ＩＰアドレス）を含んでいる。また、第１データは、通信プログラム２８に対応しているか否かを問い合わせるための、問い合わせ情報（第１データであることを示す情報でもある。また、具体的な例では、ＳＮＭＰ（Simple Network Management Protocol）Ｒｅｑｕｅｓｔコマンドである）を含んでいる。
【００３６】
Ｓ１１３において、ＣＰＵ１１は、第１ＭＦＰ５１ないし第３ＭＦＰ５３から、第２データの返信を受けたか否かを判断する。具体的には、受信先を示すために携帯電話１０の識別情報を含み、送信元を示すためにＭＦＰの識別情報（ＩＰアドレス）を含み、第１データに対する返信である旨を携帯電話１０に報知するための、返信情報（第２データであることを示す情報でもある。また、具体的な例では、ＳＮＭＰ  Ｒｅｐｌｙコマンドである）を含んでいるデータを受信したか否かを判断する。第２データを受信した場合（Ｓ１１３：ＹＥＳ）にはＳ１１５へ進む。Ｓ１１５において、ＣＰＵ１１は、ＭＦＰの識別情報を、第２データから抽出する。また、第２データは、ＭＦＰの物理的位置を示す情報も含んでいるため、ＣＰＵ１１は、ＭＦＰの物理的位置を示す情報も、第２データから抽出する。そして、抽出した識別情報および物理的位置を示す情報を、そのＭＦＰのＩＰアドレス２３２およびＭＦＰ位置情報２４０として記憶テーブルＴＢ１に一時的に記憶させる。
【００３７】
一方、第２データを受信していない場合（Ｓ１１３：ＮＯ）にはＳ１１７に進み、ＣＰＵ１１は、第２データの返信待ち時間がタイムアウトとなったか否かを判断する。タイムアウトでない場合（Ｓ１１７：ＮＯ）にはＳ１１３へ戻り、タイムアウトである場合（Ｓ１１７：ＹＥＳ）にはＳ１２１へ進む。Ｓ１２１においてＣＰＵ１１は、ＧＰＳ部２４が算出した、携帯電話１０の位置情報を取得する。そして、取得した携帯電話１０の位置情報を、記憶部１２に一時的に記憶させる。
【００３８】
Ｓ１２５において、ＣＰＵ１１は、相対方向および相対距離を算出する。相対方向および相対距離の算出は、記憶部１２に記憶されている、携帯電話１０の位置情報とＭＦＰの位置情報２４０とに基づいて行われる。算出された相対方向および相対距離は、そのＭＦＰの相対方向２４１および相対距離２４２として記憶テーブルＴＢ１に一時的に記憶される。
【００３９】
Ｓ１２７において、ＣＰＵ１１は、第２データを返信してきた全てのＭＦＰについて、相対方向２４１および相対距離２４２を算出したか否かを判断する。算出した場合（Ｓ１２７：ＹＥＳ）にはフローを終了し、算出していない場合（Ｓ１２７：ＮＯ）にはＳ１２９へ進む。Ｓ１２９において、ＣＰＵ１１は、未算出のＭＦＰを選択した上で、Ｓ１２５へ戻る。これにより、第２データを返信してきた全てのＭＦＰについて、相対方向２４１および相対距離を取得することができる。そしてＳ２１（図２）へ進む。
【００４０】
Ｓ２１において、ＣＰＵ１１は、記憶部１２が記憶している方向情報と、携帯電話１０の位置情報と、ＭＦＰの位置情報とに基づいて、対象ＭＦＰを選択する。対象ＭＦＰは、データ通信の対象となるＭＦＰである。図４を用いて、対象ＭＦＰを選択するフローを説明する。Ｓ３０１において、ＣＰＵ１１は、相対方向２４１の水平成分が示す方向と方向情報の水平成分が示す方向との差が小さいＭＦＰの選択順位２２０のほうが、相対方向２４１の水平成分が示す方向と方向情報の水平成分が示す方向との差が大きいＭＦＰの選択順位２２０よりも上位となるように、記憶テーブルＴＢ１に記憶されたＭＦＰの選択順位２２０をソートする。
【００４１】
Ｓ３０３において、ＣＰＵ１１は、相対方向２４１の水平成分が示す方向と方向情報の水平成分が示す方向との差が９０度以内（すなわち、携帯電話１０のスピーカ３側の先端が向いている方、あるいは、携帯電話１０の使用者から見ての前方）であるＭＦＰ（使用者の前方に存在するＭＦＰ）の数を判断する。使用者の前方に存在するＭＦＰが複数存在する場合（Ｓ３０３：複数）には、Ｓ３０４へ進む。使用者の前方に存在するＭＦＰが複数存在しない場合（Ｓ３０３：ゼロ）には、Ｓ３１４へ進む。使用者の前方に存在するＭＦＰが１つだけ存在する場合（Ｓ３０３：１つ）には、Ｓ３０６へ進む。Ｓ３０６において、ＣＰＵ１１は、当該ＭＦＰを仮選択ＭＦＰとして選択し、Ｓ３１７へ進む。また、Ｓ３０４において、ＣＰＵ１１は、使用者の前方に存在するＭＦＰを選択候補にする。なお、例えば、携帯電話１０の使用者が１階に居るときに、２階に設置されているＭＦＰをデータ通信の対象としては不便であるため、相対方向２４１の水平成分が示す方向と方向情報の水平成分が示す方向との差が９０度以内であるＭＦＰのうち、相対距離２４２の鉛直成分が示す距離が閾値以内（例えば、２メートル以内）であるＭＦＰのみを、仮選択ＭＦＰの選択候補にする。選択候補にするとは、記憶テーブルＴＢ１が記憶する、選択候補にするＭＦＰの情報に、仮選択ＭＦＰの選択候補であることを示すフラグ２４３（図９）を対応付けて記憶することである。Ｓ３１４において、ＣＰＵ１１は、相対距離２４２の水平成分が示す距離が小さいＭＦＰの選択順位２２０のほうが、相対距離２４２の水平成分が示す距離が大きいＭＦＰの選択順位２２０よりも上位となるように、記憶テーブルＴＢ１に記憶されたＭＦＰの選択順位２２０をソートする。
【００４２】
Ｓ３１５において、ＣＰＵ１１は、選択候補であるＭＦＰのうち除外テーブルＴＢ２に記憶されているＭＦＰの選択順位２２０が下位となり、使用テーブルＴＢ３に記憶されているＭＦＰの選択順位２２０が上位となるように、記憶テーブルＴＢ１に登録されたＭＦＰの選択順位２２０をソートする。具体的には、ＭＦＰが除外テーブルＴＢ２に記憶されているか（もしくは、使用テーブルＴＢ３に記憶されていないか）を判断する。そして、除外テーブルＴＢ２に記憶されている（もしくは、使用テーブルＴＢ３に記憶されていない）ならば、そのＭＦＰの選択順位を、除外テーブルＴＢ２に記憶されていない（もしくは、使用テーブルＴＢ３に記憶されている）ＭＦＰのうち、最も選択順位が低いＭＦＰより、一つ低い選択順位にするという処理を行う。当該処理は、除外テーブルＴＢ２に記憶されている（もしくは、使用テーブルＴＢ３に記憶されていない）ＭＦＰ選択順位が全て、除外テーブルＴＢ２に記憶されていない（もしくは、使用テーブルＴＢ３に記憶されている）ＭＦＰの選択順位よりも低い選択順位となるまで繰り返される。
【００４３】
Ｓ３１６において、ＣＰＵ１１は、記憶テーブルＴＢ１において選択順位２２０が最上位の「１」とされていると共に、選択候補であることを示すフラグ２４３が記憶されているＭＦＰを、仮選択ＭＦＰとして選択する。仮選択ＭＦＰは、データ通信を行う候補として、仮に選択状態とされているＭＦＰである。これにより、使用者の入力を必要とせずに、自動で仮選択ＭＦＰを決定することができる。
【００４４】
Ｓ３１７においてＣＰＵ１１は、無線送受信部１５を使用して、仮選択ＭＦＰへ報知実行命令を送信させる。報知実行命令は、仮選択されていることを報知する旨の仮選択状態報知動作を、仮選択ＭＦＰに行なわせる旨の命令である。当該命令を受信した仮選択ＭＦＰは、仮選択状態報知動作を行う。仮選択状態報知動作の一例としては、表示灯４５を点灯させる方法や、パネル３９に仮選択中である旨を表示させる方法や、プリンタ１９やスキャナ２０の可動部を動かす方法や、ＭＦＰの他の可動部を動かす方法などが挙げられる。
【００４５】
Ｓ３１８において、ＣＰＵ１１は、仮選択のキャンセル動作が実行されたか否かを判断する。キャンセル動作は、仮選択ＭＦＰの仮選択を解消する動作である。キャンセル動作は、Ｓ１７において方向情報を記憶部１２に記憶させた後において、キャンセル情報が外部入力受付手段に入力されることに応じて、実行される。また、キャンセル情報は、方向情報と異なる方向を示す方向情報である。
【００４６】
キャンセル情報は、様々な方向情報であってよい。例えば、キャンセル情報は、図８におけるキャンセル情報Ｃ１のように、方向情報Ｖ１が示す方向に対して逆向きの方向情報であるとしてもよい。これにより、例えば、携帯電話１０を方向情報Ｖ１へ向けて突き出すことによって仮選択を行った場合には、携帯電話１０をキャンセル情報Ｃ１へ向けて動かす動作(すなわち、突き出した携帯電話１０を元に戻す動作）によって仮選択をキャンセルすることができる。
【００４７】
また例えば、キャンセル情報は、図８におけるキャンセル情報Ｃ２のように、方向情報Ｖ１が示す方向に対して直交する方向であるとしてもよい。これにより、例えば、携帯電話１０を方向情報Ｖ１へ向けることによって仮選択を行った場合には、携帯電話１０をキャンセル情報Ｃ２へ向けて動かす動作(すなわち、携帯電話１０を左右方向に振る動作)によって仮選択をキャンセルすることができる。
【００４８】
キャンセル動作が実行された場合（Ｓ３１８：ＹＥＳ）にはＳ３１９へ進む。Ｓ３１９において、ＣＰＵ１１は、キャンセル情報を記憶部１２に記憶させる。Ｓ３２１においてＣＰＵ１１は、無線送受信部１５を使用して、仮選択ＭＦＰへ報知終了命令を送信させる。報知終了命令は、仮選択ＭＦＰに対して、仮選択状態報知動作を終了する命令である。当該命令を受信した仮選択ＭＦＰは、仮選択状態報知動作を終了する。よって、仮選択が解除される。そしてフローを終了する。
【００４９】
一方、Ｓ３１８においてキャンセル動作が実行されない場合（Ｓ３１８：ＮＯ）には、Ｓ４１７（図５）へ進む。Ｓ４１７において、ＣＰＵ１１は、確定処理が行われたか否かを判断する。確定処理は、仮選択ＭＦＰを対象ＭＦＰとして確定する旨の使用者の意志を受け付ける処理である。確定処理の一例としては、外部入力受付手段が所定の外部入力を受け付ける処理が挙げられる。ここで、所定の外部入力の一例としては、ボタン入力部１７に備えられるＯＫボタンが押下されることや、携帯電話１０を振ることで加速度センサ２６に加速度が与えられること等が挙げられる。
【００５０】
また、確定処理の他の例としては、外部入力受付手段が所定の外部入力を受け付けることなく、予め定められた所定期間が経過したことを検出する処理が挙げられる。ここで、所定の外部入力の一例としては、通信処理の実行を取りやめる際に行なわれるＮＧ動作が挙げられる。ＮＧ動作の一例としては、ボタン入力部１７のキャンセルボタンが押下されることが挙げられる。なお、所定時間は、予め使用者によって定められ、設定値記憶領域１２ａに記憶されるとしてもよい。
【００５１】
確定処理が実行された場合（Ｓ４１７：ＹＥＳ）には、Ｓ４３１へ進む。Ｓ４３１において、ＣＰＵ１１は、仮選択ＭＦＰを対象ＭＦＰとして確定する。Ｓ４３３において、ＣＰＵ１１は、対象ＭＦＰのＭＦＰ識別情報２３０を使用テーブルＴＢ３に登録する。具体的には、使用テーブルＴＢ３において、記憶済みのＭＦＰ識別情報２３０の記憶順位２２１が１つずつ繰り下げられる。このとき、最大の記憶順位２２１を有するＭＦＰ識別情報２３０は、削除される。そして、記憶順位２２１＝「１」の欄に、対象ＭＦＰのＭＦＰ識別情報２３０が記憶される。Ｓ４３５において、ＣＰＵ１１は、対象ＭＦＰのＭＦＰ識別情報２３０を、除外テーブルＴＢ２から削除する。
【００５２】
Ｓ４３７において、ＣＰＵ１１は、対象ＭＦＰとの間でデータ通信を実行する。具体的には、記憶テーブルＴＢ１から対象ＭＦＰのＭＦＰ識別情報２３０（ＩＰアドレス）を読み出して、受信先を示すために対象ＭＦＰのＩＰアドレスを含んだデータを、対象ＭＦＰへの送信データとして無線送受信部１５に送信させ、対象ＭＦＰのＩＰアドレスを含んでいる（すなわち、対象ＭＦＰが送信した）データを受信データとして無線送受信部１５に受信させるデータ通信を実行する。なお、データ通信にて扱うデータは、様々なデータが考えられる。例えば、無線送受信部１５に処理データを対象ＭＦＰへ送信させ、対象ＭＦＰに所定の処理を実行させてもよい。具体的には、無線送受信部１５に印刷データを対象ＭＦＰへ送信させ、対象ＭＦＰにプリンタ１９を用いた印刷データの印刷をさせてもよい。また、無線送受信部１５にスキャン指示を対象ＭＦＰへ送信させ、対象ＭＦＰがスキャナ２０を用いて生成したスキャンデータを、無線送受信部１５に対象ＭＦＰから受信させるとしてもよい。また、無線送受信部１５にＩＰ電話指示を対象ＭＦＰへ送信させ、対象ＭＦＰのモデム４０および電話回線接続部４１を介して、電話回線の先に存在する電話装置やファクシミリ装置を相手に、通話やファクシミリ通信を実行するとしてもよい。Ｓ４３９において、ＣＰＵ１１は、対象ＭＦＰとの接続を解除する。そして、フローが終了する。
【００５３】
一方、Ｓ４１７において確定処理が実行されなかった場合（Ｓ４１７：ＮＯ）にはＳ４２１へ進む。Ｓ４２１において、ＣＰＵ１１は、無線送受信部１５を使用して、無線送受信部１５に仮選択ＭＦＰへ報知終了命令を送信させる。Ｓ４２３において、ＣＰＵ１１は、仮選択ＭＦＰとの接続を解除する。Ｓ４２５において、ＣＰＵ１１は、仮選択ＭＦＰのＭＦＰ識別情報２３０を、除外テーブルＴＢ２に登録する。なお、除外テーブルＴＢ２への登録処理は、前述した使用テーブルＴＢ３への登録処理（Ｓ４３３）と同様であるため、ここでは詳細な説明は省略する。
【００５４】
Ｓ４２７において、ＣＰＵ１１は、仮選択ＭＦＰのＭＦＰ識別情報２３０を、使用テーブルＴＢ３から削除する。Ｓ４２９において、ＣＰＵ１１は、次の新たな仮選択ＭＦＰを選択する。次の新たな仮選択ＭＦＰとしては、記憶テーブルＴＢ１において、現在の仮選択ＭＦＰの選択順位２２０よりも低い順位を有すると共に、選択候補であることを示すフラグ２４３が記憶されているＭＦＰが選択される。そして、Ｓ３１７（図４）へ戻る。
【００５５】
図６を用いて、第１ＭＦＰ５１ないし第３ＭＦＰ５３で行われるフローを説明する。Ｓ２１１において、ＣＰＵ３２は、携帯電話１０からブロードキャストされた第１データを受信したか否かを判断する（具体的には、受信先を示す情報としてブロードキャストアドレスを含み、かつ、第１データであることを示す情報を含むデータを受信したか否かを判断する）。受信していない場合（Ｓ２１１：ＮＯ）にはＳ２１９へ進み、受信した場合（Ｓ２１１：ＹＥＳ）にはＳ２１３へ進む。Ｓ２１３において、ＣＰＵ３２は、第２データを携帯電話１０へ返信する。
【００５６】
Ｓ２３１において、ＣＰＵ３２は、報知実行命令を携帯電話１０から受信したか否かを判断する。受信していない場合（Ｓ２３１：ＮＯ）にはＳ２３５へ進み、受信した場合（Ｓ２３１：ＹＥＳ）にはＳ２３３へ進む。Ｓ２３３において、ＣＰＵ３２は、表示灯４５を点灯させる。これにより、自機が仮選択されたことを使用者に報知することができる。
【００５７】
Ｓ２３５において、ＣＰＵ３２は、報知終了命令を受信したか否かを判断する。受信していない場合（Ｓ２３５：ＮＯ）にはＳ２３９へ進み、受信した場合（Ｓ２３５：ＹＥＳ）にはＳ２３７へ進む。Ｓ２３７において、ＣＰＵ３２は、表示灯４５を消灯させる。これにより、自機の仮選択が解除されたことを使用者に報知することができる。
【００５８】
Ｓ２３９において、ＣＰＵ３２は、印刷データ等の処理データを携帯電話１０から受信したか否かを判断する。受信していない場合（Ｓ２３９：ＮＯ）にはＳ２１１へ戻り、受信した場合（Ｓ２３９：ＹＥＳ）にはＳ２４１へ進む。Ｓ２４１において、ＣＰＵ３２は、処理データの処理を実行する。例えば、処理データが印刷データである場合には、プリンタ１９を用いて印刷データを印刷する処理を実行する。そしてＳ２１１へ戻る。
【００５９】
第１実施形態に係る通信システム１の動作の具体例を、図８に示すような形態で第１ＭＦＰ５１ないし第３ＭＦＰ５３が配置されている場合を説明する。また、第１ＭＦＰ５１が対象ＭＦＰとして選択される場合を説明する。また、除外テーブルＴＢ２に第１ＭＦＰ５１が記憶されており（図１１）、使用テーブルＴＢ３に第３ＭＦＰ５３が記憶されている（図１０）場合を説明する。また、使用者による操作を受け付ける操作部として加速度センサ２６が用いられる場合を説明する。また、無線送受信部１５に対象ＭＦＰへ印刷データを送信させる場合を説明する。
【００６０】
使用者が携帯電話１０のボタン入力部１７を操作し、通信プログラム２８を起動することに応じて、図２のフローが開始される。第１ＭＦＰ５１をデータ通信の対象としたいと考える使用者が、第１ＭＦＰ５１に向けて携帯電話１０を振って止めることに応じて、トリガ条件が満たされる（Ｓ９：ＹＥＳ）。続いて、携帯電話１０は、方向情報を取得する（Ｓ１０）。この場合では、方向情報が示す方向は、携帯電話１０から第１ＭＦＰ５１へと向かう方向になる。続いて、携帯電話１０は、アクセスポイント６２へアクセスし、無線ＬＡＮのインフラストラクチャーモードに準拠する無線通信２００を行える状態になる（Ｓ１３）。続いて、携帯電話１０は、第１データを第１ＭＦＰ５１ないし第３ＭＦＰ５３へブロードキャストする（Ｓ１１１）。すると、第１ＭＦＰ５１ないし第３ＭＦＰ５３は、第１データを受信し（Ｓ２１１：ＹＥＳ）、第２データを携帯電話１０へ返信する（Ｓ２１３）。携帯電話１０は、第１ＭＦＰ５１ないし第３ＭＦＰ５３から第２データを受信し（Ｓ１１３：ＹＥＳ）、記憶部１２の記憶テーブルＴＢ１に記憶させる（Ｓ１１５）。よって、図９に示すように、ＭＦＰ識別情報２３０およびＭＦＰ位置情報２４０が、第１ＭＦＰ５１ないし第３ＭＦＰ５３ごとに対応付けられて、記憶テーブルＴＢ１に記憶される。なお、この時点においては、選択順位２２０は、記憶テーブルＴＢ１に記憶された順番となっている。
【００６１】
携帯電話１０は、ＧＰＳ部２４が算出した、携帯電話の位置情報を取得する（Ｓ１２１）。携帯電話１０は、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々について、相対方向および相対距離を算出する（Ｓ１２５）。よって、図８に示すように、第１ＭＦＰ５１の相対方向＝Ｄ１と、第２ＭＦＰ５２の相対方向＝Ｄ２と、第３ＭＦＰ５３の相対方向＝Ｄ３と、が算出される。また、第１ＭＦＰ５１の相対距離＝Ｒ１、第２ＭＦＰ５２の相対距離＝Ｒ２、第３ＭＦＰ５３の相対距離＝Ｒ３、がそれぞれ算出される。そして、図９に示すように、算出された相対方向および相対距離は、相対方向２４１および相対距離２４２として記憶テーブルＴＢ１に記憶される。
【００６２】
第１ＭＦＰ５１ないし第３ＭＦＰ５３の全てのＭＦＰについて、相対方向および相対距離が算出されると（Ｓ１２７：ＹＥＳ）、携帯電話１０は、相対方向２４１の水平成分が示す方向と方向情報Ｖ１の水平成分が示す方向との差が小さい順に、記憶テーブルＴＢ１に記憶されたＭＦＰの選択順位２２０をソートする（Ｓ３０１）。図８の例では、方向情報Ｖ１の水平成分が示す方向と相対方向２４１＝Ｄ１の水平成分が示す方向とが一致するため、第１ＭＦＰ５１の選択順位２２０が最上位である「１」とされる。また方向情報Ｖ１の水平成分が示す方向と相対方向２４１＝Ｄ３の水平成分が示す方向が大きく異なるため、第３ＭＦＰ５３の選択順位２２０が最下位である「３」とされる。そして、方向情報Ｖ１の水平成分が示す方向と相対方向２４１の水平成分が示す方向との差が９０度以内であるＭＦＰが複数（第１ＭＦＰ５１および第２ＭＦＰ５２）存在するため（Ｓ３０３：ＹＥＳ）、第１ＭＦＰ５１および第２ＭＦＰ５２のみが選択候補となり（Ｓ３０４）、選択候補であることを示すフラグ２４３が記憶テーブルＴＢ１に記憶される（図１２）。そして、選択順位２２０が、相対距離２４２の水平成分が示す距離が小さい順にソートされる（Ｓ３１４）。図８の例では、相対距離２４２＝Ｒ１の水平成分が示す距離の方がＲ２の水平成分が示す距離よりも小さいため、第１ＭＦＰ５１の選択順位２２０が「１」とされ、第２ＭＦＰ５２の選択順位２２０が「２」とされる。これにより、図１２の記憶テーブルＴＢ１に示すように、ソートが完了する。
【００６３】
携帯電話１０は、除外テーブルＴＢ２（図１１）に記憶されている第１ＭＦＰ５１の選択順位２２０が下位となり、使用テーブルＴＢ３（図１０）に記憶されている第３ＭＦＰ５３の選択順位２２０が上位となるように、記憶テーブルＴＢ１に登録されたＭＦＰをソートする（Ｓ３１５）。これにより、図１３の記憶テーブルＴＢ１に示すように、ソートが完了する。
【００６４】
携帯電話１０は、記憶テーブルＴＢ１（図１３）において選択順位２２０が最上位の「１」であると共に、フラグ２４３が「選択候補」とされている第２ＭＦＰ５２を、仮選択ＭＦＰとして選択する（Ｓ３１６）。携帯電話１０は、仮選択ＭＦＰ（第２ＭＦＰ５２）へ、報知実行命令を送信する（Ｓ３１７）。第２ＭＦＰ５２は、報知実行命令を携帯電話１０から受信すると（Ｓ２３１：ＹＥＳ）、表示灯４５を点灯させる（Ｓ２３３）。使用者が、携帯電話１０のボタン入力部１７に備えられているＯＫボタンを押下すると（Ｓ４１７：ＹＥＳ）、仮選択ＭＦＰ（第２ＭＦＰ５２）が対象ＭＦＰとして確定する（Ｓ４３１）。
【００６５】
携帯電話１０は、対象ＭＦＰである第２ＭＦＰ５２を、使用テーブルＴＢ３に登録する（Ｓ４３３）。携帯電話１０は、対象ＭＦＰ（第２ＭＦＰ５２）とデータ通信を実行し、印刷データを送信する（Ｓ４３７）。第２ＭＦＰ５２は、印刷データを受信し（Ｓ２３９：ＹＥＳ）、プリンタ１９を用いて印刷データを印刷する（Ｓ２４１）。そしてフローを終了する。
【００６６】
なお、Ｓ４１７において、第２ＭＦＰ５２が仮選択ＭＦＰとして選択されている状態で、携帯電話１０のボタン入力部１７に備えられているＣａｎｃｅｌボタンが押下されると（Ｓ４１７：ＮＯ）、第２ＭＦＰ５２のＭＦＰ識別情報２３０が、除外テーブルＴＢ２に登録される（Ｓ４２５）。また、第２ＭＦＰ５２のＭＦＰ識別情報２３０が、使用テーブルＴＢ３から削除される（Ｓ４２７）。そして、現在の仮選択ＭＦＰ（第２ＭＦＰ５２）の選択順位２２０（「１」、図１３）よりも低い順位を有すると共に、選択候補であることを示すフラグ２４３が記憶されているＭＦＰ（第１ＭＦＰ５１）が、次の新たな仮選択ＭＦＰとして選択される（Ｓ２４９）。
【００６７】
以上説明した、第１実施形態の説明例に係る通信システム１の効果を説明する。通信システム１では、通信先候補として仮選択された仮選択ＭＦＰに、仮選択状態報知動作を行わせることができる。よって、使用者は何れのＭＦＰが仮選択されているかを、目視等により容易に認識できる。そして、携帯端末装置に所定の入力を行うことで、仮選択ＭＦＰを対象ＭＦＰとして確定し、データ通信を行うことができる。これにより、接続を希望するＭＦＰの識別情報を、使用者が知っておいたり、調べておき、その識別情報を携帯電話１０へ入力する必要がなくなる。よって、簡易な手続きで対象ＭＦＰを選択することが可能となる。
【００６８】
また通信システム１では、仮選択ＭＦＰが使用者が通信先として選択を希望するＭＦＰではない場合には、キャンセル動作を実行することにより、仮選択をキャンセルすることができる。よって、使用者の利便性を高めることが出来る。
【００６９】
また通信システム１では、キャンセル情報は、方向情報と異なる方向を示す方向情報とされている。よって、突き出した携帯電話１０を元に戻す動作など、簡易な操作により、仮選択操作をキャンセルすることが可能となる。
【００７０】
また通信システム１では、対象ＭＦＰを選択する際に、相対方向２４１のみならず、相対距離２４２を合わせて使用する。これにより、方向情報と一致する相対方向２４１を有するＭＦＰが複数存在する場合など、相対方向２４１のみを用いては１の対象ＭＦＰを選択することができない場合においても、適切な１の対象ＭＦＰを選択することが可能となる。
【００７１】
また通信システム１では、トリガ条件が満たされると、使用者が対象ＭＦＰを選択する意図を有する場合であると判断して、対象ＭＦＰの特定を開始する。これにより、使用者が対象ＭＦＰを選択する意図を有しない場合に、誤って対象ＭＦＰが選択されてしまう事態を防止することができる。
【００７２】
また通信システム１では、トリガ条件が満たされたと判断された場合に、携帯電話１０の位置情報が取得される。これにより、トリガ条件が満たされた時点での携帯電話１０の位置情報に基づいて、対象ＭＦＰを特定できる。よって、使用者が移動しながら携帯電話１０を操作する場合など、ネットワーク状態が動的に変化する場合においても、正確に対象ＭＦＰを特定することが可能となる。
【００７３】
また、通信システム１では、加速度センサ２６が測定した加速度が閾値を越えたことをトリガとし、コンパス部２５を用いて方向情報を算出しているので、使用者が携帯電話１０を縦に振って止める、横に振って止める、あるいは、携帯電話１０のスピーカ３側先端を突き出すようにして止める、というような、使用者の色々なアクションに応じて、対象ＭＦＰを選択する処理を実行できる。
【００７４】
以上、第１実施形態を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００７５】
例えば、Ｓ１０において、ＣＰＵ１１が、携帯電話１０の基準位置に対して、スピーカ３側先端が位置している方向を示す情報を算出する構成に限らない。第１の変形例として、Ｓ１０において、ＣＰＵ１１が、携帯電話１０の基準位置に対して、マイク側先端が位置している方向を示す情報を算出するものでもよい。このようにすることで、使用者が携帯電話１０のスピーカ３側を握り、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向をマイク側先端が向くように振って止める使用法で、第１実施携帯と同様の便利さを奏することができる。
【００７６】
また、第２の変形例として、Ｓ１０において、ＣＰＵ１１が、携帯電話１０の基準位置に対して、携帯電話１０のカメラ部２７の設置面が位置している方向を示す情報を算出するものでもよい。このようにすることで、使用者が、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向をカメラ部２７が向くように携帯電話１０を握り、携帯電話を押し出して止める使用法で、第１実施携帯と同様の便利さを奏することができる。
【００７７】
また、例えば、トリガを条件を満たす操作は、携帯電話１０を振って止める、という操作に限らない。第３の変形例として、操作部としてボタン入力部１７を用い、カメラ部２７を用いた撮影を行うよう指示する操作を、トリガ条件を満たす操作として用いる構成でもよい。この場合、使用者が通信プログラム２８を起動すると、カメラ部２７が起動し、パネル１８が、カメラ部２７の電子ファインダーとして機能する。そして、図２に示したフローのＳ９において、ＣＰＵ１１は、カメラ部２７を用いた撮影を行うよう、ボタン入力部１７への使用者操作（すなわち、トリガ条件を満たす操作）があったか否かを判断する。そして、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０において、ＣＰＵ１１は、コンパス部２５を用いて、携帯電話１０の基準位置を基準とした、携帯電話１０のカメラ部２７の設置面が位置している方向、すなわち、電子ファインダーであるパネル１８を見ている使用者が、カメラ部２７をどの方向に向けて撮影したのかを示す情報を算出し、方向情報として記憶部１２に記憶させる。
【００７８】
なお、第３の変形例における、Ｓ９、および、Ｓ１０において、ＣＰＵ１１が、第２の変形例と同様の処理を実行する構成でもよい。このようにすることで、使用者が通信プログラム２８を起動し、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向に携帯電話１０のカメラ部２７を向けて撮影する（あるいは、携帯電話１０を押し出す）という使用法で、第１実施形態と同様の便利さを奏することができる。
【００７９】
また、第４の変形例として、操作部として加速度センサ２６を用い、使用者が、携帯電話１０を所定の間、同じ方向に向けたままにすることを、トリガ条件を満たす操作として用いる構成でもよい。この場合、使用者が通信プログラム２８を起動すると、携帯電話１０の図２に示したフローのＳ９において、ＣＰＵ１１は、加速度センサ２６で計測された加速度が閾値（携帯電話１０を意図的に動かしているとは思えないほど、小さな値）を超えないまま所定時間が経過したか（すなわち、トリガ条件を満たす操作がされたか）否かを判断する。そして、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０において、ＣＰＵ１１は、第１実施形態、第１の変形例、第２の変形例、第３の変形例のいずれかと同様の処理を実行する。なお、使用者が通信プログラム２８を起動したときに、第３の変形例と同様に、カメラ部２７が起動し、パネル１８が、カメラ部２７の電子ファインダーとして機能してもよい。このようにすることで、使用者が通信プログラム２８を起動し、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向に携帯電話１０のスピーカ３側先端（マイク側先端、カメラ部２７の設置面のいずれか）を向けて所定時間動かさないという使用法で、第１実施形態と同様の便利さを奏することができる。
【００８０】
なお、第４の変形例にて、ＣＰＵ１１が、Ｓ９において、ＧＰＳ部２４が算出した位置情報に閾値以上の変化がないまま所定時間が経過したか、を判断する構成としてもよい。また、Ｓ９において、コンパス部２５が取得した向きを示す情報に、閾値以上の変化がないまま所定時間が経過したか、を判断する構成としてもよい。この構成でも、第１実施形態と同様の便利さを奏することができる。
【００８１】
また、第５の変形例として、操作部としてボタン入力部１７（タッチパネルでもよい）を用い、あるいは、操作部としてマイク４を用い、使用者が、ボタン入力部１７、あるいは、マイク４に所定の入力をすることを、トリガ条件を満たす操作として用いる構成でもよい。この場合、使用者が通信プログラム２８を起動すると、携帯電話１０の図２に示したフローのＳ９において、ＣＰＵ１１は、ボタン入力部１７に所定の入力がなされたか（すなわち、トリガ条件を満たす操作がされたか）否かを判断する。そして、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０において、ＣＰＵ１１は、第１実施形態、第１の変形例、第２の変形例、第３の変形例のいずれかと同様の処理を実行する。なお、使用者が通信プログラム２８を起動したときに、第３の変形例と同様に、カメラ部２７が起動し、パネル１８が、カメラ部２７の電子ファインダーとして機能してもよい。このようにすることで、使用者が通信プログラム２８を起動し、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向に携帯電話１０のスピーカ３側先端（マイク側先端、カメラ部２７の設置面のいずれか）を向けてボタン入力部１７、あるいは、マイク４に所定の入力を行うという使用法で、第１実施形態と同様の便利さを奏することができる。
【００８２】
また、第５の変形例において、所定の入力とは、ボタン入力部１７（タッチパネルを含む）の、図示しない方向ボタン（例えば、正面ボタンなら０度、右ボタンなら右９０度、左ボタンなら左９０度、後方ボタンなら１８０度の角度が対応付けられている）を操作する入力でもよい。また、同じく第５の変形例において、所定の入力とは、ボタン入力部１７（タッチパネル）にて、指示体（指やタッチペンなど）を所定の方向に滑らす（例えば、長手方向のスピーカ３側先端に向けて滑らすなら０度、短手方向の右に滑らすなら右９０度、短手方向の左に滑らすなら左９０度、長手方向のマイク側先端に向けて滑らすなら１８０度の角度が対応付けられている）という入力でもよい。また、同じく第５の変形例において、所定の入力とは、マイク４への、方向を指示する音声入力（例えば、「正面」という音声に０度、「右」という音声に右９０度、「左」という音声に左９０度、「後方」という音声に１８０度の角度が対応付けられている）という入力でもよい。そして、これら入力ののち、Ｓ１０において、ＣＰＵ１１が、算出した情報に、さらに、使用者が操作した方向ボタンに対応付けられた角度を加算した方向を示す情報を、方向情報として記憶部１２に記憶させてもよい。
【００８３】
このようにすることで、使用者が通信プログラム２８を起動し、携帯電話１０のデータ通信の対象として所望するＭＦＰのいる方向に携帯電話１０のスピーカ３側先端（マイク側先端、カメラ部２７の設置面のいずれか）を向けて方向ボタンを操作する、あるいは、指を滑らす、あるいは、マイク４に音声入力する、という使用法で、第１実施形態と同様の便利さ（スピーカ３側先端、マイク側先端、カメラ部２７のいずれかが向いている方向よりも、例えば右側に存在するＭＦＰを仮選択ＭＦＰとして選択し、左側に存在するＭＦＰを仮選択ＭＦＰとすることはない）を奏することができる。
【００８４】
また、第６の変形例として、Ｓ１０において、携帯電話１０の向きを示す情報を加速度センサ２６を用いて取得することも可能である。具体的には、Ｓ９において加速度センサ２６で計測された一の方向と、一の方向と反対方向とが同一軸線上である場合には、当該軸線方向を、携帯電話１０の向きを示す情報として記憶部１２に記憶させればよい。
【００８５】
また、第７の変形例として、Ｓ３０３（図４）において、使用者の前方に存在するＭＦＰが複数存在しない場合（Ｓ３０３：ゼロ）の変形例を説明する。この場合には、選択候補のＭＦＰが存在しないことを携帯電話１０のパネル１８に表示させた上で、フローを終了するとしてもよい。またこの場合には、使用者が携帯電話１０を振った方向には選択候補のＭＦＰが存在しないことを、携帯電話１０のパネル１８に表示させてもよい。そして、アクセスポイント６２によって形成される無線ネットワークに接続されているＭＦＰ（第１ＭＦＰ５１ないし第３ＭＦＰ５３）を、選択肢としてパネル１８に表示させてもよい。そして、Ｓ４１７において、選択肢の選択入力を受け付けるとしてもよい。
【００８６】
また、第８の変形例として、Ｓ９（図２）において、加速度センサ２６で計測された加速度が所定値以上となることが検出されることを条件として、使用者による操作がトリガ条件を満たすと判断されてもよい。これにより、大きな加速度が携帯電話１０に与えられるのみで、トリガ条件を検出できる。よって、使用者が、データ通信の対象としたいＭＦＰに向けて携帯電話１０を素早く振る動作を行うだけで対象ＭＦＰを決定できる。そして、携帯電話１０を振った後に停止させるという動作まで行う必要を無くすことができる。
【００８７】
また、例えば、Ｓ１１において、複数のネットワーク設定値を取得（例えば、複数のアクセスポイントからプローブ応答を受信することにより）し、それら設定値を用いて複数のアクセスポイントにアクセスする構成でもよい。この場合、ＣＰＵ１１は、Ｓ１１において複数のネットワーク設定値を取得する。そして、Ｓ１３において、取得した設定値のうちの１つを用いてアクセスポイントにアクセスし、Ｓ１５において、相対方向および相対距離の取得フローを実行し、相対方向および相対距離を取得する都度、記憶テーブルＴＢ１に追加して記憶していく、という処理を繰り返せばよい。このようにすることで、１つのネットワークに接続しているＭＦＰからだけでなく、他のネットワークに接続しているＭＦＰからも、対象ＭＦＰを選択することができる。また、例えば、Ｓ１１におけるネットワーク設定値の取得は、携帯電話１０の設定値記憶領域１２ａに予め記憶されているネットワーク設定値を、一時的に、ＣＰＵ１１のワーク領域に記憶するという構成でもよい。
【００８８】
また、Ｓ９にてトリガ条件を満たす操作が行われたと判断（Ｓ９：ＹＥＳ）したにもかかわらず、Ｓ２３において携帯電話１０が対象ＭＦＰとの間でデータ通信を行うことなく、携帯電話１０がアクセスしたネットワークと携帯電話１０との接続が切断されてしまった場合に、Ｓ１５で記憶した記憶テーブルＴＢ１の値を破棄し、再度Ｓ９でトリガ条件を満たす操作が行われたと判断する必要なく、Ｓ１０から処理を再開してもよい。これにより、使用者が、携帯電話１０のデータ通信の対象として所望するＭＦＰに近づくように移動しながら携帯電話１０を操作する場合など、ネットワーク接続が途切れやすい状況でも、使用者が再度トリガ条件を満たす操作を行う手間なく、方向情報の取得処理、相対方向および相対距離の取得処理が行われるので、使用者が所望する方向に存在するＭＦＰと携帯電話１０とがデータ通信することができるようになる。
【００８９】
また、Ｓ１５で記憶した記憶テーブルＴＢ１の値を破棄してから、再度Ｓ９でトリガ条件を満たす操作が行われたと判断する必要なく、Ｓ１１から処理を再開してもよい。これにより、使用者が、携帯電話１０のデータ通信の対象として所望するＭＦＰの方向を示す操作をしてから、携帯電話１０を使用者に任意の持ち方で持ち、所望するＭＦＰに近づくように移動する場合など、ネットワーク接続が途切れやすい状況でも、使用者が再度トリガ条件を満たす操作を行う手間なく、相対方向および相対距離の取得処理が行われるので、使用者が所望する方向に存在するＭＦＰと携帯電話１０とがデータ通信することができるようになる。
【００９０】
また、例えば、携帯電話１０の電源がオンとされることに応じて、Ｓ１１からＳ１３の処理が定期的に実行され、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０の処理を行い、Ｓ１５へと処理を続けるとしてもよい。また、例えば、携帯電話１０の電源がオンとされることに応じて、Ｓ１１からＳ１５の処理が定期的に実行され、トリガ条件が満たされた場合（Ｓ９：ＹＥＳ）には、Ｓ１０の処理を行い、Ｓ２１へと処理を続けるとしてもよい。
【００９１】
また、例えば、Ｓ２１において対象ＭＦＰとして決定されたＭＦＰに対して、無線送受信部１５に決定した旨を報知する報知情報を送信させるとしてもよい。そしてＡＣＫ信号等の返信信号を所定時間内に受信しなかった場合には、別のＭＦＰを対象ＭＦＰに決定し、無線送受信部１５に新たに決定された対象ＭＦＰへ報知情報を再度送信させるとしてもよい。これにより、対象ＭＦＰとの通信をより確実に行うことが可能となる。
【００９２】
また例えば、サーバ７１が、第１ＭＦＰ５１ないし第２ＭＦＰ５３から、定期的に識別情報と物理的位置を示す情報を受信し、記憶部７３に記憶している構成でもよい。この場合、サーバ７１は、携帯電話１０がＳ１１１で送信した第１データを受信すると、記憶している、第１ＭＦＰ５１ないし第２ＭＦＰ５３の識別情報と物理的位置を示す情報を含んだ第２データを携帯電話１０へと返信する。なお、サーバ７１が返信する第２データは、受信先を示すために携帯電話１０の識別情報を含み、送信元を示すためにサーバ７１の識別情報（ＩＰアドレス）を含み、第２データであることを示す返信情報を含んでいる。そして、この場合、携帯電話１０のＣＰＵ１１は、サーバ７１が送信する第２データをＳ１１３において無線送受信部１５に受信させたら、Ｓ１１５において、ＭＦＰの識別情報と、物理的位置を示す情報とを第２データから抽出し、記憶テーブルＴＢ１に一時的に記憶させる。
【００９３】
なお、第１実施形態では、携帯電話１０が無線ＬＡＮのインフラストラクチャーモードに準拠する無線通信２００によって、アクセスポイント６２経由で、第１ＭＦＰ５１ないし第３ＭＦＰ５３との通信を行っていたが、これに替えて、携帯電話１０がＢｌｕｅｔｏｏｔｈ（登録商標）に準拠する無線通信によって、第１ＭＦＰ５１ないし第３ＭＦＰ５３と直接通信を行う構成であってもよい。この場合、第１ＭＦＰ５１ないし第３ＭＦＰ５３はＢｌｕｅｔｏｏｔｈに準拠した探索に応答可能な状態である。携帯電話１０のＣＰＵ１１は、Ｓ１１において携帯電話１０とＢｌｕｅｔｏｏｔｈに準拠した無線通信が可能な距離に存在するＭＦＰ（すなわち第１ＭＦＰ５１ないし第３ＭＦＰ５３）から、ＭＦＰのＢｌｕｅｔｏｏｔｈアドレス（識別情報の一種、ＢＤアドレスなどとも言う）を含む応答を受信する。具体的には、例えばＳＤＡＰ（Service Discovery Application Profile）による探索処理を行い、プリンタ機能とスキャナ機能を提供する装置（すなわちＭＦＰ）からの応答を受信する。そして、Ｓ１３において、Ｂｌｕｅｔｏｏｔｈに準拠した接続処理にて第１ＭＦＰ５１に接続する。続いて、Ｓ１５において、接続したＭＦＰから相対方向および相対距離を取得する。なお、この場合、Ｓ１１１では第１データをブロードキャストするのではなく、送信先を示すために、接続したＭＦＰのＢｌｕｅｔｏｏｔｈアドレスを含んでいる第１データを無線送受信部１５に送信させるようにしてもよい。続いて、このＳ１３に戻って第２ＭＦＰ５２に接続し、Ｓ１５を実行し、Ｓ１３に戻って第３ＭＦＰ５２に接続し、Ｓ１５を実行する（すなわち、無線通信が可能な距離に存在するＭＦＰの全てに対し、Ｓ１３とＳ１５の処理を実行する）。以降、Ｓ４３１で対象ＭＦＰを特定し、Ｓ４３７で対象ＭＦＰとデータ通信を実行する。なお、第１ＭＦＰ５１ないし第３ＭＦＰ５３と直接通信を行う構成では、Ｂｌｕｅｔｏｏｔｈに代えて、無線ＬＡＮ方式のアドホックモード（複数の無線ＬＡＮ端末装置がアクセスポイントを介さず、直接データ通信するモード）に準拠する無線通信を用いるようにしてもよい。
【００９４】
第２実施形態を説明する。第２実施形態は、図１に例示される通信システム１において、確定処理の他の例が使用される形態である。設定値記憶領域１２ａには、第１ＭＦＰ５１ないし第３ＭＦＰ５３を順番に選択する際の所定順番が予め記憶されている。第２実施形態では、例として、第１ＭＦＰ５１、第２ＭＦＰ５２、第３ＭＦＰ５３、第１ＭＦＰ５１．．．という所定順番が記憶されている場合を説明する。また、例として、第１ＭＦＰ５１が対象ＭＦＰとして選択される場合を説明する。なお、その他の構成は、第１実施形態の通信システム１と同様であるため、ここでは詳細な説明を省略する。
【００９５】
第２実施形態に係る通信システム１の動作の具体例を、図２ないし図６および図１４のフロー図を用いて説明する。図１４は、携帯電話１０で行われるフローである。図１４の動作フローは、第１実施形態の図５の動作フローに代えて行われるフローである。ここで、図２ないし図４の動作は、第１実施形態と同様であるため、詳細な説明は省略する。図１４のＳ５１５において、ＣＰＵ１１は、「次の順番の新たなＭＦＰを仮選択ＭＦＰとして選択しますか？」の表示を、携帯電話１０のパネル１８に表示させる。ボタン入力部１７のＹＥＳボタンが押下された場合（Ｓ５１５：ＹＥＳ）にはＳ５２１へ進み、ＮＯボタンが押下された場合（Ｓ５１５：ＮＯ）にはＳ５１７へ進む。
【００９６】
Ｓ５１７において、ＣＰＵ１１は、所定時間内に確定処理が行われたか否かを判断する。所定時間は、予め使用者等によって定められ、設定値記憶領域１２ａに記憶されるとしても良い。所定時間内に確定処理が行われなかった場合（Ｓ５１７：ＮＯ）には、Ｓ５２１へ進む。ここで、図１４のＳ５２１ないしＳ５２９の動作内容は、図５のＳ４２１ないしＳ４２９の動作内容と同様であるため、ここでは詳細な説明は省略する。これにより、次の順番のＭＦＰが選択されることがないまま（Ｓ５１５：ＮＯ）、予め定められた所定時間が経過すると（Ｓ５１７：ＮＯ）、次の所定順番を有するＭＦＰが新たな仮選択ＭＦＰとして、自動的に選択される（Ｓ５２９）。
【００９７】
一方、Ｓ５１７において、所定時間内にＯＫボタンが押下され、確定処理が行われた場合（Ｓ５１７：ＹＥＳ）にはＳ５３１へ進む。ここで、図１４のＳ５３１ないしＳ５３９の動作内容は、図５のＳ４３１ないしＳ４３９の動作内容と同様であるため、ここでは詳細な説明は省略する。これにより、ＯＫボタンが押下された時点において仮選択ＭＦＰに選択されているＭＦＰを、対象ＭＦＰとして確定する動作が行われる。
【００９８】
以上より、第２実施形態に係る通信システム１では、第１ＭＦＰ５１、第２ＭＦＰ５２、第３ＭＦＰ５３、第１ＭＦＰ５１．．．という所定順番で、表示灯４５を所定時間ずつ点灯させる。そして、データ通信を所望する第１ＭＦＰ５１の表示灯４５が点灯しているタイミングを見計らって、使用者が携帯電話１０のＯＫボタンを押下することにより、第１ＭＦＰ５１を対象ＭＦＰとして選択することができる。これにより、ＭＦＰを順番に仮選択していく動作が携帯電話１０によって自動的に行なわれるため、選択を所望するＭＦＰの表示灯４５が点灯したタイミングでＯＫボタンを押下することにより、対象ＭＦＰを決定することができる。よって、使用者の利便性を高めることが可能となる。
【００９９】
なお、第２実施形態の動作例では、使用者による仮選択動作が不要である。よって、仮選択のためのフローを省略することが可能である。具体的には、図２のフローにおいて、方向情報の取得（Ｓ１７）を省略することができる。また図３のフローにおいて、相対方向および相対距離の算出（Ｓ１２５）を省略することができる。また図４のフローにおいて、最上位の選択順位２２０を有するＭＦＰを選択するフロー（Ｓ３１１ないしＳ３１５）を省略することができる。
【０１００】
第３実施形態を説明する。第３実施形態は、図１に例示される通信システム１において、サーバ７１を使用した形態である。第１実施形態において携帯電話１０で行われていた処理が、第３実施形態では、サーバと携帯電話１０で分業して行われる。また、サーバ７１の記憶部７３には、記憶テーブルＴＢ１が記憶される。第３実施形態における通信システム１の動作を、図１５ないし図１８のフローチャートを用いて説明する。図１５および図１６は、携帯電話１０で行われるフローである。図１７および図１８は、サーバ７１で行われるフローである。
【０１０１】
携帯電話１０で行われるフローを説明する。図１５のＳ６０９において、携帯電話１０のＣＰＵ１１は、操作部（加速度センサ２６、コンパス部２５、ボタン入力部１７など）が使用者の操作入力を受け付けたか否かを判断する。操作入力を受け付けていない場合（Ｓ６０９：ＮＯ）には、Ｓ６０９へ戻り待機する。一方、操作入力を受け付けた場合（Ｓ６０９：ＹＥＳ）には、Ｓ６１３へ進む。Ｓ６１３においてＣＰＵ１１は、操作入力に関する情報（コンパス部２５が取得した向きを示す情報や、加速度センサ２６が計測した加速度や、カメラ部２７が取得した画像データなど）を、無線通信２００、アクセスポイント６２およびインターネット７０を介して、サーバ７１へ送信する処理を、無線送受信部１５に実行させる。
【０１０２】
Ｓ６１４において、ＣＰＵ１１は、ＡＰＩを用いてコンパス部２５から携帯電話１０の向きを示す情報を取得する。そして方向情報を算出し、記憶部１２に記憶させる。またＣＰＵ１１は、無線通信２００、アクセスポイント６２およびインターネット７０を介して、方向情報をサーバ７１へ送信する処理を、無線送受信部１５に実行させる。
【０１０３】
Ｓ６１５において、ＣＰＵ１１は、第２データの取得および送信を実行する。図１６を用いて、第２データの取得および送信フローの、詳細な内容を説明する。Ｓ７０９においてＣＰＵ１１は、アクセスポイント６２に対し、インフラストラクチャーモードに準拠する無線通信２００を行う。Ｓ７１１において、ＣＰＵ１１は、無線送受信部１５を用いて、無線ＬＡＮ方式のインフラストラクチャーモードに準拠する無線通信２００により、第１データをブロードキャストする。すると、アクセスポイント経由で、第１ＭＦＰ５１ないし第３ＭＦＰ５３が第１データを受信する。Ｓ７１３において、ＣＰＵ１１は、第１ＭＦＰ５１ないし第３ＭＦＰ５３から、第２データの返信を受けたか否かを判断する。具体的には、携帯電話１０の識別情報、ＭＦＰの識別情報（ＩＰアドレス）、返信情報を含んでいるデータを受信したか否かを判断する。第２データを受信した場合（Ｓ７１３：ＹＥＳ）にはＳ７１５へ進み、ＣＰＵ１１は、第２データを記憶テーブルＴＢ１に一時的に記憶させる。
【０１０４】
一方、第２データを受信していない場合（Ｓ７１３：ＮＯ）にはＳ７１７に進み、ＣＰＵ１１は、第２データの返信待ち時間がタイムアウトとなったか否かを判断する。タイムアウトでない場合（Ｓ７１７：ＮＯ）にはＳ７１３へ戻り、タイムアウトである場合（Ｓ７１７：ＹＥＳ）にはＳ７２１へ進む。Ｓ７２１においてＣＰＵ１１は、ＧＰＳ部２４が算出した、携帯電話１０の位置情報を取得する。そして、取得した携帯電話１０の位置情報を、記憶部１２に一時的に記憶させる。Ｓ７２３において、ＣＰＵ１１は、記憶部１２に記憶されている第２データおよび携帯電話の位置情報を、サーバ７１へ送信する処理を、無線送受信部１５に実行させる。そして、第２データの取得フローが終了し、Ｓ６１９（図１５）へ進む。
【０１０５】
Ｓ６１９において、ＣＰＵ１１は、報知実行命令をサーバ７１から受信する。Ｓ６２２において、ＣＰＵ１１は、仮選択のキャンセル動作が使用者によって実行されたか否かを判断する。キャンセル動作が実行された場合（Ｓ６２２：ＹＥＳ）にはＳ６２４へ進み、キャンセル情報をサーバ７１へ送信する処理を、無線送受信部１５に実行させる。一方、キャンセル動作が実行されない場合（Ｓ６２２：ＮＯ）にはＳ６２６へ進み、携帯電話１０で確定処理が実行されたか否かの情報をサーバ７１へ送信する処理を、無線送受信部１５に実行させる。そして、携帯電話１０で行われるフローが終了する。
【０１０６】
サーバ７１で行われるフローを説明する。図１７のＳ６０９ｂにおいて、サーバ７１のＣＰＵ７２は、携帯電話１０から受信した操作入力が、トリガ条件を満たすか否かを判断する。トリガ条件が満たされていない場合（Ｓ６０９ｂ：ＮＯ）にはＳ６０９ｂへ戻り待機し、トリガ条件が満たされた場合（Ｓ６０９ｂ：ＹＥＳ）にはＳ６１０ｂへ進む。Ｓ６１０ｂにおいて、ＣＰＵ７２は、方向情報を携帯電話１０から受信する。
【０１０７】
Ｓ６１５ｂにおいて、ＣＰＵ７２は、相対方向および相対距離の取得フローを実行する。図１８を用いて、相対方向および相対距離の取得フローの詳細な内容を説明する。Ｓ７２１ｂにおいてＣＰＵ７２は、第２データおよび携帯電話１０の位置情報を携帯電話１０から受信し、記憶部７３に一時的に記憶させる。Ｓ７２２ｂにおいてＣＰＵ７２は、第２データから、ＭＦＰのＩＰアドレス２３２およびＭＦＰ位置情報２４０を抽出する。そして、ＭＦＰ位置情報２４０およびＩＰアドレス２３２を、ＭＦＰごとに対応付けて、記憶部７３の記憶テーブルＴＢ１に記憶させる。Ｓ７２５ｂにおいて、ＣＰＵ７２は、相対方向２４１および相対距離２４２を算出する。相対方向２４１および相対距離２４２の算出は、記憶部７３に記憶されている、携帯電話１０の位置情報とＭＦＰ位置情報２４０とに基づいて行われる。算出された相対方向および相対距離は、そのＭＦＰの相対方向２４１および相対距離２４２として、記憶テーブルＴＢ１に一時的に記憶される。
【０１０８】
Ｓ７２７ｂにおいて、ＣＰＵ７２は、第２データを返信してきた全てのＭＦＰについて、相対方向２４１および相対距離２４２を算出したか否かを判断する。算出した場合（Ｓ７２７ｂ：ＹＥＳ）にはフローを終了し、算出していない場合（Ｓ７２７ｂ：ＮＯ）にはＳ７２９ｂへ進む。Ｓ７２９ｂにおいて、ＣＰＵ７２は、相対方向および相対距離を未算出のＭＦＰを選択した上で、Ｓ７２５ｂへ戻る。これにより、第２データを返信してきた全てのＭＦＰについて、相対方向２４１および相対方向２４１距離を取得することができる。
【０１０９】
図１７のフローに戻り、Ｓ６３１ｂにおいて、ＣＰＵ７２は、最上位の選択順位２２０を有するＭＦＰを選択するフローを行う。なお、Ｓ６３１ｂの詳細な内容は、図４におけるＳ３０１ないしＳ３１５と同様であるため、説明を省略する。Ｓ６３３ｂにおいて、ＣＰＵ７２は、選択順位２２０が最上位であると共に、選択候補であることを示すフラグ２４３が記憶されているＭＦＰを、仮選択ＭＦＰとして選択する。Ｓ６３５ｂにおいてＣＰＵ７２は、インターネット７０およびアクセスポイント６２を介して、仮選択ＭＦＰおよび携帯電話１０へ報知実行命令を送信する処理を、通信部７４に実行させる。
【０１１０】
Ｓ６４１ｂにおいて、ＣＰＵ７２は、キャンセル情報を携帯電話１０から受信したか否かを判断する。キャンセル情報を受信した場合にはＳ６４３ｂへ進み、ＣＰＵ７２は、仮選択ＭＦＰへ報知終了命令を送信する処理を、通信部７４に実行させる。一方、キャンセル情報を受信していない場合にはＳ６４５ｂへ進み、携帯電話１０で確定処理が実行されたか否かを判断する。
【０１１１】
確定処理が実行されたと判断された場合（Ｓ６４５：ＹＥＳ）にはＳ６４７ｂへ進み、仮選択ＭＦＰを対象ＭＦＰとして確定し、データ通信を実行する。なお、Ｓ６４７ｂの詳細な内容は、図５におけるＳ４３１ないしＳ４３９と同様であるため、説明を省略する。一方、Ｓ６４５において、確定処理が実行されていないと判断された場合（Ｓ６４５：ＮＯ）にはＳ６５１ｂへ進み、現在の仮選択を解除し、次の新たな仮選択ＭＦＰを選択する。なお、Ｓ６５１ｂの詳細な内容は、図５におけるＳ４２１ないしＳ４２９と同様であるため、説明を省略する。そして、サーバ７１で行われるフローが終了する。
【０１１２】
以上説明したように、第３実施形態の説明例に係る通信システム１では、相対方向および相対距離を取得する処理や、仮選択ＭＦＰを選択する処理や、対象ＭＦＰを特定する処理などの一部を、サーバ７１で行うことができる。よって、携帯電話１０や第１ＭＦＰ５１ないし第３ＭＦＰ５３における、処理の負担を軽減することが可能となる。
【０１１３】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【０１１４】
（変形例）
第３実施形態において、サーバ７１がＭＦＰ位置情報２４０、ＭＦＰ識別情報２３０、携帯電話１０の位置情報などを取得する経路は様々であってよい。第３実施形態では、サーバ７１は、ＭＦＰ位置情報２４０およびＭＦＰ識別情報２３０を含んだ第２データを、携帯電話１０から受信するとしたが、この形態に限られない。例えば、サーバ７１の記憶部７３に、第１ＭＦＰ５１ないし第３ＭＦＰ５３の各々についてのＭＦＰ位置情報２４０が、予め記憶されているとしてもよい。そしてサーバ７１は、携帯電話１０の位置情報のみを携帯電話１０から受信するとしてもよい。この場合、サーバ７１は、携帯電話１０の位置情報とＭＦＰ位置情報２４０とを比較することで、携帯電話１０の周囲に存在するＭＦＰを検索するとすればよい。これにより、サーバ７１に携帯電話１０の位置情報を送信することで、携帯電話１０の周囲に存在するＭＦＰについてのＭＦＰ位置情報２４０および識別情報を、サーバ７１から受け取ることが可能となる。よって、第１ＭＦＰ５１ないし第３ＭＦＰ５３が、ＧＰＳ部４４等の位置測定機器を備える必要がないため、構成を簡略化することが可能となる。
【０１１５】
また、相対方向２４１を決定する方法は、Ｓ１２５の方法に限られない。携帯電話１０がＭＦＰからデータを受信したときの電波の特性に基づいて、相対方向２４１を特定するとしてもよい。具体例としては、携帯電話１０が指向性アンテナを備えることで、電波を発信してくるＭＦＰの相対方向２４１を得る方法が挙げられる。また例えば、携帯電話１０がアンテナを複数備えており、電波の受信タイムラグから、電波を発信してくるＭＦＰの相対方向２４１を得る方法が挙げられる。これにより、携帯電話１０の位置情報やＭＦＰ位置情報２４０が取得できない場合においても、相対方向２４１を取得することが可能となる。
【０１１６】
また、相対距離２４２を決定する方法は、Ｓ１２５の方法に限られない。無線通信の電波強度に基づいて、相対距離２４２を算出するとしてもよい。これにより、携帯電話１０の位置情報やＭＦＰ位置情報２４０が取得できない場合においても、相対距離２４２を取得することが可能となる。
【０１１７】
また携帯電話１０に代えて、ノートパソコンなどの通信機能を有する機器を用いることも可能である。この場合、通信プログラム２８は、ノートパソコンにインストールされている、各種のドライバソフトであってもよい。また、通信システムに接続されるＭＦＰの台数は、３台に限られず、多数存在してもよい。また、アクセスポイント６２と第１ＭＦＰ５１ないし第３ＭＦＰ５３との間の通信は、無線ＬＡＮ方式に限らず、有線ＬＡＮ方式によって行われても良い。
【０１１８】
また、方向情報を入力するための外部入力受付手段は、加速度センサ２６やコンパス部２５に限られない。ボタン入力部１７に備えられている方向キーを用いて、対応する方向のボタンを押下することにより、方向情報を入力するとしてもよい。この場合、キャンセル動作は、対応する方向の逆方向のボタンや、対応する方向の直交方向のボタンを押下することで行われるとしてもよい。また、パネル１８がタッチパネルである場合には、対応する方向に向けてパネル１８上で指先を滑らせることで、方向情報を入力するとしてもよい。この場合、キャンセル動作は、パネル１８上の何れかの位置をタッチすることで行われるとしてもよい。また、携帯電話１０が３Ｄセンサ等を備える場合には、パネル１８にタッチすることなく、指先等の動きによって、方向情報を入力するとしてもよい。この場合、キャンセル動作は、対応する方向の逆方向や、対応する方向の直交方向へ向けて指先を動かすことで行われるとしてもよい。また、携帯電話のマイク部を用いて、音声指示を与えることにより、方向情報を入力するとしてもよい。また、カメラ部２７を用いて、対応する方向に存在するＭＦＣを撮影することにより、方向情報を入力するとしてもよい。この場合、キャンセル動作は、対応する方向と異なる方向へカメラ部２７を向けることで行われるとしてもよい。
【０１１９】
また、対象ＭＦＰの決定方法には、各種の変形例が存在する。例えば、図４のフローにおいて、使用者の前方に存在するＭＦＰが１つだけの場合（Ｓ３０３：１つ）には、Ｓ３０６において当該ＭＦＰを対象ＭＦＰとして決定した上で、Ｓ４３３またはＳ５３３へ進んでもよい。また、使用者の前方に存在するＭＦＰが複数存在する場合（Ｓ３０３：複数）には、Ｓ３０４において、選択対象でないＭＦＰ（使用者の前方に存在しないＭＦＰ）を記憶テーブルＴＢ１から削除するとしてもよい。そして、Ｓ３１４以降の処理においては、記憶テーブルＴＢ１に残っているＭＦＰについてのみ処理が行われるとしてもよい。これにより、フラグ２４３を用いることなく、対象ＭＦＰを決定することが可能となる。
【０１２０】
また、選択順位２２０のソート方法には、各種の変形例が存在する。例えば、Ｓ３１４〜Ｓ３１５（図４）の処理に代えて、除外テーブルＴＢ２に記憶されている（もしくは、使用テーブルＴＢ３に記憶されていない）ＭＦＰの間だけで選択順位（選択順位Ａグループ）を決定し、除外テーブルＴＢ２に記憶されている（もしくは、使用テーブルＴＢ３に記憶されていない）ＭＦＰの間だけで選択順位（選択順位Ｂグループ）を決定する処理を行っても良い。そして、選択順位Ａグループの最低順位の次の順位が、選択順位Ｂグループの最高順位となるように、記憶テーブルＴＢ１に記憶されたＭＦＰの選択順位２２０をソートする処理を行っても良い。
【０１２１】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【０１２２】
ＣＰＵ１１はコンピュータの一例である。通信部の一例は、無線送受信部１５と、ＣＰＵ１１によるＯＳ（Operating System）などの実行によって実現される。第１ＭＦＰ５１ないし第３ＭＦＰ５３は候補装置の一例である。ＭＦＰ識別情報２３０は第１情報の一例である。Ｓ１１５を実行するＣＰＵ１１は、第１記憶制御手段の一例である。Ｓ３０６を実行するＣＰＵ１１は、仮選択手段の一例である。Ｓ３１７に到る処理を実行するＣＰＵ１１は、送信手段の一例である。
操作部の一例は、加速度センサ２６、コンパス部２５などと、ＣＰＵ１１によるＯＳなどの実行によって実現される。Ｓ４３１を実行するＣＰＵ１１は、確定手段の一例である。Ｓ４３７に到る処理を実行するＣＰＵ１１は、通信制御手段、通信制御ステップ、通信手段の一例である。
【０１２３】
ＭＦＰ位置情報２４０は、第２情報の一例である。Ｓ１２１に到る処理を実行するＣＰＵ１１は、第２記憶制御手段の一例である。方向情報Ｖ１は、第３情報の一例である。Ｓ１０に到る処理を実行するＣＰＵ１１は、第３記憶制御手段の一例である。候補装置の位置情報は、第４情報の一例である。キャンセル情報Ｃ１およびＣ２は、第５情報の一例である。
【０１２４】
なお、各プログラムは一つのプログラムモジュールから構成されるものであってもよいし、複数のプログラムモジュールから構成されるものであってもよい。また、各一例は置換可能な他の構成であってもよく、本発明の範疇である。プログラム（通信プログラム２８など）に基づく処理を実行するコンピュータ（ＣＰＵ１１など）であってもよいし、オペレーティングシステムや他のアプリケーションなど、画像処理プログラム以外のプログラムに基づく処理を実行するコンピュータであってもよいし、コンピュータの指示に従って動作するハード構成（パネル１８など）であってもよいし、コンピュータとハード構成とが連動した構成であってもよい。もちろん、複数のプログラムに基づく処理を連動させて処理を実行するコンピュータであってもよいし、複数のプログラムに基づく処理を連動させて処理を実行するコンピュータの指示に従って動作するハード構成であってもよい。
【符号の説明】
【０１２５】
１：通信システム、１０：携帯電話、１１および７２：ＣＰＵ、１２および７３：記憶部、１５：無線送受信部、１７：ボタン入力部、２４：ＧＰＳ部、２５：コンパス部、２６：加速度センサ、２８：通信プログラム、５１：第１ＭＦＰ、５２：第２ＭＦＰ、５３：第３ＭＦＰ、７４：通信部、２３０：ＭＦＰ識別情報、２４０：ＭＦＰ位置情報、ＴＢ１：記憶テーブル
【図１】
0005817196.tif 000002
【図２】
0005817196.tif 000003
【図３】
0005817196.tif 000004
【図４】
0005817196.tif 000005
【図５】
0005817196.tif 000006
【図６】
0005817196.tif 000007
【図７】
0005817196.tif 000008
【図８】
0005817196.tif 000009
【図９】
0005817196.tif 000010
【図１０】
0005817196.tif 000011
【図１１】
0005817196.tif 000012
【図１２】
0005817196.tif 000013
【図１３】
0005817196.tif 000014
【図１４】
0005817196.tif 000015
【図１５】
0005817196.tif 000016
【図１６】
0005817196.tif 000017
【図１７】
0005817196.tif 000018
【図１８】
0005817196.tif 000019
【図１９】
0005817196.tif 000020