以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<第1実施形態>
本実施形態の端末装置及び通信装置について説明する。端末装置として、本実施形態ではスマートフォンを例示しているが、これに限定されず、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、端末装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
(システム構成)
まず、図1~図6を参照して本実施形態に係る通信システムの構成について説明する。
図1は、本実施形態に係る通信システムの構成の一例を示す図である。このシステムは、アクセスポイント(AP)400、端末装置200及びMFP300を含むものとする。
端末装置200は、本実施形態に係る端末装置(情報処理装置)の一例である。Multi-Function Peripheral(MFP)300は、本実施形態に係る通信装置の一例である。また、MFP300と端末装置200は、インフラストラクチャモードによる接続(以下、インフラ接続とも呼ぶ)が可能である。つまり、外部アクセスポイントであるAP400により構築されたネットワークであるWireless Local Area Network(WLAN)を介して、MFP300と端末装置200は相互に通信することが可能である。
また、MFP300や端末装置200は、それぞれの装置自身がアクセスポイントとして動作することもできる。そのため、例えばいずれか一方の装置がアクセスポイントとして動作し、他方の装置が当該アクセスポイントに接続することで、端末装置200とMFP300はAP400を介さずに直接無線LAN接続することも可能である。また、端末装置200とMFP300は共にWLANの機能を有するため、認証処理を実行することによってピアツーピア(P2P)の通信が可能となる。なお、各装置は、アクセスポイントとして動作する場合、通信相手の装置と無線LANを形成し、ビーコン信号を定期的に送信する。さらに、アクセスポイントとして動作する装置はネットワークを構築する親局として機能し、無線通信のために使用されるチャネルを決定したり、通信相手の装置から送信される接続情報(パスワード等)の認証処理を行う。
続いて、無線通信システムにおけるアクセスポイント(親局)とクライアント(子局)の動作について説明する。アクセスポイントとして動作する装置(以下、AP側装置と称する)は、ビーコン信号を送信する。そして、クライアントとして動作する装置(以下、CL側装置と称する場合がある)は、ビーコン信号を受信すると、AP側装置に機器探索コマンド(Probe Requestフレーム)を送信して通信相手となる装置(通信相手装置)を探索して発見する。探索するCL側装置は、機器探索コマンドに、アクセスポイントのSSID等、種々の属性(パラメータ)を含めることが可能である。特にP2P無線接続の場合には、機器探索コマンドに、P2P無線接続に関する情報(P2Pエレメント)が含まれている。そして、AP側装置は、受信した機器探索コマンドに含まれるSSIDが自身のSSIDと一致する場合、応答コマンド(Probe Responseフレーム)をCL側装置に送信する。これにより、各装置は、相互に相手側の装置を発見することができる(探索(Discovery))。以降、装置の種類を示す機器情報やIPアドレスの確認等の処理シーケンスが各装置間で実行され、その後、例えば接続相手がプリンタである場合には、印刷等の各種アプリケーションの実行が可能となる。
((装置のハードウェア構成))
図2は端末装置200の外観を示す図である。本実施形態では、情報処理装置である端末装置の一例としてスマートフォンを例にしている。スマートフォンとは、携帯電話の通話機能の他に、カメラや、ウェブブラウザ、電子メールなどの各種アプリケーションを搭載した多機能型の携帯電話のことである。
無線通信部201は無線ローカルエリアネットワーク(WLAN)で通信を行うためのユニットである。無線通信部201は、例えばIEEE802.11規格(IEEE 802.11aやIEEE 802.11ac、IEEE 802.11n、IEEE 802.11ax等)に準拠したWLANシステムにおけるデータ(パケット)通信が可能であるものとする。本例では、無線通信部201は、2.4GHz帯と5GHz帯とのいずれの帯域のチャネルでも通信可能である。また6GHz帯のチャネルで通信可能でもよい。また、無線通信部201を用いた無線通信では、Wi-Fi Direct(WFD)(登録商標)をベースにした通信、ソフトウェアAPモードによる通信、無線インフラモードによる通信などが可能である。
表示部202は、例えば、LCD方式の表示機構を備えたディスプレイである。
操作部203は、ユーザによる操作を受け付ける操作機構であり、一例ではタッチパネル方式の操作機構である。本実施形態では、タッチパネルディスプレイが表示部202および操作部203を備えるものとして説明を行う。表示部202がボタンアイコンやソフトウェアキーボードなどの表示を行い、ユーザが表示されたボタンアイコンやソフトウェアキーに触れることによって操作部203が操作イベントを検知する。
電源キー204は電源のオン及びオフをする際に用いるハードキーである。
図3はMFP300の外観を示す図である。図3において、原稿台301は、スキャナ(読取部)で読み取らせる原稿を載せるガラス状の透明な台である。原稿蓋302は、スキャナで読取を行う際に原稿を押さえたり、読取の際に原稿を照射する光源からの光が外部に漏れないようにしたりするための蓋である。
印刷用紙挿入口303は様々なサイズの用紙をセット可能な挿入口である。印刷用紙挿入口303にセットされた用紙は一枚ずつ印刷部に搬送され、印刷部で印刷を行って印刷用紙排出口304から排出される。
操作表示部305は、文字入力キー、カーソルキー、決定キー、取り消しキー等のキーと、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、ユーザによってMFPとしての各種機能の起動や各種設定を行うことができる。また、タッチパネルディスプレイによって構成されてもよい。無線通信部306は、WLANで通信するための無線通信回路を備える通信部である。本実施形態の無線通信部306は、無線通信部201と同等の機能を持つものとして説明を行う。つまり、無線通信部306は、IEEE802.11規格(IEEE 802.11aやIEEE 802.11ac、IEEE 802.11n、IEEE 802.11ax等)に準拠したWLANシステムにおけるデータ(パケット)通信が可能であるものとする。また、無線通信部306は、2.4GHz帯と5GHz帯とのいずれの帯域のチャネルでも通信可能である。また6GHz帯のチャネルで通信可能でもよい。また、無線通信部201を用いた無線通信では、Wi-Fi Direct(WFD)(登録商標)をベースにしたダイレクト通信、ソフトウェアAPモードによるダイレクト通信、インフラモードによる通信などが可能である。なお、ダイレクト通信の場合、MFP300が親局として動作し、端末装置200が子局として動作することが好ましい。
図4は、MFPの操作表示部305の画面表示の一例を模式的に示した図である。図4(a)は、MFPに電源が投入され、印刷やスキャン等の動作をしていない状態(アイドル状態)を示すホーム画面である。キー操作やタッチパネル操作によりコピーやスキャン、インターネット通信を利用したクラウド機能のメニュー表示から、各種設定、機能実行が可能である。図4(a)のホーム画面からキー操作やタッチパネルの操作によって図4(a)とは異なる機能を実行するためのアイコンが表示された画面に切り替えることができる。
図4(b)は、図4(a)とは異なる機能を実行するためのアイコンが表示された画面の一例であり、プリントやフォト機能の実行やLAN設定の変更が実行可能な画面である。図4(c)は、図4(b)の画面において、LAN設定を選択した際に表示される画面である。この画面から無線インフラモードの有効/無効設定や、WFDやソフトウェアAPモード等のP2Pモードの有効/無効設定など各種のLAN設定変更が実行できる。また、無線LANの周波数帯域やチャネルを設定することもできる。なお無線インフラモードを第1の通信モードと呼び、P2Pモードを第2の通信モードと呼ぶことがある。
((端末装置200の構成))
図5は端末装置200の構成を示すブロック図である。端末装置200は、端末装置全体の制御を行うメインボード501と、WLAN通信を行う無線通信部201とを有する。メインボード501において、CPU(中央演算処理部)502は、システム制御部であり、端末装置200の全体を制御する。以降に示す端末装置200の処理はCPU502の制御によって実行される。ROM503は、CPU502が実行する制御プログラムや組込オペレーティングシステム(OS)プログラム等を記憶する。ROM503に記憶されている各制御プログラムは、ROM503に記憶されている組込OSの管理下で、プロセスのスケジューリングやタスクスイッチ等のソフトウェア制御を行う。
RAM504は、SRAM(Static RAM)等で構成され、プログラム制御変数等のデータを記憶し、また、ユーザが登録した設定値や端末装置200の管理データ等のデータを記憶し、各種ワーク用バッファ領域が設けられる記憶ユニットである。
画像メモリ505は、DRAM(Dynamic RAM)等のメモリで構成され、無線通信部201を介して受信した画像データや、データ蓄積部513から読み出した画像データをCPU502で処理するために一時的に記憶する記憶ユニットである。
不揮発性メモリ512は、フラッシュメモリ(flash memory)等のメモリで構成され、電源がオフされてもデータを記憶し続けることができる。不揮発性メモリ512には、制御プログラムや組み込みOSが使用する各種データや、ユーザによって保存されたデータが記憶される。
なお、これらのようなメモリ構成はこれに限定されるものではない。例えば、画像メモリ505とRAM504との機能を同一のメモリによって実現してもよいし、データ蓄積部513にデータのバックアップ等を行ってもよい。また、本実施形態では、画像メモリ505にDRAMを用いているが、ハードディスクや不揮発性メモリ等の他の記憶媒体を使用する場合もあるのでこの限りではない。
データ変換部506は、種々の形式のデータの解析や、色変換、画像変換等のデータ変換を行う。電話部507は、電話回線の制御を行い、スピーカ部514を介して入出力される音声データを処理することで電話による通信を実現する。操作部508は、図2に示す操作部203を制御してユーザ操作を受け付ける。GPS(Global Positioning System:全地球測位システム)509は、端末装置200の緯度や経度等の位置情報を取得するセンサユニットである。
表示制御部510は、図2に示す表示部202を制御し表示内容を電子的に制御しており、各種入力操作や、MFP300の動作状況、ステータス状況の表示等を行うことができる。カメラ部511は、レンズを介して入力された画像を電子的に記録して符号化する機能を有している。カメラ部511で撮影された画像はデータ蓄積部513に保存される。スピーカ部514は電話機能のための音声を入力または出力する機能や、その他、アラーム通知等の機能を実現する。電源部515は、充電可能な二次電池の充電状態の管理や残電量の取得、装置内への電力供給制御を行う。電源状態には、電池に残量が無い電池切れ状態、電源キー204を押下していない電源オフ状態、通常起動している起動状態、起動しているが省電力になっている省電力状態がある。
無線通信部201は、例えばIEEE802.11規格(IEEE 802.11aやIEEE 802.11ac、IEEE 802.11n、IEEE 802.11ax等)に準拠したWLANシステムにおけるデータ(パケット)通信が可能である。すなわち、無線通信部201は、例えば、Wi-Fi(登録商標)による通信を実行可能であるものとする。無線通信部201は、WLAN接続を確立するための、ビーコン検知処理や認証処理、WLAN接続を確立した通信装置への印刷ジョブの送信等の機能を担う。無線通信部201により、端末装置200は、MFP300等の他の装置とのデータ通信を行うことができる。無線通信部201は、データをパケットに変換し、他の装置にパケット送信を行ったり、逆に、外部の他デバイスからのパケットを、元のデータに復元してCPU502に対して送信したりする。なお、無線通信部201はバスケーブル516を介してメインボード501に接続されている。
メインボード501内の各種構成要素(503~515)は、システムバス518を介して、相互に通信可能に接続されている。
((MFP300の構成))
図6はMFP300の構成を示すブロック図である。MFP300は、装置自身のメインの制御を行うメインボード601と、WLAN通信を行う無線通信部306とを備える。
メインボード601のCPU(中央演算処理部)602は、システム制御部であり、MFP300の全体を制御する。以降に示すMFP300の処理はCPU602の制御によって実行される。ROM603は、CPU602が実行する制御プログラムや組込オペレーティングシステム(OS)プログラム等を記憶する。本実施形態では、ROM603に記憶されている各制御プログラムは、ROM603に記憶されている組込OSの管理下で、各種プロセスのスケジューリングやタスクスイッチ等のソフトウェア制御を行う。RAM604は、SRAM(Static RAM)等で構成され、プログラム制御変数等のデータを記憶し、また、ユーザが登録した設定値やMFP300の管理データ等のデータを記憶し、各種ワーク用バッファ領域が設けられている。
不揮発性メモリ605は、フラッシュメモリ(flash memory)等のメモリで構成され、電源がオフされてもデータを記憶し続ける記憶ユニットである。画像メモリ606は、DRAM(Dynamic RAM)等のメモリで構成され、無線通信部306を介して受信した画像データや、符号復号化処理部611で処理した画像データなどを蓄積する記憶ユニットである。また、端末装置200のメモリ構成と同様に、このようなメモリ構成はこれに限定されるものではない。データ変換部608は、種々の形式のデータの解析や、画像データから印刷データへの変換等を行う。読取制御部607は、読取部609(例えば、CISイメージセンサ(密着型イメージセンサ))を制御して、原稿上の画像を光学的に読み取る。次に、これを電気的な画像データに変換した画像信号を出力する。このとき2値化処理や中間調処理等の各種画像処理を施してから出力しても良い。
操作表示部305は、図4を参照して説明したため詳細は省略する。符号復号化処理部611は、MFP300で扱う画像データ(JPEG、PNG等)の符号復号化処理や、拡大縮小処理を行う。給紙部613は印刷のための用紙を保持する。印刷制御部614からの制御で給紙部613から用紙の給紙を行うことができる。特に、給紙部613は、複数種類の用紙を一つの装置に保持するために、複数の給紙部を用意することができる。そして、印刷制御部614により、どの給紙部から給紙を行うかの制御を行うことができる。
印刷制御部614は、印刷される画像データに対し、スムージング処理や印刷濃度補正処理、色補正等の各種画像処理を施してから印刷部612に出力する。
印刷部612は、例えば、インクタンクから供給されるインクをプリントヘッドから吐出させて画像を印刷するインクジェット式の印刷デバイスなど、所定の印刷デバイスを採用可能である。また、印刷制御部614は印刷部612の情報を定期的に読み出してRAM604の情報を更新する役割も果たす。具体的には、インクタンクの残量やプリントヘッドの状態等のステータス情報を更新することである。
MFP300にも、端末装置200と同様に無線通信部306が搭載されており、機能は端末装置200の無線通信部201と同様である。つまり、IEEE802.11規格(IEEE 802.11aやIEEE 802.11ac、IEEE 802.11n、IEEE 802.11ax等)に準拠したWLANシステムにおけるデータ(パケット)通信が可能である。すなわち、無線通信部201は、例えば、Wi-Fi(登録商標)による通信を実行可能であるものとする。無線通信部306は、WLAN接続を確立するための、ビーコン検知処理や認証処理、WLAN接続を確立した情報処理装置から送信される印刷ジョブの受信等の機能を担う。無線通信部306により、MFP300は、端末装置200等の他の装置とのデータ通信を行うことができる。無線通信部306は、データをパケットに変換し、他の装置にパケット送信を行ったり、逆に、外部の他デバイスからのパケットを、元のデータに復元してCPU602に対して送信したりする。無線通信部306はバスケーブル615を介してメインボード601に接続されている。なお、端末装置200及びMFP300はWFDをベースにした通信が可能であり、ソフトウェアアクセスポイント(ソフトウェアAP)モードでの通信が可能である。
メインボード601内の各種構成要素(603~614)は、システムバス618を介して相互に通信可能に接続されている。
(P2P(Peer to Peer)モード)
続いて、AP400などの外部装置を介さずに端末装置200とMFP300とが直接無線接続するP2Pモードの無線通信について説明する。なお、本実施形態では、WLANにおける通信においてP2P方式の接続を確立するために、MFP300がP2Pモード(ソフトウェアAPモード)で動作し、端末装置200がP2PモードのMFP300を探索するものとする。
本実施形態では、探索側の探索側装置(本実施形態では端末装置200)が機器探索コマンド(例えば、Probe Requestフレーム)を使用してソフトウェアAPモードで動作する通信相手装置(本実施形態ではMFP300)を探索して発見する。探索側装置は、機器探索コマンドに、種々の属性(パラメータ)を付随することが可能である。特にP2P方式による接続のための探索時には、機器探索コマンドに、P2P無線接続に関する情報(P2Pエレメント)が含まれている。機器探索コマンドに応答する装置は、探索コマンドに属性が指定されていた場合には、通常、探索側の装置のモードの仕様および前提となる仕様(WFDであればWi-Fi)で規定されている範囲で、解釈可能な属性に最大限応答をする事が推奨されている。また、機器探索コマンドに応答する装置は、機器探索コマンドに付随する情報(上記属性を含む)が解釈できない場合であっても、解釈できる情報のみを元に応答することも可能である。
以下、P2Pモードにおける端末装置200とMFP300との無線接続シーケンスについて、図7を参照して説明する。本シーケンス図において各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。また、本シーケンスは、端末装置200がクライアント、MFP300がソフトウェアAPとして動作し、MFP300がビーコン(Beacon)信号を発信している状態で開始されるものとする。なお、MFP300は、ソフトウェアAPとして動作するための所定の操作をユーザから受け付けた場合、ソフトウェアAPとしての動作を開始する。なお、所定の操作とは例えば、着荷時の電源立上げや、LAN設定画面における、ソフトウェアAPとしての動作を開始させるための所定のアイコンを選択する操作である。
まず、S701にて、端末装置200は、端末装置200が利用可能なチャネルを順に使用して機器探索コマンドを含む探索信号を送信し、通信相手装置として動作しているMFP300を検索する。
続いて、S702にて、MFP300は、端末装置200から送信された探索信号を受信した場合、探索信号に対する応答である機器探索応答を含む応答信号を端末装置200に送信する。なお、MFP300は、通信の確立を待ち受けるチャネル以外のチャネルで送信された機器探索コマンドに対しては機器探索応答を送信しない。例えば、MFP300が通信の確立を待ち受けるチャネルが第4チャネルであるとすると、MFP300は、第1チャネルを使用して送信された探索信号に対しては応答信号を送信しない。そのため、端末装置200は、第1チャネルにおいて探索信号を送信した後、一定時間以上MFP300からの応答がない場合には、第2チャネルを使用して探索信号を送信する。端末装置200は、以上のような試行を、使用するチャネルの番号をインクリメントしながら繰り返す。そして例えば、MFP300は、端末装置200が第4チャネルを使用して送信した探索信号を受信すると、端末装置200に応答信号を送信する。これにより、端末装置200は、MFP300を発見することになる。
なお、機器探索応答の送信に利用されたチャネルが、以後、端末装置200とMFP300との間の通信に利用されるチャネルとして決定される。すなわち、端末装置200とMFP300との間の通信に利用されるチャネルは、ソフトウェアAPとして動作するMFP300によって決定される。また、端末装置200が探索信号を送信するチャネルは一例であり、端末装置200は任意のチャネルで探索信号を送信してもよい。
続いて、S703にて、端末装置200とMFP300との間で、無線接続の確立処理を実行する。具体的には、接続要求の送信や、接続要求の認証、IPアドレスの割当等の処理が行われる。なお、端末装置200とMFP300との間での無線接続の確立処理において送受信されるコマンドやパラメータについては、Wi-Fi規格で規定されているものなど公知の技術が用いられればよく、ここでの説明は省略する。
(インフラストラクチャモード)
インフラストラクチャモードとは、通信を行う装置(例えば、端末装置200とMFP300)が、ネットワークを統括する外部装置(例えば、AP400)を介して通信する形態である。
図8は、インフラストラクチャモードにおける無線接続シーケンス図である。なお、本シーケンス図において各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。
まず、S801にて、端末装置200は、端末装置200が利用可能なチャネルを順に使用して探索信号を送信し、アクセスポイントとして動作する装置を検索する。
続いて、S802にて、AP400は、端末装置200から送信された探索信号を受信した場合、探索信号に対する応答である応答信号を端末装置200に送信する。なお、S702の説明において述べたように、AP400は、特定のチャネルで探索信号を待ち受け、当該チャネルで送信された探索信号に対してのみ応答信号を送信する。AP400から送信された応答信号を受信することで、端末装置200はAP400をアクセスポイントとして検出する。なお、応答信号の送信に利用されたチャネルが、以後、端末装置200とAP400との間の通信に利用されるチャネルとして決定される。すなわち、インフラストラクチャモードによる通信に利用されるチャネルは、AP400によって決定される。
続いて、S803にて、端末装置200とAP400との間で、無線接続の確立処理を実行する。無線接続の確立処理は、P2Pモードにおいて説明したように公知の技術が用いられればよく、ここでの説明は省略する。
S804~S806では、S801~S803と同様の処理が、MFP300とAP400との間で実行される。なお、このときAP400は、応答信号を、端末装置200との通信に利用しているチャネルを用いてMFP300に送信する。すなわち、AP400は、MFP300及び端末装置200と、同一のチャネルを用いて通信する。
これによってAP400にMFP300と端末装置200との両方が接続されることで、MFP300と端末装置200との間で、AP400を介した通信が可能となる。
(無線LANセットアップモード)
端末装置が、通信装置に対して、アクセスポイント等の外部装置と接続するための接続情報を送信し、通信装置が、当該接続情報に基づいて外部装置と接続する接続設定を実行する無線LANセットアップ方式が知られている。端末装置が送信する接続情報には、主に接続対象のアクセスポイント等の外部装置を識別するアクセスポイント情報(SSIDなど)や、該当アクセスポイントに接続するための認証情報(パスワード)などが含まれる。また、接続情報に含まれる認証情報には、セキュリティ方式を示す情報が含まれる場合がある。セキュリティ方式は、例えば、WEP、WPA、WPA2パーソナル、WPA2エンタープライズ、WPA2/WPA3 Transitional、WPA3パーソナル、暗号化なし、などがある。つまり、セキュリティ方式を示す情報とは、「WPA」等のセキュリティ方式を示す値を示す。通信装置は端末装置が送信する接続情報に含まれるセキュリティ方式を示す情報、もしくは通信装置が記憶しているセキュリティ方式を示す情報のいずれかに基づき、対応するセキュリティ方式を用いて、外部装置と接続を確立する。
本実施形態では、MFP300は、操作表示部305に対する所定の操作を受け付けることで、P2P接続経由で端末装置から無線LANの設定変更(接続情報の受信)を受け付けることが可能な無線LANセットアップモードに移行する。以後、P2P接続経由で無線LANの設定(通信設定)を行うことを無線LANセットアップといい、接続情報を受信してアクセスポイント等の外部装置に接続を試行することが可能なモードを無線LANセットアップモードと呼ぶ。なお、無線LANセットアップモードへの移行は、例えば、MFP300購入後に電源を初めて入れた際の初期設定フラグの検知を契機に行ったり、無線LANセットアップモードとして動作するための指示をユーザから受け付けたことを契機に行っても良い。また、ビーコン等によって所定のコマンドを受け付けたことを契機に無線LANセットアップモードに移行してもよい。なお、無線LAN設定とは、例えば、MFP300の接続先のアクセスポイントの設定、TCP/IPアドレスの設定、セキュリティ設定等である。
本実施形態において、端末装置200は、MFP300とのインフラ接続を確立するために、無線LANセットアップによってMFP300のLAN設定を変更するものとして説明を行う。具体的には、端末装置200は、MFP300の接続先として、端末装置200が接続しているAP400を設定することで、当該アクセスポイントを介して、MFP300とインフラ接続を確立することができる。このため、MFP300が上述した通信装置に対応し、AP400が上述した外部装置に対応する。
無線LANセットアップでは、端末装置200は、MFP300に対して、AP400に接続するために使用される接続情報をP2Pモードで送信する。続いて、MFP300は受信した接続情報に基づいてAP400に接続し、端末装置200もAP400に接続することでインフラ接続を確立することができる。
また、無線LANセットアップモード時は、MFP300が備えるソフトウェアAPの機能を有効化させることによりMFP300内のアクセスポイント機能が動作する。このMFP300内のアクセスポイント機能は、例えば、パスワードによる認証・暗号処理無しに接続可能であっても良い。あるいは、例えば、無線LANセットアップを実行する端末装置にインストールされている設定アプリケーションに予め組み込まれている固定の接続情報(ここではMFP300内のアクセスポイントに接続するための接続情報)によって接続可能であっても良い。MFP300は設定アプリケーションからのコマンドを受信可能、且つ解釈可能なように構成されており、受信されたコマンドに応じて、MFP300のLAN設定を変更する。
これにより、無線LANセットアップを実行する端末装置は、MFP300に接続するための接続情報の入力をユーザから受け付けたり、MFP300から取得することなく、無線LANセットアップモードで動作するMFP300と接続することができる。また、無線LANセットアップモードで動作している間は、MFP300は、印刷やスキャン等の機能を実施する事は出来ず、無線LAN設定のみ可能な構成となっている。
なお本実施形態では、無線LANセットアップモードで動作するMFP300は、少なくとも2つの方法(設定方式1と設定方式2)で、端末装置200から設定情報を受信することが可能である。
まず、設定方式1について説明する。設定方式1は、設定方式2において利用される通信プロトコルとは異なる通信プロトコルを用いて端末装置200から接続情報を受信する方法である。設定方式1において利用される通信プロトコルは、具体的には例えば、SNMP(Simple Network Management Protocol)である。また上述したように本実施形態では、端末装置200は、MFP300にインフラ接続モードを設定するためには、例えばAP400と接続するための接続情報をMFP300に送信する。すなわち端末装置200は、MFP300に接続情報を送信するためには、AP400と接続するためのパスワードを取得する必要がある。
しかしながら、端末装置200は、MFP300用の設定アプリケーションにより設定方式1で接続情報をMFP300に送信する場合は、端末装置200がAP400と接続したことがあったり接続中であったとしても、ユーザから、設定アプリケーションが表示する画面上で当該パスワードの入力を受け付けることにより当該パスワードを取得する。これは、MFP300用の設定アプリケーションは、設定方式1で設定情報をMFP300に送信する場合は、端末装置200のOSからAP400と接続するためのパスワードを取得することができないためである。言い換えれば、設定方式1とは、MFP300の無線LANセットアップの指示が設定アプリケーションが表示する画面においてユーザから受け付けられた後に、設定アプリケーションが表示する画面においてユーザからパスワードの入力を受け付ける方法である。さらに、そのようにして受け付けられたパスワードを含む接続情報をMFP300に、設定アプリケーションにより送信することによって、MFP300の無線LANセットアップを実行するための方法である。なお設定方式1において利用されるプロトコルは、SNMPに限定されず、他のプロトコルが用いられても良い。
また、設定方式1を用いてMFP300に送信される接続情報にはセキュリティ方式を示す情報が含まれている。よって、接続情報に含まれるセキュリティ方式に従ってMFP300はAP400と接続確立を行う。
次に、設定方式2について説明する。設定方式2において利用される通信プロトコルは、具体的には例えば、HTTP(Hyper Text Transfer Protocol)である。本実施形態では、端末装置200は、設定方式2で接続情報をMFP300に送信する場合は、端末装置200がAP400と接続したことがあったり接続中であった場合には、ユーザから当該パスワードの入力を受け付けることなく、端末装置200のOSから当該パスワードを取得することが可能である。言い換えれば、設定方式2とは、無線LANセットアップのユーザ指示がMFP300用の設定アプリケーションが表示する画面において受け付けられた後、ユーザからパスワードの入力を受け付けず、パスワードを端末装置200のOSから取得する方法である。さらに、そのようにして受け付けられたAP400のパスワードを含む接続情報をMFP300に送信することによって、MFP300の無線LANセットアップを実行するための方法である。
また、設定方式2による接続情報の送信は、設定方式2によって接続情報を送信するためのセットアップアプリケーションにより実行される。このセットアップアプリケーションは、端末装置200に予めインストールされているプログラムであり、端末装置200のOSベンダーによって提供されるプログラムである。そのため、セットアップアプリケーションは、OSから、MFP300用の設定アプリケーションなどの他のアプリケーションでは取得することができない情報(例えばAPと接続するためのパスワード)を取得することができる。なお設定方式2による接続情報の送信は、MFP300用の設定アプリケーションにより行われても良い。この場合例えば、設定方式2用のAPI(Application Programming Interface)をMFP300用の設定アプリケーションが実行することにより、MFP300用設定アプリケーションがパスワードをOSから取得しても良い。
また本実施形態では、無線LANセットアップモードで動作中のMFP300は、設定方式1で設定情報を受信することが可能な状態(設定方式1用の無線LANセットアップモード)と、設定方式2で設定情報を受信することが可能な状態(設定方式2用の無線LANセットアップモード)のうち少なくとも一方で動作するものとする。また、設定方式1用の無線LANセットアップモードを終了するための条件(設定方式1用条件)と、設定方式2用の無線LANセットアップモードを終了するための条件(設定方式2用条件)がそれぞれ別々に設定されることが可能であるものとする。すなわちMFP300は例えば、設定方式1で接続情報を受信することも設定方式2で接続情報を受信することも可能な無線LANセットアップモードとして動作することもあれば、設定方式1で接続情報を受信することが可能である。一方、設定方式2で接続情報を受信することはしない無線LANセットアップモードとして動作することもある。
そして本実施形態では、設定方式2用の無線LANセットアップモードにおいては、MFP300は、所定のビーコンを周囲に送信するものとする。そして端末装置200は、当該所定のビーコンを受信することで、MFP300が、設定方式2用の無線LANセットアップモードであることを認識するものとする。
また、設定方式1を用いてMFP300に送信される接続情報にはセキュリティ方式を示す情報が含まれていたが、設定方式2を用いてMFP300に送信される接続情報にはセキュリティ方式を示す情報が含まれていない。この点について、以下詳細に説明する。
(セキュリティ方式の違いによる接続の失敗例)
上述したように、MFP300は、端末装置200から受信した接続情報に基づいてAP400との接続確立処理を実行する。上述したとおり、接続情報には、例えば接続対象アクセスポイントを識別するアクセスポイント情報(SSIDなど)や、該当アクセスポイントに接続するための認証情報(セキュリティ方式やパスワード)などが含まれる。しかし、設定方式によっては接続情報にセキュリティ方式を示す情報が含まれない場合がある。例えば、上述したとおり、設定方式2でMFP300が取得する接続情報にはセキュリティ方式を示す情報が含まれない。また、設定方式2以外にも接続情報にセキュリティ方式を示す情報が含まれない設定方式はあり得る。
続いて、図11を参照して、MFP300が端末装置200から受信した接続情報に基づいてAP400との接続の確立を試行し、試行が失敗する場合について説明する。
無線LANセットアップ方式には、上述したとおり複数の種類が存在する。設定方式1を用いた無線LANセットアップの場合、端末装置200からMFP300にP2Pモードで送信される接続情報に、MFP300からAP400に接続する際に使用するセキュリティ方式を示す情報が含まれている。よって、MFP300は端末装置200から取得したセキュリティ方式を示す情報に基づき、AP400と接続することができる。一方、設定方式2を用いた無線LANセットアップのように、端末装置200からMFP300にP2Pモードで送信される接続情報に、MFP300からAP400に接続する際に使用するセキュリティ方式を示す情報が含まれない場合がある。
ここで、P2P接続で端末装置200からMFP300に送信される接続情報にセキュリティ方式を示す情報が含まれない場合を例に、MFP300からAP400への接続の試行が失敗する例を説明する。なお、AP400は、接続を確立するためには、所定のセキュリティ方式でパスワード認証を行う必要があるものとする。
まず、端末装置200とMFP300とがP2P接続されている状態で、S1101においてP2Pモードで端末装置200からMFP300に接続情報が送信される。ここでは、設定方式2を用いた無線LANセットアップが行われるものとし、S1101で端末装置200からMFP300に送信される接続情報にはセキュリティ方式を示す情報が含まれないものとする。
その後、S1102で、端末装置200およびMFP300はそれぞれ、P2Pモードの接続を解除する。そして端末装置200は、S1103~S1105でAP400に接続する。端末装置200がAP400に接続する処理は図8を参照して説明したため詳細は省略する。端末装置200は、AP400の接続情報を有しているため、接続に成功する。なお、このS1103~S1105は、端末装置200がMFP300とP2P接続する前にAP400と接続していた場合のみ実行されるとよい。また、S1103~S1105は、MFP300がAP400に接続後に行われてもよい。また、MFP300をAP400に接続させるためだけが目的であれば、S1103~S1105は行われなくてもよい。
続いて、MFP300は、受信した接続情報を使用してAP400へ接続を試行する(S1106~S1108)。
上述したように、S1101では端末装置200からMFP300へ送信される接続情報にはセキュリティ方式を示す情報が含まれない。このため、MFP300は、AP400との接続が可能な所定のセキュリティ方式とは異なるセキュリティ方式でAP400に接続を試行する可能性がある。S1108では、AP400が接続要求を待ち受けている所定のセキュリティ方式とは異なるセキュリティ方式で接続を試行するものとする。このような場合、AP400は認証が失敗したと判定して接続の確立を行わない。このため、所定時間経過した後に、S1109でMFP300は接続を再試行する。あるいは、MFP300は接続の失敗を示す情報を操作表示部305に表示して無線LANセットアップの再試行をユーザに要求する。
このように、接続が失敗した場合には端末装置200とMFP300とがインフラモードで接続可能となるまでに時間がかかり、ユーザビリティが低下するため、接続の試行回数を抑えて接続を確立することが望ましい。しかしながら、接続情報がセキュリティ方式を示す情報を含まない場合には、接続が失敗する可能性が高まってしまう。
ここで、無線LANセットアップでは設定方式ごとに使用されるべき(仕様に規定された)セキュリティ方式が定められている。よって、MFP300が設定方式毎のセキュリティ方式を記憶していた場合でも、当該セキュリティ方式がAP400に接続可能なセキュリティ方式と異なる場合がある。このような場合、MFP300は定められた1つのセキュリティ方式での接続の試行を繰り返すと、接続が失敗し続けてしまう。
本実施形態に係るMFP300は、接続情報がセキュリティ方式を示す情報を含む場合には、そのセキュリティ方式を示す情報に対応するセキュリティ方式を用いて接続を試行する。一方、接続情報がセキュリティ方式を示す情報を含まない場合には、まずは無線LANセットアップ方式の設定方式の種類に基づいてあらかじめ定められたセキュリティ方式を用いて接続を試行する。ただし、無線LANセットアップ方式の種類に基づくセキュリティ方式を用いた接続の試行が失敗した場合には、別のセキュリティ方式の候補で接続を試行する。以下、具体的な処理方法を説明する。
(処理例)
本実施形態における、無線LANセットアップによって無線LAN設定の変更を行うMFP300が実行する処理を、図9に示すフローチャート、および図10に示す無線LANセットアップ方式管理テーブルを用いて説明する。なお、図9フローチャートが示す処理は、例えば、ROM603等のメモリに格納されたプログラムをCPU602がRAM604に読み出して実行することにより実現される。
まず、CPU602は、S901で、操作表示部305に対する所定の操作を受け付けることで、P2P接続により、端末装置200から無線LANの設定を受け付けることが可能な無線LANセットアップモードへの移行指示を受け付ける。なお、無線LANセットアップモードへの移行指示は、操作表示部305に対する所定の操作に限らない。MFP300のセットアップ時に初期設定フラグを検知した場合や、ビーコン等によって所定のコマンドを受け付けたことにより移行してもよい。
続いて、CPU602は、S902で、MFP300を無線LANセットアップモードへ移行させる。具体的には、CPU602は、無線LANセットアップモード時のみ有効な、MFP300内の(通信装置内の)所定のアクセスポイント機能を有効化して、ソフトウェアAPとして動作させる。
なお、無線LANセットアップモード時に有効化されるアクセスポイントは、例えば、パスワードによる認証・暗号処理無しに接続可能な形態であっても良い。又は、例えば、無線LANセットアップを実行する端末装置にインストールされているLAN設定用アプリケーションに予め組み込まれている固定のパスワードによって接続可能な形態であっても良い。
続いて、CPU602は、S903で、端末装置200から接続要求を受け付け、有効化したアクセスポイントを介して、MFP300と端末装置200とを接続させる。
具体的には、端末装置200が、あらかじめ定められた通信プロトコルを用いてMFP300と通信する。通信手段に用いるプロトコルには、例えばSNMP(Simple Network Management Protocol)、HTTP(Hyper Text Transfer Protocol)などがある。
続いて、CPU602は、S904で、端末装置200からAP400と接続させるために使用する接続情報を受信する。接続情報には、例えば接続対象アクセスポイントであるAP400を識別するためのアクセスポイント情報(SSIDなど)や、該当アクセスポイントに接続するための認証情報(セキュリティ方式やパスワードを指示する情報)などが含まれる。上述したように、無線LANセットアップの種類によってはセキュリティ方式を指示する情報が含まれない場合もある。
続いて、CPU602は、S905で、S903で接続要求に用いられた通信経路(SNMP、HTTPなど)や、S904で端末装置200から受信した接続情報から、端末装置200がMFP300との接続に用いた無線LANセットアップ方式を判別する。例えば、設定方式1の場合SNMPが用いられ、設定方式2の場合はHTTPが用いられる。あるいは、CPU602はS901で受け付けた指示に含まれる情報に基づいて無線LANセットアップモードがいずれの設定方式であるかを判定してもよい。また、設定方式が3つ以上あり、HTTPの通信プロトコルを用いる設定方式が2つ以上ある場合、HTTPのCGIリクエストのURIでそれぞれの設定方式を判断してもよい。
続いて、CPU602は、S906で、接続情報にセキュリティ方式を示す情報が含まれるか判定する。接続情報にセキュリティ方式を示す情報が含まれると判定した場合、処理をS907に進め、当該セキュリティ方式が含まれないと判定した場合は、処理をS908に進める。
S907では、CPU602は、S904で取得された接続情報に含まれたセキュリティ方式を用いて、AP400に接続する。例えば、設定方式1の場合は接続情報にセキュリティ方式を示す情報が含まれるため、このセキュリティ方式を示す情報に従って、AP400に接続する。
S908では、CPU602は、図10のセキュリティ方式管理テーブル1000から該当する設定方式のインデックス1のセキュリティ方式を選択する。図10の例では、接続の試行に使用される複数のセキュリティ方式が、無線LANセットアップの設定方式と対応付けて記録されている。例えば、セットアップ方式「A」においては、インデックス1のセキュリティ方式としてWPA2で接続を試行する。例えば、設定方式2はセットアップ方式「A」に該当し、まずはWPA2で接続を試行する。なお、図10の例では設定方式ごとに3つのセキュリティ方式が記憶されるものとして図示しているが、記憶されるセキュリティ方式の数はこれに限定されない。
続いて、CPU602は、S909において、S908でセキュリティ方式管理テーブル1000からセキュリティ方式を示す情報が取得出来たか判定する。セキュリティ方式を示す情報が取得できたと判定した場合はS910に処理を進め、セキュリティ方式を示す情報が取得出来なかったと判定した場合はS912に処理を進める。続いて、CPU602は、S910でS908において取得したセキュリティ方式を示す情報に対応するセキュリティ方式を用いて、AP400に接続する。
続いて、CPU602は、S911で、AP400との接続が完了したか判定する。接続が完了したと判定した場合、S912に進み、接続出来なかったと判定した場合は、S908に進みインデックスを一つ増やしてセキュリティ方式を選択する。例えば、セットアップ方式「A」においては、インデックス2のセキュリティ方式としてWPAで接続を試行する。
CPU602は、S909でセキュリティ方式を示す情報が取得出来なくなるか、S911でAP400と接続が確立するまでS908~S911の処理を繰り返す。CPU602は、S912で、表示部202や操作表示部305に接続処理の結果を表示し、接続に用いた設定値を不揮発性メモリ512に保存して処理を終了させる。S909でセキュリティ方式を示す情報が取得できずS912へ進んだ場合は、接続処理結果として接続ができなかったことを示す通知を表示し、接続に用いた設定値の更新はせずに処理を終了するとよい。
このように、本実施形態では、無線LANセットアップの設定方式を判別して、判別された設定方式に基づきセキュリティ方式の選択方法を切り替えている。つまり、接続情報にセキュリティ方式を示す情報が含まれている場合はそのセキュリティ方式を示す情報に対応するセキュリティ方式を用いる。一方、接続情報にセキュリティ方式を示す情報が含まれていない場合は無線LANセットアップの設定方式に基づきあらかじめ定められたセキュリティ方式を用いる。このような方法により無駄な試接続がなくなり、効率的にアクセスポイントに接続することが可能となる。
なお本実施形態では、S908において、CPU602は無線LANセットアップ方式に基づきセキュリティ方式管理テーブル1000から該当するセキュリティ方式を選択し、セキュリティ方式が選択できなくなったらその旨を表示して終了する形態を説明した。しかしながら、セキュリティ方式管理テーブル1000からセキュリティ方式を取得できなかった場合、別のセキュリティ方式で接続を試行してもよい。
例えば、セットアップ方式「A」において、インデックス1および2の接続の試行に失敗した場合、CPU602はS908において、「その他」のセットアップ方式のインデックス1~3に従って接続を試行してもよい。これによって、AP400が接続要求を待ち受けているセキュリティ方式と、セットアップ方式によって定められたセキュリティ方式とが異なる場合であっても、AP400が接続要求を待ち受けているセキュリティ方式で接続を試行することができる。なお、セットアップ方式「その他」での接続の試行では、セットアップ方式「A」ですでに試したセキュリティ方式での接続の試行は省略してもよい。これによって、一度失敗したセキュリティ方式で接続を複数回試行することを減らすことができる。
なお、セキュリティ方式管理テーブル1000においてセットアップ方式に基づき定められたセキュリティ方式と異なるセキュリティ方式によって接続が成功した場合、そのセキュリティ方式を示す情報をセキュリティ方式管理テーブル1000に追加するとよい。例えば、セットアップ方式「A」の場合で、図10における「その他」のインデックス1のWPA3で接続が成功した場合、セットアップ方式「A」のインデックス3に、接続が成功したセキュリティ方式である「WPA3」の情報を登録してセキュリティ方式管理テーブル1000を更新してもよい。
また、S912では、接続に成功したセキュリティ方式に応じて、セキュリティ方式管理テーブル1000を更新してもよい。例えば、インデックスが2のセキュリティ方式で接続に成功した場合、そのセキュリティ方式のインデックスを1に変更してもよい。これによって、より接続が成功するセキュリティ方式を優先的に使用することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。