JP2008236543A - Communication path control method and program, and communication apparatus - Google Patents
Communication path control method and program, and communication apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、通信経路制御技術に関する。 The present invention relates to a communication path control technique.
ネットワークを介してコンピュータが互いにTCP/IP(Transmission Control Protocol/Internet Protocol)通信を行うシステムにおいて、ネットワークの負荷分散や障害発生時の迂回経路を確保するため、コンピュータが、通信相手IP(Internet Protocol)アドレスごとに、この通信相手との通信に使用すべき通信処理装置(ルータ等)を選択する技術が提案されている(特許文献1参照)。
しかし、前記した従来技術には以下のような問題がある。例えば、複数の通信処理装置を用いる場合、コネクション確立時に自コンピュータが選択した通信処理装置により、発信元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
<コンピュータ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を経由で通信を行うためのネットワークインタフェースである。
<
The
なお、メモリ12は、所定領域に、通信を行うために用いられるアプリケーション13、コンピュータ10のOS(Operating System)14、経路制御部15、経路管理テーブル(経路管理情報)151、経路情報リスト(経路情報)152等を備える。
Note that the
経路制御部15は、他のコンピュータ(例えば、コンピュータ20)との間でコネクションを確立したり、このコンピュータ10がネットワーク30,40経由で通信を行う際の経路制御をしたりする。
The
経路管理テーブル151は、このコンピュータ10が確立しているコネクション情報を示したものである。この経路管理テーブル151は、アプリケーション13が意識しているコネクションごとに、そのコネクションにおいて経路制御部15が使用するコネクションを示した情報である。つまり、アプリケーション用のコネクション情報と、このコネクションに対応する通信用のコネクション情報を示したものである。この経路管理テーブル151は、経路制御部15が、データ通信を行うときに参照される。この経路管理テーブル151の詳細は、図5(a)を用いて後記する。
The route management table 151 shows connection information established by the
経路情報リスト152は、宛先IPアドレスごとに、そのIPアドレスのノード(コンピュータ)との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト152は、例えば、経路制御部15が、他のコンピュータ(例えば、コンピュータ20)との間でお互いのIPアドレスを交換することで作成される。また、この経路情報リスト152に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト152は、前記した経路制御部15が通信経路を選択して、経路管理テーブル151を作成する際に参照される。この経路情報リスト152の詳細は、図3(a)を用いて後記する。
The
なお、この経路制御部15の機能は、CPU11が、ディスク装置等に記憶された通信経路制御プログラムを実行することで実現される。つまり、図1において、経路制御部15は、ディスク装置等に記憶されたプログラムがメモリ12上にロードされた状態として描いている。
The function of the
また、以下の説明において、ネットワークアダプタ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
<コンピュータ20>
さらに、コンピュータ20も、コンピュータ10と同様に、CPU21、メモリ(第2の記憶部)22、ネットワークアダプタ(第2のインタフェース部)26,27を備える。また、図示を省略しているが、コンピュータ20は、各種プログラムやデータを記憶するディスク装置等を備える。このメモリ22は、所定領域に、通信を行うために用いられるアプリケーション23、コンピュータ20のOS24、経路制御部(第2の経路制御部)25、経路管理テーブル(第2の経路管理情報)251、経路情報リスト252等を備える。
<
Further, like the
経路制御部25は、コンピュータ20がネットワーク30,40経由で通信を行う際の経路制御を行う。
The
経路管理テーブル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
経路情報リスト252も、前記した経路情報リスト152と同様、宛先IPアドレスごとに、そのIPアドレスのノード(コンピュータ)との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト252も、例えば、経路制御部25が、他のコンピュータ(例えば、コンピュータ10)との間でお互いのIPアドレスを交換することで作成される。また、この経路情報リスト252に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト252は、前記した経路制御部25が通信経路を選択して、経路管理テーブル251を作成する際に参照される。この経路情報リスト252の詳細は、図3(b)を用いて後記する。
Similarly to the
また、ネットワークアダプタ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
なお、前記したアプリケーション13,23、OS14,24、経路制御部15,25の機能を実現するためのプログラムは、例えば、CD−ROM等の記憶媒体やネットワーク経由で、コンピュータ10,20にインストールされるものとする。
The programs for realizing the functions of the
<動作説明>
次に、図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
なお、ここでは、図1のコンピュータ10がクライアントとして動作し、コンピュータ20がサーバとして動作する場合を例に説明する。また、コンピュータ10のアプリケーション13は、自IPアドレスとして「10.1.0.1」を使用し、コンピュータ20はポート「10002」をオープンにする場合を例に説明する。なお、コネクション確立前において、経路管理テーブル151,251および経路情報リスト152,252には、まだ情報が設定されていないものとする。
Here, a case where the
まず、図1のコンピュータ20の経路制御部25は、コンピュータ10の経路制御部15との経路制御コネクション用のポート「50000」をオープンする(S515)。次に、経路制御部25は、アプリケーション23からポート「10002」のポートオープン要求を受け(S516)、ポート「10002」をオープンする。そして、コンピュータ20は、コンピュータ10からのコネクション確立要求を待つ。
First, the path control
次に、コンピュータ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
この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
一方、コンピュータ10の経路情報リスト152に、宛先IPアドレス「10.0.0.2」に関する経路情報が有る場合(S501で“有”)、S507へ進む。このS507については、後記する。
On the other hand, if the
なお、S502において、コンピュータ10の経路制御部15が、コンピュータ20との経路制御コネクションの確立に失敗した場合(S503で“失敗”)、この経路制御部15は、相手コンピュータ(コンピュータ20)を、本実施の形態のシステムに対応していないコンピュータと判断し、従来技術に基づき通常のコネクション確立を行う(S514)。
In S502, when the path control
一方、コンピュータ10の経路制御部15が、コンピュータ20との経路制御コネクション確立に成功した場合(S503で“成功”)、コンピュータ20の経路制御部25との間で経路情報(通信経路情報)を交換する(S504,S518)。
On the other hand, when the
例えば、コンピュータ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
これにより、コンピュータ10の経路制御部15は、コンピュータ20の保持するIPアドレスを取得し、コンピュータ20の経路制御部25も、コンピュータ10の保持するIPアドレスを取得する。
Thereby, the
前記した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
つまり、経路制御部15,25は、宛先コンピュータごとに、その宛先コンピュータに割り当てられたIPアドレスと、自コンピュータに割り当てられたIPアドレスとの組み合わせから考えられる通信経路を経路情報リスト152,252に書き込む。そして、経路制御部15,25は、通信経路それぞれについて経路状態を確認して経路情報リスト152,252に書き込む。ここで作成する経路情報リスト152,252を、図3(a)、(b)を用いて説明する。
That is, for each destination computer, the
図3(a)は、図2のS506の後の経路情報リスト152を例示した図であり、(b)は、図2のS520の後の経路情報リスト252を例示した図である。(c)については後記する。
3A is a diagram illustrating the
図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
図3(b)に例示するように経路情報リスト252には、宛先IPアドレス615(コンピュータ10のIPアドレス「10.1.0.1」)に対応する情報として、S518で取得した通信経路情報(相手コンピュータのIPアドレス616と自コンピュータのIPアドレス617との組み合わせ)と、S520で取得した各通信経路の状態情報618とが格納される。
As illustrated in FIG. 3B, the
図2の説明に戻る。経路制御部15,25は、以上のようにして経路情報リスト152,252を作成すると、この経路情報リスト152,252に示される通信経路情報から通信可能な状態として登録されている通信経路を選択する(S507)。ここでの通信経路の選択は、まず、経路情報リスト152,252において通信可能な状態である通信経路を選択し、その選択した通信経路の中から、ラウンドロビン等により選択する。
Returning to the description of FIG. When the
例えば、経路制御部15は、図3(a)に例示する経路情報リスト152において通信可能な符号601,604に示す通信経路を選択し、その中からラウンドロビン等で符号601に示す通信経路を選択する。
For example, the
次に、経路制御部15は、S507の選択結果を判定し、通信可能な経路(通信経路)が無い場合(図2のS508で“無”)、コネクション確立失敗をアプリケーション13へ通知する(S509)。
Next, the path control
一方、通信可能な通信経路が有る場合(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
ここでの通信経路設定処理の詳細を、図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
例えば、経路制御部25は、S507で選択した通信経路の状態が、自身のコンピュータ20の経路情報リスト252において「正常」であるか否かを判定する。ここで、経路制御部25が通信経路の設定を許可する場合(S802で“許可”)、アプリケーション13がS500で確立要求したコネクション情報およびS507で選択した通信経路のコネクション情報を、それぞれ、通信用のコネクション情報およびアプリケーション用のコネクション情報として経路管理テーブル251に追加する(S803)。そして、経路制御部25は、S802の判定結果を設定応答(通信経路設定応答)としてコンピュータ10の経路制御部15へ送信する(S805)。
For example, the path control
ここで、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
経路制御部25は、このような経路管理テーブル251を参照することで、アプリケーション23から接続要求があったときに、実際には、どのコネクションを使えばよいかを判断できる。
The path control
図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
なお、S802で経路制御部25が通信経路の設定を拒否する場合、この例では、S804で別の通信経路を選択する必要はなく、S805で通信経路の設定拒否の判定結果のみを送信すればよい。
When the path control
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
図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,
経路制御部15は、このような経路管理テーブル151を参照することで、アプリケーション13から接続要求があったときに、どのコネクションを使用すればよいかを判断できる。
The path control
図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
一方、S810において、経路制御部15が、経路制御部25側で選択した通信経路の採用を「許可」と判定した場合(S810で“許可”)、S800へ戻り、経路制御部15は、この通信経路に関する設定要求をコンピュータ20の経路制御部25へ送信する。そして、S801以降の処理を実行する。
On the other hand, in S810, when the
このようにしてコンピュータ10の経路制御部15およびコンピュータ20の経路制御部25は通信経路設定を行う。
In this way, the path control
図2の説明に戻る。図2のS511において経路制御部15が通信経路設定に失敗した場合(S511で“失敗”)、コネクション確立失敗をアプリケーション13に通知する(S509)。
Returning to the description of FIG. In S511 of FIG. 2, when the path control
一方、経路制御部15がS510の通信経路設定に成功した場合(S511で“成功”)、経路制御部15は、S510において設定した経路管理テーブル151に登録された、通信用のコネクション情報(図5(a)の符号702参照)をもとにコネクションを確立する(S512)。そして、経路制御部15は、アプリケーション13に対し、コネクション確立成功をアプリケーション13へ通知する(S513)。
On the other hand, when the path control
このとき経路制御部15がアプリケーション13へ通知するコネクションの情報は、経路管理テーブル151の通信用のコネクション情報(図5(a)の符号702参照)ではなく、この通信用のコネクション情報に対応する、アプリケーション用のコネクション情報(図5(a)の符号703参照)である。
At this time, the connection information notified to the
また、コンピュータ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
ここで、経路制御部25がアプリケーション23に通知するコネクション確立要求は、受信したコネクション確立要求ではなく経路管理テーブル251において、アプリケーション用のコネクション情報(図5(b)の符号722参照)である。
Here, the connection establishment request notified by the
例えば、経路制御部25の受信したコネクション確立要求が、図5(b)の符号722に示すコネクションであった場合、経路制御部25は、符号723に示すアプリケーション用のコネクション情報をアプリケーション23へ通知する。つまり、経路制御部25は実際には符号722に示すコネクション確立要求を受信した場合でも、アプリケーション23に対し、符号723に示すコネクション確立要求を受信したように認識させる。
For example, when the connection establishment request received by the
一方、経路管理テーブル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
以降、コンピュータ10の経路制御部15では、経路管理テーブル151(図5(a)参照)を参照して以下のような処理を行う。例えば、アプリケーション13が図5(a)の符号703に示すコネクションで送信要求したデータは、経路制御部15が符号702に示すコネクションを用いてコンピュータ20へ送信する。また、経路制御部15が符号702に示すコネクションを用いてコンピュータ20からデータを受信したとき、経路制御部15は符号703に示すコネクションのデータとしてアプリケーション13に通知する。
Thereafter, the
また、コンピュータ20の経路制御部25も、経路管理テーブル251(図5(b)参照)を参照して以下のような処理を行う。例えば、アプリケーション23が図5(b)の符号723に示すコネクションで送信要求したデータは、経路制御部25が符号722に示すコネクションを用いてコンピュータ10へ送信する。また、経路制御部25が、符号722に示すコネクションを用いてコンピュータ10からデータを受信したとき、経路制御部25は符号723に示すコネクションのデータとしてアプリケーション23に通知する。
The
つまり、図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
なお、コネクション解放時には、経路制御部15,25は、経路管理テーブル151,251から該当する情報を削除する。
When the connection is released, the
また、コンピュータ10,20においてコネクション確立後に経路障害が発生した場合、以下のような処理を行う。
Further, when a path failure occurs after the connection is established in the
すなわち、まず経路制御部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
このようにすることで、アプリケーションに障害を意識させることなく通信経路を動的に切り替えて通信を継続することが可能である。 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
まず、第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
次に、経路制御部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
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
図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
同様に、経路制御部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
次に、経路制御部15,25は、それぞれ、符号709,729に示すコネクションを確立すると(図2のS512,S524)、アプリケーション13,23に対して、図6(a)、(b)の符号710,730に示すコネクション確立が成功したと通知する(S513,S523)。
Next, when the
そして、経路制御部15,25は、このようなコネクション確立後、前記手順と同様に、確立したコネクションを用いたデータ送受信を行う。
Then, after establishing such a connection, the
例えば、経路制御部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
同様に、経路制御部25では、例えば、図6(b)に例示する経路管理テーブル251の通信用のコネクションを用いたデータ通信について、アプリケーション23に対しては、経路管理テーブル251を参照して、アプリケーション用のコネクションを用いてデータ通信を行ったように認識させる。
Similarly, the path control
なお、コネクション解放時、経路制御部15,25は、経路管理テーブル151,251から該当する情報を削除する。
When the connection is released, the
これにより、最初のコネクションは図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
以降、経路制御部15は、アプリケーション13からコネクション確立要求がある度に、前記と同様の手順で、経路情報リスト152から通信経路を選択する。そして、経路制御部15は経路管理テーブル151に、アプリケーション用のコネクション情報と、通信用のコネクション情報とを対応付けて登録する。そして、経路制御部15はその情報に基づいてコネクション確立やデータ通信を行う。
Thereafter, every time there is a connection establishment request from the
なお、前記した実施の形態において、コンピュータ10のアプリケーション13側から、コンピュータ20のアプリケーション23へのコネクション確立をする場合について述べたが、経路制御部15と経路制御部25とがお互い同じ機能を持ち、アプリケーション23側からアプリケーション13へコネクション確立するようにしてもよい。
In the above-described embodiment, the case where the connection from the
また、図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
また、経路情報リスト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
さらに、通信経路の選択(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
また、図2のS505で、コンピュータ20の経路制御部25は経路情報リスト252を作成しているが、経路制御部25は経路情報リスト252を作成しないものとしてもよい。つまり、コンピュータ10の経路制御部15のみが経路情報リスト152を作成し、保持するようにしてもよい。
2, the
さらに、図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
以上説明した本実施の形態のシステムによれば、コンピュータ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
さらに、コンピュータ10,20は、通信経路障害時には、アプリケーション13,23に障害を意識させることなく、別の通信経路で通信を継続できる。これにより、ネットワークの有効利用や負荷分散や信頼性を高めることができる。
Further, the
本実施の形態に係るコンピュータ10,20は、前記したような処理を実行させる通信経路制御用プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
The
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
30,40
152,252,600 Route information list
Claims (5)
前記第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の通信装置が備える経路情報を参照して、前記通信経路設定要求の対象である通信経路設定に応じるか否かを判定し、
前記通信経路設定要求の対象である通信経路設定に応じないと判定したとき、前記経路情報に登録される通信経路から、前記通信経路設定要求の送信元を宛先アドレスとする通信経路を選択し、前記選択した通信経路と、前記判定結果とを前記通信経路設定応答に含めて送信し、
前記第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または請求項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以上の通信経路を、前記自通信装置の保持するアドレスおよび前記他の通信装置の保持するアドレスの組み合わせで示した経路情報を記憶した記憶部と、
前記自通信装置のアプリケーションからの要求に基づき、前記他の通信装置との間でコネクションを確立するとき、前記経路情報に示される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:
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)
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 |
-
2007
- 2007-03-22 JP JP2007075242A patent/JP2008236543A/en active Pending
Cited By (4)
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 |