JP2010193015A - 通信装置およびその通信方法 - Google Patents
通信装置およびその通信方法 Download PDFInfo
- Publication number
- JP2010193015A JP2010193015A JP2009033226A JP2009033226A JP2010193015A JP 2010193015 A JP2010193015 A JP 2010193015A JP 2009033226 A JP2009033226 A JP 2009033226A JP 2009033226 A JP2009033226 A JP 2009033226A JP 2010193015 A JP2010193015 A JP 2010193015A
- Authority
- JP
- Japan
- Prior art keywords
- network
- name resolution
- name
- dns server
- communication
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】複数のネットワークにおいて独立に管理されているドメイン名の名前解決を、ネットワークおよびユーザに余計な負荷をかけずに効率よく実行する通信装置を提供する。
【解決手段】DNS体系が互いに異なる2以上のIPネットワークに接続され、それらのIPネットワークのいずれかを介して他の通信装置と通信する通信装置であって、所定のIPネットワークで名前解決ができることが保証されているドメイン名を用い、ドメイン名の名前解決が成功するか否かをそれらのIPネットワークに順番に接続して確認することで、ドメイン名の名前解決が成功したIPネットワークを第1域網、成功しなかったIPネットワークを第2域網として識別する識別部と、他の通信装置と通信を開始するのに先だって、第1域網と識別されたIPネットワークから優先して名前解決を試み、名前解決が成功したIPネットワークを介して他の通信装置と通信する通信制御部とを備える。
【選択図】図4
【解決手段】DNS体系が互いに異なる2以上のIPネットワークに接続され、それらのIPネットワークのいずれかを介して他の通信装置と通信する通信装置であって、所定のIPネットワークで名前解決ができることが保証されているドメイン名を用い、ドメイン名の名前解決が成功するか否かをそれらのIPネットワークに順番に接続して確認することで、ドメイン名の名前解決が成功したIPネットワークを第1域網、成功しなかったIPネットワークを第2域網として識別する識別部と、他の通信装置と通信を開始するのに先だって、第1域網と識別されたIPネットワークから優先して名前解決を試み、名前解決が成功したIPネットワークを介して他の通信装置と通信する通信制御部とを備える。
【選択図】図4
Description
本発明は、通信装置およびその通信方法に関し、特に、DNS(Domain Name System)体系が互いに異なる2以上のIP(Internet Protocol)ネットワークに接続され、それらのIPネットワークのいずれかを介して他の通信装置と通信する通信装置およびその通信方法に関する。
近年、インターネットとは独立したネットワークであって、高品質な通信回線を利用して大容量コンテンツを配信するCDN(Contents Delivery Network)の構築が進められている。
CDNは、インターネットと同様にIPネットワークで構築されることが多い。そのため、CDNは、インターネットと同様に、DNSと呼ばれる名前解決機構を利用する。
DNSは、階層的な分散型データベースシステムとして構築される。DNSでは、クライアントとなる通信端末(以下、クライアント通信端末と記載。)が、該当するIPネットワークに存在するいずれかのDNSサーバに、通信相手を示すドメイン名の名前解決を要求する。そして、そのDNSサーバにより、階層的な分散型データベースシステムを構成するDNSサーバ間で適切な通信が行われ、該当するIPアドレスがクライアント通信端末に返信されるようになっている。
ここで、名前解決とは、ネットワーク上でのサーバ等の機器につけられた名前からアドレスを割り出すこと、またはその逆である。クライアント通信端末では、ネットワークで通信を行うのにIPアドレスが必要であるため、通信したいドメイン名からIPアドレスを割り出す(見つける)名前解決が、クライアント通信端末におけるすべての通信に先だって実行される。また、IPアドレスとは、インターネットやイントラネットなどのIPネットワークに接続されたコンピュータや通信機器などの機器ごとに割り振られた識別番号であり、パケットを送受信したい等の通信を行いたい通信相手の機器を判別するための番号である。
また、一般のクライアント通信端末は、複数のDNSサーバを登録することが可能となっている。そのため、一般のクライアント通信端末では、登録されてかつ現在使用中のDNSサーバから応答がない場合に、登録されている予備のDNSサーバに切り替えて、再度名前解決の要求を実施する。
なお、クライアント通信端末は、DNSサーバに対して、DNSで管理されていないドメイン名の解決要求を送信した場合、そのDNSサーバにより該当名なしという応答が返される。その場合、クライアント通信端末は、登録されている予備のDNSサーバへの切り替えを行わない。
しかしながら、CDNとインターネットは、互いに独立したネットワークであるために、DNSの管理においてCDNとインターネットが連携しないことがある。すなわち、CDNに対して構築される階層的な分散型データベースシステムとネットワークに対して構築される階層的な分散型データベースとは別体系(独立な体系)であるため、CDN側のDNSサーバとネットワーク側のDNSサーバとが連携しないことがある。
このため、従来のクライアント通信装置では、インターネットとCDNとのネットワークの両方に接続する場合、インターネット側のDNSサーバを使用している時はCDNでのドメイン名解決が不可能である。反対にCDN側のDNSサーバを利用している時はインターネットでのドメイン名解決が不可能となってしまうという課題がある。
そこで、接続している全てのネットワークのDNSサーバに対して名前解決要求を送出し、受信した回答の中で最も優先順位が高い回答を採用する方法およびネットワークに優先順位をつけて優先順位の高いネットワークのDNSサーバから使用する方法が提案されている(例えば特許文献1)。
特開2004−297494号公報
しかしながら、従来の方法では以下のような問題がある。すなわち、インターネットとCDNとネットワークの両方に接続するクライアント通信装置が、その両方のネットワークのドメイン名を解決するために、接続する全てのネットワークのDNSサーバに対して名前解決要求を送出する方法は、非効率的であり、余計な負荷をネットワークに与える。また、ネットワークに優先順位をつけて優先順位の高いネットワークのDNSサーバから使用する方法は、ネットワークの優先順位に言及しておらず、手動で設定する必要があり、利用者の負担が増大する。
本発明は、上記のような課題を解決するためになされたもので、複数のネットワークにおいて独立に管理されているドメイン名の名前解決を、ネットワークおよびユーザに余計な負荷をかけずに効率よく実行できる通信装置およびその通信方法を提供することを目的とする。
前記従来の課題を解決するために、本願第1の発明にかかる通信装置は、DNS(Domain Name System)体系が互いに異なる2以上のIP(Internet Protocol)ネットワークに接続され、前記2以上のIPネットワークのいずれかを介して他の通信装置と通信する通信装置であって、所定のIPネットワークで名前解決ができることが保証されているドメイン名を用いて、前記ドメイン名の名前解決が成功するか否かを前記2以上のIPネットワークに順番に接続して確認することにより、前記ドメイン名の名前解決が成功したIPネットワークを第1域網、前記ドメイン名の名前解決が成功しなかったIPネットワークを第2域網として識別する識別部と、他の通信装置と通信を開始するのに先だって、前記第1域網と識別されたIPネットワークから優先して名前解決を試み、名前解決が成功したIPネットワークを介して他の通信装置と通信する通信制御部とを備えることを特徴とする。
本願第2の発明にかかる通信装置は、前記識別部は、IPネットワークの前記ドメイン名の名前解決が成功するときに取得するIPアドレスに対して、疎通確認を実行する疎通確認部を有し、前記ドメイン名の名前解決が成功し、かつ、前記疎通確認部による疎通確認が成功した場合に、当該IPネットワークを第1域網として識別することを特徴とする。
本願第3の発明にかかる通信装置は、前記通信装置は、前記識別部の識別結果を保持する保持部を備え、前記通信制御部は、前記識別結果に基づいて、前記名前解決を試みることを特徴とする。
本発明によれば、複数のネットワークにおいて独立に管理されているドメイン名の名前解決を、ネットワークおよびユーザに余計な負荷をかけずに効率よく実行する通信装置およびその通信方法を実現することができる。
以下に、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
はじめに、図1〜図3を用いて本発明の実施の形態1におけるクライアント通信端末が複数のネットワーク接続時に名前解決する方法の構成について説明する。
はじめに、図1〜図3を用いて本発明の実施の形態1におけるクライアント通信端末が複数のネットワーク接続時に名前解決する方法の構成について説明する。
図1は、実施の形態1におけるシステム構成を示した図である。このシステムは、クライアント通信端末100と、インターネット200と、CDN300とから構成され、クライアント通信端末は、複数のネットワークと接続している。
図1において、クライアント通信端末100は、インターネット200およびCDN300の複数のネットワークに接続されている。
インターネット200では、DNSサーバ群210とDHCP(Dynamic Host Configuration Protocol)サーバ220とが設置されている。
DNSサーバ群210は、階層的な分散型データベースシステムとして構築されており、インターネット200上の機器のドメイン名とそのIPアドレスとの対応表を管理する。
DHCPサーバ220は、インターネット200上の機器にアクセスするためのクライアント通信端末100のIPアドレスやDNSサーバ群210のIPアドレス等をクライアント通信端末100に対して配信する。
また、CDN300では、CDN300用のDNSサーバ310が設置されている。DNSサーバ310は、CDN300上のドメイン名とIPアドレスの対応表を管理する。ここで、DNSサーバ群210とDNSサーバ310は独立しており、相手側が管理しているドメイン名の名前解決は行えない。すなわち、ドメイン名は、インターネット200およびCDN300の複数のネットワークにおいて独立に管理されている。具体的には、DNSサーバ群210では、DNSサーバ310が管理しているドメイン名の名前解決は行えない。同様に、DNSサーバ310では、DNSサーバ群210が管理しているドメイン名の名前解決は行えない。
DHCPサーバ320は、CDN300上の機器にアクセスするためのクライアント通信端末100のIPアドレスやDNSサーバ310のIPアドレス等をクライアント通信端末100に対して配信する。
図2は、実施の形態1におけるクライアント通信端末100の構成を示したブロック図である。
図2におけるクライアント通信端末100は、通信インタフェース101および102と、IP設定部103と、ドメイン名保持部104と、広域/閉域識別部105と、名前解決部106と、ネットワークリスト107とを備える。
図2において、通信インタフェース101および102は、インターネット200およびCDN300にそれぞれ接続されている。
IP設定部103は、DHCPクライアント機能を備えており、DHCPサーバが運用されていれば、自動的にクライアント通信端末100が使用するIPアドレスと共にDNSサーバのIPアドレス等を取得する。IP設定部103は、取得したクライアント通信端末100のIPアドレスとDNSサーバのIPアドレスとを含む設定情報を、ネットワークリスト107に記録するとともに、通信インタフェースに対して設定する。例えば、IP設定部103は、CDN300におけるクライアント通信端末100とDNSサーバ310とのIPアドレスを含む設定情報を取得した場合には、それらのIPアドレスを通信インタフェース102に設定する。同様に、インターネット200におけるクライアント通信端末100とDNSサーバ群210とのIPアドレスを含む設定情報を取得した場合には、それらのIPアドレスを通信インタフェース101に設定する。
なお、IP設定部103は、DHCPサーバが運用されていない場合を考慮し、手動でクライアント通信端末100やDNSサーバのIPアドレスを含む設定情報を設定できるようにするためのユーザインタフェースを備えている。本実施の形態1ではインターネット200およびCDN300の両方ともDHCPサーバが運用されているとして説明する。すなわち、本実施の形態1では、IP設定部103は、DHCPを用いてクライアント通信端末100とDNSサーバとのIPアドレスを含む設定情報を取得することができるものとして説明する。
ドメイン名保持部104は、インターネット200のDNSサーバ群210で名前解決ができることが保証されているドメイン名を保持している。ここで、ドメイン名保持部104が保持するドメイン名は、一般的には、クライアント通信端末100の開発業者がインターネット200のDNSに登録しておいたドメイン名が使用される。例えば「www.client−maker.jp」のような文字列がドメイン名保持部104に保持される。
広域/閉域識別部105は、各ネットワーク(ここでは、インターネット200およびCDN300)のDNSサーバに対して、ドメイン名保持部104が保持するドメイン名の名前解決を、名前解決部106を用いて実施する。そして、広域/閉域識別部105は、例えばそのドメイン名のIPアドレスが取得できた場合には広域網と判定し、そのドメイン名のIPアドレスが取得できなかった場合には閉域網と判定する。広域/閉域識別部105は、その結果を識別情報としてネットワークリスト107に記録する。
名前解決部106は、ネットワークリスト107を参照し、使用するDNSサーバを決定して名前解決を実行する。
ネットワークリスト107には、少なくともクライアント通信端末100のIPアドレスと、DNSサーバのIPアドレスと、それらIPアドレスに対する識別情報とがデータとして記録されている(例えば図3)。
図3は、実施の形態1におけるネットワークリスト107が記録するデータの一例を示す図である。
図3において、ネットワークリスト107は、広域網と判断されたネットワークのクライアント通信端末100のIPアドレス(192.168.0.10)とそのサブネットマスク(255.255.255.0)とが記録されている。また、ネットワークリスト107は、広域網と判断されたネットワークのゲートウェイのIPアドレス(192.168.0.1)とDNSサーバのIPアドレス(192.168.10.100/192.168.10.101)とが記録されている。
同様に、ネットワークリスト107は、閉域網と判断されたネットワークのクライアント通信端末100のIPアドレス(10.0.0.20)とそのサブネットマスク(255.255.255.0)とが記録されている。また、ネットワークリスト107は、閉域網と判断されたネットワークのゲートウェイのIPアドレス(10.0.0.1)とDNSサーバのIPアドレス(10.0.10.100/10.0.10.101)とが記録されている。
通信インタフェース101は、IP設定部103により、インターネット200におけるクライアント通信端末100とDNSサーバ群210とのIPアドレスが設定され、それらを含む設定情報を保持している。また、通信インタフェース101は、設定情報に基づいて、インターネット200と接続する。
通信インタフェース102は、IP設定部103により、CDN300におけるクライアント通信端末100とDNSサーバ310とのIPアドレスが設定され、それらを含む設定情報を保持している。また、通信インタフェース102は、設定情報に基づいて、CDN300と接続する。
なお、通信インタフェース101および102は、クライアント通信端末100に論理的に2つ備えられていればよく、物理的に2つ備えられていなくてもよい。例えばIPv6に対応した通信端末では、複数のIPv6アドレス(一般的にはリンクローカルアドレスとグローバルアドレス)が同一の物理インタフェースに設定できることはよく知られている。IPv4に対応した通信端末においても、一部のOS(Operating System)では複数のIPv4アドレスを同一の物理インタフェースに設定することが可能である。さらに、IPv6とIPv4の両方に対応した通信端末においては、IPv6アドレスとIPv4アドレスを同一の物理インタフェースに設定することも可能である。
次に、図4〜図7を用いて、本発明の実施の形態1におけるクライアント通信端末が名前解決する方法の動作について説明する。
本発明の実施の形態1における名前解決方法は、1)ネットワークリスト107の生成と、2)DNSサーバへの問い合わせの2段階に分けることができる。また、1)ネットワークリスト107の生成は、クライアント通信端末100の設置時および電源起動時などの起動時に一度だけ実行される。また、2)DNSサーバへの問い合わせは、名前解決が必要となる度に実行される。
まず、1)ネットワークリスト107の生成の方法について説明する。
図4は、実施の形態1における起動時のネットワークリスト107の生成する処理を示すフローチャートである。ここでは、クライアント通信端末100は、2つの通信インタフェース101および102を備える。そして、通信インタフェース101が、インターネット200に接続し、通信インタフェース102がCDN300に接続するものとする。
IP設定部103は、クライアント通信端末100が起動した際に、まず、通信インタフェース101および102それぞれに対してクライアント通信端末100のIPアドレスが設定されているかを確認する(S101)。なお、通信インタフェース101および102それぞれにおいて、クライアント通信端末100のIPアドレスがIP設定部103を介して手動設定されていた場合(S101のNoの場合)、ここでの処理を終了する。
次に、IP設定部103は、例えば、クライアント通信端末100のIPアドレスが通信インタフェース101に設定されていない場合(S101のYesの場合)、DHCPクライアント機能を用いて、DNSサーバ群210のIPアドレスなどの設定情報を取得する(S102)。具体的には、IP設定部103は、通信インタフェース101に対する設定情報としてDHCPサーバ220からIPアドレス、サブネットマスク、ゲートウェイアドレスおよびDNSサーバ群210のIPアドレスなどの設定情報を取得する。
そして、IP設定部103は、通信インタフェース101に、取得したIPアドレスを含む設定情報を設定する(S103)。また、同時に、その設定情報のうち少なくともクライアント通信端末100のIPアドレスとDNSサーバ群210のIPアドレスとをネットワークリスト107に記録する。
次に、IP設定部103は、DHCPサーバ220からの応答、すなわちS102で取得した通信インタフェース101に対する設定情報に、DNSサーバ群210のIPアドレスが含まれていたかを判定する(S104)。
ここで、IP設定部103が取得した設定情報にDNSサーバ群210のIPアドレスが含まれていなかった場合(S104のNoの場合)、S101に戻る。このとき、S104で判定した通信インタフェース101とは別の通信インタフェース102に対して、S101からの処理を実施する。
IP設定部103が取得した設定情報にDNSサーバ群210のIPアドレスが含まれていた場合(S104のYesの場合)、広域/閉域識別部105は、DNSサーバ群210に対して、ドメイン名保持部104が保持するドメイン名の名前解決を実施する(S105)。
そして、広域/閉域識別部105は、そのドメイン名の名前解決を実施した結果からDNSサーバ群210の識別情報をネットワークリスト107に記録する(S106)。ここでは、ドメイン名保持部104が保持するドメイン名がインターネット200のDNSサーバ群210で名前解決ができることが保証されており、DNSサーバ群210はそのドメイン名に対応するIPアドレスを取得することができる。すなわち、広域/閉域識別部105は、DNSサーバ群210から接続できるネットワークを広域網と判断し、ネットワークリスト107に記録する。
次に、S101に戻り、通信インタフェース102に対して同様の処理を実施する。
最終的には、通信インタフェース101および102それぞれに対してクライアント通信端末100のIPアドレスが既に設定されていることを確認すると(S101のNoの場合)、ここでの処理を終了する。
以上のようにして、クライアント通信端末100は、起動時におけるネットワークリスト107を生成する。
なお、S102において、図3に示すようにDHCPサーバ(例えばDHCPサーバ220)から2つ以上のDNSサーバ(例えばDNSサーバ群210)のIPアドレスが返される場合がある。その場合、広域/閉域識別部105は、一方のIPアドレスのDNSサーバに対してドメイン名保持部104が保持するドメイン名の名前解決を実施する。そして、名前解決を実施した一方のIPアドレスのDNSサーバから応答がなかった場合にのみ、他方のIPアドレスのDNSサーバに対して名前解決を実施する。
ところで、ここで説明しているような、クライアント通信端末100に複数の通信インタフェース(例えば2つの通信インタフェース101および102)が接続されているような環境を一般にマルチホーム環境と呼ぶ。
マルチホーム環境では、ある任意のサーバと通信を行うときに、どの通信インタフェースを使用すればよいかを、決定する必要がある。特に図1に示すように、クライアント通信端末100における一方の通信インタフェース101はインターネット200に、他方の通信インタフェース102はCDN300に接続されているような場合は、出力する通信インタフェースを間違えると、通信ができなくなってしまう。
そのため、本発明におけるクライアント通信端末100では、以下の(1)〜(3)で示すルールで使用する通信インタフェース(通信インタフェース101または102)を決定する。
(1)起動時、DNSサーバと通信する場合は、ネットワークリスト107において該DNSサーバに対応するクライアント通信端末100のIPアドレス等の設定情報が設定された通信インタフェースを使用する。具体的には、DNSサーバ群210と通信する場合には、ネットワークリスト107においてDNSサーバ群210に対するクライアント通信端末100のIPアドレス等が設定された通信インタフェース101を使用する。
(2)閉域網のDNSサーバから取得したIPアドレスに対しては、ネットワークリスト107においてそのDNSサーバに対応するIPアドレスが設定された通信インタフェースを使用する。具体的には、閉域網におけるIPアドレスに対して、ネットワークリスト107において閉域網と識別されているDNSサーバ310に対するクライアント通信端末100のIPアドレス等が設定された通信インタフェース102を使用する。つまり、閉域網におけるIPアドレスを持つ機器等への接続には、閉域網に接続する通信インタフェース102を用いるというルールである。
(3)その他の通信、すなわち閉域網以外のDNSサーバから取得したIPアドレスに対する通信には、ネットワークリスト107において広域網と判定されたDNSサーバに対応するIPアドレスが設定された通信インタフェースを使用する。例えば、通信インタフェースが4つあり、そのうち1つが閉域網の通信インタフェースでその他が広域網の通信インタフェースである場合、閉域網以外のIPアドレスを持つ機器等への接続には、広域網に接続する通信インタフェースの3つのうちいずれを用いてもよいというルールである。これは、広域網であるインターネット200におけるDNSサーバ群210のどれに接続しても、IPアドレスは、インターネット200において1つに決まるからである。本実施例は、閉域網以外におけるIPアドレスに対して、ネットワークリスト107において広域網と識別されているDNSサーバ群210に対するクライアント通信端末100のIPアドレス等が設定された通信インタフェース101を使用する。
次に、図5〜図7を用いて、2)DNSサーバへの問い合わせの方法について説明する。
図5は、実施の形態1におけるDNSサーバへの問い合わせ処理を示すフローチャートである。
まず、クライアント通信端末100における名前解決部106は、ネットワークリスト107において「広域網」と識別されているDNSサーバ群210を用いて、所望の接続先となるドメイン名の名前解決を実施する(S210)。
次に、名前解決部106は、そのドメイン名に対応するIPアドレスが取得できたかどうかの確認を行う(S220)。なお、名前解決部106は、IPアドレスが取得できた場合は(S220のYesの場合)、処理を終了する。
名前解決部106は、そのドメイン名に対応するIPアドレスが取得できなかった場合(S220のNoの場合)、ネットワークリスト107において「閉域網」と識別されているDNSサーバ310を用いてそのドメイン名の名前解決を実施し(S230)、終了する。
以上のようにして、クライアント通信端末100はDNSサーバ(DNSサーバ群210またはDNSサーバ310)への問い合わせを行う。
次に、図6および図7を用いて図5におけるS210およびS230の詳細な動作について説明する。
図6は、図5におけるS210の詳細を示すフローチャートである。
図6において、まず、クライアント通信端末100における名前解決部106は、ネットワークリスト107において「広域網」となっている全てのDNSサーバ群210を用いて所望の接続先となるドメイン名の名前解決を実施したかどうか確認する(S211)。
名前解決部106は、「広域網」となっている全てのDNSサーバ群210を用いて名前解決を実施したことを確認した場合(S211のYesの場合)、S210での処理を終了する。そして、図5のS220に遷移する。
一方、名前解決部106は、「広域網」となっている全てのDNSサーバ群210を用いて名前解決を実施していないことを確認した場合(S211のNoの場合)、「広域網」となっている全てのDNSサーバ群210の中で未使用のDNSサーバ群210を1つ抽出する(S212)。
次に、名前解決部106は、抽出したDNSサーバ群210の1つに対して名前解決要求を送出する(S213)。
次に、名前解決部106は、名前解決要求を送出後、送出先のDNSサーバ群210から一定時間内に応答があるかどうかを判定する(S214)。
名前解決部106は、送出先のDNSサーバ群210から応答があった場合(S214のYesの場合)、S210の処理を終了する。そして、図5のS220へ遷移する。
一方、名前解決部106は、送出先のDNSサーバ群210から応答がなかった場合は(S214のNoの場合)、S211へ遷移する。
以上のようにして、クライアント通信端末100は、S210の処理、すなわち「広域網」となっているDNSサーバ群210による名前解決を行う。
なお、広域網に設置されたDNSサーバ群210は、インターネット200上の機器のドメイン名とそのIPアドレスとの対応表を連携して一義的に管理するので、全て同じ結果が返ってくる。名前解決部106は、一定時間に応答がなかった場合のみ、他のDNSサーバに切り替える。
図7は、図5におけるS230の詳細を示すフローチャートである。
図7において、まず、名前解決部106は、ネットワークリスト107において「閉域網」となっている全てのIPアドレスに対応するいずれかのDNSサーバ310を用いて所望の接続先となるドメイン名の名前解決を実施したかどうか確認する(S231)。ここで、名前解決部106は、「閉域網」となっている全てのIPアドレスに対応するいずれかのDNSサーバ310を用いて名前解決を実施していた場合(S231のYesの場合)、名前解決が失敗したとして、S230での処理を終了する。
一方、名前解決部106は、「閉域網」となっている全てのIPアドレスに対応するいずれかのDNSサーバ310を未だ用いてない場合(S231のNoの場合)、未使用のDNSサーバ310に対応するIPアドレスを抽出する(S232)。
次に、名前解決部106は、抽出したIPアドレスに対応する全てのDNSサーバ310を用いて名前解決を行ったかどうかを確認する(S233)。
名前解決部106は、全てのDNSサーバ310を用いて名前解決を行ったことを確認した場合(S233のYesの場合)、S231に遷移する。
一方、名前解決部106は、名前解決に未だ用いていないDNSサーバ310が存在すれば(S233のNoの場合)、未確認のDNSサーバを1つ抽出し(S234)、名前解決要求を送出する(S235)。
次に、名前解決部106は、名前解決要求を送出後、送出先のDNSサーバ310から一定時間内に応答があるかどうかを判定する(S236)。
名前解決部106は、送出先のDNSサーバ310から応答がなかった場合は(S236のNoの場合)、S213へ遷移する。
一方、名前解決部106は、送出先のDNSサーバ310から一定時間内に応答があった場合(S236のYesの場合)、所望の接続先となるドメイン名のIPアドレス取得に成功したかどうか判定する(S237)。
名前解決部106は、そのIPアドレスが取得できていれば(S237のYesの場合)、名前解決が成功したとして、S230での処理を終了する。
なお、名前解決部106は、そのIPアドレスが取得できなかった場合は(S237のNoの場合)、S231へ遷移する。
以上のようにして、クライアント通信端末100は、S230の処理、すなわち「閉域網」となっているDNSサーバ310による名前解決の処理を行う。
ここで、ネットワークリスト107に図3に示すデータが設定されていた場合に、名前解決部106が行うDNSサーバへの問い合わせ順序について具体的に説明する。
はじめに、名前解決部106は、ネットワークリスト107において、広域網のDNSサーバ「192.168.10.100」に問い合わせを行い、応答がタイムアウトした場合にのみ、広域網の他のDNSサーバ「192.168.10.101」に問い合わせを行う。すなわち、名前解決部106は、DNSサーバ「192.168.10.100」から所望の接続先であるドメイン名に該当する名前がないという該当名なしの回答の応答を受けた場合に、他のDNSサーバ「192.168.10.101」に問い合わせる。
さらに、名前解決部106は、他のDNSサーバに問い合わせた結果、タイムアウト、もしくは該当名なしの回答の応答を受ける場合がある。その場合には、名前解決部106は、閉域網のDNSサーバ「10.0.10.100」に問い合わせを行う。名前解決部106は、同様に、その閉域網のDNSサーバ「10.0.10.100」からの応答がタイムアウトした場合には、それとは別のDNSサーバ「10.0.10.101」に問い合わせを行う。
以上、実施の形態1によれば、クライアント通信端末100が、ドメイン名が独立に管理されているCDN300とインターネット200との複数のネットワークに接続する場合でも、クライアント通信端末100に複雑な設定をしなくても、複数のネットワークの非効率な利用もなく、所望の接続先であるドメイン名の名前解決を効率的に行うことができる。
すなわち、実施の形態1によれば、複数のネットワークにおいて独立に管理されているドメイン名の名前解決を、ネットワークおよびユーザに余計な負荷をかけずに効率よく実行する通信装置およびその通信方法を実現することができる。
(変形例1)
実施の形態1では、クライアント通信端末100が、所望の接続先であるドメイン名の名前解決を行う場合の方針として、CDN300より優先してインターネット200に接続することを考慮し、広域網のDNSサーバに対する名前解決を優先したがそれに限らない。以下では、CDN300でのサービスを優先するとして、閉域網のDNSサーバを優先する方法についての変形例を説明する。
実施の形態1では、クライアント通信端末100が、所望の接続先であるドメイン名の名前解決を行う場合の方針として、CDN300より優先してインターネット200に接続することを考慮し、広域網のDNSサーバに対する名前解決を優先したがそれに限らない。以下では、CDN300でのサービスを優先するとして、閉域網のDNSサーバを優先する方法についての変形例を説明する。
図8は、変形例1におけるクライアント通信端末100の構成を示したブロック図である。
図8に示すクライアント通信端末100は、図2に示すクライアント通信端末100に対して、ドメイン名保持部204の構成が異なる。なお、図2と同様の要素には同一の符号を付しており、詳細な説明は省略する。
ドメイン名保持部204は、CDN300のDNSサーバ310で名前解決ができることが保証されているドメイン名を保持している。ここで、本変形例ではCDNサービスを優先する場合としているので、CDN事業者から教えられたドメイン名(例「www.service.cdn」)がドメイン名保持部204に記録されている。
そして、広域/閉域識別部105では、CDN300のDNSサーバ310に対して、ドメイン名保持部204が保持するドメイン名の名前解決を、名前解決部106を用いて実施する。そして、広域/閉域識別部105は、例えばそのドメイン名のIPアドレスが取得できた場合には閉域網と判断し、IPアドレスが取得できなかった場合には広域網と判定する。すなわち、そのドメイン名を解決できたネットワークを閉域と判定すればよい。
その他の説明は実施の形態1と同様であるので、省略する。
ただし、上述のこの方法は、クライアント通信端末100が、複数の閉域網に接続される場合には注意が必要である。
例えば、クライアント通信端末100に、図9に示すようなネットワークリスト107が生成されているとする。なお、図9は、変形例1におけるネットワークリスト107が記録するデータの1例を示す図である。
図9において、クライアント通信端末100のIPアドレスが「192.168.0.10」でアクセスするネットワークは、インターネット200につながっている。同様に、クライアント通信端末100のIPアドレスが「10.0.0.20」および「10.10.0.30」でアクセスするネットワークはCDN300およびCDN301である。
この場合、CDN事業者から教えられたドメイン名「www.service.cdn」を用いて広域網であるか閉域網であるかを判定すると、「10.0.0.20」に対応するDNSサーバだけが名前解決に成功し、「10.10.0.100」に対応するDNSサーバは広域と判定されてしまうことがある。これは、CDN300とCDN301とでは、ネットワークが独立である場合、すなわちドメイン名が独立に管理されている場合があるためである。
そのため、CDN事業者から教えられたドメイン名を用いて広域網であるか閉域網であるかを判定する場合は、広域網と判定されたDNSサーバ群に対し、図7で示すように広域網と判定された各ネットワークに対応するDNSサーバに対してさらに問い合わせを行わなければならない。
(変形例2)
実施の形態1では、ネットワークリスト107には、図3で示したように、少なくともクライアント通信端末100のIPアドレスと、DNSサーバのIPアドレスと、それらIPアドレスに対する識別情報とが記録されている例を説明したが、それに限らない。ネットワークリスト107に、図10に示すように、過去に閉域網で名前解決したドメイン名を記録してもよい。以下、その場合を変形例2として説明する。
実施の形態1では、ネットワークリスト107には、図3で示したように、少なくともクライアント通信端末100のIPアドレスと、DNSサーバのIPアドレスと、それらIPアドレスに対する識別情報とが記録されている例を説明したが、それに限らない。ネットワークリスト107に、図10に示すように、過去に閉域網で名前解決したドメイン名を記録してもよい。以下、その場合を変形例2として説明する。
図10は、変形例2におけるネットワークリスト107が記録するデータの1例を示す図である。
図11は、変形例2における名前解決部106がネットワークリスト107を利用してDNSサーバへの問い合わせをする処理を示したフローチャートである。なお、図11は、基本的には図5と同様である。図5と同じ処理を行うステップには同じ番号を付しており、詳細な説明は省略する。
図11において、名前解決部106は、まず、所望の接続先となるドメイン名、すなわち解決すべきドメイン名がネットワークリスト107に記録されているかどうかを確認する(S201)。具体的には、名前解決部106は、図10に示すネットワークリスト107の解決可能ドメイン名の項目に、そのドメイン名の記録があるかどうかを確認する。
名前解決部106は、そのドメイン名がネットワークリスト107に記録されている場合(S201のYesの場合)、ネットワークリスト107においてそのドメイン名に対応するDNSサーバであるが名前解決の実施は未確認であるDNSサーバがあるかを確認する(S202)。
名前解決部106は、そのドメイン名に対応するが名前解決の実施は未確認であるDNSサーバがある場合(S202のYesの場合)、そのDNSサーバを抽出し(S203)、名前解決を実行する(S204)。なお、例えば主で用いられるDNSサーバと予備で用いられるDNSサーバとがある場合には、主で用いられるDNSサーバを優先して抽出する。
次に、名前解決部106は、名前解決を実行したDNSサーバから応答があるかどうかを確認し(S205)、応答がない場合には(S205のNoの場合)、S202に戻り、そのドメイン名に対応する他のDNSサーバを用いて再び名前解決を試みる。
また、名前解決部106は、応答がある場合には(S205のYesの場合)、名前解決が成功したとして、解決したドメイン名をネットワークリスト107の該当する箇所に記録する。
以上のように、名前解決部106は、ネットワークリスト107を利用してDNSサーバへの問い合わせを行う。
なお、S205における名前解決が成功した場合だけでなく、図11(図5)のS220および図7のS237において、名前解決が成功した場合、解決したドメイン名を該当するDNSサーバに対応させてネットワークリスト107に記録する。
以上、本変形例2によれば、解決したことがあるドメイン名をネットワークリスト107に記録することで、ドメイン名が名前解決できるDNSサーバの確認をスキップすることができるので、名前解決の効率を上昇させることができる。
なお、実施の形態1と同様に広域網に接続されたDNSサーバを優先して用いる場合、閉域網のDNSサーバで解決できたドメイン名のみを記録するようにすれば、ネットワークリスト107の容量の節約を行うことができる。
(実施の形態2)
実施の形態1では、CDN300とインターネット200とは、互いに独立したネットワークであって、DNSの管理において連携しない場合について説明した。ここでは、CDN300とインターネット200とは、互いに独立したネットワークであるものの、DNSの管理において一部連携する場合について説明する。具体的には、CDN300におけるDNSサーバ330からインターネット200におけるDNSサーバ群210に対しては連携が可能だが、逆は不可能である場合について以下説明する。
実施の形態1では、CDN300とインターネット200とは、互いに独立したネットワークであって、DNSの管理において連携しない場合について説明した。ここでは、CDN300とインターネット200とは、互いに独立したネットワークであるものの、DNSの管理において一部連携する場合について説明する。具体的には、CDN300におけるDNSサーバ330からインターネット200におけるDNSサーバ群210に対しては連携が可能だが、逆は不可能である場合について以下説明する。
図12は、実施の形態2におけるシステム構成を示した図である。なお、図12は、実施の形態1における図1とほぼ同じ構成をとり、図1の説明と同じ構成要素については同じ番号を割り振り、説明を省略する。また、クライアント通信端末100の構成については図2と同じであるため、説明を省略する。
図12に示すシステム構成は、実施の形態1に係るシステム構成に対して、CDN330の構成が異なる。
DNSサーバ330は、CDN300に設置されており、CDN300上のドメイン名とIPアドレスの対応表を管理する。また、DNSサーバ330は、DNSサーバ群210ともつながっており、CDN300で解決できないドメイン名に関しては、DNSサーバ群210に対して問い合わせを行う。ただし、DNSサーバ330は、DNSサーバ群210からの問い合わせには対処しない。
図1に示すシステム構成の場合、実施の形態1におけるネットワークリスト107の生成方法(図4)をそのまま使用すると、DNSサーバ330からDNSサーバ群210に問い合わせができることでDNSサーバ群210とDNSサーバ330のいずれにおいても名前解決できてしまうため、誤動作をおこしてしまう。
そこで、実施の形態2では、クライアント通信端末100は、誤動作は防ぎつつ、起動時におけるネットワークリスト107の生成方法を、図12および図13を用いて説明する。
図13は、実施の形態2における起動時にネットワークリスト107を生成する処理を示すフローチャートである。
なお、図13は、図4とほぼ同様のステップをとり、図4の説明と同じステップについては同じ番号を割り振り、説明を省略する。また、クライアント通信端末100におけるDNSサーバへの問い合わせ処理の方法は、図5〜図7と同じであるので、説明を省略する。
図13において、広域/閉域識別部105は、S105の結果得られたIPアドレス、すなわちDNSサーバに対してドメイン名保持部104が保持するドメイン名の名前解決を実施し、その実施の結果得られたIPアドレスに対して、疎通テストを実施する(S110)。ここで、疎通テストとは、例えばコマンド「Ping」を用いてネットワークが疎通しているかどうかを確認するテストであり、TCPレベルで接続状態を確認するテストである。
次に、図14を用いて図13におけるS110の詳細な動作について説明する。
図14は、図13におけるS110の詳細を示すフローチャートである。
広域/閉域識別部105は、S105の結果、名前解決を実施したドメイン名のIPアドレスが取得できたかを判定する(S111)。なお、広域/閉域識別部105は、S111で名前解決を実施したドメイン名のIPアドレスが取得できないと判定する場合(S111のNoの場合)、ネットワークリスト107において、名前解決を実施したDNSサーバの識別情報を「閉域」と記録する(S115)。
広域/閉域識別部105は、名前解決を実施したドメイン名のIPアドレスが取得できた場合(S111のYesの場合)、そのIPアドレスに対して疎通確認を実施し(S112)、疎通ができたかを確認する(S113)。
次に、広域/閉域識別部105は、疎通ができていれば(S113のYesの場合)、ネットワークリスト107に、DNSサーバの識別情報を「広域網」と記録する(S114)。
なお、広域/閉域識別部105は、S113で疎通が確認できなかった場合(S113のNoの場合)、ネットワークリスト107において、名前解決を実施したDNSサーバの識別情報を「閉域」と記録する(S115)。
以上のようにして、クライアント通信端末100は、起動時におけるネットワークリスト107の生成の処理を行う。
以上、実施の形態2によれば、疎通テストをさらに行い、各DNSサーバが広域網か閉域網かに設置されていることを確認することで、互いに独立した複数のネットワークが、DNSの管理において一部連携する場合でも、ドメイン名の解決を効率よく実施することができる。
以上のように、クライアント通信端末がDNS体系の異なる複数のネットワークに接続する場合、そのクライアント通信端末には複数のIPアドレスと複数のDNSサーバが割り当てられる。そのため、複数のDNSサーバをどのような順番で使用するかを決める必要がある。本発明では、インターネット(広域網)のDNSサーバと、閉域網のDNSサーバとに分離して、順番付けて名前解決を実施する。
すなわち、インターネット上のDNSサーバであるかを見分けるために、クライアント通信端末の起動時(設置時)において、クライアント通信端末に割り当てられたDNSサーバに対して、予めインターネットのDNS管理団体に登録しているドメイン名を用いて名前解決を行う。それにより、割り当てられたDNSサーバが、インターネットに接続されているDNSサーバか否かを判定する。以後、所望の接続先となるドメイン名に対して名前解決を行う度に、例えばインターネット上のDNSサーバを閉域網のDNSサーバより先に使用して、すなわち順番付けて名前解決を行う。
以上、本発明によれば、複数のネットワークにおいて独立に管理されているドメイン名の名前解決を、ネットワークおよびユーザに余計な負荷をかけずに効率よく実行する通信装置およびその通信方法を実現することができる。
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
本発明は、通信装置およびその通信方法に利用でき、特に、互いに独立した複数のネットワークであってその複数のネットワークにおいて独立に管理されているドメイン名であっても効率よく解決でき、例えばインターネットサービスとCDNとを利用したIP放送サービス等に対応できる通信装置および通信方法に利用することができる。
100 クライアント通信端末
101、102 通信インタフェース
103 IP設定部
104、204 ドメイン名保持部
105 広域/閉域識別部
106 名前解決部
107 ネットワークリスト
200 インターネット
210 DNSサーバ群
220、320 DHCPサーバ
300 CDN
310、330 DNSサーバ
101、102 通信インタフェース
103 IP設定部
104、204 ドメイン名保持部
105 広域/閉域識別部
106 名前解決部
107 ネットワークリスト
200 インターネット
210 DNSサーバ群
220、320 DHCPサーバ
300 CDN
310、330 DNSサーバ
Claims (7)
- DNS(Domain Name System)体系が互いに異なる2以上のIP(Internet Protocol)ネットワークに接続され、前記2以上のIPネットワークのいずれかを介して他の通信装置と通信する通信装置であって、
所定のIPネットワークで名前解決ができることが保証されているドメイン名を用いて、前記ドメイン名の名前解決が成功するか否かを前記2以上のIPネットワークに順番に接続して確認することにより、前記ドメイン名の名前解決が成功したIPネットワークを第1域網、前記ドメイン名の名前解決が成功しなかったIPネットワークを第2域網として識別する識別部と、
他の通信装置と通信を開始するのに先だって、前記第1域網と識別されたIPネットワークから優先して名前解決を試み、名前解決が成功したIPネットワークを介して他の通信装置と通信する通信制御部とを備える
ことを特徴とする通信装置。 - 前記識別部は、
IPネットワークの前記ドメイン名の名前解決が成功するときに取得するIPアドレスに対して、疎通確認を実行する疎通確認部を有し、
前記ドメイン名の名前解決が成功し、かつ、前記疎通確認部による疎通確認が成功した場合に、当該IPネットワークを第1域網として識別する
ことを特徴とする請求項1に記載の通信装置。 - 前記通信装置は、
前記識別部の識別結果を保持する保持部を備え、
前記通信制御部は、前記識別結果に基づいて、前記名前解決を試みる
ことを特徴とする請求項1または2に記載の通信装置。 - 前記保持部は、前記2以上のIPネットワークごとに対応する、DNSサーバ装置のIPアドレスと前記通信装置のIPアドレスとを含むIPネットワーク情報を、前記識別結果とともに保持する
ことを特徴とする請求項3に記載の通信装置。 - 前記第1域網は、インターネットのIPネットワークである
ことを特徴とする請求項1または2に記載の通信装置。 - 前記第1域網は、CDN(Contents Delivery Network)のIPネットワークである
ことを特徴とする請求項1または2に記載の通信装置。 - DNS(Domain Name System)体系が互いに異なる2以上のIP(Internet Protocol)ネットワークに接続され、前記2以上のIPネットワークのいずれかを介して他の通信装置と通信する通信方法であって、
所定のIPネットワークで名前解決ができることが保証されているドメイン名を用いて、前記ドメイン名の名前解決が成功するか否かを前記2以上のIPネットワークに順番に接続して確認することにより、前記ドメイン名の名前解決が成功したIPネットワークを第1域網、前記ドメイン名の名前解決が成功しなかったIPネットワークを第2域網として識別する識別ステップと、
他の通信装置と通信を開始するのに先だって、前記第1域網と識別されたIPネットワークから優先して名前解決を試み、名前解決が成功したIPネットワークを介して他の通信装置と通信する通信制御ステップとを含む
ことを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009033226A JP2010193015A (ja) | 2009-02-16 | 2009-02-16 | 通信装置およびその通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009033226A JP2010193015A (ja) | 2009-02-16 | 2009-02-16 | 通信装置およびその通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010193015A true JP2010193015A (ja) | 2010-09-02 |
Family
ID=42818616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009033226A Pending JP2010193015A (ja) | 2009-02-16 | 2009-02-16 | 通信装置およびその通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010193015A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10757086B2 (en) | 2014-10-03 | 2020-08-25 | Amazon Technologies, Inc. | Using credentials stored in different directories to access a common endpoint |
US10979388B2 (en) | 2019-03-29 | 2021-04-13 | Canon Kabushiki Kaisha | Communication apparatus and method for controlling the same |
US20210400010A1 (en) * | 2020-06-17 | 2021-12-23 | Canon Kabushiki Kaisha | Communication apparatus, method of controlling communication apparatus, and storage medium |
US11570142B2 (en) | 2019-12-25 | 2023-01-31 | Canon Kabushiki Kaisha | Requesting name resolution from determined external DNS server |
JP7508284B2 (ja) | 2020-06-17 | 2024-07-01 | キヤノン株式会社 | 通信装置、通信装置の制御方法及びプログラム |
-
2009
- 2009-02-16 JP JP2009033226A patent/JP2010193015A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10757086B2 (en) | 2014-10-03 | 2020-08-25 | Amazon Technologies, Inc. | Using credentials stored in different directories to access a common endpoint |
US11695744B2 (en) | 2014-10-03 | 2023-07-04 | Amazon Technologies, Inc. | Using credentials stored in different directories to access a common endpoint |
US10979388B2 (en) | 2019-03-29 | 2021-04-13 | Canon Kabushiki Kaisha | Communication apparatus and method for controlling the same |
US11570142B2 (en) | 2019-12-25 | 2023-01-31 | Canon Kabushiki Kaisha | Requesting name resolution from determined external DNS server |
US20210400010A1 (en) * | 2020-06-17 | 2021-12-23 | Canon Kabushiki Kaisha | Communication apparatus, method of controlling communication apparatus, and storage medium |
US11722454B2 (en) * | 2020-06-17 | 2023-08-08 | Canon Kabushiki Kaisha | Communication apparatus, method of controlling communication apparatus, and storage medium |
JP7508284B2 (ja) | 2020-06-17 | 2024-07-01 | キヤノン株式会社 | 通信装置、通信装置の制御方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6957276B1 (en) | System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol | |
JP3641128B2 (ja) | 移動計算機装置、移動計算機管理装置、移動計算機管理方法及び通信制御方法 | |
JP5557689B2 (ja) | ネットワークシステム | |
US8161135B2 (en) | Device identification number based name service | |
JPH11122301A (ja) | アドレス変換接続装置 | |
JP2006253900A (ja) | Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム | |
TW200934198A (en) | Method and apparatus for dynamically configuring virtual internet protocol addresses | |
CN111212134A (zh) | 一种请求报文处理方法、装置、边缘计算系统和电子设备 | |
JP2008028914A (ja) | 通信負荷低減装置、通信負荷低減方法、及びプログラム | |
JP2008538630A (ja) | コミュニティ中継ノード自動検出のための装置及び方法 | |
JP2006024197A (ja) | サービス提供システム、サービス提供方法及びそのプログラム | |
CN115190103A (zh) | 基于服务网格的服务域名解析方法、装置及设备 | |
JP2010193015A (ja) | 通信装置およびその通信方法 | |
US8291111B1 (en) | Responding to a DHCPLEASEQUERY message | |
JP2009021921A (ja) | IPv4/IPv6デュアルスタック対応端末のための情報提示システム | |
JP3609948B2 (ja) | マルチプロトコルネットワーク管理方法、マルチプロトコルネットワーク管理プロキシサーバシステム、マルチプロトコルアドレス管理サーバシステム、および、マルチプロトコルネットワーク管理システム | |
CN115225606B (zh) | 一种容器云平台的跨网络协议的域名访问方法和系统 | |
JP2015220483A (ja) | DNS−Proxy機能を有する中継装置 | |
CN115118700B (zh) | 一种通信方法及通信系统 | |
JP4757063B2 (ja) | キャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム | |
US20110235641A1 (en) | Communication apparatus, method of controlling the communication apparatus,and program | |
JP4976098B2 (ja) | UPnPデバイス情報を効率的に管理する方法及び装置 | |
JP4774814B2 (ja) | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム | |
JP2004007151A (ja) | ルータとそれに接続されるddnsクライアント端末、及びddnsシステム | |
JP6014068B2 (ja) | 中継装置及び中継方法、並びにコンピュータ・プログラム |