JP2010268164A - ネットワーク通信装置及び方法とプログラム - Google Patents

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

Info

Publication number
JP2010268164A
JP2010268164A JP2009117049A JP2009117049A JP2010268164A JP 2010268164 A JP2010268164 A JP 2010268164A JP 2009117049 A JP2009117049 A JP 2009117049A JP 2009117049 A JP2009117049 A JP 2009117049A JP 2010268164 A JP2010268164 A JP 2010268164A
Authority
JP
Japan
Prior art keywords
data
response
transmission
address
request
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.)
Granted
Application number
JP2009117049A
Other languages
English (en)
Other versions
JP5328472B2 (ja
JP2010268164A5 (ja
Inventor
Takuyuki Matsuo
卓幸 松尾
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority to JP2009117049A priority Critical patent/JP5328472B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to RU2011150473/08A priority patent/RU2515552C2/ru
Priority to CN201080020690.7A priority patent/CN102422606B/zh
Priority to BRPI1011364-9A priority patent/BRPI1011364B1/pt
Priority to KR1020117029027A priority patent/KR101296531B1/ko
Priority to EP10774890.7A priority patent/EP2430803B1/en
Priority to PCT/JP2010/057921 priority patent/WO2010131633A1/en
Priority to US12/864,860 priority patent/US8165042B2/en
Publication of JP2010268164A publication Critical patent/JP2010268164A/ja
Priority to US13/371,972 priority patent/US8964602B2/en
Publication of JP2010268164A5 publication Critical patent/JP2010268164A5/ja
Application granted granted Critical
Publication of JP5328472B2 publication Critical patent/JP5328472B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • 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/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6

Abstract

【課題】IPv6プロトコルを利用してネットワーク上の機器と通信する際のパケットのフィルタリングを実現し、またトラフィックを軽減する。
【解決手段】PC上で動作するプリンタドライバ10において、通信相手の名前と名前解決したアドレスのうち、実際に通信に成功したアドレスを関連付けて記憶し、以降の同一通信相手との通信には記憶しておいたアドレスを使用する。
【選択図】図1

Description

本発明は、例えばPC(パーソナルコンピュータ)上で動作する、ネットワーク上の機器との通信機能に関する。特に、通信プロトコルとしてIPv6(Internet Protocol Version 6)を利用する通信機能に関する。
現行のインターネットプロトコル(IPv4)のアドレスが枯渇しつつあることを受け、アドレス空間の増大、セキュリティ機能の追加、優先度に応じたデータの送信などの改良を施した次世代インターネットプロトコルとしてIPv6が実用になり始めている。IPv6プロトコルでは一つのネットワークインターフェイスに複数のアドレスが割り当て可能な仕様となっている。たとえば、割り当てられるアドレスとしてリンクローカルユニキャストアドレス(以下リンクローカルアドレスと称する)、グローバルユニキャストアドレス(以下グローバルアドレスと称する)などが知られている。さらに、グローバルアドレスとして複数のアドレスを割り当てることができるため、ひとつのホストに対してIPv4アドレスと複数のIPv6アドレスとがDNS(Domain Name System)サーバへ登録される場合がある。
通信相手を特定する為には通常「名前」と呼ばれるFQDN(Fully Qualified Domain Name)が用いられている。なおFQDNとは、DNSのドメインの階層構造に沿ってルートから表示したホスト名あるいはドメイン名である。FQDN のことを以下では単に「名前」と呼ぶことがある。DNSサーバに対して名前を指定してバイナリアドレスを問い合わせると複数のIPv6が取得されることがある。これらのアドレスには問い合わせ元のPCから全て到達可能であるとは限らない。その為、IPv6を使ったTCP通信においてはDNSを使った名前解決の結果として得られる複数のアドレスに対して順次接続試行を行い接続が成功した時点でのアドレスを相手アドレスとして使用することになる。IPv6を使ったUDP通信ではなおさらアプリケーションが通信相手に対してパケット再送などの手法を使って到達性を確認しなければならない為、これも本質的にTCP通信と同じように順次複数のアドレスに対してパケットを送信することを試みなければならない。この様に、IPv6通信は本質的に複数アドレスに伴うネットワークトラフィックの増大と接続までの試行時間の増大をもたらす。
さらに相手アドレスの対向である自アドレスとしても同様に複数アドレスが存在する。通信相手のアドレスが決まると、そのアドレスに対応する自アドレスはRFC3484( "Default Address Selection for Internet Protocol version 6(IPv6)") として既定されているアルゴリズムに則り選択されることになっている。このアドレス選択アルゴリズムは通常プロトコルスタックと呼ばれるOS(Operating System)に近いプログラム内で実行されるため、アプリケーションプログラムは選択される自アドレスに関して関与できない。
上記のような複数のIPv6アドレスが2つの通信端点それぞれに存在することによって特にUDPプロトコルを使った通信を行う場合に以下に示すような状況が発生する。通信端点A,B共に自身のIPv6アドレスを3つずつ保持しておりそれぞれ、Addr_A1,Addr_A2,Addr_A3と Addr_B1,Addr_B2,Addr_B3とする。このうち通信端点Bのアドレスのうち2つのアドレスAddr_B1,Addr_B2がDNSに登録されているとする。
図3(A)に示す様に通信端点Aが通信端点Bに対して通信を開始する場合、まずはDNSに対して通信端点Bの名前(ここでは“通信端点B”という名前であるとする)を指定して名前解決を依頼(クエリ)する。DNSサーバでは名前解決の結果として2つのアドレス(Addr_B1,Addr_B2)を通信端点Aに対して返却(レスポンス)する。
名前解決の結果を受け取った通信端点AはAddr_B1に向けてリクエストを送信したところ、通信端点Bに到達したとする。通信端点Bはリクエストに対応したレスポンスを返信するが、このとき通信端点はリクエストの送信元アドレスとしてAddr_A1を知ったのでこのアドレスに対してレスポンスを返信する。すると前述のRFC3484に規定されているアドレス選択アルゴリズムが機能し、通信端点Bの保持する3つのアドレスのうち最適なアドレスとしてAddr_B1ではなくAddr_B3が選択されることがある。このようにして通信端点BからのレスポンスはAddr_B3から通信端点AのAddr_A1に向けて送出される。通信端点Aの側に立つと、未知のアドレスからデータが送られてくるという状況になる。
通信端点Aがリクエストを送出した相手が通信端点Bのみであることが確定している場合には未知のアドレスからのデータを「通信端点Bから送られてきたレスポンスである」と判断できる場合がある。しかし、図3(B)のように通信端点Aからほぼ同時に通信端点Bと通信端点Cの2つの相手にリクエストを送出する場合を考えてみると上記の判断が不可能であることがわかる。図3(B)における通信端点A、通信端点B、通信端点Cのアドレスは各々Addr_A1,Addr_A2,Addr_A3とAddr_B1,Addr_B2,Addr_B3とAddr_C1,Addr_C2,Addr_C3であるとする。さらに、通信端点BのアドレスのうちDNSサーバに登録されているアドレスはAddr_B1,Addr_B2であり、同様に通信端点CのそれはAddr_C1,Addr_C2であるとする。通信端点Aは通信端点Bと通信端点Cの名前をDNSサーバに問い合わせ、先に説明した各端点あたり2つのアドレスをレスポンスとして受け取っているものとする。ここで通信端点Aは通信端点Bと通信端点Cにリクエストを送出し、通信端点BはAddr_B3からAddr_A1に向けてレスポンスを送出し、通信端点CはAddr_C3からAddr_A1に向けてレスポンスを送出したとする。
通信端点Aは見知らぬアドレスAddr_B3とAddr_C3からデータを受信することになる。この2つの受信データは通信端点Bと通信端点Cのいずれから送信されてきたレスポンスデータであるのか判断できない。リクエストの送信先アドレスから必ずレスポンスが送り返されてくることがあてにできるIPv4のようなプロトコルの場合は通信の両端点のポート番号も含んだアドレスの組によって通信相手が特定できるためこのような問題は起きない。このような状況ではレスポンスパケットの送信元アドレスをリクエストパケットの送信先アドレスと一致しない場合にはその受取を拒否するといアドレスに基づくパケットフィルタリングが行えなくなるというセキュリティ上の問題が発生する。
すなわち、見知らぬアドレスから送られてきたデータパケットは何らかのリクエストパケットに対する正規のレスポンスである可能性があるためフィルタリングして破棄することはできない。そのため、いったんどんなパケットも受信しなければならないということを意味する。
DNSサーバへの名前解決に伴うトラフィックの増加、処理の遅延を改善する目的で、IPv4とIPv6のアドレスが登録されているサーバへのアクセスにいずれのプロトコルを用いるかを過去の実績に基づいて決定する方法がある(例えば特許文献1参照)。特許文献1で開示されている従来の技術は主に、IPv4とIPv6が混在する状況を想定している。アクセスしようとするサーバプロセスと過去に通信が可能であったIPプロトコルをサーバプロセスと関連付けてキャッシュしておき、次回のアクセスの再にはそのIPプロトコルおよび対応するアドレスを利用しようとするものである。この従来技術ではDNSサーバへのアクセスを低減すること、及びサーバプロセスがDNSサーバに登録されているプロトコルアドレスの全てでは待ちうけていない場合に無駄なアドレスでのアクセス試行を減じることに効果を発揮する。
特開2007-19612号公報
しかし特許文献1が開示する発明によっても、サーバプロセスからの応答が未知のアドレスから送られてくるという状況では従来技術はキャッシュそのものが行われず、やはり以下の問題を解決することはできない。
1. 送信先として選択したアドレス以外からの応答データを基本的に受信しなければならない。すなわちアドレスによるパケットフィルタリングを解除しなければならないというセキュリティ面での問題がある。
2. IPv4プロトコルとIPv6プロトコルの両方のアドレスを使って通信を行うアプリケーションではDNSサーバへの名前解決の問い合わせ回数が増加する。これがトラフィックを増加させ、また応答時間を遅延させる。
3. ひとつの通信端点について複数のIPv6アドレスがDNSサーバに登録されている場合には、複数のアドレスすべてでパケットの送信を行う可能性がある。すなわちトラフィックが増大する。
本発明は上記問題を解決することを目的とする。そのため、本発明は、ひとつの名前に対して複数のアドレスが付与され得るネットワーク機器とネットワークを介して通信するデータ通信装置であって、
送信先の名前に対応するアドレスを取得する取得手段と、
前記アドレスに対して送信データを該送信データの識別情報とともに送信する送信手段と、
送信データに対応した識別情報を有する応答データを受信する受信手段と、
受信した前記応答データが前記送信データに対する応答であることを前記識別情報に基づいて判定する判定手段と、
前記応答データが前記送信データに対する応答でないと判定された場合には当該応答データを破棄し、前記応答データが前記送信データに対する応答であると判定された場合には前記応答データに含まれるデータをデータ送信の要求元に引き渡す応答処理手段とを備える。
本発明によればアプリケーションは上記課題を解決するという効果を提供することができる。すなわち、アドレスによるパケットフィルタリングを解除しなければならないというセキュリティ面での問題を解消できる。また、IPv4プロトコルとIPv6プロトコルの両方のアドレスを使って通信を行うアプリケーションでも、トラフィックの増大、応答時間を遅延を防止できる。また、ひとつの通信端点について複数のIPv6アドレスがDNSサーバに登録されている場合にも、トラフィックの増大を抑制できる。
実施形態におけるプリンタドライバのブロック図である。 実施形態におけるPCの構成を示すブロック図である。 (A)IPv6アドレスをハンドリングする通信端点とDNSサーバの関係を示す図である。(B)IPv6アドレスをハンドリングする複数の通信端点間で使用されるアドレスの関係を示す図である。 (A)実施形態におけるデータ取得処理を示すフローチャートである。(B)実施形態におけるリクエスト発行処理を示すフローチャートである。(C)実施形態におけるレスポンス受領処理を示すフローチャートである。 実施形態における送受信処理を示すフローチャートである。 (A)実施形態における通信相手アドレス取得処理を示すフローチャートである。(B)実施形態における通信相手アドレス登録処理を示すフローチャートである。 (A)実施形態におけるリクエストデータの構造を示した図である。(B)実施形態におけるレスポンスデータの構造を示した図である。
図2は本発明をプリンタドライバに適用した際にアプリケーションプログラムにロードされて動作するデータ通信装置としてのPCの構成を示すブロック図である。このプリンタドライバがインストールされたPCは、プリンタを制御する印刷制御装置として機能する。PCのオペレーティングシステム(OS)はRAM4、HDD5あるいは後述のディスクドライブ装置の記憶媒体のいずれかの記憶手段に格納されておりCPU3により実行される。さらに、OSはプリンタドライバの依頼により表示装置6に表示を行い、入力装置7からのユーザの入力を取り込んでプリンタドライバに通知することを担っている。さらに、OSは通信部8を制御し、通信部8で接続された周辺装置の他、周辺装置9の制御、入出力を行いプリンタドライバとのデータの入出力を行っている。制御対象の周辺装置には、PCカード、各種ディスクドライブ装置、プリンタ、ネットワークカード等がある。さらにOSはファイルシステム機能を提供しており、ファイルの記憶媒体は図2のHDD5、RAM4に限らず、通信部8を介して接続されたネットワーク上の他のPCも含めた外部記憶装置も含むものである。OSおよびプリンタドライバはPC上のシステムバス1、2を通じて互いに連結されたハードウエアモジュール群のデータを授受している。
プリンタドライバはOSが提供しているアプリケーションプログラムインターフェース(API)を通じてPC上のリソースにアクセスしたりOSの提供する機能を使用したりする。プリンタドライバはアプリケーションプログラムにロードされて印刷データを渡され、それをプリンタが理解できる言語に翻訳することが主な処理である。加えてプリンタドライバは、使用者にプリンタの装備しているステープル装置、スタッカ装置、搭載している用紙トレイなどの状況を取得して表示する機能を提供している。さらに、プリンタドライバは、プリンタ内部に蓄積されている印刷待ちのジョブリストを取得して表示する機能も提供している。
プリンタドライバは、RAM4、HDD5あるいは後述のディスクドライブ装置の記憶媒体のいずれかの記憶手段に格納されており、CPU3により実行される。さらにプリンタドライバはOSが提供するファイルシステムに記憶されているファイルを参照する。以下のプリンタドライバの構成及び動作の説明においては、印刷データの翻訳に関する機能の詳細説明は割愛する。本実施形態のプリンタドライバは使用者が指定した通信相手のネットワーク機器として、ネットワークプリンタや複写機等を想定している。これらネットワークプリンタや複写機等をまとめてプリンタと称する。以下の説明においては、これらプリンタにネットワークを介してアクセスし、プリンタの機種名、プリンタに搭載された機能リスト、プリンタ内部の印刷ジョブリストを取得して、図2の表示装置6に表示する機能に関して詳しく説明する。
図1は本発明のプリンタドライバの構成を示すブロック図である。プリンタドライバは、アプリケーションプログラム等によって作成されたデータを、ユーザが指定したプリンタが解釈実行可能なプリンタ記述言語に翻訳し、翻訳したデータを当該プリンタに送信する。送信されるデータはここでは一般的には送信データと呼ぶが、プリンタに送られる前述の翻訳したデータについては印刷データとも呼ぶ。プリンタドライバ10は表示部50、入力部60、アクセスロジック部20、トランスポート部30、ドライバロジック部40を備えている。最初にプリンタドライバの内部に存在する3つの機能ブロックの定義を行う。
ドライバロジック部40は、アクセスロジック部20に対してプリンタの名前を指定して情報の取得を指示する機能ブロックである。ドライバロジック部40は、プリンタドライバ10の印刷データの翻訳処理とPCの表示装置上に画面を表示する。また、使用者からのプリンタの選択手段、選択したプリンタの機能を取得する指示手段の制御とプリンタから取得した情報の画面への表示を担っている。さらに後述のアクセスロジック部に対してプリンタの名前を指定して所望の情報を取得するように要求を行い、結果を取得する処理も行っている。
なおアクセスロジック部20は、送信データに基づいてリクエストデータを作成し、ドメイン名やホスト名(すなわちFQDN)で指定されるリクエストの送信先を指定してトランスポート部に対しリクエスト送信依頼を行う処理を司るブロックである。リクエスト送信先としてはFQDNだけでなく、IPv4やIPv6(インターネットネットプロトコルバーション6)のバイナリアドレス、コンピュータ名等の形式で指定することができるが、アクセスロジック部20は、少なくともFQDNを指定する。
トランスポート部は依頼されたリクエストデータを依頼された送信先に送出し、それに対するレスポンスを受け取ってアクセスロジック部に引き渡す機能ブロックである。トランスポート部は、送信を依頼されたリクエストの内容およびレスポンスの内容に関して一切の知識を有しないものとする。さらにトランスポート部はFQDNで指定された送信先のバイナリアドレスを特定する目的でDNSサーバへの問い合わせを行う。
プリンタドライバ10はネットワーク上に存在するDNSサーバにアクセスをおこなう。DNSサーバに対してプリンタドライバが通信対象としているプリンタのFQDNを指定し、応答としてそのプリンタに割り当てられているアドレスを受け取る。
入力部60は図2の入力装置7を介して使用者の入力を受取りドライバロジック部に引き渡す。入力される情報として、通信相手であるプリンタのFQDNと取得開始指示とが渡される。表示部50は図2の表示装置6に対して表示すべきデータを作成して表示させる処理を司る。表示内容はプリンタから取得した機種名、搭載された機能リスト、プリンタ内の印刷ジョブリストである。
ドライバロジック部40は入力部60から渡されたプリンタのFQDNとアドレスの取得開始指示をアクセスロジック部20に引き渡す。
アクセスロジック部20は、リクエストID生成部201、通信相手名−リクエストID関連記憶部202、リクエストID−リクエスト関連記憶部203と制御部200とを備えている。アドレスの取得開始指示が与えられると、制御部200はリクエストID生成部201にリクエストIDの生成要求を出す。リクエストID生成部201は制御部200からの要求に応じてユニークなIDを生成して返す。リクエストIDは、比較的長い周期で巡回するIDを用いている。このため、あるプリンタに対して送信する際に生成されたリクエストIDと同じリクエストIDが、同一装置への別のリクエストや他のプリンタへのリクエストに同時に用いられる可能性は非常に低い。逆に言うと、リクエストIDの周期としては、同一のリクエストIDが同一システム内で同時に使用されることがない程度の長さが選択される。ひとつのリクエストIDは、最大で、(送信先のホスト名(本例ではプリンタ)に対してDNSに登録されたアドレス数)×(応答待ち時間)+(スリープからの覚醒時間)+(応答所要時間)程度の時間にわたり使用される可能性がある。この時間を最大ID利用時間とすれば、リクエストIDの周期>最大ID利用時間/(送信要求が発生する平均時間間隔)が満たされれば、リクエストIDのユニークさは保たれる。
通信相手名−リクエストID関連記憶部202は、制御部200から通信相手のFQDNとリクエストIDを渡され、それらを関連付けて記憶する。さらに通信相手名−リクエストID関連記憶部202は、リクエストIDを指定されて関連つけられているFQDNを検索して返却する機能を有している。リクエストID−リクエスト関連記憶部203は制御部からリクエストIDとリクエストデータを渡され、それらを関連付けて記憶する。さらにリクエストID−リクエスト関連記憶部203は、指定されたリクエストIDに関連つけられているリクエストデータを検索して返却する機能を有している。
制御部200は、リクエストID生成部201と、通信相手名−リクエストID関連記憶部202と、リクエストID−リクエスト関連記憶部203と、トランスポート部30とを制御し、通信相手のプリンタから必要な情報を取得する。
また制御部200は外部に存在するDNSサーバ70やプリンタ80のネットワーク上の位置(アドレス)詳細については関知していない。制御部200はトランスポート部30に対してリクエストデータと呼ばれるプリンタとの間で取り決めたプロトコルデータを作成する。プロトコルデータには通信相手を一意に特定するためのユニークなIDであるリクエストIDが埋め込まれている。送信内容であるリクエストデータとその送り先であるところの通信相手名(FQDN)が制御部200からトランスポート部30に対して引き渡されて送信依頼がなされる。
トランスポート部30は、名前解決部301、通信相手名−アドレス関連記憶部304、リクエスト送信部302、レスポンス受信部303を備えている。リクエスト送信部302は入力としてリクエストデータとその送信先であるプリンタの名前すなわちFQDNを受け取る。リクエスト送信部302はその後、名前解決部301に依頼して受け取ったFQDNをアドレスに変換させる。名前解決部301は、リクエスト送信部302から引き渡されたFQDNに関連づけられたアドレスを通信相手名−アドレス関連記憶部304により検索させ、関連するアドレスが見つかればそのアドレスをリクエスト送信部302に引き渡す。通信相手名−アドレス関連記憶部304は、FQDNからアドレスを検索して返す名前解決部301の機能の実質的実行部分として機能している。リクエスト送信部302は、こうして送り先のFQDNに対応したアドレス(通信相手アドレス)を取得する。名前解決に指定するアドレスはIPv4とIPv6のどちらも用いることができる。なお前述したように、IPv6では一つの名前(FQDN)に対して複数のアドレスが付与され得る。
リクエスト送信部302は、取得した通信相手アドレスに対して依頼されたリクエストデータをUDP(User Datagram Protocol)を使って送信する。このとき、名前解決部301から返されたアドレスが複数ある場合には各アドレスに対してリクエストデータを送信して一定時間経過後までに応答がなければ再送する処理を行う。
レスポンス受信部303は、プリンタからの応答データを受信してレスポンスデータとしてアクセスロジック部20に引き渡す機能を提供している。その際、応答データの送信元アドレスも取得して応答データとともに引き渡す。なおプリンタはレスポンスデータをUDPを使って送信する。リクエストとは、パケットに含まれるリクエストIDにより対応付けられる。
図7(A)、図7(B)でプリンタドライバ10とプリンタとの間で授受されるリクエストデータ701とレスポンスデータ702のパケット構造を説明する。図7(A)がプリンタドライバ10からプリンタに向けて送出されるリクエストデータ701である。固定サイズのパケットヘッダと可変長のリクエストボディから成っている。パケットヘッダはレスポンスデータ702とフィールドの構成については共通である。ただしリクエストデータ701では「タイプ」部分にリクエストを意味する数値「0」が指定され、レスポンスデータ702のパケットヘッダの「タイプ」部分にはレスポンスを意味する数値「1」が指定される。パケットヘッダの「パケットサイズ」部分にはリクエストデータ701、あるいはレスポンスデータ702全体のサイズ(オクテット数)が格納される。「ID」部分にはリクエストデータ701を作成した側が指定したリクエストIDが、対応するレスポンスにも格納される。すなわちレスポンスデータ702のパケットヘッダ内の「ID」部分には対応するリクエストデータに格納されていたリクエストIDがそのまま書き込まれる。リクエストボディには、受け取った側に対して希望する処理内容を指定する「コマンド」部分がある。「コマンド」部分に指定する処理内容の種類には、装置の機種名要求、装置に搭載された機能リスト要求、装置内の印刷ジョブリスト要求などが定義されている。リクエストボディ部の「パラメータ」部分には「コマンド」毎に定められたパラメータが指定される。
一方、レスポンスボディには処理内容を示す「コマンド」部分があり、ここには対応するリクエストデータに格納されていた「コマンド」の内容がそのまま格納される。レスポンスボディの「リザルト」部分には処理を実行した結果を意味する値が格納される。成功、パラメータ不正、実行時エラー等の処理の結果を意味する値が定義されている。
次に図4(A)から図6(B)に示すフローチャートによってアクセスロジック部20とトランスポート部30で実行される処理を説明する。図4(A)はアクセスロジック部20での主要な機能であるプリンタからのデータ取得処理を示すフローである。
ステップS10では、送信先のプリンタを指定し、指定したプリンタへのリクエストデータを送信するリクエスト発行処理を行う。ステップS20では、指定したプリンタからのレスポンスデータを、通信相手のアドレスと共に受信するレスポンス受信処理を行う。ステップS30では、リクエストデータと共に指定した送信先(通信相手)名であるFQDNと、レスポンスデータと共に受信したアドレス(例えばIPアドレス)とをトランスポート部30に引き渡す。それにより、通信相手の名前(FQDN)とアドレスとの関連付けをトランスポート部30に行わせる。
ステップS10のデータ取得処理は図4(B)に示すようにステップS11からステップS13までの処理から成っている。ステップS11ではプリンタに送信するリクエストデータを作成するリクエストデータ作成ステップである。ステップS11では、図1のリクエストID生成部201に生成させた、少なくともその時期においてはユニークなリクエストIDをリクエストパケットに埋めこんでリクエストデータを作成する。
ステップS12は通信相手とリクエストデータの関連付けを行う関連づけステップである。ここでの通信相手とはプリンタの名前(FQDN)のことであり、リクエストデータはレスポンスを受け取るまで図1のリクエストID−リクエスト関連記憶部203に内容が複写されて記憶される。ステップS12ではリクエストパケットをリクエストIDと関連づけてリクエストID−リクエスト関連記憶部203に保存する。
ステップS13では、作成したリクエストデータ701をトランスポート部30に対して通信相手であるプリンタの名前(FQDN)とともに渡し、送信を依頼する。送信の依頼と同時に通信相手名―リクエストID関連記憶部202に、プリンタの名前とリクエストIDとを関連づけて記憶する。リクエスト発行処理は以上で終了する。
なおリクエストデータにはリクエストIDそのものが含まれているため、たとえばステップS12ではリクスエストIDとリクエストパケットとを記憶せず、ステップS13で通信相手名とリクエストパケットとを関連づけて記憶しておいても良い。このようにしても特定のリクエストIDを持つリクエストデータを検索することができる。
続いて図4(A)のステップS20のレスポンス受領処理、すなわち応答処理を説明する。図4(C)はレスポンス受領処理の詳細なフローである。レスポンス受領処理はステップS21からステップS23までの処理から成っている。ステップS21はトランスポート部30からのレスポンスデータ702を受け取る処理である。アクセスロジック部20はトランスポート部30に対して定期的にレスポンスデータ到着を問い合わせ、レスポンスデータを受信していれば受け取る。データをまだ受信していない場合には一定周期でトランスポート部30に対してデータ到着を問い合わせる。
データを受信できた場合には、その受信データの送信元アドレス(IPアドレス)も同時に取得する。これは後述するがトランスポート部30がOS付属のプロトコルスタックから取得できる情報である。この後、ステップS22に進む。
ステップS22ではレスポンスデータ702のうちパケットヘッダからリクエストIDを抽出する。さらに抽出したリクエストIDをキーにして図1のリクエストID−リクエスト関連記憶部203に問い合わせリクエストIDに関連づけられたリクエストデータを取得する。すなわち、レスポンスパケットのリクエストIDと過去に送信したリクエストのリクエストIDとを照合する。この処理はプリンタからのレスポンスデータ702がこのプリンタドライバ10から送出されたリクエストデータ701に対する正規のレスポンスであるか否かを判定する為の処理である。レスポンスデータに含まれていたリクエストIDを持つリクエストデータが記憶されているということはそのレスポンスデータが正しい送信相手から返送されてきたという傍証になる。すなわち、送信したリクエストデータのリクエストIDを持つレスポンスデータが正規のレスポンスの蓋然性が高いと判定できる。情報の照合によりリクエストとレスポンスとを対応付ける以上、レスポンスの偽造や誤りを完全に防止することは通常困難であるので、この蓋然性の高さをもって、正規のレスポンスと判定する。これは通常の要求/応答のシーケンスにおいても同様に行われている通りである。一方、送信したリクエストデータのリクエストIDを持たないレスポンスデータは正規のレスポンスではないと判定できる。
もし正規のレスポンスではないと判定された場合には、それ以上の内容の解析は行うことなくレスポンスデータは破棄される。この処理により、ネットワーク上の悪意のある第3者からの偽装パケットをある程度検出して廃棄するフィルタ機能が実現できる。次にレスポンスデータの内容を解析して表示部50に渡す。表示部50では表示用のデータを作成して図2の表示装置6に表示を行う。
ステップS23はリクエストIDから通信相手名を検索する処理である。ステップS22で取得したリクエストIDを指定して、通信相手名−リクエストID関連記憶部202に、指定したリクエストIDに関連づけられた通信相手名(FQDN)を返却させる。ここで得たFQDNとステップS21で取得したレスポンスデータの送信元アドレスとを呼び出し元に返してレスポンス受領処理は終了する。
ステップS30ではステップS20で取得したプリンタのFQDNと同プリンタのアドレスとを入力としてトランスポート部30の名前解決部301の名前−アドレス関連付け機能を呼び出す。名前解決部301は図6(B)の処理を行う。説明は後述する。この後、受信した正規のレスポンスに対応するリクエストデータ及び対応するリクエストIDを、リクエストID−リクエスト関連記憶部203から削除しておく。また、正規のレスポンスを受信できなかったリクエストに関しても、同様に、対応するリクエストデータ及び対応するリクエストIDを、リクエストID−リクエスト関連記憶部203から削除しておく。
図5、図6(A)、図6(B)は、トランスポート部30で実行される処理を示すフローである。図5の送信処理は図4(B)のステップS13においてアクセスロジック部20の処理として説明した「トランスポート部30へ送信依頼」の結果としてトランスポート部30で実行される処理である。図5の送信処理はステップS50、ステップS60〜ステップS67を有する。ステップS50の通信相手アドレス取得処理は図6(A)に詳細なステップとして説明する。ステップS50では、入力として通信相手であるプリンタの名前を受け取る。実際にリクエストを送信する前に通信相手の名前をアドレスに変換する必要がある為、通信相手名−アドレス関連記憶部304と外部のDNSサーバ70のいずれかあるいは両方にアクセスして有効なアドレスの取得を試みる。その詳細は図6(A)で説明する。
図6(A)のステップS51では通信相手名−アドレス関連記憶部304にステップS50の入力として渡された通信相手名がキーとして既に登録済みか否かを判定している。既に登録済みであれば、ステップS53で、通信相手名に関連づけられているアドレスを通信相手名−アドレス関連記憶部304から取得して呼び出し元に返す。通信相手名−アドレス関連記憶部304を「キャッシュ」と呼ぶ場合もある。一方登録されていない場合には、ステップS52でDNSサーバ70に対して名前解決を依頼する。依頼時にはIPv4とIPv6アドレスの両方で解決を依頼する。得られたアドレスが複数ある場合にはそれらをすべてリスト(アドレスリスト)として呼び出し元に返す。プリンタドライバ10が或るプリンタに初めてアクセスを行う場合には、図6(A)のステップS51はNoとなりDNSサーバ70での名前解決が実行される。ここでステップS53にある「キャッシュ」とはDNSサーバ70での名前解決の結果をそのままキャッシュするわけではないことに注意を要する。キャッシュすなわち通信相手名−アドレス関連記憶部304には、後述の図6(B)で示す通信相手アドレス登録処理で入力された情報が保持される。
ステップS50で通信相手であるプリンタのアドレスが取得された後は図5のステップS60以降においてリクエスト送信とレスポンス受信の処理が実行される。図5の送受信処理の概要としては、取得した通信相手のアドレスに対してリクエストパケットを送信してその後規定の応答待ち時間の後に応答があるかを確認する。取得したパケットが複数ある場合には、その内の一つを選択して、選択したアドレスに送信する。規定時間内にレスポンスがない場合には、一アドレスについて規定回数(例えば2回)再送信を繰り返しながら、ステップS50で取得したアドレス全てに対して試行する。名前解決で得られた全アドレスに対してリクエストを送信してもレスポンスが受信できた時点で試行を中止する。
次に送受信処理をステップごとに順に説明していく。図5のステップS60ではステップS50で取得した通信相手のアドレスリストのうち、未だ着目していないアドレスの有無を判定する。すなわちステップS60では、アドレスリストの先頭からアドレスを指し示すインデクスをインクリメントし、そこにアドレスがあるか判定する。未着目のアドレスがあれば、次に取得可能なアドレスがあると判定される。既にアドレスリストの最後尾に達している場合には、ステップS60の処理はNoの判定となり、これ以上の処理が継続できないため終了する。最初のステップS60の判定でNoとなるケースは、通信相手であるプリンタの名前がDNSサーバに登録されていなかった場合とプリンタが電源オフ状態やオフライン状態などで既定時間内に応答が返せなかった場合とが考えられる。次のアドレスが存在する場合にはそのアドレスを着目アドレスとする。このとき、送信回数を数えるカウンタを初期値、たとえば0、に戻す。そしてステップS61に進んで、アドレス毎に送信を試行する所定回数を超えたか否かを判定する。すなわち前記カウンタ値が所定回数を超えていた場合には、ステップS60に移行して次のアドレスの取得を試みる。
ステップS61でNoの場合にはステップS62においてリクエストデータを送信する処理を行う。ステップS61はトランスポート部30のリクエスト送信部302で実行される処理である。ステップS61では、アクセスロジック部20から受け取ったリクエストデータをステップS60で着目したアドレスに送信する。
続くステップS63では所定の応答待ち時間(たとえば5秒)だけ応答を待つ。この待ち時間はプリンタがスリープ状態にあった場合に、覚醒に要する時間と覚醒後にレスポンスするために要する時間とを加味して既定されている。
ステップS64ではプリンタからのレスポンスデータの受信を試みる。具体的にはOS付属のプロトコルスタックが提供している受信データ取得関数を呼び出してデータが到着しているか否かを確認する。
ステップS65では、ステップS64の結果によって受信データを受信したかどうかを判定する。この判定でNoであればステップS67に移行し、送信回数を1増やしてステップS61に移行する。一方ステップS65でYesの場合はプリンタから送信したリクエストに対応するレスポンスを受け取った可能性が高い。そのため、ステップS65でYesの場合はリクエストに対応するレスポンスを受け取ったものと判定する。ステップS66で受信データを、送信の要求元であるアクセスロジック部20に渡すための情報として作成する。この情報にはたとえば受信したレスポンスデータとそのレスポンスデータを送信してきたプリンタのアドレスとが含まれている。
次に、図6(B)の通信相手アドレス登録処理について説明する。この処理は図4(A)のステップS30で、アクセスロジック部20がトランスポート部30の名前解決部301の名前−アドレス関連付け機能を呼び出すことで実行される処理である。図6(B)の通信相手アドレス登録処理は入力としてプリンタのFQDNとアドレスとの組が与えられる。ステップS71ではそのFQDNとアドレスとを関連付けて記憶する。通信相手先名−アドレス関連記憶部304に記憶されたFQDNとアドレスは、アドレスのキャッシュとして参照される。そのため、無参照時間が一定時間を超えたキャッシュのレコード(FQDNとアドレスとの対)に関しては、削除することが望ましい。アドレスが変更されている可能性があるためであり、また、記憶容量が有限なためである。また、キャッシュされたアドレスにリクエストを送信してレスポンスがない場合にも、そのレコードを削除することが望ましい。登録されるアドレスは、正規のレスポンスが返されたリクエストデータの送信先アドレスである。このほかたとえば正規のレスポンスの送信元アドレスであってもよい。
以上の手順により、送信先名称(FQDN)とパケットに付加した識別情報(リクエストID)とを関連づけることで、受信したレスポンスが、送信したリクエストに対応するレスポンスであることを識別できる。そのため、識別したレスポンス以外を廃棄するフィルタリング処理を実現できる。
さらに、IPv4とIPv6のアドレスを一回的に取得することができ、名前解決の回数や所要時間を低減できる。
また、通信に成功したアドレスを送信先名称(FQDN)と関連づけてキャッシュしておくことで、複数のアドレスがIPv6のDNSサーバに登録されている場合にも、パケット送信の試行回数を減少させることができる。これによりネットワークのトラフィックを低減させることができる。
なお本実施形態はプリンタドライバがプリンタに対して印刷データすなわちリクエストデータを送信する場合を例にとって説明したが、データ送信一般について適用することが可能である。すなわち、プリンタドライバ10に代えて、他のアプリケーションプログラムやシステムプログラムに対して本実施形態に係る発明を適用することができる。その場合、アクセスロジック部20とトランスポートロジック部30とが、代替のアプリケーションあるいはシステムプログラム対して、本実施形態と同様に機能する。
また本実施形態では、アクセスロジック部20とトランスポートロジック部30とが、プリンタドライバに含まれるものとして説明した。しかし、アクセスロジック部20とトランスポートロジック部30とは、プリンタドライバの外側にあって、ドライバロジック部40との間で関数呼び出しなどの適当なインターフェースにより呼び出されるものであってもよい。そのような構成であれば、所望のプログラムにアクセスロジック部20とトランスポートロジック部30とのインターフェースを記述することで、アクセスロジック部20とトランスポートロジック部30とを利用することができる。
またリクエストパケットすなわち送信データに含めるIDは、本実施形態では巡回的に生成される符号としたが、たとえば時刻や送信元アドレスと時刻の組み合わせなど、パケットを固有に識別できる符号であればよい。
また、本実施形態では、レスポンスデータと同じリクエストIDを持つリクエストデータが記憶されていた場合、IDのみを識別情報として正規のレスポンスと判定している。しかし、更にデータの内容を照合して、たとえば図7に示されたコマンドなど、対応するリクエストとレスポンスとに共通する値を持つフィールドを照合して一致すれば正規のレスポンスと判定してもよい。すなわちこの場合にはIDに加えて、リクエストとレスポンスの共通フィールドを識別情報として正規のレスポンスと判定する。
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。

Claims (9)

  1. ひとつの名前に対して複数のアドレスが付与され得るネットワーク機器とネットワークを介して通信するデータ通信装置であって、
    送信先の名前に対応するアドレスを取得する取得手段と、
    前記アドレスに対して送信データを該送信データの識別情報とともに送信する送信手段と、
    送信データに対応した識別情報を有する応答データを受信する受信手段と、
    受信した前記応答データが前記送信データに対する応答であることを前記識別情報に基づいて判定する判定手段と、
    前記応答データが前記送信データに対する応答でないと判定された場合には当該応答データを破棄し、前記応答データが前記送信データに対する応答であると判定された場合には前記応答データに含まれるデータをデータ送信の要求元に引き渡す応答処理手段と
    を備えることを特徴とするデータ通信装置。
  2. 前記応答処理手段は、前記応答データが前記送信データに対する応答である場合には、さらに、前記送信データの送信先のアドレスまたは前記応答データの送信元のアドレスと前記送信先の名前とを対応づけて記憶手段に記憶し、
    前記取得手段は、前記記憶手段から、前記送信先の名前に対応するアドレスを検索し、見つけた場合には当該アドレスを前記送信先の名前に対応するアドレスとして取得することを特徴とする請求項1に記載のデータ通信装置。
  3. 前記取得手段は、前記送信先の名前に対応するアドレスが見つけられない場合には、前記送信先の名前をDNSサーバに送信し、当該送信先に複数のアドレスが付与されている場合にはそれらをまとめて取得することを特徴とする請求項1または2に記載のデータ通信装置。
  4. 前記識別情報には、前記送信データに割り当てられるIDを含むことを特徴とする請求項1乃至3のいずれか一項に記載のデータ通信装置。
  5. 前記アドレスには、インターネットネットプロトコルバーション6のIPアドレスを含むことを特徴とする請求項1乃至4のいずれか一項に記載のデータ通信装置。
  6. コンピュータに、ひとつの名前に対して複数のアドレスが付与され得るネットワーク機器とネットワークを介して通信させるためのプログラムであって、
    送信先の名前に対応するアドレスを取得する取得手段と、
    前記アドレスに対して送信データを該送信データの識別情報とともに送信する送信手段と、
    送信データに対応した識別情報を有する応答データを受信する受信手段と、
    受信した前記応答データが前記送信データに対する応答であることを前記識別情報に基づいて判定する判定手段と、
    前記応答データが前記送信データに対する応答でないと判定された場合には当該応答データを破棄し、前記応答データが前記送信データに対する応答であると判定された場合には前記応答データに含まれるデータをデータ送信の要求元に引き渡す応答処理手段と
    してコンピュータを機能させるためのプログラム。
  7. ひとつの名前に対して複数のアドレスが付与され得るネットワーク機器とネットワークを介して通信するデータ通信装置におけるデータ通信方法であって、
    前記データ通信手段の取得手段が、送信先の名前に対応するアドレスを取得する取得工程と、
    前記データ通信手段の送信手段が、前記アドレスに対して送信データを該送信データの識別情報とともに送信する送信工程と、
    前記データ通信手段の受信手段が、送信データに対応した識別情報を有する応答データを受信する受信工程と、
    前記データ通信手段の判定手段が、受信した前記応答データが前記送信データに対する応答であることを前記識別情報に基づいて判定する判定工程と、
    前記データ通信手段の応答処理手段が、前記応答データが前記送信データに対する応答でないと判定された場合には当該応答データを破棄し、前記応答データが前記送信データに対する応答であると判定された場合には前記応答データに含まれるデータをデータ送信の要求元に引き渡す応答処理工程と
    を有することを特徴とするデータ通信方法。
  8. 請求項5に記載のデータ通信装置と、
    印刷データを生成する手段とを有し、
    前記送信手段は、ネットワークに接続された、インターネットネットプロトコルバーション6のIPアドレスが付与されたプリンタに対して印刷データを送信することを特徴とする印刷制御装置。
  9. 印刷データを生成する手段としてコンピュータを更に機能させ、
    前記送信手段により、ネットワークに接続された、インターネットネットプロトコルバーション6のIPアドレスが付与されたプリンタに対して印刷データを送信することを特徴とする請求項6に記載のプログラム。
JP2009117049A 2009-05-13 2009-05-13 ネットワーク通信装置及び方法とプログラム Expired - Fee Related JP5328472B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2009117049A JP5328472B2 (ja) 2009-05-13 2009-05-13 ネットワーク通信装置及び方法とプログラム
US12/864,860 US8165042B2 (en) 2009-05-13 2010-04-28 Network communication apparatus, method and program
BRPI1011364-9A BRPI1011364B1 (pt) 2009-05-13 2010-04-28 aparelho e método de comunicação de dados, e, aparelho de controle de impressão
KR1020117029027A KR101296531B1 (ko) 2009-05-13 2010-04-28 데이터 통신 장치, 인쇄 제어 장치, 데이터 통신 방법 및 컴퓨터 판독가능 매체
EP10774890.7A EP2430803B1 (en) 2009-05-13 2010-04-28 Network communication apparatus, method and program
PCT/JP2010/057921 WO2010131633A1 (en) 2009-05-13 2010-04-28 Network communication apparatus, method and program
RU2011150473/08A RU2515552C2 (ru) 2009-05-13 2010-04-28 Устройство, способ и программа связи по сети
CN201080020690.7A CN102422606B (zh) 2009-05-13 2010-04-28 网络通信装置及方法
US13/371,972 US8964602B2 (en) 2009-05-13 2012-02-13 Network communication apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009117049A JP5328472B2 (ja) 2009-05-13 2009-05-13 ネットワーク通信装置及び方法とプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013145824A Division JP5591380B2 (ja) 2013-07-11 2013-07-11 ネットワーク通信装置及び方法とプログラム

Publications (3)

Publication Number Publication Date
JP2010268164A true JP2010268164A (ja) 2010-11-25
JP2010268164A5 JP2010268164A5 (ja) 2012-06-21
JP5328472B2 JP5328472B2 (ja) 2013-10-30

Family

ID=43085005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009117049A Expired - Fee Related JP5328472B2 (ja) 2009-05-13 2009-05-13 ネットワーク通信装置及び方法とプログラム

Country Status (8)

Country Link
US (2) US8165042B2 (ja)
EP (1) EP2430803B1 (ja)
JP (1) JP5328472B2 (ja)
KR (1) KR101296531B1 (ja)
CN (1) CN102422606B (ja)
BR (1) BRPI1011364B1 (ja)
RU (1) RU2515552C2 (ja)
WO (1) WO2010131633A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018125611A (ja) * 2017-01-30 2018-08-09 キヤノン株式会社 通信装置、通信方法、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850710B (zh) * 2015-12-03 2020-02-28 杭州海康威视数字技术股份有限公司 一种数据云存储系统、客户终端、存储服务器及应用方法
US10412177B2 (en) * 2016-03-30 2019-09-10 Konica Minolta Laboratory U.S.A., Inc. Method and system of using IPV6 neighbor discovery options for service discovery
US11706301B2 (en) 2018-08-28 2023-07-18 Petal Cloud Technology Co., Ltd. Server node selection method and terminal device
JP7341765B2 (ja) * 2019-07-16 2023-09-11 キヤノン株式会社 印刷装置、その制御方法およびプログラム
RU2740159C1 (ru) * 2019-10-14 2021-01-12 Федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный университет физической культуры, спорта, молодежи и туризма (ГЦОЛИФК)" (РГУФКСМиТ) Способ копирования или перемещения иерархически структурированных данных с устройства-носителя информации на устройство-потребитель информации

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156707A (ja) * 1998-11-19 2000-06-06 Nec Corp パケット交換局及びパケット交換ネットワークシステム
JP2004166002A (ja) * 2002-11-13 2004-06-10 Toshiba Corp 通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラム
JP2009077281A (ja) * 2007-09-21 2009-04-09 Fuji Xerox Co Ltd クライアント装置、サーバ装置、データ処理プログラム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09275418A (ja) * 1996-04-05 1997-10-21 Hitachi Ltd ネットワーク接続装置
JPH11110365A (ja) 1997-10-03 1999-04-23 Hitachi Ltd ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法
JP2002252641A (ja) 2001-02-26 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> 通信接続処理方法及びその実施装置並びにその処理プログラムと記録媒体
JP2002354005A (ja) 2001-05-24 2002-12-06 Fujitsu Ltd 通信宛先の名前からアドレスを得る名前解決方法、名前解決装置及びアドレス選択装置
WO2002103547A1 (en) * 2001-06-15 2002-12-27 Advanced Network Technology Laboratories Pte Ltd. Computer networks
US7134012B2 (en) * 2001-08-15 2006-11-07 International Business Machines Corporation Methods, systems and computer program products for detecting a spoofed source address in IP datagrams
JP2003348116A (ja) * 2002-05-28 2003-12-05 Hitachi Ltd 家庭内ネットワーク向けアドレス自動設定方式
CA2403074A1 (en) * 2002-09-13 2004-03-13 Barry W. Jackson Column hung shoring system
US8260961B1 (en) * 2002-10-01 2012-09-04 Trustwave Holdings, Inc. Logical / physical address state lifecycle management
US7356009B1 (en) * 2002-10-02 2008-04-08 Cisco Technology, Inc. Method and apparatus for configuring a mobile node to retain a “home” IP subnet address
FR2851867B1 (fr) 2003-02-28 2005-06-24 Cit Alcatel Ordonnancement d'adresses dans serveur de noms de domaine
US7490351B1 (en) * 2003-03-12 2009-02-10 Occam Networks Controlling ARP traffic to enhance network security and scalability in TCP/IP networks
US7523485B1 (en) * 2003-05-21 2009-04-21 Foundry Networks, Inc. System and method for source IP anti-spoofing security
FR2855697B1 (fr) * 2003-05-26 2005-09-23 At & T Corp SYSTEME DE CONVERSION DE DONNEES BASEE SUR IPv4 EN DONNEES BASEES SUR IPv6 A TRANSMETTRE A TRAVERS UN RESEAU COMMUTE IP
JP2005295217A (ja) * 2004-03-31 2005-10-20 Toshiba Corp 通信装置、名前解決方法およびプログラム
JP2006050286A (ja) * 2004-08-05 2006-02-16 Seiko Epson Corp ネットワークシステム、ネットワークシステムにおける通信方法、およびホスト装置
WO2006023482A1 (en) * 2004-08-16 2006-03-02 Flarion Technologies, Inc. Methods and apparatus for managing group membership for group communications
US7796614B1 (en) * 2004-11-30 2010-09-14 Symantec Corporation Systems and methods for message proxying
EP1869569A2 (en) * 2005-03-17 2007-12-26 Mark Dillon System, method and device for trapping mass-delivery electronic messages
US7436783B2 (en) * 2005-04-04 2008-10-14 Apple Inc. Method and apparatus for detecting a router that improperly responds to ARP requests
JP4947913B2 (ja) * 2005-04-05 2012-06-06 キヤノン株式会社 通信装置及びその通信制御方法
JP2006324946A (ja) 2005-05-19 2006-11-30 Matsushita Electric Ind Co Ltd 通信装置、通信方法及び通信識別子選択プログラム
JP4241681B2 (ja) 2005-07-05 2009-03-18 ブラザー工業株式会社 情報処理装置、およびプログラム
KR100652964B1 (ko) * 2005-08-25 2006-12-01 삼성전자주식회사 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
JP2007104137A (ja) * 2005-09-30 2007-04-19 Matsushita Electric Ind Co Ltd データ通信装置
US8284782B1 (en) * 2005-11-15 2012-10-09 Nvidia Corporation System and method for avoiding ARP cache pollution
JP3920305B1 (ja) * 2005-12-12 2007-05-30 株式会社日立コミュニケーションテクノロジー パケット転送装置
KR100694231B1 (ko) * 2006-01-16 2007-03-14 삼성전자주식회사 패킷 처리 장치 및 그 방법
JP4732257B2 (ja) * 2006-07-07 2011-07-27 富士通株式会社 中継装置、経路制御方法、及び経路制御プログラム
US7885180B2 (en) * 2006-12-15 2011-02-08 Check Point Software Technologies Inc. Address resolution request mirroring
US7689671B2 (en) 2007-03-09 2010-03-30 International Business Machines Corporation System and method for multiple IP addresses during domain name resolution
KR100992968B1 (ko) * 2007-04-06 2010-11-08 삼성전자주식회사 네트워크 스위치 및 그 스위치의 주소충돌방지방법
US8495224B2 (en) * 2007-06-29 2013-07-23 Apple Inc. Network management
US7734792B2 (en) 2007-07-25 2010-06-08 Novell, Inc. Secure tunnel domain name management
CA2619092C (en) * 2008-01-29 2015-05-19 Solutioninc Limited Method of and system for support of user devices roaming between routing realms by a single network server
US7869389B2 (en) * 2008-09-26 2011-01-11 O2Micro, Inc. Network device with proxy address resolution protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156707A (ja) * 1998-11-19 2000-06-06 Nec Corp パケット交換局及びパケット交換ネットワークシステム
JP2004166002A (ja) * 2002-11-13 2004-06-10 Toshiba Corp 通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラム
JP2009077281A (ja) * 2007-09-21 2009-04-09 Fuji Xerox Co Ltd クライアント装置、サーバ装置、データ処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018125611A (ja) * 2017-01-30 2018-08-09 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP7022508B2 (ja) 2017-01-30 2022-02-18 キヤノン株式会社 通信装置、通信方法、及びプログラム

Also Published As

Publication number Publication date
US20110064076A1 (en) 2011-03-17
BRPI1011364A2 (pt) 2016-03-15
EP2430803A1 (en) 2012-03-21
KR101296531B1 (ko) 2013-08-13
CN102422606A (zh) 2012-04-18
JP5328472B2 (ja) 2013-10-30
US8165042B2 (en) 2012-04-24
CN102422606B (zh) 2015-04-22
RU2011150473A (ru) 2013-08-27
EP2430803B1 (en) 2016-07-13
RU2515552C2 (ru) 2014-05-10
EP2430803A4 (en) 2015-01-07
KR20120041170A (ko) 2012-04-30
WO2010131633A1 (en) 2010-11-18
US20120140281A1 (en) 2012-06-07
BRPI1011364B1 (pt) 2021-01-19
US8964602B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
US7827235B2 (en) Service providing system, service providing method, and program of the same
JP5328472B2 (ja) ネットワーク通信装置及び方法とプログラム
EP1441487A2 (en) Address query response method, program, and apparatus
KR100652964B1 (ko) 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
JP4101140B2 (ja) 画像処理装置、画像処理システム、名前登録方法、名前登録プログラム及び記録媒体
EP1583323A1 (en) Communications apparatus, name resolution method and program
JP5882855B2 (ja) ホストデバイスを保護するための方法、システム及びプログラム
JP3812285B2 (ja) ネットワークシステム及びネットワーク機器
JP2009021921A (ja) IPv4/IPv6デュアルスタック対応端末のための情報提示システム
JP4443482B2 (ja) インターネット印刷システム及びそれを実現するためのプログラム
JP2008311939A (ja) ネットワーク通信機器
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
JP2006309642A (ja) プロトコル変換装置及びプロトコル変換プログラム
JP5591380B2 (ja) ネットワーク通信装置及び方法とプログラム
JP4921864B2 (ja) 通信制御装置、認証システムおよび通信制御プログラム
JP5383415B2 (ja) 通信装置及び通信装置の通信方法並びにプログラム
JP4905376B2 (ja) 複数のネットワークプロトコルに対応した通信システムおよび通信方法
JP4690918B2 (ja) ネットワーク機器
CN107888651B (zh) 用于多简档创建以减轻剖析的方法和系统
JP4165340B2 (ja) 情報処理装置
JP2002300161A (ja) 情報処理装置及び該情報処理装置の制御方法
JP2006229876A (ja) 機器、能力通知方法及び能力通知プログラム
JP2006260057A (ja) 通信システム、通信装置、通信方法、通信プログラム及び通信プログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120508

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130321

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130723

R151 Written notification of patent or utility model registration

Ref document number: 5328472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees