JP2008236543A - Communication path control method and program, and communication apparatus - Google Patents

Communication path control method and program, and communication apparatus Download PDF

Info

Publication number
JP2008236543A
JP2008236543A JP2007075242A JP2007075242A JP2008236543A JP 2008236543 A JP2008236543 A JP 2008236543A JP 2007075242 A JP2007075242 A JP 2007075242A JP 2007075242 A JP2007075242 A JP 2007075242A JP 2008236543 A JP2008236543 A JP 2008236543A
Authority
JP
Japan
Prior art keywords
communication
path
connection
information
route
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
Application number
JP2007075242A
Other languages
Japanese (ja)
Inventor
Koji Tanaka
孝治 田中
Yoshiyuki Sudo
義之 須藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007075242A priority Critical patent/JP2008236543A/en
Publication of JP2008236543A publication Critical patent/JP2008236543A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To attain load distribution on a network without restricting services that computer enjoy, in the environment where a plurality of communication paths exist between the computers which communicate with each other via the network. <P>SOLUTION: When a connection is requested from an application 13, 23, a path control section 15, 25 negotiates with the path control section 25, 15 of an opposite computer and selects a communication path. Both the path control sections 15, 25 then perform communication using not an address that the application 13, 23 is conscious of, but an address with which communication can be performed on the selected communication path. When delivering data to the application 13, 23, the address that the application 13, 23 is conscious of is reported. Furthermore, each time a connection is requested from the application 13, 23, path selection processing is performed to separate a communication path for each connection. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、通信経路制御技術に関する。   The present invention relates to a communication path control technique.

ネットワークを介してコンピュータが互いにTCP/IP(Transmission Control Protocol/Internet Protocol)通信を行うシステムにおいて、ネットワークの負荷分散や障害発生時の迂回経路を確保するため、コンピュータが、通信相手IP(Internet Protocol)アドレスごとに、この通信相手との通信に使用すべき通信処理装置(ルータ等)を選択する技術が提案されている(特許文献1参照)。
特開2003−348134号公報
In a system in which computers communicate with each other via a network via TCP / IP (Transmission Control Protocol / Internet Protocol), in order to secure a detour route in the event of a network load distribution or failure, the computer must communicate with the other party's IP A technique for selecting a communication processing device (router or the like) to be used for communication with the communication partner for each address has been proposed (see Patent Document 1).
JP 2003-348134 A

しかし、前記した従来技術には以下のような問題がある。例えば、複数の通信処理装置を用いる場合、コネクション確立時に自コンピュータが選択した通信処理装置により、発信元IPアドレスが変わる。このため通信相手コンピュータが発信元IPアドレスごとに提供するサービスの内容を制限する場合、自コンピュータが受けられるサービスにも制限が出るという問題がある。   However, the prior art described above has the following problems. For example, when a plurality of communication processing devices are used, the source IP address varies depending on the communication processing device selected by the own computer when establishing a connection. For this reason, when the content of the service provided by the communication partner computer for each source IP address is restricted, there is a problem that the service received by the own computer is also restricted.

また、たとえ、各通信処理装置のIPアドレスを同じにしても、この通信処理装置と通信相手コンピュータとの間に設置されるルータは、通常、1つの宛先IPアドレスに対し、1つの通信経路しか保持できない。このため、自コンピュータ側からの通信(往路経路)が複数に分散できても、通信相手コンピュータ側からの通信(復路経路)は、1つの経路に偏ってしまう。つまり、復路経路については負荷分散を実現できないという問題がある。さらに、このように通信経路が往路経路と復路経路とで異なると、ネットワーク上に設置されたファイアウォール等において、通信相手コンピュータ側からのパケットが、不正なパケットとして遮断されてしまうこともある。   Further, even if the IP addresses of the communication processing devices are the same, a router installed between the communication processing device and the communication partner computer normally has only one communication path for one destination IP address. I can't hold it. For this reason, even if communication (outbound route) from the own computer side can be distributed to a plurality of computers, communication (return route) from the communication partner computer side is biased to one route. That is, there is a problem that load distribution cannot be realized for the return path. Further, when the communication path is different between the forward path and the return path in this way, a packet from the communication partner computer side may be blocked as an illegal packet in a firewall or the like installed on the network.

本発明は、前記した問題を解決し、ネットワークを介して通信を行うコンピュータ間に複数の通信経路が存在する環境において、コンピュータが受けるサービスに制約を与えず、かつ、ネットワークの負荷分散を実現する手段を提供することを目的とする。   The present invention solves the above-described problem and realizes load distribution on a network without restricting the services received by the computer in an environment in which a plurality of communication paths exist between computers communicating via a network. It aims to provide a means.

前記した課題を解決するため、本発明は、第1の通信装置(コンピュータ)と第2の通信装置(コンピュータ)とが互いにネゴシエーションを行い、コネクションを確立する。そして、データ通信において、各通信装置のアプリケーションが意識するコネクションの情報(アプリケーション用のコネクション情報)と、経路制御部が実際の通信に用いるコネクションの情報(通信用のコネクションの情報)とを対応付けた経路管理情報を作成する。そして、それぞれの通信装置において、この作成した経路管理情報を記憶部に記憶しておく。この後、それぞれの通信装置においてアプリケーションからのデータ通信要求があったとき、経路制御部は、アプリケーションが要求しているコネクションではなく、この経路管理情報において、このコネクションに対応する通信用のコネクションを用いてデータ通信を行う。そして、経路制御部は、アプリケーションに対しては、このアプリケーションが要求しているコネクションによりデータ通信を行ったものとして通知する。このようにすることで、例えば、通信装置に複数のアドレス(IPアドレス)を割り当て、この通信装置が発信元となって他の通信装置からサービスを受けるような場合において、相手方の通信装置のアプリケーションには、同じ通信装置であれば同じIPアドレスと認識させることができるので、発信元である自通信装置の受けられるサービスが制約されることがなくなる。   In order to solve the above-described problem, in the present invention, a first communication device (computer) and a second communication device (computer) negotiate with each other to establish a connection. In data communication, the connection information (application connection information) recognized by the application of each communication device is associated with the connection information (communication connection information) used by the path control unit for actual communication. Create route management information. In each communication device, the created route management information is stored in the storage unit. After that, when there is a data communication request from the application in each communication device, the route control unit does not specify the connection requested by the application, but the communication connection corresponding to this connection in this route management information. Data communication. Then, the path control unit notifies the application that data communication has been performed through the connection requested by the application. In this way, for example, when a plurality of addresses (IP addresses) are assigned to a communication device and the communication device is a source and receives a service from another communication device, the application of the other communication device Can be recognized as the same IP address if they are the same communication device, so that services that can be received by the communication device that is the transmission source are not restricted.

また、第1の通信装置は、第2の通信装置に対し複数のコネクションを確立してデータ通信を行う場合もある。このような場合、この第2の通信装置側も、経路管理情報に、第1の通信装置宛の経路として複数のコネクション情報を保持し、この経路管理情報に基づきデータ通信を行うことになる。これにより、通信経路が往路経路と復路経路とで異なることがなくなり、ネットワークの負荷分散を実現できる。   In addition, the first communication device may establish data connection and establish data communication with the second communication device. In such a case, the second communication device also holds a plurality of connection information as a route addressed to the first communication device in the route management information, and performs data communication based on the route management information. As a result, the communication path does not differ between the forward path and the return path, and network load distribution can be realized.

本発明によれば、ネットワークを介して通信を行うコンピュータ間に複数の通信経路が存在する環境において、コンピュータの受けるサービスが制限されず、かつ、ネットワークの負荷分散を実現できる。   According to the present invention, in an environment where a plurality of communication paths exist between computers that communicate via a network, the services received by the computers are not limited, and network load distribution can be realized.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本実施の形態の通信経路制御システムの構成を示す図である。図1を用いて、本実施の形態の通信経路制御システムの構成を説明する。   FIG. 1 is a diagram showing a configuration of a communication path control system according to the present embodiment. The configuration of the communication path control system according to the present embodiment will be described with reference to FIG.

なお、ここでは、コンピュータ10(第1の通信装置)とコンピュータ20(第2の通信装置)との間のデータ通信において、複数の経路(通信経路)31,41を利用する場合を例に説明する。このうち経路31はネットワーク30を経由する経路であり、経路41はネットワーク40を経由する経路である。   Here, a case where a plurality of paths (communication paths) 31 and 41 are used in data communication between the computer 10 (first communication apparatus) and the computer 20 (second communication apparatus) will be described as an example. To do. Of these, the route 31 is a route passing through the network 30, and the route 41 is a route passing through the network 40.

<コンピュータ10>
コンピュータ10は、CPU(Central Processing Unit)11、メモリ(記憶部)12、ネットワークアダプタ(インタフェース部)16,17を備える。また、図示を省略しているが、コンピュータ10は、各種プログラムやデータを記憶するディスク装置やフラッシュデバイス等(以下、「ディスク装置等」という)を備える。CPU11は、ディスク装置等に記憶されたプログラムをメモリ12上にロードし、このコンピュータ10が通信を行うための各種演算処理を行う。メモリ12は、例えば、半導体メモリ等のRAM(Random Access Memory)であり、前記したCPU11が演算処理を行う際に用いられる記憶媒体である。ネットワークアダプタ16,17は、このコンピュータ10がネットワーク30,40を経由で通信を行うためのネットワークインタフェースである。
<Computer 10>
The computer 10 includes a CPU (Central Processing Unit) 11, a memory (storage unit) 12, and network adapters (interface units) 16 and 17. Although not shown, the computer 10 includes a disk device, a flash device, etc. (hereinafter referred to as “disk device etc.”) for storing various programs and data. The CPU 11 loads a program stored in a disk device or the like onto the memory 12 and performs various arithmetic processes for the computer 10 to perform communication. The memory 12 is, for example, a RAM (Random Access Memory) such as a semiconductor memory, and is a storage medium used when the CPU 11 performs arithmetic processing. The network adapters 16 and 17 are network interfaces for the computer 10 to communicate via the networks 30 and 40.

なお、メモリ12は、所定領域に、通信を行うために用いられるアプリケーション13、コンピュータ10のOS(Operating System)14、経路制御部15、経路管理テーブル(経路管理情報)151、経路情報リスト(経路情報)152等を備える。   Note that the memory 12 includes, in a predetermined area, an application 13 used for communication, an OS (Operating System) 14 of the computer 10, a path control unit 15, a path management table (path management information) 151, a path information list (path) Information) 152 and the like.

経路制御部15は、他のコンピュータ(例えば、コンピュータ20)との間でコネクションを確立したり、このコンピュータ10がネットワーク30,40経由で通信を行う際の経路制御をしたりする。   The path control unit 15 establishes a connection with another computer (for example, the computer 20), or performs path control when the computer 10 performs communication via the networks 30 and 40.

経路管理テーブル151は、このコンピュータ10が確立しているコネクション情報を示したものである。この経路管理テーブル151は、アプリケーション13が意識しているコネクションごとに、そのコネクションにおいて経路制御部15が使用するコネクションを示した情報である。つまり、アプリケーション用のコネクション情報と、このコネクションに対応する通信用のコネクション情報を示したものである。この経路管理テーブル151は、経路制御部15が、データ通信を行うときに参照される。この経路管理テーブル151の詳細は、図5(a)を用いて後記する。   The route management table 151 shows connection information established by the computer 10. The route management table 151 is information indicating a connection used by the route control unit 15 for each connection that the application 13 is aware of. That is, the connection information for application and the connection information for communication corresponding to this connection are shown. The route management table 151 is referred to when the route control unit 15 performs data communication. Details of the route management table 151 will be described later with reference to FIG.

経路情報リスト152は、宛先IPアドレスごとに、そのIPアドレスのノード(コンピュータ)との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト152は、例えば、経路制御部15が、他のコンピュータ(例えば、コンピュータ20)との間でお互いのIPアドレスを交換することで作成される。また、この経路情報リスト152に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト152は、前記した経路制御部15が通信経路を選択して、経路管理テーブル151を作成する際に参照される。この経路情報リスト152の詳細は、図3(a)を用いて後記する。   The route information list 152 indicates a communication route for performing communication with a node (computer) of the IP address for each destination IP address. The route information list 152 is created, for example, when the route control unit 15 exchanges IP addresses with other computers (for example, the computer 20). Communication paths registered in the path information list 152 include communication paths for which no connection has been established. The route information list 152 is referred to when the route control unit 15 selects a communication route and creates the route management table 151. Details of the route information list 152 will be described later with reference to FIG.

なお、この経路制御部15の機能は、CPU11が、ディスク装置等に記憶された通信経路制御プログラムを実行することで実現される。つまり、図1において、経路制御部15は、ディスク装置等に記憶されたプログラムがメモリ12上にロードされた状態として描いている。   The function of the path control unit 15 is realized by the CPU 11 executing a communication path control program stored in a disk device or the like. That is, in FIG. 1, the path control unit 15 is depicted as a state in which a program stored in a disk device or the like is loaded on the memory 12.

また、以下の説明において、ネットワークアダプタ16には、IPアドレス「10.0.0.1」が設定され、ネットワークアダプタ17には、IPアドレス「10.1.0.1」が設定されている場合を例に説明する。   In the following description, the IP address “10.0.0.1” is set for the network adapter 16, and the IP address “10.1.0.1” is set for the network adapter 17. A case will be described as an example.

<コンピュータ20>
さらに、コンピュータ20も、コンピュータ10と同様に、CPU21、メモリ(第2の記憶部)22、ネットワークアダプタ(第2のインタフェース部)26,27を備える。また、図示を省略しているが、コンピュータ20は、各種プログラムやデータを記憶するディスク装置等を備える。このメモリ22は、所定領域に、通信を行うために用いられるアプリケーション23、コンピュータ20のOS24、経路制御部(第2の経路制御部)25、経路管理テーブル(第2の経路管理情報)251、経路情報リスト252等を備える。
<Computer 20>
Further, like the computer 10, the computer 20 also includes a CPU 21, a memory (second storage unit) 22, and network adapters (second interface units) 26 and 27. Although not shown, the computer 20 includes a disk device that stores various programs and data. This memory 22 has, in a predetermined area, an application 23 used for communication, an OS 24 of the computer 20, a path control unit (second path control unit) 25, a path management table (second path management information) 251, A route information list 252 and the like are provided.

経路制御部25は、コンピュータ20がネットワーク30,40経由で通信を行う際の経路制御を行う。   The path control unit 25 performs path control when the computer 20 performs communication via the networks 30 and 40.

経路管理テーブル251は、アプリケーション23が意識しているコネクションごとに、そのコネクションにおいて実際に用いるコネクションを示した情報である。つまり、前記した経路管理テーブル151と同様、アプリケーション用のコネクション情報と、このコネクションに対応する通信用のコネクション情報を示したものである。この経路管理テーブル251も、経路制御部25がアプリケーション23からの要求に基づきデータ通信を行うときに参照される。この経路管理テーブル251の詳細は、図5(b)を用いて後記する。   The path management table 251 is information indicating a connection actually used for each connection that the application 23 is aware of. That is, similar to the route management table 151, application connection information and communication connection information corresponding to this connection are shown. The route management table 251 is also referred to when the route control unit 25 performs data communication based on a request from the application 23. Details of the route management table 251 will be described later with reference to FIG.

経路情報リスト252も、前記した経路情報リスト152と同様、宛先IPアドレスごとに、そのIPアドレスのノード(コンピュータ)との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト252も、例えば、経路制御部25が、他のコンピュータ(例えば、コンピュータ10)との間でお互いのIPアドレスを交換することで作成される。また、この経路情報リスト252に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト252は、前記した経路制御部25が通信経路を選択して、経路管理テーブル251を作成する際に参照される。この経路情報リスト252の詳細は、図3(b)を用いて後記する。   Similarly to the route information list 152 described above, the route information list 252 also shows a communication route for performing communication with a node (computer) of the IP address for each destination IP address. The route information list 252 is also created, for example, by the route control unit 25 exchanging mutual IP addresses with another computer (for example, the computer 10). The communication path registered in the path information list 252 includes a communication path for which no connection has been established. The route information list 252 is referred to when the route control unit 25 selects a communication route and creates the route management table 251. Details of the route information list 252 will be described later with reference to FIG.

また、ネットワークアダプタ26には、IPアドレス「10.0.0.2」が設定され、ネットワークアダプタ27には、IPアドレス「10.1.0.2」が設定されている場合を例に説明する。   Further, the case where the IP address “10.0.0.2” is set in the network adapter 26 and the IP address “10.1.0.2” is set in the network adapter 27 will be described as an example. To do.

なお、前記したアプリケーション13,23、OS14,24、経路制御部15,25の機能を実現するためのプログラムは、例えば、CD−ROM等の記憶媒体やネットワーク経由で、コンピュータ10,20にインストールされるものとする。   The programs for realizing the functions of the applications 13 and 23, the OS 14 and 24, and the path control units 15 and 25 are installed in the computers 10 and 20 via a storage medium such as a CD-ROM or a network, for example. Shall be.

<動作説明>
次に、図1を参照しつつ、図2を用いて、コンピュータ10のアプリケーション13と、コンピュータ20のアプリケーション23との間で確立されるTCP(Transmission Control Protocol)コネクション(以下、単にコネクションと呼ぶ)について説明する。まず、コンピュータ10,20との間にコネクションを1つ確立する場合について説明する。図2は、図1のコンピュータ10,20の動作を示すシーケンス図である。
<Description of operation>
Next, referring to FIG. 1 and using FIG. 2, a TCP (Transmission Control Protocol) connection established between the application 13 of the computer 10 and the application 23 of the computer 20 (hereinafter simply referred to as a connection). Will be described. First, a case where one connection is established between the computers 10 and 20 will be described. FIG. 2 is a sequence diagram showing operations of the computers 10 and 20 of FIG.

なお、ここでは、図1のコンピュータ10がクライアントとして動作し、コンピュータ20がサーバとして動作する場合を例に説明する。また、コンピュータ10のアプリケーション13は、自IPアドレスとして「10.1.0.1」を使用し、コンピュータ20はポート「10002」をオープンにする場合を例に説明する。なお、コネクション確立前において、経路管理テーブル151,251および経路情報リスト152,252には、まだ情報が設定されていないものとする。   Here, a case where the computer 10 in FIG. 1 operates as a client and the computer 20 operates as a server will be described as an example. An example will be described in which the application 13 of the computer 10 uses “10.1.0.1” as its own IP address, and the computer 20 opens the port “10002”. It is assumed that no information has been set in the route management tables 151 and 251 and the route information lists 152 and 252 before the connection is established.

まず、図1のコンピュータ20の経路制御部25は、コンピュータ10の経路制御部15との経路制御コネクション用のポート「50000」をオープンする(S515)。次に、経路制御部25は、アプリケーション23からポート「10002」のポートオープン要求を受け(S516)、ポート「10002」をオープンする。そして、コンピュータ20は、コンピュータ10からのコネクション確立要求を待つ。   First, the path control unit 25 of the computer 20 in FIG. 1 opens a port “50000” for path control connection with the path control unit 15 of the computer 10 (S515). Next, the path control unit 25 receives a port open request for the port “10002” from the application 23 (S516), and opens the port “10002”. Then, the computer 20 waits for a connection establishment request from the computer 10.

次に、コンピュータ10の経路制御部15は、アプリケーション13から、自IPアドレス「10.1.0.1」、相手IPアドレス「10.0.0.2」、相手ポート「10002」としたコネクション確立要求を受けると(S500)、経路情報リスト152を検索し、この経路情報リスト152に相手(宛先)IPアドレス「10.0.0.2」に関する経路情報(通信経路情報)が有るか否かを判断する(S501)。   Next, the path control unit 15 of the computer 10 connects from the application 13 with the own IP address “10.0.1. 1”, the other party IP address “10.0.0.2”, and the other party port “10002”. When the establishment request is received (S500), the route information list 152 is searched, and whether or not the route information list 152 has route information (communication route information) regarding the partner (destination) IP address “10.0.0.2”. Is determined (S501).

このS501において、コンピュータ10の経路情報リスト152に宛先IPアドレス「10.0.0.2」に関する経路情報が無い場合(S501で“無し”)、経路制御部15は、コンピュータ20の経路制御部25との間で、このコンピュータ20のIPアドレス「10.0.0.2」、ポート「50000」に関する経路情報を取得するための経路制御コネクション(コネクション)確立を試みる(S502,S517)。   In S501, when there is no route information regarding the destination IP address “10.0.0.2” in the route information list 152 of the computer 10 (“None” in S501), the route control unit 15 displays the route control unit of the computer 20. 25, an attempt is made to establish a path control connection (connection) for acquiring path information regarding the IP address “10.0.0.2” and port “50000” of the computer 20 (S502, S517).

一方、コンピュータ10の経路情報リスト152に、宛先IPアドレス「10.0.0.2」に関する経路情報が有る場合(S501で“有”)、S507へ進む。このS507については、後記する。   On the other hand, if the route information list 152 of the computer 10 includes route information regarding the destination IP address “10.0.0.2” (“Yes” in S501), the process proceeds to S507. This S507 will be described later.

なお、S502において、コンピュータ10の経路制御部15が、コンピュータ20との経路制御コネクションの確立に失敗した場合(S503で“失敗”)、この経路制御部15は、相手コンピュータ(コンピュータ20)を、本実施の形態のシステムに対応していないコンピュータと判断し、従来技術に基づき通常のコネクション確立を行う(S514)。   In S502, when the path control unit 15 of the computer 10 fails to establish a path control connection with the computer 20 ("failed" in S503), the path control unit 15 connects the partner computer (computer 20) to The computer is determined not to be compatible with the system of the present embodiment, and a normal connection is established based on the prior art (S514).

一方、コンピュータ10の経路制御部15が、コンピュータ20との経路制御コネクション確立に成功した場合(S503で“成功”)、コンピュータ20の経路制御部25との間で経路情報(通信経路情報)を交換する(S504,S518)。   On the other hand, when the route control unit 15 of the computer 10 has successfully established a route control connection with the computer 20 (“success” in S503), route information (communication route information) is exchanged with the route control unit 25 of the computer 20. Exchange (S504, S518).

例えば、コンピュータ10の経路制御部15は、S502,S507で確立した経路制御コネクション上で、このコンピュータ10が保持するIPアドレス(図1のネットワークアダプタ16,17に割り当てられたIPアドレス「10.0.0.1」、「10.1.0.1」)を、コンピュータ20の経路制御部25へ通知する。また、コンピュータ20の経路制御部25も、コンピュータ20が保持するIPアドレス(ネットワークアダプタ26,27に割り当てられたIPアドレス「10.0.0.2」、「10.1.0.2」)をコンピュータ10の経路制御部15へ通知する。   For example, the path control unit 15 of the computer 10 uses the IP address held by the computer 10 (the IP address “10.0 assigned to the network adapters 16 and 17 in FIG. 1) on the path control connection established in S502 and S507. .0.1 ”and“ 10.1.0.1 ”) to the path control unit 25 of the computer 20. The route control unit 25 of the computer 20 also has an IP address held by the computer 20 (IP addresses “10.0.0.2” and “10.1.0.2” assigned to the network adapters 26 and 27). Is notified to the route control unit 15 of the computer 10.

これにより、コンピュータ10の経路制御部15は、コンピュータ20の保持するIPアドレスを取得し、コンピュータ20の経路制御部25も、コンピュータ10の保持するIPアドレスを取得する。   Thereby, the route control unit 15 of the computer 10 acquires the IP address held by the computer 20, and the route control unit 25 of the computer 20 also acquires the IP address held by the computer 10.

前記したS504,S518の後、経路制御部15,25は、S504,S518で交換した経路情報を元に、経路情報リスト152,252を作成する(S505,S519)。作成した経路管理テーブル151,252は、メモリ12,22に記憶する。そして、経路制御部15,25は、PING等により、それぞれの経路状態を確認し(S506,S520)、確認した結果(経路状態情報)を経路情報リスト152,252に書き込む。   After S504 and S518 described above, the route control units 15 and 25 create route information lists 152 and 252 based on the route information exchanged in S504 and S518 (S505 and S519). The created route management tables 151 and 252 are stored in the memories 12 and 22. Then, the route control units 15 and 25 confirm the respective route states by PING or the like (S506, S520), and write the confirmed results (route state information) in the route information lists 152 and 252.

つまり、経路制御部15,25は、宛先コンピュータごとに、その宛先コンピュータに割り当てられたIPアドレスと、自コンピュータに割り当てられたIPアドレスとの組み合わせから考えられる通信経路を経路情報リスト152,252に書き込む。そして、経路制御部15,25は、通信経路それぞれについて経路状態を確認して経路情報リスト152,252に書き込む。ここで作成する経路情報リスト152,252を、図3(a)、(b)を用いて説明する。   That is, for each destination computer, the route control units 15 and 25 store, in the route information lists 152 and 252, communication routes that can be considered from combinations of the IP address assigned to the destination computer and the IP address assigned to the own computer. Write. Then, the route control units 15 and 25 confirm the route state for each of the communication routes and write them in the route information lists 152 and 252. The route information lists 152 and 252 created here will be described with reference to FIGS.

図3(a)は、図2のS506の後の経路情報リスト152を例示した図であり、(b)は、図2のS520の後の経路情報リスト252を例示した図である。(c)については後記する。   3A is a diagram illustrating the route information list 152 after S506 in FIG. 2, and FIG. 3B is a diagram illustrating the route information list 252 after S520 in FIG. (C) will be described later.

図3(a)に例示するように経路情報リスト152には、宛先IPアドレス605(コンピュータ20のIPアドレス「10.0.0.2」)に対応する情報として、S504で取得した通信経路情報(相手コンピュータのIPアドレス606と自コンピュータのIPアドレス607との組み合わせ)と、S506で取得した各通信経路の状態情報608とが格納される。例えば、符号601に示す通信経路情報は、宛先IPアドレス「10.0.0.2」への通信経路として、相手コンピュータのIPアドレスが「10.0.0.2」、自コンピュータのIPアドレスが「10.0.0.1」という通信経路があり、この通信経路は正常に通信できる状態であることを示す。   As illustrated in FIG. 3A, the route information list 152 includes the communication route information acquired in S504 as information corresponding to the destination IP address 605 (the IP address “10.0.0.2” of the computer 20). (A combination of the IP address 606 of the partner computer and the IP address 607 of the own computer) and the status information 608 of each communication path acquired in S506 are stored. For example, the communication path information indicated by reference numeral 601 is the communication path to the destination IP address “10.0.0.2”, the IP address of the partner computer is “10.0.0.2”, and the IP address of the own computer Indicates that there is a communication path “10.0.0.1”, and this communication path is in a state where communication can be performed normally.

図3(b)に例示するように経路情報リスト252には、宛先IPアドレス615(コンピュータ10のIPアドレス「10.1.0.1」)に対応する情報として、S518で取得した通信経路情報(相手コンピュータのIPアドレス616と自コンピュータのIPアドレス617との組み合わせ)と、S520で取得した各通信経路の状態情報618とが格納される。   As illustrated in FIG. 3B, the path information list 252 includes the communication path information acquired in S518 as information corresponding to the destination IP address 615 (the IP address “10.1.0.1” of the computer 10). (A combination of the IP address 616 of the partner computer and the IP address 617 of the own computer) and the status information 618 of each communication path acquired in S520 are stored.

図2の説明に戻る。経路制御部15,25は、以上のようにして経路情報リスト152,252を作成すると、この経路情報リスト152,252に示される通信経路情報から通信可能な状態として登録されている通信経路を選択する(S507)。ここでの通信経路の選択は、まず、経路情報リスト152,252において通信可能な状態である通信経路を選択し、その選択した通信経路の中から、ラウンドロビン等により選択する。   Returning to the description of FIG. When the route control units 15 and 25 create the route information lists 152 and 252 as described above, the communication route registered as a communicable state is selected from the communication route information indicated in the route information lists 152 and 252. (S507). In selecting the communication path here, first, a communication path that is communicable in the path information lists 152 and 252 is selected, and the selected communication path is selected by round robin or the like.

例えば、経路制御部15は、図3(a)に例示する経路情報リスト152において通信可能な符号601,604に示す通信経路を選択し、その中からラウンドロビン等で符号601に示す通信経路を選択する。   For example, the route control unit 15 selects the communication route indicated by reference numerals 601 and 604 in the route information list 152 illustrated in FIG. 3A, and selects the communication route indicated by reference numeral 601 by round robin or the like. select.

次に、経路制御部15は、S507の選択結果を判定し、通信可能な経路(通信経路)が無い場合(図2のS508で“無”)、コネクション確立失敗をアプリケーション13へ通知する(S509)。   Next, the path control unit 15 determines the selection result of S507, and when there is no communicable path (communication path) (“No” in S508 in FIG. 2), notifies the application 13 of a connection establishment failure (S509). ).

一方、通信可能な通信経路が有る場合(S508で“有”)、経路制御部15は、経路制御コネクション上で、コンピュータ20の経路制御部25とネゴシーエションして、S507で選択した通信経路で通信を行うための通信経路設定を行う(S510,S521)。例えば、図3(a)に例示する経路情報リスト152の符号601に示す通信経路で通信を行うための通信経路設定を行う。   On the other hand, when there is a communicable communication path (“Yes” in S508), the path control unit 15 negotiates with the path control unit 25 of the computer 20 over the path control connection, and communicates with the communication path selected in S507. The communication path for performing the above is set (S510, S521). For example, communication path setting for performing communication through the communication path indicated by reference numeral 601 in the path information list 152 illustrated in FIG.

ここでの通信経路設定処理の詳細を、図4を用いて説明する。図4は、図2のS510およびS521の通信経路設定処理を示すシーケンス図である。   Details of the communication path setting process here will be described with reference to FIG. FIG. 4 is a sequence diagram showing the communication path setting process of S510 and S521 of FIG.

コンピュータ10の経路制御部15は、通信経路に使用するコネクション情報と、アプリケーションのコネクション情報とを含む設定要求(通信経路設定要求)をコンピュータ20の経路制御部25へ送信する(S800)。すなわち、経路制御部15は、アプリケーション13がS500で確立要求したコネクション情報と、S507で選択した通信経路(図3(a)の符号601に示す通信経路)で通信可能なIPアドレスを用いたコネクション情報(例えば、相手IPアドレス「10.0.0.2」、自IPアドレス「10.0.0.1」、相手ポート「10002」、自ポート「10001」)とを設定要求としてコンピュータ20の経路制御部25へ送信する。そして、コンピュータ20の経路制御部25はこの設定要求を受信すると(S801)、経路情報リスト252(図3(b)参照)の情報等を元に、この通信経路の設定可否を判定する(S802)。   The path control unit 15 of the computer 10 transmits a setting request (communication path setting request) including connection information used for the communication path and application connection information to the path control unit 25 of the computer 20 (S800). That is, the path control unit 15 uses the connection information requested by the application 13 to establish in S500 and the connection using the IP address that can be communicated through the communication path selected in S507 (the communication path indicated by reference numeral 601 in FIG. 3A). Information (for example, the partner IP address “10.0.0.2”, the host IP address “10.0.0.1”, the partner port “10002”, the host port “10001”) is set as a setting request to the computer 20. Transmit to the route control unit 25. Upon receiving this setting request (S801), the path control unit 25 of the computer 20 determines whether or not this communication path can be set based on the information in the path information list 252 (see FIG. 3B) (S802). ).

例えば、経路制御部25は、S507で選択した通信経路の状態が、自身のコンピュータ20の経路情報リスト252において「正常」であるか否かを判定する。ここで、経路制御部25が通信経路の設定を許可する場合(S802で“許可”)、アプリケーション13がS500で確立要求したコネクション情報およびS507で選択した通信経路のコネクション情報を、それぞれ、通信用のコネクション情報およびアプリケーション用のコネクション情報として経路管理テーブル251に追加する(S803)。そして、経路制御部25は、S802の判定結果を設定応答(通信経路設定応答)としてコンピュータ10の経路制御部15へ送信する(S805)。   For example, the path control unit 25 determines whether or not the state of the communication path selected in S507 is “normal” in the path information list 252 of its own computer 20. Here, when the path control unit 25 permits setting of the communication path (“permitted” in S802), the connection information requested by the application 13 to establish in S500 and the connection information of the communication path selected in S507 are respectively used for communication. Connection information and application connection information are added to the route management table 251 (S803). Then, the path control unit 25 transmits the determination result of S802 to the path control unit 15 of the computer 10 as a setting response (communication path setting response) (S805).

ここで、S803実行後の経路管理テーブル251を、図5(b)を用いて説明する。図5(b)は、図4のS803実行後の経路管理テーブル251を例示した図である。図5(b)に示すように経路管理テーブル251には、アプリケーション用のコネクション情報(アプリケーション23が意識しているコネクションの情報)723と、このアプリケーション用のコネクション情報723に対応する通信用のコネクション情報(このアプリケーション用のコネクションにおいて経路制御部25が通信に用いるコネクションの情報)722とが登録される。ここでは、アプリケーション用のコネクション情報723として、相手IPアドレス「10.1.0.1」、相手ポート番号「10001」、自IPアドレス「10.0.0.2」、自ポート番号「10002」というコネクション情報が登録される。また、アプリケーション用のコネクション情報723に対応する、通信用のコネクション情報722として、相手IPアドレス「10.0.0.1」、相手ポート番号「10001」、自IPアドレス「10.0.0.2」、自ポート番号「10002」というコネクション情報が登録される。   Here, the path management table 251 after the execution of S803 will be described with reference to FIG. FIG. 5B illustrates the path management table 251 after the execution of S803 in FIG. As shown in FIG. 5B, the path management table 251 includes application connection information (connection information recognized by the application 23) 723 and a communication connection corresponding to the application connection information 723. Information (connection information used for communication by the path control unit 25 in this application connection) 722 is registered. Here, as the connection information 723 for the application, the partner IP address “10.1.0.1”, the partner port number “10001”, the own IP address “10.0.0.2”, the own port number “10002”. Connection information is registered. As communication connection information 722 corresponding to the application connection information 723, the partner IP address “10.0.0.1”, the partner port number “10001”, and the own IP address “10.0.0. 2 ”and connection information“ self port number “10002” are registered.

経路制御部25は、このような経路管理テーブル251を参照することで、アプリケーション23から接続要求があったときに、実際には、どのコネクションを使えばよいかを判断できる。   The path control unit 25 can determine which connection should be actually used when a connection request is received from the application 23 by referring to such a path management table 251.

図4の説明に戻る。図4のS802において、S801で受信した設定要求のコネクション情報に示される通信経路が、経路情報リスト252において「障害」として登録されている場合、経路制御部25は通信経路の設定を不許可(拒否)と判定する(S802で“拒否”)。そして、経路制御部25は、経路情報リスト252から別の通信経路を選択する(S804)。そして、経路制御部25は、この選択した別の通信経路と、S802の判定結果(通信経路の設定拒否)とを設定応答としてコンピュータ10の経路制御部15へ送信する(S805)。   Returning to the description of FIG. In S802 of FIG. 4, when the communication path indicated in the connection information of the setting request received in S801 is registered as “failure” in the path information list 252, the path control unit 25 does not permit the setting of the communication path ( (Rejected ”in S802). Then, the route control unit 25 selects another communication route from the route information list 252 (S804). Then, the path control unit 25 transmits the selected other communication path and the determination result of S802 (communication path setting rejection) to the path control unit 15 of the computer 10 as a setting response (S805).

なお、S802で経路制御部25が通信経路の設定を拒否する場合、この例では、S804で別の通信経路を選択する必要はなく、S805で通信経路の設定拒否の判定結果のみを送信すればよい。   When the path control unit 25 rejects the communication path setting in S802, in this example, it is not necessary to select another communication path in S804, and only the determination result of the communication path setting rejection may be transmitted in S805. Good.

S805の後、コンピュータ10の経路制御部15は、コンピュータ20から通信経路設定応答を受信すると(S806)、受信した設定応答に含まれる応答結果(判定結果)を判定する(S807)。ここで、判定結果が「許可」だった場合には、経路制御部15は、S803と同様に、この通信経路の設定が許可された通信経路の通信経路情報を経路管理テーブル151に追加する(S808)。   After S805, when receiving the communication path setting response from the computer 20 (S806), the path control unit 15 of the computer 10 determines the response result (determination result) included in the received setting response (S807). Here, when the determination result is “permitted”, the path control unit 15 adds the communication path information of the communication path permitted to set the communication path to the path management table 151 as in S803 ( S808).

図5(a)は、図4のS808実行後の経路管理テーブル151を例示した図である。図5(a)に示すように経路管理テーブル151にも、アプリケーション用のコネクション情報(アプリケーション13が意識しているコネクション情報)703と、このコネクションに対応する、通信用のコネクション情報(経路制御部15が通信に用いるコネクションのコネクション情報)702とが登録される。ここでは、アプリケーション用のコネクション情報703として、相手IPアドレス「10.0.0.2」、相手ポート番号「10002」、自IPアドレス「10.1.0.1」、自ポート番号「10001」というコネクション情報が登録される。また、このようなコネクションにおいて、通信用のコネクション情報702として、相手IPアドレス「10.0.0.2」、相手ポート番号「10002」、自IPアドレス「10.0.0.1」、自ポート番号「10001」という組み合わせが登録される。   FIG. 5A illustrates the path management table 151 after the execution of S808 in FIG. As shown in FIG. 5A, the path management table 151 also includes connection information for application (connection information recognized by the application 13) 703 and communication connection information (path control unit) corresponding to this connection. 15, connection information 702 of connection used for communication) is registered. Here, as the connection information 703 for the application, the partner IP address “10.0.0.2”, the partner port number “10002”, the own IP address “10.1.0.1”, the own port number “10001”. Connection information is registered. Further, in such a connection, as the connection information 702 for communication, the partner IP address “10.0.0.2”, the partner port number “10002”, the own IP address “10.0.0.1”, the self A combination of port number “10001” is registered.

経路制御部15は、このような経路管理テーブル151を参照することで、アプリケーション13から接続要求があったときに、どのコネクションを使用すればよいかを判断できる。   The path control unit 15 can determine which connection should be used when a connection request is received from the application 13 by referring to such a path management table 151.

図4の説明に戻る。S807において、経路制御部15が受信した設定応答の応答結果(判定結果)が「拒否」だった場合には(S807で“拒否”)、経路制御部15は、この設定応答に含まれる通信経路情報を取得する(S809)。つまり、コンピュータ20の経路制御部25側で選択した通信経路の通信経路情報を取得する。そして、経路制御部15は、経路情報リスト152等を元に、経路制御部25側で選択した通信経路の採用可否を判定する(S810)。ここでの採用可否の判定は、例えば、S809で取得した通信経路情報が経路情報リスト152に登録されているか否かや、この通信経路情報が経路情報リスト152に登録されている場合、経路情報リスト152に示される通信経路の状態が「正常」か否かにより判定する。ここで、経路制御部25が選択した通信経路の採用が「拒否」だった場合(S810で“拒否”)、または、S806において受信した通信経路設定応答に、経路制御部25が選択した通信経路情報が含まれていない場合、経路制御部15は、通信経路設定に失敗したと判断し(S811)、処理を終了する。   Returning to the description of FIG. In S807, when the response result (determination result) of the setting response received by the route control unit 15 is “rejected” (“rejected” in S807), the route control unit 15 includes the communication route included in this setting response. Information is acquired (S809). That is, the communication path information of the communication path selected on the path control unit 25 side of the computer 20 is acquired. Then, the route control unit 15 determines whether or not the communication route selected on the route control unit 25 side can be adopted based on the route information list 152 and the like (S810). The determination as to whether or not the information can be adopted is, for example, whether or not the communication route information acquired in S809 is registered in the route information list 152, and if this communication route information is registered in the route information list 152, the route information The determination is made based on whether or not the state of the communication path shown in the list 152 is “normal”. Here, when the adoption of the communication route selected by the route control unit 25 is “reject” (“reject” in S810), or the communication route selected by the route control unit 25 in the communication route setting response received in S806. If the information is not included, the path control unit 15 determines that the communication path setting has failed (S811), and ends the process.

一方、S810において、経路制御部15が、経路制御部25側で選択した通信経路の採用を「許可」と判定した場合(S810で“許可”)、S800へ戻り、経路制御部15は、この通信経路に関する設定要求をコンピュータ20の経路制御部25へ送信する。そして、S801以降の処理を実行する。   On the other hand, in S810, when the route control unit 15 determines that the adoption of the communication route selected on the route control unit 25 side is “permitted” (“permitted” in S810), the process returns to S800, and the route control unit 15 A setting request regarding the communication path is transmitted to the path control unit 25 of the computer 20. And the process after S801 is performed.

このようにしてコンピュータ10の経路制御部15およびコンピュータ20の経路制御部25は通信経路設定を行う。   In this way, the path control unit 15 of the computer 10 and the path control unit 25 of the computer 20 perform communication path setting.

図2の説明に戻る。図2のS511において経路制御部15が通信経路設定に失敗した場合(S511で“失敗”)、コネクション確立失敗をアプリケーション13に通知する(S509)。   Returning to the description of FIG. In S511 of FIG. 2, when the path control unit 15 fails to set the communication path (“failure” in S511), the connection establishment failure is notified to the application 13 (S509).

一方、経路制御部15がS510の通信経路設定に成功した場合(S511で“成功”)、経路制御部15は、S510において設定した経路管理テーブル151に登録された、通信用のコネクション情報(図5(a)の符号702参照)をもとにコネクションを確立する(S512)。そして、経路制御部15は、アプリケーション13に対し、コネクション確立成功をアプリケーション13へ通知する(S513)。   On the other hand, when the path control unit 15 succeeds in setting the communication path in S510 (“success” in S511), the path control unit 15 registers the connection information for communication registered in the path management table 151 set in S510 (FIG. A connection is established based on the reference numeral 702 in FIG. 5 (a) (S512). Then, the path control unit 15 notifies the application 13 of successful connection establishment to the application 13 (S513).

このとき経路制御部15がアプリケーション13へ通知するコネクションの情報は、経路管理テーブル151の通信用のコネクション情報(図5(a)の符号702参照)ではなく、この通信用のコネクション情報に対応する、アプリケーション用のコネクション情報(図5(a)の符号703参照)である。   At this time, the connection information notified to the application 13 by the path control unit 15 corresponds to the connection information for communication, not the connection information for communication in the path management table 151 (see reference numeral 702 in FIG. 5A). Application connection information (see reference numeral 703 in FIG. 5A).

また、コンピュータ20の経路制御部25は、S521の後、コンピュータ10の経路制御部15からのコネクション確立要求受信時、経路管理テーブル251の通信用のコネクション情報(図5(b)の符号724参照)を参照し、そのコネクション確立要求と一致する情報が有るか否かを判断する(S522)。ここで、経路管理テーブル251における通信用のコネクション情報を参照し、そのコネクション確立要求と一致する情報が有る場合(S522で“有”)、受信したコネクション確立要求をアプリケーション23へ通知し(S523)、コンピュータ10の経路制御部15とコネクションを確立する(S524)。   Further, after receiving a connection establishment request from the route control unit 15 of the computer 10 after S521, the route control unit 25 of the computer 20 receives connection information for communication in the route management table 251 (see reference numeral 724 in FIG. 5B). ) To determine whether there is information that matches the connection establishment request (S522). Here, referring to the connection information for communication in the route management table 251, when there is information that matches the connection establishment request (“Yes” in S522), the received connection establishment request is notified to the application 23 (S523). Then, a connection is established with the path control unit 15 of the computer 10 (S524).

ここで、経路制御部25がアプリケーション23に通知するコネクション確立要求は、受信したコネクション確立要求ではなく経路管理テーブル251において、アプリケーション用のコネクション情報(図5(b)の符号722参照)である。   Here, the connection establishment request notified by the route control unit 25 to the application 23 is not connection connection request received but connection information for application in the route management table 251 (see reference numeral 722 in FIG. 5B).

例えば、経路制御部25の受信したコネクション確立要求が、図5(b)の符号722に示すコネクションであった場合、経路制御部25は、符号723に示すアプリケーション用のコネクション情報をアプリケーション23へ通知する。つまり、経路制御部25は実際には符号722に示すコネクション確立要求を受信した場合でも、アプリケーション23に対し、符号723に示すコネクション確立要求を受信したように認識させる。   For example, when the connection establishment request received by the route control unit 25 is the connection indicated by reference numeral 722 in FIG. 5B, the route control unit 25 notifies the application 23 of connection information for the application indicated by reference number 723. To do. That is, the path control unit 25 causes the application 23 to recognize that the connection establishment request indicated by reference numeral 723 has been received even when the connection establishment request indicated by reference numeral 722 is actually received.

一方、経路管理テーブル251にコネクション確立要求と一致する情報が無い場合(S522で“無”)、通常の手順に従いコネクション確立処理を行う(S525)。   On the other hand, when there is no information matching the connection establishment request in the route management table 251 (“No” in S522), connection establishment processing is performed according to a normal procedure (S525).

このようにしてコンピュータ10,20はコネクション確立を行う。   In this way, the computers 10 and 20 establish a connection.

以降、コンピュータ10の経路制御部15では、経路管理テーブル151(図5(a)参照)を参照して以下のような処理を行う。例えば、アプリケーション13が図5(a)の符号703に示すコネクションで送信要求したデータは、経路制御部15が符号702に示すコネクションを用いてコンピュータ20へ送信する。また、経路制御部15が符号702に示すコネクションを用いてコンピュータ20からデータを受信したとき、経路制御部15は符号703に示すコネクションのデータとしてアプリケーション13に通知する。   Thereafter, the route control unit 15 of the computer 10 performs the following processing with reference to the route management table 151 (see FIG. 5A). For example, the data requested by the application 13 to be transmitted through the connection indicated by reference numeral 703 in FIG. 5A is transmitted by the path control unit 15 to the computer 20 using the connection indicated by reference numeral 702. When the path control unit 15 receives data from the computer 20 using the connection indicated by reference numeral 702, the path control unit 15 notifies the application 13 as data of the connection indicated by reference numeral 703.

また、コンピュータ20の経路制御部25も、経路管理テーブル251(図5(b)参照)を参照して以下のような処理を行う。例えば、アプリケーション23が図5(b)の符号723に示すコネクションで送信要求したデータは、経路制御部25が符号722に示すコネクションを用いてコンピュータ10へ送信する。また、経路制御部25が、符号722に示すコネクションを用いてコンピュータ10からデータを受信したとき、経路制御部25は符号723に示すコネクションのデータとしてアプリケーション23に通知する。   The route control unit 25 of the computer 20 also performs the following processing with reference to the route management table 251 (see FIG. 5B). For example, the data requested by the application 23 to be transmitted through the connection indicated by reference numeral 723 in FIG. 5B is transmitted to the computer 10 by the path control unit 25 using the connection indicated by reference numeral 722. When the route control unit 25 receives data from the computer 10 using the connection indicated by reference numeral 722, the route control unit 25 notifies the application 23 as connection data indicated by reference numeral 723.

つまり、図1のコンピュータ10とコンピュータ20との間で、経路31,41いずれの経路を用いてデータ送受信を行う場合であっても、このコンピュータ10,20のアプリケーション13,23に、IPアドレス「10.0.0.2」(ネットワークアダプタ17のIPアドレス)とIPアドレス「10.1.0.1」(ネットワークアダプタ26)とを繋ぐコネクション上でデータ送受信を行っているように認識させることができる。   That is, even when data is transmitted / received between the computer 10 and the computer 20 in FIG. 1 using any of the routes 31 and 41, the IP address “ Recognizing that data is being transmitted / received on the connection connecting “0.0.0.2” (IP address of network adapter 17) and IP address “10.1.0.1” (network adapter 26) Can do.

なお、コネクション解放時には、経路制御部15,25は、経路管理テーブル151,251から該当する情報を削除する。   When the connection is released, the route control units 15 and 25 delete the corresponding information from the route management tables 151 and 251.

また、コンピュータ10,20においてコネクション確立後に経路障害が発生した場合、以下のような処理を行う。   Further, when a path failure occurs after the connection is established in the computers 10 and 20, the following processing is performed.

すなわち、まず経路制御部15,25は、経路管理テーブル151,251に登録された通信用のコネクション情報から、経路障害が発生した経路のコネクション情報を検索する。次に、この検索したコネクション情報に対応するアプリケーション用のコネクション情報から相手IPアドレスを取得する。そして、この相手IPアドレスを宛先アドレスとして、コンピュータ10の経路制御部15は、前記したS507〜S512を実行し、またコンピュータ20の経路制御部25も、前記したS521〜S524を実行し、経路制御部15,25間でネゴシエーションして別の通信経路でコネクションを確立する。そして、経路制御部15,25は、経路管理テーブル151,251の通信用のコネクション情報における、経路障害が発生したコネクション情報を削除し、経路障害となったコネクションを解放する。そして、経路管理テーブル151,251に新たに確立したコネクションのコネクション情報を書き加える。   That is, first, the path control units 15 and 25 search for connection information of a path in which a path failure has occurred from communication connection information registered in the path management tables 151 and 251. Next, the partner IP address is obtained from the connection information for the application corresponding to the retrieved connection information. Then, using this partner IP address as the destination address, the route control unit 15 of the computer 10 executes the above-described S507 to S512, and the route control unit 25 of the computer 20 also executes the above-described S521 to S524 to control the route. The units 15 and 25 negotiate to establish a connection through another communication path. Then, the route control units 15 and 25 delete the connection information in which the route failure has occurred in the connection information for communication in the route management tables 151 and 251 and release the connection in which the route failure has occurred. Then, the connection information of the newly established connection is added to the route management tables 151 and 251.

このようにすることで、アプリケーションに障害を意識させることなく通信経路を動的に切り替えて通信を継続することが可能である。   By doing so, it is possible to continue the communication by dynamically switching the communication path without making the application aware of the failure.

<複数のコネクションを確立する場合>
次に、図1〜図6を参照しつつ、コンピュータ10,20が2本目以降のコネクションを確立する場合について説明する。ここでは、既に、経路制御部15は経路情報リスト152と経路管理テーブル151とを作成し、経路制御部25も経路情報リスト252と経路管理テーブル251と作成済みの場合について説明する。また、コンピュータ10,20は、図5(a)の符号701および図5(b)の符号721に示すコネクションを確立しているものとする。図6(a)は、図1のコンピュータ10が第2のコネクション(2本目のコネクション)を確立した後の経路管理テーブル151を例示した図であり、(b)は、図1のコンピュータ20が第2のコネクション(2本目のコネクション)を確立した後の経路管理テーブル251を例示した図である。
<When establishing multiple connections>
Next, the case where the computers 10 and 20 establish the second and subsequent connections will be described with reference to FIGS. Here, the case where the route control unit 15 has already created the route information list 152 and the route management table 151 and the route control unit 25 has already created the route information list 252 and the route management table 251 will be described. Further, it is assumed that the computers 10 and 20 have established connections indicated by reference numeral 701 in FIG. 5A and reference numeral 721 in FIG. 6A is a diagram illustrating a path management table 151 after the computer 10 of FIG. 1 has established the second connection (second connection), and FIG. 6B is a diagram of the computer 20 of FIG. It is the figure which illustrated the path | route management table 251 after establishing a 2nd connection (2nd connection).

まず、第2のコネクションの確立手順について、図2を参照しながら説明する。コンピュータ10の経路制御部15がアプリケーション13から自側IPアドレス「10.1.0.1」、宛先IPアドレス「10.0.0.2」、相手ポート「10002」としたコネクション確立要求を受ける(S500)。   First, the procedure for establishing the second connection will be described with reference to FIG. The route control unit 15 of the computer 10 receives a connection establishment request from the application 13 with its own IP address “10.1.0.1”, destination IP address “10.0.0.2”, and partner port “10002”. (S500).

次に、経路制御部15は、経路情報リスト152に格納されている宛先IPアドレス「10.0.0.2」に対応する経路情報(通信経路情報)が有るか否かを判断する(S501)。ここで、経路情報リスト152に、宛先IPアドレス「10.0.0.2」に関する経路情報が有る場合(S501で“有”)、該当する通信経路(図3(a)の符号601〜604)のうち、使用可能な通信経路の中から、通信経路を選択する(S507)。ここで、選択される通信経路は、例えば、ラウンドロビン等の方法により、最初のコネクション確立時に選択された符号601に示す通信経路ではなく、符号604に示す通信経路が選択される。一方、該当する経路情報が無い場合(S501で“無し”)、前記したS502以降の処理を実行する。   Next, the route control unit 15 determines whether there is route information (communication route information) corresponding to the destination IP address “10.0.0.2” stored in the route information list 152 (S501). ). Here, when the route information list 152 includes route information related to the destination IP address “10.0.0.2” (“Yes” in S501), the corresponding communication route (reference numerals 601 to 604 in FIG. 3A). ) Is selected from available communication paths (S507). Here, as the communication path to be selected, for example, a communication path indicated by reference numeral 604 is selected by a method such as round robin, not the communication path indicated by reference numeral 601 selected when the first connection is established. On the other hand, when there is no corresponding route information (“None” in S501), the processing from S502 onward is executed.

S507において経路制御部15は、例えば、図3(a)の符号604に示す通信経路を選択すると、前記したS508〜S511およびS521と同様の処理を実施する。そして、経路制御部15は、図6(a)に例示するような経路管理テーブル151を作成し、経路制御部25は、図6(b)に例示するような経路管理テーブル251を作成する。   In S507, for example, when the communication path indicated by reference numeral 604 in FIG. 3A is selected, the path control unit 15 performs the same processing as in S508 to S511 and S521 described above. Then, the route control unit 15 creates a route management table 151 as illustrated in FIG. 6A, and the route control unit 25 creates a route management table 251 as illustrated in FIG. 6B.

図6(a)に例示するように、経路管理テーブル151には、最初のコネクションに関する情報(符号701参照)に加え、第2のコネクションに関する情報(符号708参照)が登録される。この符号708に示す第2のコネクションに関する情報は、図3(a)の符号604に示す通信経路情報をもとに作成されたものであり、通信用のコネクション情報709と、アプリケーション用のコネクション情報710とを含んで構成される。   As illustrated in FIG. 6A, in the route management table 151, information related to the second connection (refer to reference numeral 708) is registered in addition to information related to the first connection (refer to reference numeral 701). The information relating to the second connection indicated by reference numeral 708 is created based on the communication path information indicated by reference numeral 604 in FIG. 3A, and includes connection information for communication 709 and connection information for application. 710.

同様に、経路制御部25の経路管理テーブル251には、図6(b)に例示するように、経路管理テーブル251には、最初のコネクションに関する情報(符号721参照)に加え、第2のコネクションに関する情報(符号728参照)が登録される。この符号728に示す第2のコネクションに関する情報は、図3(b)の符号614に示す通信経路情報を元に作成されたものである。なお、この符号728に示す第2のコネクションに関する情報も、通信用のコネクション情報729と、アプリケーション用のコネクション情報730とを含んで構成される。   Similarly, in the route management table 251 of the route control unit 25, as illustrated in FIG. 6B, the route management table 251 includes the second connection in addition to information on the first connection (see reference numeral 721). Information regarding (see reference numeral 728) is registered. The information relating to the second connection indicated by reference numeral 728 is created based on the communication path information indicated by reference numeral 614 in FIG. Information relating to the second connection indicated by reference numeral 728 also includes connection information 729 for communication and connection information 730 for application.

次に、経路制御部15,25は、それぞれ、符号709,729に示すコネクションを確立すると(図2のS512,S524)、アプリケーション13,23に対して、図6(a)、(b)の符号710,730に示すコネクション確立が成功したと通知する(S513,S523)。   Next, when the path control units 15 and 25 establish connections indicated by reference numerals 709 and 729, respectively (S512 and S524 in FIG. 2), the applications 13 and 23 are instructed in FIGS. 6A and 6B. Notification is made that the connection establishment indicated by reference numerals 710 and 730 is successful (S513, S523).

そして、経路制御部15,25は、このようなコネクション確立後、前記手順と同様に、確立したコネクションを用いたデータ送受信を行う。   Then, after establishing such a connection, the path control units 15 and 25 perform data transmission / reception using the established connection in the same manner as in the above procedure.

例えば、経路制御部15は、図6(a)に例示する経路管理テーブル151に格納されている情報に従い、以下の処理を行う。すなわち、経路制御部15は、アプリケーション13が符号703に示すコネクションを用いたデータの送信要求をしたとき、符号702に示すコネクションを用いてコンピュータ20へデータ送信を行う。そして、アプリケーション13に対し、経路制御部15は、このデータ送信については、符号703に示すコネクションのアドレスで送信したものと通知する。また、経路制御部15は、符号702に示すコネクションで受信したデータについて、アプリケーション13にデータを渡すとき、符号703に示すコネクションのアドレスを通知する。さらに、経路制御部15は、アプリケーション13が符号710に示すコネクションを用いたデータの送信要求をしたとき、符号709に示すコネクションを用いてコンピュータ20へデータ送信を行う。そして、アプリケーション13に対し、経路制御部15は、このデータ送信については、符号710に示すコネクションのアドレスで送信したものと通知する。また、経路制御部15は、符号709に示すコネクションで受信したデータについて、アプリケーション13に対し、符号710に示すコネクションのアドレスを用いてコンピュータ20から受信したものと通知する。つまり、経路制御部15は、通信用のコネクションでデータ通信について、アプリケーション13に対しては、経路管理テーブル151を参照して、アプリケーション用のコネクションを用いてデータ通信を行ったように認識させる。   For example, the route control unit 15 performs the following processing according to information stored in the route management table 151 illustrated in FIG. In other words, when the application 13 makes a data transmission request using the connection indicated by reference numeral 703, the path control unit 15 transmits data to the computer 20 using the connection indicated by reference numeral 702. Then, the path control unit 15 notifies the application 13 that the data transmission is performed at the connection address indicated by reference numeral 703. In addition, the path control unit 15 notifies the address of the connection indicated by reference numeral 703 when passing the data received by the connection indicated by reference numeral 702 to the application 13. Further, when the application 13 makes a data transmission request using the connection indicated by reference numeral 710, the path control unit 15 transmits data to the computer 20 using the connection indicated by reference numeral 709. Then, the path control unit 15 notifies the application 13 that the data transmission is performed at the connection address indicated by reference numeral 710. Further, the path control unit 15 notifies the application 13 that the data received through the connection indicated by reference numeral 709 is received from the computer 20 using the connection address indicated by reference numeral 710. That is, the path control unit 15 causes the application 13 to recognize the data communication using the connection for communication as if the data communication was performed using the connection for the application with reference to the path management table 151.

同様に、経路制御部25では、例えば、図6(b)に例示する経路管理テーブル251の通信用のコネクションを用いたデータ通信について、アプリケーション23に対しては、経路管理テーブル251を参照して、アプリケーション用のコネクションを用いてデータ通信を行ったように認識させる。   Similarly, the path control unit 25 refers to the path management table 251 for the application 23 for data communication using the communication connection of the path management table 251 illustrated in FIG. Then, it is recognized as if data communication was performed using the application connection.

なお、コネクション解放時、経路制御部15,25は、経路管理テーブル151,251から該当する情報を削除する。   When the connection is released, the route control units 15 and 25 delete the corresponding information from the route management tables 151 and 251.

これにより、最初のコネクションは図1の経路31、第2のコネクションは経路41というように、データ送受信の通信経路がコネクションごとに別であってもアプリケーション13,23には、どちらのコネクションもIPアドレス「10.1.0.1」とIPアドレス「10.0.0.2」との間のコネクションであると認識させることが可能である。   Thus, even if the data transmission / reception communication path is different for each connection, such as the first connection is the path 31 in FIG. It is possible to recognize the connection between the address “10.1.0.1” and the IP address “10.0.0.2”.

以降、経路制御部15は、アプリケーション13からコネクション確立要求がある度に、前記と同様の手順で、経路情報リスト152から通信経路を選択する。そして、経路制御部15は経路管理テーブル151に、アプリケーション用のコネクション情報と、通信用のコネクション情報とを対応付けて登録する。そして、経路制御部15はその情報に基づいてコネクション確立やデータ通信を行う。   Thereafter, every time there is a connection establishment request from the application 13, the route control unit 15 selects a communication route from the route information list 152 in the same procedure as described above. Then, the path control unit 15 registers application connection information and communication connection information in the path management table 151 in association with each other. Then, the route control unit 15 performs connection establishment and data communication based on the information.

なお、前記した実施の形態において、コンピュータ10のアプリケーション13側から、コンピュータ20のアプリケーション23へのコネクション確立をする場合について述べたが、経路制御部15と経路制御部25とがお互い同じ機能を持ち、アプリケーション23側からアプリケーション13へコネクション確立するようにしてもよい。   In the above-described embodiment, the case where the connection from the application 13 side of the computer 10 to the application 23 of the computer 20 is established has been described. However, the path control unit 15 and the path control unit 25 have the same functions. The connection from the application 23 side to the application 13 may be established.

また、図2において、経路制御部15,25間の経路情報交換(S504,S518)と通信経路設定(S510,S521)は、経路制御コネクションを用いて実施する場合を例に説明したが、これに限定されない。例えば、UDP(User Datagram Protocol)やブロードキャスト等により実施するようにしてもよい。さらに、図2において、経路情報リスト152,252を設定する手順から説明したが、予め設定しておいてももちろんよい。   Further, in FIG. 2, the route information exchange (S504, S518) and the communication route setting (S510, S521) between the route control units 15 and 25 have been described as an example using a route control connection. It is not limited to. For example, it may be implemented by UDP (User Datagram Protocol), broadcast, or the like. Furthermore, although the procedure for setting the route information lists 152 and 252 has been described with reference to FIG. 2, it may of course be set in advance.

また、経路情報リスト152,252は、図3の(a)、(b)の内容に限定されるものではない。図3(c)は、経路情報リストの他の例である経路情報リスト600を例示した図である。   Further, the route information lists 152 and 252 are not limited to the contents of (a) and (b) of FIG. FIG. 3C is a diagram illustrating a route information list 600 that is another example of the route information list.

例えば、図3(c)の経路情報リスト600に示すように、各通信経路の情報として符号625に示す宛先IPアドレス情報(IPアドレス「10.1.0.1」)と、その宛先IPアドレス情報に対応する通信経路、すなわち、相手コンピュータのIPアドレス情報626(IPアドレス「10.0.0.1」、「10.1.0.1」)および自コンピュータのIPアドレス情報627(IPアドレス「10.0.0.2」、「10.1.0.2」)と、各経路の状態628に加えて、当該通信経路の応答性能情報631等の情報を格納するものとしてもよい。   For example, as shown in the route information list 600 of FIG. 3C, destination IP address information (IP address “10.1.0.1”) indicated by reference numeral 625 as the information of each communication route, and the destination IP address Communication path corresponding to the information, that is, the IP address information 626 (IP address “10.0.0.1”, “10.1.0.1”) of the partner computer and the IP address information 627 (IP address) of the own computer In addition to “10.0.0.2” and “10.1.0.2”) and the status 628 of each route, information such as response performance information 631 of the communication route may be stored.

さらに、通信経路の選択(S507,S802,S804)の方法はラウンドロビンに限定されるものではなく、例えば、図3(c)に例示した経路情報リスト600の情報を元に、使用可能(通信可能)な経路の中からコネクション数情報629の値が最も少ない通信経路を選択するものとしてもよい。または、この経路情報リスト600の通信負荷情報630において通信負荷が最も少ない通信経路を選択するものとしてもよいし、応答性能情報631において最も応答性能の高い通信経路を選択するものとしてもよい。   Further, the method of selecting a communication route (S507, S802, S804) is not limited to round robin, and can be used based on the information in the route information list 600 illustrated in FIG. It is also possible to select a communication route having the smallest value of the connection number information 629 from among possible routes. Alternatively, the communication route with the smallest communication load may be selected in the communication load information 630 of the route information list 600, or the communication route with the highest response performance may be selected in the response performance information 631.

また、図2のS505で、コンピュータ20の経路制御部25は経路情報リスト252を作成しているが、経路制御部25は経路情報リスト252を作成しないものとしてもよい。つまり、コンピュータ10の経路制御部15のみが経路情報リスト152を作成し、保持するようにしてもよい。   2, the route control unit 25 of the computer 20 creates the route information list 252. However, the route control unit 25 may not create the route information list 252. That is, only the route control unit 15 of the computer 10 may create and hold the route information list 152.

さらに、図2のS506およびS520を所定期間ごとに実行して経路情報リスト152,152における各通信経路の状態(符号152,252参照)を更新し、経路障害を監視するものとしてもよい。また、経路情報リスト152,252の内容は、図2のS504〜506およびS518〜S520を所定期間ごとに実行して情報を更新するものとしてもよい。このようにすることで、コンピュータ10,20は、ネットワークアダプタ16,17,26,27やコンピュータ10,20のIPアドレスの追加や削除や、障害に伴う経路追加や削除や障害等の動的な変更に対応することができる。なお、経路制御部15,25は経路制御コネクションを、通信経路ごとに複数確立するものとしてもよい。   Further, S506 and S520 in FIG. 2 may be executed at predetermined intervals to update the state of each communication path (see reference numerals 152 and 252) in the path information lists 152 and 152 to monitor the path failure. The contents of the route information lists 152 and 252 may be updated by executing S504 to 506 and S518 to S520 in FIG. 2 at predetermined intervals. By doing in this way, the computers 10 and 20 can dynamically add or delete the IP addresses of the network adapters 16, 17, 26, and 27 or the computers 10 and 20, or add or delete a route that accompanies a failure. Can respond to changes. Note that the path control units 15 and 25 may establish a plurality of path control connections for each communication path.

以上説明した本実施の形態のシステムによれば、コンピュータ10,20間に複数の通信経路が存在する環境において、アプリケーション13,23間で確立される複数のコネクションに関し、往路と復路を同一の通信経路とすることができる。また、コンピュータ10,20は、通信経路がコネクションごとに異なっていてもアプリケーション13,23には同一IPアドレス間でのコネクションであると認識させることができる。これにより、アプリケーション13,23は、たとえコンピュータ20,10が複数のIPアドレスを用いてアクセスしてきたとしても、同じコンピュータに対し同じようなサービスを提供することができる。   According to the system of the present embodiment described above, in the environment where a plurality of communication paths exist between the computers 10 and 20, the same communication is performed on the forward path and the return path regarding the plurality of connections established between the applications 13 and 23. It can be a route. Further, the computers 10 and 20 can make the applications 13 and 23 recognize that the connection is between the same IP addresses even if the communication path is different for each connection. As a result, the applications 13 and 23 can provide the same service to the same computer even if the computers 20 and 10 are accessed using a plurality of IP addresses.

さらに、コンピュータ10,20は、通信経路障害時には、アプリケーション13,23に障害を意識させることなく、別の通信経路で通信を継続できる。これにより、ネットワークの有効利用や負荷分散や信頼性を高めることができる。   Further, the computers 10 and 20 can continue communication on another communication path without causing the applications 13 and 23 to be aware of the failure when the communication path fails. Thereby, effective use of the network, load distribution, and reliability can be improved.

本実施の形態に係るコンピュータ10,20は、前記したような処理を実行させる通信経路制御用プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。   The computers 10 and 20 according to the present embodiment can be realized by a communication path control program for executing the processing as described above, and the program is stored in a computer-readable storage medium (CD-ROM or the like). Can be provided. It is also possible to provide the program through a network such as the Internet.

本実施の形態の通信経路制御システムの構成を示す図である。It is a figure which shows the structure of the communication path control system of this Embodiment. 図1のコンピュータ10,20の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the computers 10 and 20 of FIG. (a)は、図2のS506の後の経路情報リスト152を例示した図であり、(b)は、図2のS520の後の経路情報リスト252を例示した図である。(A) is the figure which illustrated the path | route information list 152 after S506 of FIG. 2, (b) is the figure which illustrated the path | route information list 252 after S520 of FIG. 図2のS510およびS521の通信経路設定処理を示すシーケンス図である。It is a sequence diagram which shows the communication path | route setting process of S510 and S521 of FIG. (a)は、図4のS808実行後の経路管理テーブル151を例示した図であり、(b)は、図4のS803実行後の経路管理テーブル251を例示した図であり、(c)は、経路情報リストの他の例である経路情報リスト600を例示した図である。4A is a diagram illustrating the path management table 151 after execution of S808 in FIG. 4, FIG. 4B is a diagram illustrating the path management table 251 after execution of S803 in FIG. 4, and FIG. FIG. 10 is a diagram illustrating a route information list 600 which is another example of the route information list. (a)は、図1のコンピュータ10が第2のコネクション(2本目のコネクション)を確立した後の経路管理テーブル151を例示した図であり、(b)は、図1のコンピュータ20が第2のコネクション(2本目のコネクション)を確立した後の経路管理テーブル251を例示した図である。(A) is the figure which illustrated the path | route management table 151 after the computer 10 of FIG. 1 established the 2nd connection (2nd connection), (b) is the figure which the computer 20 of FIG. It is the figure which illustrated the path | route management table 251 after establishing this connection (2nd connection).

符号の説明Explanation of symbols

10,20 コンピュータ(通信装置)
11,21 CPU
12,22 メモリ(記憶部)
13,23 アプリケーション
15,25 経路制御部
16,17,26,27 ネットワークアダプタ(インタフェース部)
30,40 ネットワーク
31,41 経路
151,251 経路管理テーブル(経路管理情報)
152,252,600 経路情報リスト
10,20 Computer (communication device)
11,21 CPU
12,22 Memory (storage unit)
13, 23 Application 15, 25 Route control unit 16, 17, 26, 27 Network adapter (interface unit)
30,40 network 31,41 route 151,251 route management table (route management information)
152,252,600 Route information list

Claims (5)

第1の通信装置が、通信相手である第2の通信装置との間でデータ通信を行う際の通信経路制御方法であって、
前記第2の通信装置のアドレスを宛先アドレスとする1以上の通信経路を、前記第1の通信装置の保持するアドレスおよび前記第2の通信装置の保持するアドレスの組み合わせで示した経路情報を記憶した記憶部を備える前記第1の通信装置が、この第1の通信装置のアプリケーションからの要求に基づき、前記第2の通信装置との間でコネクションを確立するとき、
前記第1の通信装置の経路制御部が、
前記経路情報に示される1以上の通信経路から、前記第1の通信装置および前記第2の通信装置のアプリケーション間のコネクションに用いる通信経路を選択し、
前記選択した通信経路で通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記第2の通信装置へ送信し、
前記第2の通信装置の経路制御部が、
前記通信経路設定要求を受信したとき、この通信経路設定要求に含まれる前記アプリケーション用のコネクション情報と前記通信用のコネクション情報とを対応付けた経路管理情報を、前記第2の通信装置の記憶部に記憶し、
前記第1の通信装置へ、通信経路設定応答を送信し、
前記第1の通信装置の経路制御部が、
前記第2の通信装置から、前記通信経路設定応答を受信したとき、前記送信した通信経路設定要求に含まれる前記経路管理情報を、前記第1の通信装置の記憶部に記憶し、
前記経路管理情報に示される通信用のコネクション情報に基づき、前記第2の通信装置との間で通信用のコネクションを確立し、
前記第1の通信装置のアプリケーションからの要求に基づき、前記第2の通信装置との間でデータ通信を行うとき、前記第1の通信装置の記憶部に記憶された経路管理情報から、前記第1の通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、
前記第1の通信装置のアプリケーションに対して、この第1の通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知し、
前記第2の通信装置の経路制御部が、
前記第2の通信装置のアプリケーションからの要求に基づき、前記第1の通信装置との間でデータ通信を行うとき、前記第2の通信装置の記憶部に記憶された経路管理情報から、前記第2の通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、
前記第2の通信装置のアプリケーションに対して、この第2の通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知することを特徴とする通信経路制御方法。
A communication path control method when a first communication device performs data communication with a second communication device that is a communication partner,
Stores path information indicating one or more communication paths having the address of the second communication apparatus as a destination address by a combination of an address held by the first communication apparatus and an address held by the second communication apparatus When the first communication device including the storage unit establishes a connection with the second communication device based on a request from the application of the first communication device,
A path control unit of the first communication device;
From one or more communication paths indicated in the path information, select a communication path to be used for a connection between applications of the first communication apparatus and the second communication apparatus,
A communication path setting request including connection information for communication using an address communicable on the selected communication path and connection information for application using an address used between the applications is sent to the second To the communication device,
A path control unit of the second communication device;
When the communication path setting request is received, path management information in which the connection information for application and the connection information for communication included in the communication path setting request are associated with each other is stored in the storage unit of the second communication device Remember
A communication path setting response is transmitted to the first communication device;
A path control unit of the first communication device;
When the communication path setting response is received from the second communication apparatus, the path management information included in the transmitted communication path setting request is stored in the storage unit of the first communication apparatus,
Based on the connection information for communication indicated in the route management information, establish a connection for communication with the second communication device,
When data communication is performed with the second communication device based on a request from the application of the first communication device, the path management information stored in the storage unit of the first communication device is used to Selecting communication connection information corresponding to the connection information of the connection requested by the application of the first communication device, performing data communication using the connection indicated in the selected connection information for communication,
Notifying the application of the first communication device that data communication has been performed through the connection requested by the application of the first communication device;
A path control unit of the second communication device;
When performing data communication with the first communication device based on a request from the application of the second communication device, the path management information stored in the storage unit of the second communication device is used to Selecting communication connection information corresponding to the connection information of the connection requested by the application of the communication device 2 and performing data communication using the connection indicated in the selected connection information for communication;
A communication path control method comprising: notifying an application of the second communication device that data communication is performed through a connection requested by the application of the second communication device.
前記第2の通信装置の経路制御部が、
前記通信経路設定要求を受信したとき、前記第2の通信装置が備える経路情報を参照して、前記通信経路設定要求の対象である通信経路設定に応じるか否かを判定し、
前記通信経路設定要求の対象である通信経路設定に応じないと判定したとき、前記経路情報に登録される通信経路から、前記通信経路設定要求の送信元を宛先アドレスとする通信経路を選択し、前記選択した通信経路と、前記判定結果とを前記通信経路設定応答に含めて送信し、
前記第1の通信装置の経路制御部が、
前記通信経路設定応答を受信し、この通信経路設定応答に含まれる判定結果が拒否だったとき、前記受信した通信経路設定応答に含まれる通信経路を通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記第2の通信装置へ送信することを特徴とする請求項1に記載の通信経路制御方法。
A path control unit of the second communication device;
When receiving the communication path setting request, refer to the path information provided in the second communication device, determine whether to respond to the communication path setting that is the target of the communication path setting request,
When it is determined not to respond to the communication route setting that is the target of the communication route setting request, a communication route having a transmission source of the communication route setting request as a destination address is selected from the communication routes registered in the route information; The selected communication path and the determination result are included in the communication path setting response and transmitted,
A path control unit of the first communication device;
Connection information for communication using an address capable of communicating the communication path included in the received communication path setting response when the communication path setting response is received and the determination result included in the communication path setting response is rejected And a communication path setting request including connection information for an application using an address used between the applications, to the second communication apparatus. Control method.
前記経路情報に示される通信経路情報は、前記通信経路ごとに、当該通信経路の通信可否を示した経路状態情報、当該通信経路に使用されているコネクション数、当該通信経路における通信負荷および当該通信経路における応答性能のうち少なくともいずれが1つを含み、
前記第1の通信装置が、前記コネクションに用いる通信経路を選択するとき、前記経路状態情報において、通信可能となっている通信経路の中から、当該通信経路に使用されているコネクション数が最も少ない通信経路、当該通信経路における通信負荷が最も少ない通信経路、または、当該通信経路における応答性能が最も高い通信経路を選択することを特徴とする請求項1または請求項2に記載の通信経路制御方法。
The communication path information indicated in the path information includes, for each communication path, path status information indicating whether or not communication of the communication path is possible, the number of connections used in the communication path, a communication load in the communication path, and the communication At least one of the response performances in the path includes one,
When the first communication device selects a communication path to be used for the connection, the number of connections used for the communication path is the smallest among the communication paths that are communicable in the path state information. The communication path control method according to claim 1 or 2, wherein a communication path, a communication path having the smallest communication load in the communication path, or a communication path having the highest response performance in the communication path is selected. .
請求項1ないし請求項3のいずれか1項に記載の通信経路制御方法を通信装置であるコンピュータに実行させることを特徴とする通信経路制御プログラム。   A communication path control program for causing a computer as a communication apparatus to execute the communication path control method according to any one of claims 1 to 3. 通信相手である他の通信装置との間でデータ通信を行う通信装置であって、
ネットワーク経由で他の通信装置とのデータ通信を行うためのインタフェース部と、
前記他の通信装置のアドレスを宛先アドレスとする1以上の通信経路を、前記自通信装置の保持するアドレスおよび前記他の通信装置の保持するアドレスの組み合わせで示した経路情報を記憶した記憶部と、
前記自通信装置のアプリケーションからの要求に基づき、前記他の通信装置との間でコネクションを確立するとき、前記経路情報に示される1以上の通信経路から、前記自通信装置および前記他の通信装置のアプリケーション間のコネクションに用いる通信経路を選択し、前記選択した通信経路で通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記インタフェース部経由で、前記他の通信装置へ送信し、前記他の通信装置から、前記通信経路設定要求の応答である通信経路設定応答を受信したとき、前記送信した通信経路設定要求に含まれる前記経路管理情報を、前記自通信装置の記憶部に記憶し、前記経路管理情報に示される通信用のコネクション情報に基づき、前記他の通信装置との間で通信用のコネクションを確立し、前記自通信装置のアプリケーションからの要求に基づき、前記インタフェース部経由で前記他の通信装置との間でデータ通信を行うとき、前記自通信装置の記憶部に記憶された経路管理情報から、前記自通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、前記自通信装置のアプリケーションに対して、この自通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知する経路制御部と、
を備えることを特徴とする通信装置。
A communication device that performs data communication with another communication device that is a communication partner,
An interface unit for performing data communication with other communication devices via a network;
A storage unit storing path information indicating one or more communication paths having a destination address as an address of the other communication apparatus as a combination of an address held by the own communication apparatus and an address held by the other communication apparatus; ,
When establishing a connection with the other communication device based on a request from an application of the own communication device, the own communication device and the other communication device are selected from one or more communication paths indicated in the path information. A communication path to be used for a connection between applications, connection information for communication using an address communicable on the selected communication path, connection information for an application using an address used between the applications, and When a communication path setting response that is a response to the communication path setting request is received from the other communication apparatus, the communication path setting request including the communication path setting request is transmitted to the other communication apparatus via the interface unit. The route management information included in the transmitted communication route setting request is stored in the storage unit of the own communication device Based on the communication connection information indicated in the route management information, establish a communication connection with the other communication device, and based on a request from the application of the own communication device, via the interface unit When performing data communication with the other communication device, communication information corresponding to the connection information of the connection requested by the application of the own communication device is obtained from the route management information stored in the storage unit of the own communication device. Select connection information, perform data communication using the connection indicated in the selected connection information for communication, and send data communication to the application of the communication device by the connection requested by the application of the communication device. A route control unit for notifying that it has been performed;
A communication apparatus comprising:
JP2007075242A 2007-03-22 2007-03-22 Communication path control method and program, and communication apparatus Pending JP2008236543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007075242A JP2008236543A (en) 2007-03-22 2007-03-22 Communication path control method and program, and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007075242A JP2008236543A (en) 2007-03-22 2007-03-22 Communication path control method and program, and communication apparatus

Publications (1)

Publication Number Publication Date
JP2008236543A true JP2008236543A (en) 2008-10-02

Family

ID=39908743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075242A Pending JP2008236543A (en) 2007-03-22 2007-03-22 Communication path control method and program, and communication apparatus

Country Status (1)

Country Link
JP (1) JP2008236543A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093566A (en) * 2008-10-08 2010-04-22 Fujitsu Ltd Extension connection method and route selection device
JP2010157225A (en) * 2008-12-31 2010-07-15 Nhn Corp Message transmission/reception method of messaging network system
JP2012156910A (en) * 2011-01-28 2012-08-16 Brother Ind Ltd Communication apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093566A (en) * 2008-10-08 2010-04-22 Fujitsu Ltd Extension connection method and route selection device
US8614957B2 (en) 2008-10-08 2013-12-24 Fujitsu Limited Extension connection method and route selection device
JP2010157225A (en) * 2008-12-31 2010-07-15 Nhn Corp Message transmission/reception method of messaging network system
JP2012156910A (en) * 2011-01-28 2012-08-16 Brother Ind Ltd Communication apparatus

Similar Documents

Publication Publication Date Title
EP2137844B1 (en) Distributed routing table architecture and design
KR101455434B1 (en) Peer-to-peer collaboration system with edge routing
US8489913B2 (en) Network system and network relay apparatus
US20120311159A1 (en) Direct addressability and direct server return
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
KR101501973B1 (en) Relay server and relay communication system
JP2008236543A (en) Communication path control method and program, and communication apparatus
US9413653B2 (en) Communication system and server
US9936011B2 (en) Distributed database, method of sharing data, program storing medium, and apparatus for a distributed database
JP5621639B2 (en) Relay server and relay communication system
Vashishth et al. Addressing challenges in browser based P2P content sharing framework using WebRTC
CN106254433B (en) Method and device for establishing TCP communication connection
CN108242982A (en) A kind of server dual-locomotive heat switching processing system
JP4415391B2 (en) Method and apparatus for transmitting data to a network and method and apparatus for receiving data from a network
US8737413B2 (en) Relay server and relay communication system
JP2008072521A (en) Equipment, method and program for communication
US20130136130A1 (en) Relay server and relay communication system
KR101335437B1 (en) Communication method of terminals based on the reuse of network address translation port map
US11310310B2 (en) Communication device for peer-to-peer communication and a communication network using the same
JP5633694B2 (en) Relay server and relay communication system
US20200287789A1 (en) Relay device and non-transitory computer readable medium
JP6223638B2 (en) COMMUNICATION DEVICE, MESSAGE TRANSMITTING / RECEIVING METHOD, SETTING PROCESSING METHOD, MESSAGE TRANSMITTING / RECEIVING PROGRAM, AND SETTING PROCESSING PROGRAM
JP5633693B2 (en) Relay server and relay communication system
JP2016046755A (en) Communication device, communication system, communication control program and communication control method
JP2018028787A (en) Information processing apparatus, information processing system, information processing method, and information processing program