図1は、本発明の第1実施形態を示す情報処理装置(PC)、プリンタ、IEEE802.11a/b/g等の無線LAN通信の中継局として機能するアクセスポイントを含むデータ処理システムの一例を示す図である。
PC1−1は有線ローカルインタフェースとしてUSBインタフェースを有し、さらに、無線インタフェースとしてPCMCIAカードタイプの無線LANインタフェースを備える。また、プリンタ1−2もPCと同様に有線ローカルインタフェースと、無線インタフェースとの両者を備える。
図2は、図1に示したPC1−1とプリンタ1−2のハード構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
PC1−1とプリンタ1−2との間では、USBインタフェースケーブル1−5を使い印刷を行うことも可能であり、また無線LANインタフェースを用いてアクセスポイント1−3を経由してプリンタ1−2へ印刷データを送ることも可能である。
図2において、PC1−1は、CPU1を備えている。CPU1は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、図形や、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行し、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶され、ROM3のフォント用ROMあるいは外部メモリ11には、上記文書処理の際に使用するフォントデータ等が記憶され、ROM3のデータ用ROMあるいは外部メモリ11には、上記文書処理等を行う際に使用する各種データが記憶されている。
RAM2は、CPU1の主メモリやワークエリア等として機能する。キーボードコントローラ(KBC)5は、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及びプリンタ制御コマンド生成プログラム(以下、プリンタドライバと記す)等を記憶する外部メモリ11とのアクセスを制御する。外部メモリ11は、ハードディスク(HD)やフレキシブルディスク(FD)等で構成される。
プリンタコントローラ(PRTC)8は、USBインタフェース32、USBコネクタ33、USBインタフェースケーブル1−5、または、カードI/F30、無線LANカード1−4を介して接続するプリンタ1−2との通信制御処理を実行する。
USBインタフェース32は、USBコネクタ33に接続されるUSBインタフェースケーブル1−5を介してプリンタ1−4と有線通信可能に接続することができる。また、無線インタフェースとしてはPCMCIAカードタイプの無線LANカード1−4をカードI/F30を介して装着する。アクセスポイント1−3は、無線インタフェースのアクセスポイントで無線機器同士の仲介の役割を果たす。アクセスポイント1−3は、PCMCIAカードタイプの無線LANカードを装着することができる。なお、前述した無線LAN通信部がプリンタに内蔵されている構成であっても本発明の動作には影響ない。
なお、CPU1は、例えばRAM2上に設定された表示情報のアウトラインフォントへの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上に表示されるマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。
これによって、ユーザは、印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタ1−2の設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
一方、プリンタ1−2は、プリンタCPU12を備えている。プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいて、システムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラム等が記憶されている。ROM13のフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14を用いないプリンタ1−2の場合ではホストコンピュータ1−1上で利用される情報等が記憶されている。
CPU12は、プリンタ1−2内の情報等をPC1−1に通知可能に構成されている。RAM19はCPU12の主メモリやワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
カードインタフェース31は、スロットに装着される無線LANカード1−4へのアクセスが可能に構成されている。USBインタフェース34は、USBコネクタ35にUSBインタフェースケーブル1−5が接続される。
なお、RAM19は、出力情報展開領域や、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)や、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータや、エミュレーションプログラム、フォームデータ等を記憶する。さらに、操作パネル151には、操作のためのスイッチ及びLED表示器等が配されている。
また、外部メモリ14は、少なくとも1個以上備えられ、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、図示しない不揮発性であるNVRAMを有し、操作パネル151からのプリンタモード設定情報を記憶するようにしても良い。
なお、図1、2では1台のPCのみが図示されているが、複数のPCが1つのアクセスポイントに接続可能で1つのプリンタを複数のPCで共有して印刷を行うことも可能である。無線LANにはアクセスポイントを経由して複数の無線LAN機器と接続可能なモードがあり、インフラストラクチャモードと呼ばれる。インフラストラクチャモードでは、アクセスポイントに設定されたID(SSID)と同じIDを無線LAN機器にも設定することで複数の無線LAN機器からアクセスポイントを経由してLANを構成することができる。無線LANとしてプリンタを使用する場合、プリンタがアクセスポイントに接続できるように設定する必要がある。
本実施例ではPC1−1とアクセスポイント1−3との間の設定は既になされていてインフラストラクチャモードでと通信できる状態になっているものとする。
また、プリンタ1−2に関してはまだ無線LANの設定が行なわれておらず、初期状態としてインフラストラクチャモードでIDは設定されていないものとしている。無線LANの装備されていないプリンタでは一般的にUSBでPCと接続されて印刷を行うものが主流となっている。
一般的にPCでは何らかのOSが動作していて、そのOS環境で印刷を行うためには印刷用ソフト(プリンタドライバ)が必要となる。プリンタドライバは、OSメーカーあるいはプリンタメーカーから提供され、予めPCにインストールされたり、CDなどの形式で提供されたりする。プリンタで印刷を行うためには、何らかの形でプリンタドライバをインストールする必要がある。
またさらに、無線LANを使って印刷を行うような場合には、プリンタ内の無線LANの設定を行い、アクセスポイントと接続できる状態にした上、PCでは無線LANでの印刷を可能とするソフトウェアをインストールしプリンタに適した設定にしておく必要がある。
無線LAN機器のインストール作業には様々な方法が用いられる。例えば、無線LANのセットアップを無線LANインタフェースで行うセットアップ方法では、まずセットアップを行うために、PCの無線LAN通信設定をセットアップ対象機器に合わせて無線動作モードや接続ID(SSID)等を変更する必要があり、それまで正常に無線通信ができていたPCの無線LAN設定を一旦変更しないとセットアップが行えないという弊害がある。また、機器をアクセスポイント1−3へ接続するにあたり、該当アクセスポイント1−3のSSIDをユーザーが覚えておき、それを入力設定する必要があるといった不便さがある。
こういった問題を解決するために、無線LANのセットアップをより動作準備が簡易な無線LANインタフェース以外のインタフェースを使用して行うというセットアップ方法が考えられ、例えばプリンタ1−2とアクセスポイント1−3とを有線LANインタフェースで接続して無線LANのセットアップを行うといったセットアップ方法も出現している。
しかしながら、この場合、プリンタ1−2とアクセスポイント1−3を結線することで既に家庭内で使用しているアクセスポイント1−3の結線状態や設定をセットアップの為に変更してしまう可能性があり、その場合には元に戻すことが困難であったり手間がかかったりする。またこの場合、実際設定操作を行うPCとプリンタは相変わらず無線LAN経由の接続となる為、正しく接続されているかどうかを確かめるのが難しいという問題が残る。
上記に対して、本実施形態では無線LANのインストールをPC1−1とプリンタ1−2が備えるそれぞれのUSBインタフェースを使って行う。無線LANインタフェース31とUSBインタフェース34が備わったプリンタ1−2において、一般的なUSBプリンタのインストール同様にPC1−1とプリンタ1−2をUSBケーブル1−5で結線し、プリンタドライバのインストールを行なった後に、何らインタフェース上の通信結線状態を変更することなく無線LANのインストールを行うことを可能としている。
プリンタ1−2の無線LAN設定は、PC1−1とプリンタ1−2間のUSB通信により行なわれる為、既に正常通信設定が行われているPC1−1やアクセスポイント1−3の無線LAN設定や物理結線を変更することなくプリンタの無線LAN設定が可能となる。
以降、一般的なプリンタドライバのインストールについて<プリンタドライバのインストール処理>で説明した後に、USBインタフェースを使ったプリンタドライバのインストール、USBインタフェースを使った無線LANのインストールを説明する。
<プリンタドライバのインストール処理>
PCなどのホストコンピュータにプリンタを接続して印刷を行えるようにするためには、ホストコンピュータのOS上で印刷アプリケーションからの印刷命令を理解し、印刷命令に基づく印刷制御コマンド並びに印刷データをプリンタに転送し、プリンタの制御を行うためのソフトウェアが必要となる。このプリンタの制御を行うソフトウェアが前述したプリンタドライバである。
プリンタドライバに代表されるように、ホストコンピュータに接続される全てのハードウェアは、デバイスドライバを介してアプリケーションからの制御命令を受け取る仕組みで制御される。デバイスドライバはオペレーティングシステム(OS)上で起動されている特定の上位アプリケーション専用のものではないため、デバイスがホストコンピュータに接続されている間は一種の常駐プログラムとして特定のメモリ領域を占有して常駐している。
例えばWindows(登録商標)に代表される最近のOSは、デバイスをホストコンピュータに接続したときに自動的にそのデバイスに対応した適切なデバイスドライバを組み込むといったプラグ・アンド・プレイ機能を有している。デバイスを初めてホストコンピュータに接続した際のプラグ・アンド・プレイ処理の場合において、OSが標準に備えているデバイスドライバの中に最適なものが無かった場合、デバイス購入時にフロッピディスクやCD−ROMといったメディアで添付されるデバイスドライバをOSに組み込む必要がある。このデバイスドライバの組み込み作業をドライバのインストール作業と称する。
以下に、プラグ・アンド・プレイに対応したOSにおけるデバイスドライバのインストール処理を説明する。
プラグ・アンド・プレイ対応の有線インタフェースの代表的なものとしてUSBインタフェースが挙げられる。ここではUSBインタフェースを使ったプリンタドライバのインストールを例に挙げて説明を行う。
図3は、プリンタドライバをインストールする際にホストコンピュータ上に表示されるメッセージ画面であり、図4はデバイスドライバのインストール時のシーケンスフローチャートである。なお、当該シーケンスフローまたはメッセージはプラグ・アンド・プレイが正常に行われた場合のみとする。プラグ・アンド・プレイが失敗した場合のエラーシーケンスは別途存在することは言うまでもない。
まずユーザーがプラグ・アンド・プレイ対応インタフェースであるUSBインタフェースを使い、プリンタをホストコンピュータに接続する。ホストコンピュータ上で動作しているOSは、USBインタフェース経由でデバイスがホストコンピュータに接続されたことを検出する(図4のステップS300)。このときに、図3の2−1のような画面を表示する。
ユーザーは、インストールを行いたい場合には、「インストール」ボタン2−2を押下する。一方、プリンタドライバのインストールをしたくない場合には、「キャンセル」ボタン2−3を押下する。つぎに、OSは、USBインタフェースで定められた所定の方法でUSB機器の基本情報であるデバイス・ディスクリプタをプリンタから読み出す(ステップS301)。デバイス・ディスクリプタには、デバイスの種類を示すデバイス・クラス情報など、その機器に関する基本機能情報が含まれている。
OSは、デバイス・ディスクリプタを読み出して解析することにより接続されたデバイスがプリンタ・クラスに属するデバイス、すなわちプリンタであるかを判断する(ステップS302)。接続されたデバイスがプリンタである場合には、ステップS303に進み、プリンタ以外のデバイスであれば、ステップS310に進む。ステップS310では、デバイスに対応するその他の処理を行う。
プリンタのデバイスドライバ構成は、一般的には大きく2レベルのドライバから構成される。1つは、プリンタが接続されるインタフェース毎に、そのインタフェース上で該当デバイスとのデータ通信を行うためのプロトコルを制御する下位レベルドライバとしてのポートドライバである。2つ目は、ポートドライバの上位層に位置し、実際の印刷アプリケーションデータを個々のプリンタに適した記録データやプリンタ言語に変換する上位プリンタドライバである。上位プリンタドライバは、プリンタの動作状態、すなわちステータス情報をプリンタから取得して、当該ステータス情報をプリンタ状態表示用アプリケーションに引き渡すといったことも行っている。
接続されたデバイスがプリンタであると認識すると、OSは予め定められた方法を使い、適切なポートドライバをインストールして使用可能な状態にする(ステップS303)。このとき、OSは図3の2−4のような画面を表示する。ユーザーは、ポートドライバのインストールを中止したいときには、「キャンセル」ボタン2−5を押下する。さらに、ポートドライバの制御により、インタフェース上に検出された特定のデバイスとPCとの間で1対1のデータ通信を行うための論理コネクションであるポートインスタンスが用意される。USBプリンタの場合、USB印刷用のポートドライバがインストールされたのちに、そのプリンタとホストコンピュータとの間の通信を行うための論理通信路としてポートインスタンスが作成される(ステップS304)。
ポートドライバがロードされ、初期化処理を経て動作可能状態になると、OSは、所定の方法で接続されたプリンタの詳細情報としてクラスディスクリプタを取得する(ステップS305)。USBプリンタの場合、これは、USBプリンタ・クラス規格にて定義されたデバイスIDの読み出しコマンド(GET_CAPABILITIES)をポートドライバ経由でプリンタデバイスへ発行することにより行われる。その応答としてプリンタにより返送されるデバイスIDには、プリンタの製造元情報やモデル名、サポートされるプリンタ言語情報などプリンタモデル固有の情報が含まれている。
OSは、接続されたUSBプリンタの詳細情報を得て、その詳細情報に基づき、最適な上位プリンタドライバを検索する(S306)。該当する上位プリンタドライバがOSの標準検索範囲内に存在する場合、標準検索範囲内で見つかった上位プリンタドライバを組み込む。該当する上位プリンタドライバがOSの標準検索範囲内に存在しない場合、ユーザーに対してそのドライバの保存先などを問い合わせる旨のメッセージ等を表示する。このような場合、ユーザーは、デバイス購入時に同梱されるフロッピー(登録商標)ディスクやCD−ROMといったメディア、またはインターネットを経由してメーカーのファイルサーバーからダウンロードされたデバイスドライバ等を指定することにより、該当上位ドライバがOSに組み込まれる(ステップS307)。上位ドライバの組み込み時に、所定の手順に従って上位プリンタドライバがPCの所定の位置(ディレクトリ)にコピーされる。
次に、OSが標準で備えるデータベース上に現在インストールを行っているデバイスに関する項目(エントリ)が追加される(ステップS308)。このデータベースには、デバイス毎の制御用設定パラメータ、ドライバ・デバイス構成、デバイスインスタンスに関連付けられた下位ポートドライバに関する情報、ポートインスタンス情報、及びユーザーによる設定情報、といった情報が保存される。Windows(登録商標)2000やWindows(登録商標)XPといったOSでは、この標準データベースを一般的にレジストリと称しており、本説明でも以下レジストリと呼ぶ。レジストリがユーザーに認識できる形に表示された一例を図5に示す。
このエントリは、OSにより作成されたポートインスタンス経由で通信を行うデバイス、すなわち論理デバイス毎に作成される。すなわち、OSとデバイスとの間の論理接続毎にエントリが用意され、対応するポートインスタンス情報が保存されることにより関連付される。例えば複数の接続インタフェースを具備するプリンタをそれぞれのインタフェース経由でホストコンピュータに接続した場合、インタフェース毎にポートインスタンスが作成される。同一プリンタで使用される上位プリンタドライバは共通であるものの、エントリはインタフェース毎または論理接続毎にレジストリ上に作成される。
上記のように、プリンタドライバの起動準備が完了すると、インストールが完了した旨のメッセージを図3の2−6のように表示する(ステップS309)。
GUIを備えた一般的なOSのプリンタ一覧画面では、あるプリンタに対するポートインスタンスはプリンタ・アイコンという形で視覚的に表示される。この一例を図6に示す。すなわち、あるプリンタに対して複数のインタフェースを経由した複数のポートインスタンスが作成された場合、各インスタンスに対してそれぞれプリンタ・アイコンが表示される。このプリンタ・アイコンとポートインスタンスとの関連付けに関する情報も、上記ポートインスタンス毎に作成されるエントリに記述されるため、各ポートインスタンスがどのプリンタ・アイコンによって視覚的に代表されているかといった情報も管理される。
以上、プラグ・アンド・プレイに対応したOSにおける一般的なデバイスドライバのインストール処理についてUSBプリンタを例に説明した。無論OSの種類により異なる方法でデバイスドライバのインストールが行われる場合もあるが、概ね説明した手順と同様なシーケンスでプラグ・アンド・プレイデバイスのインストールが行われる。
<本実施形態のプリンタドライバ・インストール>
図7は、本実施形態に係る、USBを用いたプリンタドライバ・インストール処理で表示される画面例を示す図である。この画面例は、図1のプリンタ1−2で印刷を行うためプリンタドライバをPC1−1にインストールする際に、PC1−1の画面上に表示されるものである。
まず始めの画面として、画面6−1が表示される。この画面6−1は、プリンタドライバ・インストール処理の開始画面になり、ユーザーがインストール用のソフトウェアを起動することで表示される。画面6−1上には、「実行」と「キャンセル」をそれぞれ選択する選択アイコン(ボタン)6−2、6−3があり、マウスなどで選択することができる。「実行」ボタン6−2を選択するとインストールが開始され、次の画面6−4が表示される。「キャンセル」ボタン6−3を選択した場合は、プリンタドライバのインストールは行われずに終了する。
画面6−4では、ユーザーにUSBインタフェースを接続する旨の指示が表示され、ユーザーはその指示に従ってプリンタ1−2のUSBコネクタ33を介してUSBインタフェース32にUSBケーブル1−5を接続する。プリンタ1−2の電源が入っていない場合、ユーザーはプリンタ1−2の電源を入れる。画面6−4でも、「キャンセル」ボタン6−5でインストールを中止することができる。
USBケーブル1−5を接続してプリンタ1−2の電源を入れると、プラグ・アンド・プレイによりプリンタドライバのインストール、及びプリンタ1−2の内部設定が完了する。プラグ・アンド・プレイによるプリンタドライバのインストールは、前述した<プリンタドライバのインストール処理>で説明した手順で行われる。
インストールに成功すると、画面6−6が表示されてインストールが完了し、「OK」ボタン6−7を選択することでソフトウェアが終了する。何らかの理由によりプリンタドライバのインストールが失敗した場合は、画面6−8が表示されてインストールに失敗したことをユーザーに知らしめる。画面6−6と同様に「OK」ボタン6−9でソフトウェアが終了する。
以上のように、画面6−1→画面6−4→画面6−6の指示に従って操作することで、USBインタフェースを使ったプリンタドライバのインストールが完了し、USBインタフェースを介して印刷データを送信することが可能となる。
図8は、PC1−1が実行する処理を示すフローチャートであって、図7に示した画面が表示される本実施形態のプリンタドライバ・インストール処理を示すフローチャートである。
まず、図7に示した画面6−1の表示を行う(ステップS700)。画面6−1で「実行」ボタン6−2が選択されるとステップS701へ進み、プリンタドライバ実行ファイルをシステムにコピーする。すなわち、一般的にはOSによりプリンタドライバ実行ファイル及び情報ファイルが配置されるシステム内の場所が決まっており、それに従ってプリンタドライバの実行ファイルをコピーしておく。前述の<プリンタドライバのインストール処理>で説明したように、OSは予め決まったプリンタドライバの情報ファイルの保存場所から適切なプリンタドライバを探し出して、それを使用できるように登録・設定の作業を行う。この作業が正しく行われるためにプリンタドライバ関連のファイルを指定の場所へコピーするのがこの処理である。
次に、画面6−4を表示する(ステップS702)。この画面を表示した後、一定時間が経過したかをチェックする(ステップS703)。一定時間が経過していない、つまりタイムアウトが発生していない場合には、プリンタの認識が完了したかをチェックする(ステップS704)。これは、プラグ・アンド・プレイで正しくプリンタ1−2が発見されたどうかの確認を行うものであり、プリンタドライバのインストールが完了するとプリンタの認識が完了したものとする。詳しくは、前述した<プリンタドライバのインストール処理>で詳細が述べられている。
タイムアウトが発生したとステップS703で判定された場合は、インストールに失敗したことを画面6−8に表示する(ステップS707)。
ステップS704において、プリンタ1−2の認識が完了した場合は、ステップS705へ進み、プリンタ情報の設定を行う。そして、ステップS706において、正常にインストールが終わったことを示す画面6−6を表示する。画面6−6で「OK」ボタン6−7が選択された場合は、USBインタフェースを使ったプリンタドライバ・インストール処理が完了する。
本実施形態のプリンタ1−2は、USBインタフェースと無線LANインタフェースの両者を有するので、プリンタドライバのインストールが終了した後に引き続き無線LANの設定(無線ネットワーク・インストール)が行なわれる。
<本実施形態の無線ネットワーク・インストール>
図9は、図7、8で説明したプリンタドライバのインストールが終了した後、引き続き無線LANのインストール行う場合の画面表示を示したものである。USBのみのインストールの場合、図7の画面6−6で完了となっていたが、無線LANのインストールも行う場合は、画面6−6の画面に替わりに図9の画面8−1が表示される。画面8−1で「OK」ボタン8−2をユーザーが選択した場合、ここで完了となり無線LANのインストールは行なわれない。画面8−1で「ネットワーク・インストール」ボタン8−3を選択すると引き続きネットワークのインストールが開始される。
本発明の効果を分かりやすく説明する為、まず、プリンタ1−2はMACアドレスフィルタリング機能を使用していない場合について全体の動作の流れを説明し、その後、<プリンタがフィルタリングを使用している場合>について説明する。
本実施例ではPC1−1とアクセスポイント1−3との間の設定は既になされていて、インフラストラクチャモードで通信できる状態になっているものとする。プリンタ1−2に関してはまだ無線LANの設定が行なわれておらず、初期状態としてインフラストラクチャモードでIDは設定されていないものとしている。
前述の通り、プリンタ1−2はフィルタリング機能を備えているものの、該当機能は使用していないものとする。
まず、始めにアクセスポイント1−3と接続するためにアクセスポイントを選択する操作に入る。
画面8−4はPC1−1からプリンタ1−2に装着された無線LANカードを使い、プリンタ1−2から発見されるアクセスポイントの一覧を表示するために、USBケーブル1−5経由でPC1−1からプリンタ1−2にアクセスポイントサーチのコマンドを送り、その結果得られたアクセスポイントの情報をUSBケーブル1−5経由で取得し、その取得内容を基に画面にサーチしたアクセスポイントの一覧を表示した状態を示している。
画面8−5には、プリンタ1−2から見つけることができたアクセスポイントの一覧を表示していて、この例では3つのアクセスポイントA、B、Cがプリンタから見つかったことを示している。発見したアクセスポイントの表示は、無線電波の届く範囲内で稼動しているアクセスポイントを全て示しており、必ずしも自分が使っているものだけが表示されるとは限っていない。複数のアクセスポイントが表示された場合、ユーザーは自分が接続したい所望のアクセスポイントを画面8−5のハイライトされた行を移動することで使用するアクセスポイントを決定する必要がある。
この時、ネットワーク・インストーラは無線LANカード1−4のドライバとの通信により、現在PC1−1が接続しているアクセスポイントに関する情報を取得することにより画面8−4の表示が省略可能である事を<自動化>にて後述する。
ユーザーの操作により、使用することが決定されたアクセスポイントが暗号化されている場合、暗号を解読するための暗号キーを画面8−6に入力することができ、暗号化されたアクセスポイントにも対応することができる。一般的に無線LANでは盗聴やデータの漏洩を防止するために暗号化の技術が採用されている。代表的なものにWEP(Wired Equivalent Privacy)があり、同じ暗号化用のキーと呼ばれる情報が暗号化と復号化のために使われる対称的なアルゴリズムでこのキーを設定することで他の機器からのデータの隠蔽を実現する。暗号化された環境で無線LANを使用している場合、プリンタ1−2にも同じ暗号キーを設定する必要がある。
画面8−4で、「戻る」ボタン8−7を選択すると前の画面8−1へ戻ることができる。「次へ」ボタン8−8を選択することで、ユーザーが選択したアクセスポイントを指定して次ぎに進むことができ、「キャンセル」ボタン8−9でインストールを中止することができる。
画面8−4でアクセスポイントを指定し、そのアクセスポイントを経由してPC1−1とプリンタ1−2が接続することが指定されると、プリンタ1−2へのアクセスポイントとの接続のための設定が行われ、プリンタ1−2がアクセスポイントから認識できるようになる。
その後、プリンタ1−2が正しく接続されたどうかを確認するために無線LAN経由でプリンタの検索を行う。詳細は図11のフローチャートで説明する。画面8−10は、アクセスポイント1−3経由で発見されたプリンタの一覧を表示する画面であり、プリンタのサーチはPC1−1の無線LANからアクセスポイント1−3を経由して送信されたプリンタサーチコマンドを受け取ったプリンタがその返答を戻し、この応答をPC1−1が受信することで行なわれる。サーチコマンドはブロードキャストでネットワーク上の全ての機器に送信され、サーチコマンドを受取りこのコマンドを理解できる機器(この場合は特定のプリンタやプリンタアダプタ)がコマンドを送信したPC1−1に対してコマンドに対する予め決められた情報を戻す。この情報にはプリンタの名称やID、アドレスなどが含まれていて、これら情報を基に接続したいプリンタを特定することができる。画面8−10では、発見されたプリンタの一覧8−11が表示されていて、この例ではプリンタ1、2、3の3つのプリンタが発見されたものとする。アクセスポイントの選択と同様にハイライトで示されたプリンタが選択できる。この画面でも「戻る」ボタン8−12を選択すると前画面8−4へ戻り、「次へ」ボタン8−13を選択すると、選択したプリンタに接続相手を決めることができる。「キャンセル」ボタン8−14を選択すると、インストールを中止することができる。「次へ」ボタン8−13が選択されると、画面8−15が表示され、ポート名を入力する画面となる。ポート名入力欄8−16に入力したいポート名を入れることができる。ポート名は1つのPC上で、複数のプリンタを区別する為に用いられ、初期値としてこの場合WLAN01が設定される。WLANは無線LAN対応のプリンタを示すための識別名で、01はシステムに登録されている最終の番号を表している。この番号は、複数の同じ機能を有するプリンタを区別して扱うために順番につけられる。一般的にプリンタドライバでは、このポート名を指定して印刷するプリンタを特定するのに使われる。画面8−15でも、「戻る」ボタン8−17を選択すると前画面8−10へ戻り、「次へ」ボタン8−18を選択すると入力欄8−16に入力したポート名を決めることができる。「キャンセル」ボタン8−19を選択すると、インストールを中止することができる。画面8−15で「次へ」ボタン8−18が選択されると、画面8−20が表示されネットワークのインストールが完了を示す画面となる。この画面には2つの選択肢があり、無線LANのプリンタ・アイコンのみを作成する場合に選択するラジオボタン8−21と無線LANとUSBの両方のアイコンを作成する場合に選択するラジオボタン8−22のいずれかを選択することができる。ラジオボタン中で「●」で示されている項目が現在選択されているもので、図示しないポインティングデバイスなどで変更することが可能となる。「OK」ボタン8−23を選択すると、選択されたラジオボタンの内容に従ってプリンタ・アイコンが作成される。プリンタ・アイコンは、ユーザーが登録されているプリンタを確認、区別あるいは現在準備可能なプリンタを識別するのに利用され、アプリケーションからの印刷ではこのアイコンが選択される。
なお、プリンタの名称やIDを取得するコマンドをUSBケーブル1−5経由でPC1−1からプリンタ1−2に送り、その結果得られたプリンタ情報と、上述したプリンタサーチコマンドに対する応答により発見されたプリンタのプリンタ情報とが一致したものをインストーラが自動的に選択することによりプリンタ選択のステップ、画面8−10を省略することが可能であることを<自動化>にて後述する。
また、プリンタポートも自動作成することにより画面8−15も省略して無線ネットワークのインストールを完了することが可能になることを<自動化>にて後述する。
<自動化>
PC1−1のネットワーク・インストーラは、無線LANカード1−4のドライバとの通信により、現在PCが接続しているアクセスポイントに関する情報を取得することが可能である。本実施例ではこの通信により、PC1−1が接続しているアクセスポイントがアクセスポイントCであるという情報を取得する。
ネットワーク・インストーラは、これらプリンタの情報、PCの情報を元に接続アクセスポイントを自動的に決定することができる。ネットワーク・インストーラは、PC1−1が現在接続しているアクセスポイントと一致するアクセスポイントを、プリンタから見つけたアクセスポイント一覧の中から探し、一致しているものが見つかった場合にはそのアクセスポイントを接続対象として決定し、かつ暗号化設定などアクセスポイント特定情報以外の情報を要することなく接続が可能な場合に自動的に接続設定を行う。
現在インストール作業を行っているPC1−1が接続しているアクセスポイントと同じアクセスポイントをプリンタ1−2が検出した場合、プリンタ1−2がその同じアクセスポイントに接続することで、PC1−1とプリンタ1−2が無線LAN経由で通信を行うことが可能になるのは自明である。よって、PC1−1が現在接続しているアクセスポイントと一致するアクセスポイントがプリンタから見つられた場合には、そのアクセスポイントを接続対象として決定することができる。その上、ユーザーの操作による暗号キーの入力が必要ない場合には、そのアクセスポイントへの接続指定、すなわちアクセスポイントの設定がPC1−1からプリンタ1−2に対して自動的に行われる。ここでは、プリンタ1−2が見つけた3つのアクセスポイントA、B、Cのうち、アクセスポイントCはPC1−1が接続しているアクセスポイントと一致する為、アクセスポイントCが選択される。さらにアクセスポイントCは暗号化が無効の状態で動作中であることも判るので、自動的に接続が可能であることがわかる。この場合、画面8−4は表示する必要がないので表示を省略し、画面8−10へ進む事ができる。
また、アクセスポイントへの自動接続が行なわれた後、プリンタ1−2が正しく接続されたどうかを確認するためにPC1−1は無線LAN経由でプリンタの検索を行う。本例では前述のように、PC1−1が無線LAN通信によるプリンタサーチコマンドの応答により発見したプリンタの中に、プリンタの名称やIDを取得するコマンドをUSBケーブル1−5経由でPC1−1からプリンタ1−2に送り、その結果得られたプリンタ情報と一致するものをインストーラが自動的に選択することによりプリンタ選択のステップを自動化している。またプリンタポートも自動作成している為、プリンタ検出、ポート作成に成功すると、インストールは完了する。つまり、図10のように、画面8−1から画面8−20に推移する。この場合、ユーザーは図10の画面8−1で「ネットワーク・インストール」ボタン8−3の選択と、画面8−20の完了画面でアイコン作成のためのラジオボタン8−21、8−22の選択、「OK」ボタン8−23の選択を行うだけで無線ネットワークのインストールが完了することになる。詳細については図11のフローチャートで説明する。
なお、アクセスポイントが暗号化通信を行っている場合においては、暗号を解読するための暗号キーを入力する必要があるため、画面8−4が表示され、入力欄8−6に暗号キーを入力することで暗号化されたアクセスポイントに接続することができる。また、アクセスポイント一覧8−5では、PC(ネットワークインストールソフトウエア、以降ネットワーク・インストーラ)がUSB経由で取得したプリンタから見つけることができた全てのアクセスポイントの情報を表示するものの、上述の判定基準によって既に自動決定されたアクセスポイント、本実施例ではアクセスポイントCを自動的に選択状態にしておくこともできる。暗号キー入力後、「次へ」ボタン8−8を選択することで、自動決定したアクセスポイントを指定して次に進むことができる。なお、何らかの理由により一致するアクセスポイントがなかった場合には、同様に画面8−4を表示して接続を行うアクセスポイントを選択する必要がある。
図11は、プリンタドライバのインストールが完了した後、引き続き行われる無線LANのインストール手順を示したフローチャートである。
ステップS1001では、プリンタ1−2は、PC1−1からUSBケーブル1−5経由でアクセスポイントサーチのコマンドが送られてくると、アクセスポイントのサーチを行う。無線LANインストールのためにUSBケーブル1−5経由でPC1−1とプリンタ1−2との間で送信されるコマンドは図12で示され、3つのコマンドが用意されている。その内のアクセスポイントサーチコマンドCMD01をPC1−1からプリンタ1−2へ送ることで、プリンタ1−2はアクセスポイントサーチのための設定を無線LANカード1−4に行う。
アクセスポイントサーチの設定がされたプリンタ1−2の無線LANカード1−4は、アクセスポイントサーチの信号を発信する。この信号を受け取ったアクセスポイントは自分のアクセスポイント情報(ID、電波状態、アドレス、チャネル、暗号化状態など)をサーチ信号を発信した相手(すなわちプリンタ1−2)に返信する。アクセスポイントから応答された情報を、無線LANカード1−4を介してプリンタ1−2が受信すると、プリンタ1−2はその受信した情報をPC1−1へ返答する。この時プリンタ1−2は、見つかった全てのアクセスポイントの情報をPC1−1へ返信する。ここではプリンタ1−2の無線電波の届く範囲内で稼動しているアクセスポイント情報を全て取得しており、必ずしも自分が使っているアクセスポイントの情報のみを取得できるとは限っていない。その為、後述する方法により使用するアクセスポイントを指定する必要がある。
ステップS1002では、PC1−1は、PC1−1が接続しているアクセスポイント1−3の情報をPC1−1の無線LANカードドライバと通信することにより取得する。
ステップS1003では、ステップS1001とステップS1002で各々得られたアクセスポイント情報を比較する。具体的には、プリンタ1−2からのアクセスポイント情報に、PC1−1が現在接続しているアクセスポイント1−3の情報と一致するアクセスポイントがあるかどうかをチェックする。PC1−1が現在接続しているアクセスポイント1−3と一致するアクセスポイントが見つかった場合には、当該アクセスポイントを接続対象として決定しステップS1004へ進む。
ステップS1004では、ステップS1003で見つけたPC1−1と接続しているアクセスポイントが暗号化モードで動作しているかどうかをチェックする。暗号化モードで動作していない場合には、ユーザーの操作による暗号キーの入力が必要無い為、ステップS1005、S1006を省略してステップS1007進む。
ステップS1003でアクセスポイントが見つけられなかった場合には、或いはステップS1004でアクセスポイントが暗号化モードで動作していると判断した場合は、ステップS1005へ進む。
ステップS1005では、ステップS1001でプリンタ1−2から通知されたアクセスポイントをアクセスポイント一覧画面に表示し、ユーザーにアクセスポイントを選択させ、また、選択されたアクセスポイントによっては暗号キーを入力させる。なお、PC1−1が接続しているアクセスポイントを発見したが(ステップS1003)、発見したアクセスポイントが暗号化モードで動作していると判断した場合には(ステップS1004)、PC1−1が接続しているアクセスポイントをユーザーに優先的に選択させるために、該当アクセスポイントを強調表示する等、ユーザーの利便性について制御を加えても良い。また、ユーザーがアクセスポイントの設定を手動で任意に入力する事も可能である。
ステップS1006では、アクセスポイントが動作している暗号化モードに応じて暗号キーの入力などを行う。なお、暗号化モードに応じた処理の詳細については、<暗号キー入力処理>で説明する。
また、ステップS1005でユーザーにより選択されたアクセスポイントが暗号化モードで動作していない場合には、ステップS1006は省略される。
ステップS1007では、プリンタ1−2がアクセスポイント1−3と通信可能となるよう、プリンタ1−2のネットワーク設定を変更する。この時点では使用したいアクセスポイントが決定されているため該当アクセスポイントの情報を基にして情報設定コマンドCMD03(図12)を、USBケーブル1−5を介してPC1−1からプリンタ1−2に送ることにより行う。情報設定コマンドCMD03ではSSIDや、プリンタが使用するIPアドレス、ステップS1006で入力した暗号化キーなど、アクセスポイントを利用するために必要な情報を設定することで特定のアクセスポイントにプリンタを接続することができる。なお、ステップS1007については、<プリンタのネットワーク設定および接続>で、プリンタのフィルタリング機能が有効である場合の動作と共に詳細に説明する。
ステップS1008では、PC1−1がプリンタ1−2を利用できるか否かを確認するために、PC1−1の無線LANカード1−4を使いプリンタのサーチを行う。これは図13に示すネットワーク・インストール用コマンドとして用意されている2つのコマンドのうちの何れかを用いて行われる。図13に示すコマンドは、2つともプリンタのサーチのコマンドで、一方は相手を指定せずにブロードキャストで送信するプリンタサーチコマンド(ブロードキャスト)CMD11、他方は特定の相手を指定して送信するプリンタサーチコマンド(アドレス指定)CMD12である。なお、本説明では、ブロードキャストのサーチコマンドCMD11を送信することでプリンタのサーチを行う。本コマンドは、PC1−1の無線LANカード1−4から無線LAN上に発信され、このコマンドを無線LANから受け取ったプリンタは、プリンタの情報(ID、名称、アドレス、モデル名など)をPC1−1へ返信する。コマンドCMD11はブロードキャストで送信されるため、このコマンドを理解できるプリンタは全てこのコマンドに返信する可能性がある。PC1−1は、プリンタから送り返された情報から自分が今インストールしようとしている機種を指定する必要がある。
使用するプリンタをPC1−1が自動で指定する場合は、ステップS1010ヘ、手動で指定する場合はステップS1012へ進む(ステップS1009)。
ステップS1010では、PC1−1は無線LAN経由で見つけたプリンタの中からUSBケーブル1−5経由で接続されているプリンタを特定する為に、USBケーブル1−5経由でプリンタ情報を取得する。これは図12で示した情報取得コマンドCMD02をUSBケーブル1−5経由でプリンタに送信し、その応答としてプリンタから得られたプリンタ情報を取得することにより行われる。
ステップS1011では、ステップS1008とS1010とで取得したプリンタの情報を比較することにより、無線LAN経由で見つけたプリンタのうちUSBケーブル1−5経由でPC1−1と接続されているプリンタと一致するプリンタを特定し、ステップS1013へ進む。
ステップS1012では、ステップS1008でサーチしたプリンタをプリンタ一覧画面8−11に表示し、ユーザーに利用したいプリンタを指定させる。
ステップS1013では、ポート名を決定する。自動で決定する場合はネットワーク・インストーラが作成した文字列を利用してステップS1015へ、手動で決定する場合はステップS1014へ進む。
ステップS1014では、ポート名入力画面8−16を表示し、ユーザー入力によりポート名を決定する。
ステップS1015では、PC1−1のネットワーク印刷設定を行い、PC1−1とプリンタ1−2との間で無線LANを利用した印刷が可能な状態にする。ここではPC1−1に対して、プリンタ1−2のアドレス、名称、印刷ポートなど印刷に必要となる設定を行う。アイコンの作成方法に関しては後述する。
ステップS1016では、ネットワーク・インストール完了画面8−20を表示し、ネットワーク・インストールを完了する。ここで、完了したネットワーク設定情報を表示し、ユーザーに通知する事もできる。
なお、図12では、USBケーブルを介してプリンタ1−2へ送られるインストールのためのコマンドとして3つのコマンドCMD01〜03を示したが、この他にも印刷データを送るコマンド、各種プリンタの設定を行うコマンドなどがあるが、本説明に直接関係するインストールコマンドだけをあげている。図13も、無線ネットワークコマンドの内インストールに使用される2つのコマンドCMD11、12を示したが、この他にも印刷データを送るコマンド、各種プリンタの設定を行うコマンドなどがあるが、本説明に直接関係するインストールコマンドだけをあげている。これらコマンドはネットワーク上で一般的なTCP/IP、UDPなどのプロトコルを介して転送、返信が行われる。
図14は、無線ネットワーク・インストールで用いられるコンピュータのネットワークアダプタインタフェースコマンドを示していて、本実施例では2つのコマンドCMD21、22を使用している。この他にも各種設定値情報読み出しコマンド、各種設定コマンドなどがあるが、本説明に直接関係するコマンドだけをあげている。1つはコンピュータに装着されているネットワークアダプタが無線LANのネットワークアダプタであるかどうかを問い合わせるための無線インタフェース問合せコマンドCMD21である。そして、装着されているアダプタが無線LANアダプタであった場合、そのアダプタドライバに対してもう1つのコマンドである接続SSID取得コマンドCMD22を発行して、そのアダプタが現在接続しているアクセスポイントのSSIDを取得する。この一連の動作は、図11に示すステップS1003で説明を行った。
また、本OSでは、プリンタに対して個々のポートインスタンスを表わすプリンタのアイコンを作成する。一台のプリンタに対して複数のインタフェースを経由した複数のポートインスタンスが作成された場合、それぞれが異なる出力ポートを表わすものの、同一プリンタを表わす複数個のプリンタ・アイコンが表示されてしまう。
本実施例において無線LANのインストールを行う過程でUSBケーブルを介してプリンタとPCを接続することによりUSBのポートインスタンスが作成されるが、これは無線LANのセットアップを行う為に作成されたポートであり、ユーザーはUSBのポートインスタンスの作成を望んでいない場合もある。また、無線LANのセットアップの結果としてUSBも含めた2つのポートインスタンスを表わす2つのプリンタ・アイコンが表示されると、無線LANのセットアップのみを望んでいたユーザーは混乱する可能性がある。
そこで、無線LANセットアップにおけるインストール完了時に作成されるポートインスタンス、ならびにプリンタ・アイコンをユーザーに確認する。つまり、ネットワーク・インストール完了画面8−20には、無線LANのプリンタ・アイコンのみ、すなわち本プリンタの出力ポートインスタンスとして無線LANのポートインスタンスのみを作成するか、または無線LANとUSB両方のアイコン、すなわち無線LANポートとローカルポートであるUSBポートインスタンスの2つを作成するかをユーザーに選択させるためのラジオボタン8−21、8−22を表示してユーザーに選択させることにより、インストール作業の結果としてプリンタの出力先が無線LAN経由のみ、または無線LANとUSBの双方とするかを決定する。
ユーザーが無線LAN経由のポートインスタンスのみの作成を選択した場合、セットアップの過程で作成されたUSBのポートインスタンスを表わすプリンタ・アイコンの代わりに無線LANポートインスタンスとそれを表わすプリンタ・アイコン一つのみを作成・表示する(図15)。これは、無線ポートインスタンスのインストール完了時のプリンタ・アイコン作成において、USBポートインスタンスを表わす該当プリンタ・アイコンを削除したうえで、作成された無線LANポートインスタンスに該当するプリンタ・アイコンを新規に作成する方法、USBポートインスタンスを表わすプリンタ・アイコンの設定を変更し、無線LANのポートインスタンスを割り当てる等、いくつかの方法によって実現される。いずれも場合も前記<プリンタドライバのインストール>にて説明したように、OSが備えるレジストリの無線LANポートに関するエントリに、該当するプリンタ・アイコンの情報が記述され、USBポートに関するエントリのアイコン情報は消滅、または未使用の旨情報が記述される。またインストール手順によってはUSBポートに関するエントリ、USBポートインスタンスそのものが削除される場合もある。
ユーザーが無線LAN経由、USB経由両方のポートインスタンスの作成を選択した場合には、セットアップの過程で既に作成されたUSBのポートインスタンスを表わすプリンタ・アイコンを削除、変更せずに、無線LANポートインスタンスに該当するプリンタ・アイコンを新規に作成する(図16)。この場合も前記<プリンタドライバのインストール>にて説明したように、OSが備えるレジストリの無線LANポートに関するエントリに、新規に作成されたプリンタ・アイコンの情報が記述される。
以上の方法で、ネットワーク・インストール完了画面におけるユーザーの選択に従い、無線LANポートのセットアップのみを選択した場合は無線LANポートインスタンスを表わすプリンタ・アイコンのみが作成され、無線LANポートと共にUSBポートのセットアップを選択した場合は無線LANポート、USBポート両インスタンスの2つのプリンタ・アイコンが作成される。
なお、本実施例ではネットワーク・インストール完了画面8−20において、インストール完了時に作成されるプリンタ・アイコンをユーザーに選択させ、ユーザーの選択に応じたアイコンの作成・削除を行うが、これは異なるタイミングで行なわれてもかまわない。例えば、プリンタドライバインストール完了画面表示とネットワーク・インストール完了画面表示に移行する間で行えるように構成してもよい。この場合、USBポートを表すアイコンを削除する場合には、ネットアーク・インストール完了を待つことなく、USBポートがインストール作業において不必要となった時点で削除することができる。
また、本実施例ではPC自身が現在接続しているアクセスポイントと一致したアクセスポイントが存在して、アクセスポイント特定情報以外の情報を要することなく接続が可能な場合には、USB経由でそのアクセスポイントへの接続設定を自動的に行っていたが、その前にユーザーへの確認メッセージを表示することも可能である。また自動接続を行う前に、検出したアクセスポイント一覧画面8−4を表示して、一覧画面上で一致したアクセスポイントを選択済状態とした上でユーザーに確認させる、といったこともできる。
さらに、本実施例ではPC自身が現在接続しているアクセスポイントと一致したアクセスポイントが存在しない場合には、画面8−4を表示してプリンタが検出したアクセスポイントの一覧を提示し、ユーザーにアクセスポイントを選択させる必要があったが、一致するアクセスポイントがない状況ではインストールを行っているコンピュータとプリンタ間の無線LAN経由通信が正常に行なわれる可能性が低いと考えられる為、無線LANのインストールを中止して有線インタフェース経由の通信を行う設定をするよにしてしてもよい。
<暗号キー入力処理>
図17に、図11のステップS1006で説明した処理を詳細に説明する。
ステップS1701では、ステップS1005で選択されたアクセスポイントが暗号化モードで動作しているかどうかを確認する。暗号化モードで動作していなければ、ステップS1006は省略される。
ステップS1702では、動作している暗号化モードがWEPかどうかを確認する。WEPの場合は、設定されている書式に従い、暗号キーを入力し(ステップS1703)、ステップS1006を完了する。
ステップS1704では、アクセスポイントに設定されている暗号化モードに従い(暗号化の種類に応じて)、暗号キーと他の必要な情報を入力する。
例えば、WPA(Wi−Fi Protected Access)は、従来のSSIDとWEPに加えて、ユーザー認証機能を備えた点や、暗号鍵を一定時間毎に自動的に更新する「TKIP」(Temporal Key Integrity Protocol)と呼ばれる暗号化プロトコルを採用するなどの改善が加えられている。
従って、暗号化モードがWPAの場合は、パスフレーズや事前共有キーなどを入力する必要がある。
<プリンタのネットワーク設定および接続>
さて上記実施例において、セキュリティ向上の観点からプリンタ1−2のフィルタリング機能が稼動中であった場合について説明する。ここではプリンタ1−2が備えているフィルタリング機能として、MACアドレスフィルタリングを使用し、プリンタ1−2はPC1−1とのみ通信可能な状態に設定されているものとする。ここでのMACアドレスフィルタリングは一般的なものであり、プリンタ1−2が所有している登録リストにはPC1−1のMACアドレスのみが登録されており、かつ、登録されているMACアドレスから送信されてくる通信パケット(TCP/IP、UDP)のみをプリンタ1−2は受信する設定となっているものとする。
図18に、ステップS1007の詳細を示す。
ステップS1801では、アクセスポイント1−3と通信可能となるように、PC1−1はプリンタ1−2へ各種設定値をUSBケーブル1−5経由で送信する。
ステップS1802では、アクセスポイント1−3との接続に認証が必要か否かを判断し、認証が必要な場合はステップS1803以降の認証処理へ、必要ない場合はステップ1807へ進む。
ステップS1803では、アクセスポイント1−3に接続を許可してもらうために、プリンタ1−2からアクセスポイント1−3に対して接続の開始を要求する無線認証パケットPKT01(後述)を送信する。ここでパケットの送受信が複数回になることや接続拒否の場合には応答しないこと等が有り得るが、本説明では送受信回数は1回として説明する。
ステップS1804では、アクセスポイント1−3(必要に応じては認証サーバ)は、プリンタ1−2との接続を許可するかどうかを、プリンタ1−2から送られた情報に含まれる暗号キー、パスワード、機器識別情報等により判断し、その結果を応答パケットとして送信する。
またここでは、プリンタ1−2は、アクセスポイント1−3との接続を許可されるものとする。
ステップS1805では、プリンタ1−2は、アクセスポイント1−3から接続許可の応答パケットを受信する。
このとき、プリンタ1−2のMACフィルタリング機能が有効で、PC1−1としか通信できない状態であったとすると、アクセスポイント1−3からの上記応答パケットのデータをプリンタ1−2は受信することができない。即ち、アクセスポイント1−3との接続許可を得る通信そのものができず、ネットワーク・インストールは失敗となってしまう。そこで本実施例では、後述するフィルタリング機能の通過方法を用いることで、例えプリンタ1−2がPC1−1からのパケットしか受信できないように設定されていても、アクセスポイント1−3からの上記応答パケットを受信できるようにする。
ステップS1806では、後述するフィルタリング機能の通過方法を用いることで、アクセスポイント1−3からの応答パケットを受信できたので、その内容から接続認証に成功したかどうかを判断する。
認証に成功すればインストールを継続しステップS1807へ進む。認証に失敗した場合、インストールは失敗となる(ステップS1814へ)。
ステップS1807では、IPアドレスを手動で決定する設定か、自動設定かを判断する。IPアドレスを手動で決定する場合は、ステップS1808においてユーザーの入力を経てIPアドレスを取得し、ステップS1813へ進む。IPアドレスを自動で決定する場合は、ステップS1809において、プリンタ1−2のIPアドレスを取得するために、各種パケットを発行する。ここで、パケットの送受信が複数回になることが有り得るが、本説明では送受信回数は1回として説明する。
具体的には、例えばアクセスポイント1−3がDHCPサーバ機能を備えており、プリンタ1−2のIPアドレスをDHCPサーバによって割り当ててもらうのであれば、プリンタ1−2はIPアドレス分配パケットPKT11(後述)をアクセスポイントに送信する。
或いは、アクセスポイント1−3がDHCPサーバ機能を備えておらず、プリンタ1−2のIPアドレスを自動で決定しなければならない場合には、ネットワーク上の他の機器のIPアドレスとの重複を防ぐため、IPアドレス解決パケットPKT12(後述)をネットワークに対して発行する。
ステップS1810では、プリンタ1−2がIPアドレス分配パケットPKT11を送信した場合は、アクセスポイント1−3に備えられているDHCPサーバ機能が適切なIPアドレスを決定し、プリンタ1−2に通知するパケットを送信する。プリンタ1−2がIPアドレス解決パケットPKT12を発行した場合は、該パケットを受信したネットワーク上のクライアント機器は各々の情報をプリンタ1−2に応答する。
ステップS1811では、アクセスポイント1−3からのIPアドレス通知のための応答パケットまたはネットワーク上のクライアント機器からの応答パケットの受信処理を行う。受信処理の詳細はステップS1805と同様であるため省略する。ここでも、後述するフィルタリング機能の通過方法を用いることで応答パケットを受信できる。
ステップS1812では、ステップS1811で受信した応答パケットにより、IPアドレスの取得に成功したかどうかを判断する。成功すればインストールを継続しステップS1813へ進む。IPアドレスの取得に失敗した場合、インストールは失敗となる(ステップS1814へ)。
ステップS1813では、実際にプリンタ1−2とアクセスポイント1−3とが接続可能であることを確認する。接続が可能であれば、ステップS1008へと進みインストールを継続する。接続が不可能であれば、インストール失敗となる(ステップS1814へ)。
なお、プリンタ1−2がアクセスポイント1−3との接続できずにインストール失敗となった場合(ステップS1814)、失敗の原因に応じて適切メッセージを表示したり或いは失敗の原因に応じて適切なステップへと進んでも良い。
また、プリンタ1−2のフィルタリング機能が有効である場合の動作をわかりやすく説明するため、ステップS1806、S1812、S1813の3箇所でアクセスポイントとプリンタとの接続の確認を行っているが、これらステップは、例えばS1813のみの1ステップにする等、必要に応じて変更することも可能である。
<フィルタリングの概念>
図19に示すフィルタリングの概念図と、図20に示す通信パケットの構成の概念図とを用いて、前述のステップS1805、S1811におけるフィルタリング処理について説明する。
一般に通信機器19−0は階層構造をしており、通信パケット19−1のヘッダ部情報を識別し自分宛てのパケットを受信するなど、通信パケットの受信処理を行うパケット受信層19−2と、IPアドレス等を基に通信パケットの通信経路を選択したり、所定の経路での通信を開始および終了したりするなど、通信全体を制御する通信制御層19−3と、各種通信データをユーザーが扱えるように変換および表示などの処理を行うアプリ層19−4とから構成される。
通信パケット19−1がアプリ層19−4まで到達することで、通信機器19−0ならびにユーザーはデータを受信できる(19−5)。
通信パケット19−1は、図20のような構成をしており、実際に送信したいデータ部20−1はアプリ層19−4で処理を行う都合上、アプリ層用のヘッダ部およびファイル終端部20−2(以下、アプリ層ヘッダ部:他層に付いても同様に省略する。)によって包み込まれる。ここで、アプリ層19−4が操作可能な個所はアプリ層ヘッダ部20−2のみであり、該ヘッダ部にはアプリ層の処理で必要な各種情報が含まれている。
また、通信パケット19−1は、データ部20−1とデータ部20−1を包んでいるアプリ層ヘッダ部20−2との外側に、通信制御層19−3において処理される情報が含まれている通信制御層ヘッダ部20−3を形成する。ここでも通信制御層19−3が操作可能な個所はアプリ層ヘッダ部20−3のみである。
また同様に、通信制御層ヘッダ部20−3と該ヘッダ部に包含されている各種データ全体の外側に、パケット受信層19−2において処理される情報が含まれているパケット受信層ヘッダ部20−4を形成する。
このように形成された通信パケット19−1は、各層でヘッダ部を剥がされ、最終的にはデータ部20−1が利用可能となる。
ここで、フィルタリング機能が有効となっている場合の処理を説明する。説明するフィルタリング機能は、登録リスト19−6に登録されているMACアドレスの通信機器とのみ通信を行う設定であり、登録リスト19−6は、機器構成に依存するが各階層(19−2、3、4)と通信可能であるとする。
フィルタリング判定は任意の階層で実現可能であり、通信制御層19−3にフィルタリング機能が備えられた場合(19−7)、通信パケット19−1はパケット受信層19−2を経由した後、通信制御層19−3においてフィルタ通過の判断を受け、登録リスト19−6に通過許可として登録されていればアプリ層19−4を経由して通信可能(19−5)へ、通過拒否であればパケット破棄(19−8)へと進む。
フィルタリング機能をパケット受信層19−2に備えた場合(19−9)も同様に各階層を経由した処理が行われる。
しかし、各階層の機能が異なるため実現可能なフィルタリングの機能も異なる。通信制御層19−3やアプリ層19−4にフィルタリング機能が備えられた場合であれば高度なフィルタリングを実現することが可能であり、例えば通信機器自身が送信したパケットに対する応答パケットを該層において識別することでフィルタリング機能を通過することが可能である。
また、PCのように複数のサービスを提供可能である機器の場合は、サービスごとに複雑なフィルタリング制御をすることが可能である。
ところが、フィルタリング機能をパケット受信層19−2に備えた場合、パケット受信層ヘッダ部20−4に含まれている情報は、該パケットの送信先アドレスや送信元アドレス、或いはEtherパケットタイプ情報等のように限られた情報である。そのため上記のような複雑な制御が不可能である。
以下、例えフィルタリング機能をパケット受信層19−2に備えた場合でも、登録リストに未登録のパケットを受信した際にも、該パケットがネットワーク構成用のパケットであればフィルタリング機能で通信を拒否されること無く、パケット内データを受信可能とする方法を説明する(図21)。
<フィルタリングの通過方法>
・フィルタリング迂回型
図21は、ステップS1805およびS1811に記したパケット受信部の動作であり、図21を用いてフィルタリングの設定に影響なくネットワーク構成はできるようにするためのフィルタリングの通過方法(フィルタリング迂回型)について説明する。
パケット受信層19−2でパケットを受信すると、ステップS2101においてフィルタリング機能が有効かどうかを確認する。フィルタリング機能が無効であれば、受信したパケットは全てパケット受信層19−2を通過可能であり、通信制御層19−3以降の層を介して通信を行うことができる(S2104へ)。
フィルタリング機能が有効である場合は、ステップS2102において、受信したパケットのヘッダ部情報からパケットの種類を識別する。パケットの種類が無線認証パケットPKT01(EAPOL:図22参照)、IPアドレス分配パケットPKT11(DHCP、BOOTP:図23参照)、IPアドレス解決パケットPKT12(ARP:図23参照)の場合は、該パケットをネットワーク構成用パケットであると判断し、通信を許可する。通信を許可した場合は、該パケットをステップS2103のフィルタリング機能を経由させずにパケット受信層19−2を通過させることで、通信制御層以降の層を介して通信を行うようにする(S2104へ)。
ネットワーク構成用のパケットでない場合は、ステップS2103において、登録リスト19−6を参照した通常のフィルタリング処理を行う。この場合、登録リストに登録されている通信機器からのパケットのみパケット受信層を通過可能であり、通信制御層以降の層を介して通信を行うことができ(S2104へ)、登録リストに登録されていない機器からのパケットは破棄され(ステップS2105)、通信は失敗に終わる。
図22は、フィルタリングを通過させるかどうかを判断する通信パケットのヘッダ部の種類を示していて、無線認証パケットPKT01を示している。この他にも各種パケットがあり得るが、上記説明に直接関係するコネクション認証に必要なパケットだけをあげている。
図23も、フィルタリングを通過させるかどうかを判断する通信パケットのヘッダ部の種類を示していて、IPアドレス分配パケットPKT11、IPアドレス解決パケットPKT12を示している。この他にも各種パケットがあり得るが、上記説明に直接関係するIPアドレスの決定に必要なパケットだけをあげている。PKT11に関しては、パケット受信層19−2が操作可能なヘッダ部の情報でないため操作をすることはできないが、本来であれば他の階層で処理すべき情報を文字列識別手段が単純に読み取ることで、該当する文字列が含まれていればPKT11であると判断する。
なお、図21で示したフローチャートを、本発明の主旨に準じて変更することも可能である。
・登録リスト追加型
図24は、ステップS1805およびS1811に記したパケット受信部の動作であり、図24を用いてフィルタリングの設定に影響なくネットワーク構成はできるようにするためのフィルタリングの通過方法(登録リスト追加型)をについて説明する。
フィルタリング迂回型のフィルタリング通過方法との比較で言えば、パケット受信処理を示す図21のステップS2102からステップS2104へ分岐する点と、図24のステップS2402からステップS2403へ分岐する点が異なる。
即ちフィルタリング迂回型では、受信パケットのヘッダ部を認識し、該パケットがネットワーク構成用のパケットの場合は、フィルタリング判定を迂回することでパケットの通過を実現している事を特徴としている。
これに対して登録リスト追加型では、受信パケットのヘッダ部を認識し、該パケットがネットワーク構成用のパケットの場合は、ステップS2403において、受信したパケットを送信した機器のMACアドレス、または、受信パケットのタイプ情報またはポート情報等(図22、23の具体例参照)を登録リストに登録し、その後ステップS2404において通常のフィルタリング判定を行う事を特徴としている。
ステップS2403における登録については、自動登録であっても、ユーザーに通知した後に登録させる手動登録であっても構わない。また登録している期間は一時的であったり、恒久的であったりしても良い。一時的であればセキュリティ・レベルを維持することが可能であり、恒久的であっても登録される機器がアクセスポイントなどであればセキュリティ・レベルが損なわれる危険性が少ない。
ステップS2403における登録を行うことにより、ステップS2404におけるフィルタリング判定が行われてもネットワーク構成用のパケットは破棄されずに通信制御層以降の層を介して通信することができる。
なお、図21と同様に、図24で示したフローチャートを、本発明の主旨に準じて変更することも可能である。
以上説明したように、受信パケットのヘッダ情報を識別するだけで、IPアドレス取得等のネットワーク構成に必要なパケットを判断し、フィルタリング機能を通過させる事ができる。これによりクライアント機器自身が、自らが発行した通信パケットの応答であるか否かを記憶するような高度なフィルタリング制御を行う必要が無い。さらに、フィルタリング機能を通過する通信パケットは、ネットワーク構成に必要な通信パケットのみであるため、本発明の適用後もセキュリティ・レベルは維持できるということを特徴がある。また、下位レベルの階層であってもネットワーク環境に悪影響を及ぼさないフィルタリング機能を実現できる。