(57)【要約】【課題】  複数の通信インタフェースに同一のネットワークアドレスが付与されることで、特定の端末と通信ができなくなったり、意図しない端末との通信を回避することが望まれる。また、そのようなネットワーク上のトラブルが発生する可能性をネットワークに詳しくないユーザでも容易に知り得ることが望まれる。【解決手段】  複数の通信インタフェースを有する情報機器であって、複数の通信インタフェースのネットワークアドレスの衝突を検出結果と、複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かの確認結果に基づいて、複数の通信インタフェースを介した通信を制御する。【選択図】  図１
2011130205.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信インタフェースを有する情報処理装置であって、
前記複数の通信インタフェースのネットワークアドレスの衝突を検出する検出手段と、
前記複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かを確認する確認手段と、
前記検出手段による検出の結果及び前記確認手段による確認の結果に基づいて、前記複数の通信インタフェースを介した通信を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記検出手段によりネットワークアドレスの衝突を検出された通信インタフェースが、異なるサブネットワークに接続していると前記確認手段により確認されると、ユーザに対して所定の通知を行う通知手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段によりネットワークアドレスの衝突を検出された通信インタフェースが、異なるサブネットワークに接続していると前記確認手段により確認されると、通信に使用する通信インタフェースを選択する選択手段を有することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記検出手段によりネットワークアドレスの衝突を検出された通信インタフェースの種別を判定する判定手段を有することを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判定手段による判定の結果に応じて、いずれかの通信インタフェースによる通信を停止する停止手段を有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記確認手段は、１つの通信インタフェースから送信された所定のパケットを別の通信インタフェースを介して受信できるか否かに基づいて、前記複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かを確認することを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報処理装置。
【請求項７】
前記確認手段は、ネットワークアドレスの衝突を検出された通信インタフェースから送信された所定のパケットに対する応答が各通信インタフェースを介して受信されたか否か及び該応答の内容に基づいて、前記複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かを確認することを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報処理装置。
【請求項８】
複数の通信インタフェースを有する情報処理装置の制御方法であって、
検出手段が前記複数の通信インタフェースのネットワークアドレスの衝突を検出する検出工程と、
確認手段が前記複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かを確認する確認工程と、
制御が前記検出工程における検出の結果及び前記確認の工程における確認の結果に基づいて、前記複数の通信インタフェースを介した通信を制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
請求項１乃至請求項８のいずれか１項に記載の情報処理装置としてコンピュータを機能されることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信インタフェースを有する情報処理装置及び制御方法に関するものである。
【背景技術】
【０００２】
複数の通信インタフェースを有する情報機器が増え、複数の通信インタフェースを同時利用することがある。物理的な通信インタフェースは一つでも仮想的に複数通信インタフェースを有する情報機器も存在する。例えば無線ＬＡＮインタフェースのみを有する情報機器であっても、一つの無線ＬＡＮインタフェースでインフラストラクチャモードと、アドホックモードを同時利用する場合である。この場合、仮想的に複数の通信インタフェースを同時利用することになる。
【０００３】
ＩＰネットワークに接続している場合、各通信インタフェースに、ＩＰアドレスが付与される。ＩＰアドレスはネットワークアドレス部とホストアドレス部とから構成される。ネットワークアドレスは端末がどのサブネットワークに所属しているかを示す。ホストアドレスはサブネットワーク上のどの端末であるかを示す。ホストアドレス部とネットワークアドレス部は、ネットマスクにより判断される。ネットワークアドレスはサブネットワーク毎にアドレスが決定されるため、異なるサブネットワーク内で同じネットワークアドレスが付与されることがあり得る。
【０００４】
そのため、複数の通信インタフェースを同時利用する情報機器では、各通信インタフェースが接続しているネットワークの構成により、複数の通信インタフェースに同一のネットワークアドレスが付与される場合がある。ネットワーク通信を行う場合、ルーティングテーブルによりデータ送信に使用される通信インタフェースが決定される。ルーティングテーブルには、各サブネットワークに対して、どの通信インタフェースを使って送信するかが定義される。また同一のサブネットワークに対しても、どの通信インタフェースを優先して、データ送信を行うかが定義される。
【０００５】
複数の通信インタフェースに同一のネットワークアドレスが付与された場合、ルーティングテーブルで優先される通信インタフェースを介してデータ送信が行われる。そのため、複数の通信インタフェースが異なるネットワークに接続し、通信相手が優先順位の低い通信インタフェースのサブネットワークに存在する場合、優先される通信インタフェースのサブネットワーク上に通信相手が存在せず通信ができない。また、両方のサブネットワーク上に同一のＩＰアドレスの端末がいた場合に、意図しない端末と通信してしまうことになる。
【０００６】
特許文献１は、複数の通信インタフェースに同一のネットワークアドレスが付与されたことを検出すると、一方のインタフェースのネットワークアドレスを変更する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−７８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１は、ネットワークの構成などにより、他のアドレスに変更ができない場合があり得る。また、アドレス変更に時間がかかり、速やかにデータ通信を開始できない。
【０００９】
複数の通信インタフェースに同一のネットワークアドレスが付与されることで、特定の端末と通信ができなくなったり、意図しない端末との通信を回避することが望まれる。また、そのようなネットワーク上のトラブルが発生する可能性をネットワークに詳しくないユーザでも容易に知り得ることが望まれる。
【課題を解決するための手段】
【００１０】
複数の通信インタフェースを有する情報処理装置は、複数の通信インタフェースのネットワークアドレスの衝突を検出結果と、複数の通信インタフェースが接続するサブネットワークが異なるサブネットワークか否かの確認結果に基づいて、複数の通信インタフェースを介した通信を制御する。
【発明の効果】
【００１１】
複数の通信インタフェースのネットワークアドレスが同一となることによって生じ得るユーザが意図しない端末との通信や、特定端末との通信ができなくなる状態を防ぐことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態１乃至は２におけるネットワークの構成図
【図２】本発明の実施形態１乃至は２におけるプリンタの構成図
【図３】本発明の実施形態１におけるプリンタの処理のフローチャート図
【図４】本発明の実施形態１におけるネットワークアドレス衝突時のルーティングテーブル
【図５】本発明の実施形態２におけるプリンタの処理のフローチャート図
【発明を実施するための形態】
【００１３】
（実施例１）
図１は、本発明を適用できるネットワークの構成を示している。１０１は有線ＬＡＮインタフェースと無線ＬＡＮインタフェースを備えたプリンタである。プリンタ１０１は有線ＬＡＮインタフェースを通じてネットワーク１０４に接続されている。また、プリンタ１０１は無線ＬＡＮインタフェースを通じて無線アドホックネットワーク１０６、または無線インフラネットワーク１０８に接続することができる。プリンタ１０１はネットワーク１０４、１０６、１０８経由で印刷ジョブを受信すると所定の印刷処理を行う。
【００１４】
１０２と１０３はそれぞれＰＣ（パーソナルコンピュータ）であり、ネットワーク１０４を通じてプリンタ１０１と通信し、印刷処理を要求することができる。１０５は無線ＬＡＮインタフェースを有するＰＣであり、無線アドホックネットワーク１０６を通じて、プリンタ１０１に印刷ジョブを送信することができる。１０７は無線ＬＡＮの基地局であるＡＰ（アクセスポイント）であり、無線インフラネットワーク１０８とネットワーク１０９の中継を行う。１１０はＰＣであり、ネットワーク１０９、ＡＰ１０７、無線インフラネットワーク１０８を介して、プリンタ１０１に印刷ジョブを送信することができる。
【００１５】
図２に、情報処理装置としてのプリンタ１０１の構成を示す。２０１は表示部であり、液晶ディスプレイやその制御プログラムから構成される。２０２は操作部であり、ボタンやその制御プログラムから構成される。２０３は印刷処理部であり、印刷処理を実行するための印刷モーターやその制御プログラムから構成される。２０４は通信制御部であり、後述する無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９を制御することでネットワーク上の他の端末と通信を実現する制御部とプログラムから構成される。典型的にはＴＣＰ／ＩＰ制御や通信インタフェースドライバなどが通信制御部２０４に相当する。
【００１６】
２０５はアドレス衝突検出部であり、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９のネットワークアドレスが衝突しているかどうかを検出するための制御プログラムである。２０６は別サブネットワーク検出部であり、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９が接続するサブネットワークが異なるサブネットワークか否かを確認するための制御プログラムである。２０７はインタフェース選択部であり、必要に応じて無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９の中から使用すべき通信インタフェースを選択する制御プログラムである。
【００１７】
２１０はネットワーク状態記憶部であり、通信インタフェースの状態を記憶するためのメモリーである。例えば、無線ＬＡＮインタフェース２０８が無線インフラネットワークに接続しているか、または無線アドホックネットワークに接続しているか、といった情報を記憶する。２０８は無線ＬＡＮインタフェースであり、無線アドホックネットワーク１０６乃至は無線インフラネットワーク１０８に接続することができる。２０９は有線ＬＡＮインタフェースであり、ネットワーク１０４を通じてＰＣ１０２やＰＣ１０３と通信することができる。
【００１８】
図３は本実施例におけるプリンタ１０１の動作例を示している。本動作例の開始前の状態として、プリンタ１０１は有線ＬＡＮインタフェース２０９を介してネットワーク１０４に接続されており、ＰＣ１０２とＰＣ１０３から通信可能な状態である。無線ＬＡＮインタフェース２０８は無線ＬＡＮネットワークに未接続の状態である。そのため、ＰＣ１０５およびＰＣ１１０とは通信することができない。
【００１９】
図３のＳ３０１、Ｓ３０２、Ｓ３０７は通信制御部２０４により実行される。Ｓ３０３、Ｓ３０８はアドレス衝突検出部２０５により実行される。Ｓ３０４、Ｓ３１０、Ｓ３１１は別サブネットワーク検出部２０６により実行される。Ｓ３０５、Ｓ３０９はインタフェース選択部２０７により実行される。Ｓ３０６は印刷処理部２０３により実行される。Ｓ３１２は表示部２０１により実行される。
【００２０】
図３を用いてプリンタ１０１が無線アドホックネットワーク１０６乃至は無線インフラネットワーク１０８に接続したときの処理について説明する。なお、本実施例では、ＩＰｖ４について説明する。
【００２１】
プリンタ１０１が無線アドホックネットワーク１０６に接続した場合について説明する。プリンタ１０１は無線ＬＡＮインタフェース２０８により、ＰＣ１０５の図示されない無線ＬＡＮインタフェースと通信するために、無線アドホックネットワーク１０６を確立する（Ｓ３０１）。このとき、プリンタ１０１は無線ＬＡＮインタフェース２０８が無線アドホックネットワーク１０６に接続していることを、ネットワーク状態記憶部２１０に記憶しておく。
【００２２】
プリンタ１０１およびＰＣ１０５は、それぞれＩＰアドレスを取得する（Ｓ３０２）。ここでＡｕｔｏＩＰでＩＰアドレスが割り当てられ、プリンタ１０１の無線ＬＡＮインタフェース２０８にはネットワークアドレスが１６９．２５４．〇．×／２５５．２５５．０．０が割り振られたとする。プリンタ１０１はＳ３０２でＩＰアドレスを取得すると、次に、アドレス衝突検出部２０５が有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８のネットワークアドレスの比較を行う（Ｓ３０３）。ここで有線ＬＡＮインタフェースのネットワークアドレスが１９２．１６８．〇．△×  ／  ２５５．２５５．２５５．０であった場合、検出の結果、アドレス衝突検出部２０５は、無線ＬＡＮインタフェース２０９とネットワークアドレスが異なると判断する。この場合、ネットワーク１０４、無線アドホックネットワーク１０６ともに通信可能であるので、通常の処理を行う。例えばＰＣ１０２、ＰＣ１０３、ＰＣ１０５等からの印刷ジョブを実行する。
【００２３】
一方、Ｓ３０３においてアドレス衝突検出部２０５が、有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８が同一のネットワークアドレスであると判断した場合は、Ｓ３０４を実行する。同一のネットワークアドレスとは、例えば有線ＬＡＮインタフェース２０９もＡｕｔｏＩＰを実施しており、ネットワークアドレスが１６９．２５４．〇．×／２５５．２５５．０．０であるような場合である。
【００２４】
この場合、ルーティングテーブルは図４（ａ）に示されるようになる。図４（ａ）におけるルーティングテーブルのインタフェースの項目のｅｔｈ０は有線ＬＡＮインタフェース２０９を示しており、ｗｌａｎ０は無線ＬＡＮインタフェース２０８を示す。また、ルーティングテーブルで、上に表記されているインタフェースが優先度が高いインタフェースであり、上に表記されているインタフェースがデータ送信を行うインタフェースとして選択される。そのため、図４（ａ）の場合は、ＰＣ１０５にデータ送信を行う場合においても、ｅｔｈ０、すなわち有線ＬＡＮインタフェース２０８が選択されるため、ＰＣ１０５と通信することができない。また、例えばＰＣ１０２とＰＣ１０５が同一のＩＰアドレスであった場合、ＰＣ１０５にデータを送信するつもりが、ＰＣ１０２に誤ってデータを送信してしまう可能性がある。
【００２５】
次に、別サブネットワーク検出部２０６が、無線ＬＡＮインタフェース２０８がアドホックネットワークに接続しているかを判定する（Ｓ３０４）。つまり、別サブネットワーク検出部２０６は、ネットワークアドレスが衝突しているインタフェースの種別を判定する。別サブネットワーク確認部２０６はネットワーク状態記憶部２１０に保存された情報から、無線ＬＡＮインタフェース２０８が無線インフラネットワーク１０８に接続しているか、無線アドホックネットワーク１０６に接続しているかをまず判断する。そして無線アドホックネットワーク１０６に接続しているのであれば、一時的なネットワークであるため、有線ＬＡＮインタフェース２０９と異なるサブネットワークであることを検出する（Ｓ３０４）。異なるサブネットワークであることが検出されると、インタフェース選択部２０７が一時的なネットワーク、すなわち無線アドホックネットワーク１０６に接続している無線ＬＡＮインタフェース２０８を選択する。そして、有線ＬＡＮインタフェース２０９の使用を一時的に停止する（Ｓ３０５）。停止する方法としては、データリンク層で通信インタフェースをダウンする方法や、物理的に電源の供給を止める方法がある。いずれにしても一時的な通信が不可能な状態にする。
【００２６】
これにより、ルーティングテーブルは図４（ｂ）のようになる。そのため、ネットワークアドレス１６９．２５４．〇．×／２５５．２５５．２５５．０に対して、データを送信する場合、無線ＬＡＮインタフェース２０８を選択するようになる。よって、プリンタ１０１とＰＣ１０５はネットワークアドレス衝突による通信障害は回避される。プリンタ１０１はＰＣ１０５からの印刷ジョブを受け付け、印刷処理部２０３は印刷を実行する（Ｓ３０６）。印刷処理実行後、プリンタ１０１とＰＣ１０５は無線アドホックネットワーク１０６から離脱する（Ｓ３０７）。このとき同時に、通信処理部２０４は無線ＬＡＮインタフェース２０８の使用を停止する。停止する方法としては、データリンク層で通信インタフェースをダウンする方法や、物理的に電源の供給を止める方法がある。いずれにしても通信が不可能な状態にする。
【００２７】
無線ＬＡＮインタフェース２０８の使用を停止すると、アドレス衝突検出部２０５はネットワークアドレス衝突の状態が回避されたことを検出する（Ｓ３０８）。これを受けて、インタフェース選択部２０７は有線ＬＡＮインタフェース２０９を再び有効にする（Ｓ３０９）。これにより、プリンタ１０１はネットワーク１０４との通信を回復する。以上が、プリンタ１０１が無線アドホックネットワーク１０６に接続したときの処理である。
【００２８】
次に、プリンタ１０１が無線インフラネットワーク１０８に接続したときの処理について述べる。通信制御部２０４は無線インフラネットワーク１０８に参加するために、無線ＬＡＮインタフェース２０８を使ってＡＰ１０７に接続する（Ｓ３０１）。次に通信制御部２０４はＩＰアドレスを取得する（Ｓ３０２）。ＩＰアドレス取得後、アドレス衝突検出部２０５が有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８のネットワークアドレスを比較する（Ｓ３０３）。ここでネットワークアドレスが異なっていた場合、ネットワーク１０４、無線アドホックネットワーク１０６ともに通信可能であるので、前記と同様に通常の処理を実行する。
【００２９】
ネットワークアドレスが同じであった場合、別サブネットワーク検出部２０６は無線ＬＡＮインタフェース２０８がアドホックネットワークに接続しているかを識別する（Ｓ３０４）。ここでは無線ＬＡＮインタフェース２０８はアドホックネットワーク１０６ではなく、無線インフラネットワーク１０８に接続している。無線ＬＡＮインタフェース２０８が無線インフラネットワーク１０８に接続している場合、別サブネットワーク検出部２０５は無線ＬＡＮインタフェース２０８からブロードキャストでパケットを送信する（Ｓ３１０）。そして、該パケットを有線ＬＡＮインタフェース２０９で受信できた場合には、別サブネットワーク検出部２０５は有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８は同一のサブネットワークであると判断する（Ｓ３１１）。つまり、無線ＬＡＮインタフェース２０８からブロードキャストされたパケットが、有線ＬＡＮインタフェース２０９で受信できたということは、ネットワーク１０４とネットワーク１０９とが接続されていることになる。従って、無線ＬＡＮインタフェース２０８からブロードキャストされたパケットは、ＡＰ１０７を介してネットワーク１０９、１０４を介して有線ＬＡＮインタフェース２０９で受信される。別サブネットワーク確認部２０５が有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８は同一サブネットワークに接続していると判断した場合は、ネットワーク１０４、無線インフラネットワーク１０８が共に通信可能な状態で通常の処理を実行する。
【００３０】
一方で、該パケットを有線ＬＡＮインタフェース２０９で受信できなかった場合は、別サブネットワーク検出部２０６は異なるサブネットワークに接続していると判断する（Ｓ３１１）。異なるサブネットワークに接続していると判断された場合、通信ができない端末がいる可能性、誤った端末と通信してしまう可能性がある。そのため、「異なるサブネットワークで同一のネットワークアドレスを使っているため、通信に異常が発生する可能性があります。ネットワークの設定を見直して下さい。」等を表示部２０１がユーザに警告を表示する（Ｓ３１２）。
【００３１】
本実施例によれば、複数の通信インタフェースでネットワークアドレスが衝突した際に、通信ができなくなる端末が存在する可能性をユーザにしらせることができる。また、ユーザが意図しない端末との通信が発生する可能性があることをユーザに知らせることができる。また、複数の通信インタフェースのネットワークアドレスが同一となることによって生じ得るユーザが意図しない端末との通信や、特定端末との通信ができなくなる状態を防ぐことができる。例えば、無線アドホックネットワークのような一時的なネットワークに参加した場合に、一時的にその通信インタフェースを優先することで、ネットワークアドレス衝突による通信障害は回避される。そして、一時的なネットワークが使い終わると、停止していた通信インタフェースが自動的に使用可能な状態になる。そのため、ユーザが一時的なネットワークの使用を開始する前、または使用した後に、手動でデータ送信を行う通信インタフェースを選択する必要がなく、ネットワークの利用体系に応じて自動的に切り替えることできる。
【００３２】
（実施例２）
実施形態２のネットワーク構成は、図１と同様である。また、プリンタ１０１の構成も図２と同様である。ただし、実施例２は、ＩＰｖ６のＩＰアドレスを利用する。
【００３３】
図５は本実施例におけるプリンタ１０１の動作例を示している。図６において、Ｓ６０１、Ｓ６０３、Ｓ６０４は通信制御部２０４により実行される。Ｓ６０２はアドレス衝突検出部２０５により実行される。Ｓ６０５、Ｓ６０６は別サブネットワーク検出部２０６により実行される。Ｓ６０７は、表示部２０１により実行される。Ｓ６０８はインタフェース選択部２０７により実行される。
【００３４】
本実施例ではプリンタ１０１は有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８でＩＰｖ６での利用を試みる。また、無線ＬＡＮインタフェース２０８は無線インラフネットワーク１０８に接続しているものとする。
【００３５】
通信制御部２０４は、まずＩＰｖ６のリンクローカルアドレスを自動生成して取得する（Ｓ６０１）。取得したＩＰｖ６のリンクローカルのネットワークアドレスはｆｅ８０：：／１０であり、有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８で同一のネットワークアドレスとなる。そのため、アドレス衝突検出部２０５は各通信インタフェースにＩＰｖ６でリンクローカルアドレスが割り当てられると、ネットワークアドレスが衝突していることを検出する（Ｓ６０２）。
【００３６】
通信制御部２０４はＳ６０３とＳ６０４で、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９のそれぞれについてＩＰｖ６のオートコンフィグレーションを試みる。具体的には、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９からＲＳ（Ｒｏｕｔｅｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）パケットをブロードキャストする。そして、ルータからのＲＡ（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）パケット送信を求める（Ｓ６０３）。ＲＡはＲＳに対するルータからの応答である。その後、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９は一定時間ルータからのＲＡパケットの受信を待つ（Ｓ６０４）。
【００３７】
別サブネットワーク検出部２０６はＳ６０５、Ｓ６０６で異なるサブネットワークであるかを検出する。まず別サブネットワーク検出部２０６は無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９でＲＡパケットを受信したかをチェックする（Ｓ６０５）。このとき、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９のどのインタフェースでＲＡパケットを受信したかで処理が異なる。
【００３８】
両方の通信インタフェースでＲＡパケットを受信した場合について述べる。両方の通信インタフェースでＲＡパケットを受信した場合、そのＲＡパケットが同一の内容のＲＡパケットであるかを判定する（Ｓ６０６）。このとき、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９が同一のサブネットワークにいる場合は同一のルータがＲＡパケットを送信するので、同一のＲＡパケットを受信できているはずである。そこで、別ネットワーク検出部２０６は両方の通信インタフェースで同一のＲＡパケットが受信できた場合、同一のサブネットワークにいると判断する。同一のサブネットワークである場合にはネットワーク１０４、無線インフラネットワーク１０８ともに通信可能であるので、通常の処理を行う。すなわち、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９においてＩＰｖ６のオートコンフィグレーションの処理を続け、ＩＰｖ６での通信ができる状態にする。
【００３９】
一方で、Ｓ６０６において、異なる内容のＲＡパケットを受信した場合には、異なるルータがＲＡパケットを送信したことになる。従って、別サブネットワーク検出部２０６は、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９が異なるサブネットワークに接続していると判断する（Ｓ６０６）。異なるサブネットワークに接続していると判断された場合、通信ができない端末がいる可能性、誤った端末と通信してしまう可能性がある。そのため、「異なるサブネットワークに接続しているため、通信に異常が発生する可能性があります。ネットワークの設定を見直して下さい。」等を表示部２０１が表示してユーザに警告する（Ｓ６０７）。
【００４０】
Ｓ６０５において、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９の両方の通信インタフェースがＲＡパケットを受信できなかった場合の処理について述べる。両方で受信できなかった場合、有線ＬＡＮインタフェース２０９と無線ＬＡＮインタフェース２０８が異なるサブネットワークに接続している可能性がある。そのため、別サブネットワーク検出部２０６は異なるサブネットワークであると判断する（Ｓ６０５）。そして、「異なるサブネットワークに接続しているため、通信に異常が発生する可能性があります。ネットワークの設定を見直して下さい。」等を表示部２０１が表示してユーザに対し警告する（Ｓ６０７）。なお、両方で受信できなかった場合は、ネットワーク１０４、無線ネットワーク１０９が正常に動作していない場合も考えられる。そのため、表示部２０１が表示する警告を両方で受信できなかった場合と異なるようにしてもよい。例えば、「ネットワークの状態を確認して下さい。ネットワークが正常に動作していない可能性があります。」等も上記表示に加えて表示し、ユーザにネットワークの状態を確認させるように促す。
【００４１】
Ｓ６０５において、無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９の一方で通信インタフェースでのみＲＡパケットを受信できた場合について説明する。Ｓ６０５で無線ＬＡＮインタフェース２０８でのみＲＡパケットを受信できた場合には、別サブネットワーク検出部２０６は無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９は異なるサブネットワークであると判断する（Ｓ６０５）。異なるサブネットワークであると判断されると、インタフェース選択部２０７はＲＡパケットが受信できた無線ＬＡＮインタフェース２０８を使用する通信インタフェースとして選択する（Ｓ６０８）。そして、有線ＬＡＮインタフェース２０９の使用を停止する。このとき、有線ＬＡＮインタフェース２０９を停止することを表示部２０１でユーザに通知しても良い。または、表示部２０１で「通信に異常が発生する可能性があります。無線ＬＡＮインタフェースのみの使用をお勧めします。」等、ユーザに通信インタフェースの選択を促すメッセージを表示しても良い。
【００４２】
また、Ｓ６０５で有線ＬＡＮインタフェース２０９でのみＲＡパケットを受信できた場合には、別サブネットワーク確認部２０６は無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９は異なるサブネットワークであると判断する（Ｓ６０５）。異なるサブネットワークであると判断されると、インタフェース選択部２０７はＲＡパケットが受信できた有線ＬＡＮインタフェース２０９を使用する通信インタフェースとして選択する（Ｓ６０８）。そこで、無線ＬＡＮインタフェース２０８の使用を停止する。このとき、無線ＬＡＮインタフェース２０８を停止することを表示部２０１でユーザに通知しても良い。または、表示部２０１で「通信に異常が発生する可能性があります。有線ＬＡＮインタフェースのみの使用をお勧めします。」等、ユーザに通信インタフェースの選択を促すメッセージを表示しても良い。
【００４３】
また、ＩＰｖ４のアドレスとＩＰｖ６のアドレスの両方を利用する場合もある。この場合は、実施例１と実施例２の処理を各アドレスについて実施する。また、ＩＰｖ６のアドレスに限って無線ＬＡＮインタフェース２０８と有線ＬＡＮインタフェース２０９のネットワークアドレスが衝突しており、各インタフェースが異なるサブネットワークに接続していると判断された場合には、ＩＰｖ６のみ停止してもよい。すなわち、有線ＬＡＮインタフェース２０９のＩＰｖ６のみの利用を停止し、ＩＰｖ４は利用可能なままでも良い。
【００４４】
ＩＰｖ６ではネットワークアドレスが同一であるリンクローカルアドレスが自動的に付与されるため、ＩＰｖ６を複数の通信インタフェースで使用した場合に必ずネットワークアドレスが衝突してしまう。本実施例を適用することで、ＩＰｖ６を使用する通信インタフェースが自動的に選択されるため、ネットワークアドレス衝突による通信障害は回避することができる。また、ＩＰｖ６を使用しないと選択された通信インタフェースでも、ＩＰｖ４での利用は可能である。ＩＰｖ６のオートコンフィグレーションを実施しながら、別サブネットワーク検出を行うため、実施例１のような別途ブロードキャストを投げる手法よりも、処理が速く検出することができる。また、不要なパケットを送出しなくても済むといった利点もある。
【００４５】
（各実施形態について）
上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、様々な形態で実施することが可能である。
【００４６】
プリンタ１０１は有線ＬＡＮインタフェースや無線ＬＡＮインタフェースの二つの通信インタフェースを有しているが、それ以上の通信インタフェースを有している場合にも適用できる。更には、物理的な通信インタフェースが一つであっても仮想的に複数の通信インタフェースを有する場合にも本発明を適用することができる。実施例としては、一つの無線ＬＡＮインタフェースでインフラネットワークとアドホックネットワークに接続できるような無線ＬＡＮインタフェースである。このような通信インタフェースの場合、インフラネットワークに接続する通信インタフェースと、アドホックネットワークに接続する通信インタフェースの二つの仮想的な通信インタフェースを有するとみなすことができ、本発明を適用することができる。
【００４７】
Ｓ３１２、Ｓ６０７で表示部２０１がユーザに警告を表示する。このとき、ユーザに警告を表示した後に、どちらの通信インタフェースを利用するのか、ユーザに入力を促してもよい。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上記実施例の機能を実現するソフトウェア（コンピュータプログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011130205.tif 000003
【図２】
2011130205.tif 000004
【図３】
2011130205.tif 000005
【図４】
2011130205.tif 000006
【図５】
2011130205.tif 000007