(57)【特許請求の範囲】
【請求項１】
マルチキャストパケットを送信可能なネットワーク通信装置であって、
複数のＩＰアドレスが割り当てられ、前記複数のＩＰアドレスをそれぞれ送信元としてマルチキャストパケットを送信する通信インターフェース部と、
前記通信インターフェース部からのマルチキャストパケットの送信を制御するマルチキャスト制御部であって、前記複数のＩＰアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のＩＰアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのＩＰアドレスについて順次実行させる前記マルチキャスト制御部と
を備え、
グループ間において前記マルチキャストパケットを送信する処理を並列に行うことを特徴とするネットワーク通信装置。
【請求項２】
前記マルチキャスト制御部がグループ化を行うときの基準は、前記各ＩＰアドレスのアドレッシングの種別である
ことを特徴とする請求項１記載のネットワーク通信装置。
【請求項３】
前記マルチキャストパケットは、ネットワーク上に存在する装置又はサービスを検索するための検索データを有する
ことを特徴とする請求項１及び２のいずれかに記載のネットワーク通信装置。
【請求項４】
前記マルチキャスト制御部は、第１のグループにおいて、送信したマルチキャストパケットに含まれる検索データに対する応答データを受信した後、又は所定のタイムアウト時間が経過した後、前記第１のグループに属する、まだマルチキャストパケットを送信していない一のＩＰアドレスを送信元としてマルチキャストパケットを送信する
ことを特徴とする請求項３に記載のネットワーク通信装置。
【請求項５】
前記検索データを有するマルチキャストパケットの送信先の装置は、マルチキャストグループアドレスを有する前記ネットワーク通信装置の周辺装置である
ことを特徴とする請求項４に記載のネットワーク通信装置。
【請求項６】
前記マルチキャストパケットの送信元のＩＰアドレスは、ＩＰｖ４及びＩＰｖ６のいずれかである
ことを特徴とする請求項１乃至５のいずれかに記載のネットワーク通信装置。
【請求項７】
ネットワークに接続され、所定のプログラムが動作可能な情報処理装置が行うネットワーク通信のための方法であって、
前記情報処理装置の通信インターフェース部に割り当てられた複数のＩＰアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のＩＰアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのＩＰアドレスについて順次実行し、
グループ間において前記マルチキャストパケットを送信する処理を並列に行うネットワーク通信方法。
【請求項８】
ネットワークに接続され、所定のプログラムが動作可能な情報処理装置に実行されると、
前記情報処理装置の通信インターフェース部に割り当てられた複数のＩＰアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のＩＰアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのＩＰアドレスについて順次実行し、
グループ間において前記マルチキャストパケットを送信する処理を並列に行うコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信技術に関し、特にＩＰマルチキャストの技術に関する。
【背景技術】
【０００２】
近年、特にオフィスにおいて、プリンタ、スキャナ、又はその複合機などはＩＰネットワーク（以後「ネットワーク」）に接続されており、ネットワーク通信装置（以後「通信装置」）を備えるＰＣなどは、ネットワークを介して、プリンタに印刷データを送信して印刷させたり、スキャナからスキャンされた画像データを受信したりすることができる。
【０００３】
このとき、特許文献１及び非特許文献１に示されるように、通信装置から検索パケットをマルチキャストで送信し、その応答を受信することで、ネットワークに接続されているプリンタ、スキャナ、又はその複合機などの周辺装置を検索する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２０５８０号公報
【非特許文献】
【０００５】
【非特許文献１】ＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ），ＲＦＣ２１６５及びＲＦＣ２６０８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワークに接続された通信装置及びその周辺装置にはＩＰアドレスが割り当てられる。ＩＰアドレスには、主にＩＰｖ４とＩＰｖ６の２つのアドレス体系が存在し、各装置にはＩＰｖ４及びＩＰｖ６のいずれか又はその両方のＩＰアドレスが割り当てられる。ここで、ＩＰｖ６アドレスが割り当てられる場合、１つの通信インターフェース（以後「通信Ｉ／Ｆ」）に複数の異なるＩＰｖ６アドレスが割り当てられる。また、ＩＰｖ４アドレスが割り当てられる場合でも、通信装置が複数の通信Ｉ／Ｆを備えている場合、通信Ｉ／Ｆごとに異なるＩＰｖ４アドレスが割り当てられる。すなわち、１台の通信装置に複数の異なるＩＰアドレスが割り当てられることがある。
【０００７】
このとき、検索パケットをマルチキャストで送信すると、通信装置に割り当てられた各ＩＰアドレスがそれぞれ送信元となって複数のマルチキャストパケットが送信される。すなわち、通信装置に割り当てられたＩＰアドレスの数だけマルチキャストパケットが一斉に送信されてしまう。ここで、パケット一斉に送信されるとは、極めて短い時間に大量のパケットが送出されることであり、実質的に同時にパケットが送出されることを意味する。
【０００８】
しかし、プリンタ、スキャナ、又はその複合機などの組み込み型の周辺装置は、比較的リソースが少ないため、通信装置から一斉に送信された複数のマルチキャストパケットを全て受信処理できるとは限らない。すなわち、周辺装置はマルチキャストパケットの一部を取りこぼしてしまう恐れがある。
【０００９】
また、通信装置から多数のマルチキャストパケットが一斉に送信され、複数の周辺装置がそのマルチキャストパケットに一斉に応答パケットを返すと、ネットワークトラフィックが増大してしまい、そのネットワークに接続されている他の装置の通信に悪影響を及ぼしてしまう恐れがある。
【００１０】
なお、この課題は、マルチキャストパケットの送信だけに限られない。例えば、各ＩＰアドレスがそれぞれ送信元となって、一斉にユニキャストパケットを送信する場合にも当てはまる。
【００１１】
そこで本発明の目的は、複数のＩＰアドレスが割り当てられている通信装置からのパケットの送信を制御することである。
【００１２】
また、本発明の別の目的は、プリンタ、スキャナ、又はその複合機などの比較的リソースの少ない周辺装置がマルチキャストパケットの一部を取りこぼしてしまわないように、通信装置からのマルチキャストパケットの送信を制御することである。
【００１３】
また、本発明の別の目的は、ネットワークトラフィックの増大を軽減するように、通信装置からのマルチキャストパケットの送信を制御することである。
【課題を解決するための手段】
【００１４】
本発明の一実施態様に従うネットワーク通信装置は、マルチキャストパケットを送信可能なネットワーク通信装置であって、複数のＩＰアドレスが割り当てられ、前記複数のＩＰアドレスをそれぞれ送信元としてマルチキャストパケットを送信する通信インターフェース部と、  前記通信インターフェース部からのマルチキャストパケットの送信を制御するマルチキャスト制御部であって、前記複数のＩＰアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のＩＰアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのＩＰアドレスについて順次実行させるマルチキャスト制御部と、を備える。
【００１５】
これにより、ネットワーク通信装置から一斉に送信されるマルチキャストパケットの最大数を制限することができる。
【００１６】
好適な実施形態では、前記マルチキャスト制御部がグループ化を行うときの基準は、前記各ＩＰアドレスのアドレッシングの種別であるとしてもよい。
【００１７】
これにより、複数のＩＰアドレスを所定の基準に基づいて複数のグループにグループ化することができる。
【００１８】
好適な実施形態では、前記マルチキャストパケットは、ネットワーク上に存在する装置又はサービスを検索するための検索データを有してもよい。
【００１９】
これにより、ネットワーク通信装置は、ネットワーク上に存在する装置又はサービスを検索することができる。
【００２０】
好適な実施形態では、前記マルチキャスト制御部は、第１のグループにおいて、送信したマルチキャストパケットに含まれる検索データに対する応答データを受信した後、又は所定のタイムアウト時間が経過した後、前記第１のグループに属する、まだマルチキャストパケットを送信していない一のＩＰアドレスを送信元としてマルチキャストパケットを送信してもよい。
【００２１】
これにより、第１のグループから同時に送信されるマルチキャストパケットの数を制限することができる。
【発明の効果】
【００２２】
本発明によれば、複数のＩＰアドレスが割り当てられている通信装置からのパケットの送信を制御することである。
【００２３】
また、本発明によれば、プリンタ、スキャナ、又はその複合機など比較的リソースの少ない周辺装置がマルチキャストパケットの一部を取りこぼさないように、通信装置からのマルチキャストパケットの送信を制御することができる。
【００２４】
また、本発明によれば、ネットワークのトラフィックの増大を軽減するように、通信装置からのマルチキャストパケットの送信を制御することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係るネットワーク通信装置及びその周辺装置のネットワーク構成を示す図である。
【図２】通信装置１の構成を示す図である。
【図３】通信装置１に割り当てられたＩＰアドレスの一例を示す図である。
【図４】複数の異なるＩＰアドレスが割り当てられた通信装置１が周辺装置２０にマルチキャストパケットを送信するときの一例を示す図である。
【図５】通信装置１がネットワーク上の周辺装置２０を検索するときの画面表示例を示す図である。
【図６】通信装置１がネットワーク上の周辺装置２０を検索するときの処理フローを示す図である。
【図７】マルチキャスト制御部１３が各グループにおいてマルチキャストパケットを送信させるときの処理フローを示す図である。
【図８】複数のＩＰアドレスを有する通信装置１が周辺装置２０にマルチキャストを送信するときの別の実施形態を示す図である。
【発明を実施するための形態】
【００２６】
図１は、本発明の一実施形態に係るネットワーク通信装置及びその周辺装置のネットワーク構成を示す図である。以下、図１について説明する。
【００２７】
ネットワーク１１０には、ＰＣ１０１、スキャナ１０２、プリンタ１０３、スキャナ１０４、プリンタ１０５、ルータ１０７、及びＤＨＣＰｖ６サーバ１０６が有線又は無線で接続されている。ＰＣ１０１は、スキャナ１０２及びプリンタ１０３と同じネットワークグループ１１１（すなわち、同じリンクローカルグループ）に属している。スキャナ１０４及びプリンタ１０５は同じネットワークグループ１１２に属している。ルータ１０７は、ネットワークグループ１１１とネットワークグループ１１２の間を接続している。以下、各装置について説明する。
【００２８】
ルータ１０７はＩＰｖ４とＩＰｖ６の両方に対応しており、ネットワークグループ１１１及び１１２に対して、それぞれゲートウェイを提供する。ルータ１０７は、ある装置から送信されたＩＰパケットを、宛先のＩＰアドレスに基づいて他のネットワークグループのルータ又は装置に転送（ルーティング）する。
【００２９】
ルータ１０７はＩＰｖ６に対応しているので、ＲＡ（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）機能を備える。そして、ルータ１０７は、ＲＡ機能によって、ルータ１０７が管理するネットワークグループ１１１及び１１２に属する装置に対して、自動でＩＰｖ６アドレスを割り当てる。このＲＡ機能によって自動的に割り当てられたＩＰｖ６アドレスをステートレスアドレスという。
【００３０】
ルータ１０７は、マルチキャストグループ１１３の管理を行う。マルチキャストグループは、ネットワーク上の複数の装置により構成される。マルチキャストグループは、異なるリンクローカルグループの装置を含んでもよい。マルチキャストグループには所定のマルチキャストグループアドレスが割り当てられる。すなわち、そのマルチキャストグループに参加している装置は、同じマルチキャストグループアドレスを保持する。そして、ルータ１０７は、マルチキャストグループアドレスとそのマルチキャストグループに参加している装置のＩＰアドレスとを対応付けて記憶している。ルータ１０７は、マルチキャストグループアドレスを宛先とするマルチキャストパケットを受信すると、そのマルチキャストグループに参加している全ての装置にそのマルチキャストパケットを転送する。例えば、図１において、ＰＣ１０１、スキャナ１０２、プリンタ１０３、スキャナ１０４、及びプリンタ１０５が同じマルチキャストグループ１１３に参加しており、ルータ１０７がマルチキャストグループ１１３宛のマルチキャストパケットを受信すると、ルータ１０７は、ＰＣ１０１、スキャナ１０２、プリンタ１０３、スキャナ１０４、及びプリンタ１０５にそのマルチキャストパケットを転送する。
【００３１】
ＤＨＣＰｖ６サーバ１０６は、ネットワーク１１０に接続されている装置に対してＩＰｖ６アドレスを割り当てる。例えば、ネットワークに接続されている装置が、ＤＨＣＰｖ６サーバ１０６にＩＰｖ６アドレスの割り当てを要求すると、ＤＨＣＰｖ６サーバ１０６はその装置に対してＩＰｖ６アドレスを割り当てる。例えば、図１において、ＰＣ１０１がＤＨＣＰｖ６サーバ１０６にＩＰｖ６アドレスの割り当てを要求すると、ＤＨＣＰｖ６サーバ１０６はＰＣ１０１に対してＩＰｖ６アドレス「２００１：２ｆ８：４３：１０００：２９０：３：２０：１」を割り当てる。また、ＤＨＣＰｖ６サーバ１０６は、その装置に対してＤＮＳサーバ又はデフォルトゲートウェイなどのＩＰアドレスを提供してもよい。ＤＨＣＰｖ６サーバ１０６によって割り当てられたＩＰｖ６アドレスをステートフルアドレスという。
【００３２】
ＰＣ１０１は、ネットワーク１１０を介して通信を行うための通信装置１を備える。通信装置１は、サービス検索のためのプロトコル（例えばＳＬＰ）によってネットワークに接続されている装置又はサービスを検索することができる。例えば、通信装置１は、サービスの検索条件が記載されたサービス検索要求パケットをマルチキャストで送信し、その検索条件に適合する装置からの応答パケットを受信することにより、装置又はサービスを検索する。例えば、図１において、通信装置１が、「プリンタ又はスキャナ」を検索条件とするサービス検索要求パケットを、マルチキャストグループ１１３を宛先としてマルチキャストで送信すると、通信装置１は、プリンタ及びスキャナ１０２〜１０５から応答パケットを受信することができる。さらに、通信装置１は、応答パケットに記載されているプリンタ又はスキャナのＩＰアドレスを宛先として、詳細情報の要求を送信すると、そのプリンタ又はスキャナから詳細情報（例えば、図２ｃに示すような情報）の応答を受信することができる。
【００３３】
プリンタ及びスキャナ１０２〜１０５は、本発明に係る周辺装置２０の一実施形態である。プリンタ及びスキャナ１０２〜１０５は、ＩＰｖ４及びＩＰｖ６の両方に対応する。プリンタ１０３及びプリンタ１０５は、ＰＣ１０１からネットワーク１１０を介して送信された印刷データを受信し、印刷を行うことができる。スキャナ１０２及びスキャナ１０４は、スキャンした画像データを、ネットワーク１１０を介してＰＣ１０１に送信することができる。プリンタ及びスキャナ１０２〜１０５は、前述のサービス検索のためのプロトコル（例えばＳＬＰ）に対応している。したがって、ＰＣ１０１から「プリンタ又はスキャナ」を検索条件としたサービス検索要求パケットをマルチキャストで受信した場合、プリンタ及びスキャナ１０２〜１０５はその検索条件に適合する旨の応答パケットをＰＣ１０１に返信する。
【００３４】
図２は、通信装置１の構成を示す図である。以下、図２について説明する。
【００３５】
通信装置１は、入力Ｉ／Ｆ２、出力Ｉ／Ｆ３、通信Ｉ／Ｆ６、記憶装置４、及び処理装置５と、それらを接続するバス７を備える。
【００３６】
入力Ｉ／Ｆ２は、ユーザからの入力を受け付けるＩ／Ｆであり、例えば、キーボード、マウス、タッチパネルディスプレイ、リモコンなどの入力装置８が接続される。例えば、後述の図５において、ユーザがマウスを操作して画面上のボタンを押下したときは、ボタン押下の信号がこの入力Ｉ／Ｆ２を介して処理装置５に入力される。
【００３７】
出力Ｉ／Ｆ３は、映像又は音声などを出力するＩ／Ｆであり、例えば、タッチパネルティスプレイ、液晶ディスプレイ、又はスピーカなどが接続される。例えば、後述の図５に示す画面の映像は、処理装置５で生成され、この出力Ｉ／Ｆ３を介してディスプレイ９に表示される。
【００３８】
通信Ｉ／Ｆ６は、処理装置５で生成されたデータをネットワークに送信したり、ネットワークから受信したデータを処理装置５に入力したりする。例えば、有線又は無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続するためのＩ／Ｆであり、ＩＰパケットの送信及び受信処理を行う。例えば、後述の図３におけるマルチキャストパケットの送信処理及びその応答パケットの受信処理は、この通信Ｉ／Ｆ６が行う。
【００３９】
記憶装置４には、処理装置５で実行されるコンピュータプログラム（以後「プログラム」）、及びそのプログラムが生成したデータなどが記憶される。記憶装置４には、例えば、マルチキャストグループアドレスなどが記憶されている。記憶装置４に記憶されたデータは、通信装置１の電源を切断しても消去されない。記憶装置４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、又はフラッシュメモリなどで構成される。
【００４０】
処理装置５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを備え、記憶装置４からプログラムを読み出して実行する。処理装置５で実行されるプログラムは、例えば、検索アプリケーション１１、サービス検索部１２、マルチキャスト制御部１３、ＯＳ１４（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などである。以下に各プログラムについて説明する。
【００４１】
ＯＳ１４は、処理装置５で実行されるプログラム全体を制御する。例えば、各アプリケーションの実行スケジューリング及びメモリ管理などを行う。ＯＳ１４は、通信ドライバ１５を介して、通信Ｉ／Ｆ６に設定されているＩＰアドレスを管理する。したがって、各アプリケーションは、ＯＳ１４に問い合わせることによって通信Ｉ／Ｆ６に設定されているＩＰアドレスを知ることができる。
【００４２】
検索アプリケーション１１は、ユーザからの周辺装置（例えば、プリンタ又はスキャナなど）の検索要求を入力装置８から受けると、記憶装置４から所定のマルチキャストグループアドレスを読み出し、そのアドレスを宛先として、サービス検索部１２に検索条件に適合する装置の検索を要求する。そして、検索アプリケーション１１は、その検索結果として、後述の図５に示すような、ネットワーク上の周辺装置２０の一覧及び各装置の詳細情報の画面などをディスプレイ９に表示させる。さらに、検索アプリケーション１１は、入力装置８からこれらの画面に対する入力を受け付ける。
【００４３】
サービス検索部１２は、サービス検索のためのプロトコル（例えばＳＬＰ）を用いて、ネットワークに接続されている所定の装置又は所定のサービスを検索する。例えば、サービス検索部１２は、サービスの検索条件が記載されたサービス検索要求パケットをマルチキャストで送信する。そして、検索サービス１２は、その検索条件に適合する装置からの応答パケットを受信し、応答した装置の装置名及びＩＰアドレスを特定することで、そのサービスを有する装置を検索する。
【００４４】
マルチキャスト制御部１３は、複数のＩＰアドレスが通信Ｉ／Ｆ６に割り当てられているとき、所定の数以上のマルチキャストパケットが一斉に送信されないように制御する。
【００４５】
例えば、マルチキャスト制御部１３は、通信Ｉ／Ｆ６に割り当てられている複数のＩＰアドレスを、所定の基準に基づいて、複数のグループにグループ化する。そして、１つのグループからはある時刻には１つのマルチキャストパケットしか送信されないように制御する。つまり、１グループから同時に複数のマルチキャストパケットが送出されないようにする。そして、その１つのマルチキャストパケットの送信が完了した後、そのグループに属する別の１つのＩＰアドレスを送信元としてマルチキャストパケットを送信させる。以後、そのグループに属する全てのＩＰアドレスが送信元となってマルチキャストパケットの送信が完了するまで繰り返す。また、マルチキャスト制御部１３は、各グループが並列に（マルチタスクで）マルチキャストパケットを送信できるように制御する。これにより、マルチキャスト制御部１３は、同時に送出されるマルチキャストパケット数の上限がグループ数となるように制御することができる。
【００４６】
複数のＩＰアドレスを複数のグループにグループ化するときは、例えば、通信Ｉ／Ｆ６に割り当てられているＩＰアドレスが、ＩＰｖ４アドレスかＩＰｖ６アドレスか、又は、どのようなスコープのＩＰアドレスか、又は、どのように割り当てられたＩＰアドレスか、など、ＩＰアドレスのアドレッシングの種別などに基づいて、グループ化する。例えば、ＩＰアドレスが、ＩＰｖ４アドレスであるか、ＩＰｖ６リンクローカルアドレスであるか、ＩＰｖ６ステートレスアドレスであるか、ＩＰｖ６ステートフルアドレスであるか、又はＩＰｖ６手動設定アドレスであるか、などに基づいてグループ化してもよい。
【００４７】
なお、他の基準に基づいてグループ化してもよい。例えば、各ＩＰアドレスに優先度を付与し、優先度の高いＩＰアドレスが各グループの先頭になるようにグループ化してもよい。また、例えば、ランダムにＩＰアドレス同士をグループ化してもよい。また、例えば、ユーザが任意にＩＰアドレス同士をグループ化してもよい。
【００４８】
以下、このマルチキャスト制御部１３の制御について、より詳細に説明する。
【００４９】
図３は、通信装置１に割り当てられたＩＰアドレスの一例を示す図である。
【００５０】
図４は、複数の異なるＩＰアドレスが割り当てられた通信装置１が周辺装置２０にマルチキャストパケットを送信するときの一例を示す図である。
【００５１】
以下、図３及び図４を用いて、複数の異なるＩＰアドレスが割り当てられた通信装置１が周辺装置２０にマルチキャストパケットを送信するときの課題と、その課題に本発明を適用したときの一例について説明する。
【００５２】
図３に示すように、ＩＰｖ４及びＩＰｖ６の両方に対応している通信装置１には、複数の異なるＩＰアドレスを割り当てることができる。なぜなら、ＩＰｖ６の仕様では、１つの通信Ｉ／Ｆ６に複数のＩＰｖ６アドレスを割り当てることができるからである。さらに、通信装置１が複数の通信Ｉ／Ｆ６を備える場合、通信Ｉ／Ｆ６ごとに異なるＩＰｖ４アドレスを割り当てることができる。そこで、例えば、通信装置１の通信Ｉ／Ｆ６に、図３に示すように、１個のＩＰｖ４アドレスと１２個のＩＰｖ６アドレスの合計１３個のＩＰアドレスが割り当てられたとする。なお、ＩＰアドレス３２０に記載の「ＩＰアドレス１−１」などは、通信装置１に割り当てられたＩＰアドレス３３０のエイリアスであり、本明細書の説明のために便宜的に付与したものである。そのため、ＩＰアドレス３２０に記載の「ＩＰアドレス１−１」などは、必ずしも通信装置１内で管理しなければならないデータではない。
【００５３】
図４ａは、図３に示す１３個のＩＰアドレスが割り当てられた通信装置１が、普通にマルチキャストパケットを送信するときの一例を示す図である。
【００５４】
このとき、通信装置１は、割り当てられた各ＩＰアドレスのそれぞれを送信元とし、宛先をマルチキャストグループアドレス２１として、一斉に複数のマルチキャストパケットを送信する。そのため、周辺装置２０は、一斉に送信された複数のマルチキャストパケットを受信処理しなければならない。しかし、プリンタ又はスキャナなどの組み込み型の周辺装置２０は比較的リソースが少ないため、同時に受信処理可能なパケット数が限られる。
【００５５】
例えば、周辺装置２０が同時に受信処理可能なパケット数を最大１０個とする。この場合、図４ａに示すように、通信装置１が１３個のマルチキャストパケットを一斉にマルチキャストグループ２１宛に送信すると、通信装置１は３個のパケットを取りこぼしてしまう。もし、周辺装置２０が別のパケットの受信処理を行っていた場合、さらに多くのパケットを取りこぼしてしまう。すなわち、周辺装置２０は、通信装置１から送信された検索パケットの一部を取りこぼしてしまう。
【００５６】
また、多数のマルチキャストパケットに対して、各周辺装置が一斉に応答パケットを返信すると、ネットワークトラフィックが増大してしまい、ネットワーク上の他の周辺装置の通信に悪影響を及ぼしてしまう。
【００５７】
図４ｂは、図３に示す１３個のＩＰアドレスが割り当てられた通信装置１が、本発明を適用してマルチキャストパケットを送信したときの一例を示す図である。
【００５８】
本発明では、まず、マルチキャスト制御部１３が、複数のＩＰアドレスを所定の基準に基づいて、複数のグループにグループ化する。例えば、ＩＰｖ４アドレス及びＩＰｖ６アドレスのいずれであるか、又は、どのようなスコープのＩＰアドレスであるか、又は、どのように付与されたＩＰアドレスであるか、など、ＩＰアドレスのスコープ、又はＩＰアドレスのアドレッシングの種別などに基づいて、いくつかのグループにグループ化する。
【００５９】
次に、マルチキャスト制御部１３は、１つのグループからはある時刻には１つのマルチキャストパケットのみを送信させるよう制御する。すなわち、マルチキャスト制御部１３は、各グループに属する複数のＩＰアドレスのうちの１つのＩＰアドレスのみを送信元として、所定のマルチキャストグループ宛にマルチキャストパケットを送信させる。そして、マルチキャスト制御部１３は、その送信が完了した後に、そのグループに属する複数のＩＰアドレスからまだ未送信の別の１つのＩＰアドレスを送信元として、マルチキャストパケットを送信させる。以後、そのグループに属する全てのＩＰアドレスが送信元となってマルチキャストパケットを送信するまで、その処理を繰り返す。
【００６０】
例えば、図４ｂにおいては、通信装置１に割り当てられた１３個のＩＰアドレスが、ＩＰｖ４グループ４０１、ＩＰｖ６リンクローカルグループ４０２、ＩＰｖ６ステートレスグループ４０３、ＩＰｖ６ステートフルグループ４０４、及びＩＰｖ６手動設定グループ４０５の５つのグループにグループ化されている。
【００６１】
ここで、ＩＰｖ４グループは、ＩＰｖ４アドレスをまとめたグループである。ＩＰｖ６リンクローカルグループ４０２は、同じネットワークグループ内（リンクローカルグループ内）だけで利用可能なＩＰｖ６アドレスをまとめたグループである。ＩＰｖ６ステートレスグループ４０３は、ＩＰｖ６対応ルータのＲＡ機能によって自動的に割り当てられたＩＰｖ６アドレスをまとめたグループである。ＩＰｖ６ステートフルグループ４０４は、ＤＨＣＰｖ６サーバ１０６によって自動的に割り当てられたＩＰｖ６アドレスをまとめたグループである。ＩＰｖ６手動設定グループ４０５は、ユーザ自身が手動で設定したＩＰｖ６アドレスをまとめたグループである。
【００６２】
そして、例えば、ＩＰｖ６リンクローカルグループ４０２においては、マルチキャスト制御部１３は、まず「ＩＰアドレス２−１」を送信元として、マルチキャストグループアドレス２１宛にマルチキャストパケットを送信させる。その送信の完了後、次は「ＩＰアドレス２−２」を送信元として同様にマルチキャストパケットを送信させる。その送信の完了後、最後に「ＩＰアドレス２−３」を送信元として同様にマルチキャストパケットを送信させる。これにより、ＩＰｖ６リンクローカルグループ４０２からは、ある時刻には１つのマルチキャストパケットのみを送信させると共に、ＩＰｖ６リンクローカルグループ４０２に属している全てのＩＰアドレスを送信元としてマルチキャストパケットを送信することができる。
【００６３】
なお、マルチキャスト制御部１３は、ＩＰｖ６リンクローカルグループ４０２からマルチキャストパケットが送信されているときと同じ時刻に、ＩＰｖ４グループ４０１、ＩＰｖ６ステートレスグループ４０３、ＩＰｖ６ステートフルグループ４０４、及びＩＰｖ６手動設定グループ４０５からもマルチキャストパケットを送信させることができる。すなわち、グループ間においては並列に（マルチタスクで）マルチキャストパケットを送信することができる。
【００６４】
これにより、通信装置１から一斉に送信されるマルチキャストパケット数は最大でもグループ数と同じ５個となる。したがって、最大で１０個のパケットしか同時に受信処理できない周辺装置２０も、通信装置１から送信されたマルチキャストパケットを取りこぼすことなく受信処理することができる。
【００６５】
また、通信装置１から一斉に送信されるマルチキャストパケット数は最大でも５個なので、周辺装置２０がそれぞれのマルチキャストパケットに対して応答パケットを返信したとしても、ネットワークにおけるトラフィックの増大は抑制される。
【００６６】
図５は、通信装置１がネットワーク上の周辺装置２０を検索するときの画面表示例を示す図である。以下、図５について説明する。
【００６７】
図５ａは、通信装置がネットワーク上の周辺装置を１つも発見していないときの画面表示の一例である。ここで、ユーザが「検索」ボタン２０１を押下すると、通信装置はネットワーク上の周辺装置の検索を開始する。例えば、通信装置が検索要求パケットを載せたマルチキャストパケットを、記憶装置４から読み出した所定のマルチキャストグループアドレス宛に送信する。
【００６８】
図５ｂは、通信装置１が検索要求パケットに対する周辺装置２０からの応答パケットを受信したときの画面表示の一例である。通信装置１の検索アプリケーション１１は応答パケットに記載された装置名とＩＰアドレスの情報を基に、装置名とＩＰアドレスの一覧２１０を表示する。ここで、例えば、ユーザが「プリンタ１０３」の詳細情報を知りたいときは、入力装置８を介して一覧２１０から「プリンタ１０３」を選択して「詳細」ボタン２０２を押下すると、図５ｃに示すように、図１のプリンタ１０３の詳細情報２２０が表示される。このとき、検索アプリケーション１１は、選択された「プリンタ１０３」のＩＰアドレスを宛先として詳細情報を要求することによって、プリンタ１０３の詳細情報２２０を取得する。
【００６９】
これにより、通信装置１は、ユーザの操作に従って、ネットワーク上の周辺装置２０を検索することができる。さらに、通信装置１は、周辺装置２０の詳細情報を取得することができる。
【００７０】
図６は、通信装置１がネットワーク上の周辺装置２０を検索するときの処理フローを示す図である。以下、同図を用いて、検索アプリケーション１１、サービス検索部１２、マルチキャスト制御部１３、及びＯＳ１４の処理について説明する。
【００７１】
検索アプリケーション１１において図５ａに示す「検索」ボタン２０１が押下されると（Ｓ１１）、サービス検索部１２はサービス検索要求パケットをマルチキャストで送信するようマルチキャスト制御部１３に要求する（Ｓ１２）。
【００７２】
マルチキャスト制御部１３は、その要求を受けて、通信Ｉ／Ｆ６に設定されている全てのＩＰアドレスをＯＳ１４を介して取得する（Ｓ１３）。このとき、通信Ｉ／Ｆ６の識別情報（通信Ｉ／Ｆが複数ある場合）、及びＩＰアドレスのアドレッシングの種別情報（例えば、ＩＰｖ６ステートレスアドレス、ＩＰｖ６ステートフルアドレスなど）なども合わせて取得する。例えば、マルチキャスト制御部１３は、図３に示す複数の異なるＩＰアドレスを取得したとする。
【００７３】
そして、マルチキャスト制御部１３は、取得した複数の異なるＩＰアドレスを所定の基準に基づきグループ化する（Ｓ１４）。ここでは、ＩＰアドレスのアドレッシングの種別情報に基づいて、図４ｂに示すように、ＩＰｖ４グループ４０１、ＩＰｖ６リンクローカルグループ４０２、ＩＰｖ６ステートレスグループ４０３、ＩＰｖ６ステートフルグループ４０４、及びＩＰｖ６手動設定グループ４０５にグループ化する。
【００７４】
そして、マルチキャスト制御部１３は、１つのグループからはある時刻には１つのマルチキャストパケットのみが送信されるように制御する（Ｓ１５−１〜５）。このマルチキャストパケットの送信は各グループ並列で（すなわち、マルチタスクで）実行される。すなわち、通信装置１から一斉に送信されるマルチキャストパケット数は最大で５つである。なお、この処理の詳細は図７を用いて後述する。
【００７５】
そして、マルチキャスト制御部１３は、全てのグループにおけるマルチキャストパケットの送信とそれに対する応答パケットの受信を完了すると、各グループが記憶装置４に記憶した応答パケットを、記憶装置４から全て読み出してサービス検索部１２に伝える（Ｓ１６）。
【００７６】
サービス検索部１２は、マルチキャスト制御部１３から伝えられた全ての応答パケットから、周辺装置２０の装置名及びＩＰアドレスなどの情報を抽出し、検索アプリケーション１１に伝える（Ｓ１７）。
【００７７】
機器検索アプリケーション１１は、その周辺装置２０の情報を基に、図５ｂに示すように、周辺装置２０の装置名及びＩＰアドレスの一覧を表示する（Ｓ１８）。
【００７８】
図７は、マルチキャスト制御部１３が各グループにおいてマルチキャストパケットを送信させるときの処理フローを示す図である。すなわち、図６のステップＳ１５の処理フローを示す図である。なお、ステップＳ１５−１〜５の各グループの処理は共通している。以下、同図を用いて、図６のステップＳ１５における、ある一つのグループの処理について詳細に説明する。
【００７９】
マルチキャスト制御部１３は、ｎ（ｎは整数）に１を設定し、Ｎ回（Ｎは整数）のループを開始する（Ｓ２１）。ここでＮは、このグループに属しているＩＰアドレスの数とする。
【００８０】
そして、マルチキャスト制御部１３は、このグループに属しているｎ番目のＩＰアドレスを選択する。
【００８１】
そして、マルチキャスト制御部１３は、その選択したＩＰアドレスを送信元とし、記憶装置４から読み出した所定のマルチキャストグループアドレス２１を宛先として、マルチキャストパケットを送信する（Ｓ２２）。
【００８２】
そして、マルチキャスト制御部１３は、そのマルチキャストパケットに対する応答パケットの受信を待つ（Ｓ２３）。ここで、応答パケットを受信できず（Ｓ２３：ＮＯ）、さらに、マルチキャストパケットの送信から所定のタイムアウト時間が過ぎた場合は（Ｓ２４：ＹＥＳ）、あきらめて次のループに移る（Ｓ２１）。一方、応答パケットを受信した場合は（Ｓ２３：ＹＥＳ）、その応答パケットを記憶装置４に記憶しておき（Ｓ２５）、次のループに移る（Ｓ２１）。そして、Ｎ回のループが完了した場合は（Ｓ２６）、当該処理を終了し、図６のステップＳ１６に進む。
【００８３】
なお、本実施形態では、ステップＳ２３において、マルチキャストパケットに対する応答パケットの受信を待っているが、これを待たずに次のマルチキャストパケットを送信するようにし、応答パケットの受信は非同期で行うようにしてもよい。
【００８４】
以上、図６及び図７に示す処理により、通信装置１が一斉に送信するマルチキャストパケットの数を制限することができる。これにより、周辺装置２０は、検索パケットを取りこぼさずに受信することができる。さらに、ネットワークのトラフィックの増大を抑制することができる。
【００８５】
なお、図６及び図７では、マルチキャスト制御部１３は、１つのグループからある時刻には１つのマルチキャストパケットのみを送信させ、各グループは並列で（すなわち、マルチタスクで）マルチキャストパケットを送信させている。そして、これにより、ある時刻に一斉に送信されるマルチキャストパケット数を制限している。しかし、他の方法である時刻に一斉に送信されるマルチキャストパケット数を制限してもよい。次に、その一実施形態を示す。
【００８６】
図８は、複数のＩＰアドレスを有する通信装置１が周辺装置２０にマルチキャストを送信するときの別の実施形態を示す図である。以下、同図を用いて、ある時刻に一斉に送信されるマルチキャストパケット数を制限する他の実施形態について説明する。
【００８７】
マルチキャスト制御部１３は、まず、図４ｂと同様、通信装置１に割り当てられている複数の異なるＩＰアドレスを、ＩＰアドレスのアドレッシングの種別に基づいてグループ化する。そして、マルチキャスト制御部１３は、所定の優先度の高いグループから順番にマルチキャストパケットを送信させる。
【００８８】
例えば、図８において、ＩＰｖ４グループ４０１、ＩＰｖ６手動アドレスグループ、ＩＰｖ６リンクローカルグループ４０２、ＩＰｖ６ステートレスグループ４０３、ＩＰｖ６ステートフルグループ４０４の順にグループの優先度が高いとすると、優先度の高いＩＰｖ４グループ４０１が最初に一斉にマルチキャストパケットを送信した後、次に優先度の高いＩＰｖ６手動アドレスグループが一斉にマルチキャストパケットを送信する。すなわち、同じグループに属する複数のＩＰアドレスが並列に（マルチタスクで）送信元となって同時にマルチキャストパケットを送信する。
【００８９】
例えば、ＩＰｖ６手動アドレスグループがマルチキャストパケットを送信するときは、図８に示すように、「ＩＰアドレス５−１」と「ＩＰアドレス５−２」と「ＩＰアドレス５−３」が同時に送信元となってマルチキャストパケットを送信する。そして、ＩＰｖ６手動設定アドレスグループからの送信が完了すると、次に優先度の高いＩＰｖ６リンクローカルグループ４０２に属するＩＰアドレスが同時に送信元となってマルチキャストパケットを送信する。以後、これを繰り返す。
【００９０】
以上の処理によれば、通信装置１から一斉に送信されるマルチキャストパケットの最大数は、最も多くのＩＰアドレスが属するグループのＩＰアドレスの数となる。例えば、同図の例では、一斉に送信されるマルチキャストパケットの最大数は３個である。
【００９１】
これにより、図６及び図７の場合と同様、通信装置１が一斉に送信するマルチキャストパケットの数を制限することができる。
【００９２】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００９３】
例えば、本実施形態では、マルチキャストパケットの送信について説明したが、本発明はマルチキャストパケット以外のパケットの送信にも適用できる。
【符号の説明】
【００９４】
１…通信装置、２…入力Ｉ／Ｆ、３…出力Ｉ／Ｆ、４…記憶装置、５…処理装置、６…通信Ｉ／Ｆ、７…バス、８…入力装置、９…ディスプレイ、１１…検索アプリケーション、１２…サービス検索部、１３…マルチキャスト制御部、１４…ＯＳ、１５…通信ドライバ、２０…周辺装置、２１…マルチキャストアドレスグループ
【図１】
0005636995.tif 000002
【図２】
0005636995.tif 000003
【図３】
0005636995.tif 000004
【図４】
0005636995.tif 000005
【図５】
0005636995.tif 000006
【図６】
0005636995.tif 000007
【図７】
0005636995.tif 000008
【図８】
0005636995.tif 000009