JP6973152B2 - 電子機器、通信システム及びプログラム - Google Patents

電子機器、通信システム及びプログラム Download PDF

Info

Publication number
JP6973152B2
JP6973152B2 JP2018023786A JP2018023786A JP6973152B2 JP 6973152 B2 JP6973152 B2 JP 6973152B2 JP 2018023786 A JP2018023786 A JP 2018023786A JP 2018023786 A JP2018023786 A JP 2018023786A JP 6973152 B2 JP6973152 B2 JP 6973152B2
Authority
JP
Japan
Prior art keywords
electronic device
domain name
identification information
dns server
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018023786A
Other languages
English (en)
Other versions
JP2019140592A (ja
Inventor
泰大 古田
敏厚 岡本
朋裕 ▲高▼橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018023786A priority Critical patent/JP6973152B2/ja
Priority to US16/274,078 priority patent/US10728211B2/en
Publication of JP2019140592A publication Critical patent/JP2019140592A/ja
Application granted granted Critical
Publication of JP6973152B2 publication Critical patent/JP6973152B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3005Mechanisms for avoiding name conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5084Providing for device mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、電子機器、通信システム及びプログラム等に関する。
ネットワークにおいて、ドメイン名とIPアドレス(Internet Protocol address)を対応付ける手法が広く知られている。IPアドレスは、例えばIPv4(Internet Protocol Version 4)であれば192.168.0.1といった数字の羅列で表記されるため、ユーザーが所望の機器のIPアドレスを正確に記憶しておくことは容易でない。ユーザーにとってわかりにくい点はIPv6(Internet Protocol Version 6)のIPアドレスを用いた場合も同様である。それに対して、ドメイン名は「printer.example.jp」のようにユーザーにとって理解しやすい文字列を用いることができる。ドメイン名とIPアドレスを対応付けることで、所望の機器にアクセスする際のユーザーの利便性向上が可能である。なお、以下ではドメイン名とIPアドレスを対応付ける処理、狭義にはドメイン名に基づいてIPアドレスを特定する処理を、名前解決と表記する。
ただし名前解決を適切に実行するためには、異なる機器間でのドメイン名の衝突を回避しなくてはならない。例えば特許文献1には、ローカルネットワーク内においてホスト名の衝突を回避する手法が開示されている。ここでのホスト名とは、ネットワーク内での各機器の名称を表す情報であり、上記の「printer.example.jp」の例であれば、「printer」がホスト名である。「example.jp」はネットワーク上の所与の領域に付けられる名前であり、狭義にはドメイン名とは「example.jp」を指す。一方、「printer.example.jp」のようにホスト名とドメイン名が省略されない情報は、FQDN(Fully Qualified Domain Name)と呼ばれる。
特開2004−328358号公報
特許文献1の手法は、ローカルネットワーク内でのホスト名の衝突を回避するのみである。スマートフォン等からモバイルネットワークを経由して電子機器へアクセスする場合のように、アクセス元の機器とアクセス先の機器とで接続されているネットワークが異なる場合、ホスト名のみを用いて通信することは困難である。この場合、グローバルで一意な名称であるドメイン名等を使用することが必要である。
また電子機器がIPアドレスをドメイン名に対応付けてDNS(Domain Name System)サーバーに登録する場合、同じドメイン名に対して異なる複数のネットワーク上の電子機器が登録を試みる可能性がある。特許文献1の手法ではローカルネットワーク内のホスト名の衝突しか回避できないため、ドメイン名の衝突は回避できない。
本発明の幾つかの態様によれば、ドメイン名に機器固有の情報を対応付けてDNSサーバーに登録することで、ドメイン名の衝突を抑制する電子機器、通信システム及びプログラム等を提供できる。
本発明の一態様は、ドメイン名、IPアドレス(Internet Protocol address)、所定機器の識別情報を互いに対応付けて記憶するDNS(Domain Name System)サーバーに、自身のドメイン名、IPアドレス、識別情報を登録可能な電子機器であって、ネットワークを介した通信を行う通信部と、前記通信部の通信制御を行う処理部と、を含み、前記処理部は、前記電子機器のドメイン名を前記DNSサーバーに登録するときに、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報の取得要求を前記DNSサーバーに対して行い、前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行う電子機器に関係する。
本発明の一態様では、電子機器は、自身のドメイン名、IPアドレス、及び識別情報を互いに対応付けて、DNSサーバーに登録可能に構成される。そしてドメイン名等の登録の前に、登録しようとするドメイン名に対応付けられた識別情報の取得要求を行い、取得した識別情報と自身の識別情報の一致判定を行う。識別情報が一致しない場合、当該識別情報に対応付けられたドメイン名は、他の電子機器が使用していると判定できるため、異なるドメイン名の登録を試行することで、ドメイン名の衝突を抑制できる。即ち、本発明の一態様によれば、DNSサーバーを用いる構成において、ドメイン名の衝突を抑制すること等が可能になる。
また本発明の一態様では、前記処理部は、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致した場合、前記電子機器のドメイン名に対応付けられたIPアドレス及び識別情報のうちの少なくとも一方を更新する処理を行ってもよい。
このようにすれば、対象としているドメイン名は自身が登録したものであると判定できるため、同じドメイン名を継続的に使用することが可能になる。
また本発明の一態様では、前記処理部は、前記電子機器のドメイン名に一致するドメイン名が前記DNSサーバーに存在しない場合、前記電子機器のドメイン名、前記電子機器のIPアドレス、前記電子機器の識別情報を互いに対応付けて前記DNSサーバーに登録する処理を行ってもよい。
このようにすれば、対象としているドメイン名はいずれの機器でも使用されていないと判定できるため、当該ドメイン名を自身のドメイン名として登録、使用することが可能になる。
また本発明の一態様では、前記処理部は、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記IPアドレス及び前記識別情報の取得要求を前記DNSサーバーに対して行い、前記IPアドレスが存在し、且つ、前記識別情報が存在しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行ってもよい。
このようにすれば、本実施形態の手法が適用されない機器がDNSサーバーを利用する場合であっても、当該機器とのドメイン名の衝突を適切に抑制することが可能になる。
また本発明の一態様では、前記処理部は、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記IPアドレス、前記識別情報、前記IPアドレスの有効期限、及び前記識別情報の有効期限の取得要求を前記DNSサーバーに対して行い、前記IPアドレスが存在し、前記識別情報が存在し、且つ、前記識別情報の有効期限が前記IPアドレスの有効期限より短いと判定された場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名を、前記電子機器のIPアドレス及び前記電子機器の識別情報に対応付けて前記DNSサーバーに登録する処理を行ってもよい。
このようにすれば、本実施形態の手法が適用されない機器がDNSサーバーを利用する場合であっても、当該機器とのドメイン名の衝突を適切に抑制することが可能になる。
また本発明の一態様では、前記DNSサーバーに登録した前記電子機器のドメイン名を記憶する記憶部をさらに含み、前記処理部は、少なくとも前記電子機器の電源投入時に、前記記憶部に記憶された前記電子機器のドメイン名を、前記DNSサーバーに再登録する処理を行ってもよい。
このように、登録済みのドメイン名を再登録の対象とすることで、同じドメイン名を継続的に利用できる蓋然性が高くなり、他の機器からのアクセスを容易にすることが可能になる。
また本発明の一態様では、前記記憶部は、不揮発性メモリーであってもよい。
このようにすれば、電源がオフにされた場合であっても、同じドメイン名を継続的に利用できる蓋然性が高くなり、他の機器からのアクセスを容易にすることが可能になる。
また本発明の他の態様は、上記のいずれかに記載の電子機器と、前記DNSサーバーと、を含む通信システムに関係する。
また本発明のさらに他の態様は、ドメイン名、IPアドレス、所定機器の識別情報を互いに対応付けて記憶するDNSサーバーに、自身のドメイン名、IPアドレス、識別情報を登録可能な電子機器を動作させるプログラムであって、ネットワークを介した通信を行う通信部と、前記通信部の通信制御を行う処理部として、前記電子機器を機能させ、前記処理部は、前記電子機器のドメイン名を前記DNSサーバーに登録するときに、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報の取得要求を前記DNSサーバーに対して行い、前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行うプログラムに関係する。
本実施形態の手法を説明するネットワーク構成図。 本実施形態の電子機器の構成例。 本実施形態の電子機器を含む通信システムの構成例。 各機器の情報の具体例。 DNSサーバーの登録状況の例。 DNSサーバーの登録状況の例。 DNSサーバーの登録状況の例。 DNSサーバーの登録状況の例。 第1の実施形態の処理を説明するフローチャート。 DNSサーバーの登録状況の例。 DNSサーバーの登録状況の例。 対応機器と非対応機器のドメイン名が衝突する場合の説明図。 第2の実施形態の処理を説明するフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
図1は、本実施形態の手法を説明するネットワーク構成例である。図1の例では、ハブH1に、i台(iは所与の整数)の電子機器EA〜EAが接続され、ハブH2にN−i台(Nはiより大きい整数)の電子機器EAi+1〜EAが接続されている。ハブH1及びハブH2は、ハブH3に接続される。図1におけるハブ(H1〜H7)は、ネットワークにおける集線装置、中継装置であり、例えばイーサネット規格(イーサネットは登録商標)に準拠したハブである。ただし、本実施形態におけるネットワーク規格はイーサネットに限定されず、他の規格に拡張可能である。
同様に、ハブH4に、j台(jは所与の整数)の電子機器EB〜EBが接続され、ハブH5にM−j台(Mはjより大きい整数)の電子機器EBj+1〜EBが接続されている。ハブH4及びハブH5は、ハブH6に接続される。
ハブH3とハブH6は、ルーターR1に接続される。ルーター(R1〜R3)とは、コンピュータネットワークにおいて、データを2以上の異なるネットワーク間に中継する通信機器であり、転送経路の選択(ルーティング)を行う。ここで、電子機器EA〜EAは、ルーターを介することなく相互に通信可能である。換言すれば、電子機器EA〜EAのうちのいずれかの機器から送信されたブロードキャストパケットは、電子機器EA〜EAの全ての機器の届くことになり、電子機器EA〜EAが、1つのセグメント(ネットワークセグメントNS1)となる。同様に、電子機器EB〜EBが、1つのセグメント(ネットワークセグメントNS2)となる。電子機器EA(pは1≦p≦Nを満たす整数)と電子機器EB(qは1≦q≦Mを満たす整数)は異なるネットワークセグメントに属するため、電子機器EAからのブロードキャストパケットは、電子機器EBには到達しない。
特許文献1は、ローカルネットワーク内、即ち1つのネットワークセグメントの中での名前解決を行う手法である。特許文献1の手法によれば、電子機器EA〜EAの間でのホスト名の衝突を回避することや、電子機器EB〜EBの間でのホスト名の衝突を回避することは可能かもしれない。
しかし特許文献1の手法にはいくつかの課題がある。第1に、特許文献1の手法では、本当にホスト名の衝突を回避できているか否かの信頼性が十分でない。特許文献1の手法では、リンクローカルオールノードマルチキャストアドレス宛にエコー要求メッセージを送信し、エコー応答メッセージが返信されるか否かで、ホスト名の衝突を判定する。ホスト名が重複しているにもかかわらず、エコー応答メッセージを返信しないような不適切な機器が、同じネットワークセグメント内に存在した場合、名前解決が適切に実行されない。
第2に、特許文献1の手法では、異なるネットワークセグメントからのアクセスを想定していない。例えば、比較的規模の大きいオフィスでは、部署ごとにネットワークセグメントを管理して、第1の部署がネットワークセグメントNS1に対応し、第2の部署がネットワークセグメントNS2に対応する、といったケースが考えられる。この例において、第2の部署のユーザーが第1の部署のコンピューターにアクセスする場合、即ち、ネットワークセグメントNS2に属する電子機器EBが、ネットワークセグメントNS1に属する電子機器EAにアクセスする場合、当該アクセスは異なるネットワークセグメントからのアクセスとなる。或いは、遠隔地に異なるオフィス(支社)を有する企業であれば、支社のユーザーがインターネットを介して、本社のコンピューターにアクセスする場合も考えられる。或いは、携帯電話等の携帯端末装置を用いて、外出中のユーザーが自社のコンピューターにアクセスする場合もある。図1の例であれば、ルーターR3がインターネットNWに接続されており、支社のコンピューターや携帯端末装置が、インターネットNWを介してネットワークセグメントNS1に属する電子機器EAにアクセスする。当該アクセスも、異なるネットワークセグメントからのアクセスとなる。これらの場合、特許文献1の手法のようにホスト名のみを用いて通信することは困難であり、グローバルで一意な名称であるドメイン名等を使用する必要がある。
これに対して、各機器のドメイン名とIPアドレスを対応付けて記憶するDNSサーバー200を用いる手法が考えられる。図1では、DNSサーバー200がハブH7に接続される例を示したが、これには限定されない。DNSサーバー200は、ネットワークセグメントNS1に含まれてもよいし、ネットワークセグメントNS2に含まれてもよいし、インターネットNW上に設けられてもよい。DNSサーバー200を用いることで、複数の機器のドメイン名を管理できるため、名前解決における信頼性向上が可能である。
しかし、所与の機器が自身のドメイン名を登録した後、当該ドメイン名に関する情報(リソースレコード)をDNSサーバー200に問い合わせた場合、「当該ドメイン名が存在する」旨を含む応答を取得することになる。一方、他の機器が同じドメイン名を既に使用している場合にも、ドメイン名に関する問い合わせに対して、「当該ドメイン名が存在する」旨を含む応答が取得される。即ち、自身が使おうとしているドメイン名がDNSサーバー200に登録済みであるという応答だけからでは、当該ドメイン名を使用してよいのか否かを判定できない。エコー応答メッセージが返信されるか否かに基づいてホスト名の衝突を回避する特許文献1の手法を、DNSサーバー200を用いる場合にそのまま適用することは難しいと言える。
また、特許文献1の手法はネットワークセグメント内のホスト名の衝突を回避するのみであり、ネットワークセグメントNS1の電子機器EAのホスト名と、異なるネットワークセグメントNS2の電子機器EBのホスト名が重複することは許されてしまう。この場合、電子機器EAがDNSサーバー200に登録しようとするドメイン名と、電子機器EBがDNSサーバー200に登録しようとするドメイン名との衝突は回避できない。
本実施形態に係る電子機器100は、ドメイン名、IPアドレス、所定機器の識別情報を互いに対応付けて記憶するDNSサーバー200に、自身のドメイン名、IPアドレス、識別情報を登録可能な電子機器であって、図2に示すように、ネットワークを介した通信を行う通信部120と、通信部120の通信制御を行う処理部110を含む。
処理部110は、電子機器100のドメイン名をDNSサーバー200に登録するときに、電子機器100のドメイン名に一致するドメイン名に対応付けられた識別情報の取得要求をDNSサーバー200に対して行う。そして処理部110は、識別情報がDNSサーバー200に存在し、且つ、取得した識別情報が電子機器100の識別情報と一致しない場合、電子機器100のドメイン名を変更し、変更後の電子機器100のドメイン名に、電子機器100のIPアドレス及び電子機器100の識別情報を対応付けてDNSサーバー200に登録する処理を行う。
ここでドメイン名とは、狭義にはFQDNであるが、これには限定されない。例えばDNSサーバー200が規定のドメイン名を自動的に補完する処理を実行可能な場合、電子機器100により登録要求が行われるドメイン名は、FQDNの一部が省略された形式であってもよい。
また電子機器100のドメイン名とは、当該電子機器100が自身を表すドメイン名として、DNSサーバー200への登録を試行するドメイン名である。即ち、電子機器100のドメイン名とは、そのまま当該電子機器100を表すドメイン名としてDNSサーバー200への登録が完了する場合もあるし、他の機器のドメイン名と衝突するため変更される場合もある。
また所定機器の識別情報とは、当該所定機器と他の機器とを識別するための情報である。識別情報は、複数の機器間で重複することがない情報、或いは重複する可能性が十分低い情報が用いられる。識別情報は、機器ごとに割り当てられるシリアルナンバーであってもよいし、MACアドレスであってもよいし、他の情報であってもよい。
DNSサーバー200は、所与のドメイン名にリソースレコードを対応付けて記憶する。リソースレコードには複数のタイプが存在し、例えばAレコードはIPv4のIPアドレスを表し、AAAAレコードはIPv6のIPアドレスを表す。また、リソースレコードにはテキスト情報を格納可能なTXTレコードがあり、機器の識別情報は、例えばTXTレコードに記憶される。
電子機器100は、図5等を用いて後述するように、"serial=xx"という文字列を含むTXTレコードの登録要求を行うことで、ドメイン名に識別情報を対応付けてDNSサーバー200に登録する。"xx"は、機器の識別情報を表す文字列である。また情報の参照段階では、電子機器100は、DNSサーバー200に対して、所与のドメイン名に対応するTXTレコードを要求するDNSパケットを送信し、DNSサーバーから返信されたDNSパケットのリソースレコードのうち、"serial="に続く部分を識別情報として認識する処理を行う。ただし、識別情報をリソースレコードに含める手法については種々の変形実施が可能である。以下、IPアドレスがAレコードに対応し、識別情報がTXTレコードに対応する例について説明する。
本実施形態の手法によれば、自身が使おうとしているドメイン名が既にDNSサーバー200に登録されている場合に、当該ドメイン名が過去に自身が登録したものであるか、他の機器が登録したものであるかを、識別情報に基づいて判定することが可能になる。DNSサーバー200に記憶されている識別情報が、自身の識別情報と一致しない場合、自身が使おうとしているドメイン名は、他の機器が登録していると判定できるため、電子機器100は、異なるドメイン名での登録を再試行する。
これにより、名前解決にDNSサーバー200を用いる構成において、電子機器100側で自動的にドメイン名の衝突を抑制することが可能になる。自動的な衝突抑制が可能であるため、あらかじめ衝突の蓋然性が低い複雑なドメイン名を用いる必要がなく、ユーザーにとって理解しやすいシンプルなドメイン名を使用できる。さらに、ドメイン名を用いるため、インターネット経由のアクセス等、他のネットワークセグメントから本実施形態の電子機器100にアクセスすることが可能になる。
図2は、電子機器100の構成の一例を示すブロック図である。電子機器100は、例えばプリンター(印刷装置)である。プリンターは、受信する印刷データ、又は、自身が記憶する印刷データに基づいて、印刷媒体に文字や画像等を印刷する装置である。或いは電子機器100は、スキャナー、ファクシミリ装置又はコピー機であってもよい。電子機器100は、複数の機能を有する複合機(MFP:Multifunction Peripheral)であってもよく、印刷機能を有する複合機もプリンターの一例である。また、本実施形態の電子機器100は、DNSサーバー200にドメイン名の登録が可能な機器であればよく、PC(Personal Computer)であってもよいし、携帯電話やタブレット端末等の携帯端末装置であってもよいし、他の機器であってもよい。
図2は、印刷機能を有する電子機器100(プリンター、複合機)を示している。電子機器100は、処理部110(プロセッサー)、通信部120(通信インターフェース)、表示部130(ディスプレイ)、操作部140(操作パネル)、印刷部150、記憶部160(メモリー)を含む。
処理部110(プロセッサー、コントローラー)は、電子機器100の各部(通信部、記憶部、印刷部等)の制御を行ったり、本実施形態の各種の処理を行ったりする。例えば処理部110は、メインCPU(Central Processing Unit)、サブCPUなどの複数のCPU(MPU、マイコン)を含むことができる。メインCPU(メイン制御基板)は、電子機器100の各部の制御や全体的な制御を行う。サブCPUは、例えば電子機器100がプリンターである場合には、印刷についての各種の処理を行う。或いは通信処理のためのCPUを更に設けてもよい。
処理部110が行う本実施形態の各処理、各機能は、ハードウェアを含むプロセッサーにより実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するメモリーにより実現できる。ここでのプロセッサーは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサーは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子で構成することができる。ここでの回路装置はIC等であり、回路素子とは抵抗やキャパシター等である。プロセッサーは、例えばCPUであってもよい。ただし、プロセッサーはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。またプロセッサーはASIC(application specific integrated circuit)によるハードウェア回路でもよい。またプロセッサーは、複数のCPUにより構成されていてもよいし、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサーは、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。
通信部120は、処理部110の制御で、所定の通信の規格に従って、ネットワークを介した通信を実行する。ここでの通信は、イーサネットの規格に準拠する通信であってもよいし、Wi−Fi(登録商標)の規格に準拠する通信であってもよいし、他の規格に準拠する通信であってもよい。またネットワークは、移動通信網、インターネット網等の公衆網、或いは固定電話網等を含むことができる。またネットワークはWAN(Wide Area Network)やLAN(Local Area Network)などにより実現でき、有線・無線を問わない。
表示部130は、各種情報をユーザーに表示するディスプレイ等で構成され、操作部140は、ユーザーからの入力操作を受け付けるボタン等で構成される。なお、表示部130及び操作部140は、例えばタッチパネルにより一体的に構成してもよい。
印刷部150は、印刷エンジンを含む。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体(紙や布)に対して、吐出ヘッドからインクを吐出することで、印刷媒体に画像を印刷する。なお、印刷エンジンの具体的構成はここで例示したものに限られず、レーザー方式でトナーにより印刷するものでもよい。
記憶部160(記憶装置、メモリー)は、データやプログラムなどの各種の情報を記憶する。処理部110や通信部120は例えば記憶部160をワーク領域として動作する。記憶部160は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置(HDD:Hard Disk Drive)などの磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、記憶部160はコンピューターにより読み取り可能な命令を格納しており、当該命令が処理部110により実行されることで、電子機器100の各部の機能が実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、処理部110のハードウェア回路に対して動作を指示する命令であってもよい。
記憶部160は、DNSサーバー200に登録した電子機器100のドメイン名を記憶する。そして処理部110は、少なくとも電子機器100の電源投入時に、記憶部160に記憶された電子機器100のドメイン名を、DNSサーバー200に再登録する処理を行う。
このようにすれば、自身のドメイン名として登録したドメイン名を適切に保持し、再登録時には保持しているドメイン名により登録要求が行われる。即ち、電子機器100のドメイン名の変更が抑制されるため、他の機器から電子機器100へアクセスする際の利便性向上が可能になる。なお、電子機器100からDNSサーバー200への登録要求は、1回のみではなく、間欠的に実行される。これにより、DNSサーバー200での登録状況を定期的にチェックすることや、DNSサーバー200に登録された情報の有効期限を延長することが可能になる。登録要求が実行されるタイミングは、例えば上述したように、電子機器100の電源投入時である。ただし、他のタイミングで登録要求が行われてもよく、所定時間が経過したこと、電子機器100で所定処理を実行したこと、ユーザーによる所定の操作入力が行われたこと等、種々のトリガーを用いて、電子機器100からDNSサーバー200への登録要求が実行されてもよい。
なお、電子機器100の電源がオフにされた場合であっても、DNSサーバー200に登録済みの自身のドメイン名の情報は保持し続けることが望ましい。ドメイン名が保持されない場合、電源のオンオフにより電子機器100のドメイン名が変化するおそれがあり、他の機器から電子機器100へのアクセスする際の利便性が低下するためである。特に電子機器100の電源投入時に再登録要求を行う処理は、電源オフ時にもドメイン名を保持していなければ実行できない。
よってドメイン名を記憶する記憶部160は、不揮発性メモリーである。これにより、電源をオフにしても登録済みのドメイン名を保持でき、同じドメイン名を継続使用できる蓋然性を高くできる。なお、電子機器100の記憶部160がROM等の不揮発性メモリーのみから構成される必要はなく、記憶部160は、不揮発性メモリーの他に揮発性メモリーを含むことが可能である。
2.処理の詳細
次に本実施形態の処理について詳細に説明する。図3は、電子機器100とDNSサーバー200を含む通信システム10の構成例である。図3の例では、通信システム10は、5つの電子機器101〜105と、DNSサーバー200を含む。ここで、電子機器101、102、103、105の4つの機器は、本実施形態の手法が適用される電子機器100である。即ち、電子機器101、102、103、105は、ドメイン名とIPアドレスに加え識別情報のDNSサーバー200への登録処理を実行可能に構成され、当該登録処理の際に、DNSサーバー200から識別情報等を取得する処理を行う。以下、本実施形態の手法が適用される電子機器100を、「対応機器」と表記する。また以下では、DNSサーバー200から情報を取得する処理を、適宜、参照処理とも表記する。
一方、電子機器104は、本実施形態の手法が適用される電子機器100とは異なる電子機器である。即ち、電子機器104は、ドメイン名とIPアドレスのDNSサーバー200への登録処理を行うが、識別情報の登録処理や参照処理を実行しない。以下、本実施形態の手法が適用されない電子機器を、「非対応機器」と表記する。
図3に示した端末装置300は、例えばスマートフォン等の携帯端末装置であって、電子機器101〜105のいずれかの機器にアクセスする機器である。図3に示したように、端末装置300は、DNSサーバー200に対して、アクセス対象機器のドメイン名に対応するIPアドレスの取得要求を行い、取得されたIPアドレスを用いて、アクセス対象機器へアクセスする。図1を用いて上述したように、端末装置300は、例えばインターネット経由でアクセス対象機器にアクセスする。
図4は、電子機器101〜105の情報の例である。機種名は、各電子機器の種類を表す。図4の例では、電子機器101〜103の機種名は「printer」であり、電子機器104〜105の機種名は「scanner」である。ここでの機種名は、電子機器の一般名称であってもよいし、メーカーが規定する製品番号であってもよいし、他の情報であってもよい。いずれにしても、ここでの機種名は当該電子機器を特定する際にユーザーにとって理解しやすいシンプルな情報であり、各電子機器は機種名をホスト名(ドメイン名の一部)として登録しようとする。ただし、機種名はシンプルであるため、図4の例のように、複数の機器で衝突が発生しやすい。
図4のIPアドレスは、電子機器101〜105のそれぞれに割り当てられたIPアドレスを表す。なお、電子機器102については、IPアドレスが"22.22.22.22"から"66.66.66.66"に変化する例を説明する。
シリアルナンバーは、電子機器101〜105の識別情報に対応する。図4の例では、説明を簡略化するために、シリアルナンバーとして2桁の数値を用いている。ただし上述したように、識別情報は、複数の機器で重複しないことが望ましく、実際にはより複雑な情報が用いられる。
登録先の設定は、電子機器101〜105が登録されるドメインを表す。ここでは、電子機器101〜105の全てが、"example.jp"というドメインに登録される。DNSサーバー200は、ルートネームサーバー、"jp"のコンテンツサーバー、"example.jp"のコンテンツサーバーを含み、電子機器101〜105のドメイン名やリソースレコードは、"example.jp"のコンテンツサーバーにより管理される。なお、DNSサーバー200は、キャッシュサーバー(フルサービスリゾルバー)を含み、電子機器101〜105や端末装置300等のDNSクライアントからの問い合わせは、キャッシュサーバーにより処理される。また、各コンテンツサーバー等は複数のサーバーによる冗長化が行われる。即ち、本実施形態におけるDNSサーバー200とは、単一のサーバーに限定されず、複数のサーバーから構成されるサーバー群(DNSサーバー群)であってもよい。電子機器100による登録処理等は、DNSサーバー群のうちの単一のサーバーに対して行われてもよいし、複数のサーバーに対して行われてもよい。なお、DNSクライアントからキャッシュサーバーへの問い合わせや、キャッシュサーバーから各コンテンツサーバーへの問い合わせについては、DNSの規格として広く知られているため、詳細な説明は省略する。
以下、図3及び図4の例を用いて、本実施形態の処理を詳細に説明する。具体的には、対応機器同士のドメイン名の衝突回避を行う手法を、第1の実施形態として説明する。第1の実施形態では、電子機器101〜103の間でのドメイン名の衝突を回避する手法を説明する。
また、通信システム10に非対応機器が含まれる場合にもドメイン名の衝突を回避することが望ましく、当該手法を第2の実施形態として説明する。第2の実施形態では、具体的には電子機器104を含む場合に、ドメイン名の衝突を回避する手法を説明する。
2.1 第1の実施形態(対応機器間の重複回避)
<衝突なしのケース>
第1の実施形態の処理手順を説明する。DNSサーバー200には、いずれの機器のドメイン名も登録されていない状態から、処理が開始されるものとする。ここで、電子機器101の電源が投入されたとする。この場合、電子機器101は、自身の機種名である"printer"を用いて、ドメイン名として、"printer.example.jp"の登録を試みる。
具体的には、電子機器101の処理部(電子機器100の処理部110)は、DNSサーバー200に対して、"printer.example.jp"のTXTレコードの取得要求を行う。ここでは、DNSサーバー200に"printer.example.jp"というドメイン名は登録されていないため、TXTレコードが存在しない。電子機器101は、DNSサーバー200から返信されるDNSパケットにTXTレコードが存在しない場合に、"printer.example.jp"というドメイン名が未登録であると判定する。より具体的には、DNSパケットのフォーマットのうち、リソースレコードの値を表すRDATAや、RDATAの長さを表すRDLENGTHを参照することで、TXTレコードが存在するか否かを判定できる。或いは、DNSサーバー200から返信されるDNSパケットのヘッダーを参照することで、ドメイン名が未登録であるかを判定してもよい。具体的には、ヘッダーのRCODEが「ドメイン名が存在しない(NXDOMAIN)」ことを表す値に設定されたDNSパケットが取得された場合に、ドメイン名が未登録であると判定する。
この場合、電子機器101は、"printer.example.jp"は他の機器に使用されておらず、自身を表すドメイン名として利用可能であると判定できる。よって処理部110は、電子機器100(電子機器101)のドメイン名に一致するドメイン名がDNSサーバー200に存在しない場合、電子機器100のドメイン名、電子機器100のIPアドレス、電子機器100の識別情報を互いに対応付けてDNSサーバー200に登録する処理を行う。このようにすれば、他の機器との衝突がないことを確認した上で、自身のドメイン名をDNSサーバー200に登録することが可能になる。その際、自身の識別情報を対応付けることで、他の対応機器による登録や、自身による再登録を適切に実行することも可能になる。
具体的には、電子機器101は、"printer.example.jp"に対応付けて、Aレコードに"11.11.11.11"を登録し、TXTレコードに"serial=11"を登録する要求をDNSサーバー200に対して実行する。図5は、電子機器101のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況を表す図である。
<衝突するケース>
図5に示した状況において、電子機器102の電源が投入されたとする。電子機器102は、ドメイン名として、"printer.example.jp"の登録を試みる。
具体的には、電子機器102の処理部110は、DNSサーバー200に対して、"printer.example.jp"のTXTレコードの取得要求を行う。図5に示したように、"printer.example.jp"のTXTレコードは既に登録済みであるため、"serial=11"という情報を含むTXTレコードが、DNSサーバー200から電子機器102に返信される。
電子機器102は、取得した"serial=11"と、自身のシリアルナンバー"22"を比較することで、識別情報が一致しないと判定できる。即ち電子機器102は、"printer.example.jp"は他の対応機器に使用されており、自身を表すドメイン名として利用できないと判定できる。
よって処理部110は、識別情報がDNSサーバー200に存在し、且つ、取得した識別情報が電子機器100(電子機器102)の識別情報と一致しない場合、電子機器100のドメイン名を変更し、変更後の電子機器100のドメイン名に、電子機器100のIPアドレス及び電子機器100の識別情報を対応付けてDNSサーバー200に登録する処理を行う。
具体的には電子機器102は、ドメイン名を"printer.example.jp"から"printer-2.example.jp"に変更し、"printer-2.example.jp"の登録を試みる。その際の手順も同様であり、電子機器102の処理部110は、DNSサーバー200に対して、"printer-2.example.jp"のTXTレコードの取得要求を行う。DNSサーバー200に"printer-2.example.jp"というドメイン名は登録されていないため、TXTレコードが存在しない。よって電子機器102は、"printer-2.example.jp"に対応付けて、Aレコードに"22.22.22.22"を登録し、TXTレコードに"serial=22"を登録する要求をDNSサーバー200に対して実行する。図6は、電子機器102のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況を表す図である。
なお、以上では変更後のドメイン名を"printer-2.example.jp"としたが、これには限定されない。ユーザーにとって理解しやすく、且つ、変更前のドメイン名と異なるドメイン名であれば、任意のドメイン名への変更が許容される。
<複数回衝突するケース>
電子機器102では、1回のドメイン名の変更により、衝突が解消され、"printer-2.example.jp"での登録が成功した。しかし状況によっては、変更後のドメイン名でも衝突が解消されない場合もある。
図6に示した状況において、電子機器103の電源が投入されたとする。電子機器103は、ドメイン名として、"printer.example.jp"の登録を試みる。
具体的には、電子機器103の処理部110は、DNSサーバー200に対して、"printer.example.jp"のTXTレコードの取得要求を行う。図6に示したように、"printer.example.jp"のTXTレコードは電子機器101により既に登録済みであるため、"serial=11"という情報を含むTXTレコードが、DNSサーバー200から電子機器103に返信される。
電子機器103は、取得した"serial=11"と、自身のシリアルナンバー"33"を比較することで、識別情報が一致しないと判定できる。即ち電子機器103は、"printer.example.jp"は他の対応機器に使用されており、自身を表すドメイン名として利用できないと判定できる。よって電子機器103は、ドメイン名を"printer.example.jp"から"printer-2.example.jp"に変更し、"printer-2.example.jp"の登録を試みる。
電子機器103の処理部110は、DNSサーバー200に対して、"printer-2.example.jp"のTXTレコードの取得要求を行う。図6に示したように、"printer-2.example.jp"のTXTレコードは電子機器102により既に登録済みであるため、"serial=22"という情報を含むTXTレコードが、DNSサーバー200から電子機器103に返信される。
電子機器103は、取得した"serial=22"と、自身のシリアルナンバー"33"を比較することで、識別情報が一致しないと判定できる。即ち電子機器103は、"printer-2.example.jp"も他の対応機器に使用されており、自身を表すドメイン名として利用できないと判定できる。よって電子機器103は、ドメイン名を再度変更する。具体的には、ドメイン名を"printer-2.example.jp"から"printer-3.example.jp"に変更し、"printer-3.example.jp"の登録を試みる。なお、"printer-3.example.jp"についても、"printer.example.jp"及び"printer-2.example.jp"と一致せず、ユーザーにとって理解しやすい他のドメイン名を用いる変形実施が可能である。
電子機器103の処理部110は、DNSサーバー200に対して、"printer-3.example.jp"のTXTレコードの取得要求を行う。DNSサーバー200に"printer-3.example.jp"というドメイン名は登録されていないため、TXTレコードが存在しない。よって電子機器103は、"printer-3.example.jp"に対応付けて、Aレコードに"33.33.33.33"を登録し、TXTレコードに"serial=33"を登録する要求をDNSサーバー200に対して実行する。図7は、電子機器103のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況を表す図である。
<自身が過去に登録しているケース>
以上では、電子機器101〜103の各機器が、初めて自身のドメイン名を登録する場合の処理について説明した。ただし各機器は、間欠的に登録処理を実行する。例えば上述したように、電子機器100の処理部110は、電子機器100の電源投入時に、記憶部160に記憶された電子機器100のドメイン名を、DNSサーバー200に再登録する処理を行う。
図7に示した状況において、電子機器101の電源が再投入されたとする。電子機器101の記憶部160は、登録済みのドメイン名である"printer.example.jp"を記憶しているため、処理部110は"printer.example.jp"の再登録を試みる。
電子機器101の処理部110は、DNSサーバー200に対して、"printer.example.jp"のTXTレコードの取得要求を行う。図7に示したように、"printer.example.jp"のTXTレコードは電子機器101自身により既に登録済みであるため、"serial=11"という情報を含むTXTレコードが、DNSサーバー200から電子機器101に返信される。
電子機器101は、取得した"serial=11"と、自身のシリアルナンバー"11"を比較することで、識別情報が一致すると判定できる。即ち電子機器101は、"printer.example.jp"は自身が登録したドメイン名であり、継続使用可能であると判定できる。
よって電子機器100(電子機器101)の処理部110は、電子機器100のドメイン名に一致するドメイン名に対応付けられた識別情報がDNSサーバー200に存在し、且つ、取得した識別情報が電子機器100の識別情報と一致した場合、電子機器100のIPアドレス、識別情報に基づいて、電子機器100のドメイン名に対応付けられたIPアドレス及び識別情報のうちの少なくとも一方を更新する処理を行う。
具体的には、電子機器101は、"printer.example.jp"に対応付けて、Aレコードに"11.11.11.11"を登録し、TXTレコードに"serial=11"を登録する要求をDNSサーバー200に対して実行する。この場合、Aレコード及びTXTレコードは、再登録要求前の状態(図7)から変化していないが、再登録要求を行うことで、各レコードの有効期限が更新される。DNSサーバー200の設定によっては、有効期限が切れることでリソースレコードが消去されてしまうが、再登録により有効期限の延長が可能になる。
なお、IPアドレスと識別情報は、いずれか一方のみを更新してもよいし、両方を更新してもよい。図12や図13を用いて後述するように、IPアドレスの有効期限と識別情報の有効期限が処理に用いられる場合もあり、その場合にはIPアドレスと識別情報の両方を更新対象とする必要がある。
<自身が過去に登録しているケース(IPアドレスが変化)>
また、機器に割り当てられるIPアドレスは変化する場合がある。可変IPアドレスでは、例えば機器がネットワークに接続されるタイミングで、IPアドレスが動的に決定されるため、接続ごとにIPアドレスが変化する可能性がある。DNS(狭義にはDDNS:Dynamic Domain Name System)では、IPアドレスが変化した場合にも同じドメイン名でアクセスを可能にするため、ドメイン名と動的に変化するIPアドレスとの対応付けが行われる。
例えば図4に示したように、電子機器102が"printer-2.example.jp"に対応付けて、Aレコードに"22.22.22.22"を登録した後、当該電子機器102のIPアドレスが"66.66.66.66"に変化した場合を考える。電子機器102の記憶部160は、登録済みのドメイン名である"printer-2.example.jp"を記憶しているため、処理部110は"printer-2.example.jp"の再登録を試みる。
電子機器102の処理部110は、DNSサーバー200に対して、"printer-2.example.jp"のTXTレコードの取得要求を行う。図7に示したように、"printer-2.example.jp"のTXTレコードは電子機器102自身により既に登録済みであるため、"serial=22"という情報を含むTXTレコードが、DNSサーバー200から電子機器102に返信される。
電子機器102は、取得した"serial=22"と、自身のシリアルナンバー"22"を比較することで、識別情報が一致すると判定できる。即ち電子機器102は、"printer-2.example.jp"は自身が登録したドメイン名であり、継続使用可能であると判定できる。
この場合、電子機器102は、"printer-2.example.jp"に対応付けて、Aレコードに変更後のIPアドレスである"66.66.66.66"を登録し、TXTレコードに"serial=22"を登録する要求をDNSサーバー200に対して実行する。図8は、電子機器102のドメイン名に関する更新が完了した時点での、DNSサーバー200の登録状況を表す図である。
<処理の流れ>
以上のように、第1の実施形態によれば、少なくとも対応機器間でのドメイン名の衝突を抑制できる。図9は、第1の実施形態に係る電子機器100の処理部110で実行される処理を説明するフローチャートである。
この処理が開始されると、電子機器100の処理部110は、DNSサーバー200に対して、自身が使おうとするドメイン名に対応する識別情報の取得要求を行う(S101)。次に処理部110はドメイン名がDNSサーバー200に存在しないか否か、具体的にはS101の取得要求に対してTXTレコードが取得されなかったか否かを判定する(S102)。
TXTレコードが存在しない場合(S102でYes)、問い合わせたドメイン名は、いずれの機器も使用していないと判定される。よって処理部110は、ドメイン名に自身のIPアドレス及び識別情報を対応付けて、DNSサーバー200に登録を要求する(S103)。
TXTレコードが存在する場合(S102でNo)、処理部110は、取得した識別情報と自身の識別情報の一致判定を行う(S104)。識別情報が一致しない場合(S104でNo)、他の対応機器が既に同じドメイン名を使用していると判定される。よって処理部110は、ドメイン名を変更し(S105)、S101に戻って、変更後のドメイン名についてDNSサーバー200に対する参照処理を実行する。
TXTレコードが存在し(S102でNo)、且つ、取得した識別情報と自身の識別情報が一致する場合(S104でYes)、当該ドメイン名は自身が登録したものであると判定される。よって処理部110は、ドメイン名に自身のIPアドレス及び識別情報を対応付けて、DNSサーバー200に登録を要求する(S103)。この場合のS103の処理は、IPアドレス及び識別情報の更新の要求に相当する。
2.2.第2の実施形態
第1の実施形態で上述した手法により、対応機器間のドメイン名の衝突を抑制可能である。ただし、ユーザーが導入する機器の全てが対応機器であるとは限らず、図3の電子機器104に示したように、通信システム10に対応機器と非対応機器が混在する場合がある。第2の実施形態では、非対応機器が混在する場合にも、ドメイン名の衝突を抑制可能な手法を説明する。
<非対応機器の登録後に対応機器の登録処理が行われるケース>
図8に示した状況において、電子機器104の電源が投入されたとする。この場合、電子機器104は、自身の機種名である"scanner"を用いて、ドメイン名として、"scanner.example.jp"の登録を試みる。電子機器104は非対応機器であるため、対応機器のように登録前に識別情報を参照する処理は実行しない。よって電子機器104は、ドメイン名が重複するか否かを問わず、"scanner.example.jp"に対応付けて、AレコードにIPアドレス"44.44.44.44"を登録する要求をDNSサーバー200に対して実行する。電子機器104は非対応機器であるため、自身の識別情報"44"をTXTレコードに登録する要求を行わない。
図8の状況では、"scanner.example.jp"が未登録であったため特に問題は生じない。図10は、電子機器104のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況を表す図である。
図10に示したように、非対応機器の登録処理では、ドメイン名に対応するAレコードは登録されるものの、TXTレコードの登録が行われない。そのため対応機器による参照処理では、ドメイン名に対応するTXTレコードが存在しないからといって、当該ドメイン名が未使用であるという判定はできない。図10の例であれば、"scanner.example.jp"に対応するTXTレコードは存在しないが、"scanner.example.jp"が未使用であると判定することは誤りである。
そこで本実施形態の処理部110は、電子機器100のドメイン名に一致するドメイン名に対応付けられたIPアドレス及び識別情報の取得要求をDNSサーバー200に対して行う。より具体的には、ドメイン名に対応するAレコード及びTXTレコードの取得を要求するDNSパケットをDNSサーバー200に送信する処理が行われる。
IPアドレスと識別情報の両方が存在しない場合、DNSサーバー200にドメイン名が存在せず、処理部110はドメイン名が衝突していないと判定する。即ち、電子機器100の処理部110は、図9のS102でYesと判定された場合と同様に、ドメイン名に対して自身のIPアドレスと識別情報を対応付けてDNSサーバー200に登録する。
これに対して、IPアドレスが存在し、且つ、識別情報が存在しない場合、図10に示したように、非対応機器が既に同じドメイン名を使用していると判定される。よって処理部110は、電子機器100のドメイン名を変更し、変更後の電子機器100のドメイン名に、電子機器100のIPアドレス及び電子機器100の識別情報を対応付けてDNSサーバー200に登録する処理を行う。
具体例を以下に示す。図10に示した状況において、対応機器である電子機器105の電源が投入されたとする。電子機器105は、ドメイン名として、"scanner.example.jp"の登録を試みる。
具体的には、電子機器105の処理部110は、DNSサーバー200に対して、"scanner.example.jp"のTXTレコード及びAレコードの取得要求を行う。図10に示したように、"scanner.example.jp"のリソースレコードとして、"44.44.44.44"というAレコードと、"serial="という文字列を含まないTXTレコードが返信される。TXTレコードは狭義には空(データなし)である。
電子機器105は、IPアドレスが存在するが識別情報が存在しないため、"scanner.example.jp"は非対応機器に使用されており、自身を表すドメイン名として利用できないと判定できる。よって電子機器105は、ドメイン名を"scanner.example.jp"から"scanner-2.example.jp"に変更し、"scanner-2.example.jp"の登録を試みる。電子機器105の処理部110は、DNSサーバー200に対して、"scanner-2.example.jp"のTXTレコード及びAレコードの取得要求を行う。DNSサーバー200に"scanner-2.example.jp"というドメイン名は登録されていないため、TXTレコードもAレコードも存在しない。よって電子機器105は、"scanner-2.example.jp"に対応付けて、Aレコードに"55.55.55.55"を登録し、TXTレコードに"serial=55"を登録する要求をDNSサーバー200に対して実行する。図11は、電子機器105のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況を表す図である。
<対応機器の登録後に非対応機器の登録処理が行われるケース>
上述したように、非対応機器の登録時にドメイン名が未使用であれば、特に問題は生じない。非対応機器の登録後に対応機器が同じドメイン名の登録を試行したとしても、対応機器側がドメイン名を変更するため、衝突を抑制できる。しかし、対応機器の登録後に、非対応機器が同じドメイン名の登録を行う場合には留意が必要となる。
例えば図8に示した状況において、対応機器である電子機器105の電源が投入されたとする。この場合、電子機器105は、自身の機種名である"scanner"を用いて、ドメイン名として、"scanner.example.jp"の登録を試みる。電子機器105の処理部110は、DNSサーバー200に対して、"scanner.example.jp"のTXTレコード及びAレコードの取得要求を行う。図8の状況では、DNSサーバー200に"scanner.example.jp"というドメイン名は登録されていないため、TXTレコードもAレコードも存在しない。よって電子機器105は、"scanner.example.jp"に対応付けて、Aレコードに"55.55.55.55"を登録し、TXTレコードに"serial=55"を登録する要求をDNSサーバー200に対して実行する。図12のA1は、電子機器105のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況のうち、ドメイン名"scanner.example.jp"に対応する部分を表す。
図12のA1が登録されている状況において、非対応機器である電子機器104の電源が投入されたとする。この場合、電子機器104は、自身の機種名である"scanner"を用いて、ドメイン名として、"scanner.example.jp"の登録を試みる。電子機器104は非対応機器であるため、対応機器のように登録前に識別情報を参照する処理は実行しない。よって"scanner.example.jp"は電子機器105により登録済みであるにも関わらず、電子機器104は、"scanner.example.jp"に対応付けて、AレコードにIPアドレス"44.44.44.44"を登録する要求をDNSサーバー200に対して実行する。
図12のA2は、電子機器104のドメイン名に関する登録が完了した時点での、DNSサーバー200の登録状況のうち、ドメイン名"scanner.example.jp"に対応する部分を表す。A2に示したように、電子機器105が先にドメイン名を登録したにもかかわらず、IPアドレス(Aレコード)が電子機器104のものに上書きされてしまう。一方、電子機器104はTXTレコードに関する登録を行わないため、TXTレコードには電子機器105の識別情報が残された状態となる。
図12のA2が登録されている状況において、対応機器である電子機器105の電源が再度投入されたとする。電子機器105は、記憶部160に記憶していた登録済みのドメイン名である"scanner.example.jp"の再登録を試みる。電子機器105の処理部110は、DNSサーバー200に対して、"scanner.example.jp"のTXTレコード及びAレコードの取得要求を行う。A2に示したように、TXTレコードとAレコードの両方が存在し、且つTXTレコードに含まれる識別情報は、電子機器105自身の識別情報"55"と一致する。
識別情報が一致するため、第1の実施形態と同様の判定であれば、電子機器105は"scanner.example.jp"が自身が登録したドメイン名であり、使用可能であると判定してしまう。図8を用いて上述したように、各機器のIPアドレスは動的に変化することがあるため、取得したIPアドレスと自身のIPアドレスが不一致であることは、ドメイン名を他の機器が使用していることの根拠にはならない。電子機器105は、"scanner.example.jp"に対応付けて、Aレコードに"55.55.55.55"を登録し、TXTレコードに"serial=55"を登録する要求をDNSサーバー200に対して実行する。結果として、DNSサーバー200の登録状況は、A2からA1に戻ってしまう。つまり、TXTレコードやAレコードの有無、及び識別情報の一致判定のみでは、対応機器と非対応機器のドメイン名の衝突を十分抑制できない場合があり得る。
よって本実施形態の処理部110は、電子機器100のドメイン名に一致するドメイン名に対応付けられたIPアドレス、識別情報、IPアドレスの有効期限、及び識別情報の有効期限の取得要求を行う。そして処理部110は、IPアドレスが存在し、識別情報が存在し、且つ、識別情報の有効期限がIPアドレスの有効期限より短いと判定された場合、電子機器100のドメイン名を変更し、変更後の電子機器100のドメイン名を、電子機器100のIPアドレス及び電子機器100の識別情報に対応付けてDNSサーバー200に登録する処理を行う。
図12に示したように、電子機器105の登録要求では、IPアドレスと識別情報の両方の登録が行われる。そのため、A1の状況では、IPアドレスの有効期限と識別情報の有効期限は等しいか、その差が十分小さいと考えられる。一方、電子機器104の登録要求ではIPアドレスが更新されるが、識別情報が更新されない。そのためA1と比較した場合、A2の状況では、識別情報の有効期限がIPアドレスの有効期限より明らかに短くなる。有効期限とは、有効期限が切れる時分を表す情報であってもよいし、有効期限が切れるまでの残り時間を表す情報であってもよい。例えば、有効期限はDNSパケットに含まれるリソースレコードのデータのうちの、TTL(Time To Live)の値が用いられる。有効期限を表す形式によらず、有効期限が短いとは、より早いタイミングで有効期限が切れることを表す。
このように電子機器100は、IPアドレスの有効期限と識別情報の有効期限を比較することで、A1のようにドメイン名を使用可能な状況であるか、A2のようにドメイン名の変更が必要な状況であるかを判定できる。これにより、非対応機器が混在する場合にも、適切にドメイン名の衝突を抑制することが可能になる。本実施形態の手法であってもA1からA2へ遷移するような非対応機器によるIPアドレスの上書きを避けることはできないが、A2の状況からA1の状況に戻ることは抑制可能である。
<処理の流れ>
図13は、第2の実施形態に係る電子機器100の処理部110で実行される処理を説明するフローチャートである。この処理が開始されると、電子機器100の処理部110は、DNSサーバー200に対して、自身が使おうとするドメイン名に対応する識別情報、IPアドレス、識別情報の有効期限、IPアドレスの有効期限の取得要求を行う(S201)。次に処理部110はドメイン名が存在しないか否か、具体的にはS201の取得要求に対してTXTレコードとAレコードの両方が取得されなかったか否かを判定する(S202)。
TXTレコードとAレコードの両方が存在しない場合(S202でYes)、問い合わせたドメイン名は、いずれの機器も使用していないと判定できるため、ドメイン名に自身のIPアドレス及び識別情報を対応付けて、DNSサーバー200に登録を要求する(S203)。
Aレコードが存在するがTXTレコードが存在しない場合(S202でNo且つS204でYes)、処理部110は、図10に示したように、非対応機器が既に同じドメイン名を使用していると判定できる。よって処理部110は、ドメイン名を変更し(S207)、S201に戻って、変更後のドメイン名についてDNSサーバー200に対する参照処理を実行する。
またAレコードとTXTレコードの両方が存在する場合(S204でNo)、処理部110は、取得した識別情報と自身の識別情報の一致判定を行う(S205)。取得した識別情報と自身の識別情報が一致しない場合(S205でNo)、他の対応機器が既に同じドメイン名を使用していると判定できる。この場合もS207の処理に移行する。
また取得した識別情報と自身の識別情報が一致する場合(S205でYes)、処理部110は、TXTレコードの有効期限とAレコードの有効期限の比較処理を行う(S206)。TXTレコードの有効期限がAレコードの有効期限よりも短いと判定された場合(S206でYes)、非対応機器が既に同じドメイン名を使用していると判定できる。この場合もS207の処理に移行する。
なお、S206の処理は、2つの有効期限を単純に比較する処理であってもよい。或いは、正の閾値を設定し、TXTレコードの有効期限がAレコードの有効期限よりも当該閾値以上短いか否かを判定する処理であってもよい。或いは、有効期限に基づいて各リソースレコードの更新タイミングを特定し、TXTレコードの更新タイミングがAレコードの更新タイミングよりも前のタイミングか否かを判定する処理であってもよい。或いは、TXTレコードの更新タイミングがAレコードの更新タイミングよりも所定閾値以上、前のタイミングか否かを判定する処理であってもよい。このように、有効期限の判定は、種々の処理により実現可能である。
S206でNoの場合、具体的にはTXTレコードの有効期限とAレコードの有効期限が等しい場合、当該ドメイン名は自身が登録したものであると判定できる。よって処理部110は、ドメイン名に自身のIPアドレス及び識別情報を対応付けて、DNSサーバー200に登録を要求する(S203)。この場合のS203の処理は、IPアドレス及び識別情報の更新の要求に相当する。
3.システム、プログラム
また本実施形態の手法は、上記の電子機器100(対応機器)と、DNSサーバー200を含む通信システムに適用できる。ここでの通信システムは、例えば図3の通信システム10の、DNSサーバー200と、対応機器である電子機器101〜103,105のうちの少なくとも1つの機器を含むシステムである。なお図3に示したように、本実施形態に係る通信システムは2以上の対応機器を含んでもよいし、非対応機器を含んでもよい。
また、本実施形態の電子機器100等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の電子機器100等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで情報記憶媒体は、コンピューターにより読み取り可能な媒体であって、プログラムやデータなどを格納する。情報記憶媒体の機能は、光ディスク(DVD、CD等)、HDD、或いはメモリーなどにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラムに基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューターを機能させるためのプログラムが記憶される。
以上、本発明を適用した実施形態及びその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
10…通信システム、100…電子機器、
101,102,103,105…電子機器(対応機器)、
104…電子機器(非対応機器)、110…処理部、120…通信部、130…表示部、
140…操作部、150…印刷部、160…記憶部、200…DNSサーバー、
300…端末装置、EA〜EA,EB〜EB…電子機器、H1〜H7…ハブ、
R1〜R3…ルーター、NS1,NS2…ネットワークセグメント、
NW…インターネット(ネットワーク)

Claims (9)

  1. ドメイン名、IPアドレス(Internet Protocol address)、所定機器の識別情報を互いに対応付けて記憶するDNS(Domain Name System)サーバーに、自身のドメイン名、IPアドレス、識別情報を登録可能な電子機器であって、
    ネットワークを介した通信を行う通信部と、
    前記通信部の通信制御を行う処理部と、
    を含み、
    前記処理部は、
    前記電子機器のドメイン名を前記DNSサーバーに登録するときに、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報の取得要求を前記DNSサーバーに対して行い、
    前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行う、
    ことを特徴とする電子機器。
  2. 請求項1において、
    前記処理部は、
    前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致した場合、前記電子機器のドメイン名に対応付けられたIPアドレス及び識別情報のうちの少なくとも一方を更新する処理を行う、
    ことを特徴とする電子機器。
  3. 請求項1又は2において、
    前記処理部は、
    前記電子機器のドメイン名に一致するドメイン名が前記DNSサーバーに存在しない場合、前記電子機器のドメイン名、前記電子機器のIPアドレス、前記電子機器の識別情報を互いに対応付けて前記DNSサーバーに登録する処理を行うことを特徴とする電子機器。
  4. 請求項1乃至3のいずれかにおいて、
    前記処理部は、
    前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記IPアドレス及び前記識別情報の取得要求を前記DNSサーバーに対して行い、
    前記IPアドレスが存在し、且つ、前記識別情報が存在しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行う、
    ことを特徴とする電子機器。
  5. 請求項4において、
    前記処理部は、
    前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記IPアドレス、前記識別情報、前記IPアドレスの有効期限、及び前記識別情報の有効期限の取得要求を前記DNSサーバーに対して行い、
    前記IPアドレスが存在し、前記識別情報が存在し、且つ、前記識別情報の有効期限が前記IPアドレスの有効期限より短いと判定された場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名を、前記電子機器のIPアドレス及び前記電子機器の識別情報に対応付けて前記DNSサーバーに登録する処理を行う、
    ことを特徴とする電子機器。
  6. 請求項1乃至5のいずれかにおいて、
    前記DNSサーバーに登録した前記電子機器のドメイン名を記憶する記憶部をさらに含み、
    前記処理部は、
    少なくとも前記電子機器の電源投入時に、前記記憶部に記憶された前記電子機器のドメイン名を、前記DNSサーバーに再登録する処理を行うことを特徴とする電子機器。
  7. 請求項6において、
    前記記憶部は、不揮発性メモリーであることを特徴とする電子機器。
  8. 請求項1乃至7のいずれかに記載の電子機器と、
    前記DNSサーバーと、
    を含むことを特徴とする通信システム。
  9. ドメイン名、IPアドレス、所定機器の識別情報を互いに対応付けて記憶するDNSサーバーに、自身のドメイン名、IPアドレス、識別情報を登録可能な電子機器を動作させるプログラムであって、
    ネットワークを介した通信を行う通信部と、
    前記通信部の通信制御を行う処理部として、
    前記電子機器を機能させ、
    前記処理部は、
    前記電子機器のドメイン名を前記DNSサーバーに登録するときに、前記電子機器のドメイン名に一致するドメイン名に対応付けられた前記識別情報の取得要求を前記DNSサーバーに対して行い、
    前記識別情報が前記DNSサーバーに存在し、且つ、取得した前記識別情報が前記電子機器の識別情報と一致しない場合、前記電子機器のドメイン名を変更し、変更後の前記電子機器のドメイン名に、前記電子機器のIPアドレス及び前記電子機器の識別情報を対応付けて前記DNSサーバーに登録する処理を行う、
    ことを特徴とするプログラム。
JP2018023786A 2018-02-14 2018-02-14 電子機器、通信システム及びプログラム Active JP6973152B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018023786A JP6973152B2 (ja) 2018-02-14 2018-02-14 電子機器、通信システム及びプログラム
US16/274,078 US10728211B2 (en) 2018-02-14 2019-02-12 Electronic apparatus, communication system, and a non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018023786A JP6973152B2 (ja) 2018-02-14 2018-02-14 電子機器、通信システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2019140592A JP2019140592A (ja) 2019-08-22
JP6973152B2 true JP6973152B2 (ja) 2021-11-24

Family

ID=67541255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018023786A Active JP6973152B2 (ja) 2018-02-14 2018-02-14 電子機器、通信システム及びプログラム

Country Status (2)

Country Link
US (1) US10728211B2 (ja)
JP (1) JP6973152B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3992157A4 (en) 2019-06-26 2022-08-17 Panasonic Intellectual Property Management Co., Ltd. WATER SOFTENING SYSTEM AND APPARATUS
JP2021197687A (ja) * 2020-06-17 2021-12-27 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
US20230388180A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Techniques for provisioning workspaces in cloud-based computing platforms

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328358A (ja) 2003-04-24 2004-11-18 Canon Inc ホスト名設定方法、プログラム、及び、通信装置
US7958246B2 (en) * 2007-08-09 2011-06-07 Kount Inc. Establishing unique sessions for DNS subscribers
US9998530B2 (en) * 2013-10-15 2018-06-12 Nicira, Inc. Distributed global load-balancing system for software-defined data centers
US20160021055A1 (en) * 2014-06-05 2016-01-21 Bluecat Networks, Inc. Methods and systems for implementing very large dns zones
US9762556B2 (en) * 2015-01-09 2017-09-12 Verisign, Inc. Registering, managing, and communicating with IOT devices using domain name system processes
KR101589413B1 (ko) * 2015-07-17 2016-01-28 성균관대학교산학협력단 IoT 디바이스에 대한 DNS 네이밍 방법
US9882868B1 (en) * 2017-01-26 2018-01-30 Red Hat, Inc. Domain name system network traffic management
US10944632B2 (en) * 2017-06-22 2021-03-09 Texas Instruments Incorporated Accelerated network reconnect using previous connection parameters
US11283624B2 (en) * 2017-07-31 2022-03-22 Verisign, Inc. Systems and methods for preserving privacy of a registrant in a domain name system (“DNS”)
US10666494B2 (en) * 2017-11-10 2020-05-26 Nyansa, Inc. System and method for network incident remediation recommendations

Also Published As

Publication number Publication date
US10728211B2 (en) 2020-07-28
JP2019140592A (ja) 2019-08-22
US20190253384A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
US10148612B2 (en) Method and system for increasing speed of domain name system resolution within a computing device
JP6973152B2 (ja) 電子機器、通信システム及びプログラム
US7152099B1 (en) Friend configuration and method for network devices
US7990936B2 (en) Method and apparatus for acquiring IP address in DHCP environment
US7609690B2 (en) Network system, communication method for use in network system and host device
US8886776B2 (en) Communication apparatus and storing medium
KR20040065643A (ko) IPv6 프로토콜을 위한 IP 주소 및 도메인명자동등록 방법
JP2008028914A (ja) 通信負荷低減装置、通信負荷低減方法、及びプログラム
JP2006254137A (ja) ユーザ端末管理装置とユーザ端末管理プログラム及びユーザ端末管理システム
EP2888863B1 (en) Method and apparatus for configuring dhcp client
JP4979294B2 (ja) 通信制御装置、及びその制御方法
JP3812285B2 (ja) ネットワークシステム及びネットワーク機器
US8516141B2 (en) Method and system for modifying and/or changing a MAC ID utilizing an IPv6 network connection
JP7463095B2 (ja) 通信装置、通信装置の制御方法及びプログラム
US11012405B2 (en) Distributing address resolution messages
JP4443482B2 (ja) インターネット印刷システム及びそれを実現するためのプログラム
US8995441B2 (en) Communication apparatus, communication method, and non-transitory computer readable storage medium
JP2007201740A (ja) ネットワーク機器
CN108076025B (zh) 网络设备的注册方法和装置
US10412177B2 (en) Method and system of using IPV6 neighbor discovery options for service discovery
JP2005229309A (ja) 通信経路設定装置、通信経路設定方法および通信経路設定プログラム
US11784966B2 (en) Information processing device, control method for information processing device, and recording medium, that suppress duplication of a device name in a DNS server
JP2019068208A (ja) Dnsサーバ装置、方法、及びプログラム
JP2018173779A (ja) 通信装置
JP2007088902A (ja) ネットワークシステム、プログラム、並びに記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6973152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150