IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7493361情報処理装置、制御方法およびプログラム
<>
  • 特許-情報処理装置、制御方法およびプログラム 図1
  • 特許-情報処理装置、制御方法およびプログラム 図2
  • 特許-情報処理装置、制御方法およびプログラム 図3
  • 特許-情報処理装置、制御方法およびプログラム 図4
  • 特許-情報処理装置、制御方法およびプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-23
(45)【発行日】2024-05-31
(54)【発明の名称】情報処理装置、制御方法およびプログラム
(51)【国際特許分類】
   H04W 48/20 20090101AFI20240524BHJP
   H04W 76/10 20180101ALI20240524BHJP
   H04W 84/12 20090101ALI20240524BHJP
【FI】
H04W48/20
H04W76/10
H04W84/12
【請求項の数】 25
(21)【出願番号】P 2020053140
(22)【出願日】2020-03-24
(65)【公開番号】P2021153265
(43)【公開日】2021-09-30
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】須▲崎▼ 遼
【審査官】松野 吉宏
(56)【参考文献】
【文献】特開2017-050612(JP,A)
【文献】特開2019-161373(JP,A)
【文献】特開2017-143319(JP,A)
【文献】特開2018-067749(JP,A)
【文献】特開2020-021981(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 - 7/26
H04W 4/00 - 99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
プログラムであって
前記プログラムと異なるオペレーションシステム(OS)を有する情報処理装置に、
前記プログラムが特定できている特定の文字列及び、前記特定の文字列以外の他の文字列の両方を含む識別情報を有する第1のアクセスポイントと前記情報処理装置とを接続させるための第1処理を、所定の方法で実行する第1処理ステップを実行させ、
前記所定の方法は、前記プログラムが前記OSに対して、前記情報処理装置の接続対象となるアクセスポイントの識別情報のうち前記プログラムが特定できている一部の文字列のみを通知する方法であり、且つ前記通知された文字列及び前記通知された文字列以外の文字列を含む識別情報を有するアクセスポイントと前記情報処理装置とを接続させることが可能な方法であり、
前記情報処理装置に、
前記所定の方法による前記第1処理が実行されたことにより前記第1のアクセスポイントと前記情報処理装置との間の接続が確立された場合、前記第1のアクセスポイントと前記情報処理装置との間の接続を介して、前記第1のアクセスポイントと異なる他のアクセスポイントに関するアクセスポイント情報を通信する通信ステップを実行させることを特徴とするプログラム。
【請求項2】
前記情報処理装置にさらに、
前記プログラムが特定できている文字列のみを含む識別情報を有し、前記第1のアクセスポイントと異なる第2のアクセスポイントと前記情報処理装置とを接続させるための第2処理を、前記所定の方法と異なる特定の方法で、前記第1のアクセスポイントと前記情報処理装置とを接続させるための処理が前記所定の方法で実行された後に、前記アクセスポイント情報の通信が行われたことに基づいて、実行する第2処理ステップを実行させることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記特定の方法は、前記プログラムが前記OSに対して、前記情報処理装置の接続対象となるアクセスポイントの識別情報に含まれる全ての文字列を通知する方法であり、且つ前記通知された文字列と完全に一致する識別情報を有するアクセスポイントと前記情報処理装置とを接続させることが可能な方法であることを特徴とする請求項2に記載のプログラム。
【請求項4】
前記第2のアクセスポイントは、前記アクセスポイント情報に対応する前記他のアクセスポイントであり、通信装置によって有効化されるアクセスポイントであり、
前記他のアクセスポイントに関する情報は、前記通信装置から前記情報処理装置に対して送信されることを特徴とする請求項2又は3に記載のプログラム。
【請求項5】
前記情報処理装置に対して所定の操作が行われた場合、前記所定の方法による前記第1処理が実行され、
前記所定の操作が行われた時に前記情報処理装置が外部アクセスポイントと接続していない場合、前記情報処理装置に対して所定の操作が行われた後に、前記特定の方法による前記第2処理が実行されることを特徴とする請求項2乃至4のいずれか1項に記載のプログラム。
【請求項6】
前記プログラムは、前記OSにより検索された、前記情報処理装置が接続可能な1又は複数のアクセスポイントに関する情報を前記OSから取得することなく、前記所定の方法による前記第1処理を実行することを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
【請求項7】
前記情報処理装置が接続可能な1又は複数のアクセスポイントが、前記OSにより検索され、前記所定の方法による前記第1処理が実行された場合、前記OSによって発見された前記情報処理装置が接続可能な1又は複数のアクセスポイントから、前記第1のアクセスポイントが、前記OSにより検索され、
前記第1のアクセスポイントが発見された場合、前記第1のアクセスポイントを有効化している通信装置と前記情報処理装置とを接続させるための処理が、前記OSにより実行されることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
【請求項8】
前記OSによって発見された前記情報処理装置が接続可能な1又は複数のアクセスポイントに、複数の前記第1のアクセスポイントが含まれる場合、前記複数の前記第1のアクセスポイントのうちいずれかを有効化している前記通信装置と前記情報処理装置とを接続させるための処理が、前記OSにより実行されることを特徴とする請求項に記載のプログラム。
【請求項9】
前記複数の前記第1のアクセスポイントのうちいずれかは、前記複数の前記第1のアクセスポイントのうち、前記OSによる検索において一番最初に発見されたアクセスポイントであることを特徴とする請求項に記載のプログラム。
【請求項10】
前記情報処理装置にさらに、
前記OSによって発見された前記情報処理装置が接続可能な1又は複数のアクセスポイントに、複数の前記第1のアクセスポイントが含まれる場合、前記複数の前記第1のアクセスポイントのうちいずれかに関する情報を表示する情報表示ステップを実行させ、
前記表示された情報に対応する前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置との間の接続を許可するための入力がユーザから受け付けられた場合、前記表示された情報に対応する前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置とを接続させるための処理が、前記OSにより実行され、
前記表示された情報に対応する前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置との間の接続を許可するための入力がユーザから受け付けられなかった場合、前記表示された情報に対応する前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置とを接続させるための処理が、前記OSにより実行されないことを特徴とする請求項乃至のいずれか1項に記載のプログラム。
【請求項11】
前記表示された情報に対応する前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置との間の接続を許可するための入力が前記ユーザから受け付けられなかった場合、前記ユーザに通知を行うための通知画面を表示することを特徴とする請求項10に記載のプログラム。
【請求項12】
前記通知画面は、前記表示された情報に対応する前記第1のアクセスポイントと異なるアクセスポイントを有効化している前記通信装置と前記情報処理装置とを近づけるよう前記ユーザを促すための画面、前記表示された情報に対応する前記第1のアクセスポイントを無効化するよう前記ユーザを促すための画面、及び、前記OSに対応する設定用アプリケーションプログラムによって、前記表示された情報に対応する前記第1のアクセスポイントと異なるアクセスポイントを有効化している前記通信装置と前記情報処理装置とを接続させるよう前記ユーザを促すための画面のうち少なくとも1つであることを特徴とする請求項11に記載のプログラム。
【請求項13】
前記情報処理装置にさらに、
前記OSによって発見された前記情報処理装置が接続可能な1又は複数のアクセスポイントに、前記第1のアクセスポイントが含まれない場合、前記第1のアクセスポイントと前記情報処理装置との間の接続の確立が失敗したことを通知する通知ステップを実行させることを特徴とする請求項乃至12のいずれか1項に記載のプログラム。
【請求項14】
前記情報処理装置にさらに、
前記OSによって発見された前記情報処理装置が接続可能な1又は複数のアクセスポイントに、前記第1のアクセスポイントが含まれない場合、前記情報処理装置が接続可能な1又は複数のアクセスポイントが再度前記OSによって検索された後、前記所定の方法による前記第1処理を再度実行する実行ステップを実行させることを特徴とする請求項7乃至13のいずれか1項に記載のプログラム。
【請求項15】
前記他のアクセスポイントは、前記情報処理装置の外部且つ通信装置の外部に位置する外部アクセスポイントであり、
前記他のアクセスポイントに関する情報は、前記情報処理装置から前記通信装置に対して送信され、
前記他のアクセスポイントに関する情報が前記通信装置に対して送信された場合、前記他のアクセスポイントと接続するための処理が前記通信装置によって実行されることを特徴とする請求項1乃至14のいずれか1項に記載のプログラム。
【請求項16】
前記情報処理装置に対して所定の操作が行われた場合、前記所定の方法による前記第1処理が実行され、
前記他のアクセスポイントは、前記情報処理装置に対して前記所定の操作が行われた時に前記情報処理装置が接続していた前記外部アクセスポイントであることを特徴とする請求項15に記載のプログラム。
【請求項17】
前記他のアクセスポイントは、1又は複数の前記外部アクセスポイントからユーザによって選択されたアクセスポイントであることを特徴とする請求項15又は16に記載のプログラム。
【請求項18】
前記情報処理装置にさらに、
前記通信装置が接続可能な1又は複数の前記外部アクセスポイントに関する情報を、前記第1のアクセスポイントを有効化している前記通信装置と前記情報処理装置との間の接続を介して、前記通信装置から取得する取得ステップと、
前記通信装置が接続可能な1又は複数の前記外部アクセスポイントからいずれかをユーザに選択させるための選択画面を表示する表示ステップと、を実行させ、
前記他のアクセスポイントは、前記通信装置が接続可能な1又は複数の前記外部アクセスポイントから前記ユーザによって選択されたアクセスポイントであることを特徴とする請求項15乃至17のいずれか1項に記載のプログラム。
【請求項19】
前記情報処理装置に対して所定の操作が行われた場合、前記所定の方法による前記第1処理が実行され、
前記通信装置が接続可能な1又は複数の前記外部アクセスポイントに、前記情報処理装置に対して前記所定の操作が行われた時に前記情報処理装置が接続していたアクセスポイントが含まれる場合、前記他のアクセスポイントは、前記情報処理装置に対して前記所定の操作が行われた時に前記情報処理装置が接続していたアクセスポイントであり、
前記通信装置が接続可能な1又は複数の前記外部アクセスポイントに、前記情報処理装置に対して前記所定の操作が行われた時に前記情報処理装置が接続していたアクセスポイントが含まれない場合、前記選択画面が表示され、前記他のアクセスポイントは、前記通信装置が接続可能な1又は複数の前記外部アクセスポイントから前記ユーザによって選択されたアクセスポイントであることを特徴とする請求項18に記載のプログラム。
【請求項20】
前記識別情報は、Service Set Identifierであることを特徴とする請求項1乃至19のいずれか1項に記載のプログラム。
【請求項21】
前記プログラムは、アプリケーションプログラムであることを特徴とする請求項1乃至20のいずれか1項に記載のプログラム。
【請求項22】
前記情報処理装置にさらに、
印刷を実行させるための印刷ジョブを、前記他のアクセスポイントを介して、通信装置に送信する送信ステップを実行させることを特徴とする請求項1乃至21のいずれか1項に記載のプログラム。
【請求項23】
前記情報処理装置にさらに、
スキャンを実行するためのスキャンジョブを、前記他のアクセスポイントを介して、通信装置に送信する送信ステップを実行させることを特徴とする請求項1乃至22のいずれか1項に記載のプログラム。
【請求項24】
オペレーションシステム(OS)を有する情報処理装置であって、
前記OSと異なるプログラムが特定できている特定の文字列及び、前記特定の文字列以外の他の文字列の両方を含む識別情報を有する第1のアクセスポイントと前記情報処理装置とを接続させるための第1処理を、所定の方法で実行する第1処理手段を備え、
前記所定の方法は、前記プログラムが前記OSに対して、前記情報処理装置の接続対象となるアクセスポイントの識別情報のうち前記プログラムが特定できている一部の文字列のみを通知する方法であり、且つ前記通知された文字列及び前記通知された文字列以外の文字列を含む識別情報を有するアクセスポイントと前記情報処理装置とを接続させることが可能な方法であり、
前記情報処理装置は、
前記所定の方法による前記第1処理が実行されたことにより前記第1のアクセスポイントと前記情報処理装置との間の接続が確立された場合、前記第1のアクセスポイントと前記情報処理装置との間の接続を介して、前記第1のアクセスポイントと異なる他のアクセスポイントに関するアクセスポイント情報を通信する通信手段を備えることを特徴とする情報処理装置。
【請求項25】
オペレーションシステム(OS)を有する情報処理装置の制御方法であって、
前記OSと異なるプログラムが特定できている特定の文字列及び、前記特定の文字列以外の他の文字列の両方を含む識別情報を有する第1のアクセスポイントと前記情報処理装置とを接続させるための第1処理を、所定の方法で実行する第1処理ステップを有し、
前記所定の方法は、前記プログラムが前記OSに対して、前記情報処理装置の接続対象となるアクセスポイントの識別情報のうち前記プログラムが特定できている一部の文字列のみを通知する方法であり、且つ前記通知された文字列及び前記通知された文字列以外の文字列を含む識別情報を有するアクセスポイントと前記情報処理装置とを接続させることが可能な方法であり、
前記制御方法は、
前記所定の方法による前記第1処理が実行されたことにより前記第1のアクセスポイントと前記情報処理装置との間の接続が確立された場合、前記第1のアクセスポイントと前記情報処理装置との間の接続を介して、前記第1のアクセスポイントと異なる他のアクセスポイントに関するアクセスポイント情報を通信する通信ステップを有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置間の通信接続を行う情報処理装置、制御方法およびプログラムに関する。
【背景技術】
【0002】
スマートフォン等の情報処理装置がプリンタ等の通信装置と接続を確立し、当該接続を介して、アクセスポイントに関する情報を通信する技術が知られている。
【0003】
特許文献1には、通信装置のSSIDを用いることで通信装置との接続を確立した後、アクセスポイントに関する情報を通信すること、通信装置の接続モードの設定を行うことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-127545号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、情報処理装置と通信装置との間の接続を確立し、当該接続を介して、アクセスポイントに関する情報を通信する技術が普及するにあたり、情報処理装置と通信装置との間の接続の確立における利便性を向上させることが要望されている。
【0006】
本発明は、情報処理装置と通信装置との間の接続の確立における利便性を向上させることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係るプログラムは、プログラムであって、前記プログラムと異なるオペレーションシステム(OS)を有する情報処理装置に、前記プログラムが特定できている特定の文字列及び、前記特定の文字列以外の他の文字列の両方を含む識別情報を有する第1のアクセスポイントと前記情報処理装置とを接続させるための第1処理を、所定の方法で実行する第1処理ステップを実行させ、前記所定の方法は、前記プログラムが前記OSに対して、前記情報処理装置の接続対象となるアクセスポイントの識別情報のうち前記プログラムが特定できている一部の文字列のみを通知する方法であり、且つ前記通知された文字列及び前記通知された文字列以外の文字列を含む識別情報を有するアクセスポイントと前記情報処理装置とを接続させることが可能な方法であり、前記情報処理装置に、前記所定の方法による前記第1処理が実行されたことにより前記第1のアクセスポイントと前記情報処理装置との間の接続が確立された場合、前記第1のアクセスポイントと前記情報処理装置との間の接続を介して、前記第1のアクセスポイントと異なる他のアクセスポイントに関するアクセスポイント情報を通信する通信ステップを実行させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、情報処理装置と通信装置との間の接続の確立における利便性を向上させることができる。
【図面の簡単な説明】
【0009】
図1】情報処理装置と通信装置を含むシステムの構成を示す図である。
図2】接続設定処理において各装置が実行する処理を示すシーケンス図である。
図3】アプリケーションと組み込みOSが実行する処理を示すシーケンス図である。
図4】接続設定用アプリの通信制御処理を示すフローチャートである。
図5】アプリケーションと組み込みOSが実行する処理を示すシーケンス図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
[第1実施形態]
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されず、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず、複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【0012】
まず、本実施形態の情報処理装置と、情報処理装置と通信可能な通信装置とを含むシステムの構成について、図1を参照しながら説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能であり、図1に記載の構成に限定されるものではない。
【0013】
端末装置101は、本実施形態における情報処理装置である。端末装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離通信部110、撮影装置111を有する。本実施形態では、端末装置101は、スマートフォンを例として説明する。
【0014】
入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うようにしても良い。
【0015】
CPU103は、システム制御部であり、端末装置101の全体を統括的に制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OS)プログラム等の固定データを記憶する。本実施形態では、ROM104に記憶されている各制御プログラムは、ROM104に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【0016】
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、端末装置101の設定情報や端末装置101の管理データ等を記憶するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
【0017】
外部記憶装置106は、接続設定機能を提供する接続設定用アプリケーションプログラム(後述の接続設定アプリ)を備えている。また、外部記憶装置106は、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム、通信部109を介して接続している通信装置151との間で情報を送受信する情報送受信制御プログラム等の各種プログラムを備えている。また、外部記憶装置106は、これらのプログラムが使用する各種情報や、他の情報処理装置やインターネットを介して取得した画像データを記憶する。
【0018】
出力インタフェース107は、表示部108がデータの表示や端末装置101の状態の通知を行うための制御を行うインタフェースである。
【0019】
表示部108は、LED(発光ダイオード)やLCD(液晶パネル)などを含んで構成され、データの表示や端末装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設けることで、表示部108を介してユーザからの入力を受け付けるようにしても良い。
【0020】
通信部109は、通信装置151等の装置と接続して、データ通信を実行する。例えば、通信部109は、無線通信で通信装置151とダイレクトに通信しても良いし、端末装置101や通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131(以後、AP131))を介して通信しても良い。アクセスポイントとは、ネットワークを構築する装置であり、構築したネットワーク内の通信において用いられる通信チャネルを決定する装置である。本実施形態では、通信部109の無線通信方式としては、Wi-Fi(WirelessFidelity)(登録商標)が用いられるものとするが、Bluetooth Classic(登録商標)等が用いられても良い。また、AP131としては、例えば、無線LANルータ等の機器などが用いられる。なお、本実施形態において、端末装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、端末装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャ接続方式という。
【0021】
近距離無線通信部110は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、近距離無線通信部110の通信方式として、Bluetooth Low Energy(BLE)、Bluetooth ClassicやWi-Fi Aware等が用いられても良い。
【0022】
撮影装置111は、撮影素子で撮影した画像をデジタルデータに変換する装置である。デジタルデータは、一旦RAM105に格納される。その後、CPU103が実行するプログラムで所定の画像フォーマットに変換され、画像データとして外部記憶装置106に格納される。
【0023】
通信装置151は、本実施形態における通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157、入力インタフェース158、出力インタフェース159、機能制御部160、表示部161を有する。
【0024】
通信部156は、端末装置101等の装置と接続して、データ通信を実行する。本実施形態では、通信部156の無線通信方式としては、Wi-Fiが用いられるものとするが、Bluetooth Classic等が用いられても良い。なお、通信部156は、通信装置151内部のアクセスポイントとして、端末装置101等の装置と接続するためのアクセスポイント156aを有している。なお、アクセスポイント156aは、端末装置101の通信部109に接続可能である。なお、通信部156は、アクセスポイント156aを介して端末装置101とダイレクトに通信しても良いし、AP131を介して端末装置101と通信しても良い。また、アクセスポイント156aは、アクセスポイントとして機能するハードウェアであっても良いし、アクセスポイントとして機能するためのソフトウェアにより、通信部156がアクセスポイント156aとして動作しても良い。また、通信装置151内部のアクセスポイントは、識別情報(例えば、SSID(Service Set Identifier))やパスワードが異なる複数のアクセスポイントで構成されても良い。本実施形態では、通信装置151内部のアクセスポイントには少なくとも、後述の接続設定用APが含まれるものとする。
【0025】
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、不図示のデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられる。また、RAM153は、例えば、端末装置101等から受信した印刷情報を受信バッファとして一旦記憶したり、各種の情報を記憶することが可能である。
【0026】
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを記憶する。本実施形態では、ROM152に記憶されている各制御プログラムは、ROM152に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。また、通信装置151の設定情報や通信装置151の管理データ等の、電源供給がされていない場合も保持する必要があるデータを記憶するメモリエリアもROM152に設けられている。
【0027】
CPU154は、システム制御部であり、通信装置151の全体を統括的に制御する。プリントエンジン155、RAM153に記憶された情報や端末装置101等から受信した印刷ジョブに基づいて、インク等の記録剤を用いて印刷用紙等の記録媒体上に画像形成を行い、印刷結果を出力する。この時、端末装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信するようにしても良い。
【0028】
近距離無線通信部157は、端末装置101等の装置と近距離で無線接続するための構成である。なお、近距離通信部157の通信方式として、Bluetooth Low Energy(BLE)、Bluetooth ClassicやWi-Fi Aware等が用いられても良い。
【0029】
入力インタフェース158は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース159と入力インタフェース158とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うようにしても良い。出力インタフェース159は、表示部161がデータの表示や通信装置151の状態通知や情報表示を行うための制御を行うインタフェースである。機能制御部160は、通信装置151が有する機能を同時に動作させるか否か等の機能動作の制御に関する管理を行う。
【0030】
表示部161は、LED(発光ダイオード)やLCD(液晶パネル)を含んで構成され、データの表示や通信装置151の状態の通知を行う。なお、表示部161上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設けることで、表示部161を介してユーザからの入力を受け付けるようにしても良い。
【0031】
<Wi-Fi通信(P2P(Peer to Peer)モード)について>
Wi-Fiにおける通信においてP2P方式の接続(以後、P2P接続)を確立するために、本実施形態の通信装置151は、P2Pモード(ソフトウェアAPモードやWi-Fi Direct(WFD)モード)で動作する。なお、本実施形態では、P2P接続とは、AP131等の外部装置を介さずに装置同士が直接、無線接続する形態を指す。P2Pモードで動作中の通信装置151は、通信装置151が属するネットワーク内で、親機として動作する。P2Pモードには、以下に説明するWFDモードとソフトウェアAPモードとが含まれる。
【0032】
なお、WFDは、WiFi Allianceによって策定された規格である。WFD対応機器である端末装置101及び通信装置151は、WFDにより、他のアクセスポイントを介さずに相互に直接、無線接続することが可能となる。WFD対応機器であり且つアクセスポイント(親局)の役割を果たす装置を特に、Group Ownerという。そして、WFDによって、P2P接続を実行するモードを、WFDモードという。
【0033】
また、通信装置151は、アクセスポイントとして動作するためのソフトウェアアクセスポイント(ソフトウェアAP)機能を有している。通信装置151が、通信装置151内部のソフトウェアAPを有効化(起動)し、端末装置101が当該ソフトウェアAPと、WFDではなく通常のWi-Fiによって接続する。このように接続することで、端末装置101及び通信装置151は、他のアクセスポイントを介さずに相互に直接、無線接続することが可能となる。通信装置151内部のソフトウェアAPを有効化して動作することによって、P2P接続を実行するモードを、ソフトウェアAPモードという。なお、通信装置151は、ソフトウェアAPモードが停止すると、通信装置151内部のソフトウェアAPを無効化し、ソフトウェアAPを用いた他の装置とのP2P接続ができない状態となる。
【0034】
P2Pモードにおいては、通信装置151が親機として動作するため、P2Pモードにおける通信にいずれの通信チャネルを用いるのかを、通信装置151が決定可能である。通信装置151は、例えば、インフラストラクチャモードとP2Pモードとで並行して動作する場合は、インフラストラクチャモードにおける通信に利用している通信チャネルを、P2Pモードにおける通信に利用するよう制御する。また、通信装置151は、例えば、P2Pモードにおける通信に利用するチャネルとして、AP131との接続に利用される通信チャネルを、他のチャネルより優先的に選択するようにしても良い。
【0035】
また、P2Pモードの通信装置151と接続するための接続情報(SSIDやパスワード)は、通信装置151が有する操作部に対するユーザ操作等によって、任意に変更可能であっても良い。
【0036】
<Wi-Fi通信(インフラストラクチャモード)について>
Wi-Fiにおける通信においてインフラストラクチャ方式の接続(以後、インフラ接続)を確立するために、本実施形態の通信装置151は、インフラストラクチャモードで動作する。なお、本実施形態では、インフラストラクチャ接続とは、AP131等のネットワークを統括する外部装置が親機として動作し、当該親機を介して装置同士が無線接続する形態を意味する。インフラストラクチャモードで動作中の通信装置151は、通信装置151が属するネットワーク内で、子機として動作する。
【0037】
インフラストラクチャモードにより、AP131を介して通信装置151と端末装置101とが接続することになり、通信装置151と端末装置101との間で、AP131を介した通信が可能となる。なお、ここでのインフラストラクチャモードにおける通信に利用されるチャネルは、例えば、2.4Ghz以外の周波数帯域(5.0Ghz帯域等)のチャネルである。
【0038】
なお、端末装置101は、通信装置151とAP131を介して通信するためには、AP131によって形成され、端末装置101が属するネットワーク上に、通信装置151が属していることを認識する必要がある。そのために、例えば、端末装置101は、端末装置101が属するネットワーク上に、AP131を介して検索信号を送信し、通信装置151と疎通(接続)確認を行う。
【0039】
本実施形態では、単に端末装置101と通信装置151とが同一のAPに接続している状態をインフラストラクチャ接続状態とみなす。即ち、インフラストラクチャ接続状態において、端末装置101や通信装置151は、同一のAPに接続していれば良く、自身が属するネットワーク上に、相手装置が属していることを認識していなくても良い。
【0040】
本実施形態では、接続設定処理における、設定コマンドの通信及び、通信装置151とP2P接続するための情報の取得の際、端末装置101と通信装置151との間の接続設定用のP2P接続が用いられる。そして、本実施形態では、接続設定用のP2P接続として、Wi-Fiによる接続(通信部109及び通信部156による接続)が用いられる。しかしながら、接続設定用のP2P接続として、BLEによる接続(近距離無線通信部110及び近距離無線通信部157による接続)が用いられても良い。
【0041】
以下、Wi-Fiによる接続を用いた接続設定処理について説明する。なお、接続設定用のP2P接続として、例えば、Classic Bluetooth等、Wi-FiやBLE以外の通信方式が用いられても良い。接続設定処理によって、端末装置101と通信装置151との間に、Wi-Fiによるインフラストラクチャ接続又はP2P接続の確立後、その確立されたネットワーク接続を介して、端末装置101と通信装置151との間で通信が可能となる。例えば、端末装置101は、確立された接続を介して、通信装置151に印刷を実行させるための印刷ジョブや、通信装置151にスキャンを実行させるためのスキャンジョブを通信装置151に送信することが可能である。具体的には、確立された接続がインフラ接続であれば、外部アクセスポイントを介してジョブが送信され、確立された接続がP2P接続であれば、通信装置151の内部アクセスポイントを介してジョブが送信される。
【0042】
<接続設定モードについて>
本実施形態では、通信装置151は、接続設定モードで動作可能である。接続設定モードは、端末装置101との設定コマンドの通信を行うことで、自身の接続設定を行うためのモードである。なお本実施形態では、設定コマンドとして、インフラ設定コマンドとP2P設定コマンドがあるものとする。インフラ設定コマンドは、通信装置151と端末装置101の間にインフラ接続を確立させるための接続設定を通信装置151に実行させるためのコマンドである。一方、P2P設定コマンドは、通信装置151と端末装置101の間にP2P接続を確立させるための接続設定を通信装置151に実行させるためのコマンドである。通信装置151が接続設定モードでの動作を開始するためのトリガは、例えば、接続設定モード用ボタンをユーザが押下することであっても良いし、通信装置151が、着荷後初めて起動(電源ON)することであっても良い。接続設定モード用ボタンは、通信装置151に設けられたハードボタンであっても良いし、通信装置151が表示部161に表示するソフトボタンであっても良い。
【0043】
通信装置151は、接続設定モードでの動作を開始すると、Wi-Fi通信及び、BLE通信の両方を有効化する。例えば、通信装置151は、Wi-Fi通信の有効化処理として、接続設定モード専用の、通信装置151の内部のAP(接続設定用AP)を有効化する。これにより、通信装置151は、端末装置101とWi-FiによるP2P接続を確立可能な状態になる。接続設定用APと接続するための接続情報(SSIDやパスワード)は、端末装置101にインストールされた接続設定用アプリに予め保持されている。そのため、端末装置101は、接続設定用APと接続するための接続情報を予め認識している。本実施形態では、P2Pモードにおいて有効化されるAPの接続情報と異なり、接続設定用APと接続するための接続情報は、ユーザによる任意の変更が不可である。端末装置101は、接続設定モードで動作する通信装置151と接続した場合、通信装置151と、設定コマンドの通信を実行可能となる。なお、接続設定モードにおいて、通信装置151は、通常のWi-Fiでなく、Wi-Fi Direct(WFD)によって端末装置101と接続しても良い。即ち、通信装置151は、Group Ownerして動作し、WFDによる通信によって端末装置101から設定コマンドを受信しても良い。
【0044】
また、通信装置151は、BLE通信の有効化処理として、アドバタイズ情報の送信を開始する。これにより、通信装置151は、端末装置101とBLEによる接続を確立可能な状態になる。なお、本実施形態では、通信装置151は、BLE通信が有効化されてから所定の期間内、BLEによるペアリング要求を受信可能な状態となる。そして、通信装置151は、当該所定の期間において、BLEによるペアリング要求を受信すると、ペアリング要求の送信元の装置とペアリングを行い、BLE接続を確立する。通信装置151は、当該所定の期間において、BLEによるペアリング要求が受信されなかった場合は、BLE通信を無効化するようにしても良い。
【0045】
通信装置151は、接続設定モードによって、Wi-Fi通信、及びBLE通信の両方を有効化すると、それらの通信を介して設定コマンドを受信し、受信した設定コマンドに応じた処理を実行する。
【0046】
<Wi-Fiを用いた接続設定処理について>
図2は、Wi-Fiを用いた接続設定処理において各装置が実行する処理を示すシーケンス図である。図2の各処理は、例えば、各装置において、メモリに記憶されたプログラムをCPUがRAMに読み出して実行することにより実現される。
【0047】
S201において、端末装置101とAP131とは、Wi-Fiによって接続されている。S202において、通信装置151は、接続設定モードでの動作を開始する。接続設定モードとは、通信装置151で接続設定処理を実行するためのモードである。
【0048】
通信装置151は、接続設定モードでの動作を開始すると、接続設定モード専用の、通信装置151の内部のAP(接続設定用AP)を有効化する。これにより、通信装置151は、端末装置101とWi-FiによるP2P接続を確立可能な状態になる。接続設定用APと接続するための接続情報(SSIDやパスワード)は、端末装置101にインストールされた接続設定用アプリに予め保持されており、端末装置101は、接続設定用APと接続するための接続情報を予め認識している。本実施形態では、P2Pモードにおいて有効化されるAPの接続情報と異なり、接続設定用APと接続するための接続情報は、ユーザによる任意の変更が不可である。
【0049】
なお、通信装置151は、接続設定モードでの動作を開始すると、さらに、BLE機能を有効化し、アドバタイズ情報の送信を開始する。これにより、通信装置151は、端末装置101とBLEによる接続を確立可能な状態になる。
【0050】
S203において、端末装置101は、接続設定用アプリにより表示部108に表示されるユーザインタフェース画面を介して、ユーザから接続設定処理の実行指示(所定の操作)を受け付ける。S204において、端末装置101は、接続設定処理の実行指示を受け付けた時に接続しているAP(例えば、AP131)に関する情報をメモリに格納する。以下、接続設定処理の実行指示を受け付けた時に接続しているAPをAP131として説明する。AP131に関する情報とは、例えば、AP131と接続するための接続情報(SSIDやパスワード)や、AP131との接続に用いていた周波数やチャネルに関する情報である。
【0051】
S205において、端末装置101は、AP131とのWi-Fiによる接続を切断する。S206において、端末装置101は、予め認識している接続設定用APと接続するための接続情報を用いて、通信装置151内部の接続設定用APとWi-Fiによる接続を確立する。これにより、端末装置101は、一時的に、通信装置151とWi-FiによるP2P接続を確立する。
【0052】
S207において、端末装置101は、接続設定処理の開始コマンドを、Wi-Fiによる接続を介して、通信装置151に送信する。なお、接続設定処理の開始コマンドが送信された後に、後述のAPリストが受信されるため、本実施形態では、接続設定処理の開始コマンドは、APリストの要求コマンドの役割を果たしている。
【0053】
S208において、通信装置151は、自身がWi-Fi接続可能なアクセスポイントを検索する。そして通信装置151は、検索結果である、自身がWi-Fi接続可能なアクセスポイントのリスト(APリスト)を、Wi-Fiによる接続を介して、端末装置101に送信する。即ち、端末装置101は、Wi-Fiによる接続を介して、APリストを取得する。なお、アクセスポイントの検索のタイミングは、このタイミングに限られず、例えば、接続設定モードでの動作を開始した直後等であっても良い。
【0054】
S209において、端末装置101は、インフラ設定コマンドを、Wi-Fiによる接続を介して、通信装置151に送信する。インフラ設定コマンドは、通信装置151に接続させるアクセスポイントと接続するための接続情報を含む。例えば、APリストに、S204でメモリに格納されたAP131が含まれているのであれば、通信装置151に接続させるアクセスポイントは、S204でメモリに格納されたAP131となる。また、例えば、APリストに、S204でメモリに格納されたAP131が含まれないのであれば、通信装置151に接続させるアクセスポイントは、APリストからユーザにより選択されたアクセスポイントとなる。ここでは、通信装置151に接続させるアクセスポイントは、S204でメモリに格納されたAP131として説明する。なお、このとき、端末装置101は、AP131と接続するための追加の接続情報(パスワード等)の入力を、ユーザから受け付けて、当該追加の接続情報を合わせてインフラ設定コマンドとして通信装置151に送信しても良い。
【0055】
S210において、端末装置101は、通信装置151とのWi-FiによるP2P接続を切断する。S211において、端末装置101は、S204でメモリに格納されたAP131と接続するための接続情報を用いて、AP131とWi-Fiにより再度接続する。
【0056】
S212において、通信装置151は、S209で受信したインフラ設定コマンドに基づいて、S209で受信したAP131と接続するための接続情報を用いて、AP131とWi-Fiによって接続する。これにより、通信装置151は、インフラストラクチャモードとして動作を開始し、端末装置101と通信装置151との間に、AP131を介したインフラストラクチャ接続が確立される。
【0057】
なお上述では、S209においてインフラ設定コマンドが送信される形態を説明したが、この形態に限定されない。たとえば、P2P設定コマンドが送信されても良い。その場合、P2P設定コマンドを受信した通信装置151は、端末装置101に対して、P2Pモードで動作中の通信装置151と接続するための接続情報を送信する。当該接続情報は例えば、通信装置151がP2Pモードで動作中に有効化されるアクセスポイントのSSIDや当該アクセスポイントと接続するためのパスワードを含む。なお、通信装置151がP2Pモードで動作中に有効化されるアクセスポイントは、通信装置151が接続設定モードで動作中に有効化されるアクセスポイントとは異なるアクセスポイントである。すなわち、通信装置151がP2Pモードで動作中に有効化されるアクセスポイントのSSIDは、通信装置151が接続設定モードで動作中に有効化されるアクセスポイントのSSIDとは異なるものとする。そして通信装置151は、P2Pモードとしての動作を開始し、アクセスポイントを有効化する。そして端末装置101は、受信した接続情報を用いて、P2Pモードとして動作している通信装置151と接続する。
【0058】
<接続設定モードで動作する通信装置151を検索する処理について>
上述したように、本実施形態において端末装置101は、接続設定モードで動作する通信装置151と接続する。このためには端末装置101は、接続設定モードで動作する通信装置151を検索する必要がある。ここでは、接続設定モードで動作する通信装置151を検索する処理(検索処理)について説明する。
【0059】
例えば、iOS等、一部の組み込みOSは、端末装置101上のアプリケーションに対し、組み込みOSが実行した検索により発見されたアクセスポイントのリストを提供していない。そのため、従来は、接続設定用アプリによる接続設定処理の対象となる装置を選択するためには、組み込みOSに対応した設定アプリを別途起動させていた。そして、当該設定アプリ上で接続設定処理の対象となる装置が有するアクセスポイントをユーザに選択させ、選択されたアクセスポイントと端末装置101とを接続させていた。そしてその後、接続設定用アプリを再びフォアグラウンドで動作させ、端末装置101が接続しているアクセスポイントを有する装置を、接続設定用アプリによる接続設定処理の対象となる装置として選択していた。これらの形態には、ユーザに煩雑な操作を要求するという課題がある。
【0060】
このような煩雑な操作を省略させるためには、以下のような形態が考えられる。例えば、接続設定用アプリによる接続設定処理の対象となる各装置が全て、同一のSSIDを有するアクセスポイントを有する構成とする形態である。そして、接続設定アプリは、当該同一のSSIDを予め記憶しており、当該同一のSSIDを有するアクセスポイントと端末装置101との間の接続の確立をOSに指示する形態である。
【0061】
しかしながら、この形態では、接続設定用アプリによる接続設定処理の対象となる各装置が全て、同一のSSIDを有するアクセスポイントを有する必要があり、各装置の接続性に関するセキュリティが低下するという課題がある。
【0062】
本実施形態では、これらの課題を解決する形態を説明する。具体的には本実施形態では、接続設定用アプリによる接続設定処理の対象となる各装置は、各装置間で共通の文字列と各装置個別の文字列の両方を含むSSIDを有するアクセスポイントを有する構成とする。そして、接続設定用アプリは、各装置間で共通の文字列を、接続設定用アプリ内に予め記憶しているものとする。すなわち、接続設定用アプリは、共通の文字列の入力をユーザから受け付ける必要はない。そして、接続設定アプリは、共通の文字列を少なくとも含むSSIDを有するアクセスポイントの検索をOSに指示する。そして、発見されたアクセスポイントと端末装置101との間の接続の確立をOSに指示する。このような形態とすることで、接続設定処理の対象となる各装置の接続性に関するセキュリティの低下を抑制しつつ、ユーザに煩雑な操作を要求することがない利便性の高い接続設定を実行する。
【0063】
図3は、接続設定モードで動作する通信装置151を検索する処理において、端末装置101にインストールされた接続設定用アプリとROM104に格納されている組み込みOSが実行する処理を示すシーケンス図である。なお本処理は、接続設定用アプリがフォアグラウンドで動作しており、接続設定用アプリによる画面が表示部108に表示されている状態で実行される。
【0064】
S301において、組み込みOSは、端末装置101が接続可能なアクセスポイントを検索する。具体的には組み込みOSは、端末装置101の周囲に存在しており、SSID等を含むビーコンを送信しているアクセスポイントを、当該ビーコンを受信することで検索する。そして組み込みOSは、検索により発見されたアクセスポイントのリスト(APリスト)をメモリに格納する。なおアクセスポイントの検索は、組み込みOSによって、任意のタイミングで適宜実行される。
【0065】
S302において、接続設定用アプリは、組み込みOSに対し、アクセスポイントとの接続を指示するための接続指示を行う。なお組み込みOSに対しては、2種類の接続指示を行うことが可能である。第1の接続指示は、ある文字列を指定し、指定された文字列と完全に一致するSSIDを有するアクセスポイントと端末装置101とを接続させるための指示である。指定された文字列と完全に一致するSSIDとは言い換えれば、指定された文字列のみ含み、指定された文字列以外の文字列を含まないSSIDである。第2の接続指示は、ある文字列を指定し、指定された文字列を少なくとも含むSSIDを有するアクセスポイントと端末装置101とを接続させるための指示である。指定された文字列を少なくとも含むSSIDとは言い換えれば、例えば、指定された文字列と指定された文字列以外の文字列の両方を含むSSIDである。本実施形態では、S302では、後者の種類の接続指示が行われるものとする。そして、接続指示において、特定の文字列が指定されるものとする。特定の文字列とは、本実施形態では、接続設定モードで動作している通信装置151が有効化している内部アクセスポイントのSSIDに含まれる文字列である。そして、接続設定用アプリによる接続設定処理の対象となる各装置が有する各アクセスポイントのSSIDが共通して含んでいる文字列である。言い換えれば、接続設定用アプリによる接続設定処理の対象となる各装置が有する各アクセスポイントのSSIDが含んでいる、特定の文字列以外の文字列は、各装置毎に異なるものとする。なお、いずれの通信装置151が、接続設定モードで動作中にいずれのSSIDを有するアクセスポイントを有効化するかは、例えば、通信装置151のベンダーや、型番、装置の種類等によって決定される。例えば、接続設定用アプリを提供するベンダーが提供する、所定の種類の装置(例えばプリンタ)は全て、接続設定モードで動作中は、各装置間で共通の文字列と各装置間でそれぞれ異なる文字列とを含むSSIDを有するアクセスポイントを有効化する。またこのとき、SSIDの指定方法は、先頭文字列による指定に限られず、一部を指定する方法であれば良い。例えば、後方文字列による指定や、ワイルドカードを含む文字列による指定、正規表現を用いた指定方法等であっても良い。なお組み込みOSは、第2の接続指示を受け付けた場合、指定された文字列のみ含み、指定された文字列以外の文字列を含まないSSIDを有するアクセスポイントと端末装置101との間の接続も確立させることができる。本実施形態では、接続設定用アプリによる接続設定処理の対象となる各装置は全て、指定された文字列と指定された文字列以外の文字列の両方を含むSSIDを有するアクセスポイントを有効化するものとする。
【0066】
S303において、組み込みOSは、接続設定用アプリによって指定された特定の文字列を含むSSIDを有するアクセスポイントを、メモリに格納されているAPリストから検索する。本検索により特定の文字列を含むSSIDを有するアクセスポイントが発見された場合、組み込みOSは、発見されたアクセスポイントを、接続対象のアクセスポイントとして特定し、S304に進む。なお、接続設定用アプリによって指定された特定の文字列を含むSSIDを有するアクセスポイントが、APリストに複数存在する場合がある。この場合は例えば、特定の優先順位により決定された1つのアクセスポイントを、接続対象のアクセスポイントとして特定しても良い。その場合、アクセスポイントが発見された順番や、電波強度の高さ等に基づいて、特定の優先順位が決定されても良い。本実施形態では、接続設定用アプリによって指定された特定の文字列を含むSSIDを有するアクセスポイントが、APリストに複数存在する場合は、該当するアクセスポイントのうち、リストにおいて一番先頭にあるアクセスポイントが特定される。より具体的には、該当するアクセスポイントのうち、組み込みOSによる検索において一番最初に発見されたアクセスポイントが特定される。一方、本検索により特定の文字列を含むSSIDを有するアクセスポイントが発見されなかった場合、組み込みOSは、特定の文字列を含むSSIDを有するアクセスポイントが発見されなかったことを接続設定用アプリに通知し、処理を終了する。
【0067】
S304において、組み込みOSは、接続対象のアクセスポイントとして特定されたアクセスポイントへの端末装置101の接続の許可を確認するための確認領域を、接続設定用アプリが表示している通知画面上に、ポップアップ表示する。確認領域には例えば、接続対象のアクセスポイントとして特定されたアクセスポイントのSSIDが表示される。確認領域に対して、ユーザから、アクセスポイントに端末装置101を接続してよいことを示す入力が行われた場合、組み込みOSは、S305に進む。一方、確認領域に対して、ユーザから、アクセスポイントに端末装置101を接続なくてよいことを示す入力が行われた場合、組み込みOSは、アクセスポイントと端末装置101との間の接続を確立させることなく、処理を終了する。またこの場合、組み込みOSは、アクセスポイントと端末装置101との間の接続の確立が失敗したことを接続設定用アプリに通知する。なおこのとき、組み込みOSや接続設定用アプリは、アクセスポイントと端末装置101との間の接続を成功させるための領域を表示しても良い。当該領域は例えば、確認画面に表示されたSSIDを有するアクセスポイントでない、ユーザ任意のアクセスポイントに、端末装置101を近づけるようユーザを促すためのメッセージを含む領域である。これは、端末装置101に近い場所に位置するアクセスポイントの方が、組み込みOSによる検索においてより早く発見されやすくなるためである。また例えば、確認画面に表示されたSSIDを有するアクセスポイントを無効化するようユーザを促すためのメッセージを含む領域である。また例えば、組み込みOSに対応する設定アプリによって、確認画面に表示されたSSIDを有するアクセスポイントでない、ユーザ任意のアクセスポイントと端末装置101とを接続させるようユーザを促すためのメッセージを含む領域である。
【0068】
S305において、組み込みOSは、接続対象のアクセスポイントとして特定されたアクセスポイントと端末装置101との間の接続を確立させる処理(接続処理)を実行する。なお、接続処理によって確立される接続は、言い換えれば、接続対象のアクセスポイントとして特定されたアクセスポイントを有効化している通信装置151と端末装置101との間の接続である。S306において、組み込みOSは、S305の接続処理の実行結果を接続用アプリに送信する。この実行結果は、成功・失敗等のステータスだけでなく、失敗した場合の失敗原因などの情報を含んでも良い。実行結果を受信した接続用アプリは、実行結果を示す画面を、接続用アプリの画面として表示部108を介して表示する。図3の処理が行われることで、S206で説明したように、端末装置101と、通信装置151内部の接続設定用APとWi-Fiによる接続が確立される。
【0069】
<接続設定用アプリの処理について>
図4は、Wi-Fiを用いた接続設定処理において接続設定用アプリが実行する処理を示すフローチャートである。図4の処理は、例えば、端末装置101のCPU103がROM104から接続設定用アプリを読み出して実行することにより実現される。
【0070】
S401において、CPU103は、表示部108に接続設定用アプリにより表示される画面を介して、ユーザから接続設定処理の実行指示を受け付ける。本処理は、S203に対応する。
【0071】
S402において、CPU103は、実行指示を受け付けたときに端末装置101が接続しているAP(例えばAP131)に関する情報を、接続設定用アプリにより、メモリに格納する。本処理は、S204に対応する。なおこのとき、端末装置101がAPに接続していない場合は、本処理は省略される。
【0072】
S403において、CPU103は、接続設定用アプリにより、組み込みOSに対し、特定の文字列を指定する。そして、CPU103は、特定の文字列を少なくとも含むSSIDを有するアクセスポイントと端末装置101との間のWi-Fi接続を確立するよう組み込みOSに対し指示する。本処理は、S302に対応する。
【0073】
S404において、CPU103は、接続設定用アプリにより、指定条件を満たすSSIDを有するアクセスポイントと端末装置101との間のWi-Fi接続の確立が成功したか否かを判定する。指定条件を満たすSSIDとはすなわち、特定の文字列を含むSSIDである。本処理は、組み込みOSから通知される実行結果に基づいて実行される。また、特定の文字列を含むSSIDを有するアクセスポイントが発見されなかったことがOSから通知された場合、Wi-Fi接続の確立が失敗したと判定される。Wi-Fi接続の確立が成功していないと判定された場合、図4の処理を終了する。一方、Wi-Fi接続の確立が成功したと判定された場合、S405に進む。
【0074】
S405において、CPU103は、接続設定用アプリにより、接続設定処理の開始コマンドを、確立されたWi-Fi接続を介して、通信装置151に送信する。本処理は、S207に対応する。なお、上述したように、接続設定処理の開始コマンドは、APリストの要求コマンドとしての役割を果たす。
【0075】
S406において、CPU103は、接続設定用アプリにより、S405で送信されたコマンドに対する応答として、通信装置151からAPリストを取得する。本処理は、S208に対応する。このとき、APリストを受信できなかった場合、表示部108にエラーメッセージを表示して、図4の処理を終了するようにしても良い。
【0076】
S407において、CPU103は、接続設定用アプリにより、インフラ設定コマンドを、端末装置101のWi-Fiによる接続を介して、通信装置151に送信する。本処理は、S209に対応する。なお、上述したように、インフラストラクチャ設定コマンドは、通信装置151に接続させるアクセスポイントと接続するための接続情報を含む。
【0077】
なおS407において、CPU103は、接続設定用アプリにより、P2P設定コマンドを送信しても良い。その場合、CPU103は、接続設定用アプリにより、通信装置151から、P2Pモードで動作中の通信装置151と接続するための接続情報を受信し、当該接続情報を用いて、P2Pモードで動作中の通信装置151が有効化しているアクセスポイントと端末装置101との間のWi-Fi接続を新たに確立するよう組み込みOSに対し指示する。なおこのとき、接続設定用アプリは、P2Pモードで動作中の通信装置151が有効化しているアクセスポイントのSSIDに含まれる文字列を、接続情報によって完全に特定できている。そのため、P2Pモードで動作中の通信装置151が有効化しているアクセスポイントのSSIDに含まれる文字列全てを指定することで、OSに対して第1の接続指示を行う。これにより、接続設定モードで動作中の通信装置151が有効化しているアクセスポイントと端末装置101との間のWi-Fi接続が切断される。そして、P2Pモードで動作中の通信装置151が有効化しているアクセスポイントと端末装置101との間のWi-Fi接続が確立される。
【0078】
なおS407において、インフラ設定コマンドとP2P設定コマンドのうちいずれが送信されるかは、任意に決定されてよい。例えば、接続設定処理の実行指示の受付において、インフラ接続とP2P接続どちらを確立させるかをユーザに選択画面上で選択させることで、選択された接続に対応する設定コマンドが送信されるように制御されても良い。また例えば、接続設定処理の実行指示が受け付けられたときに端末装置101がいずれかのアクセスポイントと接続している場合は、インフラ設定コマンドが送信されるように制御されても良い。そして、続設定処理の実行指示が受け付けられたときに端末装置101がいずれのアクセスポイントとも接続していない場合は、P2P設定コマンドが送信されるように制御されても良い。
【0079】
このように、本実施形態では、接続設定用アプリによる接続設定処理の対象となる各装置は、各装置間で共通の文字列と各装置個別の文字列の両方を含むSSIDを有するアクセスポイントを有する構成である。そして、接続設定アプリは、OSから、APリストを取得しない。すなわち、APリスト中の、共通の文字列を少なくとも含むSSIDを有するアクセスポイントの検索を接続設定アプリは実行しない。かわりに、接続設定アプリは、OSが取得しているAPリスト中の、共通の文字列を少なくとも含むSSIDを有するアクセスポイントの検索を、OSに指示する。そして、共通の文字列を少なくとも含むSSIDを有するアクセスポイントと端末装置101との間の接続の確立をOSに指示する。このような形態とすることで、接続設定アプリ側でAPリストの取得を実行せずとも、任意のアクセスポイントと端末装置101との間の接続を確立することができる。また、接続設定処理の対象となる各装置の接続性に関するセキュリティの低下を抑制しつつ、ユーザに煩雑な操作を要求することがない利便性の高い接続設定を実行する。
【0080】
[第2実施形態]
以下、第1実施形態と異なる点について本実施形態を説明する。本実施形態では、特定の文字列を含むSSIDを有するアクセスポイントがOSによって発見されなかった場合、接続設定用アプリは、再度OSに、アクセスポイントの検索指示や接続指示を送信することによって、一定間隔でポーリングを行う。そのような構成により、例えば、通信装置151による接続設定モードでの動作の開始が遅れており、1度目の検索では、特定の文字列を含むSSIDを有するアクセスポイントがOSによって発見されなかった場合でも、接続設定処理を完了される可能性を高めることができる。
【0081】
図5は、接続設定モードで動作する通信装置151を検索する処理を示すシーケンス図である。
【0082】
S501において、組み込みOSは、端末装置101が接続可能なアクセスポイントを検索する。そして組み込みOSは、検索により取得されたアクセスポイントのリスト(APリスト)をメモリに格納する。本処理は、S301と同様である。
【0083】
S502において、接続設定用アプリは、組み込みOSに対し、特定の文字列を指定することで、特定の文字列を含むSSIDを有するアクセスポイントへ端末装置101を接続させるための指示を行う。本処理は、S302と同様である。
【0084】
S503において、組み込みOSは、接続設定用アプリによって指定された特定の文字列を含むSSIDを有するアクセスポイントを、メモリに格納されているAPリストから検索する。組み込みOSは、特定の文字列を含むSSIDを有するアクセスポイントが本検索によって発見された場合、S504に進み、特定の文字列を含むSSIDを有するアクセスポイントが本検索によって発見されなかった場合、S508に進む。
【0085】
特定の文字列を含むS504において、組み込みOSは、S503の検索によりリストから発見されたアクセスポイントに端末101装置を接続してよいかを確認するための領域を、表示部108を介して表示する。本処理は、S304と同様である。
【0086】
S505において、組み込みOSは、S303の検索によりリストから発見されたアクセスポイントと端末装置101との間の接続を確立させる処理(接続処理)を実行する。本処理は、S305と同様である。S506において、組み込みOSは、S505の接続処理の実行結果を接続用アプリに送信する。この時の実行結果は、成功・失敗等のステータスだけでなく、失敗した場合の失敗原因などの情報を含んでも良い。実行結果を受信した接続用アプリは、実行結果を示す画面を、接続用アプリの画面として表示部108を介して表示する。本処理は、S306と同様である。その後、S206で説明したように、端末装置101と、通信装置151内部の接続設定用APとWi-Fiによる接続が確立される。
【0087】
一方、S508では、組み込みOSは、接続設定用アプリに対して、SSIDが発見されなかったエラーが発生したことを示す通知を送信する。組み込みOSからエラー通知を受信した接続設定用アプリは、S509において、一定時間スリープ状態となる。一定時間が経過してスリープが解除されると、再度、S502からの処理が繰り返される。S510において、組み込みOSは、S501と同様の処理を再び実行する。すなわち組み込みOSは、端末装置151が接続可能なアクセスポイントを検索し、結果をメモリに格納する。本処理は、接続設定用アプリがスリープ中に実行される。
【0088】
このように、本実施形態によれば、特定の文字列を含むSSIDを有するアクセスポイントがOSによって発見されなかった場合、接続設定用アプリが、一定間隔でポーリングを行う。その結果、接続設定処理を完了させる可能性を高めることができる。
【0089】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0090】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0091】
101 端末装置: 103、154 CPU: 104、152 ROM: 105、152 RAM: 131 アクセスポイント: 151 通信装置
図1
図2
図3
図4
図5