JP5093277B2 - 通信装置及びコンピュータプログラム - Google Patents

通信装置及びコンピュータプログラム Download PDF

Info

Publication number
JP5093277B2
JP5093277B2 JP2010075538A JP2010075538A JP5093277B2 JP 5093277 B2 JP5093277 B2 JP 5093277B2 JP 2010075538 A JP2010075538 A JP 2010075538A JP 2010075538 A JP2010075538 A JP 2010075538A JP 5093277 B2 JP5093277 B2 JP 5093277B2
Authority
JP
Japan
Prior art keywords
address
specific
communication
setting
specific device
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
JP2010075538A
Other languages
English (en)
Other versions
JP2011209889A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010075538A priority Critical patent/JP5093277B2/ja
Priority to US13/051,502 priority patent/US8886776B2/en
Publication of JP2011209889A publication Critical patent/JP2011209889A/ja
Application granted granted Critical
Publication of JP5093277B2 publication Critical patent/JP5093277B2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Description

本明細書によって開示される技術は、他のデバイスとネットワークを介して接続される通信装置に関する。
特許文献1には、プリンタのためのプリンタドライバをコンピュータにインストールするための技術が開示されている。プリンタドライバがコンピュータにインストールされる際に、コンピュータは、プリンタのプリンタ名、プリンタのIPアドレス等を取得する。なお、プリンタのIPアドレスが、DHCP(Dynamic Host Configuration Protocol)サーバによって割り当てられる場合には、プリンタのIPアドレスが更新される可能性がある。従って、コンピュータは、プリンタとユニキャスト通信を実行すべき際に、取得済みのプリンタ名を用いて、名前解決(例えばDNS(Domain Name system)サーバによる名前解決)を実行し、プリンタの現在のIPアドレスを取得する。コンピュータは、プリンタの現在のIPアドレスを用いて、プリンタとユニキャスト通信を実行する。
特開2000−330742号公報
例えば、複数のDHCPサーバが同一のLANに接続される可能性がある。この場合、第1のDHCPサーバが、第1のネットワークアドレスを含むIPアドレスをプリンタに割り当て、第2のDHCPサーバが、第1のネットワークアドレスと異なる第2のネットワークアドレスを含むIPアドレスをコンピュータに割り当てる可能性がある。このような状況が発生すると、例えば、コンピュータが名前解決によってプリンタの現在のIPアドレスを取得しても、そのIPアドレスのネットワークアドレスは、コンピュータのIPアドレスのネットワークアドレスと異なる。従って、コンピュータが、プリンタの現在のIPアドレスを用いて、プリンタとユニキャスト通信を実行しようとしても、その通信が失敗する可能性が高い。即ち、従来の技術によると、コンピュータとプリンタとの間でユニキャスト通信を実行することができない事態が発生し得る。
本明細書では、通信装置が他のデバイスとのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る技術を開示する。
本明細書では、特定のデバイスとネットワークを介して接続される通信装置を開示する。通信装置は、前記特定のデバイスを識別するための特定のデバイス識別情報を取得するデバイス識別情報取得部と、前記特定のデバイスに設定された特定のIPアドレスを取得するIPアドレス取得部と、前記特定のIPアドレスを用いて、前記特定のデバイスと通信する通信部と、前記通信装置に現在設定されている現在のIPアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなIPアドレスを生成する生成部と、前記特定のIPアドレスを用いた前記特定のデバイスとの通信が失敗する場合に、前記特定のデバイス識別情報と、前記新たなIPアドレスと、特定の指示と、を含む設定パケットを、前記ネットワークにブロードキャストする設定部と、を備え、前記特定の指示は、前記設定パケットを受信する受信側デバイスのIPアドレス設定手法が、前記ネットワークに接続されているDHCPサーバから割り当てられるIPアドレスを前記受信側デバイスに設定する第1の設定手法である場合に、前記受信側デバイスを識別するためのデバイス識別情報と、前記設定パケットに含まれる前記特定のデバイス識別情報と、が一致することを条件として、前記受信側デバイスのIPアドレス設定手法を、前記第1の設定手法から、固定的なIPアドレスを前記受信側デバイスに設定する第2の設定手法に変更させるための指示であり、前記設定部は、前記設定パケットをブロードキャストすることにより、前記受信側デバイスである前記特定のデバイスのIPアドレス設定手法を、前記第1の設定手法から、前記第2の設定手法に変更させて、前記設定パケットに含まれる前記新たなIPアドレスを、前記固定的なIPアドレスとして、前記特定のデバイスに新たに設定させる。
本明細書によって開示される一つの形態では、通信装置は、デバイス識別情報取得部と、IPアドレス取得部と、通信部と、生成部と、設定部とを備える。デバイス識別情報取得部は、特定のデバイスを識別するための特定のデバイス識別情報を取得する。IPアドレス取得部は、特定のデバイスに設定された特定のIPアドレスを取得する。通信部は、特定のIPアドレスを用いて、特定のデバイスと通信する。生成部は、通信装置に現在設定されているIPアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなIPアドレスを生成する。設定部は、特定のIPアドレスを用いた特定のデバイスとの通信が失敗する場合に、特定のデバイス識別情報と、新たなIPアドレスと、を含む設定パケットであって、設定パケットを受信する受信側デバイスを識別するためのデバイス識別情報と、設定パケットに含まれる特定のデバイス識別情報と、が一致することを条件として、設定パケットに含まれる新たなIPアドレスが受信側デバイスに新たに設定されるように、受信側デバイスに指示する設定パケットを、ネットワークにブロードキャストする。
上記の構成によると、通信装置は、特定のIPアドレスを用いた特定のデバイスとの通信が失敗する場合、即ち、特定のデバイスとのユニキャスト通信が失敗する場合に、設定パケットをネットワークにブロードキャストする。特定のデバイスとのユニキャスト通信が失敗する場合であっても、宛先が不特定であるブロードキャスト通信であれば、特定のデバイスが、設定パケットを受信し得る。このために、特定のデバイスに新たなIPアドレスが設定され得る。この場合、さらに、特定のデバイスに設定された新たなIPアドレスのネットワークアドレスと、通信装置の現在のIPアドレスのネットワークアドレスと、が同一であるため、特定のデバイスと通信装置とは、同じネットワークを介して、ユニキャスト通信を実行することができる。上記の構成によると、通信装置が特定のデバイスとのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る。
デバイス識別情報取得部は、特定のデバイスのためのデバイスドライバが通信装置にインストールされる際に、特定のデバイスから特定のデバイス識別情報を取得してもよい。また、デバイスドライバによって実現される通信部が、特定のデバイスに特定のコマンドを送信した場合であって、特定のコマンドを特定のデバイスに正常に送信できなかった場合に、設定部は、設定パケットをネットワークにブロードキャストしてもよい。この構成によると、通信装置は、デバイスドライバが通信装置にインストールされる際に、即ち、通信部が実現される際に、特定のデバイスから特定のデバイス識別情報を取得することができる。従って、仮に、通信部が実行する特定のデバイスとのユニキャスト通信が失敗する際には、通信装置は、特定のデバイス識別情報を確実に取得している。このために、通信装置は、特定のデバイスとのユニキャスト通信が失敗する場合に、特定のデバイス識別情報を含む設定パケットをブロードキャストすることができる。
設定部は、さらに、通信が失敗する場合に、所定のパケットをネットワークにブロードキャストすることによって、特定のデバイスを探索してもよい。設定部は、探索の結果、特定のデバイスが見つからない場合に、設定パケットをネットワークにブロードキャストしてもよい。上記の探索の結果、特定のデバイスが見つからない場合には、特定のデバイスの現在のIPアドレスのネットワークアドレスと、通信装置の現在のIPアドレスのネットワークアドレスと、が異なる状況が発生している可能性がある。即ち、このような状況では、ブロードキャストされた所定のパケットを受信した特定のデバイスが、ユニキャスト通信を用いて、応答を通信装置に送信しようとしても、その応答が通信装置に正常に送信されないために、特定のデバイスが見つからない。上記の構成によると、特定のデバイスの現在のIPアドレスのネットワークアドレスと、通信装置の現在のIPアドレスのネットワークアドレスと、が異なる状況が発生していることが予想される場合に、通信装置は、特定のデバイスに新たなIPアドレスを設定し得る。
さらに、生成部は、探索の結果、特定のデバイスが見つからない場合に、新たなIPアドレスを生成してもよい。この構成によると、特定のデバイスが見つからないことが確認される前に、新たなIPアドレスを生成して保存しておく構成と比べると、通信装置のリソースの負荷(例えばメモリの負荷、IPアドレスの生成負荷)を低減させ得る。
通信部は、さらに、探索の結果、特定のデバイスからの応答がある場合に、応答に含まれるIPアドレスを用いて、特定のデバイスと通信してもよい。上記の探索の結果、特定のデバイスからの応答がある場合には、特定のデバイスの現在のIPアドレスのネットワークアドレスと、通信装置のIPアドレスのネットワークアドレスと、が一致しているが、通信装置が取得した特定のIPアドレス(特定のデバイスに設定されたIPアドレス)と、特定のデバイスの現在のIPアドレスと、が異なる状況が発生している可能性がある。上記の構成によると、通信装置は、特定のデバイスの現在のIPアドレスを取得することができ、そのIPアドレスを用いて、特定のデバイスとユニキャスト通信を実行することができる。
設定パケットは、受信側デバイスを識別するためのデバイス識別情報と、特定のデバイス識別情報と、が一致することを条件として、新たなIPアドレスが、固定的なIPアドレスとして、受信側デバイスに新たに設定されるように、受信側デバイスに指示するパケットであってもよい。この構成によると、特定のデバイスに設定される新たなIPアドレスは、特定のデバイスのユーザがIPアドレスの変更を指示しない限り、変更されない。このために、特定のデバイスのIPアドレスが変更されることに起因して、特定のデバイスとのユニキャスト通信が再び失敗するような事態が発生するのを抑制することができる。
通信部は、さらに、設定パケットがブロードキャストされた後に、新たなIPアドレスを用いて、特定のデバイスと通信することによって、新たなIPアドレスが特定のデバイスに新たに設定されたのか否かを確認してもよい。仮に、特定のデバイスが、設定変更が完了したか否かの通知パケットを通信装置に送れない場合であっても、通信装置は、新たなIPアドレスが特定のデバイスに新たに設定されたのか否かを確認することができる。
なお、上記の通信装置を実現するための制御方法及びコンピュータプログラムも、新規で有用である。
通信システムの構成の一例を示す。 インストーラ処理のフローチャートを示す。 通信処理のフローチャートを示す。 探索処理のフローチャートを示す。 生成処理のフローチャートを示す。 プリンタ処理のフローチャートを示す。
(システムの構成)
図面を参照して実施例を説明する。図1に示されるように、通信システム2は、PC10と、ブロードバンドルータ60と、DNSサーバ62と、プリンタ70と、を備える。各デバイス10、60、62、70は、LAN4に接続されている。各デバイス10等は、LAN4を介して、相互に通信可能である。ブロードバンドルータ60は、さらに、インターネット6に接続されている。なお、図1に示される無線アクセスポイント(以下では、「AP」と省略して呼ぶ)64は、後で説明するプリンタドライバのインストーラ処理(図2参照)が終了した後に、LAN4に接続される。
(PC10の構成)
PC10は、操作部12と、表示部14と、ネットワークインターフェイス16と、情報読取部18と、記憶部30と、制御部40と、を備える。操作部12は、マウスとキーボードとによって構成される。ユーザは、操作部12を操作することによって、様々な指示をPC10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス16は、LAN4に接続されている。
情報読取部18は、メディア20に格納されているデータ(インストーラ22、プリンタドライバ24、修復プログラム26)を読み取る。メディア20は、データを格納するためのCD、DVD等の媒体であり、プリンタ70のベンダによって製造されたものである。メディア20は、プリンタ70の出荷時には、プリンタ70と共にパッケージされている。メディア20には、プリンタ70のためのプリンタドライバ24と、修復プログラム26と、プリンタドライバ24及び修復プログラム26をインストールするためのインストーラ22と、が格納されている。
記憶部30は、PC10のIPアドレス及びサブネットマスク32と、PC10のデフォルトのゲートウェイアドレス(図示省略)と、プリンタ70のIPアドレス34と、プリンタ70のノード名36と、プリンタ70のMACアドレス38と、を記憶する。記憶部30は、さらに、PC10のためのOS(Operating System)プログラム(図示省略)を記憶する。また、記憶部30は、さらに、インストール処理(図2参照)によって、メディア20から読み取られた上記のプリンタドライバ24と修復プログラム26とを記憶する。制御部40は、記憶部30内のプログラム24、26に従って、様々な処理を実行する。制御部40が記憶部30内のプログラム24、26に従って処理を実行することによって、各部42〜50の機能が実現される。
(プリンタ70の構成)
プリンタ70は、印刷実行部72と、記憶部74と、制御部78と、ネットワークインターフェースと、を備える。印刷実行部72は、インクジェットヘッド方式、レーザ方式等の印刷機構を備え、制御部78からの指示に従って印刷を行う。記憶部74は、制御部78によって実行されるプログラム76を記憶する。プログラム76は、制御部78が後述するプリンタ処理(図6参照)等の各種処理を実行するためのプログラムを含む。なお、プリンタ70は、印刷機能に加えて、スキャナ機能、コピー機能、FAX機能、電話機能等をさらに有する多機能機(PC10の周辺機器)であってもよい。
(ブロードバンドルータ60の構成)
ブロードバンドルータ60は、LAN4とインターネット6とに接続されており、LAN4側とWAN側(インターネット6側)との間の通信を中継する機能を有する。さらに、ブロードバンドルータ60は、LAN4に接続されているデバイス群の間の通信をルーティングする機能を有する。ブロードバンドルータ60は、さらに、DHCP機能を備えており、LAN4に接続されている各デバイス(PC10、プリンタ70等)にIPアドレスを割り当てる。ブロードバンドルータ60が割り当て可能なIPアドレスの範囲は、予め決められている。本実施例では、ブロードバンドルータ60は、「192.168.1.2〜254」の範囲内のIPアドレスを割り当て可能である。IPアドレス「192.168.1.1」は、ブロードバンドルータ60が自己のIPアドレス(ゲートウェイアドレス)として使用する。ブロードバンドルータ60は、デバイス10、70等からの要求に応じて、LAN4に接続されている他のデバイスに設定されていないIPアドレスと、LAN4で利用されているサブネットマスクと、ブロードバンドルータ60のIPアドレス(即ち上記のゲートウェイアドレス)と、をデバイス10、70等に送信する。この結果、デバイス10、70等は、ブロードバンドルータ60から送信されるIPアドレスを、自己のIPアドレスとして設定する。さらに、デバイス10、70等は、ブロードバンドルータ60から送信されるサブネットマスク及びゲートウェイアドレスを、自己のサブネットマスク及びゲートウェイアドレスとして設定する(例えば、PC10は、それらの情報を記憶部30に記憶させる)。
なお、本実施例では、LAN4で利用されているサブネットマスクは、「255.255.255.0」である。即ち、LAN4で利用されているサブネットマスクは、最初の24ビットをマスクするためのサブネットマスクである。従って、ブロードバンドルータ60が割り当て可能なIPアドレス「192.168.1.2〜254」のうち、最初の24ビット(「192.168.1」の部分)が、ネットワークアドレスに相当し、最後の8ビットが、ホスト部に相当する。なお、本実施例では、LAN4に接続されている各デバイス10、70等は、IPアドレスの割り当てを定期的に(例えば1時間毎に)ブロードバンドルータ60に要求する。
(AP64の構成)
上述したように、本実施例では、AP64は、インストーラ処理(図2参照)の終了後に、LAN4に接続される。AP64は、図1に示されていない他の無線通信デバイス群の間の無線通信を中継する機能を有する。AP64は、さらに、ブロードバンドルータ60と同様に、LAN4側とWAN側との間の通信を中継する機能と、LAN4に接続されているデバイス群の間の通信をルーティングする機能を有する。AP64も、ブロードバンドルータ60と同様に、DHCP機能を備えており、IPアドレスと、サブネットマスクと、ゲートウェイアドレス(AP64のIPアドレス)と、を他のデバイスに送信する。本実施例では、AP64は、「192.168.2.2〜254」の範囲内のIPアドレスを割り当て可能である。即ち、AP64が割り当て可能なIPアドレスのネットワークアドレス「192.168.2」は、ブロードバンドルータ60が割り当て可能なIPアドレスのネットワークアドレス「192.168.1」と異なる。
(DNSサーバ62の構成)
DNS(Domain Name System)サーバ62には、デバイス(例えばPC10、プリンタ70)のノード名と、デバイスのIPアドレスと、が対応づけて登録される。例えば、PC10は、ブロードバンドルータ60(又はAP64)からIPアドレスが割り当てられると、PC10のノード名と、割り当てられたIPアドレスと、をDNSサーバ62に送信する。この結果、DNSサーバ62には、PC10のノード名と、PC10のIPアドレスと、が対応づけて登録される。同様に、プリンタ70は、ブロードバンドルータ60(又はAP64)からIPアドレスが割り当てられると、プリンタ70のノード名と、割り当てられたIPアドレスと、をDNSサーバ62に登録する。LAN4に接続されているデバイス(例えばPC10)は、当該デバイスが通信すべき対象デバイス(例えばプリンタ70)のノード名をDNSサーバ62に送信することによって、当該ノード名に対応づけられている対象デバイスのIPアドレスを、DNSサーバ62から取得することができる。
(PC10が実行する処理)
続いて、図2〜図5を参照して、PC10の制御部40が実行する各処理の内容について説明する。
(インストーラ処理)
まず、図2を参照して、インストーラ処理について説明する。ユーザは、プリンタ70のためのプリンタドライバ24がPC10にインストールされることを望む場合に、メディア20を情報読取部18内に格納し、操作部12において所定の操作を実行する。これにより、制御部40は、情報読取部18を起動してメディア20内のデータを読み取る。制御部40は、メディア20内のインストーラ22に従って、図2のインストーラ処理を実行する。
まず、デバイス識別情報取得部42は、所定のコマンドをLAN4にブロードキャストする。上記の所定のコマンドを受信した各デバイス(プリンタ70等)は、自身のMACアドレスと、ノード名と、IPアドレスと、モデル名と、を含む応答をPC10に送信する。この結果、デバイス識別情報取得部42は、各デバイス(プリンタ70等)のMACアドレスと、ノード名と、IPアドレスと、プリンタのモデル名と、を取得する(S10)。上記のインストーラ22には、プリンタ70のモデル名が記述されている。デバイス識別情報取得部42は、取得した各デバイスのモデル名から、インストーラ22に記述されたプリンタ70のモデル名と合致するモデル名(即ちプリンタ70のモデル名)を選択する。なお、インストーラ22には、プリンタ70のための複数個のモデル名が記述されていてもよい。その場合には、デバイス識別情報取得部42は、取得した各デバイスのモデル名のうちから、インストーラ22に記述されている上記の複数個のモデル名のいずれかと合致するモデル名を選択する。その結果、複数個のプリンタが選択される場合には、デバイス識別情報取得部42は、選択された複数個のプリンタに関する複数個の情報(MACアドレス、ノード名、IPアドレス)を示すリストを表示部14に表示し、ユーザにプリンタドライバ24のインストールを希望するプリンタを選択することを許容する。次いで、制御部40は、プリンタ70に関するプリンタドライバ24及び修復プログラム26を記憶部30に格納する(S12)。これにより、プリンタドライバ24及び修復プログラム26がPC10にインストールされる。次いで、デバイス識別情報取得部42は、S10で取得済みの、プリンタ70のMACアドレスと、ノード名と、IPアドレスと、モデル名と、を記憶部30に記憶させる(図1の符号36、38参照)(S14)。S14を終えると、インストーラ処理が終了する。
(通信処理)
続いて、図3を参照して、通信処理について説明する。なお、制御部40は、プリンタドライバ24に従って、図3のS20〜S24の処理を実行する。また、制御部40は、修復プログラム26に従って、図3のS26〜S42の処理を実行する。ユーザは、PC10の操作部12を操作することによって、所望のファイルが表わす画像をプリンタ70に印刷させるための印刷指示を、PC10に入力することができる。この場合、制御部40は、S20でYESと判断し、S21に進む。
S21では、IPアドレス取得部44(図1参照)は、OSプログラムに含まれる名前解決プログラムを起動させる。これにより、名前解決プログラムによって実現されるモジュールが、記憶部30に記憶されているプリンタ70のノード名38を含むコマンドをDNSサーバ62に送信する。当該コマンドを受信したDNSサーバ62は、プリンタ70のノード名38に対応づけて登録されているプリンタ70のIPアドレスを含む応答をPC10に送信する。この結果、IPアドレス取得部44が、プリンタ70の現在のIPアドレスを取得する。なお、IPアドレス取得部44は、取得済みのプリンタ70のIPアドレスを、記憶部30に記憶させる(図1の符号34参照)。
次いで、通信部46(図1参照)は、印刷データをプリンタ70に送信することを試行する(S22)。具体的には、通信部46は、S21で取得されたプリンタ70のIPアドレス34を送信先として、印刷データをユニキャスト送信することを試行する。通信部46は、通信が成功したか否かを監視する(S24)。プリンタ70が印刷データを正常に受信した場合には、プリンタ70は、印刷データを受信した旨の応答をPC10に送信する。応答が受信される場合には、通信部46は、S24でYESと判断する。この場合、通信処理が終了する。一方、プリンタ70が印刷データを正常に受信しなかった場合には、プリンタ70は、上記の応答をPC10に送信できない。上記の応答が受信されない場合には、通信部46は、S24でNOと判断し、S26に進む。
同じDHCPサーバがPC10とプリンタ70の両方にIPアドレスを割り当てる場合には、通常、S22の通信処理(ユニキャスト通信)が成功する(S24でYES)。例えば、AP64がLAN4に接続される前の段階では、1個のDHCPサーバ(ブロードバンドルータ60)のみがLAN4に接続されているために、同じDHCPサーバがPC10及びプリンタ70の両方にIPアドレスを割り当てる。この場合、PC10及びプリンタ70のそれぞれに、「192.168.1」のネットワークアドレスを含むIPアドレスが割り当てられる。PC10及びプリンタ70が同じネットワークアドレスを有するために、S22の通信処理が成功する。
しかしながら、例えば、AP64がLAN4に接続されると、複数個のDHCPサーバ(ブロードバンドルータ60及びAP64)がLAN4に接続されている状況が発生する。この場合、例えば、ブロードバンドルータ60がPC10にIPアドレス(例えば「192.168.1.2」)を割り当て、AP64がプリンタ70にIPアドレス(例えば「192.168.2.2」)を割り当てる可能性がある(以下では「第1の状況」と呼ぶ)。第1の状況では、S22の通信処理において、通信部46は、プリンタ70のIPアドレス(例えば「192.168.2.2」)を送信先として、印刷データを送信する。この印刷データは、PC10のゲートウェイであるブロードバンドルータ60に送信される。ブロードバンドルータ60は、自身のネットワークアドレス(即ち自身が割り当て可能なIPアドレスのネットワークアドレス)「192.168.1」と、印刷データの送信先のネットワークアドレス「192.168.2」と、が異なるために、印刷データをWAN側(インターネット6側)に送信する可能性がある。この場合、プリンタ70が印刷データを受信しないために、プリンタ70が応答を送信せず、この結果、PC10が応答を受信することができないために、S24でNOと判断される。
また、AP64がLAN4に接続されると、上記の例とは逆に、ブロードバンドルータ60がプリンタ70にIPアドレス(例えば「192.168.1.2」)を割り当て、AP64がPC10にIPアドレス(例えば「192.168.2.2」)を割り当てる可能性がある(以下では「第2の状況」と呼ぶ)。第2の状況では、S22の通信処理において、通信部46は、プリンタ70のIPアドレス(例えば「192.168.1.2」)を送信先として、印刷データを送信する。印刷データは、PC10のゲートウェイであるAP64に送信される。AP64は、自身のネットワークアドレス「192.168.2」と、印刷データの送信先のネットワークアドレス「192.168.1」と、が異なるために、印刷データをWAN側(インターネット6側)に送信する可能性がある。この場合、プリンタ70が印刷データを受信しないために、プリンタ70が応答を送信せず、この結果、PC10が応答を受信することができないために、S24でNOと判断される。
S26では、制御部40は、図4の探索処理を実行する。図4に示されるように、設定部50(図1参照)は、探索パケットをLAN4にブロードキャストする(S50)。ユニキャスト通信の場合と異なり、宛先が不特定であるブロードキャスト通信の探索パケットは、LAN4に接続されている各デバイス(プリンタ70等)で受信される。探索パケットを受信した各デバイスは、自身のノード名と、自身に現在割り当てられているIPアドレスと、モデル名と、MACアドレスと、を含む応答パケットを、PC10にユニキャスト送信する。設定部50は、各デバイスから送信される当該応答パケットを受信することを監視する(S52)。ここでYESの場合、設定部50は、各応答パケットに含まれるIPアドレスと、モデル名と、MACアドレスと、を図示省略のリストに追加する(S54)。S54を終えると、設定部50は、S52に戻り、応答パケットの受信を再び監視する。一方、S52でNOの場合、S56に進む。
例えば、上記の第1の状況及び第2の状況では、PC10のネットワークアドレスと、プリンタ70のネットワークアドレスと、が異なる。従って、プリンタ70が応答パケットをPC10にユニキャスト送信しても、PC10は、プリンタ70からの応答パケットを受信することができない。第1の状況では、プリンタ70のゲートウェイであるAP64が、応答パケットをWAN側に送信し、第2の状況では、プリンタ70のゲートウェイであるブロードバンドルータ60が、応答パケットをWAN側に送信するからである。
一方において、PC10のネットワークアドレスと、プリンタ70のネットワークアドレスと、が一致する場合には、PC10は、プリンタ70から送信される応答パケットを受信することができる。
なお、図3のS24でNOと判断され、かつ、図4のS52でプリンタ70からの応答パケットが受信される状況としては、以下の状況が考えられる。例えば、プリンタ70は、DHCPサーバ(例えばブロードバンドルータ60)から新たなIPアドレスが割り当てられた際に、当該新たなIPアドレスをDNSサーバ62に登録するための通信を実行する。この際に、例えば、DNSサーバ62の電源がOFFされている場合には、プリンタ70の新たなIPアドレスがDNSサーバ62に登録されず、DNSサーバ62では、プリンタ70の古いIPアドレスが維持される(以下では「第3の状況」と呼ぶ)。第3の状況では、図3のS21において、DNSサーバ62から取得されるプリンタ70のIPアドレスは、プリンタ70の古いIPアドレスであり、プリンタ70の現在のIPアドレスではない。この場合、図3のS24ではNOと判断されるが、図4のS52でプリンタ70からの応答パケットが受信される。
S56では、設定部50は、S50で探索パケットをブロードキャストしてから所定時間が経過したのか否かを判断する。ここでYESの場合、設定部50は、図4の探索処理を終了し、図3のS28に進む。
S28では、設定部50は、上記の探索処理の結果、プリンタ70が見つかったか否かを判断する。具体的には、設定部50は、記憶部30に記憶されているプリンタ70のMACアドレス38と同じMACアドレスが、図4のS54で生成されるリストに登録されている場合(上記の第3の状況)に、S28でYESと判断する。この場合、通信部46は、リストに登録されているプリンタ70の現在のIPアドレスを送信先として、印刷データをプリンタ70にユニキャスト送信することを試行する(S30)。S30の通信では、プリンタ70の現在のIPアドレスが利用される。しかも、図4のS52でプリンタ70からの応答パケットが受信されたために、プリンタ70のネットワークアドレスと、PC10のネットワークアドレスと、が一致する。従って、通常、S30の通信は成功する。S30を終えると、制御部40は通信処理を終了する。
一方、S28でNOの場合、即ち、上記の第1の状況又は第2の状況では、S32に進む。S32では、制御部40は、生成処理(図5参照)を実行する。図5に示されるように、生成部48(図1参照)は、記憶部30に格納されているPC10のIPアドレスと、サブネットマスクと(図1の符号32参照)、ゲートウェイアドレスと、を取得する(S60)。
次いで、生成部48は、32ビットの乱数値を生成する(S62)。次いで、生成部48は、S60で取得されたPC10のIPアドレスの値と、PC10のサブネットマスクの値と、を用いて、PC10のネットワークアドレスを生成する(S64)。具体的には、生成部48は、PC10のIPアドレスとPC10のサブネットマスクの論理積(AND)を計算することによって、PC10のネットワークアドレスを生成する。図5の例では、PC10のIPアドレスの値は「192.168.1.2」であり、PC10のサブネットマスクの値は「255.255.255.0」である。従って、上記の論理積は、10進数で「192.168.1.0」である。この値が、PC10のネットワークアドレスとなる。
次いで、生成部48は、ネットワークアドレス以外の部分(即ちホスト部)の候補値を生成する(S66)。具体的には、生成部48は、まず、S60で取得したPC10のサブネットマスクの論理否定(NOT)を計算する。例えば、図5のサブネットマスクは「255.255.255.0」であり、先頭から24ビットをマスクすることを示す。従って、図5のサブネットマスクの論理否定は、「0.0.0.255」であり、最後の8ビットのみをマスクすることを示す。次いで、生成部48は、S62で生成済みの乱数値とPC10のサブネットマスクの論理否定との論理積(AND)を計算する。例えば、図5では、生成済みの乱数値が「241.015.223.151」であり、PC10のサブネットマスクの論理否定が「0.0.0.255」である。従って、上記の論理積は、「0.0.0.151」である。この値が、ネットワークアドレス以外の部分の候補値となる。
次いで、生成部48は、候補IPアドレスを生成する(S68)。具体的には、生成部48は、S64で算出したPC10のネットワークアドレスとS66で算出した候補値との論理和(OR)を計算する。例えば、図5では、PC10のネットワークアドレスが「192.168.1.0」であり、候補値が「0.0.0.151」である。従って、上記の論理和は、10進数で「192.168.1.151」となる。この値が、候補IPアドレスとなる。これにより、PC10のネットワークアドレス「192.168.1」に一致するネットワークアドレスを含む候補IPアドレスが生成される。
次いで、生成部48は、生成した候補IPアドレスを送信先として、確認パケットをユニキャスト送信する(S70)。生成部48は、確認パケットの応答があったか否かを監視する(S72)。LAN4に接続されているデバイス群の中に、S68で生成された候補IPアドレスと同じIPアドレスが割り当てられたデバイスが存在している可能性がある。その場合、当該デバイスは、確認パケットに対する応答を、PC10にユニキャスト送信する。応答が受信される場合、即ち、候補IPアドレスと同じIPアドレスが割り当てられたデバイスが存在している場合には、生成部48は、S72でYESと判断し、S62に戻って他の新たな候補IPアドレスを生成する。一方、応答が受信されない場合、即ち、候補IPアドレスと同じIPアドレスが割り当てられたデバイスが存在しない場合には、生成部48は、S72でNOと判断し、生成処理を終了する。生成処理(図3のS32)を終了すると、図3のS34に進む。
S34では、設定部50は、図5のS68で算出された候補IPアドレスと、プリンタ70のMACアドレス(図1の符号38)と、PC10に現在設定されている(記憶部30に現在格納されている)サブネットマスクと、PC10に現在設定されている(記憶部30に現在格納されている)ゲートウェイアドレスと、を含む設定パケットをLAN4にブロードキャストする。LAN4に接続されている各デバイスは、ブロードキャストされた設定パケットを受信する。従って、上記の第1の状況又は第2の状況であっても、プリンタ70が設定パケットを受信する。この結果、後で説明するプリンタ処理(図6参照)が実行され、設定パケットに含まれるIPアドレスが、プリンタ70の新たなIPアドレスとして設定される。
通信部46は、所定時間待機し(S36)、次いで、図5のS68で生成されたIPアドレス(設定パケットに含まれるIPアドレス)を送信先として、印刷データをプリンタ70にユニキャスト送信することを試行する(S38)。設定部50は、通信が成功したか否かを監視する(S40)。S40の処理は、S24の処理と同様である。S34で設定パケットがブロードキャストされるために、プリンタ70には、設定パケットに含まれるIPアドレスが設定されている。しかも、このIPアドレスのネットワークアドレスは、PC10のネットワークアドレスに一致する。従って、プリンタ70は、S38で送信される印刷データを受信し、応答をPC10に送信する。この場合、S40でYESと判断され、図3の通信処理が終了する。
一方において、例えば、プリンタ70の電源がOFFされている場合には、プリンタ70からの応答が受信されないために、S40でNOと判断される。この場合、制御部40は、S32〜S40の処理を再度実行(リトライ)するか否かの選択を求める画面を表示部14に表示させ、ユーザがリトライを指示するのか否かを判断する(S42)。ユーザによってリトライが指示される場合には、制御部40は、S42でYESと判断し、S32〜S40の処理を再度実行する。一方、ユーザによってリトライが指示されない場合には、制御部40は、S42でNOと判断し、通信処理を終了する。
(プリンタ70が実行するプリンタ処理)
続いて、図6を参照して、プリンタ70の制御部78が、プログラム76に従って実行する設定パケットの受信時におけるプリンタ処理について説明する。プリンタ70の電源がONされると、制御部78は、上記の設定パケットを受信することを監視する(S80)。設定パケットが受信される場合に、制御部78は、S80でYESと判断し、S82に進む。S82では、制御部78は、受信した設定パケットに含まれるMACアドレスと、プリンタ70のMACアドレスと、が一致するのか否かを判断する。本実施例では、上述のように、設定パケットには、プリンタ70のMACアドレスが含まれているために、プリンタ70の制御部78は、S82でYESと判断し、S84に進む。一方、仮に、設定パケットを受信したデバイスが、プリンタ70とは異なる他のデバイス(図示省略)であった場合には、設定パケットに含まれるプリンタ70のMACアドレスと、当該他のデバイスのMACアドレスとが一致しないため、当該他のデバイスの制御部は、S82でNOと判断する。S82でNOの場合、終了する。
プリンタ70は、DHCPサーバから自動的に割り当てられる動的なIPアドレスを、プリンタ70のIPアドレスとして設定する第1の設定手法と、固定的(Static)なIPアドレスを、プリンタ70のIPアドレスとして設定する第2の設定手法と、を含む複数の設定手法の中から1つの設定手法をユーザが選択することを許容する。第1の設定手法が選択されている状態では、プリンタ70は、IPアドレスの割り当てをDHCPサーバに要求する。一方において、第2の設定手法が選択されている状態では、プリンタ70は、IPアドレスの割り当てをDHCPサーバに要求しない。この場合、ユーザは、プリンタ70のIPアドレスを手動で指定することができる。プリンタ70は、ユーザによって指定されるIPアドレスを、プリンタ70の固定的なIPアドレスとして設定する。第2の設定手法が選択されている場合には、プリンタ70は、ユーザによって新たなIPアドレスが指定されない限り、IPアドレスを変更しない。S84では、制御部78は、設定パケットに含まれるIPアドレス、サブネットマスク、及び、ゲートウェイアドレスを、プリンタ70のIPアドレス、サブネットマスク、及び、ゲートウェイアドレスとして、新たに設定する。しかも、第1の設定手法が選択されている状態である場合には、第2の設定手法が選択されている状態に変更する。これにより、ユーザによって新たなIPアドレスが指定されない限り、プリンタ70に新たに設定されたIPアドレスが、別のIPアドレスに更新されない。
本実施例の通信システム2の構成について詳しく説明した。本実施例のPC10は、図3のS24でNOであって、かつ、S28でNOの場合、即ち、上記の第1の状況又は第2の状況において、設定パケットをブロードキャストする。上記の第1の状況又は第2の状況でも、宛先が不特定であるブロードキャスト通信であれば、プリンタ70が、設定パケットを受信し得る。このために、プリンタ70に新たなIPアドレスが設定される(図6のS84)。プリンタ70に設定された新たなIPアドレスのネットワークアドレスと、PC10の現在のIPアドレスのネットワークアドレスと、が同一であるため、プリンタ70とPC10とは、同じネットワークを介して、ユニキャスト通信を実行することができる。本実施例では、PC10がプリンタ70とのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る。
本実施例のPC10は、プリンタドライバ24がインストールされる際に、プリンタ70からMACアドレスを取得する(図2のS10)。従って、プリンタ70とのユニキャスト通信が失敗する際(図3のS24でNO)には、PC10は、プリンタ70のMACアドレスを確実に取得している。このために、PC10は、上記の第1の状況又は第2の状況において、特定のデバイス識別情報を含む設定パケットをブロードキャストすることができる。
また、本実施例のPC10は、上記の第1の状況又は第2の状況において、図5の生成処理を実行して候補IPアドレスを生成する。従って、プリンタ70が見つからないことが確認される前に、候補IPアドレスを生成して保存しておく構成と比べると、PC10のリソースの負荷(例えばメモリの負荷、IPアドレスの生成負荷)を低減させ得る。
また、本実施例のPC10は、図3のS24でNOであって、かつ、S28でYESの場合、即ち、上記の第3の状況において、探索(図4参照)によって、プリンタ70の現在のIPアドレスを取得することができ、そのIPアドレスを用いて、特定のデバイスとユニキャスト通信を実行することができる。
本実施例では、設定パケットは、プリンタ70のMACアドレスと、新たなIPアドレスと、PC10に現在設定されているサブネットマスクと、PC10に現在設定されているゲートウェイアドレスと、を含む。プリンタ70は、設定パケットに含まれるIPアドレスを、プリンタ70の固定的なIPアドレスとして、新たに設定する(S84)。プリンタ70に設定される新たなIPアドレスは、プリンタ70のユーザがIPアドレスの変更を指示しない限り、変更されない。このために、プリンタ70のIPアドレスが変更されることに起因して、プリンタ70とのユニキャスト通信が再び失敗するような事態が発生するのを抑制することができる。
上記の実施例の構成と本発明の構成との対応関係を記載しておく。PC10、プリンタ70がそれぞれ「通信装置」、「特定のデバイス」の一例である。MACアドレスが、「デバイス識別情報」の一例である。LAN4に接続されており、PC10によってブロードキャストされる設定パケットを受信する(プリンタ70を含む)各デバイスが「受信側デバイス」の一例である。候補IPアドレスが「新たなIPアドレス」の一例である。探索パケットが「所定のパケット」の一例であり、探索パケットを受信したプリンタ70がPC10に送信する応答パケットが「特定のデバイスからの応答」の一例である。
上記の実施例の変形例を以下に列挙する。
(1)上記の実施例では、IPv4のIPアドレスを利用しているが、IPv6(Internet Protocol version6)又は他のバージョンのIPアドレスを利用してもよい。
(2)デバイス識別情報は、MACアドレスに限らず、インストーラ処理において取得したモデル名とシリアル番号との組合せ情報であってもよい。
(3)上記の実施例では、デバイス識別情報取得部42は、プリンタドライバ24のインストールの際に、所定のコマンドをLAN4にブロードキャストすることによって、プリンタ70からMACアドレスと、ノード名と、IPアドレスと、モデル名と、を取得する。しかしながら、デバイス識別情報取得部42は、プリンタドライバ24のインストールの際に、所定のコマンドをプリンタ70にユニキャスト送信することによって、プリンタ70からMACアドレスと、ノード名と、IPアドレスと、モデル名と、を取得してもよい。
(4)上記の実施例では、図3のS21〜S24に示すように、PC10は、プリンタ70のIPアドレスをDNSサーバ62から取得した後で、実際に印刷データをプリンタ70に送信することを試行して、通信が成功したか否かを判断している。しかしながら、PC10は、プリンタ70のIPアドレスをDNSサーバ62から取得した時点で、取得したプリンタ70のIPアドレスのネットワークアドレスと、PC10自身のIPアドレスのネットワークアドレスと、が一致するか否かを判断してもよい。ここで否定的に判断された場合に、PC10は、プリンタ70に印刷データを送信することなく(図3のS22の処理を実行することなく)、通信が失敗すると判断し、生成処理(図3のS32)を行うようにしてもよい。即ち、一般的に言うと、「特定のIPアドレスを用いた特定のデバイスとの通信が失敗する場合」は、実際に通信を試行した結果として通信が失敗する場合のみを意味するのではなく、仮に、通信を試行すれば通信が失敗することが予想される場合も含む。
(5)また、一般的に言うと、「通信装置」は、PC10に限られず、PC10の周辺機器(例えば、プリンタ、スキャナ、コピー機、FAX、電話機)、PDA、携帯電話、サーバ等であってもよい。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、10:PC、20:メディア、22:インストーラ、24:プリンタドライバ、26:修復プログラム、40:制御部、60:ブロードバンドルータ、62:DNSサーバ、64:AP、70:プリンタ、78:制御部

Claims (12)

  1. 特定のデバイスとネットワークを介して接続される通信装置であって、
    前記特定のデバイスを識別するための特定のデバイス識別情報を取得するデバイス識別情報取得部と、
    前記特定のデバイスに設定された特定のIPアドレスを取得するIPアドレス取得部と、
    前記特定のIPアドレスを用いて、前記特定のデバイスと通信する通信部と、
    前記通信装置に現在設定されている現在のIPアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなIPアドレスを生成する生成部と、
    前記特定のIPアドレスを用いた前記特定のデバイスとの通信が失敗する場合に、前記特定のデバイス識別情報と、前記新たなIPアドレスと、特定の指示と、を含む設定パケットを、前記ネットワークにブロードキャストする設定部と、を備え
    前記特定の指示は、前記設定パケットを受信する受信側デバイスのIPアドレス設定手法が、前記ネットワークに接続されているDHCPサーバから割り当てられるIPアドレスを前記受信側デバイスに設定する第1の設定手法である場合に、前記受信側デバイスを識別するためのデバイス識別情報と、前記設定パケットに含まれる前記特定のデバイス識別情報と、が一致することを条件として、前記受信側デバイスのIPアドレス設定手法を、前記第1の設定手法から、固定的なIPアドレスを前記受信側デバイスに設定する第2の設定手法に変更させるための指示であり、
    前記設定部は、前記設定パケットをブロードキャストすることにより、前記受信側デバイスである前記特定のデバイスのIPアドレス設定手法を、前記第1の設定手法から、前記第2の設定手法に変更させて、前記設定パケットに含まれる前記新たなIPアドレスを、前記固定的なIPアドレスとして、前記特定のデバイスに新たに設定させる、
    通信装置。
  2. 前記デバイス識別情報取得部は、前記特定のデバイスのためのデバイスドライバが前記通信装置にインストールされる際に、前記特定のデバイスから前記特定のデバイス識別情報を取得し、
    前記デバイスドライバによって実現される前記通信部が、前記特定のデバイスに特定のコマンドを送信した場合であって、前記特定のコマンドを前記特定のデバイスに正常に送信できなかった場合に、前記設定部は、前記設定パケットを前記ネットワークにブロードキャストする、請求項1に記載の通信装置。
  3. 前記設定部は、さらに、前記通信が失敗する場合に、所定のパケットを前記ネットワークにブロードキャストすることによって、前記特定のデバイスを探索し、
    前記設定部は、前記探索の結果、前記特定のデバイスが見つからない場合に、前記設定パケットを前記ネットワークにブロードキャストする、請求項1又は2に記載の通信装置。
  4. 前記生成部は、前記探索の結果、前記特定のデバイスが見つからない場合に、前記新たなIPアドレスを生成する、請求項3に記載の通信装置。
  5. 前記通信部は、さらに、前記探索の結果、前記特定のデバイスからの応答がある場合に、前記応答に含まれるIPアドレスを用いて、前記特定のデバイスと通信する、請求項3又は4に記載の通信装置。
  6. 前記通信部は、さらに、前記設定パケットがブロードキャストされた後に、前記新たなIPアドレスを用いて、前記特定のデバイスと通信することによって、前記新たなIPアドレスが前記特定のデバイスに新たに設定されたのか否かを確認する、請求項1からのいずれか一項に記載の通信装置。
  7. 前記設定パケットは、さらに、前記通信装置に現在設定されている現在のサブネットマスク及び現在のゲートウェイアドレスを含み、
    前記設定部は、前記設定パケットをブロードキャストすることにより、さらに、前記設定パケットに含まれる前記現在のサブネットマスク及び前記現在のゲートウェイアドレスを、前記受信側デバイスである前記特定デバイスのサブネットマスク及びゲートウェイアドレスとして、前記特定のデバイスに新たに設定させる、請求項1から6のいずれか一項に記載の通信装置。
  8. 前記生成部は、
    前記現在のIPアドレスと、前記通信装置に現在設定されている現在のサブネットマスクと、を用いて、前記ネットワークアドレスを特定し、
    前記ネットワークアドレスと、乱数値と、を用いて、前記新たなIPアドレスを生成する、請求項1から7のいずれか一項に記載の通信装置。
  9. 前記生成部は、
    前記ネットワークアドレスと同一のネットワークアドレスを含む候補IPアドレスを生成し、
    前記候補IPアドレスを用いてユニキャスト通信を実行し、
    前記ユニキャスト通信の結果、応答を受信する場合に、他の候補IPアドレスを生成し、
    前記ユニキャスト通信の結果、応答を受信しない場合に、前記候補IPアドレスを、前記新たなIPアドレスとして決定する、請求項1から8のいずれか一項に記載の通信装置。
  10. 前記現在のIPアドレスは、前記ネットワークに接続されている第1のDHCPサーバによって前記通信装置に割り当てられたIPアドレスであり、
    前記特定のIPアドレスは、前記ネットワークに接続されている第2のDHCPサーバであって、前記第1のDHCPサーバとは異なる前記第2のDHCPサーバによって前記特定のデバイスに割り当てられたIPアドレスである、請求項1から9のいずれか一項に記載の通信装置。
  11. 前記IPアドレス取得部は、前記特定のデバイスを特定するノード名を用いて、前記ネットワークに接続されているDNSサーバから前記特定のIPアドレスを取得する、請求項1から10のいずれか一項に記載の通信装置。
  12. 特定のデバイスとネットワークを介して接続される通信装置を実現するためのコンピュータプログラムであって、
    特定のデバイスとネットワークを介して接続される通信装置であって、前記特定のデバイスを識別するための特定のデバイス識別情報を取得するデバイス識別情報取得処理と、前記特定のデバイスに設定された特定のIPアドレスを取得するIPアドレス取得処理と、前記特定のIPアドレスを用いて、前記特定のデバイスと通信する通信処理と、を実行可能である前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、
    前記通信装置に現在設定されている現在のIPアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなIPアドレスを生成する生成処理と、
    前記特定のIPアドレスを用いた前記特定のデバイスとの通信が失敗する場合に、前記特定のデバイス識別情報と、前記新たなIPアドレスと、特定の指示と、を含む設定パケットを、前記ネットワークにブロードキャストする設定処理と、を実行させ
    前記特定の指示は、前記設定パケットを受信する受信側デバイスのIPアドレス設定手法が、前記ネットワークに接続されているDHCPサーバから割り当てられるIPアドレスを前記受信側デバイスに設定する第1の設定手法である場合に、前記受信側デバイスを識別するためのデバイス識別情報と、前記設定パケットに含まれる前記特定のデバイス識別情報と、が一致することを条件として、前記受信側デバイスのIPアドレス設定手法を、前記第1の設定手法から、固定的なIPアドレスを前記受信側デバイスに設定する第2の設定手法に変更させるための指示であり、
    前記設定処理は、前記設定パケットをブロードキャストすることにより、前記受信側デバイスである前記特定のデバイスのIPアドレス設定手法を、前記第1の設定手法から、前記第2の設定手法に変更させて、前記設定パケットに含まれる前記新たなIPアドレスを、前記固定的なIPアドレスとして、前記特定のデバイスに新たに設定させる、
    コンピュータプログラム。
JP2010075538A 2010-03-29 2010-03-29 通信装置及びコンピュータプログラム Active JP5093277B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010075538A JP5093277B2 (ja) 2010-03-29 2010-03-29 通信装置及びコンピュータプログラム
US13/051,502 US8886776B2 (en) 2010-03-29 2011-03-18 Communication apparatus and storing medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010075538A JP5093277B2 (ja) 2010-03-29 2010-03-29 通信装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011209889A JP2011209889A (ja) 2011-10-20
JP5093277B2 true JP5093277B2 (ja) 2012-12-12

Family

ID=44657600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010075538A Active JP5093277B2 (ja) 2010-03-29 2010-03-29 通信装置及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8886776B2 (ja)
JP (1) JP5093277B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5041020B2 (ja) * 2010-03-25 2012-10-03 ブラザー工業株式会社 通信装置
KR101872358B1 (ko) * 2011-11-22 2018-06-29 에이치피프린팅코리아 주식회사 P2p 연결을 지원하는 화상 형성 장치 및 그것의 ip 주소 연동을 통한 응용 프로그램의 실행 방법
JP5994261B2 (ja) * 2012-01-31 2016-09-21 ブラザー工業株式会社 通信装置
JP6061501B2 (ja) * 2012-06-04 2017-01-18 キヤノン株式会社 サービス提供装置、情報処理装置、画像形成装置、印刷システムの制御方法、およびコンピュータプログラム
JP6107026B2 (ja) 2012-09-27 2017-04-05 ブラザー工業株式会社 情報表示装置、情報提供装置、情報表示プログラム、情報提供プログラム、及び、通信システム
CN105264869B (zh) * 2013-06-26 2019-05-03 华为技术有限公司 一种ip地址分配的系统和方法
WO2015097884A1 (ja) * 2013-12-27 2015-07-02 株式会社東芝 電子機器および制御方法
US20160019013A1 (en) * 2014-07-17 2016-01-21 Sharp Kabushiki Kaisha Image forming apparatus and network system including the same
CN104734825B (zh) * 2015-03-03 2018-04-06 国家电网公司 一种基于ip协议扩展的网络冗余容错方法及系统
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
JP6882059B2 (ja) * 2017-05-12 2021-06-02 キヤノン株式会社 プログラム、方法、及び装置
US10802775B2 (en) * 2018-07-25 2020-10-13 Palo Alto Research Center Incorporated System and method for automatic on-boarding of printers in a printer management system
US10489090B1 (en) * 2018-08-01 2019-11-26 Palo Alto Research Center Incorporated System and method for detecting printer moves in a managed print environment
CN109286690A (zh) * 2018-08-29 2019-01-29 博瓦(武汉)科技有限公司 一种局域网内自动获取对方主机ip的方法
KR102108693B1 (ko) * 2019-12-27 2020-05-08 주식회사 대건소프트 셀프 브로커 기반형 분산전원 제어 시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249989A (ja) * 1998-03-03 1999-09-17 Ricoh Co Ltd ネットワークユーティリテイ
JP2000269991A (ja) 1999-03-15 2000-09-29 Yokogawa Electric Corp ネットワークアドレス設定システム及びネットワークアドレス設定方法
JP3926060B2 (ja) 1999-05-20 2007-06-06 株式会社リコー ネットワークプリンタシステム
JP3718621B2 (ja) * 2000-06-23 2005-11-24 株式会社ルートレック・ネットワークス インターネットアドレス決定方法及び装置
US7020796B1 (en) * 2001-07-27 2006-03-28 Ciena Corporation High availability communication system
JP3979055B2 (ja) * 2001-10-11 2007-09-19 富士ゼロックス株式会社 固定アドレス設定装置、固定アドレス設定方法および固定アドレス設定プログラム
JP2003198548A (ja) 2001-12-28 2003-07-11 Denso Corp 通信機器の通信方法
JP3872368B2 (ja) * 2002-03-27 2007-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、該情報処理装置を含むネットワーク構成方法、および該ネットワーク構成方法のためのプログラム
JP2004013662A (ja) * 2002-06-10 2004-01-15 Canon Inc 情報処理装置、情報処理方法、制御プログラム
JP2004129142A (ja) * 2002-10-07 2004-04-22 Oki Data Corp ネットワーク回線接続方法
JP2005100270A (ja) * 2003-09-26 2005-04-14 Minolta Co Ltd プリント制御プログラムおよび印刷装置
JP4208779B2 (ja) * 2004-06-30 2009-01-14 キヤノン株式会社 情報処理装置およびインストール制御方法
JP4758250B2 (ja) * 2006-02-27 2011-08-24 ブラザー工業株式会社 Ipアドレス設定装置、ipアドレス設定方法、及びネットワークシステム
JP4187010B2 (ja) * 2006-05-31 2008-11-26 ブラザー工業株式会社 ネットワーク機器及び情報処理装置並びにプログラム
US8345685B2 (en) * 2006-06-09 2013-01-01 Ethernety Networks Ltd Method and device for processing data packets

Also Published As

Publication number Publication date
JP2011209889A (ja) 2011-10-20
US20110238800A1 (en) 2011-09-29
US8886776B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
JP5093277B2 (ja) 通信装置及びコンピュータプログラム
JP5300562B2 (ja) 情報処理装置、情報処理方法、およびプログラム
EP1835702A2 (en) Image processing device
US20090193133A1 (en) Network device management apparatus, control method therefor, network system, and storage medium
US8817783B2 (en) Information processing apparatus, image processing apparatus, control method, and storage medium
JP5820106B2 (ja) 通信装置、および、その制御方法
JP4775437B2 (ja) ソフトウェアをインストールするためのコンピュータプログラム
JP5263106B2 (ja) 端末装置とコンピュータプログラム
JP2005094252A (ja) 画像処理装置、画像処理システム、名前登録方法、名前登録プログラム及び記録媒体
JP5310445B2 (ja) 制御装置及びコンピュータプログラム
JP2007199958A (ja) 画像処理装置及び画像処理装置の制御方法
JP2008033693A (ja) 通信制御装置、データ処理装置、及びその制御方法
JP5882855B2 (ja) ホストデバイスを保護するための方法、システム及びプログラム
JP5527233B2 (ja) 通信装置
EP1701517B1 (en) System, method and recording medium for autoconfiguration of an IPv6 address avoiding duplicate addresses
JP5338597B2 (ja) Ipアドレス決定装置、端末装置、及び、コンピュータプログラム
JP7463095B2 (ja) 通信装置、通信装置の制御方法及びプログラム
JP5598309B2 (ja) 通信装置
JP2008072519A (ja) 機器検索装置、機器検索方法及びプログラム
JP5472081B2 (ja) 通信装置
US10574837B2 (en) Information processing apparatus for data communication with external apparatus and control method for the same, and storage medium
JP6119187B2 (ja) 管理装置、アドレス情報管理プログラム及びアドレス情報管理システム
JP2015195533A (ja) 通信装置
JP4368776B2 (ja) ネットワーク機器、ネットワーク機器の制御方法、プログラム及び記録媒体
JP5454463B2 (ja) 通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

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: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

R150 Certificate of patent or registration of utility model

Ref document number: 5093277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3