以下に、本発明を実施するための最良の形態として、複数のネットワークデバイス(以降、単に「デバイス」とする)が無線LANの規格(IEEEE802.11規格)に従った無線通信を行うネットワーク構成を例示して説明する。
このネットワーク構成においては、図1に示すように、アクセスポイント10、ネットワークプリンタ(以降、単に「プリンタ」とする)20、周知のパーソナルコンピュータ(以降、「PC」とする)30などのデバイスそれぞれが無線通信を行う。
まず、アクセスポイント10は、無線ステーションおよびケーブル100を介して接続された他のデバイス(または外部ネットワーク)の間におけるデータ通信を中継する周知の無線アクセスポイントであって、設定(図示しないメモリへ記憶)されたSSID(service set identifier、または、ESSID:extended SSID)と同一のSSIDを利用してアクセスしてきた無線ステーションに、無線アクセスポイントとしての通信を許可する。
また、アクセスポイント10は、メモリに「セキュリティに関するパラメータ」が記憶されていれば、このパラメータに基づくセキュリティ対策を施した状態で通信を行うようになる。この「セキュリティに関するパラメータ」としては、例えば、認証方式(共通鍵方式,WPA−PSK方式;Wi-Fi Protected Access Pre-Shared Key など)、また、所定の認証方式で通信を暗号化した状態で行うための暗号キー(WEPキー;Wired Equivalent Privacy,TKIPキー;Temporal Key Integrity Protocol など)がある。この暗号キーは、通信を暗号化した状態で行うか否かを示す暗号化フラグと共に記憶される。アクセスポイント10は、暗号キーが通信を暗号化した状態で行う旨を示す(「1」がセットされた)暗号化フラグと共に記憶されていれば、無線ステーションとの間における通信を暗号キーにより暗号化した状態で行う。一方、暗号キーが通信を暗号化した状態で行わない旨を示す(「0」がセットされた)暗号化フラグと共に記憶されていれば、無線ステーションとの間における通信を暗号化することなく行う。
なお、このアクセスポイント10では、他のデバイスとの間でデータを無線または有線にてやりとりして他のデバイス側から間接的な設定(リモートセットアップ)を行うことにより、上記各パラメータ(SSID,暗号キーおよび暗号化フラグ)が生成されてメモリに記憶される。
次に、プリンタ20は、無線ステーションとして機能するデバイスであって、CPU21,ROM22,RAM23,無線LANコントローラ24,操作パネル26,表示パネル27,プリントエンジン28などを備えている。
CPU21は、ROM22に記憶されている処理手順に従って、処理結果をRAM23に記憶させながら、各構成要素に指令を送ることによってプリンタ20全体の動作を制御する。
ROM22は、プリンタ20が無線通信する際に利用されるSSID、通信時のセキュリティに関するパラメータ、無線通信の通信モードを示すパラメータなどの記憶領域を有する読み書き可能な不揮発性メモリである。これらパラメータのうち、SSIDは、無線通信の通信モードそれぞれに応じたものがあり、プリンタ20が無線アクセスポイントを介して他の無線ステーションと通信する通信モードであるインフラストラクチャモードに対応する第1SSIDと、プリンタ20が他の無線ステーションと直接通信する通信モードであるアドホックモードに対応する第2SSIDと、がROM22に記憶される。また、通信モードを示すパラメータは、プリンタ20自身がインフラストラクチャモードおよびアドホックモードのいずれにより通信するかを示すものである。
無線LANコントローラ24は、無線LAN規格に従った無線通信をROM22に記憶された各パラメータに基づいて実現するためのインターフェースである。プリンタ20(CPU21)は、通信モードを示すパラメータがインフラストラクチャモードを示すパラメータである場合には、ROM22に記憶されたSSIDのうち、第1SSIDを利用する一方、同パラメータがアドホックモードを示すパラメータである場合には、第2SSIDを利用し、無線LANコントローラ24を介して該当する通信モードにより無線アクセスポイントまたは無線ステーションとの接続(コネクション)を確立することによって、無線ステーションとしての通信機能を実現する。
このとき、ROM22に「セキュリティに関するパラメータ」が記憶されていれば、このパラメータに基づくセキュリティ対策を施した状態で行われるようになる。この「セキュリティに関するパラメータ」としては、例えば、通信を暗号化した状態で行うための暗号キーなどがある。この暗号キーは、アクセスポイント10と同様、暗号化フラグと共に記憶される。プリンタ20(CPU21)は、暗号キーが、通信を暗号化した状態で行う旨を示す暗号化フラグと共に記憶されていれば、暗号キーにより暗号化した状態で通信を行う。一方、暗号キーが通信を暗号化した状態で行わない旨を示す暗号化フラグと共に記憶されていれば、暗号化することなく通信を行う。なお、本実施形態においては、上述した各パラメータのうち、第1SSIDが「未設定(空白)」、第2SSIDが「Wireless」、暗号キーが「未設定(空白)」、暗号化フラグが「0」、通信モードが「アドホックモード」に設定されている場合を例示するが、これらのうちいくつかは外部(PC30)からの指令に基づいて生成されたものが記憶(または更新)される。
さらに、このプリンタ20(のROM22)には、プリンタ20をSNMP(Simple Network Management Protocol)エージェントとして機能させるためのアプリケーションソフトが組み込まれている。プリンタ20は、このSNMPエージェントの機能により、所定のパラメータを要求するためのSNMP要求コマンドを受信した際、このSNMP要求コマンドで要求されたパラメータを含むSNMP応答コマンドを返信することができる。ここで、SNMP要求コマンドで要求されたパラメータは、ROM22に記録されたデータベース(MIB;Management Information Base)から読み出されるものである。このデータベースには、プリンタ20に関する各種パラメータがあらかじめ登録されているが、特定のパラメータについては、PC30からの指令を受けて登録(または更新)されるように構成されている。
そして、PC30は、無線ステーションとして機能するデバイスであって、CPU31,ROM32,RAM33,無線LANコントローラ34,キーボードやポインティングデバイスからなる入力部36,ディスプレイ37,ハードディスク(HD)38,ネットワークコントローラ39などを備えている。
CPU31は、ROM32に記憶されている処理手順に従って、処理結果をRAM33に記憶させながら、各構成要素に指令を送ることによってプリンタ20全体の動作を制御する。
ROM32は、PC30が無線通信する際に利用されるSSID、通信時のセキュリティに関するパラメータ、無線通信の通信モードを示すパラメータなどの記憶領域を有する読み書き可能な不揮発性メモリである。これらパラメータのうち、SSIDは、プリンタ20と同様、インフラストラクチャモードに対応する第1SSIDと、アドホックモードに対応する第2SSIDと、がROM32に記憶される。
無線LANコントローラ34は、無線LAN規格に従った無線通信をROM32に記憶された各パラメータに基づいて実現するためのインターフェースである。PC30(CPU31)は、通信モードを示すパラメータがインフラストラクチャモードを示すパラメータである場合には、ROM32に記憶されたSSIDのうち、第1SSIDを利用する一方、同パラメータがアドホックモードを示すパラメータである場合には、第2SSIDを利用し、無線LANコントローラ34を介して該当する通信モードにより無線アクセスポイントまたは無線ステーションとの接続(コネクション)を確立することによって、無線ステーションとしての通信機能を実現する。
このとき、ROM32に「セキュリティに関するパラメータ」が記憶されていれば、このパラメータに基づくセキュリティ対策を施した状態で行われるようになる。この「セキュリティに関するパラメータ」としては、例えば、通信を暗号化した状態で行うための暗号キーなどがある。この暗号キーは、アクセスポイント10と同様、暗号化フラグと共に記憶される。PC30(CPU31)は、暗号キーが、通信を暗号化した状態で行う旨を示す暗号化フラグと共に記憶されていれば、暗号キーにより暗号化した状態で通信を行う。一方、暗号キーが通信を暗号化した状態で行わない旨を示す暗号化フラグと共に記憶されていれば、暗号化することなく通信を行う。なお、このPC30では、無線通信に関する設定のための操作を入力部36にて行うことで各パラメータ(SSID,暗号キーおよび暗号化フラグ)が生成されてROM32に記憶される。本実施形態においては、アクセスポイント10との無線接続(図1の(1)参照)が実現できるように各パラメータが記憶(設定)されている場合を例示する。
ネットワークコントローラ39は、PC30を有線にてLANに接続するためのインターフェースである。
さらに、このPC30は、PC30をSNMPマネージャとして機能させるためのアプリケーションソフトが組み込まれている。このSNMPマネージャの機能により、PC30(CPU31)は、所定のパラメータを要求するためのSNMP要求コマンドを他のデバイスに送信して、このSNMP要求コマンドを受信したデバイスから返信されてきたSNMP応答コマンドを受信,収集することができる。
なお、図1においては、各デバイスがそれぞれ無線接続される旨を図示する都合上、各デバイス間に存在し得る三つの無線通信路すべてを図示してある(図1における(1)〜(3)参照)。ただし、これらの無線接続については、以下に説明する処理の中で無線接続を確立したり切断されたりするものであり、各デバイス間が同時に無線接続されていることを意味する図ではない。
○PC30によるリモートセットアップ処理
以下に、PC30のCPU31により実行されるリモートセットアップ処理の処理手順を、図2に基づいて説明する。このリモートセットアップ処理は、アクセスポイント10との無線接続を実現するためのデバイス(本実施形態においてはプリンタ20)に対する設定を、PC30側から間接的に行うための処理であって、HD38に記憶されているリモートセットアップ処理用のアプリケーションソフトを起動することにより開始される。本実施形態において、上述のアプリケーションソフトは、ユーザとの対話形式で質問に回答(または入力)していく、いわゆるウィザード形式でリモートセットアップを行うように構成されたものである。
なお、ユーザは、このアプリケーションソフトを起動するのに先立って、PC30の無線通信に関する設定(接続設定)を、アドホックモードによりプリンタ20と無線通信可能な状態となるよう、第2SSIDを「Wireless」とし、暗号化フラグを「0」とし、通信モードを「アドホックモード」となるように設定変更する必要がある。こうした設定変更を経て、無線LANコントローラ34を介したプリンタ20との無線通信が可能な状態となる(図1の(2)参照;(1)から(2)となる)。
まず、リモートセットアップを開始する旨の画像(ウィザード開始画面;図3)をディスプレイ37に表示させた後、ユーザの確認操作(「Next」ボタン102を選択する操作)を受け付ける(s100)。なお、以降にリモートセットアップの経過を示す画像において、「Back」ボタンおよび「Cancel」ボタンが表示されている場合、特に説明がなければ、「Back」ボタンを選択する操作が行われたら、直前に表示されていた画像を表示する処理まで戻り、「Cancel」ボタンを選択する操作が行われたら、本リモートセットアップ処理を強制的に終了するものとする。
このs100の処理の後で確認操作が行われたら、設定(リモートセットアップ)すべきデバイスを決定する(s300)。この処理は、PC30の周辺に存在する無線ステーションの中からリモートセットアップすべきデバイス(本実施形態においては、プリンタ20)をユーザの選択操作を受けて決定する処理(設定対象デバイスの決定処理)である。ここで、この設定対象デバイスの決定処理の処理手順について、図4,図5に基づいて説明する。
まず、図6に示すように、PC30の周辺に存在するデバイス(無線ステーション)を検索している様子を示す進行表示画面をディスプレイ37に表示させる(s302)。
次に、PC30との無線通信を実現できるように設定されているデバイス(プリンタ20)に対し、無線通信に関する設定内容の通知をSNMP要求(GET)パケットにより要求(パケットをブロードキャスト)する(s304)。ここでは、デバイス名,IPアドレス,MACアドレス,デバイス機種情報,取得機能の有無,無線通信に使用できる無線LAN規格,無線通信に使用できる通信チャネル,判別用情報などの情報(オブジェクト)を要求するためのSNMP要求パケットをブロードキャストする。このs304の処理でブロードキャストされたSNMP要求パケットを受信したデバイスからは、該当する情報を所有(該当する情報がデータベースに登録)していれば、その情報を含むSNMP応答(REPLY)パケットが返信されてくる。
なお、SNMP要求パケットにより要求する情報のうち、「取得機能の有無」とは、無線アクセスポイントの送信するビーコンあるいはプローブ応答から、無線アクセスポイントとの無線接続を実現するのに必要なパラメータ群(本発明における「パラメータ群」;例えば、SSIDなど)を特定して取得する機能を有しているか否かを示すものである。また、「無線通信できる無線LAN規格」とは、例えば、IEEE802.11a,−11b,−11gといった規格のうち、いずれの規格により無線通信を行うことが可能かを示すものである。また、「無線通信に使用できる通信チャネル」とは、設定されている無線LAN規格において使用可能なチャネル(周波数帯域)を示すものである。そして、「判別用情報」とは、SNMP応答パケットを返信してきたデバイスを判別するための情報であって、本実施形態においては、このデバイスの製造メーカを判別するためのものである。
次に、s304の処理でSNMP要求パケットをブロードキャストしてから、所定時間(本実施形態においては2秒)が経過するまでの間に返信されてきたSNMP応答パケットを受信して収集する(s306)。
次に、s306の処理でSNMP応答パケットが収集(受信)されたかどうかをチェックする(s308)。
このs308の処理で、SNMP応答パケットが収集されていたら(s308:YES)、s306の処理で収集したSNMP応答パケットのうち、情報の内容が未確認のSNMP応答パケットについて情報の内容を確認する(s310)。
このs310の処理で、情報の内容を確認したSNMP応答パケットにおいて、「判別用情報」が特定の内容(本実施形態においては、特定の製造メーカ)を示す情報である場合(s310:YES)、このSNMP応答パケットで示される情報を、SNMP応答パケットを返信してきたデバイス毎にRAM33へ記憶させる(s312)。
こうして、s312の処理を終えた後、または、s310の処理で「判別用情報」が特定の内容を示す情報でない場合(s310:NO)、s306の処理で収集したSNMP応答パケットのうち、まだ情報の内容を確認していないものがあるかどうかをチェックする(s314)。
このs314の処理で未だ情報の内容を確認していないものがあれば(s314:YES)、s310の処理へ戻り、以降、全てのSNMP応答パケットについて情報の内容を確認するまでs310〜s314の処理を繰り返す。なお、このs314の処理で全てのSNMP応答パケットについて情報の内容を確認したとき、s312の処理で記憶したパラメータ群が一つしかない場合には、s316以降の処理を行わず、この一つのパラメータ群に対応するデバイスをs330の処理と同様に選択されたものとしてs400以降の処理へ移行するように構成してもよい。
また、s314の処理で全てのSNMP応答パケットについて情報の内容を確認した場合(s314:NO)、または、s308の処理でSNMP応答パケットが受信されていない場合(s308:NO)、s312の処理でRAM33に記憶させたデバイスそれぞれに対応する情報の一覧を示す設定対象デバイス選択画面を表示させる(s316)。この設定対象デバイス選択画面は、図7に示すように、デバイスそれぞれに対応する情報の一覧302が表示される。ユーザは、この一覧302のうち、いずれかのデバイスを選択する操作を行うことにより(選択されたデバイスが強調表示(ハイライト)される)、リモートセットアップすべきデバイスを選択することができる。また、この設定対象デバイス設定画面には、「Refresh」ボタン304,「Back」ボタン306,「Next」ボタン308,「Cancel」ボタン310なども表示されており、ユーザは、「Refresh」ボタン304を選択する操作(Refresh操作)、「Back」ボタン306を選択する操作(Back操作)、一覧302におけるいずれかのデバイスを選択した後で「Next」ボタン308を選択する操作(Next操作)、「Cancel」ボタン310を選択する操作(Cancel操作)、のうち、いずれかの操作を行うことができる。
次に、s316による設定対象デバイス設定画面の表示後、ユーザにより上述した各操作のうちいずれかの操作(ユーザ操作)が行われるまで待機し(s318:NO)、ユーザ操作が行われたら(s318:YES)、その操作が「Refresh操作」である場合(s320:YES)、s302の処理へ戻り、本設定対象デバイスの決定処理を最初からやり直す。なお、ユーザ操作が「Back操作」である場合には(s320:NO,s322:YES)、s100の処理へ戻り、ウィザード開始画面(図3)の表示からやり直す。
また、ユーザ操作が「Cancel操作」であれば(s320:NO,s322:NO,s324:YES)、Cancel処理を行う(s326)。このCancel処理では、まず、強制終了画面を表示させる。この強制終了画面には、図8に示すように、「Resume」ボタン312,「Exit」ボタン314が表示されており、ユーザは、「Resume」ボタン312を選択する操作(Resume操作)、または、「Exit」ボタン314を選択する操作(Exit操作)のうちいずれかの操作を行うことができる。そして、ユーザによる操作が行われるまで待機し、Resume操作が行われたらs316の処理へ戻る一方、Exit操作が行われたら本設定対象デバイスの決定処理を終了する。
また、上述したs316による設定対象デバイス設定画面の表示後、ユーザ操作による操作が「Next操作」である場合(s320:NO,s322:NO,s324:NO,s328:YES)、一覧302において選択(ハイライト表示)されているデバイスを、リモートセットアップすべきデバイスとして決定し(s330)、本設定対象デバイスの決定処理を終了し、s400以降の処理(図2参照)へ移る。また、このs330の処理では、リモートセットアップすべきデバイスを決定した際、このデバイスのMACアドレスをRAM33に記憶する。
なお、上述したs316による設定対象デバイス設定画面の表示後、ユーザ操作による操作が上述したいずれの操作でもない場合には(s320:NO,s322:NO,s324:NO,s328:NO)、その操作に応じた処理(その他の処理)を行った後(s332)、s318の処理へ戻る。
こうして、本設定対象デバイスの決定処理を終了した後は、図2に戻り、s330の処理で決定されたデバイス(プリンタ20;以降、「決定デバイス」とする)に対して割り当てるべきIPアドレスの入力を促す旨の画像(IPアドレス設定画面;図9)をディスプレイ37に表示させた後、ユーザの確認操作(「Next」ボタン422を選択する操作)を受け付ける(s400)。この処理でIPアドレス設定画面が表示された後、ユーザは、決定デバイスに対して割り当てるべきIPアドレスを所定の通信手順(DHCP:Dynamic Host Configuration Protocol )に従って動的に取得させるか、決定デバイスに対して割り当てるべきIPアドレスを任意に入力する(静的に設定する)か、を選択して(ラジオボタン416または418による)、任意に入力する旨を選択した場合にはIPアドレス(サブネットマスクおよびデフォルトゲートウェイを含む)を入力欄420内に入力する操作を行うことができる。そして、このs400の処理では、上記操作の後、確認操作として「Next」ボタン422を選択する操作が行われた際に、上記IPアドレスに関する情報(動的に取得または静的に設定する旨、静的に設定する場合のIPアドレスなど)を生成し、RAM33に記憶させる。
なお、このs400の処理で、入力欄420内に入力された値が所定の通信規格(IP:Internet Protocol )で規定された範囲を外れた値となったまま「Next」ボタン422を選択する操作が行われた際には、図10に示すようなエラー通知画像を表示させ、この画像中の「OK」ボタン424を選択する操作が行われるまで待機し、この操作が行われたら、s400の処理をやり直すように構成されている。
このs400の処理の後で確認操作が行われたら、決定デバイスを参加させるべき無線ネットワークを決定する(s500)。この処理は、決定デバイスについて無線接続を実現させる無線ネットワークを決定するための処理(ネットワークの決定処理)である。ここで、このネットワークの決定処理の処理手順について、図11以降の図面に基づいて説明する。
まず、図11に示す処理のように、s330の処理で選択された決定デバイスからのSNMP応答パケットに含まれる情報(上述したs312の処理でRAM33に記憶されたもの)のうち、「取得機能の有無」をチェックする(s502)。
このs502の処理で、「取得機能の有無」が、取得機能を有している旨の情報である場合(s502:YES)、「方式変数M」に「Dev」をセット(Dev→M)する(s503)。この「方式変数M」は、後述の処理でパラメータ群を収集する方式を示す値がセットされる変数であり、「Dev」は決定デバイスにパラメータの取得を依頼する旨を示す。また、後述する処理において、この方式変数にセットされる値としては、PC30自身でパラメータ群を取得する旨を示す値「PC」や、PC30がデータ通信可能な他のデバイスにパラメータの取得を依頼する旨を示す「A−Dev」などがある。
次に、決定デバイスにパラメータ群の取得を指令している様子を示す進行表示画面(図6の画面と同様の表示態様)をディスプレイ37に表示させる(s504)。
次に、決定デバイス(プリンタ20)に対し、取得機能によるパラメータ群の取得を指令する(s506)。本実施形態における決定デバイスであるプリンタ20は、データベースへの特定情報の登録がパラメータ群の取得を開始する契機となるように構成されている。そのため、このs506の処理では、決定デバイスのデータベースにおける特定情報への登録を行うためのSNMP設定(SET)パケットを決定デバイスへ向けて送信することによってパラメータ群の取得を指令する。このSNMP設定パケットは、決定デバイスのMACアドレスを含む状態でブロードキャストされるものであり、決定デバイスは、このMACアドレスからSNMP設定パケットが自身宛のものかどうかを判定した上でデータベースへの登録を行うように構成されている。このSNMP設定パケットを受信した決定デバイス側では、取得機能によるパラメータ群(無線通信に使用する無線LAN規格,無線通信時の通信チャネル,判別用情報などからなる)の取得を開始し、取得したパラメータ群それぞれを示す情報(第1〜第nパラメータ情報)を無線アクセスポイント別にデータベースに登録し、取得した情報の数を示す情報(カウント情報;「n」を示す情報となる)もデータベースに登録する。こうして取得されたパラメータ群のうち、「無線通信に使用する無線LAN規格」は、収集されたパラメータ群に対応するデバイスが、上述した複数の無線LAN規格のいずれの無線LAN規格により無線通信を行うように設定されているかを示すものであり、また、「無線通信時の通信チャネル」は、同デバイスがいずれの通信チャネルにより無線通信を行うように設定されているかを示すものとなっている。
なお、後述の図13におけるs545の処理にてオプションデータが記憶されてからs506の処理に戻ってきた場合には、オプションデータを含むSNMP設定パケットをブロードキャストすることにより、決定デバイスに特定の無線アクセスポイントからのパラメータ群の取得を指令することとなる。
次に、決定デバイスに対し、データベースに登録されている情報のうち「カウント情報」および「判別用情報」をSNMP要求パケットにより要求する(s508)。ここでは、カウント情報および判別用情報を要求するためのSNMP要求パケットをブロードキャストする。このs508の処理でブロードキャストされたSNMP要求パケットを受信した決定デバイスからは、データベースに該当する情報が登録されていれば、その情報を含むSNMP応答パケットが返信されてくる。なお、これら情報のうちのカウント情報は、後述のように、決定デバイス側でパラメータ群を取得している最中である場合には1より小さい値(本実施形態においては、「−1」)となるように構成されている。
次に、s508の処理でSNMP要求パケットをブロードキャストしてから、所定時間(本実施形態においては2秒)が経過するまでの間に、決定デバイスから返信されてきたSNMP応答パケットを受信して収集する(s510)。ここでは、返信されてきたSNMP応答パケットのうち、決定デバイスに対応するMACアドレスと同一のMACアドレスを含むSNMP応答パケット、つまり決定デバイスから返信されてきたSNMP応答パケットのみを収集することになる。
次に、s510の処理でSNMP応答パケットが収集(受信)されたかどうかをチェックする(s512)。
このs512の処理で、SNMP応答パケットが収集されていない(s512:NO)、または、収集されていても(s512:YES)SNMP応答パケットに含まれる情報のうちの「カウント情報」が1以上の値を示すものでない場合(s514:NO)、s508の処理へ戻り、SNMP要求パケットによる要求をやり直す。
一方、s512の処理でSNMP応答パケットが収集されていて(s512:YES)、かつ、「カウント情報」が1以上の値を示すものである場合(s514:YES)、s512の処理で収集したSNMP応答パケットに含まれるカウント情報で示される値のうち、いずれかに対応するパラメータ情報(第1〜第nパラメータ情報のうちいずれか)を、SNMP要求パケットにより要求(パケットをブロードキャスト)する(s516)。SNMP応答パケットに含まれるカウント情報で示される値「n」は、決定デバイス側がパラメータ群を収集できた無線アクセスポイントの数(第1〜第n)を示すものである。そのため、このs516の処理では、「判別用情報」の他、いずれかの無線アクセスポイントについてのパラメータ群を示す「パラメータ情報」として第1〜第nパラメータ情報のうち、いずれか要求を行っていないものを要求するためのSNMP要求パケットをブロードキャストする。このs516の処理でブロードキャストされたSNMP要求パケットを受信した決定デバイスからは、該当する情報が所有されていれば、その情報を含むSNMP応答(REPLY)パケットが返信されてくる。
次に、s516の処理でSNMP要求パケットをブロードキャストしてから、所定時間(本実施形態においては2秒)が経過するまでの間に、決定デバイスから返信されてきたSNMP応答パケットを受信して収集する(s518)。ここでは、s510の処理と同様に、MACアドレスに基づき、決定デバイスから返信されてきたSNMP応答パケットのみを収集することになる。
次に、s518の処理で収集されたSNMP応答パケットに含まれるパラメータ情報(パラメータ群)を、s516の処理で要求したパラメータ情報に対応する無線アクセスポイント毎にRAM33へ記憶させる(s520)。
こうして、s520の処理を終えた後、s512の処理で収集したSNMP応答パケットに含まれるカウント情報で示される値それぞれのうち、要求を行っていないパラメータ群に対応する値があるかどうかをチェックする(s522)。
このs522の処理で未だ要求を行っていないものがあれば(s522:YES)、s516の処理へ戻り、以降、s512の処理で収集したSNMP応答パケットに含まれるカウント情報で示される全ての値に基づくパラメータ情報の要求を終えるまでs516〜s522の処理を繰り返す。
また、s522の処理で未だ要求を行っていないものがなければ(s522:NO)、図12に示す処理のように、s520の処理で記憶させたパラメータ情報のうちいずれかの無線アクセスポイントに対応するパラメータ情報を1つ読み出す(取得する)(s524)。
次に、s524の処理で読み出したパラメータ情報にSSIDが含まれていない、つまり、このパラメータ情報をSNMP応答パケットにて送信してきた無線アクセスポイント(AccessPoint/BaseStation)に割り当てられているSSIDが非公開となっているか否かをチェックする(s526)。なお、「SSIDが非公開」となっている無線アクセスポイントからのSNMP応答パケットは、SSIDに対応するパラメータがSSIDのデータ長と同じバイト数の「0」からなる値(00H)となる。そのため、このs526の処理では、SSIDに対応するパラメータの値が複数の「0」からなる値である場合に、非公開となっていると判定する。
このs526の処理でSSIDが非公開となっていなければ(s526:NO)、s524の処理で読み出したパラメータ情報で示されるパラメータ群を、パラメータ群の一覧であるAccessPoint/BaseStationリストに登録する(s528)。
このs528の処理でリストへの登録を行った後、または、s526の処理でSSIDが非公開となっている場合(s526:YES)、s520の処理で記憶させたパラメータ情報のうち、まだ情報の読み出しおよびチェックをしていないものがあるかどうかをチェックする(s530)。
このs530の処理で未だ読み出しおよびチェックをしていないものがあれば(s530:NO)、s524の処理へ戻り、以降、全てのパラメータ情報について情報の読み出しおよびチェックをするまでs524〜s530の処理を繰り返す
また、s530の処理で未だ読み出しおよびチェックをしていないものがなければ(s530:YES)、図13に示す処理のように、s520の処理でRAM33に記憶させた無線アクセスポイントそれぞれに対応するパラメータ情報で示されるパラメータ群の一覧を示すAccessPoint/BaseStationリストを表示させる(s532)。このAccessPoint/BaseStationリストは、図14(a)に示すように、無線アクセスポイントそれぞれに対応するパラメータ群の一覧501が表示される。ユーザは、この一覧501のうち、いずれかの無線アクセスポイントを選択する操作を行うことにより(選択された無線アクセスポイントが強調表示(ハイライト)される)、決定デバイスを無線接続させる無線アクセスポイントを選択することができる。また、このAccessPoint/BaseStationリストには、「Refresh」ボタン502,「Next」ボタン504なども表示されており、ユーザは、「Refresh」ボタン502を選択する操作(Refresh操作)、一覧501におけるいずれかの無線アクセスポイント(AccessPoint/BaseStation)を選択した後で「Next」ボタン504を選択する操作(Next操作)、「Add」ボタン504を選択する操作(ADD操作)のうち、いずれかの操作を行うことができる。
次に、s532によるAccessPoint/BaseStationリストの表示後、ユーザにより上述した各操作のうちいずれかの操作(アクション;キー入力)が行われるまで待機し(s534)、アクションが行われたら、そのアクションの内容が「Enxt操作」ではなくて「Refresh操作」である場合(s536:NO,s540:YES)、s506の処理へ戻る。
また、s532の処理によるリストの表示後、ユーザにより行われたアクションの内容が「Next操作」である場合(s536:YES)、一覧501において選択(ハイライト表示)されている無線アクセスポイントを、決定デバイスを無線接続させる無線アクセスポイントとして決定する(s538)。そして、この無線アクセスポイントに対応するパラメータ情報(パラメータ群)を、無線接続させる無線アクセスポイントの情報としてRAM33に記憶させた後、本ネットワークの決定処理を終了し、s600以降の処理(図2参照)へ移行する。
また、s532の処理によるリストの表示後、ユーザにより行われたアクションの内容が「ADD操作」である場合(s536:NO,s540:NO,s541:YES)、ユーザにSSIDの入力を促す旨のADD検索用名前入力画面をディスプレイ37に表示させる(s542)。このADD検索用名前入力画面は、図14(b)に示すように、決定デバイスに対して設定すべきSSIDおよびチャネルを入力欄506,507へ入力する操作を行うことができる。また、この画面には、「Next」ボタン508なども表示されており、ユーザは、SSIDおよびチャネルを入力する操作を行った後で「Next」ボタン508を選択する操作を行うことができる。なお、この「Next」ボタン508を選択する操作は、後述のようにs506の処理へ戻った後、入力されたパラメータの無線アクセスポイントを検索する指示となるため、以降、「検索スタート操作」とする。
このs542の処理によるADD検索用名前入力画面の表示後、ユーザによる検索スタート操作が行われるまで待機し(s543,s544:NO)、検索スタート操作が行われたら(s544:YES)、検索スタート操作で指定されたSSIDおよびチャネルからなるパラメータ情報を、ユーザにより指定された無線アクセスポイントのものであることを示すオプションデータとしてRAM33へ記憶させた後(s545)、「方式変数」にセットされた値をチェックする(s546)。
このs546の処理によるチェックの結果、「方式変数」の値が「Dev」であれば(s546:Dev)、s506の処理へ戻り、s506以降の処理をやり直す。また、s546の処理によるチェックの結果、「方式変数」の値が「PC」であれば(s546:PC)、後述するs576の処理へ移行し、ユーザに入力されたパラメータのアクセスポイントを検索する。さらに、s546の処理によるチェックの結果、「方式変数」の値が「A−Dev」であれば(s546:A−Dev)、後述するs590の処理へ移行し、PC30がデータ通信可能なデバイスにパラメータ群の取得を依頼する処理を行うことになる。
なお、s532の処理によるリストの表示後、ユーザにより行われたアクションの内容が上述したいずれの操作でもない場合(s536:NO,s540:NO,s541:NO)、s534の処理へ戻る。
また、上述したs502の処理で、「取得機能の有無」が取得機能を有していない旨の情報である場合(s502:NO)、図15に示す処理のように、決定デバイスがネットワークに参加する際、つまり無線アクセスポイントとの無線接続を実現する際の設定方法を決定させる旨の画像(参加ネットワーク決定方法選択画面)をディスプレイ37に表示させる(s550)。この参加ネットワーク決定方法選択画面は、図16に示すように、決定デバイスに対して無線接続を実現すべき無線アクセスポイントを、ユーザによる入力操作により決定するか(Direct Input)、PC30自身の取得機能で検索したものの中から決定するか(Search by Computer)、PC30とデータ通信可能な他のデバイスに取得機能で検索させたものの中から決定するか(Search by another BrDevice)、を選択する操作(ラジオボタン514による)を行うことができる。また、この参加ネットワーク決定方法選択画面には、「Back」ボタン516,「Next」ボタン518,「Cancel」ボタン520なども表示されており、ユーザは、「Back」ボタン516を選択する操作(Back操作)、無線アクセスポイントの決定方法を選択した後で「Next」ボタン518を選択する操作(Next操作)、「Cancel」ボタン520を選択する操作(Cancel操作)、のうち、いずれかの操作を行うことができる。
次に、s550の処理による参加ネットワーク決定方法選択画面の表示後、ユーザにより上述した各操作のうちいずれかの操作(ユーザ操作)が行われるまで待機し(s552:NO)、ユーザ操作が行われたら(s552:YES)、その操作が「Back操作」である場合(s554:YES)、s400の処理へ戻り、IPアドレス設定画面の表示からやり直す。
また、ユーザ操作が「Cancel操作」であれば(s554:NO,s556:YES)、Cancel処理を行う(s558)。このCancel処理では、上述したs326の処理と同様に、強制終了画面を表示させ、ユーザによる操作が行われるまで待機し、Resume操作が行われたらs550の処理へ戻る一方、Exit操作が行われたら本ネットワークの決定処理を終了し、s600以降の処理(図2参照)へ移行する。
また、上述したs550の処理による参加ネットワーク決定方法選択画面の表示後、ユーザ操作による操作が「Next操作」である場合(s554:NO,s556:NO,s560:YES)、ラジオボタン514により選択された無線アクセスポイントの決定方法に応じた処理(後述の図17,図19,図21参照)が行われる。なお、参加ネットワーク決定方法選択画面の表示後、ユーザ操作による操作が上述したいずれの操作でもない場合には(s554:NO,s556:NO,s560:NO)、その操作に応じた処理(その他の処理)を行った後(s562)、s552の処理へ戻る。
ユーザ操作による操作が「Next操作」である場合の具体的な処理として、無線アクセスポイントの決定方法がユーザによる入力操作(Direct Input)である場合には(s564:NO、s566:NO)、図17に示す処理のように、手動で無線LAN規格(通信モード)を選択する旨の画面をディスプレイ37に表示させる(s568)。この画面は、図18(a)に示すように、決定デバイスに対して設定すべき無線LAN規格を、いずれの無線LAN規格とするかを選択する操作(ラジオボタン524による)を行うことができる。また、この画面には、「Next」ボタン528なども表示されており、ユーザは、無線LAN規格を選択した後で「Next」ボタン528を選択する操作(Next操作)を行うことができる。
このs568の処理による画面の表示後、ユーザによりNext操作、つまり手動でのモードの設定が行われたら(s570)、こうして設定された無線LAN規格に関する情報をRAM33に記憶させる。
次に、手動でSSIDおよびチャネルを入力する旨の画面をディスプレイ37に表示させる(s572)。この画面は、図18(b)に示すように、決定デバイスに対して設定すべきSSIDおよびチャネルを入力欄532,534へ入力する操作を行うことができる。また、この画面には、「Next」ボタン538なども表示されており、ユーザは、SSIDおよびチャネルを入力する操作を行った後で「Next」ボタン538を選択する操作(Next操作)を行うことができる。
このs572の処理による画面の表示後、ユーザによりNext操作、つまり手動でのSSIDおよびチャネルの設定が行われたら(s574)、こうして設定されたSSIDおよびチャネルに関する情報をRAM33に記憶させた後、本ネットワークの決定処理を終了し、s600以降の処理(図2参照)へ移行する。なお、上述したs570の処理で記憶された「無線LAN規格に関する情報」およびs574の処理で記憶された「SSIDに関する情報」は、決定デバイスを無線接続させる無線アクセスポイントに関する情報である。
また、図15に戻り、ユーザ操作による操作が「Next操作」である場合の具体的な処理として、PC30自身の取得機能で検索したものの中から決定する旨(Search by Computer)である場合には(s564:YES)、「方式変数M」に「PC」をセット(PC→M)する(s565)。
次に、図19に示す処理のように、PC30自身が取得機能により無線アクセスポイントを検索(スキャン)中である旨の画面(図6の画面と同様の表示態様)をディスプレイ37に表示させる(s576)。なお、このs576の処理へは、上述したs546の処理で方式変数が「PC」である場合にも移行してくる。
次に、ユーザにより指定された無線アクセスポイントのものであることを示すオプションデータが、RAM33に記憶されている(オプション指定があるか)か否かをチェックする(s577)。このオプションデータは、上述したs545の処理においてRAM33に記憶されるものである。
このs577の処理でオプションデータが記憶されていれば(s577:YES)、このオプションデータで示されるパラメータ(SSID,チャネル)の無線アクセスポイントを検出するために、パラメータを指定したプローブ要求(リクエスト)を送信(ブロードキャスト)する(s578)。このプローブ要求を受信した無線アクセスポイントからは、SSID,無線LAN規格およびチャネルなどのパラメータを示すプローブ応答が返信されてくる。
こうして、s578の処理を終えた後、または、s577の処理でオプションデータが記憶されていない場合(s577:NO)、PC30の周辺に存在する無線アクセスポイントを検出するために、プローブ要求(リクエスト)を送信(ブロードキャスト)する(s579)。このプローブ要求を受信した無線アクセスポイントからは、SSID,無線LAN規格およびチャネルなどのパラメータを示すプローブ応答が返信されてくる。
上述のように、オプションデータがRAM33に記憶されている場合は、パラメータを特定したアクティブスキャンを実施し、その後で、パラメータを特定しないアクティブスキャンを実施するといった二段階の検出が行われることになる。なお、上述したs577〜s579の処理では、プローブ応答に含まれるパラメータ群を取得しているが、これらの処理において、後述する図27のs1060の処理と同様に、ビーコン信号に含まれるパラメータ群を取得するように構成してもよい。
次に、s578,s579の処理で送信したプローブ要求に対して返信されてきたプローブ応答を所定時間(本実施形態においては2秒)にわたって収集した後、こうして収集したプローブ応答で示されるパラメータ情報(パラメータ群)を、プローブ応答を返信してきた無線アクセスポイント毎にRAM33へ記憶させる(s580)。
次に、s580の処理で記憶させたパラメータ情報のうちいずれかのパラメータ情報について、SSIDが含まれていない、つまり、このパラメータ情報をプローブ応答にて送信してきた無線アクセスポイント(AccessPoint/BaseStation)に割り当てられているSSIDが非公開となっているか否かをチェックする(s581)。なお、「SSIDが非公開」となっている無線アクセスポイントからのプローブ応答は、SSIDに対応するパラメータがSSIDのデータ長と同じバイト数の「0」からなる値(00H)となる。そのため、このs531の処理では、SSIDに対応するパラメータの値が複数の「0」からなる値である場合に、非公開となっていると判定する。
このs581の処理でSSIDが非公開となっていなければ(s581:NO)、そのパラメータ情報で示されるパラメータ群を、パラメータ群の一覧であるAccessPoint/BaseStationリストに登録する(s582)。
このs582の処理でリストへの登録を行った後、または、s581の処理でSSIDが非公開となっている場合(s581:YES)、s580の処理で記憶させたパラメータ情報のうち、まだ情報のチェックをしていないものがあるかどうかをチェックする(s583)。
このs583の処理で未だチェックをしていないものがあれば(s583:NO)、s581の処理へ戻り、以降、全てのパラメータ情報について情報のチェックをするまでs581〜s583の処理を繰り返す
次に、AccessPoint/BaseStationリストを表示させる(s584)。このAccessPoint/BaseStationリストは、無線アクセスポイントそれぞれに対応するパラメータ群の一覧501が表示される(図14(a)と同様)。ユーザは、上述したs532の処理と同様に、「Refresh」ボタン502を選択する操作(Refresh操作)、一覧501におけるいずれかの無線アクセスポイントを選択した後で「Next」ボタン504を選択する操作(Next操作)のうち、いずれかの操作を行うことができる。
次に、s584によるAccessPoint/BaseStationリストの表示後、ユーザにより上述した各操作のうちいずれかの操作(アクション;キー入力)が行われるまで待機し(s585)、アクションが行われたら、そのアクションの内容が「Next」操作ではなく「Refresh操作」である場合(s586:NO)、s576の処理へ戻る。
一方、アクションの内容が「Next操作」である場合(s586:YES)、一覧501において選択(ハイライト表示)されている無線アクセスポイントを、決定デバイスを無線接続させる無線アクセスポイントとして決定し(s587)、この無線アクセスポイントに対応するパラメータ情報(パラメータ群)を、無線接続させる無線アクセスポイントの情報としてRAM33に記憶させた後、本ネットワークの決定処理を終了し、s600以降の処理(図2参照)へ移行する。
また、図15に戻り、ユーザ操作による操作が「Next操作」である場合の具体的な処理として、PC30とデータ通信可能な他のデバイスに取得機能で検索させたものの中から決定する旨(Search by another BrDevice)である場合には(s564:NO,s566:YES)、「方式変数M」に「A−Dev」をセット(A−Dev→M)する(s567)。
次に、図20に示す処理のように、無線アクセスポイントを検索(スキャン)できるデバイス(つまり、PC30とデータ通信可能で取得機能を有するデバイス)を検索中である旨の画面(図6の画面と同様の表示態様)をディスプレイ37に表示させる(s590)。なお、このs590の処理へは、上述したs546の処理で方式変数が「A−Dev」である場合にも移行してくる。
次に、PC30とデータ通信可能なデバイス(ネットワーク上のデバイス)に対し、無線アクセスポイントを検索(スキャン)する機能(取得機能)を有しているかどうかを問い合わせる(s592)。ここでは、取得機能の有無を示す情報の他、デバイス名,IPアドレス,MACアドレス,無線通信に使用できる無線LAN規格,無線通信に使用できる通信チャネル,判別用情報などの情報を要求するためのSNMP要求パケットをブロードキャストする。このs592の処理でブロードキャストされたSNMP要求パケットを受信したデバイスからは、該当する情報を所有していれば、その情報を含むSNMP応答(REPLY)パケットが返信されてくる。また、このs592の処理では、SNMP要求パケットを送信した以降に返信されてくるSNMP応答パケットを所定時間(本実施形態においては2秒)にわたり取得,収集する。なお、本実施形態において、PC30とデータ通信可能なデバイスとして、PC30と同様に機能するように構成されたPC40が設置されている場合を例示する。
次に、s592の処理では、SNMP要求パケットを送信した以降に収集したSNMP応答パケットに基づいて、このSNMP応答パケットを返信してきたデバイス、つまり無線アクセスポイントを検索できるデバイスのデバイスリストをディスプレイ37に表示させる(s594)。このデバイスリストは、図21に示すように、s592の処理で収集されたSNMP応答パケットそれぞれに含まれるデバイス情報のうち、取得機能を有していて無線アクセスポイントを検索できるデバイス(検索可能デバイス)それぞれに対応するパラメータ情報のみを抽出した一覧542が表示される。ユーザは、この一覧542のうち、いずれかのデバイス(検索可能デバイス)を選択する操作を行うことにより(選択された検索可能デバイスが強調表示(ハイライト)される)、無線アクセスポイントを検索させる検索可能デバイスを選択することができる。また、このデバイスリストには、「Next」ボタン548なども表示されており、ユーザは、一覧542におけるいずれかの検索可能デバイスを選択した後で「Next」ボタン548を選択する操作(Next操作)を行うことができる。
このs594の処理の後、ユーザにより、検索させたいデバイスを選択する操作、つまりNext操作が行われたら(s596)、ユーザが選択したデバイスに無線アクセスポイントを検索させる命令を送ることによって、この命令に従ったデバイスにより検出された無線アクセスポイントに関するアクセスポイント情報を取得する(598)。ここでは、ユーザが選択した検索可能デバイスの有するデータベースに、このデバイスが無線アクセスポイントの検索を開始する契機となる情報を登録させるためのSNMP設定パケットを送信する。このSNMP設定パケットを受信したデバイス側では、無線アクセスポイントの検索を開始し、検出した無線アクセスポイントに関する情報(パラメータ情報)を無線アクセスポイント別にデータベースへ登録する。なお、このSNMP設定パケットは、ユーザが選択したデバイスのIPアドレスを指定したユニキャストで行われるが、ユーザが選択したデバイスのMACアドレスを含む状態でブロードキャストされるものとし、デバイスが、このMACアドレスからSNMP設定パケットが自身宛のものかどうかを判定した上でデータベースへの登録を行うように構成されていてもよい。そして、データベースに登録された「パラメータ情報」をSNMP要求パケットにより要求することにより、この要求に応じて返信されてきたSNMP応答パケットに含まれるパラメータ情報、つまり無線アクセスポイントに関する情報を取得する。なお、ここでも上述したs506の処理と同様、オプションデータが記憶されてからs590の処理に戻った場合は、オプションデータを含めたSNMP設定パケットをブロードキャストすることで、検索可能デバイスに特定のアクセスポイントからのパラメータ群の取得を指定することとなる。
こうして、s598の処理で取得されたアクセスポイントに関する情報を、無線接続させる無線アクセスポイントの情報としてRAM33に記憶、つまり図11におけるs508〜s522の処理および図11〜図13に示す処理と同様の手順を経て無線アクセスポイントを決定した後(s599)、本ネットワークの決定処理を終了し、s600以降の処理(図2参照)へ移行する。
上述した各手順を経てネットワークの決定処理が終了したら、図2に戻り、セキュリティに関する設定を行わせる旨の画像(セキュリティ設定画面;図22)をディスプレイ37に表示させた後、ユーザの確認操作(「Next」ボタン604を選択する操作)を受け付ける(s600)。この処理でセキュリティ設定画面が表示された後、ユーザは、セキュリティに関する各種設定内容を入力欄602内に入力する操作を行うことができる。そして、このs600の処理では、上記操作の後、確認操作として「Next」ボタン604を選択する操作が行われた際に、上記セキュリティに関する情報を生成し、RAM33に記憶させる。
このs600の処理の後で確認操作が行われたら、s600までの処理でRAM33に記憶された各種情報(IPアドレスに関する情報:s400、無線アクセスポイントの情報:s570,s574,s538,s586,s598)、および、セキュリティに関する情報をユーザに確認させるための画面(設定内容確認画面;図23)をディスプレイ37に表示させた後、ユーザの確認操作(「Next」ボタン704を選択する操作)を受け付ける(s700)。なお、本実施形態において、設定内容確認画面には、決定デバイスであるプリンタ20に対し、設定する内容をテスト印刷するか否かを選択するためのチェックボックス702が設けられており、ユーザは、テスト印刷を希望するのであれば、確認操作の前にチェックボックスを選択する操作を行うことができる。
このs700の処理の後で確認操作が行われたら、決定デバイスに対して設定すべき指令を送信する(s800)。この処理は、実際に決定デバイスへのリモートセットアップを行うための指令データを送信する処理(設定送信処理)である。ここで、この設定送信処理の処理手順について、図24に基づいて説明する。
まず、決定デバイスに対してリモートセットアップを行っている様子を示す画面(図6の画面と同様の表示態様)をディスプレイ37に表示させる(s802)。
次に、決定デバイスに対して送信すべき指令を生成する(s804)。ここでは、s600までの処理でRAM33に記憶された各種情報、および、セキュリティに関する情報の他、上述の設定内容確認画面におけるチェックボックス702のチェック状態により規定されるテスト印刷の要否を示す「テスト印刷情報」、決定デバイスのMACアドレスを示す「デバイス特定情報」などを決定デバイス側のデータベースに接続設定に関する内容として登録させるためのSNMP設定パケットを生成する。
次に、s804の処理で生成された指令(SNMP設定パケット)を決定デバイスに送信(ブロードキャスト)する(s806)。このSNMP設定パケットを受信した決定デバイス側では、SNMP設定パケットに含まれる各パラメータを接続設定に関する内容としてデータベースに登録し、以降、これらパラメータに基づいて無線アクセスポイントとの無線接続が実現されるようになる(図1における(3)参照;(2)から(3)となる)。また、「テスト印刷情報」が、テスト印刷すべき旨の情報である場合には、プリンタ20側においてテスト印刷が行われる。このように、SNMP設定パケットは、決定デバイスに対し、無線アクセスポイントとの接続設定を行わせるためのものであり、これをもって、決定デバイスに対する指令としている。なお、このSNMP設定パケットは、決定デバイスのMACアドレスを含む状態でブロードキャストされるものであり、決定デバイスは、このMACアドレスからSNMP設定パケットが自身宛のものかどうかを判定した上でデータベースへの登録を行うように構成されている。
次に、s806の処理でSNMP設定パケットを送信した後、このSNMP設定パケットに含まれる情報と同じ情報を要求するためのSNMP要求パケットを決定デバイスに送信し、この送信後、所定時間(本実施形態においては2秒)にわたり、SNMP応答パケットを受信して収集する(s808)。
次に、s808の処理で収集されたSNMP応答パケットに含まれる各情報が、s506の処理で送信したSNMP設定パケットに含まれる全ての情報と一致しているかどうかを(OKか否か)チェックする(s810)。
このs810の処理で、両パケットにおける全ての情報それぞれが一致しない場合(s810:NO)、接続設定が正常に行われなかった旨を通知するための画面(設定エラー画面;図25(a))をディスプレイ37に表示させた後、ユーザの確認操作(「OK」ボタン802を選択する操作)を受け付け(s812)、確認操作が行われたら、後述するs900の処理を行うことなく、本リモートセットアップ処理を終了する。
また、上述のs810の処理で両パケットにおける全ての情報それぞれが一致する場合(s810:YES)、接続設定が終了した旨を通知するための設定終了画面をディスプレイ37に表示させる(s814)。この設定終了画面は、図25(b)に示すように、ここまでの処理により行われた接続設定をもってリモートセットアップを終了する場合に選択する「finish」ボタン824,他のデバイスに対する接続設定を行うためにリモートセットアップを継続する場合に選択する「Continue」ボタン828などが表示されており、ユーザは、「finish」ボタン824を選択する操作(finish操作)、または、「Continue」ボタン828を選択する操作(Continue操作)を行うことができる。
このs814の処理の後、ユーザにより、Continue操作が行われたら(s816:NO)、s100の処理へ戻り、リモートセットアップ処理を最初から行う一方、finish操作が行われたら(s816:NO)、本設定送信処理を終了し、s900の処理(図2参照)へ移る。
そして、この設定送信処理が終了したら、図2に戻り、ウィザード形式によるリモートセットアップ処理が終了する旨を通知するための画面(ウィザード終了画面;図26)をディスプレイ37に表示させた後、ユーザの確認操作(「Exit」ボタン902を選択する操作)を受けて(s900)、本リモートセットアップ処理を終了する。
なお、このように、PC30によるリモートセットアップを行った後、ユーザは、PC30における無線通信に関する設定を、リモートセットアップ処理を行う前の状態に戻すことにより(図1における(2)から(1)となるようにする)、元通りアクセスポイント10との無線接続が実現される状態に復帰する。
○プリンタ20(またはPC40)によるコマンド処理
以下に、プリンタ20(またはPC40)が、PC30からの指令を受けて行うコマンド処理の処理手順について、図27,図28に基づいて説明する。このコマンド処理は、プリンタ20(またはPC40)が起動した以降、繰り返し実行される。
まず、PC30からの指令を受けるまで待機(指示待ち)する(s1010)。ここでは、自身のIPアドレス指定のユニキャストパケット、あるいは、ブロードキャストパケットを受信し、パケット内に自身のMACアドレスが含まれている場合に、指令を受けたと判断する。
このs1010の処理で、PC30からのコマンド(指令)を受けたら、その指令がパラメータ群の取得を指令する内容であれば(s1020:YES)、データベース中の「カウント情報」に「−1」を登録(「−1」と設定)する(s1030)。この「パラメータ群の取得を指令する内容」のコマンドとは、例えば、図11におけるs506の処理による指令などのことである。
次に、PC30から受けた指令がパラメータ群の取得を指令する内容である場合において、この指令がパラメータ(SSIDおよびチャネル)を指定してきたものであるか否かをチェックする(s1040)。このように、パラメータを指定した指令は、図19におけるs578の処理でPC30から送信されてくるものである。
このs1040の処理で、パラメータの指定があれば(s1040:YES)、そのパラメータを指定する一方(s1050)、パラメータの指定がなければ(s1040:NO)、パラメータの指定を行うことなく、無線アクセスポイントの検索を実行する(s1060)。ここでは、周囲に存在する無線アクセスポイントが定期的に送信するビーコン信号を受信し、このビーコン信号に含まれる情報として、デバイス名,IPアドレス,MACアドレス,無線通信に使用する無線LAN規格,無線通信時の通信チャネルなどからなるパラメータ群を、無線アクセスポイント毎に取得,収集する。なお、このs1060の処理においては、上述の図19におけるs578〜s580の処理と同様に、プローブ要求を送信し、これに対して返信されてきたプローブ応答に含まれるパラメータ群を取得するように構成してもよい。
次に、s1060の処理による検索で収集されたパラメータ群を示す情報(第1〜第nパラメータ情報)を、無線アクセスポイント別にデータベースへ登録させる(s1070)。このとき、パラメータの指定があれば指定に沿うパラメータがその一部を構成するパラメータ群のみ登録する。
そして、s1060の処理による検索で収集されたパラメータ群(つまり、無線アクセスポイント)の数を示す情報(カウント情報;「n」を示す情報となる)をデータベースに登録(更新)した後(s1080)、s1010の処理へ戻る。
また、PC30からのコマンドが、s1070の処理でデータベースに登録させたパラメータ群のうち、いずれかの無線アクセスポイントについてのパラメータ群を要求する内容であれば(s1020:NO,s1090:YES)、このコマンドにより要求された無線アクセスポイントのパラメータ情報(第1〜第nパラメータ情報のいずれか)を返信した後(s1100)、s1010の処理へ戻る。この「パラメータ群を要求する内容」のコマンドとは、例えば、図11におけるs516の処理によるSNMP要求パケットなどのことである。
なお、このs1100の処理で返信するパラメータ情報としては、コマンドにより要求された無線アクセスポイントのパラメータ情報であれば、直前に行われたs1070の処理でデータベースに登録させたパラメータ群だけでなく、過去に行われたs1070の処理でデータベースに登録させたパラメータ群や、このデータベースに登録された以外のパラメータ群を示すものとしてもよい。
また、PC30からのコマンドが、取得機能を有しているか否かを問い合わせる内容であれば(s1020:NO,s1090:NO,s1100:YES)、そのコマンドに対して返信できるか(返事を返せるか)否かをチェックする(s1110)。ここでは、データベース中に「取得機能の有無」を示す情報(オブジェクト)が登録されていればコマンドに対して返信できる状態であり、情報が登録されていなければ返信できない状態であると判定する。なお、情報が登録されていない場合は、オブジェクトが「NO Such 」であるとして返信する構成としてもよい。
このs1110の処理で、コマンドに対して返信できない状態であれば(s1110:NO)、返信する(返事を行う)ことなく(s1120)、s1010の処理へ戻る。
一方、s1110の処理で、コマンドに対して返信できる状態であれば(s1110:YES)、無線アクセスポイントの検出をサポートしているか否かをチェックする(s1130)。ここでは、データベース中に登録されている「取得機能の有無」の内容に基づいて、取得機能を有している内容であれば無線アクセスポイントの検出をサポートしていると判定し、取得機能を有していない内容であれば無線アクセスポイントの検出をサポートしていないと判定する。
このs1130の処理で、無線アクセスポイントの検出をサポートしていれば(s1130:YES)、サポートしている旨の返信を行う一方(s1140)、無線アクセスポイントの検出をサポートしていなければ(s1130:NO)、サポートしていない旨の返信を行った後(s1150)、s1010の処理へ戻る。
なお、PC30からのコマンドが上述したいずれでもない、つまり、その他のコマンドである場合には(s1020:NO,s1090:NO,s1100:NO,s1170:YES)、そのコマンドに対応する処理を行った後(s1180)、s1010の処理へ戻る。このs1180の処理において実行される処理としては、図24におけうrs806の処理でPC30から送信されたSNMP設定パケットに基づく情報のデータベースへの登録などがある。また、図23におけるs806の処理で送信されたSNMP設定パケットについては、このs1180の処理によって、s600までの処理でRAM33に記憶された各種情報、および、セキュリティに関する情報が設定されると共に、「テスト印刷情報」に基づくテスト印刷が行われる。
[効果]
上述のように構成されたPC30によれば、図13におけるs532の処理または図19におけるs584の処理で、無線アクセスポイントから収集したパラメータ群を、AccessPoint/BaseStationリストに基づいて一覧表示している。このAccessPoint/BaseStationリストには、図12におけるs528の処理または図19におけるs582の処理において、SSIDが含まれていない、つまり、SSIDが非公開ではない無線アクセスポイントのパラメータ群のみが登録されるため、SSIDが公開となっている無線アクセスポイントのパラメータ群を一覧表示して、SSIDが非公開となっている無線アクセスポイントのパラメータ群については表示しないようにすることができる。
そのため、SSIDを含めないビーコン信号を送信する利用形態の無線アクセスポイントからビーコン信号を受信した際に、このビーコン信号に含まれる他のパラメータの表示が行われることはない。よって、このようなパラメータに対応する無線アクセスポイントについては、一覧表示された中から選択すること自体ができなくなり、これにより、ユーザが、別の無線アクセスポイントに対応するパラメータを選択し直す、といった無用な操作を行う必要が生じないため、使い勝手が悪くなることはない。
また、上記実施形態においては、PC30がプリンタ20に対してリモートセットアップを行う構成が示されている。このように、PC30とデータ通信可能で無線ステーションとして機能する他の通信端末に対する接続設定を間接的に行うことができる。通常、プリンタのようなデバイスは、PC30のように操作性の高いユーザインタフェースを有していないため、プリンタ20とデータ通信可能なデバイスとして、操作性の高いユーザインタフェースを有するPC30を採用することにより、使い勝手を向上させることができる。
また、PC30は、図11におけるs516〜s522の処理,図19におけるs578〜s580の処理で無線アクセスポイントのパラメータ群を収集した後、図12におけるs526,図19におけるs581の処理にて各パラメータ群を構成する特定のパラメータ(SSID)が、無線アクセスポイントを介して通信できない(通信が許可されていない)と判定される値となっているか否かを判定したうえで一覧表示を行うことができる。
また、PC30は、図12におけるs541以降の処理で、ユーザにより任意に入力された各パラメータをパラメータ群として収集し、こうして収集したパラメータ群を、図19におけるs576〜s584の処理を経てAccessPoint/BaseStationリストの一部として表示することができる。このとき、AccessPoint/BaseStationリストには、以前に行われたs581,s582の処理にて登録済みのパラメータ群と併せて表示することができる。
また、PC30は、図24におけるs806の処理で、SNMP設定パケットを送信することにより、設定される側のデバイス(プリンタ20)における接続設定のための設定項目を、SNMP設定パケットに含まれるパラメータ群で示される内容に変更する旨を指令することができる。
また、PC30は、図13におけるs543の処理でユーザに入力させたパラメータに基づき、図19におけるs577〜580の処理を経て取得したパラメータ群を構成する特定のパラメータ(SSID)が、無線アクセスポイントを介して通信できない(通信が許可されていない)と判定される値となっているか否かを判定したうえで、以降、無線接続を実現するための接続設定を行うことができる。
また、PC30は、図11におけるs506の処理で、設定される側のデバイス(プリンタ20)に対し、接続設定のために必要なパラメータ群の取得を指令できる。そして、こうしてデバイス側で収集されたパラメータ群を要求して取得することができる。このとき、PC30は、パラメータ群の取得を指令した、つまりデバイス側でパラメータ群が取得されたタイミングでパラメータ群の要求を行うことができる。
また、PC30は、図24におけるs806の処理において、設定される側のデバイスにおける接続設定のための設定項目を、このデバイスから収集したパラメータ群のうち、図13におけるs543の処理でユーザが任意に選択した無線アクセスポイントのパラメータ群で示される内容に変更する旨をデバイスに対して指令することができる。
また、PC30は、図15におけるs552の処理で入力操作により直接決定する(Direct Input)旨の選択が行われれば、図17におけるs568〜s574の処理によってパラメータ群の一部をユーザに入力させることができる。そして、PC30は、図24におけるs806までの処理によって、設定される側のデバイスにおける接続設定のための設定項目を、ユーザにより任意に入力されたパラメータからなるパラメータ群で示される内容に変更させることができる。
また、PC30は、図15におけるs552の処理でPC30自身の取得機能にて検索したものの中から決定する(Search by Computer)旨の選択が行われれば、図19におけるs576〜s587の処理によって自身が取得したパラメータ群に対応する無線アクセスポイントの中からユーザに任意の無線アクセスポイントを選択させることができる。そして、PC30は、図24におけるs806までの処理によって、設定される側のデバイスにおける接続設定のための設定項目を、PC30自身が取得したパラメータ群のうちのユーザが任意に選択した無線アクセスポイントに対応するパラメータ群に基づいて、このパラメータ群で示される内容に変更させることができる。
また、PC30は、図15におけるs552の処理でPC30とデータ通信可能な他のデバイスに取得機能で検索させたものの中から決定する(Search by another BrDevice)旨の選択が行われれば、図20におけるs590〜s598の処理によって他のデバイスから取得したパラメータ群に対応する無線アクセスポイントの中からユーザに任意の無線アクセスポイントを選択させることができる。そして、PC30は、図24におけるs806の処理によって、設定される側のデバイスにおける接続設定のための設定項目を、PC30が他のデバイスから取得したパラメータ群のうちのユーザが任意に選択した無線アクセスポイントに対応するパラメータ群に基づいて、このパラメータ群で示される内容に変更させることができる。
また、PC30に組み込まれているリモートセットアップ用のアプリケーションソフトは、ウィザード形式でリモートセットアップを行うように構成されたものである。そのため、接続設定を実現するまでの実現過程それぞれをユーザに通知するための画像をディスプレイ37に表示させると共に手順の実行を中断し、以降、ユーザからの確認操作を受けた際に手順の実行を再開する、といった形式により接続設定を実現することができる。よって、ユーザに間違いなく接続設定の過程を踏ませることができ、設定すべき項目の設定忘れをなくすことが期待できる。
また、PC30は、図19におけるs592〜s598の処理では、PC30とデータ通信可能なデバイスに対し、取得機能を有しているか否かをSNMP要求パケットにより問い合わせ、この問い合わせに応じてSNMP応答パケットを応答してきたデバイスの中からユーザが任意に選択したデバイスにパラメータの取得を依頼している。これらの処理において、ユーザにデバイスを選択させる際には、SNMP応答パケットに含まれる「取得機能の有無」に基づき、取得機能を有しているデバイスを特定し、これらデバイスのみを選択の対象とすることができる。
このように、ユーザが任意に選択したデバイスをパラメータ群の取得を依頼すべきデバイスとすることができるため、PC30とデータ通信可能なデバイスが複数存在するような場合であっても、ユーザが選択したデバイスに対して間違いなくパラメータ群の取得を依頼することができる。
また、パラメータ群の取得を依頼された側のデバイスは、図27におけるs1030の処理で「カウント情報」に「−1」を登録してから、無線アクセスポイントの検索、つまりパラメータ群の取得を開始し、パラメータ群の取得が終了した後で、検出された無線アクセスポイントの数を「カウント情報」に登録する。このことから、このデバイスは、パラメータの取得が未完了であるときにパラメータ群を要求する旨の指令を受けた場合、s1100の処理において、「カウント情報」が「−1」となっているSNMP応答パケットを返信することになる。一方、このようなSNMP応答パケットを受信したPC30では、図11におけるs506の処理でパラメータ群の取得を指令した後、返信されてきたSNMP応答パケットの「カウント情報」が「−1」である場合、s508の処理へ戻り、再度、パラメータ群を要求し直す。そのため、PC30は、デバイス側においてパラメータ群の取得が完了したかどうかを、「カウント情報」の値から確認し、未完了である場合には、再度パラメータ群を要求することができるため、デバイス側で取得が完了したパラメータ群を確実に収集することができる。
また、本実施形態においては、各デバイス間についての接続設定に拘わるデータ通信が汎用のSNMPを利用して容易に行えるように構成することができている。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な実施形態に限定されず、このほかにも様々な形態で実施することができる。
例えば、上記実施形態においては、プリンタとPCとにそれぞれ本発明のプログラムを適用した構成を例示したが、無線ステーションとして機能するデバイスであれば、プリンタおよびPC以外のデバイスに本発明のプログラムを適用してもよい。
また、上記実施形態においては、上述の各処理がPCまたはプリンタの備えるCPUにより実行されるプログラムにより実現されるように構成されたものを例示した。しかし、上述の各処理のうち一部または全部が、論理回路によりハードウェア的に実行されるように構成してもよい。
また、上記実施形態においては、各デバイス間についての接続設定に拘わるデータ通信にSNMPを採用した構成を例示した。しかし、このデータ通信に際しては、同様の効果を得られるものであれば、SNMP以外の通信規格を採用してもよい。
また、上記実施形態において、PC30が、図28におけるs1100〜s1150の処理で、取得機能を有しているかどうかの問い合わせのコマンドを受信した際、データベース中に「取得機能の有無」で示される内容に基づき、無線アクセスポイントの検出をサポートしているか否かを返信するように構成されたものを例示した。しかし、このように無線アクセスポイントの検出をサポートしていない場合には、返信自体を行わないように構成してもよい。具体的には、図29に示すように、s1100〜s1150の処理のうち、s1110,s1120の処理を行うことなくs1130の処理を行うようにし、このs1130の処理で無線アクセスポイントの検出をサポートしていないと判定された場合には、s1140の処理を行うことなくs1010の処理へ戻る、といった構成である。この場合、プリンタ20(またはPC40)は、自身が取得機能を有していないのであれば返信を返さない。そのため、PC30側では、返信のあったデバイスのみが取得機能を有しているということを認識するように構成することができる。
また、上記実施形態における図20の処理では、s592の処理の後、s594,s596の処理を行うことなく、全てのデバイスに対してs598の処理を行い、その後、s594の処理と同様に取得された情報をリストにて表示させて、その中からユーザに選択されたものを、決定デバイスを無線接続させる無線アクセスポイントとして決定するように構成してもよい。
また、上記実施形態におけるプリンタ20を、引用文献1に記載のように、無線アクセスポイントとしての機能を付加されたものとしてもよく、この場合、リモートセットアップ処理の前後でPC30についての接続設定を切り替える必要がないため有用である。
また、上記実施形態においては、PC30およびPC40が無線接続された状態で、接続設定に関するデータ通信を行うように構成されたものを例示したが、このデータ通信については、両者が有線にてデータ通信を行うように構成することもできる。
また、上記実施形態において、上述したs578,s579の処理によるプローブ要求の送信は、PC30が複数の無線LANLANコントローラを備えた構成であれば、これらの処理においてプローブ要求を送信するときのみ、別の無線LANコントローラが使用されるように構成してもよい。
また、上記実施形態においては、s8080の処理でSNMP要求パケットを送信し、その返信に基づいてs812,s814の処理へ移行するように構成されたものを例示した。しかし、s808の処理でSNMP要求パケットを送信する替わりに、所定の情報を登録させるSNMP設定パケットを送信することによって、無線接続をテストさせると共にテストの結果を返信させる旨を指令し、s810の処理では、その返信に基づいて無線接続ができたと判定できた場合にs814の処理へ移行する一方、無線接続ができなかった場合にs812の処理へ移行する、といった構成としてもよい。この場合、テストの結果として返信させる内容に応じてs812の処理で通知するエラーのパターンを変化させるといったことも可能になるため、エラーとなった原因などを発見するため好ましい構成である。
また、上記実施形態においては、図20におけるs590〜s598の処理で先にPC40を選択し、無線アクセスポイントを検出させるように構成されたものを例示したが、このようなプリンタ20と同様の機能を有するプリンタ(例えば、図1におけるプリンタ50参照)を選択し、このプリンタに無線アクセスポイントを検出させるようにしてもよい。
また、上記実施形態においては、図13におけるs538の処理で決定した無線アクセスポイントのパラメータ群を全てRAM33に記憶させるように構成されたものを例示した。しかし、s500の処理に移る以前に図18と同様の入力画面を表示し、この表示に基づいて手入力されたパラメータ群の一部をRAM33に記憶させておき、以降の処理では、手入力されたパラメータがその一分を構成するパラメータ群のみを扱い、まだ確定していない(手入力されていない)パラメータのみs538の処理で決定するようにしてもよい。このように構成すれば、余計な選択肢を減らすことができる効果がある。
[本発明との対応関係]
以上説明した実施形態において、プリンタ20,PC30,PC40は、本発明における通信端末であり、これらデバイスに本発明における無線LAN設定プログラムが組み込まれている。
また、図11におけるs516〜s520の処理,図19におけるs579〜s583の処理,および,図20におけるs598の処理は、本発明における収集手順であり、s506〜s514の処理は本発明における接続チェック手順である。
また、図13におけるs524〜s532の処理,図19におけるs581〜s584の処理,および,図20におけるs599の処理は、本発明における一覧表示手順であり、s534の処理,図19におけるs585の処理,図20におけるs599の処理は本発明における選択手順であり、s543の処理は本発明における入力手順である。
また、図11におけるs516〜s520の処理は、本発明における接続チェック手順でもある。
また、PC30に組み込まれているリモートセットアップ用のアプリケーションソフトは、その一部が本発明における通知確認手順として機能している。
また、図24におけるs804,s806の処理は本発明における第1,第2設定手順である。
また、図27におけるs1060の処理は本発明におけるパラメータ取得手順であり、s1100の処理は本発明におけるパラメータ送信手順であり、s1180の処理は本発明における接続設定手順である。
10…アクセスポイント、20,50…プリンタ、21…CPU、22…ROM、23…RAM、24…無線LANコントローラ、26…操作パネル、27…表示パネル、28…プリントエンジン、30,40…パーソナルコンピュータ、31…CPU、32…ROM、33…RAM、34…無線LANコントローラ、36…入力部、37…ディスプレイ、38…ハードディスク、39…ネットワークコントローラ。