(57)【特許請求の範囲】
【請求項１】
端末装置は、制御部と、記憶部と、前記端末装置が所在する位置を示す端末装置位置を取得するための位置取得部と、前記端末装置が指向する方向を示す端末装置方向を取得するための方向取得部と、通信部と、表示部と、操作部とを備え、前記制御部が実行可能な情報処理プログラムにおいて、
前記位置取得部から端末装置位置を取得し、前記方向取得部から端末装置方向を取得する取得手段と、
外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録する第１登録手段と、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段と、
前記第１登録手段により登録された外部装置の識別情報から少なくとも１つの外部装置の識別情報を抽出する手段であって、前記第１登録手段により登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出し、
更に、前記記憶部に登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置を起点とし、前記取得手段により取得された端末装置方向に対して所定誤差内の方向に存在する外部装置位置が関連付けられた外部装置の識別情報を抽出する抽出手段と、
前記抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、前記第１登録手段により端末装置位置および端末装置方向が関連付けられた識別情報か、又は、前記第２登録手段により外部装置位置が関連付けられた識別情報か、に応じて異なる表示態様の選択候補として、前記表示部に表示する第１表示手段と、
前記第１表示手段により前記表示部に表示された選択候補からの選択を、前記操作部を介して受け付ける選択受付手段と、
前記選択受付手段によって選択された選択候補の示す外部装置の識別情報に基づいて外部装置を決定する決定手段として、
前記制御部を機能させることを特徴とする情報処理プログラム。
【請求項２】
端末装置は、制御部と、記憶部と、前記端末装置が所在する位置を示す端末装置位置を取得するための位置取得部と、前記端末装置が指向する方向を示す端末装置方向を取得するための方向取得部と、通信部と、表示部と、操作部とを備え、前記制御部が実行可能な情報処理プログラムにおいて、
前記位置取得部から端末装置位置を取得し、前記方向取得部から端末装置方向を取得する取得手段と、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段と、
外部装置の識別情報に対して前記第２登録手段によって外部装置位置が関連付けられていないことを条件として、該外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録する第１登録手段と、
前記第１登録手段により登録された外部装置の識別情報から少なくとも１つの外部装置の識別情報を抽出する手段であって、前記第１登録手段により登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出し、
更に、前記記憶部に登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置を起点とし、前記取得手段により取得された端末装置方向に対して所定誤差内の方向に存在する外部装置位置が関連付けられた外部装置の識別情報を抽出する抽出手段と、
前記抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、前記第１登録手段により端末装置位置および端末装置方向が関連付けられた識別情報か、又は、前記第２登録手段により外部装置位置が関連付けられた識別情報か、に応じて異なる表示態様の選択候補として、前記表示部に表示する第１表示手段と、
前記第１表示手段により前記表示部に表示された選択候補からの選択を、前記操作部を介して受け付ける選択受付手段と、
前記選択受付手段によって選択された選択候補の示す外部装置の識別情報に基づいて外部装置を決定する決定手段として、
前記制御部を機能させることを特徴とする情報処理プログラム。
【請求項３】
端末装置は、制御部と、記憶部と、前記端末装置が所在する位置を示す端末装置位置を取得するための位置取得部と、前記端末装置が指向する方向を示す端末装置方向を取得するための方向取得部と、表示部と、を備え、前記制御部が実行可能な情報処理プログラムにおいて、
前記位置取得部から端末装置位置を取得し、前記方向取得部から端末装置方向を取得する取得手段と、
外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録する第１登録手段と、
前記第１登録手段により登録された外部装置の識別情報から少なくとも１つの外部装置の識別情報を抽出する手段であって、前記第１登録手段により登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出する抽出手段と、
前記抽出手段により抽出された外部装置の識別情報に基づいて外部装置を決定する決定手段と、
前記決定手段により決定された外部装置の利用に関するパラメータを表示する設定画面を、前記表示部に表示する第２表示手段として、
前記制御部を機能させ、
前記抽出手段は、前記第２表示手段により前記設定画面が表示されていないことを条件として、所定のタイミング毎に、前記取得手段により取得される端末装置位置および端末装置方向に基づいて、前記記憶部に登録された外部装置の識別情報を抽出することを特徴とする情報処理プログラム。
【請求項４】
前記第１登録手段は、外部装置に対する所定の処理の実行指示が前記制御部に入力された場合に、該外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録することを特徴とする請求項１から３のいずれかに記載の情報処理プログラム。
【請求項５】
前記抽出手段は、前記制御部が外部装置に対する所定の処理を実行する場合に、前記取得手段により取得された端末装置位置および端末装置方向に基づいて、前記記憶部に登録された外部装置の識別情報を抽出することを特徴とする請求項１から４のいずれかに記載の情報処理プログラム。
【請求項６】
前記端末装置は通信部を備え、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段として前記制御部を機能させ、
前記抽出手段は、前記記憶部に登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置を起点とし、前記取得手段により取得された端末装置方向に対して所定誤差内の方向に存在する外部装置位置が関連付けられた外部装置の識別情報を抽出することを特徴とする請求項１から５のいずれかに記載の情報処理プログラム。
【請求項７】
前記端末装置は通信部を備え、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段として前記制御部を機能させ、
前記第１登録手段は、外部装置の識別情報に対して前記第２登録手段によって外部装置位置が関連付けられていないことを条件として、該外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録することを特徴とする請求項１から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記端末装置は表示部と操作部とを備え、
前記抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、選択候補として前記表示部に表示する第１表示手段と、
前記第１表示手段により前記表示部に表示された選択候補からの選択を、前記操作部を介して受け付ける選択受付手段と、
として前記制御部を機能させ、
前記決定手段は、前記選択受付手段によって選択された選択候補の示す外部装置の識別情報に基づいて、外部装置を決定することを特徴とする請求項１から７のいずれかに記載の情報処理プログラム。
【請求項９】
前記端末装置は通信部と表示部と操作部とを備え、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段と、
前記抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、前記第１登録手段により端末装置位置および端末装置方向が関連付けられた識別情報か、又は、前記第２登録手段により外部装置位置が関連付けられた識別情報か、に応じて異なる表示態様の選択候補として、前記表示部に表示する第１表示手段と、
前記第１表示手段により前記表示部に表示された選択候補からの選択を、前記操作部を介して受け付ける選択受付手段と、
として前記制御部を機能させ、
前記決定手段は、前記選択受付手段によって選択された選択候補の示す外部装置の識別情報に基づいて、外部装置を決定することを特徴とする請求項６又は７に記載の情報処理プログラム。
【請求項１０】
前記第１登録手段は、外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向と、該外部装置の利用に関するパラメータとを関連付けて、前記記憶部に登録し、
前記抽出手段は、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出するとともに、該抽出された外部装置の識別情報に関連付けられたパラメータを抽出することを特徴とする請求項１から９のいずれかに記載の情報処理プログラム。
【請求項１１】
前記決定手段により外部装置が決定された場合に、該決定された外部装置の利用に関するパラメータの変更を受け付ける変更受付手段と、
前記変更受付手段によりパラメータの変更が受け付けられた場合に、前記決定手段により決定された外部装置の識別情報に関連付けて前記記憶部に登録されているパラメータを、前記変更受付手段により受け付けられた変更後のパラメータに更新する更新手段と、
として前記制御部を機能させることを特徴とする請求項１０記載の情報処理プログラム。
【請求項１２】
前記抽出手段は、前記決定手段により決定された外部装置に対する所定の処理の実行指示が前記制御部に入力されるまで、所定のタイミング毎に、前記取得手段により取得される端末装置位置及び端末装置方向に基づいて、前記記憶部に登録された外部装置の識別情報を抽出することを特徴とする請求項１から１１のいずれかに記載の情報処理プログラム。
【請求項１３】
前記端末装置は表示部を備え、
前記決定手段により決定された外部装置の利用に関するパラメータを表示する設定画面を、前記表示部に表示する第２表示手段として前記制御部を機能させ、
前記抽出手段は、前記第２表示手段により前記設定画面が表示されていないことを条件として、前記所定のタイミング毎に、前記取得手段により取得される端末装置位置および端末装置方向に基づいて、前記記憶部に登録された外部装置の識別情報を抽出することを特徴とする請求項１２記載の情報処理プログラム。
【請求項１４】
制御部と、記憶部と、を備える端末装置において、
前記端末装置が所在する位置を示す端末装置位置を取得するための位置取得部と、前記端末装置が指向する方向を示す端末装置方向を取得するための方向取得部と、通信部と、表示部と、操作部とを備え、
前記制御部は、
前記位置取得部から端末装置位置を取得し、前記方向取得部から端末装置方向を取得する取得手段と、
前記通信部を介して、外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、前記記憶部に登録する第２登録手段と、
外部装置の識別情報に対して前記第２登録手段によって外部装置位置が関連付けられていないことを条件として、該外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録する第１登録手段と、
前記第１登録手段により登録された外部装置の識別情報から少なくとも１つの外部装置の識別情報を抽出する手段であって、前記第１登録手段により登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向とに、関連付けられた外部装置の識別情報を抽出し、
更に、前記記憶部に登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置を起点とし、前記取得手段により取得された端末装置方向に対して所定誤差内の方向に存在する外部装置位置が関連付けられた外部装置の識別情報を抽出する抽出手段と、
前記抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、前記第１登録手段により端末装置位置および端末装置方向が関連付けられた識別情報か、又は、前記第２登録手段により外部装置位置が関連付けられた識別情報か、に応じて異なる表示態様の選択候補として、前記表示部に表示する第１表示手段と、
前記第１表示手段により前記表示部に表示された選択候補からの選択を、前記操作部を介して受け付ける選択受付手段と、
前記選択受付手段によって選択された選択候補の示す外部装置を決定する決定手段と、
を備えることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラムおよび端末装置に関する。
【背景技術】
【０００２】
特許文献１には、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に複数の多機能周辺装置（外部装置）が接続された環境において、同ＬＡＮに接続可能な携帯電話機（端末装置）では、画面に表示される装置選択画面に対する選択操作によって、利用する多機能周辺装置を選択することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１８５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の技術では、利用する多機能周辺装置を選択する操作が必要であり、手間がかかっていた。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、利用対象とする外部装置の選択にかかる手間を軽減し得る情報処理プログラムおよび端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するためになされた情報処理プログラムは、端末装置が、制御部と、記憶部と、端末装置が所在する位置を示す端末装置位置を取得するための位置取得部と、前記端末装置が指向する方向を示す端末装置方向を取得するための方向取得部と、を備えており、前記制御部が実行可能なものであって、前記位置取得部から端末装置位置を取得し、前記方向取得部から端末装置方向を取得する取得手段と、外部装置の識別情報と、前記取得手段により取得された端末装置位置および端末装置方向とを関連付けて、前記記憶部に登録する第１登録手段と、前記第１登録手段により登録された外部装置の識別情報から少なくとも１つの外部装置の識別情報を抽出する手段であって、前記第１登録手段により登録された外部装置の識別情報のうち、前記取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、前記取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出する抽出手段と、前記抽出手段により抽出された外部装置の識別情報に基づいて外部装置を決定する決定手段と、として前記制御部を機能させる。
【０００７】
また、本発明は、情報処理プログラムに従う制御を実行する制御装置、当該制御装置を備える端末装置、機能実行システム、機能実行方法、情報処理プログラムを記録する記録媒体等の種々の態様で構成できる。
【発明の効果】
【０００８】
本明細書に開示される情報処理プログラムによれば、位置取得部からは端末装置の位置を示す端末装置位置が、方向取得部からは端末装置の方向を示す端末装置方向が、取得手段により夫々取得される。外部装置の識別情報と、端末装置位置および端末装置方向と、が関連付けられて第１登録手段により記憶部に登録される。記憶部に登録された外部装置の識別情報のうち、取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた少なくとも１つの外部装置の識別情報が抽出手段により抽出される。抽出された外部装置の識別情報に基づいて外部装置が決定手段により決定される。よって、端末装置の位置および方向に基づいて外部装置が決定されるので、利用対象の外部装置を選択する手間を軽減できる。
【０００９】
また、第１登録手段は、外部装置に対する所定の処理の実行指示が制御部に入力された場合に、該外部装置の識別情報と、取得手段により取得された端末装置位置および端末装置方向とを関連付けて、記憶部に登録するようにしてもよい。これにより、外部装置の識別情報に対し、所定の処理の実行指示が制御部に入力された場合の端末装置位置および端末装置方向を関連付けることができる。
【００１０】
また、抽出手段は、制御部が外部装置に対する所定の処理を実行する場合に、取得手段により取得された端末装置位置および端末装置方向に基づいて、記憶部に登録された外部装置の識別情報を抽出するようにしてもよい。これにより、制御部が外部装置に対する所定の処理を実行する場合の端末装置位置および端末装置方向に基づいて、外部装置を決定できる。
【００１１】
また、端末装置が備える通信部を介して外部装置が設置された位置を示す外部装置位置を受信した場合に、該外部装置の識別情報に対し、該外部装置位置を関連付けて、第２登録手段により記憶部に登録し、抽出手段は、記憶部に登録された外部装置の識別情報のうち、取得手段により取得される端末装置位置を起点とし、取得手段により取得される端末装置方向に対して所定誤差内の方向に存在する外部装置位置が関連付けられた外部装置の識別情報を抽出するようにしてもよい。これにより、任意の位置において端末装置を所望の外部装置へと向ければ、該外部装置を利用対象に決定できる。
【００１２】
また、第１登録手段は、外部装置の識別情報に対して、外部装置位置が関連付けられていないことを条件として、該外部装置の識別情報と、端末装置位置および端末装置方向とを関連付けて、記憶部に登録するようにしてもよい。これにより、外部装置位置により位置を特定できる外部装置に関しては、端末装置位置および端末装置方向を取得する処理を省略できる。
【００１３】
また、抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、選択候補として第１表示手段により表示部に表示し、表示された選択候補からの選択を、選択受付手段によって受け付け、決定手段は、選択受付手段により選択された選択候補の示す外部装置の識別情報に基づいて、外部装置を決定するようにしてもよい。これにより、端末装置位置および端末装置方向に基づいて抽出される外部装置の識別情報が複数ある場合に、適切な外部装置を選択できる。
【００１４】
また、抽出手段により外部装置の識別情報が複数抽出された場合に、該抽出された外部装置の識別情報の各々を、第１登録手段により端末装置位置および端末装置方向が関連付けられた識別情報か、又は、第２登録手段により外部装置位置が関連付けられた識別情報か、に応じて異なる表示態様の選択候補として、第１表示手段により表示部に表示し、表示された選択候補からの選択を、選択受付手段によって受け付け、決定手段は、選択受付手段により選択された選択候補の示す外部装置の識別情報に基づいて、外部装置を決定するようにしてもよい。これにより、端末装置位置および端末装置方向に基づいて抽出される外部装置の識別情報が複数ある場合に、端末装置とのいずれの位置関係に基づいて候補に挙げられた外部装置かを考慮して、外部装置を選択できる。
【００１５】
また、第１登録手段は、外部装置の識別情報と、取得手段により取得された端末装置位置および端末装置方向と、該外部装置の利用に関するパラメータとを関連付けて、記憶部に登録し、抽出手段は、取得手段により取得された端末装置位置からの距離が所定範囲内である端末装置位置と、取得手段により取得された端末装置方向との差異が所定範囲内である端末装置方向と、が関連付けられた外部装置の識別情報を抽出するとともに、該抽出された外部装置の識別情報に関連付けられたパラメータを抽出するようにしてもよい。これにより、端末装置の位置および方向に基づいて外部装置を決定するとともに、該外部装置の利用に関するパラメータを取得できる。
【００１６】
また、決定手段により外部装置が決定された場合に、該決定された外部装置の利用に関するパラメータの変更を変更受付手段により受け付け、変更受付手段によりパラメータの変更が受け付けられた場合に、決定手段により決定された外部装置の識別情報に関連付けて記憶部に登録されているパラメータを、変更後のパラメータに更新手段によって更新してもよい。これにより、記憶部に登録されたパラメータを最新のものとできる。
【００１７】
また、抽出手段は、決定手段により決定された外部装置に対する所定の処理の実行指示が制御部に入力されるまで、所定のタイミング毎に、取得手段により取得される端末装置位置および端末装置方向に基づいて、記憶部に登録された外部装置の識別情報を抽出するようにしてもよい。これにより、端末装置の移動または方向変化によって、外部装置の識別情報の抽出結果を変化させることができる。
【００１８】
また、決定手段により決定された外部装置の利用に関するパラメータを表示する設定画面を、第２表示手段により表示部に表示し、抽出手段は、設定画面が表示されていないことを条件として、所定のタイミング毎に、取得手段により取得される端末装置位置および端末装置方向に基づいて、記憶部に登録された外部装置の識別情報を抽出するようにしてもよい。これにより、設定画面に関する操作中に、外部装置の識別情報の抽出結果が意図せず変化することを抑制できる。
【００１９】
また、本明細書に開示される端末装置によれば、上述した情報処理プログラムと同様の効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】印刷アプリを実行する端末におけるプリンタの選択方法の説明図である。
【図２】端末およびプリンタの電気的構成を示すブロック図である。
【図３】プリンタ情報およびプリンタテーブルの説明図である。
【図４】端末のＬＣＤに表示される画面の模式図である。
【図５】登録処理のフローチャートである。
【図６】自動選択処理のフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一例である印刷アプリによるプリンタの選択方法の説明図である。本実施形態の印刷アプリを実行する端末１０は、端末１０の指向先に存在するプリンタを、画像データの印刷に利用するプリンタとして選択する。
【００２２】
図１には、端末１０と、プリンタ４０ａと、プリンタ４０ｂと、の位置関係をＸ−Ｙ座標面において示す。プリンタ４０ａは（Ｘ３，Ｙ３）の位置に、プリンタ４０ｂは（Ｘ４，Ｙ４）の位置に、各々設置されている。
【００２３】
印刷アプリを実行する端末１０では、（Ｘ１，Ｙ１）においてＤ１の方向を向く場合、指向先である（Ｘ３，Ｙ３）に位置するプリンタ４０ａを選択する。一方、端末１０は（Ｘ２，Ｙ２）においてＤ１の方向を向く場合、指向先である（Ｘ４，Ｙ４）に位置するプリンタ４０ｂを選択する。よって、Ｄ１を向いたまま（Ｘ１，Ｙ１）から（Ｘ２，Ｙ２）へと移動した場合、端末１０は、プリンタ４０ａからプリンタ４０ｂを選択し直す。（Ｘ２，Ｙ２）においてＤ２の方向を向いた場合、端末１０は再び（Ｘ３，Ｙ３）を指向することとなるので、プリンタ４０ａを印刷に利用するプリンタとして選択する。
【００２４】
以上の通り、印刷アプリを実行する端末１０では、端末１０の指向先に存在するプリンタが選択される。よって、本実施形態の印刷アプリによれば、端末１０を移動させる、又は、端末１０の方向を変えることにより、画像データの印刷に利用するプリンタを選択できるので、プリンタ選択の手間を軽減できる。
【００２５】
図２は、ＬＡＮ３０を介して相互に接続された端末１０、プリンタ４０ａ、プリンタ４０ｂの電気的構成を示すブロック図である。端末１０はスマートフォン等の携帯端末として構成される。端末１０は、バスライン２３を介して相互に接続されたＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、タッチパネル１７、音声入出力部１８、電話網通信部１９、位置計測部２０、方向計測部２１および無線ＬＡＮアダプタ２２を有する。
【００２６】
ＣＰＵ１１は、フラッシュメモリ１２等に格納されたプログラムや固定値等に従い、バスライン２３に接続された各構成を制御する。フラッシュメモリ１２は、書換可能な不揮発性のメモリであり、オペレーティングシステム（以下「ＯＳ」と称す）、印刷アプリ等のプログラムや、図３（ｂ）に示すプリンタテーブル１２ｃ等が格納される。
【００２７】
ＯＳは、端末１０の基本機能を実現する基本ソフトウェアである。本実施形態では、ＯＳはアンドロイド（登録商標）である。なお、以下では、ＯＳやアプリ等のプログラムを実行するＣＰＵ１１のことを、単にプログラム名で記載する場合もある。例えば「アプリ」という記載が「アプリを実行するＣＰＵ１１」を意味する場合もある。各種アプリ（印刷アプリを含む）は、ＯＳが備えるＡＰＩを利用して、端末１０の各構成を制御する。印刷アプリは、前述した通り、印刷に利用するプリンタとして、端末１０の指向先に存在するプリンタを選択する機能を有するアプリである。
【００２８】
プリンタテーブル１２ｃは、詳しくは図３（ｂ）を参照して後述するが、プリンタの名前およびＩＰアドレスが、端末１０の位置および方向、又は、プリンタが設置された位置に関連付けられて登録されるテーブルである。プリンタテーブル１２ｃの内容は、後述する登録処理（図５）において登録され、後述する自動選択処理（図６）において参照される。
【００２９】
ＲＡＭ１３は、ＣＰＵ１１が印刷アプリ等を実行するにあたり、各種情報を一時的に記憶する書換可能な揮発性のメモリである。ＲＡＭ１３には、適用印刷設定と、選択番号と、の記憶領域が設けられる。適用印刷設定は、印刷実行時にプリンタに適用するために記憶される印刷設定（用紙、枚数、品質等）である。選択番号は、後述する自動選択処理（図６）において、プリンタテーブル１２ｃの内容に基づいて選択されたプリンタを管理するために記憶される番号である。
【００３０】
ＬＣＤ１６は、各種画面を表示する液晶表示装置である。タッチパネル１７はＬＣＤ１６に重ねて設けられ、端末１０に対する指示等の入力として、指や棒などである指示体の接触または接近を検知するものである。操作キー１５は、端末１０に指示等を入力するためのメカニカルキーであり、例えば、ＬＣＤ１６の表示を以前の状態へと切り替える指示として「バック操作」を行うためのキー等である。
【００３１】
位置計測部２０は、ＧＰＳ（全地球測位システム）を利用して、端末１０の位置を取得するものである。本実施形態において「位置」は、経度と緯度とで構成される。以下、位置を（Ｘ，Ｙ）と表記した場合には、経度がＸであり、緯度がＹであることを示す。方向計測部２１は、地磁気センサで構成され、その地磁気センサが計測する地磁気に基づいて、端末１０が指向する方向（方位）を取得するものである。本実施形態において「方向」は、北を０°とする時計回りの角度で構成される。
【００３２】
音声入出力部１８は、マイクやスピーカ等で構成された音声入出力用のデバイスである。電話網通信部１９は、携帯電話網（図示せず）を介した通信を行うための回路である。無線ＬＡＮアダプタ２２は、無線ＬＡＮ規格による通信を行うためのインターフェースである。本実施形態において、無線ＬＡＮアダプタ２２が行う通信は、Ｗｉ−Ｆｉ（登録商標）規格に基づく通信（以下「Ｗｉ−Ｆｉ通信」と称す）である。無線ＬＡＮアダプタ２２は、Ｗｉ−Ｆｉ通信によりアクセスポイント（以下「ＡＰ」と称す）３１と接続され、更に、ＡＰ３１を介してＬＡＮ３０へと接続される。
【００３３】
ＬＡＮ３０には、プリンタ４０ａ及びプリンタ４０ｂが接続されている。なお、これはプリンタの台数を２台に制限する趣旨ではなく、本発明の適用においては、ＬＡＮ３０に接続されるプリンタは何台であってもよい。
【００３４】
プリンタ４０ａは、バスライン４６を介して相互に接続された制御部４１と、記憶部４４と、ネットワークインターフェース（以下「ネットワークＩ／Ｆ」と称す）４５と、を備える。制御部４１は、不図示のＣＰＵと、ＣＰＵに電気的に接続されたＲＯＭ及びＲＡＭと、によりコンピュータを構成し、プリンタ４０ａの動作を制御する。例えば、制御部４１は、ＬＡＮ３０からネットワークＩ／Ｆ４５を介して受信した印刷の指示に基づいて、各種の印刷を実行する。また、制御部４１は、図３（ａ）を参照して後述するプリンタ情報９０を、ＬＡＮ３０に接続された他の装置に送信する。記憶部４４は、不揮発性の記憶装置であり、例えば、フラッシュメモリで構成される。ネットワークＩ／Ｆ４５は、プリンタ４０ａをＬＡＮ３０に接続するためのインターフェースである。
【００３５】
プリンタ４０ｂは、記憶部４４に設置位置が記憶される以外は、プリンタ４０ａと同様に構成される。設置位置とは、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報の一種であり、プリンタ４０ｂが設置された位置を示す。設置位置は、前述した位置計測部２０から取得した端末１０の位置と同様、経度と緯度とで構成される。
【００３６】
図３（ａ）は、プリンタ４０ａ又はプリンタ４０ｂの制御部４１が送信するプリンタ情報９０の説明図である。詳細には、図３（ａ）は、プリンタ４０ａの制御部４１が送信するプリンタ情報９０ａと、プリンタ４０ｂの制御部４１が送信するプリンタ情報９０ｂと、の説明図である。
【００３７】
プリンタ情報９０ａは、プリンタ名９１及びＩＰアドレス９２で構成される。プリンタ名９１は、プリンタを識別する名前である。ＩＰアドレス９２は、プリンタをＬＡＮ３０上で識別するアドレスである。プリンタ名９１及びＩＰアドレス９２には記憶部４４等に記憶されている値が制御部４１によって設定される。
【００３８】
プリンタ情報９０ｂは、プリンタ情報９０ａの構成に加え、設置位置９３を有する。設置位置９３は、プリンタ４０ｂの設置された位置であり、記憶部４４に記憶された設置位置が制御部４１によって設定される。即ち、設置位置を有するプリンタ４０ｂから送信されるプリンタ情報９０ｂは設置位置９３を有するが、設置位置を有さないプリンタ４０ａから送信されるプリンタ情報９０ａは設置位置９３を有さない。
【００３９】
図３（ｂ）は、フラッシュメモリ１２に設けられるプリンタテーブル１２ｃの説明図である。プリンタテーブル１２ｃは、プリンタの名前およびＩＰアドレスが、端末１０の位置および方向、又は、プリンタの設置された位置、に関連付けられて登録されるテーブルである。なお、図３（ｂ）における「−」との表記は、その項目に値が設定されていないことを示す。
【００４０】
プリンタテーブル１２ｃは、レコード番号１２ｃ１と、プリンタ名１２ｃ２と、ＩＰアドレス１２ｃ３と、端末位置１２ｃ４と、端末方向１２ｃ５と、プリンタ位置１２ｃ６と、印刷設定１２ｃ７と、を関連付けたレコードで構成される。プリンタテーブル１２ｃのレコードは、図５を参照して後述する登録処理において、プリンタ４０ａ又は４０ｂから受信したプリンタ情報９０（プリンタ情報９０ａ又は９０ｂ）に基づいて登録される。
【００４１】
レコード番号１２ｃ１は、各レコードを識別するためのものであり、レコード毎に一意な自然数が設定される。プリンタ名１２ｃ２は、プリンタを識別する名前であり、プリンタ情報９０のプリンタ名９１が設定される。ＩＰアドレス１２ｃ３は、ＬＡＮ３０内でプリンタを識別するアドレスであり、プリンタ情報９０のＩＰアドレス９２が設定される。
【００４２】
端末位置１２ｃ４及び端末方向１２ｃ５は夫々、端末１０の位置および方向が設定される。プリンタ位置１２ｃ６は、プリンタの設置された位置が設定される。詳しくは図５を参照して後述するが、設置位置９３を有するプリンタ情報９０ｂを受信した場合、プリンタ位置１２ｃ６に、該設置位置９３が設定される。一方、設置位置９３を有さないプリンタ情報９０ａを受信した場合、端末位置１２ｃ４及び端末方向１２ｃ５に、端末１０の位置および方向が設定される。
【００４３】
印刷設定１２ｃ７は、プリンタに適用する印刷設定（用紙、枚数、品質等）であり、印刷アプリの仕様として定められた初期値（以下「デフォルトの印刷設定」と称す）又は、図４（ａ）を参照して後述する設定画面２００において変更された値が設定される。
【００４４】
図３（ｂ）に例示するプリンタテーブル１２ｃの各レコードは、図１に示す位置関係において、プリンタ４０ａ及び４０ｂについて登録されたものである。レコード番号１２ｃ１が「１」又は「２」であるレコードは、プリンタ４０ａについて登録されたものである。設置位置を有さないプリンタ４０ａについては、異なる端末位置１２ｃ４及び端末方向１２ｃ５が設定された複数（２件）のレコードが登録される。
【００４５】
一方、レコード番号１２ｃ１が「３」であるレコードは、プリンタ４０ｂについて登録されたものである。設置位置を有するプリンタ４０ｂについては、端末位置１２ｃ４及び端末方向１２ｃ５が設定されず、プリンタ位置１２ｃ６が設定された１件のレコードが登録される。詳細は図５を参照して後述するが、プリンタ位置１２ｃ６が設定された場合には、端末位置１２ｃ４及び端末方向１２ｃ５を設定しないことで、記憶領域を節約している。
【００４６】
図４は、印刷アプリによりＬＣＤ１６に表示される画面の模式図である。図４（ａ）に示す設定画面２００は、印刷アプリの初期画面であって、プリンタの選択方法や印刷設定を入力するための画面である。設定画面２００は、プリンタの選択方法を指示するボタンとして、手動検索ボタン２０１と、自動選択ボタン２０２と、を有する。
【００４７】
手動検索ボタン２０１は、手動の選択操作によってプリンタを選択する場合にタップ操作される。手動検索ボタン２０１がタップ操作された場合、ＣＰＵ１１は後述する登録処理（図５）を実行する。自動選択ボタン２０２は、端末１０の位置および方向に基づいてプリンタを選択する場合にタップ操作される。自動選択ボタン２０２がタップ操作された場合、ＣＰＵ１１は後述する自動選択処理（図６）を実行する。
【００４８】
設定画面２００は他にも、用紙、枚数および画質の項目で構成される印刷設定編集部２０３を有する。印刷設定編集部２０３は、ＲＡＭ１３に適用印刷設定として記憶されている印刷設定の内容を、タッチパネル１７を介した操作により変更するための表示領域である。
【００４９】
図４（ｂ）〜（ｄ）に示す画面は、プレビュー画面３００である。プレビュー画面３００は、印刷対象として指定された画像データ（以下「指定画像データ」と称す）を表示するとともに、印刷実行の指示を受け付けるための画面である。図４（ｂ）〜（ｄ）には夫々、プレビュー画面３００の異なる表示態様を示す。まず、図４（ｂ）を参照して、各表示態様に共通の構成を説明する。プレビュー画面３００は、画像表示部３０１と、設定ボタン３０３と、印刷ボタン３０４と、を有する。画像表示部３０１は、指定画像データが表示される領域である。設定ボタン３０３は、上述した図４（ａ）の設定画面２００をＬＣＤ１６に表示させる場合にタップ操作されるボタンである。印刷ボタン３０４は、プリンタに指定画像データを印刷させる場合にタップ操作されるボタンである。設定ボタン３０３及び印刷ボタン３０４のタップ操作に関する制御については、図５及び図６を参照して後述する。
【００５０】
続いて、図４（ｂ）〜（ｄ）の夫々に示すプレビュー画面３００について説明する。図４（ｂ）には、手動検索ボタン２０１のタップ操作によって登録処理（図５）が実行され、手動の選択操作によりプリンタが選択された場合におけるプレビュー画面３００の表示態様を示す。この表示態様のプレビュー画面３００では、選択されたプリンタの名前がプリンタ名表示部３０２に表示される。
【００５１】
これに対し、図４（ｃ）及び（ｄ）には、自動選択ボタン２０２のタップ操作により自動選択処理（図６）が実行される場合、即ち、端末１０の位置および方向に基づいてプリンタを選択する場合におけるプレビュー画面３００の表示態様を示す。この表示態様のプレビュー画面３００には、前述したプリンタ名表示部３０２の代わりに、プリンタ候補リスト３０５が表示される。プリンタ候補リスト３０５は、プリンタの名前が選択候補として表示されるプリンタ名リスト３０５ａと、選択操作を受け付けるラジオボタン３０５ｂとで構成される。端末１０の指向先に存在するプリンタが１つであれば、図４（ｃ）のように、１つのプリンタの名前のみが表示され、ラジオボタン３０５ｂに対する選択操作は不要とされる。一方、端末１０の指向先に複数のプリンタが存在する場合は、図４（ｄ）のように、プリンタ名リスト３０５ａに複数のプリンタの名前が表示され、ラジオボタン３０５ｂに対する選択操作によって所望のプリンタを選択できる。
【００５２】
図５は、ＣＰＵ１１が印刷アプリに従って実行する登録処理のフローチャートである。詳細には、図５は、手動の選択操作に基づいて選択されたプリンタに指定画像データを印刷させるとともに、プリンタから受信したプリンタ情報９０の内容をプリンタテーブル１２ｃに登録する登録処理のフローチャートである。本処理は、前述した手動検索ボタン２０１（図４（ａ））がタップ操作された場合に、ＣＰＵ１１によって実行される。
【００５３】
ＣＰＵ１１は、プリンタ情報９０の送信要求をＬＡＮ３０内にブロードキャストし、該送信要求に応じてプリンタ４０ａ及び４０ｂから送信されるプリンタ情報９０を受信する（Ｓ１０１）。なお、プリンタ情報９０としては必ずしも１つのデータ単位として送受信する必要はなく、個別に送受信される複数の情報からプリンタ情報９０と同等の情報を構成してもよい。Ｓ１０１においてＣＰＵ１１は、以降の処理においてプリンタ情報９０を利用するために、受信したプリンタ情報９０をＲＡＭ１３に記憶させる。
【００５４】
ＣＰＵ１１は、受信したプリンタ情報９０の１つを処理対象とし（Ｓ１０２）、該プリンタ情報９０が設置位置９３を有するか否かを判断する（Ｓ１０３）。例えば、ＣＰＵ１１は、プリンタ情報９０ａを処理対象としている場合は、設置位置９３を有さないと判断し、プリンタ情報９０ｂを処理対象としている場合は、設置位置９３を有すると判断する。ＣＰＵ１１は、処理対象としたプリンタ情報９０が設置位置９３を有すると判断した場合（Ｓ１０３：Ｙｅｓ）、処理対象としたプリンタ情報９０はプリンタ情報９０ｂであるので、該プリンタ情報９０ｂのプリンタ名９１及びＩＰアドレス９２に対し、設置位置９３を関連付けてプリンタテーブル１２ｃに登録する（Ｓ１０４）。詳細には、ＣＰＵ１１は、レコード番号１２ｃ１に既存のレコード番号１２ｃ１の最大値＋１を設定する。ＣＰＵ１１は、プリンタ名１２ｃ２、ＩＰアドレス１２ｃ３、プリンタ位置１２ｃ６の各々にプリンタ情報９０ｂのプリンタ名９１、ＩＰアドレス９２、設置位置９３を設定する。ＣＰＵ１１は、印刷設定１２ｃ７にデフォルトの印刷設定を設定する。
【００５５】
但し、Ｓ１０４においてＣＰＵ１１は、プリンタテーブル１２ｃの既存のレコードに、プリンタ名１２ｃ２がプリンタ名９１と同一であり、且つ、端末位置１２ｃ４及び端末方向１２ｃ５が設定されたレコードが存在する場合、該レコードを削除してから新たなレコードを登録する。これにより、プリンタテーブル１２ｃには、プリンタ毎に、端末位置１２ｃ４及び端末方向１２ｃ５が設定されたレコード、又は、プリンタ位置１２ｃ６が設定されたレコードのいずれか一方が登録されるので、記憶容量を節約できる。
【００５６】
また、Ｓ１０４においてＣＰＵ１１は、プリンタテーブル１２ｃにプリンタ名９１と同一のプリンタ名１２ｃ２が設定されたレコードが存在する場合、当該レコードのプリンタ位置１２ｃ６を設置位置９３に更新し、新たなレコードは登録しない。即ち、既にプリンタテーブル１２ｃに登録されているプリンタ４０ｂについては、ＣＰＵ１１は、該プリンタ４０ｂについてのレコードのプリンタ位置１２ｃ６の更新のみ行う。これにより、プリンタ４０ｂの位置が変わった場合にも、プリンタ位置１２ｃ６を最新の位置とすることができる。
【００５７】
Ｓ１０３において、ＣＰＵ１１は、処理対象のプリンタ情報９０は設置位置９３を有さないと判断した場合（Ｓ１０３：Ｎｏ）、即ち、処理対象としたプリンタ情報９０がプリンタ情報９０ａである場合、Ｓ１０４をスキップする。ＣＰＵ１１は、Ｓ１０１で受信したプリンタ情報９０に未処理のものが残っていれば（Ｓ１０５：Ｙｅｓ）、Ｓ１０２へと移行し、次のプリンタ情報９０を処理対象としてＳ１０３，Ｓ１０４を同様に行う。
【００５８】
Ｓ１０５において、ＣＰＵ１１は、未処理のプリンタ情報９０は無いと判断した場合（Ｓ１０５：Ｎｏ）、プリンタ情報９０の内容（例えばプリンタ名９１）をＬＣＤ１６にリスト表示し、タッチパネル１７を介してプリンタ情報９０の選択を受け付ける（Ｓ１０６）。これにより、後述するＳ１１５で指定画像データを印刷させるプリンタが決定される。ＣＰＵ１１は、適用印刷設定にデフォルトの印刷設定を設定する（Ｓ１０７）。
【００５９】
ＣＰＵ１１は、プレビュー画面３００を図４（ｂ）の表示態様にて表示する（Ｓ１０８）。ＣＰＵ１１は、画像表示部３０１には指定画像データを、プリンタ名表示部３０２にはＳ１０６で選択されたプリンタ情報９０のプリンタ名９１を表示する。
【００６０】
ＣＰＵ１１は、設定ボタン３０３がタップ操作されたか否かを判断する（Ｓ１０９）。ＣＰＵ１１は、設定ボタン３０３がタップ操作されたと判断した場合（Ｓ１０９：Ｙｅｓ）、ＬＣＤ１６に設定画面２００を表示し、印刷設定編集部２０３の表示を適用印刷設定の内容とする（Ｓ１１０）。
【００６１】
ＣＰＵ１１は、適用印刷設定を、印刷設定編集部２０３に対する操作により変更された内容に更新する（Ｓ１１１）。ＣＰＵ１１は、操作キー１５を介したバック操作の有無を判断する（Ｓ１１２）。ＣＰＵ１１は、バック操作が行われたと判断した場合（Ｓ１１２：Ｙｅｓ）、Ｓ１０８へと移行して再度プレビュー画面３００を表示する（Ｓ１０８）。一方、ＣＰＵ１１は、バック操作が行われていないと判断した場合は（Ｓ１１２：Ｎｏ）、手動検索ボタン２０１又は自動選択ボタン２０２のタップ操作の有無を判断する（Ｓ１１３）。ＣＰＵ１１は、手動検索ボタン２０１及び自動選択ボタン２０２のいずれもタップ操作されていないと判断した場合（Ｓ１１３：Ｎｏ）、Ｓ１１１へと移行する。
【００６２】
一方、ＣＰＵ１１は、手動検索ボタン２０１又は自動選択ボタン２０２がタップ操作されたと判断した場合には（Ｓ１１３：Ｙｅｓ）、本処理を終了する。本処理が終了すると、手動検索ボタン２０１がタップ操作された場合には登録処理（図５）がＣＰＵ１１により改めて実行され、自動選択ボタン２０２がタップ操作された場合には自動選択処理（図６）が、ＣＰＵ１１により実行される。
【００６３】
Ｓ１０９において、ＣＰＵ１１は、設定ボタン３０３のタップ操作は行われていないと判断した場合（Ｓ１０９：Ｎｏ）、印刷ボタン３０４のタップ操作の有無を判断する（Ｓ１１４）。ＣＰＵ１１は、印刷ボタン３０４がタップ操作されたと判断した場合（Ｓ１１４：Ｎｏ）、Ｓ１０９へと移行して、ボタン操作の判断（Ｓ１０９，Ｓ１１４）を繰り返す。一方、Ｓ１１４において、ＣＰＵ１１は、印刷ボタン３０４がタップ操作されたと判断した場合（Ｓ１１４：Ｙｅｓ）、Ｓ１０６で選択されたプリンタ情報９０が示すプリンタに指定画像データを印刷させる（Ｓ１１５）。具体的に、ＣＰＵ１１は、Ｓ１０６で選択されたプリンタ情報９０のプリンタ名９１及びＩＰアドレス９２により識別されるプリンタに対し、無線ＬＡＮアダプタ２２を介して、指定画像データと印刷設定とを送信する。この時、ＣＰＵ１１は、印刷設定として適用印刷設定を適用する。
【００６４】
ＣＰＵ１１は、Ｓ１０６で選択されたプリンタ情報９０が設置位置９３を有するか否かを判断する（Ｓ１１６）。ＣＰＵ１１は、Ｓ１０６で選択されたプリンタ情報９０が設置位置９３を有さないと判断した場合（Ｓ１１６：Ｎｏ）、即ち、Ｓ１０６でプリンタ情報９０ａが選択されている場合、ＣＰＵ１１は、位置計測部２０から端末１０の位置を取得し、方向計測部２１から端末１０の方向を取得する（Ｓ１１７）。
【００６５】
ＣＰＵ１１は、Ｓ１０６で選択されたプリンタ情報９０ａのプリンタ名９１及びＩＰアドレス９２に対し、Ｓ１１７で取得した位置と方向とを関連付けてプリンタテーブル１２ｃに登録する（Ｓ１１８）。詳細には、ＣＰＵ１１は、レコード番号１２ｃ１に既存のレコード番号１２ｃ１の最大値＋１を設定する。ＣＰＵ１１は、プリンタ名１２ｃ２及びＩＰアドレス１２ｃ３の各々にプリンタ情報９０ａのプリンタ名９１及びＩＰアドレス９２を設定する。ＣＰＵ１１は、端末位置１２ｃ４にＳ１１７で取得した位置を設定する。ＣＰＵ１１は、端末方向１２ｃ５にＳ１１７で取得した方向を設定する。ＣＰＵ１１は、印刷設定１２ｃ７に適用印刷設定の内容を設定する。Ｓ１１８の実行後、ＣＰＵ１１は、本処理を終了する。
【００６６】
なお、Ｓ１１８において、プリンタテーブル１２ｃの既存のレコードに、プリンタ名９１と同一のプリンタ名１２ｃ２と、Ｓ１１７で取得した位置から所定距離内の端末位置１２ｃ４と、が設定されたレコードが存在する場合、新たなレコードを登録しないようにしてもよい。これにより、１台のプリンタ４０ａについて、同じと思われる端末位置１２ｃ４及び端末方向１２ｃ５が重複して登録されることが抑制されるので、記憶領域を節約できる。
【００６７】
一方、Ｓ１１６において、ＣＰＵ１１は、Ｓ１０６で選択されたプリンタ情報９０が設置位置９３を有すると判断した場合（Ｓ１１６：Ｙｅｓ）、即ち、Ｓ１０６においてプリンタ情報９０ｂが選択されている場合、該プリンタ情報９０ｂのプリンタ名９１と同一のプリンタ名１２ｃ２が設定されたプリンタテーブル１２ｃのレコードの印刷設定１２ｃ７を、適用印刷設定の内容に更新する（Ｓ１１９）。その後ＣＰＵ１１は、本処理を終了する。
【００６８】
以上説明した登録処理により、プリンタ４０ｂから受信したプリンタ情報９０ｂについては、プリンタ名９１及びＩＰアドレス９２に対して、プリンタ４０ｂの設置された位置である設置位置９３を関連付けてプリンタテーブル１２ｃに登録できる。一方、プリンタ４０ａから受信したプリンタ情報９０ａについては、プリンタ名９１及びＩＰアドレス９２に対して、プリンタ４０ａに指定画像データを印刷させた際の端末１０の位置および方向を関連付けて、プリンタテーブル１２ｃに登録できる。
【００６９】
また、Ｓ１１６の判断により、プリンタ位置１２ｃ６を設定可能なプリンタ４０ｂについては、端末１０の位置および方向の取得（Ｓ１１７）が実行されないので、端末１０の位置および方向の取得に係る処理の負荷を軽減できる。更に、端末位置１２ｃ４及び端末方向１２ｃ５が設定されるレコードは、プリンタ４０ｂについては登録されず、プリンタ位置１２ｃ６を設定できないプリンタ４０ａについてのみ登録されるので、記憶容量を節約できる。
【００７０】
図６は、ＣＰＵ１１が印刷アプリに従って実行する自動選択処理のフローチャートである。詳細には、図６は、指定画像データを印刷させるプリンタを端末１０の位置および方向に基づいて選択する自動選択処理のフローチャートである。本処理は、設定画面２００（図４（ａ））の自動選択ボタン２０２がタップ操作された場合に、ＣＰＵ１１によって実行される。
【００７１】
ＣＰＵ１１は、選択番号に０を設定する（Ｓ２０１）。ＣＰＵ１１は、ＬＣＤ１６にプレビュー画面３００を図４（ｃ）に示す表示態様にて表示する（Ｓ２０２）。
【００７２】
ＣＰＵ１１は、位置計測部２０から端末１０の位置を取得し、方向計測部２１から端末１０の方向を取得する（Ｓ２０３）。ＣＰＵ１１は、取得した位置と方向とに基づいて、プリンタテーブル１２ｃからレコードを抽出する（Ｓ２０４）。ここで、Ｓ２０４におけるレコードの抽出について詳述する。ＣＰＵ１１は、以下説明する第１の条件または第２の条件のいずれかを満たすレコードをプリンタテーブル１２ｃから抽出する。
【００７３】
第１の条件としては、端末位置１２ｃ４及び端末方向１２ｃ５が設定されており、且つ、端末位置１２ｃ４とＳ２０３で取得した位置との距離が閾値Ａ（例えば１ｍ）以下であり、尚且つ、端末方向１２ｃ５とＳ２０３で取得した方向との差異が閾値Ｂ（例えば５°）以下であるレコードを抽出対象とする。なお、閾値Ａ，Ｂについては、印刷アプリの仕様として、適宜設定すればよい。
【００７４】
第２の条件としては、プリンタ位置１２ｃ６が設定されており、且つ、プリンタ位置１２ｃ６が、Ｓ２０３で取得した位置を起点とし、Ｓ２０３で取得した方向との誤差が閾値Ｃ（例えば５°）以下である方向に存在する位置であるレコードを抽出対象とする。第１の条件同様、閾値Ｃについては、印刷アプリの仕様として適宜設定すればよい。また、閾値Ｂと閾値Ｃとは、同じでも異なってもよい。なお、第２の条件に対し、プリンタ位置１２ｃ６とＳ２０３で取得した位置との距離が所定範囲内（例えば５ｍ以内）である、との条件を追加して、遠方に設置されたプリンタを利用対象から除外してもよい。
【００７５】
ＣＰＵ１１は、Ｓ２０４で抽出したレコード（以下「抽出レコード」と称す）が１件か否かを判断する（Ｓ２０５）。ＣＰＵ１１は、抽出レコードは１件であると判断した場合（Ｓ２０５：Ｙｅｓ）、選択番号に、抽出レコードのレコード番号１２ｃ１を設定する（Ｓ２０６）。これにより、抽出された１のレコードが自動的に選択状態として扱われる。
【００７６】
ＣＰＵ１１は、抽出レコードは１件ではないと判断した場合（Ｓ２０５：Ｎｏ）、選択番号と同一のレコード番号１２ｃ１が設定されたレコードが抽出レコードに含まれるか否かを判断する（Ｓ２０７）。ＣＰＵ１１は、選択番号と同一のレコード番号１２ｃ１が設定されたレコードが抽出レコードに含まれると判断した場合（Ｓ２０７：Ｙｅｓ）、Ｓ２０９へと移行する。一方、ＣＰＵ１１は、選択番号と同一のレコード番号１２ｃ１が設定されたレコードが抽出レコードに含まれないと判断した場合には（Ｓ２０７：Ｎｏ）、選択状態とすべきレコードが抽出されていないので、選択番号に０を設定する（Ｓ２０８）。なお、Ｓ２０７が初めて実行される場合、選択番号にはＳ２０１において０が設定されており、この場合に選択番号と同一のレコード番号１２ｃ１が設定されたレコードが抽出レコードに含まれることはない。従って、ＣＰＵ１１はＳ２０７の判断を初めて実行する場合には、必ずＳ２０８へと移行する。
【００７７】
ＣＰＵ１１は抽出レコードの内容を、プリンタ候補リスト３０５に選択候補として表示する（Ｓ２０９）。詳細には、ＣＰＵ１１は、各抽出レコードのプリンタ名１２ｃ２を、プリンタ候補リスト３０５のプリンタ名リスト３０５ａに表示する。この時、ＣＰＵ１１は、選択番号が０でなければ、選択番号と同一のレコード番号１２ｃ１が設定されたレコードのプリンタ名１２ｃ２に対応するラジオボタン３０５ｂを選択状態とする。これにより、プリンタ候補リスト３０５の選択候補が自動的に選択状態とされるので、ラジオボタン３０５ｂに対する選択操作を省略できる。
【００７８】
なお、Ｓ２０９において、ＣＰＵ１１は、図４（ｄ）に示すように、端末位置１２ｃ４及び端末方向１２ｃ５が設定されたレコードのプリンタ名１２ｃ２は標準の書体で、プリンタ位置１２ｃ６が設定されたレコードのプリンタ名１２ｃ２は太字の書体で、表示する。このように書体を相違させることで、ユーザは、プリンタ名１２ｃ２に対して端末位置１２ｃ４及び端末方向１２ｃ５、又は、プリンタ位置１２ｃ６のいずれが関連付けられているのかを把握できる。特に、後述するＳ２１３で取得される印刷設定１２ｃ７は、端末位置１２ｃ４及び端末方向１２ｃ５が設定されたレコードでは、端末１０の位置または方向に応じて異なるが、プリンタ位置１２ｃ６が設定されたレコードでは、端末１０の位置および方向に関係なく不変である。よって、ユーザは、取得される印刷設定１２ｃ７が端末１０の位置または方向に応じて変化するものか否かを、プリンタ名１２ｃ２の表示書体に基づいて判断できる。なお、プリンタ名１２ｃ２の表示態様としては、書体の相違に限らず、例えば文字色の変化等によって異ならせてもよい。
【００７９】
ＣＰＵ１１は、ラジオボタン３０５ｂに対する選択操作の有無を判断する（Ｓ２１０）。ＣＰＵ１１は、ラジオボタン３０５ｂに対する選択操作があったと判断した場合（Ｓ２１０：Ｙｅｓ）、ラジオボタン３０５ｂで選択されたプリンタ名１２ｃ２に対応する抽出レコードのレコード番号１２ｃ１を、選択番号に設定する（Ｓ２１１）。なお、Ｓ２０６又はＳ２１１で選択番号にレコード番号１２ｃ１が設定されると、後述するＳ２１６で利用するプリンタが決定される。一方、ＣＰＵ１１は、ラジオボタン３０５ｂに対する選択操作はなされていないと判断した場合（Ｓ２１０：Ｎｏ）、Ｓ２１１をスキップする。
【００８０】
ＣＰＵ１１は、選択番号が０より大きいか否かを判断する（Ｓ２１２）。ＣＰＵ１１は、選択番号が０以下であると判断した場合は（Ｓ２１２：Ｎｏ）、Ｓ２１５へと移行する。一方、ＣＰＵ１１は、選択番号が０より大きいと判断した場合（Ｓ２１２：Ｙｅｓ）、選択番号と同一のレコード番号１２ｃ１が設定された抽出レコードの印刷設定１２ｃ７を取得し、その内容を適用印刷設定に設定する（Ｓ２１３）。
【００８１】
ＣＰＵ１１は、印刷ボタン３０４がタップ操作されたか否かを判断する（Ｓ２１４）。ＣＰＵ１１は、印刷ボタン３０４がタップ操作されたと判断した場合（Ｓ２１４：Ｙｅｓ）、選択番号と同一のレコード番号１２ｃ１が設定された抽出レコードのプリンタ名１２ｃ２及びＩＰアドレス１２ｃ３により識別されるプリンタに指定画像データと印刷設定とを送信して、当該プリンタに指定画像データを印刷させる（Ｓ２１６）。この時、ＣＰＵ１１は、印刷設定として適用印刷設定を適用する。その後、ＣＰＵ１１は、本処理を終了する。
【００８２】
ＣＰＵ１１は、Ｓ２１４において、印刷ボタン３０４がタップ操作されていないと判断した場合（Ｓ２１４：Ｎｏ）、設定ボタン３０３がタップ操作されたか否かを判断する（Ｓ２１５）。ＣＰＵ１１は、設定ボタン３０３がタップ操作されていないと判断した場合（Ｓ２１５：Ｎｏ）、Ｓ２０３へと移行する。なお、Ｓ２０３へと移行した後、Ｓ２０６又はＳ２１１で設定された選択番号と同一のレコード番号１２ｃ１のレコードがＳ２０４において抽出されれば、Ｓ２０５〜Ｓ２０８の処理によってその選択番号が維持される。これにより、Ｓ２０３〜Ｓ２１５の処理がＣＰＵ１１によって繰り返し実行される場合にも、プリンタの選択状態を維持することができる。
【００８３】
一方、Ｓ２１５においてＣＰＵ１１は、設定ボタン３０３がタップ操作されたと判断した場合には（Ｓ２１５：Ｙｅｓ）、ＬＣＤ１６に設定画面２００を表示し、印刷設定編集部２０３の表示を適用印刷設定の内容とする（Ｓ２１７）。
【００８４】
ＣＰＵ１１は、適用印刷設定を、印刷設定編集部２０３に対する操作により変更された内容に更新する（Ｓ２１８）。ＣＰＵ１１は、設定画面２００の手動検索ボタン２０１又は自動選択ボタン２０２がタップ操作されたか否かを判断する（Ｓ２１９）。ＣＰＵ１１は、設定画面２００の手動検索ボタン２０１又は自動選択ボタン２０２がタップ操作されたと判断した場合（Ｓ２１９：Ｙｅｓ）、本処理を終了する。本処理が終了すると、手動検索ボタン２０１がタップ操作された場合には登録処理（図５）がＣＰＵ１１により実行され、自動選択ボタン２０２がタップ操作された場合には自動選択処理（図６）が、ＣＰＵ１１により改めて実行される。
【００８５】
一方、ＣＰＵ１１は、設定画面２００の手動検索ボタン２０１及び自動選択ボタン２０２のいずれもタップ操作されていないと判断した場合には（Ｓ２１９：Ｎｏ）、操作キー１５を介してバック操作が行われたか否かを判断する（Ｓ２２０）。ＣＰＵ１１は、バック操作は行われていないと判断した場合（Ｓ２２０：Ｎｏ）、Ｓ２１８へと移行する。
【００８６】
一方、ＣＰＵ１１は、バック操作が行われたと判断した場合には（Ｓ２２０：Ｙｅｓ）、選択番号と同一のレコード番号１２ｃ１が設定されたプリンタテーブル１２ｃのレコードの印刷設定１２ｃ７を、適用印刷設定の内容に更新する（Ｓ２２１）。Ｓ２２１における適用印刷設定は、設定画面２００での変更後の内容なので、印刷設定１２ｃ７を最新の印刷設定とすることができる。Ｓ２２１の後、ＣＰＵ１１は、Ｓ２０２へと移行する。
【００８７】
以上説明した自動選択処理によれば、印刷ボタン３０４がタップ操作されたと判断されるまで（Ｓ２１４：Ｙｅｓ）、Ｓ２０３〜Ｓ２１５がＣＰＵ１１により繰り返し実行される。この場合、Ｓ２０３で取得される端末１０の位置または方向が変化すると、Ｓ２０４でのレコードの抽出結果も変化する。従って、端末１０を移動させる、又は、端末１０の方向を変えることにより、プリンタ候補リスト３０５に表示されるプリンタ名１２ｃ２を変化させられるので、プリンタの選択を一層容易化できる。一方、ＬＣＤ１６に設定画面２００が表示されている間（Ｓ２１７〜Ｓ２２０）には、Ｓ２０３〜Ｓ２１３の実行が制限される。よって、一度選択したプリンタが設定画面２００に関する操作の影響で変更されてしまうことを防止できる。
【００８８】
また、抽出レコードの選択状態は、ＲＡＭ１３に記憶される選択番号によって管理される。選択番号は、Ｓ２０１又はＳ２０８での初期化を除き、ユーザの意思とは無関係には変更されない。従って、Ｓ２０３からＳ２１３がＣＰＵ１１により繰り返し実行される場合にも、選択したプリンタが意図せず変更されることを抑制できる。
【００８９】
また、設定画面２００の印刷設定編集部２０３で変更された適用印刷設定の内容は、一旦プリンタテーブル１２ｃの印刷設定１２ｃ７に設定され（Ｓ２２１）、Ｓ２１３において再度、プリンタテーブル１２ｃの印刷設定１２ｃ７が取得される。これにより、Ｓ２０３からＳ２１３が繰り返し実行される間にプリンタが再選択される場合にも、印刷設定編集部２０３において変更した印刷設定を無駄にすることなく利用できる。
【００９０】
本実施形態の印刷アプリによれば、プリンタ名９１及びＩＰアドレス９２に対し、端末１０の位置および方向、又は、プリンタ情報９０ｂの設置位置９３を関連付けて、プリンタテーブル１２ｃに登録できる。そして、図６の自動選択処理では、端末１０の指向先に存在するプリンタが印刷に利用するプリンタとして選択される。よって、端末１０を移動または方向変化させれば所望のプリンタを選択できるので、利用するプリンタの選択にかかる手間を軽減できる。更に、プリンタの選択と併せて、印刷設定１２ｃ７がプリンタテーブル１２ｃから取得されるので（図６のＳ２１３）、プリンタの利用をより簡便にできる。
【００９１】
上記実施形態において、印刷アプリが、情報処理プログラムの一例である。端末１０が、端末装置の一例である。ＣＰＵ１１が、制御部の一例である。フラッシュメモリ１２が、記憶部の一例である。位置計測部２０が、位置取得部の一例である。方向計測部２１が、方向取得部の一例である。ＬＣＤ１６が、表示部の一例である。タッチパネル１７が、操作部の一例である。無線ＬＡＮアダプタ２２が、通信部の一例である。プリンタ情報９０ｂの設置位置９３が、外部装置位置の一例である。印刷設定が、パラメータの一例である。設定画面２００が、設定画面の一例である。プリンタ４０ａ又は４０ｂが、外部装置の一例である。
【００９２】
Ｓ１１７，Ｓ２０３の処理を実行するＣＰＵ１１が、取得手段の一例である。Ｓ１１８の処理を実行するＣＰＵ１１が、第１登録手段の一例である。Ｓ２０４，Ｓ２１３の処理を実行するＣＰＵ１１が、抽出手段の一例である。Ｓ２０６，Ｓ２１１の処理を実行するＣＰＵ１１が、決定手段の一例である。Ｓ１０４の処理を実行するＣＰＵ１１が、第２登録手段の一例である。Ｓ２０９の処理を実行するＣＰＵ１１が、第１表示手段の一例である。Ｓ２１１の処理を実行するＣＰＵ１１が、選択受付手段の一例である。Ｓ２１８の処理を実行するＣＰＵ１１が、変更受付手段の一例である。Ｓ２２１の処理を実行するＣＰＵ１１が、更新手段の一例である。Ｓ２１７の処理を実行するＣＰＵ１１が、第２表示手段の一例である。
【００９３】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の改良変更が可能であることは容易に推察できるものである。
【００９４】
例えば、上記実施形態では、本発明の端末装置としてスマートフォン等として構成される端末１０を例示したが、携帯電話、ＰＤＡ、タブレット端末など各種の装置も端末装置の一例となり得る。また、本発明の外部装置としてプリンタ４０ａ及び４０ｂを例示したが、多機能周辺機器、スキャナ、テレビ、プロジェクタなど各種の装置も外部装置の一例となり得る。また、本発明の情報処理プログラムとして印刷アプリを例示したが、外部装置の種類に応じた種々のプログラムに本発明を適用できる。例えば、外部装置をスキャナとし、端末装置をスマートフォンとする場合、本発明の情報処理プログラムは、スマートフォンからスキャナを利用するスキャンアプリとして構成される。また、上記実施形態では、外部装置としてプリンタのみを利用する印刷アプリを例示したが、本発明の情報処理プログラムとしては、端末装置の位置および方向に基づいて決定した外部装置がプリンタであれば印刷を、スキャナであればスキャンを、と、外部装置の種類に応じて処理を切り換えるものであってもよい。
【００９５】
また、上記実施形態では、端末１０とプリンタ４０ａ又は４０ｂとの通信は、Ｗｉ−Ｆｉ通信およびＬＡＮ３０によるものを例示したが、例えば赤外線通信やＢｌｕｅｔｏｏｔｈ（登録商標）等の他の通信手段を用いてもよい。
【００９６】
また、上記実施形態では、プリンタテーブル１２ｃにおいて、プリンタ位置１２ｃ６を設定可能なプリンタ名１２ｃ２については、端末位置１２ｃ４及び端末方向１２ｃ５を設定したレコードを登録しないことを説明したが、端末位置１２ｃ４及び端末方向１２ｃ５と、プリンタ位置１２ｃ６と、の両者を設定するように構成することも可能である。また、プリンタ名１２ｃ２には、プリンタ情報９０のプリンタ名９１を設定することを説明したが、例えば、端末１０において任意に入力された名前を設定してもよい。
【００９７】
また、上記実施形態では、１つのプリンタテーブル１２ｃによって、各種情報を管理することを説明したが、プリンタテーブル１２ｃに相当する記憶領域を複数のテーブルで構成してもよい。例えば、プリンタテーブル１２ｃとは別に、プリンタ名１２ｃ２と印刷設定１２ｃ７とを関連付けたレコードで構成されるテーブルを設け、該テーブルからプリンタ名１２ｃ２に基づいて印刷設定１２ｃ７を取得するようにしてもよい。
【００９８】
また、上記実施形態では、プリンタテーブル１２ｃから複数のレコードが抽出された場合、プリンタ候補リスト３０５にプリンタ名１２ｃ２を選択候補として表示して選択可能とすることを説明したが、例えば、端末位置１２ｃ４、端末方向１２ｃ５又はプリンタ位置１２ｃ６に基づいて、端末１０の指向先との誤差が最も小さい選択候補を自動的に選択してもよい。
【００９９】
また、図６に示す自動選択処理においては、印刷ボタン３０４及び設定ボタン３０３のタップ操作の判定後のタイミングで（Ｓ２１４：Ｎｏ，Ｓ２１５：Ｎｏ）、ＣＰＵ１１は、Ｓ２０３からＳ２１３を繰り返し実行することを説明したが、繰り返しの条件を別に設けてもよい。例えば、Ｓ２１５からＳ２０３への移行の間に所定の待機時間を設けてもよい。また、Ｓ２０３で取得される位置または方向が所定の閾値を超えて変化した場合に限り、ＣＰＵ１１がＳ２０４〜Ｓ２１３を実行するようにしてもよい。
【０１００】
また、上記実施形態では、プリンタテーブル１２ｃへの情報の登録を指定画像データの印刷と併せて実施することを説明したが（図５の登録処理）、プリンタの情報をプリンタテーブル１２ｃに登録するための専用の機能や画面を設けることは当然可能である。
【符号の説明】
【０１０１】
１０：端末，１１：ＣＰＵ，４０ａ：プリンタ，４０ｂ：プリンタ
【図１】
0006492582.tif 000002
【図２】
0006492582.tif 000003
【図３】
0006492582.tif 000004
【図４】
0006492582.tif 000005
【図５】
0006492582.tif 000006
【図６】
0006492582.tif 000007