説明

ネットワーク通信装置、方法、及びプログラム

【課題】一斉に送信されるマルチキャストパケットの最大数を制限する。
【解決手段】マルチキャストパケットを送信可能なネットワーク通信装置であって、複数のIPアドレスが割り当てられ、複数のIPアドレスをそれぞれ送信元としてマルチキャストパケットを送信する通信インターフェース部6と、通信インターフェース部からのマルチキャストパケットの送信を制御するマルチキャスト制御部13であって、複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化し、各グループにおいて、それぞれのグループに属する一のIPアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのIPアドレスについて順次実行させるマルチキャスト制御部13とを備えるネットワーク通信装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信技術に関し、特にIPマルチキャストの技術に関する。
【背景技術】
【0002】
近年、特にオフィスにおいて、プリンタ、スキャナ、又はその複合機などはIPネットワーク(以後「ネットワーク」)に接続されており、ネットワーク通信装置(以後「通信装置」)を備えるPCなどは、ネットワークを介して、プリンタに印刷データを送信して印刷させたり、スキャナからスキャンされた画像データを受信したりすることができる。
【0003】
このとき、特許文献1及び非特許文献1に示されるように、通信装置から検索パケットをマルチキャストで送信し、その応答を受信することで、ネットワークに接続されているプリンタ、スキャナ、又はその複合機などの周辺装置を検索する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−120580号公報
【非特許文献】
【0005】
【非特許文献1】SLP(Service Location Protocol),RFC2165及びRFC2608
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットワークに接続された通信装置及びその周辺装置にはIPアドレスが割り当てられる。IPアドレスには、主にIPv4とIPv6の2つのアドレス体系が存在し、各装置にはIPv4及びIPv6のいずれか又はその両方のIPアドレスが割り当てられる。ここで、IPv6アドレスが割り当てられる場合、1つの通信インターフェース(以後「通信I/F」)に複数の異なるIPv6アドレスが割り当てられる。また、IPv4アドレスが割り当てられる場合でも、通信装置が複数の通信I/Fを備えている場合、通信I/Fごとに異なるIPv4アドレスが割り当てられる。すなわち、1台の通信装置に複数の異なるIPアドレスが割り当てられることがある。
【0007】
このとき、検索パケットをマルチキャストで送信すると、通信装置に割り当てられた各IPアドレスがそれぞれ送信元となって複数のマルチキャストパケットが送信される。すなわち、通信装置に割り当てられたIPアドレスの数だけマルチキャストパケットが一斉に送信されてしまう。ここで、パケット一斉に送信されるとは、極めて短い時間に大量のパケットが送出されることであり、実質的に同時にパケットが送出されることを意味する。
【0008】
しかし、プリンタ、スキャナ、又はその複合機などの組み込み型の周辺装置は、比較的リソースが少ないため、通信装置から一斉に送信された複数のマルチキャストパケットを全て受信処理できるとは限らない。すなわち、周辺装置はマルチキャストパケットの一部を取りこぼしてしまう恐れがある。
【0009】
また、通信装置から多数のマルチキャストパケットが一斉に送信され、複数の周辺装置がそのマルチキャストパケットに一斉に応答パケットを返すと、ネットワークトラフィックが増大してしまい、そのネットワークに接続されている他の装置の通信に悪影響を及ぼしてしまう恐れがある。
【0010】
なお、この課題は、マルチキャストパケットの送信だけに限られない。例えば、各IPアドレスがそれぞれ送信元となって、一斉にユニキャストパケットを送信する場合にも当てはまる。
【0011】
そこで本発明の目的は、複数のIPアドレスが割り当てられている通信装置からのパケットの送信を制御することである。
【0012】
また、本発明の別の目的は、プリンタ、スキャナ、又はその複合機などの比較的リソースの少ない周辺装置がマルチキャストパケットの一部を取りこぼしてしまわないように、通信装置からのマルチキャストパケットの送信を制御することである。
【0013】
また、本発明の別の目的は、ネットワークトラフィックの増大を軽減するように、通信装置からのマルチキャストパケットの送信を制御することである。
【課題を解決するための手段】
【0014】
本発明の一実施態様に従うネットワーク通信装置は、マルチキャストパケットを送信可能なネットワーク通信装置であって、複数のIPアドレスが割り当てられ、前記複数のIPアドレスをそれぞれ送信元としてマルチキャストパケットを送信する通信インターフェース部と、 前記通信インターフェース部からのマルチキャストパケットの送信を制御するマルチキャスト制御部であって、前記複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のIPアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのIPアドレスについて順次実行させるマルチキャスト制御部と、を備える。
【0015】
これにより、ネットワーク通信装置から一斉に送信されるマルチキャストパケットの最大数を制限することができる。
【0016】
好適な実施形態では、前記マルチキャスト制御部がグループ化を行うときの基準は、前記各IPアドレスのアドレッシングの種別であるとしてもよい。
【0017】
これにより、複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化することができる。
【0018】
好適な実施形態では、前記マルチキャストパケットは、ネットワーク上に存在する装置又はサービスを検索するための検索データを有してもよい。
【0019】
これにより、ネットワーク通信装置は、ネットワーク上に存在する装置又はサービスを検索することができる。
【0020】
好適な実施形態では、前記マルチキャスト制御部は、第1のグループにおいて、送信したマルチキャストパケットに含まれる検索データに対する応答データを受信した後、又は所定のタイムアウト時間が経過した後、前記第1のグループに属する、まだマルチキャストパケットを送信していない一のIPアドレスを送信元としてマルチキャストパケットを送信してもよい。
【0021】
これにより、第1のグループから同時に送信されるマルチキャストパケットの数を制限することができる。
【発明の効果】
【0022】
本発明によれば、複数のIPアドレスが割り当てられている通信装置からのパケットの送信を制御することである。
【0023】
また、本発明によれば、プリンタ、スキャナ、又はその複合機など比較的リソースの少ない周辺装置がマルチキャストパケットの一部を取りこぼさないように、通信装置からのマルチキャストパケットの送信を制御することができる。
【0024】
また、本発明によれば、ネットワークのトラフィックの増大を軽減するように、通信装置からのマルチキャストパケットの送信を制御することができる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態に係るネットワーク通信装置及びその周辺装置のネットワーク構成を示す図である。
【図2】通信装置1の構成を示す図である。
【図3】通信装置1に割り当てられたIPアドレスの一例を示す図である。
【図4】複数の異なるIPアドレスが割り当てられた通信装置1が周辺装置20にマルチキャストパケットを送信するときの一例を示す図である。
【図5】通信装置1がネットワーク上の周辺装置20を検索するときの画面表示例を示す図である。
【図6】通信装置1がネットワーク上の周辺装置20を検索するときの処理フローを示す図である。
【図7】マルチキャスト制御部13が各グループにおいてマルチキャストパケットを送信させるときの処理フローを示す図である。
【図8】複数のIPアドレスを有する通信装置1が周辺装置20にマルチキャストを送信するときの別の実施形態を示す図である。
【発明を実施するための形態】
【0026】
図1は、本発明の一実施形態に係るネットワーク通信装置及びその周辺装置のネットワーク構成を示す図である。以下、図1について説明する。
【0027】
ネットワーク110には、PC101、スキャナ102、プリンタ103、スキャナ104、プリンタ105、ルータ107、及びDHCPv6サーバ106が有線又は無線で接続されている。PC101は、スキャナ102及びプリンタ103と同じネットワークグループ111(すなわち、同じリンクローカルグループ)に属している。スキャナ104及びプリンタ105は同じネットワークグループ112に属している。ルータ107は、ネットワークグループ111とネットワークグループ112の間を接続している。以下、各装置について説明する。
【0028】
ルータ107はIPv4とIPv6の両方に対応しており、ネットワークグループ111及び112に対して、それぞれゲートウェイを提供する。ルータ107は、ある装置から送信されたIPパケットを、宛先のIPアドレスに基づいて他のネットワークグループのルータ又は装置に転送(ルーティング)する。
【0029】
ルータ107はIPv6に対応しているので、RA(Router Advertisement)機能を備える。そして、ルータ107は、RA機能によって、ルータ107が管理するネットワークグループ111及び112に属する装置に対して、自動でIPv6アドレスを割り当てる。このRA機能によって自動的に割り当てられたIPv6アドレスをステートレスアドレスという。
【0030】
ルータ107は、マルチキャストグループ113の管理を行う。マルチキャストグループは、ネットワーク上の複数の装置により構成される。マルチキャストグループは、異なるリンクローカルグループの装置を含んでもよい。マルチキャストグループには所定のマルチキャストグループアドレスが割り当てられる。すなわち、そのマルチキャストグループに参加している装置は、同じマルチキャストグループアドレスを保持する。そして、ルータ107は、マルチキャストグループアドレスとそのマルチキャストグループに参加している装置のIPアドレスとを対応付けて記憶している。ルータ107は、マルチキャストグループアドレスを宛先とするマルチキャストパケットを受信すると、そのマルチキャストグループに参加している全ての装置にそのマルチキャストパケットを転送する。例えば、図1において、PC101、スキャナ102、プリンタ103、スキャナ104、及びプリンタ105が同じマルチキャストグループ113に参加しており、ルータ107がマルチキャストグループ113宛のマルチキャストパケットを受信すると、ルータ107は、PC101、スキャナ102、プリンタ103、スキャナ104、及びプリンタ105にそのマルチキャストパケットを転送する。
【0031】
DHCPv6サーバ106は、ネットワーク110に接続されている装置に対してIPv6アドレスを割り当てる。例えば、ネットワークに接続されている装置が、DHCPv6サーバ106にIPv6アドレスの割り当てを要求すると、DHCPv6サーバ106はその装置に対してIPv6アドレスを割り当てる。例えば、図1において、PC101がDHCPv6サーバ106にIPv6アドレスの割り当てを要求すると、DHCPv6サーバ106はPC101に対してIPv6アドレス「2001:2f8:43:1000:290:3:20:1」を割り当てる。また、DHCPv6サーバ106は、その装置に対してDNSサーバ又はデフォルトゲートウェイなどのIPアドレスを提供してもよい。DHCPv6サーバ106によって割り当てられたIPv6アドレスをステートフルアドレスという。
【0032】
PC101は、ネットワーク110を介して通信を行うための通信装置1を備える。通信装置1は、サービス検索のためのプロトコル(例えばSLP)によってネットワークに接続されている装置又はサービスを検索することができる。例えば、通信装置1は、サービスの検索条件が記載されたサービス検索要求パケットをマルチキャストで送信し、その検索条件に適合する装置からの応答パケットを受信することにより、装置又はサービスを検索する。例えば、図1において、通信装置1が、「プリンタ又はスキャナ」を検索条件とするサービス検索要求パケットを、マルチキャストグループ113を宛先としてマルチキャストで送信すると、通信装置1は、プリンタ及びスキャナ102〜105から応答パケットを受信することができる。さらに、通信装置1は、応答パケットに記載されているプリンタ又はスキャナのIPアドレスを宛先として、詳細情報の要求を送信すると、そのプリンタ又はスキャナから詳細情報(例えば、図2cに示すような情報)の応答を受信することができる。
【0033】
プリンタ及びスキャナ102〜105は、本発明に係る周辺装置20の一実施形態である。プリンタ及びスキャナ102〜105は、IPv4及びIPv6の両方に対応する。プリンタ103及びプリンタ105は、PC101からネットワーク110を介して送信された印刷データを受信し、印刷を行うことができる。スキャナ102及びスキャナ104は、スキャンした画像データを、ネットワーク110を介してPC101に送信することができる。プリンタ及びスキャナ102〜105は、前述のサービス検索のためのプロトコル(例えばSLP)に対応している。したがって、PC101から「プリンタ又はスキャナ」を検索条件としたサービス検索要求パケットをマルチキャストで受信した場合、プリンタ及びスキャナ102〜105はその検索条件に適合する旨の応答パケットをPC101に返信する。
【0034】
図2は、通信装置1の構成を示す図である。以下、図2について説明する。
【0035】
通信装置1は、入力I/F2、出力I/F3、通信I/F6、記憶装置4、及び処理装置5と、それらを接続するバス7を備える。
【0036】
入力I/F2は、ユーザからの入力を受け付けるI/Fであり、例えば、キーボード、マウス、タッチパネルディスプレイ、リモコンなどの入力装置8が接続される。例えば、後述の図5において、ユーザがマウスを操作して画面上のボタンを押下したときは、ボタン押下の信号がこの入力I/F2を介して処理装置5に入力される。
【0037】
出力I/F3は、映像又は音声などを出力するI/Fであり、例えば、タッチパネルティスプレイ、液晶ディスプレイ、又はスピーカなどが接続される。例えば、後述の図5に示す画面の映像は、処理装置5で生成され、この出力I/F3を介してディスプレイ9に表示される。
【0038】
通信I/F6は、処理装置5で生成されたデータをネットワークに送信したり、ネットワークから受信したデータを処理装置5に入力したりする。例えば、有線又は無線LAN(Local Area Network)に接続するためのI/Fであり、IPパケットの送信及び受信処理を行う。例えば、後述の図3におけるマルチキャストパケットの送信処理及びその応答パケットの受信処理は、この通信I/F6が行う。
【0039】
記憶装置4には、処理装置5で実行されるコンピュータプログラム(以後「プログラム」)、及びそのプログラムが生成したデータなどが記憶される。記憶装置4には、例えば、マルチキャストグループアドレスなどが記憶されている。記憶装置4に記憶されたデータは、通信装置1の電源を切断しても消去されない。記憶装置4は、例えば、HDD(Hard Disk Drive)、又はフラッシュメモリなどで構成される。
【0040】
処理装置5は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)などを備え、記憶装置4からプログラムを読み出して実行する。処理装置5で実行されるプログラムは、例えば、検索アプリケーション11、サービス検索部12、マルチキャスト制御部13、OS14(Operating System)などである。以下に各プログラムについて説明する。
【0041】
OS14は、処理装置5で実行されるプログラム全体を制御する。例えば、各アプリケーションの実行スケジューリング及びメモリ管理などを行う。OS14は、通信ドライバ15を介して、通信I/F6に設定されているIPアドレスを管理する。したがって、各アプリケーションは、OS14に問い合わせることによって通信I/F6に設定されているIPアドレスを知ることができる。
【0042】
検索アプリケーション11は、ユーザからの周辺装置(例えば、プリンタ又はスキャナなど)の検索要求を入力装置8から受けると、記憶装置4から所定のマルチキャストグループアドレスを読み出し、そのアドレスを宛先として、サービス検索部12に検索条件に適合する装置の検索を要求する。そして、検索アプリケーション11は、その検索結果として、後述の図5に示すような、ネットワーク上の周辺装置20の一覧及び各装置の詳細情報の画面などをディスプレイ9に表示させる。さらに、検索アプリケーション11は、入力装置8からこれらの画面に対する入力を受け付ける。
【0043】
サービス検索部12は、サービス検索のためのプロトコル(例えばSLP)を用いて、ネットワークに接続されている所定の装置又は所定のサービスを検索する。例えば、サービス検索部12は、サービスの検索条件が記載されたサービス検索要求パケットをマルチキャストで送信する。そして、検索サービス12は、その検索条件に適合する装置からの応答パケットを受信し、応答した装置の装置名及びIPアドレスを特定することで、そのサービスを有する装置を検索する。
【0044】
マルチキャスト制御部13は、複数のIPアドレスが通信I/F6に割り当てられているとき、所定の数以上のマルチキャストパケットが一斉に送信されないように制御する。
【0045】
例えば、マルチキャスト制御部13は、通信I/F6に割り当てられている複数のIPアドレスを、所定の基準に基づいて、複数のグループにグループ化する。そして、1つのグループからはある時刻には1つのマルチキャストパケットしか送信されないように制御する。つまり、1グループから同時に複数のマルチキャストパケットが送出されないようにする。そして、その1つのマルチキャストパケットの送信が完了した後、そのグループに属する別の1つのIPアドレスを送信元としてマルチキャストパケットを送信させる。以後、そのグループに属する全てのIPアドレスが送信元となってマルチキャストパケットの送信が完了するまで繰り返す。また、マルチキャスト制御部13は、各グループが並列に(マルチタスクで)マルチキャストパケットを送信できるように制御する。これにより、マルチキャスト制御部13は、同時に送出されるマルチキャストパケット数の上限がグループ数となるように制御することができる。
【0046】
複数のIPアドレスを複数のグループにグループ化するときは、例えば、通信I/F6に割り当てられているIPアドレスが、IPv4アドレスかIPv6アドレスか、又は、どのようなスコープのIPアドレスか、又は、どのように割り当てられたIPアドレスか、など、IPアドレスのアドレッシングの種別などに基づいて、グループ化する。例えば、IPアドレスが、IPv4アドレスであるか、IPv6リンクローカルアドレスであるか、IPv6ステートレスアドレスであるか、IPv6ステートフルアドレスであるか、又はIPv6手動設定アドレスであるか、などに基づいてグループ化してもよい。
【0047】
なお、他の基準に基づいてグループ化してもよい。例えば、各IPアドレスに優先度を付与し、優先度の高いIPアドレスが各グループの先頭になるようにグループ化してもよい。また、例えば、ランダムにIPアドレス同士をグループ化してもよい。また、例えば、ユーザが任意にIPアドレス同士をグループ化してもよい。
【0048】
以下、このマルチキャスト制御部13の制御について、より詳細に説明する。
【0049】
図3は、通信装置1に割り当てられたIPアドレスの一例を示す図である。
【0050】
図4は、複数の異なるIPアドレスが割り当てられた通信装置1が周辺装置20にマルチキャストパケットを送信するときの一例を示す図である。
【0051】
以下、図3及び図4を用いて、複数の異なるIPアドレスが割り当てられた通信装置1が周辺装置20にマルチキャストパケットを送信するときの課題と、その課題に本発明を適用したときの一例について説明する。
【0052】
図3に示すように、IPv4及びIPv6の両方に対応している通信装置1には、複数の異なるIPアドレスを割り当てることができる。なぜなら、IPv6の仕様では、1つの通信I/F6に複数のIPv6アドレスを割り当てることができるからである。さらに、通信装置1が複数の通信I/F6を備える場合、通信I/F6ごとに異なるIPv4アドレスを割り当てることができる。そこで、例えば、通信装置1の通信I/F6に、図3に示すように、1個のIPv4アドレスと12個のIPv6アドレスの合計13個のIPアドレスが割り当てられたとする。なお、IPアドレス320に記載の「IPアドレス1−1」などは、通信装置1に割り当てられたIPアドレス330のエイリアスであり、本明細書の説明のために便宜的に付与したものである。そのため、IPアドレス320に記載の「IPアドレス1−1」などは、必ずしも通信装置1内で管理しなければならないデータではない。
【0053】
図4aは、図3に示す13個のIPアドレスが割り当てられた通信装置1が、普通にマルチキャストパケットを送信するときの一例を示す図である。
【0054】
このとき、通信装置1は、割り当てられた各IPアドレスのそれぞれを送信元とし、宛先をマルチキャストグループアドレス21として、一斉に複数のマルチキャストパケットを送信する。そのため、周辺装置20は、一斉に送信された複数のマルチキャストパケットを受信処理しなければならない。しかし、プリンタ又はスキャナなどの組み込み型の周辺装置20は比較的リソースが少ないため、同時に受信処理可能なパケット数が限られる。
【0055】
例えば、周辺装置20が同時に受信処理可能なパケット数を最大10個とする。この場合、図4aに示すように、通信装置1が13個のマルチキャストパケットを一斉にマルチキャストグループ21宛に送信すると、通信装置1は3個のパケットを取りこぼしてしまう。もし、周辺装置20が別のパケットの受信処理を行っていた場合、さらに多くのパケットを取りこぼしてしまう。すなわち、周辺装置20は、通信装置1から送信された検索パケットの一部を取りこぼしてしまう。
【0056】
また、多数のマルチキャストパケットに対して、各周辺装置が一斉に応答パケットを返信すると、ネットワークトラフィックが増大してしまい、ネットワーク上の他の周辺装置の通信に悪影響を及ぼしてしまう。
【0057】
図4bは、図3に示す13個のIPアドレスが割り当てられた通信装置1が、本発明を適用してマルチキャストパケットを送信したときの一例を示す図である。
【0058】
本発明では、まず、マルチキャスト制御部13が、複数のIPアドレスを所定の基準に基づいて、複数のグループにグループ化する。例えば、IPv4アドレス及びIPv6アドレスのいずれであるか、又は、どのようなスコープのIPアドレスであるか、又は、どのように付与されたIPアドレスであるか、など、IPアドレスのスコープ、又はIPアドレスのアドレッシングの種別などに基づいて、いくつかのグループにグループ化する。
【0059】
次に、マルチキャスト制御部13は、1つのグループからはある時刻には1つのマルチキャストパケットのみを送信させるよう制御する。すなわち、マルチキャスト制御部13は、各グループに属する複数のIPアドレスのうちの1つのIPアドレスのみを送信元として、所定のマルチキャストグループ宛にマルチキャストパケットを送信させる。そして、マルチキャスト制御部13は、その送信が完了した後に、そのグループに属する複数のIPアドレスからまだ未送信の別の1つのIPアドレスを送信元として、マルチキャストパケットを送信させる。以後、そのグループに属する全てのIPアドレスが送信元となってマルチキャストパケットを送信するまで、その処理を繰り返す。
【0060】
例えば、図4bにおいては、通信装置1に割り当てられた13個のIPアドレスが、IPv4グループ401、IPv6リンクローカルグループ402、IPv6ステートレスグループ403、IPv6ステートフルグループ404、及びIPv6手動設定グループ405の5つのグループにグループ化されている。
【0061】
ここで、IPv4グループは、IPv4アドレスをまとめたグループである。IPv6リンクローカルグループ402は、同じネットワークグループ内(リンクローカルグループ内)だけで利用可能なIPv6アドレスをまとめたグループである。IPv6ステートレスグループ403は、IPv6対応ルータのRA機能によって自動的に割り当てられたIPv6アドレスをまとめたグループである。IPv6ステートフルグループ404は、DHCPv6サーバ106によって自動的に割り当てられたIPv6アドレスをまとめたグループである。IPv6手動設定グループ405は、ユーザ自身が手動で設定したIPv6アドレスをまとめたグループである。
【0062】
そして、例えば、IPv6リンクローカルグループ402においては、マルチキャスト制御部13は、まず「IPアドレス2−1」を送信元として、マルチキャストグループアドレス21宛にマルチキャストパケットを送信させる。その送信の完了後、次は「IPアドレス2−2」を送信元として同様にマルチキャストパケットを送信させる。その送信の完了後、最後に「IPアドレス2−3」を送信元として同様にマルチキャストパケットを送信させる。これにより、IPv6リンクローカルグループ402からは、ある時刻には1つのマルチキャストパケットのみを送信させると共に、IPv6リンクローカルグループ402に属している全てのIPアドレスを送信元としてマルチキャストパケットを送信することができる。
【0063】
なお、マルチキャスト制御部13は、IPv6リンクローカルグループ402からマルチキャストパケットが送信されているときと同じ時刻に、IPv4グループ401、IPv6ステートレスグループ403、IPv6ステートフルグループ404、及びIPv6手動設定グループ405からもマルチキャストパケットを送信させることができる。すなわち、グループ間においては並列に(マルチタスクで)マルチキャストパケットを送信することができる。
【0064】
これにより、通信装置1から一斉に送信されるマルチキャストパケット数は最大でもグループ数と同じ5個となる。したがって、最大で10個のパケットしか同時に受信処理できない周辺装置20も、通信装置1から送信されたマルチキャストパケットを取りこぼすことなく受信処理することができる。
【0065】
また、通信装置1から一斉に送信されるマルチキャストパケット数は最大でも5個なので、周辺装置20がそれぞれのマルチキャストパケットに対して応答パケットを返信したとしても、ネットワークにおけるトラフィックの増大は抑制される。
【0066】
図5は、通信装置1がネットワーク上の周辺装置20を検索するときの画面表示例を示す図である。以下、図5について説明する。
【0067】
図5aは、通信装置がネットワーク上の周辺装置を1つも発見していないときの画面表示の一例である。ここで、ユーザが「検索」ボタン201を押下すると、通信装置はネットワーク上の周辺装置の検索を開始する。例えば、通信装置が検索要求パケットを載せたマルチキャストパケットを、記憶装置4から読み出した所定のマルチキャストグループアドレス宛に送信する。
【0068】
図5bは、通信装置1が検索要求パケットに対する周辺装置20からの応答パケットを受信したときの画面表示の一例である。通信装置1の検索アプリケーション11は応答パケットに記載された装置名とIPアドレスの情報を基に、装置名とIPアドレスの一覧210を表示する。ここで、例えば、ユーザが「プリンタ103」の詳細情報を知りたいときは、入力装置8を介して一覧210から「プリンタ103」を選択して「詳細」ボタン202を押下すると、図5cに示すように、図1のプリンタ103の詳細情報220が表示される。このとき、検索アプリケーション11は、選択された「プリンタ103」のIPアドレスを宛先として詳細情報を要求することによって、プリンタ103の詳細情報220を取得する。
【0069】
これにより、通信装置1は、ユーザの操作に従って、ネットワーク上の周辺装置20を検索することができる。さらに、通信装置1は、周辺装置20の詳細情報を取得することができる。
【0070】
図6は、通信装置1がネットワーク上の周辺装置20を検索するときの処理フローを示す図である。以下、同図を用いて、検索アプリケーション11、サービス検索部12、マルチキャスト制御部13、及びOS14の処理について説明する。
【0071】
検索アプリケーション11において図5aに示す「検索」ボタン201が押下されると(S11)、サービス検索部12はサービス検索要求パケットをマルチキャストで送信するようマルチキャスト制御部13に要求する(S12)。
【0072】
マルチキャスト制御部13は、その要求を受けて、通信I/F6に設定されている全てのIPアドレスをOS14を介して取得する(S13)。このとき、通信I/F6の識別情報(通信I/Fが複数ある場合)、及びIPアドレスのアドレッシングの種別情報(例えば、IPv6ステートレスアドレス、IPv6ステートフルアドレスなど)なども合わせて取得する。例えば、マルチキャスト制御部13は、図3に示す複数の異なるIPアドレスを取得したとする。
【0073】
そして、マルチキャスト制御部13は、取得した複数の異なるIPアドレスを所定の基準に基づきグループ化する(S14)。ここでは、IPアドレスのアドレッシングの種別情報に基づいて、図4bに示すように、IPv4グループ401、IPv6リンクローカルグループ402、IPv6ステートレスグループ403、IPv6ステートフルグループ404、及びIPv6手動設定グループ405にグループ化する。
【0074】
そして、マルチキャスト制御部13は、1つのグループからはある時刻には1つのマルチキャストパケットのみが送信されるように制御する(S15−1〜5)。このマルチキャストパケットの送信は各グループ並列で(すなわち、マルチタスクで)実行される。すなわち、通信装置1から一斉に送信されるマルチキャストパケット数は最大で5つである。なお、この処理の詳細は図7を用いて後述する。
【0075】
そして、マルチキャスト制御部13は、全てのグループにおけるマルチキャストパケットの送信とそれに対する応答パケットの受信を完了すると、各グループが記憶装置4に記憶した応答パケットを、記憶装置4から全て読み出してサービス検索部12に伝える(S16)。
【0076】
サービス検索部12は、マルチキャスト制御部13から伝えられた全ての応答パケットから、周辺装置20の装置名及びIPアドレスなどの情報を抽出し、検索アプリケーション11に伝える(S17)。
【0077】
機器検索アプリケーション11は、その周辺装置20の情報を基に、図5bに示すように、周辺装置20の装置名及びIPアドレスの一覧を表示する(S18)。
【0078】
図7は、マルチキャスト制御部13が各グループにおいてマルチキャストパケットを送信させるときの処理フローを示す図である。すなわち、図6のステップS15の処理フローを示す図である。なお、ステップS15−1〜5の各グループの処理は共通している。以下、同図を用いて、図6のステップS15における、ある一つのグループの処理について詳細に説明する。
【0079】
マルチキャスト制御部13は、n(nは整数)に1を設定し、N回(Nは整数)のループを開始する(S21)。ここでNは、このグループに属しているIPアドレスの数とする。
【0080】
そして、マルチキャスト制御部13は、このグループに属しているn番目のIPアドレスを選択する。
【0081】
そして、マルチキャスト制御部13は、その選択したIPアドレスを送信元とし、記憶装置4から読み出した所定のマルチキャストグループアドレス21を宛先として、マルチキャストパケットを送信する(S22)。
【0082】
そして、マルチキャスト制御部13は、そのマルチキャストパケットに対する応答パケットの受信を待つ(S23)。ここで、応答パケットを受信できず(S23:NO)、さらに、マルチキャストパケットの送信から所定のタイムアウト時間が過ぎた場合は(S24:YES)、あきらめて次のループに移る(S21)。一方、応答パケットを受信した場合は(S23:YES)、その応答パケットを記憶装置4に記憶しておき(S25)、次のループに移る(S21)。そして、N回のループが完了した場合は(S26)、当該処理を終了し、図6のステップS16に進む。
【0083】
なお、本実施形態では、ステップS23において、マルチキャストパケットに対する応答パケットの受信を待っているが、これを待たずに次のマルチキャストパケットを送信するようにし、応答パケットの受信は非同期で行うようにしてもよい。
【0084】
以上、図6及び図7に示す処理により、通信装置1が一斉に送信するマルチキャストパケットの数を制限することができる。これにより、周辺装置20は、検索パケットを取りこぼさずに受信することができる。さらに、ネットワークのトラフィックの増大を抑制することができる。
【0085】
なお、図6及び図7では、マルチキャスト制御部13は、1つのグループからある時刻には1つのマルチキャストパケットのみを送信させ、各グループは並列で(すなわち、マルチタスクで)マルチキャストパケットを送信させている。そして、これにより、ある時刻に一斉に送信されるマルチキャストパケット数を制限している。しかし、他の方法である時刻に一斉に送信されるマルチキャストパケット数を制限してもよい。次に、その一実施形態を示す。
【0086】
図8は、複数のIPアドレスを有する通信装置1が周辺装置20にマルチキャストを送信するときの別の実施形態を示す図である。以下、同図を用いて、ある時刻に一斉に送信されるマルチキャストパケット数を制限する他の実施形態について説明する。
【0087】
マルチキャスト制御部13は、まず、図4bと同様、通信装置1に割り当てられている複数の異なるIPアドレスを、IPアドレスのアドレッシングの種別に基づいてグループ化する。そして、マルチキャスト制御部13は、所定の優先度の高いグループから順番にマルチキャストパケットを送信させる。
【0088】
例えば、図8において、IPv4グループ401、IPv6手動アドレスグループ、IPv6リンクローカルグループ402、IPv6ステートレスグループ403、IPv6ステートフルグループ404の順にグループの優先度が高いとすると、優先度の高いIPv4グループ401が最初に一斉にマルチキャストパケットを送信した後、次に優先度の高いIPv6手動アドレスグループが一斉にマルチキャストパケットを送信する。すなわち、同じグループに属する複数のIPアドレスが並列に(マルチタスクで)送信元となって同時にマルチキャストパケットを送信する。
【0089】
例えば、IPv6手動アドレスグループがマルチキャストパケットを送信するときは、図8に示すように、「IPアドレス5−1」と「IPアドレス5−2」と「IPアドレス5−3」が同時に送信元となってマルチキャストパケットを送信する。そして、IPv6手動設定アドレスグループからの送信が完了すると、次に優先度の高いIPv6リンクローカルグループ402に属するIPアドレスが同時に送信元となってマルチキャストパケットを送信する。以後、これを繰り返す。
【0090】
以上の処理によれば、通信装置1から一斉に送信されるマルチキャストパケットの最大数は、最も多くのIPアドレスが属するグループのIPアドレスの数となる。例えば、同図の例では、一斉に送信されるマルチキャストパケットの最大数は3個である。
【0091】
これにより、図6及び図7の場合と同様、通信装置1が一斉に送信するマルチキャストパケットの数を制限することができる。
【0092】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0093】
例えば、本実施形態では、マルチキャストパケットの送信について説明したが、本発明はマルチキャストパケット以外のパケットの送信にも適用できる。
【符号の説明】
【0094】
1…通信装置、2…入力I/F、3…出力I/F、4…記憶装置、5…処理装置、6…通信I/F、7…バス、8…入力装置、9…ディスプレイ、11…検索アプリケーション、12…サービス検索部、13…マルチキャスト制御部、14…OS、15…通信ドライバ、20…周辺装置、21…マルチキャストアドレスグループ


【特許請求の範囲】
【請求項1】
マルチキャストパケットを送信可能なネットワーク通信装置であって、
複数のIPアドレスが割り当てられ、前記複数のIPアドレスをそれぞれ送信元としてマルチキャストパケットを送信する通信インターフェース部と、
前記通信インターフェース部からのマルチキャストパケットの送信を制御するマルチキャスト制御部であって、前記複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のIPアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのIPアドレスについて順次実行させる前記マルチキャスト制御部と
を備えることを特徴とするネットワーク通信装置。
【請求項2】
前記マルチキャスト制御部がグループ化を行うときの基準は、前記各IPアドレスのアドレッシングの種別である
ことを特徴とする請求項1記載のネットワーク通信装置。
【請求項3】
前記マルチキャストパケットは、ネットワーク上に存在する装置又はサービスを検索するための検索データを有する
ことを特徴とする請求項1及び2のいずれかに記載のネットワーク通信装置。
【請求項4】
前記マルチキャスト制御部は、第1のグループにおいて、送信したマルチキャストパケットに含まれる検索データに対する応答データを受信した後、又は所定のタイムアウト時間が経過した後、前記第1のグループに属する、まだマルチキャストパケットを送信していない一のIPアドレスを送信元としてマルチキャストパケットを送信する
ことを特徴とする請求項3に記載のネットワーク通信装置。
【請求項5】
前記検索データを有するマルチキャストパケットの送信先の装置は、マルチキャストグループアドレスを有する前記ネットワーク通信装置の周辺装置である
ことを特徴とする請求項4に記載のネットワーク通信装置。
【請求項6】
前記マルチキャストパケットの送信元のIPアドレスは、IPv4及びIPv6のいずれかである
ことを特徴とする請求項1乃至5のいずれかに記載のネットワーク通信装置。
【請求項7】
ネットワークに接続され、所定のプログラムが動作可能な情報処理装置が行うネットワーク通信のための方法であって、
複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のIPアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのIPアドレスについて順次実行するネットワーク通信方法。
【請求項8】
ネットワークに接続され、所定のプログラムが動作可能な情報処理装置に実行されると、
複数のIPアドレスを所定の基準に基づいて複数のグループにグループ化し、前記各グループにおいて、それぞれのグループに属する一のIPアドレスを送信元とするマルチキャストパケットの送信を、それぞれのグループ内のすべてのIPアドレスについて順次実行するコンピュータプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−165167(P2012−165167A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−23766(P2011−23766)
【出願日】平成23年2月7日(2011.2.7)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】