(57)【要約】      （修正有）【課題】ピアツーピアモードで無線通信する際の通信リソースを節約する。【解決手段】通信相手装置からインターネットプロトコルに関する情報を取得し、それに基づき使用しないプロトコルを無効化する。前記プロトコルのバージョンに関する情報を取得し、取得したバージョン以外のバージョンを無効化する。さらにアプリケーション層における通信プロトコルに関する情報を取得し、取得された情報に基づく前記アプリケーション層における通信プロトコル以外の通信プロトコルを無効化する。【選択図】図７
2015002427.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピアモードで通信相手装置と無線通信する通信手段と、
前記通信手段を介して通信相手装置と通信するためのプロトコルに関する情報を取得する取得手段と、
前記取得手段で取得した情報に基づき、通信相手装置と通信するためのプロトコルを決定する決定手段と、
前記決定手段により決定したプロトコル以外のプロトコルを無効化するよう設定する設定手段とを有することを特徴とする通信装置。
【請求項２】
前記取得手段は、インターネットプロトコルのバージョンに関する情報を取得し、前記設定手段は、前記取得手段で取得したバージョン以外のバージョンを無効化することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記取得手段は、さらにアプリケーション層における通信プロトコルに関する情報を取得し、前記設定手段は、前記取得手段により取得された情報に基づく前記アプリケーション層における通信プロトコル以外の通信プロトコルを無効化するよう設定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記取得手段は、前記通信相手装置のアクセスポイントとしての設定情報に基づき前記情報を取得することを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項５】
前記通信手段は、さらにインフラストラクチャモードで無線通信可能であり、前記設定手段は、前記ピアツーピアモードと前記インフラストラクチャモードとで並行して通信可能な状態である場合に前記無効化するよう設定を行うことを特徴とする請求項１〜４のいずれか１項に記載の通信装置。
【請求項６】
前記設定手段は、前記ピアツーピアモードと前記インフラストラクチャモードとで並行して通信可能な状態であり、さらに前記インフラストラクチャモードにおいて複数のバージョンのインターネットプロトコルを使用することが許可されている場合に、前記無効化するよう設定を行うことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記通信手段は、プロトコルスタックに従って当該プロトコルに応じた通信を行い、前記設定手段は、前記通信手段で使用しないプロトコルのプロトコルスタックを無効化することを特徴とする請求項１〜６のいずれか１項に記載の通信装置。
【請求項８】
前記設定手段は、前記プロトコルスタックの容量が所定の容量より多い場合に前記無効化を行うことを特徴とする請求項７に記載の通信装置。
【請求項９】
前記設定手段は、前記通信手段により使用するプロトコルの数が所定の数より多い場合に前記無効化を行うことを特徴とする請求項１〜８のいずれか１項に記載の通信装置。
【請求項１０】
ピアツーピアモードで通信相手装置と無線通信する通信装置における通信方法であって、
前記通信相手装置と通信するためのプロトコルに関する情報を取得し、
前記取得した情報に基づき、通信相手装置と通信するためのプロトコルを決定し、
前記決定したプロトコル以外のプロトコルを無効化するよう設定することを特徴とする通信方法。
【請求項１１】
請求項１〜９に記載の各手段または請求項１０に記載の通信方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線接続を行う通信装置、通信方法およびプログラムに関する。
【背景技術】
【０００２】
無線通信規格の１つとして、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）（以下、ＷＦＤ）と呼ばれるものがある。このＷＦＤとは、Ｗｉ−Ｆｉアライアンスが認定する無線通信規格の内、通常のＷｉ−Ｆｉの接続方式で用いられる中継アクセスポイント（ＡＰ）を必要とせず、端末同士が直接接続してデータを送受信することができる規格のことである。
【０００３】
ＷＦＤは、各電子機器が無線ＬＡＮのＡＰまたは無線ＬＡＮステーションのいずれとして動作するかを自動的に決定するプロトコルの規定がある。この規定により、従来の中継用ＡＰ専用機が不要となり、電子機器同士の直接接続を実現している。無線ＬＡＮにおいて端末同士を直接接続する方式には、ＷＦＤの他に「アドホックモード」もあり、アドホックモードは、Ｐ２Ｐ（ピアツーピア）の方式で端末間を接続する方式となっている。ＷＦＤとアドホックモードの違いは、ＷＦＤはいずれかの端末が無線ＬＡＮのＡＰの機能をソフトウェアにより実現する方式であり、アドホックモードはＡＰを使用しない方式であるといえる。
【０００４】
ＷＦＤを利用する技術としては、特許文献１がある。特許文献１では、ＰＣが、ＷＦＤ機能によってプリンタと無線通信し、印刷データを送信する技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−４２４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
１つの通信装置がＷｉ−Ｆｉ  ＤｉｒｅｃｔのＰ２Ｐ無線接続方式と、ＡＰを介して無線通信を行う方式（例えば、インフラストラクチャモード）とを同時に使用できるように構成すると便利である。無線通信に使用されるインターネットプロトコル（ＩＰ）にはバージョン４とバージョン６がある。通信機器としてこの２つのプロトコルバージョンを同時に使用することができるデュアルスタックモードを備えているものがある。よってＰ２Ｐ無線接続方式と、ＡＰを介して無線通信を行う方式とでそれぞれデュアルスタックモードで動作する場合、４つのＩＰスタックをそれぞれ動作させることになる。しかし組み込み機器のリソースでは４つのＩＰスタックを同時に動作させるとメモリなどのリソースが不足してしまう場合がある。またソケット数の増加により通信速度の低下を招く場合がある。
【０００７】
本発明は上記の課題を解決するためになされたものであり、ピアツーピアモードで無線通信する際の通信リソースの節約が可能な通信装置及びその制御方法、プログラムを提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の通信装置は、ピアツーピアモードで通信相手装置と無線通信する通信手段と、前記通信手段を介して通信相手装置と通信するためのプロトコルに関する情報を取得する取得手段と、前記取得手段で取得した情報に基づき、通信相手装置と通信するためのプロトコルを決定する決定手段と、前記決定手段により決定したプロトコル以外のプロトコルを無効化するよう設定する設定手段とを有する。
【発明の効果】
【０００９】
本発明によると、ピアツーピアモードで無線通信する際の通信リソースを節約することができる。
【図面の簡単な説明】
【００１０】
【図１】ＭＦＰの構成を示す図である。
【図２】携帯端末の構成を示す図である。
【図３】ソフトＡＰモードの無線接続シーケンスを示す図である。
【図４】ＷＦＤモードの無線接続シーケンスを示す図である。
【図５】ＷＦＤ拡張モードの無線接続シーケンスを示す図である
【図６】ＷＦＤによる無線接続フェーズの詳細動作を説明するための図である。
【図７】ＭＦＰによる処理の流れ示す図である。
【図８】ＷＦＤによる無線接続フェーズの詳細動作を説明するための図である。
【図９】ＭＦＰによる処理の流れ示す図である。
【図１０】ＷＦＤによる無線接続フェーズの詳細動作を説明するための図である。
【図１１】ＭＦＰによる処理の流れ示す図である。
【図１２】ＭＦＰによる処理の流れ示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しながら、本発明の実施形態を例示的に詳しく説明する。但し、本実施形態に記載されている構成要素の相対配置、表示画面等は、それらのみに限定する趣旨のものではない。
【００１２】
図１は、本発明の通信装置の実施形態の一例である無線ＬＡＮ（ＷＬＡＮ）通信機能を有する複合機（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ；ＭＦＰ）１００の概略構成を示すブロック図である。ここでは、ＭＦＰ１００として読取機能と記録（印刷）機能とを有するものを例にしたが、これらの機能の一方または両方を有さず、他の機能を有するもの、これらの機能と他の機能とを有するものなど、種々の機能を持つものに適用可能である。他の機能としては、電話・ファクシミリ機能（電話回線用／ＩＰ網用）、近距離無線通信機能（Ｂｌｕｅｔｏｏｔｈ（登録商標）通信、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ））などを採用可能である。
【００１３】
ＭＦＰ１００は、メインボード１０１上に、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、不揮発性メモリ１０５、画像メモリ１０６、操作部１０７、表示部１０８、読取制御部１０９、記録制御部１１１、バッテリ部１１５、電源部１１６を有する。また、ＭＦＰ１００は、バスケーブル１１３を介して接続されたＷＬＡＮユニット１１４を有する。これらの構成要素はシステムバス１１７を介して接続され、互いにシステムバス１１７を介して通信可能である。また、ＭＦＰ１００は、さらに、原稿上の画像を読み取る読取機能を実現するための読取部１１０、記録媒体上に画像を記録する記録機能を実現するための記録部１１２を有する。
【００１４】
ＣＰＵ１０２は、ＭＦＰ１００の全体を制御する。以降に示すＭＦＰ１００の処理はＣＰＵ１０２の制御によって実行される。ＲＯＭ１０３は、ＣＰＵ１０２が実行する制御プログラムや組込オペレーティングシステム（ＯＳ）プログラム等を記憶する。本実施形態では、ＲＯＭ１０３に記憶されている各制御プログラムは、ＲＯＭ１０３に記憶されている組込ＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。また、ＣＰＵ１０２は、通信相手装置との通信に際して、ＲＯＭ１０３に記憶されているプログラムに従ってプロトコルスタック（ＩＰスタックを含む）を動作させる。このとき、通信動作に必要な複数のソケットの設定等も行う。ＲＡＭ１０４は、プログラム制御変数等のデータを記憶し、また、ユーザが登録した設定値やＭＦＰ１００の管理データ等のデータを記憶し、また各種ワーク用バッファ領域が設けられている。不揮発性メモリ１０５は、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）等のメモリで構成され、電源がオフされてもデータを記憶し続ける。画像メモリ１０６は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）等のメモリで構成され、読取部１１０によって入力された画像データや外部から受信した画像データなどを蓄積する。
【００１５】
操作部１０７は、ハードスイッチなどを含み、ユーザからの操作を受け付け、その操作内容をＣＰＵ１０２に伝える。表示部１０８は、ＭＦＰ１００に関する種々の表示（ユーザが行うべき操作をガイドする表示、ＭＦＰ１００の状態を示す情報などの表示）を行う。また、操作部１０７と表示部１０８を一体化させたタッチパネル等も採用可能である。
【００１６】
読取制御部１０９は、読取部（スキャナ）１１０（例えば、ＣＩＳイメージセンサ（密着型イメージセンサ））を制御して、原稿上の画像を光学的に読み取らせ、読取画像に応じた画像データを生成する。
【００１７】
記録制御部１１１は、入力された画像データを、記録部（プリンタ）１１２で記録（プリント）させるための記録データに変換し、記録部１１２を制御して、紙などの記録媒体上に記録剤を付与して画像を記録させる。記録部１１２としては、記録ヘッドから記録材としてインクを吐出させ、記録媒体上に画像を記録するインクジェットプリンタを採用可能である。
【００１８】
ＷＬＡＮユニット１１４は、無線通信によってネットワーク（ＴＣＰ／ＩＰに従った通信が可能なネットワーク）上の端末と通信する。ＷＬＡＮユニット１１４は、例えばＩＥＥＥ８０２．１１シリーズに準拠したＷＬＡＮシステムにおけるデータ（パケット）通信が可能であるものとする。また、ＷＬＡＮユニット１１４を用いた無線通信では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（ＷＦＤ）をベースにした通信が可能であり、ソフトウェアアクセスポイント（ソフトＡＰ）機能を有する。また、ＷＬＡＮユニット１１４はアドホックモード、Ｉｎｆｒａｓｔｒａｃｔｕｒｅモードによる通信が可能である。ＭＦＰ１００はインターネットプロトコル（ＩＰ）のバージョン４とバージョン６のいずれに従っても通信可能である。そして、通信に先だってそれぞれのバージョンに従ったＩＰスタックを動作させる。また、通信に際しては所定数のソケットを設定し、通信処理を実行する。また、ＩＰに従って複数の通信プロトコルの中から選択された通信プロトコルに従って通信可能である。ここで選択可能な通信プロトコルは、ＯＳＩ参照モデルのアプリケーション層のプロトコルであり、ＵＰｎＰ／Ｂｏｎｊｏｕｒ／ＷＳＤ／ＩＰＰ／ＳＭＢなどが含まれる。
【００１９】
バッテリ部１１５は、ＭＦＰ１００が動作するための電力を供給するユニット（電池）であり、商用電源（ＡＣ電源）等の外部電源からの電源供給がなくともＭＦＰ１００に電力を供給可能である。従って、バッテリ部１１５で電力を供給している間、ユーザはＭＦＰ１００を自在に携帯可能となる。バッテリ部１１５はＭＦＰ１００に内蔵のもの、または着脱可能なものを採用可能である。また、バッテリ部１１５は外部電源（商用電源など）からの電力供給を受けて充電可能であり、充電された電荷が、ＭＦＰ１００が動作可能な分残っている間、ＭＦＰ１００は外部電源からの電源供給なしに動作可能である。電源部１１６は、電源ケーブルを介して外部電源（商用電源（ＡＣ電源））からの電源供給を受け、ＭＦＰ１００が動作するための電力をＭＦＰ１００に供給する。電源部１１６は、バッテリ部１１５がＭＦＰ１００に装着されている場合、バッテリ部１１５に電力を供給し、充電することも可能である。電源部１１６は、外部電源からの交流電流を直流電流に変換する機能も含む。
【００２０】
図２は、本発明の通信装置の実施形態の一例である携帯端末２００の概略構成を示すブロック図である。携帯端末２００としては、携帯電話、スマートフォン、ノートＰＣ、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラなど種々のものを採用可能である。
【００２１】
携帯端末２００は、メインボード２０１上に、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、不揮発性メモリ２０５、画像メモリ２０６、操作部２０７、表示部２０８、バッテリ部２１１を有する。また、携帯端末２００は、バスケーブル２０９を介して接続されたＷＬＡＮユニット２１０を有する。これらの構成要素はシステムバス２１２を介して接続され、互いにシステムバス２１２を介して通信可能である。これらの各構成要素は、図１に示した同名の構成要素で行った説明と同様の説明となるので、ここでの説明は省略する。
【００２２】
但し、携帯端末２００のバッテリ部２１１は、外部電源から直接充電可能なものとした。従って、バッテリ部２１１が携帯端末２００に装着されていなければ、外部電源に接続されていても携帯端末２００に電力を供給することができない。バッテリ部２１１内に携帯端末２００が動作可能な分の電荷が残っている場合、外部電源に接続されていなくとも、携帯端末２００は動作可能であり、ユーザは自在に携帯して使用可能である。外部電源を用いたバッテリ部２１１の充電は、充電器を介して商用電源（ＡＣ電源）からの電力を供給することにより行われる。バッテリ部２１１の充電には、充電器をケーブルを介して商用電源及び携帯端末２００に接続して充電するものや、電磁誘導、磁界共鳴、マイクロ波、直流共鳴などを用いた無線電力伝送によって充電するものを採用可能である。また、受光した太陽光を電力に変換するソーラー発電など、他の方式も採用可能である。なお、携帯端末２００への電力供給は、これに限定されず、図１で説明したバッテリ部及び電源部と同様なものを用いたものなど、種々のものとしてよい。
【００２３】
また、不揮発性メモリ２０５には、種々のアプリケーションソフトウェアを記憶可能であり、ＣＰＵ２０２が実行することで種々の機能を実現可能である。アプリケーションソフトウェアとしては、ウェブブラウザ機能、電子メール機能などがある。また、図２では携帯端末２００の主要な構成要素を示した。これら以外、電話機能、カメラ機能、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信機能、ＮＦＣ機能、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）機能、マイク機能、スピーカ機能、テレビジョン受像機能など種々の機能を含むものとしてもよい。
【００２４】
＜Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）方式について＞
ＷＬＡＮにおける通信においてＡＰを介さず装置同士が通信するＰ２Ｐモード（ピアツーピアモード）を実現する方式として、複数のモードが考えられる。それぞれのモードでは探索側の機器が同一の機器探索コマンド（例えば、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔフレーム）を使用して通信相手となる機器（通信相手装置）を探索して発見する。機器探索コマンドには種々の属性（パラメータ）を付随させて送信することが可能である。機器探索コマンドに対する応答は、探索コマンドに属性が指定された場合に、通常、当該モードの仕様及び前提となる仕様（ＷＦＤであればＷｉ−Ｆｉ）で規定されている範囲で最大限解釈可能な属性の応答をする事が推奨されている。また、機器探索コマンドに付随する情報（上記属性を含む）に解釈できない情報が含まれる場合であっても、受け取った機器探索コマンドに対して解釈できる情報のみを元に応答することも可能である。
【００２５】
Ｐ２Ｐモードのモードとして、以下の３モードが考えられる。
・モードＡ（ソフトウェアＡＰモード）
・モードＢ（Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（ＷＦＤ）モード）
・モードＣ（ＷＦＤ拡張モード）
それぞれのモードは、対応している機器が異なることがあり、また、利用できるアプリケーションも異なることがある。以下、各モードにおける無線接続シーケンスについて、図３〜図５を用いて説明する。
【００２６】
図３はモードＡ（ソフトウェアＡＰモード）の無線接続シーケンスを示す図である。ソフトウェアＡＰモードでは、通信を行う機器（例えば、携帯端末２００とＭＦＰ１００）との間で、一方の機器（例えば、携帯端末２００）が、各種サービスを依頼する役割を果たすクライアントとなる。そして、もう一方の機器（例えば、ＭＦＰ１００）が、ＷＬＡＮにおけるアクセスポイントの機能をソフトウェアによる設定により実現するソフトウェアＡＰとなる。ソフトウェアＡＰモードでは、クライアントは、機器探索コマンドによりソフトウェアＡＰとなる機器を探索する。ソフトウェアＡＰが探索されると、クライアントとソフトウェアＡＰとの間で残りの無線接続の処理（無線接続の確立等）を経て、その後、ＩＰ接続の処理（ＩＰアドレスの割当等）を行うことになる。尚、クライアントとソフトウェアＡＰとの間で無線接続を実現する場合に送受信されるコマンドやパラメータについては、Ｗｉ−Ｆｉ規格で規定されているものを用いればよく、ここでの説明は省略する。
【００２７】
図４はモードＢ（ＷＦＤモード）の無線接続シーケンスを示す図である。ＷＦＤモードでは、機器探索コマンドにより通信相手となる機器が探索された後に、Ｐ２Ｐのグループオーナと、Ｐ２Ｐのクライアントの役割を決定した上で、無線接続を行うことになる。この役割決定は、例えば、Ｐ２Ｐでは、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎに対応する。具体的には、まず、通信を行う機器との間で、一方の機器が、機器探索コマンドを発行し、ＷＦＤモードで接続する機器を探索する。通信相手となる他方の機器が探索されると、両者の間で、互いの機器で供給可能なサービスや機能に関する情報を確認する（機器供給情報確認）。尚、この機器供給情報確認はオプションであり、必須ではない。この機器供給情報確認フェーズは、例えば、Ｐ２Ｐでは、Ｐｒｏｖｉｓｉｏｎ  Ｄｉｓｃｏｖｅｒｙ（ＰＤ）に対応する。次に、この機器供給情報を互いに確認することで、その役割として、どちらがＰ２Ｐのクライアントとなり、どちらがＰ２Ｐのグループオーナとなるかを決定する。例えば、携帯端末２００がクライアントとなり、ＭＦＰ１００がグループオーナとなる。次に、Ｐ２Ｐのクライアントとグループオーナが決定したら、両者の間で、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を行うためのパラメータを交換する（パラメータ交換フェーズ）。交換したパラメータに基づいて、クライアントとグループオーナとの間で残りの無線接続の処理、ＩＰ接続の処理を行う。このパラメータ交換フェーズは、例えば、Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐを用いて自動的に無線ＬＡＮセキュリティのパラメータを交換することに対応する。グループオーナとなった装置はＡＰとしてＷＬＡＮユニットを介して定期的にビーコン信号を出力する。
【００２８】
図５はモードＣ（ＷＦＤ拡張モード）の無線接続シーケンスを示す図である。ＷＦＤ拡張モードは、ＷＦＤモードを拡張したものであり、ＷＦＤモードでオプションとしていた機器供給情報確認を必須とする。ここでＳｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ（ＳＤ）コマンドを用いて利用したいサービスの交換を行う。これ以外は図４で説明したような処理を行う。また、モードＣではさらにＩＰ接続の処理の後に、拡張処理として先のやり取りで決定したサービスを利用するためのサービス接続の処理を行う。
【００２９】
次に、Ｐ２Ｐモード（ＷＦＤモード）でのグループオーナ（サービス提供元）になることを希望する意図の強さを示すＯｗｎｅｒ  Ｉｎｔｅｎｔ（グループオーナ意図指数）を調整する処理について説明する。尚、Ｏｗｎｅｒ  Ｉｎｔｅｎｔは、予め（無線接続前に）通信装置にデフォルト値が設定されているものとする。その値は通信装置の製造時に不揮発性メモリ（１０５、２０５）に記憶された値、またはユーザが設定することが可能な値である。尚、Ｏｗｎｅｒ  Ｉｎｔｅｎｔは、例えば、０（Ｍｉｎ）−１５（Ｍａｘ）の値を取り得るものであり、通信装置同士でネゴシエーションし、値の大きい方がグループオーナとなる。
【００３０】
次に、Ｐ２Ｐモードの通信モードで動作する場合に、通信相手装置のＩＰスタックの情報を取得し、リソース消費を考慮してＩＰスタックを調整する処理について説明する。
【００３１】
ここで、ＷＦＤモード（モードＢ，Ｃ）の無線接続フェーズの詳細動作について、図６を用いて説明する。尚、図６のシーケンスは、図４及び図５のシーケンスに準ずるものである。
【００３２】
Ｐ１００１：機器探索により、通信相手装置を発見する。これは、例えば、一方の通信装置（例えば、携帯端末２００）が機器探索要求（Ｄｉｓｃｏｖｅｒｙ）コマンドを発行し、通信相手装置となる他方の通信装置（例えば、ＭＦＰ１００）がこれに応答することで実現する。
【００３３】
Ｐ１００２：通信相手装置が確定すると、通信を行う機器との間で、互いの機器で供給可能なサービスや機能に関する情報を確認する（機器供給情報確認）。これは、Ｏｐｔｉｏｎａｌ  Ｄｉｓｃｏｖｅｒｙコマンド、ＳＤコマンド、ＰＤコマンドを用いて実現する。このフェーズで、通信相手装置がグループオーナになる予定の場合、通信相手装置がアクセスポイントとして動作する時の情報として、ＩＰｖ４もしくはＩＰｖ６のＩＰアドレスが取得できる。ＩＰｖ４では３２ビットのＩＰアドレス、ＩＰｖ６では１２８ビットのＩＰアドレスを用いて通信を行う。一方、通信相手装置がグループオーナになりたくない場合、後で通信相手装置はアクセスポイントからＩＰアドレスをＤＨＣＰで取得するため、通信相手装置のＩＰアドレスは取得できない。
【００３４】
Ｐ１００３：Ｇｒｏｕｐ  Ｏｗｎｅｒ  Ｎｅｇｏｔｉａｔｉｏｎにより役割として、どちらがクライアントとなり、どちらがグループオーナとなるかを決定する役割決定を行う（Ｇｒｏｕｐ  Ｆｏｒｍａｔｉｏｎ）。ここでは、印刷サービスを提供するＭＦＰ１００がＰ２Ｐのクライアントとなり、印刷サービスを依頼する携帯端末２００がグループオーナとなる。尚、グループオーナを決定するための処理であるＧｒｏｕｐ  Ｏｗｎｅｒ  Ｎｅｇｏｔｉａｔｉｏｎは、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｑｕｅｓｔフレーム、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｓｐｏｎｓｅフレーム、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｃｏｎｆｉｒｍａｔｉｏｎフレームという、３つ（３−ｗａｙ）の情報の交換から成り立っている。
【００３５】
Ｐ１００４：クライアントとグループオーナが決定したら、両者の間で、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる通信を行うためのパラメータを交換する（ＷＰＳシーケンス）。
Ｐ１００５：クライアントとグループオーナとの間で残りの無線接続の処理を行う。
Ｐ１００６：クライアントとグループオーナとの間でＩＰ接続の処理を行う。このフェーズで、ＩＰｖ４、及びＩＰｖ６をともに使用するか、ＩＰｖ４、ＩＰｖ６のどちらか一方のみを使用するかを決定する。
Ｐ１００７：交換したパラメータに基づいて、クライアントとグループオーナとの間で所定のネットワークプロトコルによる通信を行い、印刷サービスに従った印刷データのやり取りを行う。
【００３６】
以下、ＭＦＰ１００が実行する図６のＰ１００２〜Ｐ１００６の処理について、図７を用いて説明する。図７は、ＭＦＰ１００のＣＰＵ１０２がＲＯＭ１０３に記憶されているプログラムをＲＡＭ１０４にロードし、実行することによって行われる処理の流れを示すフローチャートである。ただし、図７では、図６の処理のうちＰ１００２及び１００６について示し、他のフェーズの処理は省略するが、省略されたフェーズは図６に示すように行われる。尚、図７では、前提として、ＭＦＰ１００が機器探索要求を発行して、通信相手装置（例えば、携帯端末２００）を発見した後（Ｐ１００１）、通信相手装置のＩＰｖ４／ＩＰｖ６のＩＰアドレスを確認する（Ｐ１００２）。そして、その結果に基づいて、自身のＩＰスタックの起動を制御する場合を例に説明する。また、この処理は、ＭＦＰ１００に限定されず、携帯端末２００においても実現可能である。
【００３７】
図７において、Ｓ７０１で、ＭＦＰ１００は、Ｐ１００１における機器探索要求によって発見されたＰ２Ｐモードによる通信相手装置（携帯端末２００）から、通信相手装置のＩＰｖ４／ＩＰｖ６のＩＰアドレスを取得する。この時、通信相手装置がグループオーナになる予定の場合、通信相手装置のアクセスポイント情報として、ＩＰｖ４もしくはＩＰｖ６のＩＰアドレスが取得できる。反対に、通信相手装置がクライアントになる予定の場合、通信相手装置はアクセスポイントにならないため、ＩＰアドレスは取得できない。いずれとなる予定かはＰ１００２における機器供給情報確認において確認する。
【００３８】
Ｓ７０２で、Ｐ１００３〜Ｐ１００５のフェーズを経たＭＦＰ１００は、Ｓ７０１で取得したＩＰアドレスが、ＩＰｖ４／ＩＰｖ６のどちらかを判定し、ＩＰｖ４の場合、Ｓ７０３に進み、ＩＰｖ６の場合、Ｓ７０５に進む。
【００３９】
Ｓ７０３では、通信相手装置がＩＰｖ４のため、自身のＩＰｖ６のＩＰスタックを無効化する。続いて、ステップＳ７０４で、ＩＰｖ４のＩＰスタック動作させた状態でＩＰｖ４を用いて、通信相手装置と接続する。
【００４０】
一方、ステップＳ７０５では、通信相手装置がＩＰｖ６のため、自身のＩＰｖ４のＩＰスタックを無効化する。続いて、ステップＳ７０６で、ＩＰｖ６のＩＰスタックを形成した状態でＩＰｖ６を用いて、通信相手装置と接続する。
【００４１】
以降は、接続したＩＰのバージョンに従って通信処理を行い、印刷サービスの実行等を行う。即ち、いずれかのバージョンによるＩＰアドレスに従って、携帯端末２００が送信してくる画像データに従って、ＭＦＰ１００が記録部１１２を用いてプリント処理を行う。
【００４２】
以上説明したように、図６、７の処理によれば、通信相手装置のアクセスポイント情報によるＩＰスタックの情報に応じて、自身のＩＰスタックを調整することができ、通信リソースの消費を抑えることが実現可能である。即ち、ＣＰＵ１０２の処理の負荷軽減や、ＷＬＡＮユニット１１４を用いて通信する際のソケット数の低減による負荷軽減などを図ることができる。
【００４３】
次に、ＷＦＤの無線接続シーケンスにおいて、相手通信装置がグループオーナになる予定がない場合の動作について、図８を用いて説明する。
【００４４】
図６、７の例では、相手通信装置がグループオーナになる予定の場合に、通信相手装置のアクセスポイント情報として、ＩＰｖ４もしくはＩＰｖ６のＩＰアドレスが取得できた。しかしながら、通信相手装置がクライアントになる予定の場合、ＭＦＰ１００をアクセスポイントとして、通信相手装置はアクセスポイントからＩＰアドレスを割り当ててもらう予定でいる。このため、Ｐ１００２では、通信相手装置のアクセスポイント情報として、ＩＰｖ４もしくはＩＰｖ６のＩＰアドレスを取得できない。
【００４５】
そこで、図８の例では、Ｐ１００１もしくはＰ１００２において、アクセスポイント情報ではなく、通信相手装置がどのＩＰスタックを使う予定かを示すＩＰｖ４／ＩＰｖ６フラグの情報を取得する。その後、Ｐ１００６において、取得したＩＰｖ４／ＩＰｖ６フラグの情報に応じて、使用するＩＰスタックを決定する。
【００４６】
以下、図８に従ってＭＦＰ１００が実行する処理について、図９を用いて説明する。尚、図９では、前提として、ＭＦＰ１００が機器探索要求を発行して、通信相手装置（例えば、携帯端末２００）を発見する（Ｐ１００１）。その後、Ｐ１００１もしくはＰ１００２で通信相手装置からどのＩＰスタックを使う予定かを示すＩＰｖ４／ＩＰｖ６フラグ情報を取得する場合を例に挙げて説明する。また、この処理は、ＭＦＰ１００に限定されず、携帯端末２００においても実現可能である。
【００４７】
図９はＭＦＰ１００が実行する処理を示すフローチャートである。図９は、ＭＦＰ１００のＣＰＵ１０２がＲＯＭ１０３に記憶されているプログラムをＲＡＭ１０４にロードし、実行することによって行われる処理の流れを示すフローチャートである。ただし、図９では、図８の処理のうちＰ１００１または１００２及び１００６について示し、他のフェーズの処理は省略するが、省略されたフェーズは図８に示すように行われる。
【００４８】
Ｓ９０１では、ＭＦＰ１００は、Ｐ１００１またはＰ１００２において通信相手装置からどのＩＰスタックを使う予定かを示すＩＰｖ４／ＩＰｖ６フラグ情報を取得する。そして、Ｓ９０２で、ＭＦＰ１００は、Ｓ９０１で取得したフラグが、ＩＰｖ４／ＩＰｖ６のどちらかを判定し、ＩＰｖ４の場合、ステップＳ９０３に進み、ＩＰｖ６の場合、Ｓ９０５に進む。ステップＳ９０３〜ステップＳ９０６については、前述の図７で説明したＳ７０３〜Ｓ７０６と同様であるため、ここでの説明を省略する。
【００４９】
以上説明したように、図８、９の処理によれば、通信相手装置がクライアントになる予定の場合にも、ＩＰｖ４／ＩＰｖ６フラグに応じて、自身のＩＰスタックを調整することができ、通信リソース等の消費を抑えることが可能である。
【００５０】
次に、ＷＦＤの無線接続シーケンスにおいて、ＩＰスタックに加えて、通信プロトコル（アプリケーション層）を制限する方法について、図１０を用いて説明する。
【００５１】
これまで説明した処理では、自身のＩＰスタックを調整することによって、通信リソースの消費を抑えるものであった。複数の通信プロトコルに対応した通信装置では、１つのＩＰスタックが動作することによって、これを用いて通信を行う複数の通信プロトコルが動作する。そこで、以下に示す例では、Ｐ１００１もしくはＰ１００２において、通信相手装置が使用する通信プロトコル情報を取得する。ここで取得する通信プロトコルには、ＵＰｎＰ／Ｂｏｎｊｏｕｒ／ＷＳＤ／ＩＰＰ／ＳＭＢなどがある。その後、Ｐ１００７において、取得した使用する通信プロトコル情報に応じて、使用する通信プロトコルを決定する（使用しない通信プロトコルのプロトコルスタックは無効化する）。
【００５２】
以下、図１０に従ったＭＦＰ１００が実行する処理について、図１１を用いて説明する。尚、図１１では、前提として、ＭＦＰ１００が機器探索要求を発行して（Ｐ１００１）、通信相手装置（例えば、携帯端末２００）を発見する。その後、Ｐ１００１もしくはＰ１００２で通信相手装置から使用する通信プロトコル情報を取得する場合を例に挙げて説明する。また、この処理は、ＭＦＰ１００に限定されず、携帯端末２００においても実現可能である。
【００５３】
図１１はＭＦＰ１００が実行する処理を示すフローチャートである。図１１は、ＭＦＰ１００のＣＰＵ１０２がＲＯＭ１０３に記憶されているプログラムをＲＡＭ１０４にロードし、実行することによって行われる処理の流れを示すフローチャートである。ただし、図１１では、図１０の処理のうちＰ１００１または１００２及び１００７について示し、他のフェーズの処理は省略するが、省略されたフェーズは図１０に示すように行われる。
【００５４】
Ｓ１１０１では、ＭＦＰ１００は、通信相手装置から使用する通信プロトコル情報を取得する。そして、Ｓ１１０２で、ＭＦＰ１００は、ステップＳ１１０１で取得した使用する通信プロトコル以外のプロトコルを無効化する。最後に、ステップＳ１１０３で、取得した使用する通信プロトコルを使って、通信相手装置と接続する。
【００５５】
以上説明したように、図１０、１１の処理によれば、通信相手装置が使用する通信プロトコルに応じて、自身の通信プロトコルを調整することができ、通信リソースの消費を抑えることが実現可能である。また、通信相手装置から使用する通信プロトコル情報は、通信相手装置が使用する全ての通信プロトコル情報でも、ＭＦＰ１００に対して使用する通信プロトコルに限定した情報でもよい。ＭＦＰ１００に対して使用する通信プロトコルに限定した情報を用いる（使用しない通信プロトコルのプロトコルスタックも動作させない）ことで、さらに、通信リソースの消費を抑えることが可能である。
【００５６】
なお、以上の説明では、ＩＰスタックを調整することによって、通信リソースの消費を抑える形態について説明したが、通信リソースが十分にある場合、通信リソースの消費を抑える処理は不要である。
【００５７】
そこで、以下では、ＭＦＰ１００が自身の無線ＬＡＮ設定に応じて、通信リソースの消費を抑える処理を行うかどうかを決定する方法について、図１２を用いて説明する。
【００５８】
ここで、ＭＦＰ１００は、Ｐ２Ｐ無線接続方式とインフラストラクチャ接続方式の２つの無線ＬＡＮ接続方式に対応しており、それぞれの方式で、ＩＰｖ４とＩＰｖ６の両方をサポート（利用許可）するか、片方のみサポートするかが設定可能である。また、ＭＦＰ１００は、通信リソースとして、ＩＰスタックを同時に３つまでサポート可能とする。図１２では、ＭＦＰ１００が機器探索要求を発行して、通信相手装置（例えば、携帯端末２００）を発見した後、通信リソースの消費を抑える処理を行うか否かを決定する場合を例に挙げて説明する。また、この処理は、ＭＦＰ３００に限定されず、携帯端末２００においても実現可能である。なお、通信リソースの消費を抑える処理とは、図７、９、１１で示したような使用しないプロトコルスタックを無効化する処理である。
【００５９】
図１２のフローチャートはＭＦＰ１００のＣＰＵ１０２がＲＯＭ１０３に記憶されているプログラムをＲＡＭ１０４にロードし、実行することによって行われる処理の流れを示す。
【００６０】
Ｓ１２０１では、ＭＦＰ１００は、自身の無線ＬＡＮ設定として、不揮発性メモリ１０５に記憶されている設定情報に基づき、インフラストラクチャ接続方式が有効に設定されているか否かを判定する。インフラストラクチャモードが有効となっている場合、Ｐ２Ｐモードとインフラストラクチャモードとで並行して複数の通信相手装置と無線通信可能な状態である。インフラストラクチャ接続方式が無効の場合、通信リソースとしては、Ｐ２Ｐ無線接続方式が２つのＩＰスタックを使用しても余裕があるため、特に、通信リソースの消費を抑える処理は行わない。一方、インフラストラクチャ接続方式が有効な場合、Ｓ１２０２に進む。
【００６１】
Ｓ１２０２では、ＭＦＰ１００は、自身の無線ＬＡＮ設定として、不揮発性メモリ１０５に記憶されている設定情報に基づき、インフラストラクチャ接続方式がＩＰｖ４とＩＰｖ６の両方をサポート（利用許可）するデュアルスタックモードに設定されているか否かを判定する。デュアルスタックモードが無効の場合、通信リソースとしては、Ｐ２Ｐ無線接続方式が２つのＩＰスタックを使用しても余裕があるため、特に、通信リソースの消費を抑える処理は行わない。一方、デュアルスタックモードが有効な場合、Ｓ１２０３に進む。
【００６２】
Ｓ１２０３では、インフラストラクチャ接続方式が２つのＩＰスタックを使うため、Ｐ２Ｐ無線接続方式では、図７、９、１１で説明した通信リソースの消費を抑える処理を行う。
【００６３】
以上説明したように、図１２の処理によれば、ＭＦＰ１００が本体の無線ＬＡＮ設定に応じて、通信リソースの消費を抑える処理を行うかどうかを決定することが可能である。通信リソースの消費を抑える処理を行わなかった場合、複数のプロトコルスタックが起動された状態となるので、当該プロトコルによる通信を行う場合、迅速に処理を開始可能となる。また、上記例ではＭＦＰ１００がサポートするＩＰスタックの数によって、通信リソースの消費を抑える処理を行うか否かを判断したが、これに限定されるものではない。例えば、ＭＦＰ１００がサポートする通信プロトコルの数やそれに対するプロトコルスタックの容量によって、通信リソースの消費を抑える処理を行うか否かを判断してもよい。即ち、通信装置が、自身で使用許可されている通信プロトコルの数が予め決められた所定閾値より大きいか否か判定し、大きいと判定された場合に上記通信リソースの消費を抑える処理を行う。また、通信装置が、自身で使用されるプロトコルスタックの容量が所定閾値より多いか否か判定し、多いと判定された場合に上記通信リソースの消費を抑える処理を行う。
【００６４】
尚、以上の処理は適宜組合せて実行するようにしてもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムを実行するコンピュータは、１つであってもよいし、複数のコンピュータが協働してプログラムを実行するものであってもよい。さらに、プログラムの一部を実行する回路等のハードウェアを設け、そのハードウェアと、ソフトウェアを実行するコンピュータが協働して、本実施形態で説明した処理を実行する場合であってもよい。
【図１】
2015002427.tif 000003
【図２】
2015002427.tif 000004
【図３】
2015002427.tif 000005
【図４】
2015002427.tif 000006
【図５】
2015002427.tif 000007
【図６】
2015002427.tif 000008
【図７】
2015002427.tif 000009
【図８】
2015002427.tif 000010
【図９】
2015002427.tif 000011
【図１０】
2015002427.tif 000012
【図１１】
2015002427.tif 000013
【図１２】
2015002427.tif 000014