(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】情報処理装置、画像処理装置、情報処理装置の制御方法およびプログラム
(51)【国際特許分類】
H04L 61/4511 20220101AFI20241111BHJP
【FI】
H04L61/4511
(21)【出願番号】P 2020192604
(22)【出願日】2020-11-19
【審査請求日】2023-11-10
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】有働 隼人
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開平07-066809(JP,A)
【文献】特開2005-094252(JP,A)
【文献】特開2015-092666(JP,A)
【文献】中国特許出願公開第104618521(CN,A)
【文献】特表2018-520598(JP,A)
【文献】特開2012-195957(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-69/00
(57)【特許請求の範囲】
【請求項1】
DNSサーバとネットワークを介して接続され相互に通信可能な情報処理装置であって、
前記情報処理装置のデバイス名が、同一のローカルエリアネットワーク内で重複していないか確認する第1の確認手段と、
前記情報処理装置のデバイス名が、前記DNSサーバに登録されているデバイス名と重複していないか確認する第2の確認手段と、
前記第1の確認手段と前記第2の確認手段により、前記情報処理装置のデバイス名が重複していないと確認された場合に、前記情報処理装置のデバイス名を前記DNSサーバに登録する登録手段と、を有する
ことを特徴とする情報処理装置。
【請求項2】
前記第1の確認手段が、前記情報処理装置のデバイス名が同一のローカルエリアネットワーク内で重複していると判定した場合に、前記情報処理装置のデバイス名を変更する第1の変更手段をさらに有し、
前記第1の変更手段が前記情報処理装置のデバイス名を変更した場合は、前記第1の確認手段が再度、前記情報処理装置のデバイス名が同一のローカルエリアネットワーク内で重複していないか確認する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2の確認手段が、前記情報処理装置のデバイス名が前記DNSサーバに登録されているデバイス名と重複していると判定した場合に、前記情報処理装置のデバイス名を変更する第2の変更手段をさらに有し、
前記第2の変更手段が前記情報処理装置のデバイス名を変更した場合は、前記第1の確認手段が再度、前記情報処理装置のデバイス名が同一のローカルエリアネットワーク内で重複していないか確認する
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記第1の確認手段は、mDNS(Multicast DNS)を利用して同一のローカルエリアネットワーク内のデバイスからデバイス名を取得し、取得したデバイス名と前記情報処理装置のデバイス名とを比較して、デバイス名の重複を確認する
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第2の確認手段は、前記DNSサーバに対して前記DNSサーバに登録されているすべてのデバイス名を要求し、該要求に対する応答として前記DNSサーバから取得したすべてのデバイス名と前記情報処理装置のデバイス名とを比較して、デバイス名の重複を確認する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2の確認手段は、前記DNSサーバに対して前記情報処理装置のデバイス名と同一のデバイス名を要求し、該要求に対する応答として前記DNSサーバから前記
情報処理装置のデバイス名と同一のデバイス名が返却された場合に、デバイス名の重複があると判定する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項7】
前記情報処理装置は、プリント機能またはスキャン機能を備える画像処理装置である
ことを特徴とする
請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記
情報処理装置の動作設定として、前記DNSサーバを利用したローカルエリアネットワークを超えた画像処理装置の探索が可能なプリントクライアントから印刷データを受信して印刷するプリント機能の利用を許可する動作設定がなされている場合に、前記登録手段による前記情報処理装置のデバイス名の登録が行われる
ことを特徴とする請求項7に記載の
情報処理装置。
【請求項9】
DNSサーバとネットワークを介して接続され相互に通信可能な情報処理装置の制御方法であって、
前記情報処理装置のデバイス名が、同一のローカルエリアネットワーク内で重複していないか確認する第1の確認工程と、
前記情報処理装置のデバイス名が、前記DNSサーバに登録されているデバイス名と重複していないか確認する第2の確認工程と、
前記第1の確認工程と前記第2の確認工程で、前記情報処理装置のデバイス名が重複していないと確認された場合に、前記情報処理装置のデバイス名を前記DNSサーバに登録する登録工程と、を有する
ことを特徴とする情報処理装置の制御方法。
【請求項10】
請求項1乃至6のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、画像処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
ネットワークの一般的な技術として、Dynamic Domain Name System(DDNS)がある。これは、情報処理装置に動的に割り当てられているIPアドレスを、その都度動的にDNSサーバに登録し、固定値であるドメイン名によるアクセスを可能にする仕組みである。この、DDNSは、組織内ローカルエリアネットワーク(LAN)からワイドエリアネットワーク(WAN)まで幅広く使われている技術である。
【0003】
また近年、企業のオフィスや商業施設などにおいて、マルチキャストを用いたMulticast Domain Name System(mDNS)という技術が利用されている。mDNSは、DNSサーバがなくともローカルエリアネットワーク内のデバイスであれば、デバイス探索における名前解決が可能となる仕組みである。特許文献1は、スリープモード時にサブコントローラーがmDNSクエリパケットを受信した場合、通常モードに復帰せずスリープモードのまま、サブコントローラーが応答(代理応答)する情報処理装置を開示している。デバイスは、mDNSを用いることで、同一のローカルエリアネットワーク内でのデバイス名(DNS名称)の重複を回避することができる。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】S.Cheshire, M.Krochmal、“DNS-Based Service Discovery”、[online]、2013年2月、Internet Engineering Task Force(IETF)、インターネット<URL:https://www.ietf.org/rfc/rfc6763.txt>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、mDNSでは、ローカルエリアネットワーク外の別のデバイスが同一のDNS名称を既にDNSサーバに登録していた場合、重複したデバイス名を登録できてしまう。すなわち、DNSサーバに登録されるデバイス名の重複をmDNSを用いて回避しようとしても、ローカルエリアネットワークを超えて回避することはできない。
【0007】
また、ローカルエリアネットワークを超えた名前解決の仕組みとして、Domain Name System Service Discovery(DNS-SD)と呼ばれる技術が用いられ始めている。非特許文献1は、DNSレコードにインターフェース名や機器情報などの情報の登録を行う情報処理装置が、既に登録されている情報処理装置の名称を問い合わせてIPアドレス等の情報を取得する技術を開示している。DNS-SDを用いることで、ローカルエリアネットワークを超えたデバイスの探索が可能となっている。デバイスがDNSサーバに自装置の情報を登録する場合、一般的なDNSサーバでは重複したデバイス名の登録を回避するための重複登録ガードの設定がされていないことが多いため、デバイス名(DNS名称)が重複する恐れがある。デバイス名が重複すると、デバイス探索の際に同じ名前のデバイスが表示され、ユーザを混乱させる恐れがある。
【0008】
本発明は、DNSサーバにデバイスを登録する際に、DNS名称の重複を抑制する情報処理装置を提供する。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の情報処理装置は、DNSサーバとネットワークを介して接続され相互に通信可能な情報処理装置であって、前記情報処理装置のデバイス名が、同一のローカルエリアネットワーク内で重複していないか確認する第1の確認手段と、前記情報処理装置のデバイス名が、前記DNSサーバに登録されているデバイス名と重複していないか確認する第2の確認手段と、前記第1の確認手段と前記第2の確認手段により、前記情報処理装置のデバイス名が重複していないと確認された場合に、前記情報処理装置のデバイス名を前記DNSサーバに登録する登録手段と、を有する。
【発明の効果】
【0010】
本発明によれば、DNSサーバに対する重複したDNS名称の登録を回避することができる。
【図面の簡単な説明】
【0011】
【
図1】ネットワークシステムの構成を説明する図である。
【
図2】画像処理装置のハードウェア構成図を説明する図である。
【
図3】各種DNSレコードの一例を説明する図である。
【
図4】mDNSを用いたデバイス登録のシーケンス図である。
【
図5】サブネット外のデバイスが存在する場合における、mDNSを用いたデバイス登録のシーケンス図である。
【
図7】DNS名称の重複を回避したデバイス登録処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
図1は、本実施形態におけるネットワークシステムの構成を説明する図である。ネットワークシステムは、DNSサーバ107およびDNSサーバ107とネットワークを介して接続され相互に通信可能である情報処理装置を含む。DNSサーバ107と接続され通信が可能である情報処理装置の一例として、本実施形態では画像処理装置(画像処理装置101~画像処理装置104)を例に説明する。本実施形態のネットワークシステムは、画像処理装置101、画像処理装置102、画像処理装置103、画像処理装置104、情報処理装置110、DNSサーバ107、ネットワーク中継器108、ネットワーク109を含む。また、ネットワーク109は、第1のサブネット105および第2のサブネット106を含む。
【0013】
ネットワーク109は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク109は、DNSサーバ107とネットワーク中継器108、画像処理装置101~画像処理装置103とネットワーク中継器108、画像処理装置104と情報処理装置110とネットワーク中継器108を接続する。このうち、画像処理装置101、画像処理装置102、画像処理装置103、ネットワーク中継器108を接続するネットワークを第1のサブネット105とする。また、画像処理装置104、情報処理装置110、ネットワーク中継器108を接続するネットワークを第2のサブネット106とする。
【0014】
画像処理装置101、画像処理装置102、画像処理装置103、画像処理装置104は、例えば、プリント機能、スキャン機能など多機能を備えたMFP(Multi Function Peripheral)である。印刷では、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を出力する。スキャンでは、原稿を読み取り、画像データを生成する。また、画像処理装置101、画像処理装置102、画像処理装置103、画像処理装置104は、mDNS(Multicast Domain Name System)機能を有する。mDNS機能に関する説明は、後述する。
【0015】
情報処理装置110は、ユーザによって操作されるコンピュータ装置であって、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末などが挙げられる。情報処理装置110は、第2のサブネット106上のデバイスであり、第2のサブネット106により、ネットワーク中継器108および画像処理装置104と接続される。また、情報処理装置110は、画像処理装置に印刷指示を行うためのプリントモジュールを有している。情報処理装置110は、例えば、mDNSを用いて第2のサブネット106に属するデバイスの中から印刷機能を有する画像処理装置104を検索し、画像処理装置104からIPアドレスを取得する。情報処理装置110は取得したIPアドレスを指定して、印刷の実行を指示する印刷ジョブを画像処理装置104へ送信する。
【0016】
画像処理装置101、画像処理装置102、画像処理装置103は、ネットワーク中継器108に割り当てられたローカルエリアネットワークである第1のサブネット105上に存在する。画像処理装置104と情報処理装置110は、ネットワーク中継器108によって割り当てられた第1のサブネット105とは別のローカルエリアネットワークである第2のサブネット上に存在する。
【0017】
ネットワーク中継器108は、DNSサーバ107に接続されており、DNSサーバ107と各ローカルエリアネットワーク(第1のサブネット105および第2のサブネット106)上のデバイスを中継する。第1のサブネット105または第2のサブネット106上にあるデバイス(画像処理装置101~画像処理装置104および情報処理装置110)は、ネットワーク中継器108を介してDNSサーバ107にアクセスすることができる。
【0018】
DNS(Domain Name System)サーバ107は、ネットワーク109上のデバイスの登録を受け付け、DNSレコードを管理する。DNSレコードは、デバイスを示すデバイス名(DNS名称ともいう)とIPアドレスを関連付けたデータである。DNSレコードの詳細については、
図3を用いて後述する。また、DNSサーバ107は、ネットワーク109およびネットワーク中継器108を介して、ネットワーク109上のデバイスからクエリを受信し、クエリに対する応答を送信する。なお、DNSサーバ107は、サーバ装置の他、サーバ装置を含むデータセンターにより提供されたリソースを利用した仮想マシン(クラウドサービス)により実現されてもよい。
【0019】
ここで、画像処理装置101、画像処理装置102、画像処理装置103、画像処理装置104が有するmDNS機能について説明する。一般に、mDNS機能を利用することで、同一のサブネット内における名前解決を行うことができる。mDNS機能により、ローカルエリアネットワーク内の全てのデバイスに対してマルチキャストでクエリを送信し、その返答を受けることで、ローカルエリアネットワーク内のDNS名称とIPアドレスをDNSサーバ107上で重複なく決定することができる。
【0020】
本実施形態におけるmDNS機能の具体例について画像処理装置101を主体として説明する。なお、画像処理装置102、画像処理装置103、画像処理装置104も画像処理装置101と同様の機能を有する。mDNS機能を有する画像処理装置101は、同一サブネット上にあるすべてのデバイス、すなわち第1のサブネット105上に存在するすべてのデバイスに対してDNSクエリを送信し、また、他のデバイスからDNSクエリが送信されてきた際には応答を返す。さらに、画像処理装置101は、DNSサーバ107にDNSレコードを送信して自装置をDNSサーバ107に登録し、また、DNSサーバ107からDNSサーバ107に登録されているデバイスのDNSレコードを取得する。
【0021】
また、画像処理装置101は、第1のサブネット105上に存在するすべてのデバイスへ自装置の情報をアナウンスする。自装置の情報をアナウンスは、画像処理装置101は、SRV(Service)レコード、TXTレコード、PTRレコードなどを含むDNSレコードを同一サブネット内の端末と共有することで実行される。
【0022】
すなわち、画像処理装置101は、mDNSを通して第1のサブネット105上に存在するすべてのデバイスに対してクエリを送信し、クエリに対する応答としてDNS名称を含むデバイスの情報を受信する。そして、画像処理装置101は、取得した識別情報に基づいて第1のサブネット105上に存在するデバイス(例えば、画像処理装置102、画像処理装置103)のDNS名称を取得し、自装置のDNS名称と比較する。これにより、画像処理装置101は、同一のサブネット上にあるデバイスとDNS名称が重複していないか確認することができる。
【0023】
mDNSを用いたデバイス名のアナウンスは、サブネットを越えることはできない。このため、mDNSでは同一サブネット内のみの重複名称確認のみ可能であり、サブネットを越えた先のDNSサーバにデバイス名を登録する場合、DNSサーバに重複ガードがかかっていなければデバイス名の重複を回避することができない。DNSサーバに重複ガードはかかっていない場合が多く、重複ガードがかかっていない場合は、サブネット外のデバイスのデバイス名と重複した名称を登録してしまう可能性がある。
【0024】
ここで、サブネットを越えた名前解決を行う仕組みとして、DNS-SD(Domain Name System Service Discovery)が存在する。DNS―SDでは、まず、自身のDNS名称を告知したいデバイスがDNSレコードにインターフェース名や機器情報などの情報を記載し、DNSサーバに対してDNSレコードを登録する。DMSサーバはデバイスから送られてきたDNSレコードを管理する。デバイスの探索を行うPCは、DNSサーバに対して登録されているデバイス名称を問い合わせる。PCは、DNSサーバからデバイス名称を取得し、取得したデバイス名称に基づいてデバイス名称に対応するIPアドレスを取得することができる(名前解決)。
【0025】
画像処理装置101のDNS名称と同じDNS名称がDNSサーバ107に登録されてしまった場合、外部のPCなどがDNSサーバ107にアクセスして画像処理装置の検索を行った際に、複数の同一のデバイス名を持つ画像処理装置が検索されてしまう。ユーザ側からは目的の画像処理装置がどちらであるかは見分けがつかないため、ユーザを困惑させてしまう可能性がある。
【0026】
そのため、画像処理装置101がDNSサーバ107に自身のデバイス名を登録する際には、既にDNSサーバ107に登録されているデバイス名と重複しないようにする必要がある。この際、画像処理装置101は、第1のサブネット105のみならず、第2のサブネット106上に存在する情報処理装置のデバイス名とも重複しないようにする必要がある。
【0027】
図2は、画像処理装置101のハードウェア構成を示す図である。なお、画像処理装置102、画像処理装置103、画像処理装置104も画像処理装置101と同様の構成を有する。画像処理装置101は、CPU201、ROM202、RAM203、HDD204、操作部205、プリンタI/F206、通信I/F207を備える。
【0028】
CPU(Central Processing Unit)201は、端末装置全体の制御を行う。CPU201は、ROM203またはHDD204に格納されているOS(オペレーティングシステム)やアプリケーションのプログラム等を実行する。すなわち、CPU201が、読み取り可能な記憶媒体に格納されたプログラムを実行することにより、後述する処理を実行する各処理部として機能する。
【0029】
RAM(Randam Access Memory)203は、揮発性の記憶領域であって、CPU201が各種処理を行う際の一時記憶領域、ワークエリアとして使用される。CPU201はRAM203に、ROM202及びHDD204に格納された各種制御プログラムを展開する。ROM(Read Only Memory)202は、不揮発性の記憶領域であって、画像処理装置101の基本制御プログラム、OS(Operating System)、アプリケーション等の各種データを記憶する。基本制御プログラムにはブートプログラムが含まれる。CPU201は画像処理装置101の起動時、ROM202に格納されているブートプログラムを実行する。ブートプログラムは、OSのプログラムを読み出し、RAM203上に展開する。そしてCPU201は、RAM203上に展開したOSのプログラムを実行し、画像処理装置101の制御を行う。
【0030】
HDD(Hard Disc Drive)204は、記憶手段の一つであり、画像データや各種プログラムを記憶する大容量記憶部である。なお、本実施形態では記憶手段の一例としてHDD204を説明したが、これに限られるものではなく、SSD(Solid State Drive)でもよいし、メモリカードといった外部メディアを装填してデータの読出/書込が可能な装置であっても良い。
【0031】
なお、本実施形態では1つのCPU201が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のCPUやマイクロプロセッサ(MPU)、複数のRAMまたはHDDが協働して後述するフローチャートに示す各処理を実行するようにしてもよい。また、後述する処理の一部を、ハードウェア回路を用いて実行するようにしてもよい。ハードウェア回路の例としては、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等が挙げられる。
【0032】
操作部205は、表示装置および入力装置を備えており、ユーザに対して各種情報を表示し、また、ユーザによる操作/入力/指示を受け付ける。表示装置は、例えば液晶ディスプレイやタッチパネルである。入力装置は、例えば、ポインティングデバイス(例えば、タッチパッド、タッチパネルなど)、操作ボタン、キーボード等である。本実施形態では、画像処理装置101が操作部205としてタッチパネルを備えている場合を例に説明する。タッチパネルにおける入力座標と表示座標を対応付けることで、あたかもユーザがタッチパネルに表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。ユーザは、タッチパネルに表示されたユーザーインタフェース画面上で、画像処理装置101へのジョブ実行指示等の指示を行う。
【0033】
プリンタ206は、通信I/F207を介して外部から受信した印刷データに応じた画像を形成して用紙に出力したり、スキャナにセットされた原稿画像を光学的に読み取り用紙に出力したりする画像出力デバイスである。通信I/F207は、インターネットやオフィスのLAN(Local Area Network)に接続するためのネットワークインタフェースである。本実施形態では、通信I/F207は、画像処理装置101を第1のサブネット105に接続する。
【0034】
図3は、DNSレコードの一例を説明する図である。
図3(A)は、デバイスが自装置をDNSサーバ107に登録する際に送信するDNSレコードの一例である。画像処理装置101は、自装置のDNS名称を含む情報をDNSレコードの形式でDNSサーバ107に登録する。例えば、画像処理装置101はDNSレコードとして、Aレコード301、SRVレコード302、TXTレコード303をDNSサーバ107に送信する。
【0035】
画像処理装置101は、まず、DNSサーバ107に対してAレコード301の登録を行う。Aレコード301には、画像処理装置101のIPアドレスとホスト名が含まれる。画像処理装置101は、自装置のIPアドレスとホスト名記載したAレコード301を作成し、DNSサーバ107に対して送信する。
【0036】
次に画像処理装置101は、DNSサーバ107に対してSRVレコード302の登録を行う。SRVレコード302には、画像処理装置101のDNS名称とポート番号が含まれる。
図3において、DNS名称はデバイス名(Device Name)である。また、SRVレコード302には、ホスト名、ターゲットアドレス、サービス名、重さ(Weight)、優先順位(Priority)などが含まれていてもよい。第1の画像処理装置は、自装置のDNS名称と通信に利用しているポート番号とを記載したSRVレコードを作成し、DNSサーバ107に対して送信する。
【0037】
次に画像処理装置101は、DNSサーバ107に対してTXTレコード303の登録を行う。TXTレコード303には、製品名称(Product Name)、機能(Function)などのデバイスに関する情報が含まれる。例えば、製品名称には製品名、機能には画像処理装置101で実行可能なプリント、スキャンなどの機能が記載される。画像処理装置101は、自装置に関する情報を記載したTXTレコード303を作成し、DNSサーバ107に対して送信する。DNSサーバ107は、画像処理装置101から送信されたDNSレコードを登録、管理する。
【0038】
次に、情報処理装置110が画像処理装置101に関する問い合わせをDNSサーバ107に対して行う場合について説明する。
図3(B)は、DNSクエリに対する応答として作成されるレコードの一例である。まず情報処理装置110が、DNSサーバ107に対してDNSクエリを送信し、PTRレコード群を要求する。PTRレコード304は、IPアドレスからデバイス名を特定するためのDNSレコードであり、IDアドレスとDNS名称であるデバイス名が含まれる。DNSサーバ107は、DNSクエリに対する応答として、DNSサーバ107に登録されている画像処理装置に対応するPTRレコードを作成し、情報処理装置110に対して返信する。情報処理装置110はDNSサーバ107からPTRレコードを受信することによって、DNSサーバ107に登録されているデバイス一覧を取得する。次に、情報処理装置110はDNSサーバ107に対して各画像処理装置に対応するSRVレコード302およびTXTレコード303を要求するクエリを送信する。クエリを受信したDNSサーバ107は、情報処理装置110に対して要求されたSRVレコード302およびTXTレコード303を応答する。そして、画像処理装置105は、DNSサーバ107から取得したSRVレコード302およびTXTレコード303に記述された内容から、各画像処理装置に関するIPアドレス、ポート番号、画像処理装置の製品名称などの情報を取得する。
【0039】
ローカルエリアネットワーク内のDNS名称(デバイス名)の重複登録を回避するシステムとして、マルチキャストを用いた、mDNS(Multicast DNS)がある。mDNSについて、第1のサブネット105上の画像処理装置101~画像処理装置103およびネットワーク中継器108を例に説明する。
図4は、mDNSを用いたデバイス登録のシーケンス図である。mDNSにより画像処理装置101が、第1のサブネット105上の他のデバイス(画像処理装置102および画像処理装置103)のDNS名称と重複なしに自身のデバイス名を決定する。
【0040】
まずステップS401で、画像処理装置101は、ネットワーク中継器108に対して宛先をマルチキャストに指定して、DNS名称を問い合わせるDNSクエリを送信する。画像処理装置101からDNSクエリを受信したネットワーク中継器108は、ステップS402で、画像処理装置101と同一のネットワーク内にあるすべてのデバイスに対し、DNSクエリを送信する。具体例には、第1のサブネット105上にある画像処理装置102および画像処理装置103それぞれに対して、デバイス名を問い合わせるDNSクエリを送信する。
【0041】
DNSクエリを受信した画像処理装置102および画像処理装置103は、ステップS403およびステップS404で、ネットワーク中継器108を介して、DNSクエリに対する応答を送信する。具体例には、画像処理装置102および画像処理装置103はそれぞれ、ステップS403で、ネットワーク中継器108に自装置のDNS名称(Device Name)を記載した情報を返信する。ステップS404で、ネットワーク中継器108は画像処理装置102および画像処理装置103からそれぞれ受信したDNS名称を、画像処理装置101に送信する。例えば、画像処理装置102はDNS名称として「Device1」、画像処理装置103はDNS名称として「Device2」を応答する。なお、DNSクエリに対する応答としては、DNS名称の他にIPアドレスなどほかの情報が含まれていてもよい。
【0042】
ステップS405で、画像処理装置101は、自装置のDNS名称を決定する。DNS名称を決定する際、画像処理装置101は、自装置のDNS名称が他のデバイスのDNS名称と重複しないように決定する。具体例には、画像処理装置101は、ステップS404で受信したすべてのDNS名称と自装置のDNS名称を比較する。比較の結果、自装置のDNS名称と他のDNS名称が一致しなかった場合は、画像処理装置101はこのDNS名称を画像処理装置101のDNS名称として決定する。比較の結果、自装置のDNS名称と他のデバイス名称が一致した場合は、画像処理装置101は別のDNS名称を自動設定する。そして、自動設定したDNS名称と他のデバイス名称とを再び比較する。自装置のDNS名称と他のデバイス名称が一致しなくなるまでDNS名称の比較とDNS名称の自動設定を繰り返すことで、ローカルエリアネットワーク内でのDNS名の重複を回避することができる。
【0043】
自装置のDNS名称を決定した画像処理装置101は、ステップS406で、画像処理装置102および画像処理装置103に対してマルチキャストで、ステップS405で決定した自装置のDNS名称を通知する。
以上のmDNSの処理により、ローカルエリアネットワーク内では、DNS名称の重複を避けて、DNS名称を決定することができる。
【0044】
DNSサーバに重複ガードがかかっていない場合、ローカルエリアネットワーク(サブネット)外のデバイスとDNS名称が重複してしまう恐れがある。
図5および
図6を用いて、DNS名称が重複する例について説明する。
図5は、サブネット外のデバイスが存在する場合における、mDNSを用いたデバイス登録のシーケンス図である。これは、画像処理装置101がmDNSを用いてDNSサーバ107に対して名称登録を行うためのシーケンスにおいて、DNSサーバに重複ガードがかかっていない場合に、サブネット外のデバイスとDNS名称の重複が発生してしまう例を示したものである。
【0045】
画像処理装置102が新たにDNS名称を登録する例について説明する。画像処理装置102と同一のサブネット(第1のサブネット105)内に画像処理装置101が、画像処理装置102と異なるサブネット(第2のサブネット106)に画像処理装置104が存在するものとする。画像処理装置101および画像処理装置104は、予めステップ501で、自装置のDNS名称をDNSサーバ107に登録しているものとする。例えば、画像処理装置101はDNS名称として「Device1」を、画像処理装置104はDNS名称として「Device2」を登録する。
【0046】
ステップS502で、画像処理装置102はmDNSを用いて、ネットワーク中継器108(
図5では不図示)を介して、同一のサブネット内に存在するデバイスに対して、DNSクエリを送信する。例えば、画像処理装置102は、ネットワーク中継器108を介して、第1のサブネット105内にある画像処理装置101に対してDNSクエリを送信する。DNSクエリを受信した画像処理装置101はDNSクエリに対する応答として、ステップS503で、自装置のDNS名称である「Device1」を、ネットワーク中継器108を介して画像処理装置102に対して通知する。
【0047】
ステップS504で、画像処理装置102は自装置のDNS名称を決定する。DNS名称の決定方法は、
図4のステップS405と同様である。例えば、画像処理装置102はステップS503で受信した「Device1」と重複しない「Device2」を自装置のDNS名称として決定する。そして、ステップS505で、決定したDNS名称をDNSサーバ107に登録する。
【0048】
図5の例では、画像処理装置102と画像処理装置104が共に「Device2」をDNS名称としてDNSサーバ107に登録している。DNSサーバ107に重複したDNS名称が登録されていると、ユーザが画像処理装置を探索した際に画像処理装置101と画像処理装置104が同一名称で表示され区別できなくなる。
図6は、探索した画像処理装置のDNS名称が重複した例を示す図である。
【0049】
ユーザが情報処理装置110から、ローカルエリアネットワークを超えた探索が可能なDNS-SDを利用して、プリント処理を行うためのデバイスを探索した場合、第2のサブネット106を超えて探索が行われる。そのため、情報処理装置110と同一のサブネットに存在する画像処理装置104のデバイス名「Device2」と、情報処理装置110と異なるサブネットに存在する画像処理装置102のデバイス名「Device2」が両方とも探索結果として表示される。「Device2」という名称の画像処理装置が2つ表示されてしまうと、ユーザが「Device2」がいずれの画像処理装置を指すのか判別することが困難となる。このように、mDNSを用いてサブネット内ではDNS名称の重複を回避できるが、サブネット外とのDNS名称の重複は回避できず、DNS-SD等を用いてサブネット内外のデバイスが探索される場合には、DNS名称が重複して表示されてしまう。
【0050】
そこで、本実施形態では、サブネット内だけでなくサブネット外のデバイスともDNS名称が重複しないようにする。本実施形態では、まず、画像処理装置は同一サブネット上の他のデバイスのデバイス名との重複を確認し、重複していた場合はデバイス名を変更して重複を解消する。その後、同一サブネット外のデバイスのデバイス名との重複を回避するため、DNSサーバからデバイス名の一覧を取得し、自身のデバイス名と比較し、重複を検知した場合にはDNS名称を再生成するようにする。なお、同一サブネット外のデバイスとのデバイス名の重複を検知してデバイス名を再生成した場合、今度は同一サブネット上のデバイスのデバイス名が重複してしまう可能性がある。そのため、再びmDNSでローカルエリアネットワーク上でのデバイス名の重複検知および解消を行う。これにより、同一のサブネット内外のデバイスのデバイス名との重複を回避して、DNSサーバにデバイス名を登録することができる。
【0051】
同一のサブネット内外のデバイスのデバイス名との重複を回避して、DNSサーバにデバイス名を登録する処理について、
図7を用いてその詳細を説明する。
図7は、本実施形態におけるDNS名称の決定・登録処理を示すフローチャートである。
図7の画像処理装置101の処理は、ROM202またはHDD204に記憶されたプログラムがRAM203に展開され、CPU201によって制御されることにより実現される。
【0052】
まず、ステップS701で、画像処理装置101は、自装置のDNS名称(mDNS名称、デバイス名)を新たに発行する。
ステップS702およびステップS703で、画像処理装置101は、同一のサブネットワーク上で重複したDNS名称がないかを確認する。まず、ステップS702で画像処理装置101は、第1のサブネット105内にステップS701で発行したDNS名称と同じDNS名称がないかを、
図4を用いて説明したマルチキャスト(mDNS)による名称解決を用いてチェックする。画像処理装置101は、
図4のステップS401~ステップS404により、第1のサブネット105内のデバイスにDNSクエリを送信し、DNSクエリに対する応答として各デバイスのDNS名称を取得する。そして、ステップS703で、画像処理装置101は、取得したサブネット内の各デバイスのDNS名称とステップS701で発行した自装置のDNS名称を比較して、重複するDNS名称が存在しないか否か判定する。重複するDNS名称が存在しない場合はステップS705に進む。一方、重複するDNS名称が存在する場合は、ステップS704に進む。
【0053】
サブネット内に重複するDNS名称が存在する場合、ステップS704で、画像処理装置101は、サブネット内の他のデバイスと重複していた自装置のDNS名称を変更する。DNS名称の変更後、画像処理装置101はステップS702に戻り、再びDNS名称の重複がないかを確認する。DNS名称の変更をサブネット内でのDNS名称の重複がなくなるまで繰り返すことで、サブネット内での名称の重複を回避することができる。DNS名称の変更の具体例として、「Device2」というDNS名称が重複していた場合を例に説明する。例えば、「Device2(1)」、「Device2(2)」のように、元のDNS名称の後ろに数字入りの括弧を付与して、括弧内の数字をインクリメントする形で新しいDNS名称を設定してもよい。またHDD204に管理者等のユーザ操作により設定された設置場所情報が記憶されている場合、当該設置場所情報を追記する形でDNS名称の変更を試みてもよい。例えば、設置場所情報として「Kawasaki-16F」が記憶されている場合、「Device2(Kawasaki-16F)」のように元のDNS名称の後ろに設置場所情報を追記する形で新しいDNS名称を設定してもよい。画像処理装置101は、DNS名称の変更を試みる際に、設置場所情報を追記するなど、画像処理装置を使用するユーザが一目みて分かりやすいものに変更を試みる。一方、設置場所情報を追記してもDNS名称が重複する場合や、設置場所情報が登録されていない場合、カッコ内の数字をインクリメントする形でDNS名称の設定を試みる。
【0054】
サブネット内に重複するDNS名称が存在しない場合、ステップS705で、画像処理装置101は、DNSサーバ107に登録されているDNS名称を取得する。すなわち、ステップ705で、サブネット外のデバイスのDNS名称との重複をチェックする。まず、画像処理装置101は、DNSサーバ107に対して、DNS名称を要求するクエリを送信する。この際に送信されるクエリは、DNSサーバ107に登録されているすべてのDNS名称を要求するものであってもよいし、自装置のDNS名称と同一のDNS名称を要求するものであってもよい。
【0055】
画像処理装置101がDNSサーバ107に対して、すべてのDNS名称を要求するクエリを送信した場合、DNSサーバ107は、クエリに対する応答として、DNSサーバ107に登録されているすべてのDNS名称を画像処理装置101に送信する。そして、画像処理装置101は、クエリに対する応答として、DNSサーバ107からDNSサーバ107に登録されているすべてのDNS名称を取得する。
【0056】
画像処理装置101がDNSサーバ107に対して、自装置と同一のDNS名称を要求するクエリを送信した場合、DNSサーバ107は、指定されたDNS名称と同じDNS名称が存在した場合は、例えば、画像処理装置101にエラーを返却する。また、エラーではなく、重複するDNS名称が含まれるレコード(例えば、SRVレコード)を画像処理装置101に送信するようにしてもよい。
【0057】
ステップS707で、画像処理装置101は、ステップS705で取得したDNSサーバ107に登録されているDNS名称とステップS701もしくはステップS704で決定した自装置のDNS名称を比較し、DNS名称の重複が存在しないか否か確認する。重複するDNS名称が存在しない場合はステップS709に進む。一方、重複するDNS名称が存在する場合は、ステップS708に進む。
【0058】
サブネット外に重複するDNS名称が存在する場合、ステップS708で、画像処理装置101は、サブネット外の他のデバイスと重複していた自装置のDNS名称を変更する。DNS名称の変更後、画像処理装置101はステップS702に戻り、再びサブネット内のDNS名称の重複がないかを確認する。サブネット内でのDNS名称の重複がないと確認されると、ステップ705に進み、サブネット外でのDNS名称の重複がないかを確認する。なお、初回のステップS705でDNSサーバ107に対してすべてのDNS名称を取得した後に再度ステップS705を行う場合は取得済みのDNS名称との比較を行えばよく、再度DNSサーバ107にDNS名称を要求するクエリを送信する必要はない。このように、DNS名称の変更をサブネット内およびサブネット外でのDNS名称の重複がなくなるまで繰り返すことで、サブネット内外での名称の重複を回避することができる。
【0059】
サブネット内外に重複するDNS名称が存在しない場合、ステップS709で、画像処理装置101は現在のDNS名称を自装置のDNS名称として決定する。そして、ステップS710で、画像処理装置101はステップS709で決定したDNS名称をDNSサーバ107に登録する。具体例には、画像処理装置101は、ステップS709で決定したDNS名称に基づいて各種レコードを作成し、作成したレコードをDNSサーバ107に送信することで、DNSサーバ107にDNS名称を登録する。以上で、本処理を終了する。
【0060】
本処理によると、サブネット内外のデバイスのDNS名称と重複しないDNS名称をDNSサーバ107に登録することがでる。これにより、例えば、情報処理装置110がプリントを実行可能な画像処理装置を探索した場合に、デバイス名(DNS名称)が重複することを回避することができる。
【0061】
なお、サブネットを超えてDNS名称の重複を回避可能する本実施形態の制御を実行する条件を、DNS-SDに対応するプリントフレームワークが有効に設定されている場合に限定してもよい。例えば、画像処理装置が、個別のドライバをインストールしなくともワイヤレスの印刷等が可能となる、mDNSを使用するプリントフレームワークを用いた印刷機能の利用を許可する動作設定がなされている場合に、本処理を実行するようにしてもよい。mDNSを使用するプリントフレームワークは、例えばMopria(登録商標)やAirPrint(登録商標)等である。MopriaはAndroid(登録商標)に提供されており、AirPrintはiOS(登録商標)に提供されている。例えばAirPrintに対応するクライアントから印刷データを受信し印刷するAirPrint機能、Mopriaに対応するクライアントから印刷データを受信し印刷するMopria機能の利用を許可する動作設定がなされている場合、本処理を実行する。一方、DNS-SDに対応するプリントフレームワークの利用を許可しない設定がなされている場合(例えば、AirPrint機能やMopria機能の利用を許可しない動作設定がなされている場合)、本処理を実行しないよう制御する。
また、サブネットを超えた範囲に画像処理装置を公開したいかどうかは会社や組織などの運用ポリシによっても異なる。例えば、大企業などの組織の場合、設置された画像処理装置をすべてDNSサーバに登録すると、多数のプリンタが発見されてしまい、エンドユーザの探索の利便性が落ちてしまうこともある。これを鑑み、DNS-SD機能を使用するか否かを画像処理装置の動作設定として設けるようにしてもよい。当該動作設定は、管理者等のユーザ操作により行われ、HDD204に記憶される。画像処理装置は、HDD204に記憶された動作設定を読み出し、DNS-SD機能を使用する動作設定がなされていると判断すると本実施形態の制御を実行する。DNS-SD機能を使用する動作設定は、DNSサーバを利用したローカルエリアネットワークを超えた画像処理装置の探索が可能なプリントクライアントから印刷データを受信して印刷するプリント機能の利用を許可する動作設定である。また、画像処理装置は、DNS-SD機能を使用する動作設定がなされていないと判断すると、DNSサーバへDNS名称を登録する処理(S610)を行わないように制御する。この制御により、DNS-SDを使用しない場合は、DNSサーバ107へのDNS名称の登録を避けつつ、DNSサーバ107へ登録済みの他の画像処理装置や、同サブネット内の他の画像処理装置とDNS名称が重複されることを回避することができる。
【0062】
以上のように、本実施形態によれば、サブネット内およびサブネット外でのDNS名称の重複チェックを繰り返すことで、DNSサーバに対する重複したDNS名称(デバイス名)の登録を回避することができる。
【0063】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0064】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。