JP2015154396A - Information processing apparatus, terminal, information processing system, and information processing program - Google Patents

Information processing apparatus, terminal, information processing system, and information processing program Download PDF

Info

Publication number
JP2015154396A
JP2015154396A JP2014028489A JP2014028489A JP2015154396A JP 2015154396 A JP2015154396 A JP 2015154396A JP 2014028489 A JP2014028489 A JP 2014028489A JP 2014028489 A JP2014028489 A JP 2014028489A JP 2015154396 A JP2015154396 A JP 2015154396A
Authority
JP
Japan
Prior art keywords
gateway
terminal
address
communication
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014028489A
Other languages
Japanese (ja)
Other versions
JP6187304B2 (en
Inventor
香介 田中
Kosuke Tanaka
香介 田中
泰之 古川
Yasuyuki Furukawa
泰之 古川
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2014028489A priority Critical patent/JP6187304B2/en
Publication of JP2015154396A publication Critical patent/JP2015154396A/en
Application granted granted Critical
Publication of JP6187304B2 publication Critical patent/JP6187304B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information processing apparatus for performing communication from a terminal to a destination address while transmitting a distribution factor and an address of a gateway used for the communication to the terminal.SOLUTION: An information processing apparatus includes: acceptance means for accepting, from a terminal, an address of the terminal and a destination address in communication; determination means for determining a gateway group to be used by the terminal, of gateway groups composed of a plurality of gateways; first transmission means for transmitting addresses of gateways composing the determined gateway group and distribution factors, which show ratios of communication made to be performed by the gateways, to the terminal; and second transmission means for transmitting the address of the terminal and the destination address to any gateway composing the determined gateway group.

Description

本発明は、情報処理装置、端末、情報処理システム及び情報処理プログラムに関する。   The present invention relates to an information processing device, a terminal, an information processing system, and an information processing program.

特許文献1には、IPホストがデフォルト・ルータを直接に選択し、それによって負荷平衡を改良して使用可能度を高くするというIPネットワークを含むデータ伝送システムを提供することを課題とし、データ伝送システムは、少なくともIP層及びネットワーク層を有するIPホストからのパケット化されたデータを複数のワークステーションにIPネットワークという媒介物を介して伝送し、前記IPホストは一組のルータによって前記IPネットワークにインタフェースする層2ネットワークを介して前記IPネットワークに接続され、前記IPホストはマルチプル・アドレス解決プロトコル(MARP)層を前記IP層及び前記ネットワーク層の間に含み、前記MARP層はデータ・パケットが前記IPホストから前記ワークステーションの1つに伝送されるべき時、前記IP層によって前記MARP層に供給された次のホップIPアドレスに応答して前記一組のルータのうちの1つを選択することが開示されている。   In Patent Document 1, it is an object of the present invention to provide a data transmission system including an IP network in which an IP host directly selects a default router, thereby improving load balancing and increasing usability. The system transmits packetized data from an IP host having at least an IP layer and a network layer to a plurality of workstations via an intermediary called an IP network, and the IP host is connected to the IP network by a set of routers. Connected to the IP network via an interfacing layer 2 network, the IP host includes a multiple address resolution protocol (MARP) layer between the IP layer and the network layer, wherein the MARP layer allows data packets to be From the IP host Selecting one of the set of routers in response to a next hop IP address supplied by the IP layer to the MARP layer when it is to be transmitted to one of the network .

特許文献2には、LANとWANとを接続し、インターネット通信又はイントラネット通信を可能にするルータ及び該ルータを用いたパケット中継システムに関し、柔軟なルート選択を可能にし、複数ルートの使用効率を向上させることを課題とし、ルータに広域ネットワークWANを介して接続されるインターネットサービスプロバイダを経由するパケット転送ルートと、ルータにLANを介して接続される他のルータにWANを介して接続される他のインターネットサービスプロバイダを経由する他のパケット転送ルートと、を選択するマルチホーミング切分け部を備え、また、プライベートIPアドレスとグローバルIPアドレスとを変換するアドレス変換部と、他ルートの正常性を確認するルート監視部と、トラヒック量を監視する回線使用量監視部とを備えることが開示されている。   Patent Document 2 discloses a router that connects a LAN and a WAN to enable Internet communication or intranet communication, and a packet relay system using the router, which enables flexible route selection and improves use efficiency of multiple routes. A packet transfer route via an Internet service provider connected to a router via a wide area network WAN, and other routers connected via a WAN to other routers connected to the router via a LAN. A multi-homing separation unit that selects another packet transfer route via an Internet service provider, an address conversion unit that converts a private IP address and a global IP address, and a route that checks the normality of the other route Monitor the traffic volume with the monitoring unit It is disclosed that includes a line usage monitoring unit.

特開2000−295291号公報JP 2000-295291 A 特開2000−209278号公報JP 2000-209278 A

本発明は、端末から宛先アドレスへの通信を行う場合に、その通信に用いるゲートウェイと分配率を該端末に送信するようにした情報処理装置、端末、情報処理システム及び情報処理プログラムを提供することを目的としている。   The present invention provides an information processing apparatus, a terminal, an information processing system, and an information processing program that, when performing communication from a terminal to a destination address, transmit the gateway used for the communication and a distribution ratio to the terminal. It is an object.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段を具備することを特徴とする情報処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
The invention of claim 1 is a receiving means for receiving an address and a destination address of a terminal in communication from a terminal, and a determining means for determining a gateway group to be used by the terminal among gateway groups constituted by a plurality of gateways. A first transmission means for transmitting the address of the gateway constituting the determined gateway group and a distribution ratio indicating a ratio of causing the gateway to perform communication to the terminal, the address of the terminal, and the destination address, An information processing apparatus comprising: a second transmission unit configured to transmit to any one of the gateways constituting the determined gateway group.

請求項2の発明は、前記ゲートウェイ群内のゲートウェイの使用状況に関する情報を収集する収集手段と、前記ゲートウェイの使用状況に関する情報に基づいて、該ゲートウェイの分配率を算出する算出手段と、予め定められた条件を満たした場合は、ゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第3の送信手段を具備することを特徴とする請求項1に記載の情報処理装置である。   According to a second aspect of the present invention, there is provided a collecting means for collecting information relating to a usage status of the gateway in the gateway group, a calculating means for calculating a distribution ratio of the gateway based on the information relating to the usage status of the gateway, and a predetermined amount. 2. The apparatus according to claim 1, further comprising: a third transmission unit configured to transmit, to the terminal, a distribution rate indicating a gateway address and a rate at which the gateway performs communication when the specified condition is satisfied. Information processing apparatus.

請求項3の発明は、通信における自端末のアドレスと宛先アドレスを請求項1に記載の情報処理装置に送信する送信手段と、前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段を具備することを特徴とする端末である。   According to a third aspect of the present invention, there is provided transmission means for transmitting the address and destination address of the terminal in communication to the information processing apparatus according to claim 1, an address of a gateway constituting a gateway group from the information processing apparatus, and the gateway A receiving unit that receives a distribution rate indicating a rate at which communication is performed; a selection unit that selects a gateway to be used for future communication based on the distribution rate; and a gateway selected by the selection unit, and the destination A terminal comprising communication means for performing communication with an address.

請求項4の発明は、請求項2に記載の情報処理装置からゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する第2の受信手段を具備し、前記選択手段は、前記第2の受信手段によって受信された分配率に基づいて、今後の通信に用いるゲートウェイを選択することを特徴とする請求項3に記載の端末である。   The invention according to claim 4 comprises second receiving means for receiving from the information processing apparatus according to claim 2 a gateway address and a distribution ratio indicating a ratio of causing the gateway to perform communication, wherein the selecting means comprises: 4. The terminal according to claim 3, wherein a gateway to be used for future communication is selected based on the distribution ratio received by the second receiving means.

請求項5の発明は、端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段を有する情報処理装置と、前記情報処理装置と通信回線を介して接続されており、通信における自端末のアドレスと宛先アドレスを前記情報処理装置に送信する送信手段と、前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段を有する端末を具備することを特徴とする情報処理システムである。   The invention according to claim 5 is a receiving means for receiving the address and destination address of the terminal in communication from the terminal, and a determining means for determining a gateway group to be used by the terminal among gateway groups constituted by a plurality of gateways. A first transmission means for transmitting the address of the gateway constituting the determined gateway group and a distribution ratio indicating a ratio of causing the gateway to perform communication to the terminal, the address of the terminal, and the destination address, An information processing apparatus having a second transmission means for transmitting to any one of the gateways constituting the determined gateway group, and connected to the information processing apparatus via a communication line; Transmission means for transmitting a destination address to the information processing apparatus, and a gateway from the information processing apparatus Receiving means for receiving the address of the gateway that constitutes and a distribution rate indicating the rate at which the gateway performs communication, a selection means for selecting a gateway to be used for future communication based on the distribution ratio, and the selection means An information processing system comprising a terminal having communication means for performing communication with the destination address using a selected gateway.

請求項6の発明は、コンピュータを、端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段として機能させるための情報処理プログラムである。   The invention according to claim 6 determines a gateway group to be used by the terminal from among a gateway group including a reception unit that receives the address and destination address of the terminal in communication from the terminal and a plurality of gateways. Determining means, first transmitting means for transmitting to the terminal, the address of the gateway constituting the determined gateway group and a distribution ratio indicating the proportion of communication to the gateway; the address of the terminal and the destination An information processing program for causing an address to function as a second transmission unit that transmits an address to any one of the gateways constituting the determined gateway group.

請求項7の発明は、コンピュータを、通信における自端末のアドレスと宛先アドレスを請求項1に記載の情報処理装置に送信する送信手段と、前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段として機能させるための情報処理プログラムである。   According to a seventh aspect of the present invention, there is provided a transmitting means for transmitting a computer's own terminal address and destination address to the information processing apparatus according to the first aspect, and an address of a gateway constituting a gateway group from the information processing apparatus. Using a receiving unit that receives a distribution rate indicating a rate at which the gateway performs communication, a selecting unit that selects a gateway to be used for future communication based on the distribution rate, and a gateway selected by the selecting unit , An information processing program for causing a communication unit to communicate with the destination address.

請求項1の情報処理装置によれば、端末から宛先アドレスへの通信を行う場合に、その通信に用いるゲートウェイと分配率を該端末に送信することができる。   According to the information processing apparatus of the first aspect, when communication is performed from the terminal to the destination address, the gateway used for the communication and the distribution rate can be transmitted to the terminal.

請求項2の情報処理装置によれば、ゲートウェイの使用状況に関する情報に基づいた分配率を端末に送信することができる。   According to the information processing apparatus of the second aspect, it is possible to transmit the distribution rate based on the information on the usage status of the gateway to the terminal.

請求項3の端末によれば、端末から宛先アドレスへの通信を行う場合に、分配率に基づいてその通信に用いるゲートウェイを選択することができる。   According to the terminal of the third aspect, when communication is performed from the terminal to the destination address, the gateway used for the communication can be selected based on the distribution rate.

請求項4の端末によれば、受信した分配率に基づいて、今後の通信に用いるゲートウェイを選択することができる。   According to the terminal of claim 4, it is possible to select a gateway to be used for future communication based on the received distribution rate.

請求項5の情報処理システムによれば、端末から宛先アドレスへの通信を行う場合に、その通信に用いるゲートウェイと分配率を該端末に送信することができる。   According to the information processing system of the fifth aspect, when communication is performed from the terminal to the destination address, the gateway used for the communication and the distribution ratio can be transmitted to the terminal.

請求項6の情報処理プログラムによれば、端末から宛先アドレスへの通信を行う場合に、その通信に用いるゲートウェイと分配率を該端末に送信することができる。   According to the information processing program of the sixth aspect, when communication is performed from the terminal to the destination address, the gateway used for the communication and the distribution ratio can be transmitted to the terminal.

請求項7の情報処理プログラムによれば、端末から宛先アドレスへの通信を行う場合に、分配率に基づいてその通信に用いるゲートウェイを選択することができる。   According to the information processing program of the seventh aspect, when performing communication from the terminal to the destination address, the gateway to be used for the communication can be selected based on the distribution rate.

本実施の形態が適用されるシステム構成例を説明する説明図である。It is explanatory drawing explaining the example of a system configuration to which this Embodiment is applied. 本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. SYNパケット情報のデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of SYN packet information. ゲートウェイ・分配ウェイトテーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a gateway and distribution weight table. 拡張ICMPリダイレクトパケットのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of an extended ICMP redirect packet. 分配ウェイト広告用拡張ICMPリダイレクトのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of extended ICMP redirect for distribution weight advertisements. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
通信に利用されるセキュリティゲートウェイ機器では、NAT(Network Address Translation)に加えアンチウイルス、IPS(Intrusion Prevention System)、IDS(Intrusion Detection System)、コンテンツフィルタなどの高機能化に伴い、機器への負荷が増大している。これに対し、ゲートウェイ機器を冗長化し処理を振り分けることで、1台当たりの負荷を軽減している。
一般的な負荷分散の技術として、ロードバランサを用いる方法がある。これは、ゲートウェイの下に配置されたロードバランサが通信セッションを分散する。この方式では、外部と通信するすべてのパケットがロードバランサを経由するため、ロードバランサに負荷が集中する。ロードバランサは高負荷に対応できる性能が要求され、機器の価格も高くなる。
First, before explaining the present embodiment, a technique that is a premise thereof will be described. This description is intended to facilitate understanding of the present embodiment.
In security gateway devices used for communication, in addition to NAT (Network Address Translation), there is a load on devices due to higher functionality such as anti-virus, IPS (Intrusion Prevention System), IDS (Instruction Detection System), and content filters. It is increasing. On the other hand, the load per unit is reduced by making gateway devices redundant and distributing the processing.
As a general load balancing technique, there is a method using a load balancer. This is because a load balancer arranged under the gateway distributes communication sessions. In this method, since all packets that communicate with the outside pass through the load balancer, the load is concentrated on the load balancer. A load balancer is required to have a performance capable of handling a high load, and the price of the equipment becomes high.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、すべての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment is a computer program for causing these modules to function (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a function for each computer. This also serves as an explanation of the program and system and method for realizing the above. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. It is the control to be stored in the device. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, etc.). “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. In addition, if it is before the target processing, it is used in accordance with the situation / state at that time or with the intention to be decided according to the situation / state up to that point. When there are a plurality of “predetermined values”, the values may be different from each other, or two or more values (of course, including all values) may be the same. In addition, the description having the meaning of “do B when it is A” is used in the meaning of “determine whether or not it is A and do B when it is judged as A”. However, the case where it is not necessary to determine whether or not A is excluded.
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc., and one computer, hardware, device. The case where it implement | achieves by etc. is included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement.
In addition, when performing a plurality of processes in each module or in each module, the target information is read from the storage device for each process, and the processing result is written to the storage device after performing the processing. is there. Therefore, description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Here, the storage device may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

図1は、本実施の形態が適用されるシステム構成例を説明する説明図である。情報処理装置(バランサ)110、NAT150、複数のゲートウェイ160、端末(クライアント)120、HTTPサーバ130A等が、通信回線(通信回線197、通信回線199等)によって接続されている。特に、1つのNAT150に対して複数のゲートウェイ160(ゲートウェイ群)が接続されている。したがって、異なるゲートウェイ群とは、異なるNAT150と同義である。なお、情報処理装置(バランサ)110は、複数あってもよい。
情報処理装置(バランサ)110は、通信回線197を介して端末(クライアントA)120A、端末(クライアントB)120B、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2と接続されている。
端末(クライアントA)120Aは、通信回線197を介して端末(クライアントB)120B、情報処理装置(バランサ)110、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2と接続されている。端末(クライアントB)120Bは、通信回線197を介して端末(クライアントA)120A、情報処理装置(バランサ)110、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2と接続されている。
ゲートウェイ−A1:160A1は、NAT−A:150Aと接続されており、また、通信回線197を介してゲートウェイ−A2:160A2、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2、情報処理装置(バランサ)110、端末(クライアントA)120A、端末(クライアントB)120Bと接続されている。ゲートウェイ−A2:160A2は、NAT−A:150Aと接続されており、また、通信回線197を介してゲートウェイ−A1:160A1、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2、情報処理装置(バランサ)110、端末(クライアントA)120A、端末(クライアントB)120Bと接続されている。
ゲートウェイ−B1:160B1は、NAT−B:150Bと接続されており、また、通信回線197を介してゲートウェイ−B2:160B2、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、情報処理装置(バランサ)110、端末(クライアントA)120A、端末(クライアントB)120Bと接続されている。ゲートウェイ−B2:160B2は、NAT−B:150Bと接続されており、また、通信回線197を介してゲートウェイ−B1:160B1、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、情報処理装置(バランサ)110、端末(クライアントA)120A、端末(クライアントB)120Bと接続されている。
NAT−A:150Aは、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、ISP−A:140Aと接続されている。NAT−B:150Bは、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2、ISP−B:140Bと接続されている。
ISP−A:140Aは、NAT−A:150Aと接続されており、また、通信回線199を介してISP−B:140B、HTTPサーバ130A、HTTPサーバ130B、HTTPサーバ130C、FTPサーバ132A、FTPサーバ132Bと接続されている。
ISP−B:140Bは、NAT−B:150Bと接続されており、また、通信回線199を介してISP−A:140A、HTTPサーバ130A、HTTPサーバ130B、HTTPサーバ130C、FTPサーバ132A、FTPサーバ132Bと接続されている。
HTTPサーバ130A、HTTPサーバ130B、HTTPサーバ130C、FTPサーバ132A、FTPサーバ132B、ISP−A:140A、ISP−B:140Bは、通信回線199を介してそれぞれ接続されている。
FIG. 1 is an explanatory diagram illustrating an example of a system configuration to which the present embodiment is applied. An information processing device (balancer) 110, NAT 150, a plurality of gateways 160, a terminal (client) 120, an HTTP server 130A, and the like are connected by communication lines (communication line 197, communication line 199, etc.). In particular, a plurality of gateways 160 (gateways) are connected to one NAT 150. Therefore, a different gateway group is synonymous with a different NAT 150. There may be a plurality of information processing devices (balancers) 110.
The information processing apparatus (balancer) 110 includes a terminal (client A) 120A, a terminal (client B) 120B, a gateway-A1: 160A1, a gateway-A2: 160A2, a gateway-B1: 160B1, and a gateway-B2 via a communication line 197. : Connected to 160B2.
The terminal (client A) 120A is connected via the communication line 197 to the terminal (client B) 120B, the information processing apparatus (balancer) 110, gateway-A1: 160A1, gateway-A2: 160A2, gateway-B1: 160B1, gateway-B2. : Connected to 160B2. The terminal (client B) 120B is connected via the communication line 197 to the terminal (client A) 120A, the information processing apparatus (balancer) 110, gateway-A1: 160A1, gateway-A2: 160A2, gateway-B1: 160B1, gateway-B2. : Connected to 160B2.
The gateway-A1: 160A1 is connected to the NAT-A: 150A, and via the communication line 197, the gateway-A2: 160A2, the gateway-B1: 160B1, the gateway-B2: 160B2, and the information processing apparatus (balancer) 110, a terminal (client A) 120A, and a terminal (client B) 120B. The gateway-A2: 160A2 is connected to the NAT-A: 150A, and is connected via a communication line 197 to the gateway-A1: 160A1, gateway-B1: 160B1, gateway-B2: 160B2, information processing apparatus (balancer) 110, a terminal (client A) 120A, and a terminal (client B) 120B.
The gateway-B1: 160B1 is connected to the NAT-B: 150B, and via the communication line 197, the gateway-B2: 160B2, the gateway-A1: 160A1, the gateway-A2: 160A2, and the information processing apparatus (balancer) 110, a terminal (client A) 120A, and a terminal (client B) 120B. The gateway-B2: 160B2 is connected to the NAT-B: 150B, and is connected via the communication line 197 to the gateway-B1: 160B1, gateway-A1: 160A1, gateway-A2: 160A2, information processing apparatus (balancer). 110, a terminal (client A) 120A, and a terminal (client B) 120B.
The NAT-A: 150A is connected to the gateway-A1: 160A1, the gateway-A2: 160A2, and the ISP-A: 140A. NAT-B: 150B is connected to gateway-B1: 160B1, gateway-B2: 160B2, and ISP-B: 140B.
ISP-A: 140A is connected to NAT-A: 150A, and ISP-B: 140B, HTTP server 130A, HTTP server 130B, HTTP server 130C, FTP server 132A, FTP server via communication line 199 132B is connected.
ISP-B: 140B is connected to NAT-B: 150B, and ISP-A: 140A, HTTP server 130A, HTTP server 130B, HTTP server 130C, FTP server 132A, FTP server via communication line 199 132B is connected.
The HTTP server 130A, the HTTP server 130B, the HTTP server 130C, the FTP server 132A, the FTP server 132B, ISP-A: 140A, and ISP-B: 140B are connected to each other via a communication line 199.

本実施の形態の概要を説明する。なお、この概要の説明は、本実施の形態の理解を容易にすることを目的とするものである。
本実施の形態では、ゲートウェイがクライアントに他のゲートウェイを使うように要求するためのICMP(Internet Control Message Protocol(インターネット制御通知プロトコル))リダイレクトを拡張して複数ゲートウェイを指定できるようにし、さらに、クライアントのルーティングをセッション毎に拡張する。そして、どのゲートウェイをどの優先度で使うかのルール(以下、分配ウェイト)を動的に変更することによって、セッション毎ルーティングで弊害となる、長期セッションの途中でゲートウェイが切り替えられないために負荷が偏ることも減少させるものである。なお、ICMPとは、通信処理で使われるプロトコルのひとつであり、インターネット・プロトコルのデータグラム処理における誤りの通知や通信に関する情報の通知などのために使用される。本実施の形態では、このICMPを後述するように拡張して用いる。
An outline of the present embodiment will be described. Note that this overview is intended to facilitate understanding of the present embodiment.
In the present embodiment, an Internet Control Message Protocol (ICMP) redirect for requesting a gateway to use another gateway from a gateway can be extended so that a plurality of gateways can be specified. Extends routing for each session. And, by dynamically changing the rule (hereinafter, distribution weight) of which gateway is used at which priority, the load is reduced because the gateway cannot be switched in the middle of a long-term session, which is detrimental to routing for each session. The bias is also reduced. ICMP is one of the protocols used in communication processing, and is used for notification of errors in datagram processing of the Internet protocol, notification of information related to communication, and the like. In the present embodiment, this ICMP is expanded and used as will be described later.

本実施の形態である情報処理装置(バランサ)110は、通信における負荷分散装置であって、図2の例に示すように、情報処理装置(バランサ)110は、パケット送受信モジュール210、使用ゲートウェイ群決定モジュール220、クラスタ情報取得・保持モジュール230、拡張ICMPリダイレクト送信モジュール240、分配ウェイト決定モジュール250を有している。
パケット送受信モジュール210は、使用ゲートウェイ群決定モジュール220、クラスタ情報取得・保持モジュール230、拡張ICMPリダイレクト送信モジュール240と接続されている。パケット送受信モジュール210は、パケットを送受信する機能を有している。例えば、端末(利用側のコンピュータであって、以下、クライアントともいう)から通信における、そのクライアントのアドレスと宛先アドレスを受け付ける。アドレスとして、例えば、IPアドレスがある。また、そのクライアントのアドレスと宛先アドレスを、使用ゲートウェイ群決定モジュール220によって決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する。具体的には、後述するSYNパケットの転送が該当する。いずれかのゲートウェイとしたが、最初のパケットの送信だけであるので、いずれのゲートウェイであってもよい。なお、分配率(以下、分配ウェイトともいう)に基づいてゲートウェイを選択してもよい。例えば、分配率が最も高いゲートウェイを選択してもよい。
The information processing apparatus (balancer) 110 according to the present embodiment is a communication load distribution apparatus. As shown in the example of FIG. 2, the information processing apparatus (balancer) 110 includes a packet transmission / reception module 210, a gateway group used. The determination module 220 includes a cluster information acquisition / holding module 230, an extended ICMP redirect transmission module 240, and a distribution weight determination module 250.
The packet transmission / reception module 210 is connected to a gateway group determination module 220, a cluster information acquisition / retention module 230, and an extended ICMP redirect transmission module 240. The packet transmission / reception module 210 has a function of transmitting / receiving packets. For example, an address and a destination address of the client in communication are received from a terminal (a computer on the use side, hereinafter also referred to as a client). As an address, for example, there is an IP address. Further, the client address and destination address are transmitted to one of the gateways constituting the gateway group determined by the used gateway group determination module 220. Specifically, this corresponds to transfer of a SYN packet described later. Any gateway is used, but only the first packet is transmitted, so any gateway may be used. Note that the gateway may be selected based on a distribution rate (hereinafter also referred to as distribution weight). For example, the gateway with the highest distribution rate may be selected.

使用ゲートウェイ群決定モジュール220は、パケット送受信モジュール210、クラスタ情報取得・保持モジュール230、拡張ICMPリダイレクト送信モジュール240、分配ウェイト決定モジュール250と接続されている。使用ゲートウェイ群決定モジュール220は、複数のゲートウェイによって構成されるゲートウェイ群のうち、クライアントが使用すべきゲートウェイ群を決定する。例えば、クライアントから受信したパケット、クラスタ情報を基に、当該通信セッションで使用するゲートウェイ群を決定する機能を有する。   The used gateway group determination module 220 is connected to the packet transmission / reception module 210, the cluster information acquisition / retention module 230, the extended ICMP redirect transmission module 240, and the distribution weight determination module 250. The used gateway group determination module 220 determines a gateway group to be used by the client among gateway groups configured by a plurality of gateways. For example, it has a function of determining a gateway group to be used in the communication session based on a packet and cluster information received from a client.

クラスタ情報取得・保持モジュール230は、パケット送受信モジュール210、使用ゲートウェイ群決定モジュール220、分配ウェイト決定モジュール250と接続されている。クラスタ情報取得・保持モジュール230は、ゲートウェイ群内のゲートウェイの使用状況に関する情報を収集する。例えば、本処理が行われる前に又は定期的に、各ゲートウェイの死活(稼働しているか否かを示す情報)、CPU使用率、ネットワーク使用率等の負荷情報を取得し、それを保持する機能を有している。具体的には、SNMP(Simple Network Management Protocol)を用いればよい。   The cluster information acquisition / retention module 230 is connected to the packet transmission / reception module 210, the used gateway group determination module 220, and the distribution weight determination module 250. The cluster information acquisition / holding module 230 collects information on the usage status of gateways in the gateway group. For example, before this process is performed or periodically, it acquires load information such as the life and death of each gateway (information indicating whether or not it is operating), CPU usage rate, network usage rate, and the like, and holds it have. Specifically, SNMP (Simple Network Management Protocol) may be used.

拡張ICMPリダイレクト送信モジュール240は、パケット送受信モジュール210、使用ゲートウェイ群決定モジュール220、分配ウェイト決定モジュール250と接続されている。拡張ICMPリダイレクト送信モジュール240は、使用ゲートウェイ群決定モジュール220によって決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、クライアントに送信する。また、拡張ICMPリダイレクト送信モジュール240は、予め定められた条件を満たした場合は、ゲートウェイのアドレスとそのゲートウェイに通信を行わせる割合を示す分配率を、クライアントに送信するようにしてもよい。
例えば、以下の情報を含んだ拡張ICMPリダイレクトパケットをクライアントへ送信する機能を有する。
・宛先IPアドレス
・送信元ポート番号
・使用ゲートウェイ群
・分配ウェイト
また、以下の情報を含んだ分配ウェイト広告用拡張ICMPリダイレクトパケットをクライアントへ送信する機能を有する。
・使用ゲートウェイ群
・分配ウェイト
The extended ICMP redirect transmission module 240 is connected to the packet transmission / reception module 210, the used gateway group determination module 220, and the distribution weight determination module 250. The extended ICMP redirect transmission module 240 transmits to the client a distribution rate indicating the address of the gateway configuring the gateway group determined by the used gateway group determination module 220 and the rate at which the gateway performs communication. Further, when the predetermined ICMP redirect transmission module 240 satisfies a predetermined condition, the extended ICMP redirect transmission module 240 may transmit a gateway address and a distribution rate indicating a rate at which the gateway performs communication to the client.
For example, it has a function of transmitting an extended ICMP redirect packet including the following information to the client.
-Destination IP address-Transmission source port number-Used gateway group-Distribution weight In addition, it has a function of transmitting an extended ICMP redirect packet for distribution weight advertisement including the following information to the client.
・ Use gateway group ・ Distribution weight

分配ウェイト決定モジュール250は、使用ゲートウェイ群決定モジュール220、クラスタ情報取得・保持モジュール230、拡張ICMPリダイレクト送信モジュール240と接続されている。分配ウェイト決定モジュール250は、ゲートウェイの使用状況に関する情報に基づいて、そのゲートウェイの分配率を算出する。例えば、本処理が行われる前に又は定期的に更新されるクラスタ情報をもとに分配ウェイトを決定する機能を有する。
なお、ゲートウェイ160は、一般的なゲートウェイ機能に加え以下の機能を有する。ゲートウェイ160内の負荷情報送信モジュールが、CPU使用率、ネットワーク使用率等の負荷情報を、情報処理装置(バランサ)110へ返信する機能を有する。例えば、SNMPへ応答して行えばよい。
The distribution weight determination module 250 is connected to the used gateway group determination module 220, the cluster information acquisition / retention module 230, and the extended ICMP redirect transmission module 240. The distribution weight determination module 250 calculates the distribution rate of the gateway based on the information on the usage status of the gateway. For example, it has a function of determining distribution weights based on cluster information that is updated before this processing is performed or periodically.
The gateway 160 has the following functions in addition to a general gateway function. The load information transmission module in the gateway 160 has a function of returning load information such as a CPU usage rate and a network usage rate to the information processing apparatus (balancer) 110. For example, it may be performed in response to SNMP.

本実施の形態である端末(クライアント)120は、ユーザーが使用するものであって、HTTPサーバ130A、FTPサーバ132A等との通信を行うものであって、図3の例に示すように、パケット送受信モジュール310、拡張ICMPリダイレクト受信モジュール320、ルーティング紐付モジュール330、ゲートウェイ選択モジュール340を有している。
パケット送受信モジュール310は、拡張ICMPリダイレクト受信モジュール320、ゲートウェイ選択モジュール340と接続されている。パケット送受信モジュール310は、パケットの送受信を行う機能を有する。例えば、通信における自クライアントのアドレスと宛先アドレスを情報処理装置(バランサ)110に送信する。そして、パケット送受信モジュール310は、ゲートウェイ選択モジュール340によって選択されたゲートウェイを用いて、宛先アドレス(例えば、HTTPサーバ130A等)との通信を行う。
The terminal (client) 120 according to the present embodiment is used by a user and communicates with the HTTP server 130A, the FTP server 132A, and the like. As shown in the example of FIG. A transmission / reception module 310, an extended ICMP redirect reception module 320, a routing association module 330, and a gateway selection module 340 are provided.
The packet transmission / reception module 310 is connected to the extended ICMP redirect reception module 320 and the gateway selection module 340. The packet transmission / reception module 310 has a function of transmitting / receiving packets. For example, the address and the destination address of the client in communication are transmitted to the information processing apparatus (balancer) 110. Then, the packet transmission / reception module 310 communicates with the destination address (for example, the HTTP server 130A) using the gateway selected by the gateway selection module 340.

拡張ICMPリダイレクト受信モジュール320は、パケット送受信モジュール310、ルーティング紐付モジュール330と接続されている。拡張ICMPリダイレクト受信モジュール320は、情報処理装置(バランサ)110の拡張ICMPリダイレクト送信モジュール240からゲートウェイ群を構成するゲートウェイのアドレスと、そのゲートウェイに通信を行わせる割合を示す分配率を受信する。また、拡張ICMPリダイレクト受信モジュール320は、パケット送受信モジュール310によって、宛先アドレス(例えば、HTTPサーバ130A等)との通信が行われている最中に、情報処理装置(バランサ)110の拡張ICMPリダイレクト送信モジュール240からゲートウェイのアドレスと、そのゲートウェイに通信を行わせる割合を示す分配率を受信するようにしてもよい。
例えば、受信した拡張ICMPリダイレクトパケットから通信セッション情報及びゲートウェイ群とその分配ウェイトを抽出し、ルーティング紐付モジュール330に通知する機能を有する。また、分配ウェイト広告用拡張ICMPリダイレクトパケットからゲートウェイ群とその分配ウェイトを抽出し、ルーティング紐付モジュール330に通知する機能を有する。
The extended ICMP redirect reception module 320 is connected to the packet transmission / reception module 310 and the routing association module 330. The extended ICMP redirect reception module 320 receives from the extended ICMP redirect transmission module 240 of the information processing apparatus (balancer) 110 the address of the gateway that constitutes the gateway group and the distribution rate indicating the rate at which the gateway performs communication. Further, the extended ICMP redirect reception module 320 transmits the extended ICMP redirect of the information processing apparatus (balancer) 110 while the packet transmission / reception module 310 is communicating with the destination address (for example, the HTTP server 130A). You may make it receive the distribution rate which shows the address of the gateway from the module 240, and the ratio which makes the gateway communicate.
For example, it has a function of extracting communication session information and gateway groups and their distribution weights from the received extended ICMP redirect packet and notifying the routing association module 330. The gateway group and its distribution weight are extracted from the distribution ICMP extended ICMP redirect packet, and the routing association module 330 is notified.

ルーティング紐付モジュール330は、拡張ICMPリダイレクト受信モジュール320、ゲートウェイ選択モジュール340と接続されている。ルーティング紐付モジュール330は、拡張ICMPリダイレクト受信モジュール320で抽出された通信セッション毎にゲートウェイ群を紐付け(通信セッションとゲートウェイ群を対応付け)、そのゲートウェイ群内の各ゲートウェイに分配ウェイトを設定する機能を有する。また、各ゲートウェイの分配ウェイトの設定を更新する機能を有する。
ゲートウェイ選択モジュール340は、パケット送受信モジュール310、ルーティング紐付モジュール330と接続されている。ゲートウェイ選択モジュール340は、拡張ICMPリダイレクト受信モジュール320によって受信された分配率に基づいて、今後の通信に用いるゲートウェイを選択する。また、パケット送受信モジュール310によって、宛先アドレス(例えば、HTTPサーバ130A等)との通信が行われている最中に、拡張ICMPリダイレクト受信モジュール320が、ゲートウェイのアドレスと、そのゲートウェイに通信を行わせる割合を示す分配率を受信した場合は、その分配率に基づいて、今後の通信に用いるゲートウェイを動的に選択する。例えば、ルーティング紐付モジュール330内に通信セッションに紐付けられたゲートウェイ群があった場合、設定されている分配ウェイトにしたがいゲートウェイを選択し、通信セッションに紐付けられたゲートウェイ群がなかった場合は情報処理装置(バランサ)110を選択する機能を有する。
The routing association module 330 is connected to the extended ICMP redirect reception module 320 and the gateway selection module 340. The routing association module 330 associates a gateway group for each communication session extracted by the extended ICMP redirect reception module 320 (associates the communication session with the gateway group), and sets a distribution weight for each gateway in the gateway group. Have It also has a function of updating the distribution weight setting of each gateway.
The gateway selection module 340 is connected to the packet transmission / reception module 310 and the routing association module 330. The gateway selection module 340 selects a gateway to be used for future communication based on the distribution ratio received by the extended ICMP redirect reception module 320. In addition, while the packet transmission / reception module 310 is communicating with the destination address (for example, the HTTP server 130A), the extended ICMP redirect reception module 320 causes the gateway to communicate with the gateway address. When a distribution ratio indicating a ratio is received, a gateway to be used for future communication is dynamically selected based on the distribution ratio. For example, if there is a gateway group associated with the communication session in the routing association module 330, information is obtained when a gateway is selected according to the set distribution weight and there is no gateway group associated with the communication session. It has a function of selecting the processing device (balancer) 110.

なお、情報処理装置(バランサ)110は、通信セッションを管理しない。そして、一度経路が決定すると、通信パケットは、情報処理装置(バランサ)110を経由しないこととなる。また、ゲートウェイに必要な機能は公知のSNMPだけでよい。   Note that the information processing apparatus (balancer) 110 does not manage communication sessions. Once the route is determined, the communication packet does not pass through the information processing apparatus (balancer) 110. Further, the function required for the gateway is only known SNMP.

図4は、本実施の形態による処理例を示すフローチャートである。ここでは、端末(クライアントA)120A、情報処理装置(バランサ)110、ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2、NAT−A:150A、HTTPサーバ130Aを例としているが、端末(クライアントB)120B、ゲートウェイ−B1:160B1、ゲートウェイ−B2:160B2、NAT−B:150B、HTTPサーバ130B等でもよい。
前提条件として、以下のものがある。
図4の例では、IPv4でHTTPプロトコルを使用する場合を例示するが、IPv6、UDP/ICMPプロトコル等にも適用可能である。
クラスタ情報取得・保持モジュール230は、SNMPプロトコルを用いることとする。
端末(クライアントA)120Aのデフォルトゲートウェイには予め情報処理装置(バランサ)110が設定されている。つまり、1回目のパケット(端末(クライアントA)120Aが用いるゲートウェイ群が確定する前)は、情報処理装置(バランサ)110が受信することになる。
ネットワーク情報は以下の通りであるとする。もちろんのことながら、これらは例示である。
HTTPサーバ : 192.168.10.1
クライアント : 192.168.1.100
ゲートウェイA1 : 192.168.1.1
ゲートウェイA2 : 192.168.1.2
FIG. 4 is a flowchart showing an example of processing according to this embodiment. Here, terminal (client A) 120A, information processing apparatus (balancer) 110, gateway-A1: 160A1, gateway-A2: 160A2, NAT-A: 150A, HTTP server 130A are taken as an example, but terminal (client B) 120B, gateway-B1: 160B1, gateway-B2: 160B2, NAT-B: 150B, HTTP server 130B, and the like may be used.
The prerequisites are as follows.
In the example of FIG. 4, the case where the HTTP protocol is used in IPv4 is illustrated, but the present invention can also be applied to IPv6, UDP / ICMP protocol, and the like.
The cluster information acquisition / retention module 230 uses the SNMP protocol.
An information processing apparatus (balancer) 110 is set in advance as a default gateway of the terminal (client A) 120A. That is, the information processing apparatus (balancer) 110 receives the first packet (before the gateway group used by the terminal (client A) 120A is determined).
Assume that the network information is as follows. Of course, these are examples only.
HTTP server: 192.168.10.1
Client: 192.168.1.100
Gateway A1: 192.168.1.1
Gateway A2: 192.168.1.2

ステップS402:負荷情報取得(ゲートウェイの情報取得(情報処理装置(バランサ)110、各ゲートウェイ(ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2)))
情報処理装置(バランサ)110のクラスタ情報取得・保持モジュール230は、SNMPを用いて各ゲートウェイの死活状況や、負荷情報(CPU使用率、ネットワーク使用率等)を、予め定められた期間の間隔で取得し、それを保持する。
Step S402: Load information acquisition (gateway information acquisition (information processing apparatus (balancer) 110, each gateway (gateway-A1: 160A1, gateway-A2: 160A2)))
The cluster information acquisition / retention module 230 of the information processing apparatus (balancer) 110 uses the SNMP to display the life / death status of each gateway and load information (CPU usage rate, network usage rate, etc.) at predetermined time intervals. Get and hold it.

ステップS404:分配ウェイト決定(分配ウェイトの決定(情報処理装置(バランサ)110))
情報処理装置(バランサ)110のクラスタ情報取得・保持モジュール230が、各ゲートウェイの負荷情報(クラスタ情報)を取得すると、分配ウェイト決定モジュール250はクラスタ情報から分配ウェイトを算出し、拡張ICMPリダイレクト送信モジュール240に通知する。分配ウェイトは、そのゲートウェイが使用されているほど低くなる値(余裕があるほど高くなる値)である。なお、ゲートウェイ群として管理するのは、情報処理装置(バランサ)110であり、端末(クライアント)120は、そのゲートウェイ群内の個別のゲートウェイを選択する。
分配ウェイトの算出には、例えば以下に挙げるもののうちのいずれか1つ、又はこれらを組み合わせた方法を用いる。
1.CPU使用率の逆数を分配ウェイトとする
2.帯域使用率の逆数を分配ウェイトとする
3.100%からCPU使用率を減算したものを分配ウェイトとする
4.方法1〜3のいずれかで求めた値と直近n(nは整数、例えば3等)回分の移動平均を分配ウェイトとする
なお、ステップS402、ステップS404は、予め定められた期間毎(例えば、1分毎、5分毎等)に行うようにしてもよい。
Step S404: Distribution weight determination (distribution weight determination (information processing apparatus (balancer) 110))
When the cluster information acquisition / retention module 230 of the information processing apparatus (balancer) 110 acquires the load information (cluster information) of each gateway, the distribution weight determination module 250 calculates the distribution weight from the cluster information, and the extended ICMP redirect transmission module. 240 is notified. The distribution weight is a value that decreases as the gateway is used (a value that increases as there is a margin). The information processing apparatus (balancer) 110 is managed as a gateway group, and the terminal (client) 120 selects an individual gateway in the gateway group.
For the calculation of the distribution weight, for example, any one of the following methods or a combination of these methods is used.
1. 1. The reciprocal of the CPU usage rate is used as the distribution weight. 3. The distribution weight is the reciprocal of the bandwidth usage rate 3. The distribution weight is the value obtained by subtracting the CPU usage rate from 100%. The value obtained by any of the methods 1 to 3 and the moving average of the latest n (n is an integer, for example, 3) times are used as the distribution weight. Note that Steps S402 and S404 are performed at predetermined intervals (for example, (Every 1 minute, every 5 minutes, etc.)

ステップS406:SYNパケット送信(通信の開始(端末(クライアントA)120A))
端末(クライアントA)120Aのパケット送受信モジュール310は、図5の例に示す情報が含まれたサーバ宛のSYNパケットを、デフォルトゲートウェイの情報処理装置(バランサ)110へ向けて(予めARPで調べておいた情報処理装置(バランサ)110のMACアドレスを送信先MACアドレスに設定して)送信する。
図5は、SYNパケット情報500のデータ構造例を示す説明図である。SYNパケット情報500は、送信元IP欄510、宛先IP欄520、送信元ポート番号欄530、宛先ポート番号欄540を有している。送信元IP欄510は、送信元IPアドレス(ここでは端末(クライアントA)120AのIPアドレス)を記憶している。宛先IP欄520は、宛先IPアドレス(ここではHTTPサーバ130AのIPアドレス)を記憶している。送信元ポート番号欄530は、送信元ポート番号を記憶している。宛先ポート番号欄540は、宛先ポート番号を記憶している。ポート番号とは、コンピュータがデータ通信を行う際に通信先のプログラムを特定するための番号のことである。
Step S406: SYN packet transmission (communication start (terminal (client A) 120A))
The packet transmission / reception module 310 of the terminal (client A) 120A directs the SYN packet addressed to the server including the information shown in the example of FIG. 5 to the information processing apparatus (balancer) 110 of the default gateway (in advance by ARP). The MAC address of the placed information processing apparatus (balancer) 110 is set as the transmission destination MAC address and transmitted.
FIG. 5 is an explanatory diagram showing an example of the data structure of the SYN packet information 500. The SYN packet information 500 includes a source IP column 510, a destination IP column 520, a source port number column 530, and a destination port number column 540. The source IP column 510 stores the source IP address (here, the IP address of the terminal (client A) 120A). The destination IP column 520 stores a destination IP address (here, the IP address of the HTTP server 130A). The transmission source port number column 530 stores a transmission source port number. The destination port number column 540 stores a destination port number. The port number is a number for specifying a communication destination program when the computer performs data communication.

ステップS408:使用GW決定(使用ゲートウェイの決定(情報処理装置(バランサ)110))
端末(クライアントA)120AからのSYNパケットを受信した情報処理装置(バランサ)110の使用ゲートウェイ群決定モジュール220は、予め設定されたアルゴリズムにしたがって当該通信セッションで端末(クライアントA)120Aが使用するゲートウェイ群を決定する。
この決定アルゴリズムは、例えば以下に挙げるもののうちのいずれか1つ、又はこれらを組み合わせた方法を用いる。なお、各ゲートウェイの情報はステップS402で定期的に取得している。
1.最も負荷の低いゲートウェイ群を選択する
2.最も応答の速いゲートウェイ群を選択する
3.最も帯域に余裕があるゲートウェイ群を選択する
ここでは、方式1を用いたとして、その結果、ゲートウェイ群Aが採用されたとする。
次に、使用ゲートウェイ群決定モジュール220は、分配ウェイト決定モジュール250(ステップS404)からゲートウェイ群Aの分配ウェイト(例えば、図6の例に示すゲートウェイ・分配ウェイトテーブル600)を取得し、これを拡張ICMPリダイレクト送信モジュール240に通知する。図6は、ゲートウェイ・分配ウェイトテーブル600のデータ構造例を示す説明図である。ゲートウェイ・分配ウェイトテーブル600は、ゲートウェイ名欄610、IPアドレス欄620、分配ウェイト欄630を有している。ゲートウェイ名欄610は、決定したゲートウェイ群内の各ゲートウェイ名を記憶している。IPアドレス欄620は、そのゲートウェイのIPアドレスを記憶している。分配ウェイト欄630は、そのゲートウェイにおける分配ウェイトを記憶している。
Step S408: Use GW determination (use gateway determination (information processing apparatus (balancer) 110))
The used gateway group determination module 220 of the information processing apparatus (balancer) 110 that has received the SYN packet from the terminal (client A) 120A is a gateway used by the terminal (client A) 120A in the communication session according to a preset algorithm. Determine the group.
This determination algorithm uses, for example, any one of the following methods or a combination of these methods. Note that information on each gateway is periodically acquired in step S402.
1. 1. Select the gateway group with the lowest load 2. Select the gateway group with the fastest response. The gateway group with the most bandwidth is selected. Here, it is assumed that the system 1 is used and, as a result, the gateway group A is adopted.
Next, the used gateway group determination module 220 acquires the distribution weight of the gateway group A (for example, the gateway / distribution weight table 600 shown in the example of FIG. 6) from the distribution weight determination module 250 (step S404), and expands this. The ICMP redirect transmission module 240 is notified. FIG. 6 is an explanatory diagram showing an example of the data structure of the gateway / distribution weight table 600. The gateway / distribution weight table 600 has a gateway name column 610, an IP address column 620, and a distribution weight column 630. The gateway name column 610 stores each gateway name in the determined gateway group. The IP address column 620 stores the IP address of the gateway. The distribution weight column 630 stores the distribution weight in the gateway.

ステップS410:拡張ICMPリダイレクト送信(拡張ICMPリダイレクトの送信(情報処理装置(バランサ)110))
情報処理装置(バランサ)110の拡張ICMPリダイレクト送信モジュール240は、図5、図6の例に示す情報が含まれた拡張ICMPリダイレクトパケット(図7の例に示す拡張ICMPリダイレクトパケット700)を端末(クライアントA)120Aに向けて(予めARPで取得した端末(クライアントA)120AのMACアドレスを送信先MACアドレスに設定して)送信する。
図7は、拡張ICMPリダイレクトパケット700のデータ構造例を示す説明図であり、通信セッションの使用ゲートウェイ群と分配ウェイトの配信用に独自拡張したICMPタイプ=5(リダイレクト)のコード=4のパケットである。もちろんのことながら、コード番号4等は仮の番号である。拡張ICMPリダイレクトパケット700は、タイプ710、コード720、チェックサム730、IPヘッダ740、データグラム750、ゲートウェイ総数760、ゲートウェイ1:7701、ゲートウェイ1のウェイト7801、ゲートウェイnのウェイト780n等を有している。選択したゲートウェイ群内のゲートウェイの数だけ、ゲートウェイ1:7701、ゲートウェイ1のウェイト7801の組が含まれる(nは、選択されたゲートウェイ群内のゲートウェイの数)。拡張ICMPリダイレクトパケット700の幅は、32ビット長である。かっこ内の数は、それぞれのビット長を表している。IPヘッダ740、データグラム750内に、SYNパケット情報500の内容が含まれ、ゲートウェイ1:7701、ゲートウェイ1のウェイト7801等の組に、ゲートウェイ・分配ウェイトテーブル600の内容が含まれる。
Step S410: Extended ICMP redirect transmission (transmission of extended ICMP redirect (information processing apparatus (balancer) 110))
The extended ICMP redirect transmission module 240 of the information processing apparatus (balancer) 110 sends an extended ICMP redirect packet (the extended ICMP redirect packet 700 shown in the example of FIG. 7) including the information shown in the examples of FIGS. Client A) transmits to 120A (with the MAC address of the terminal (client A) 120A acquired in advance by ARP set as the destination MAC address).
FIG. 7 is an explanatory diagram showing an example of the data structure of the extended ICMP redirect packet 700, which is a packet of ICMP type = 5 (redirect) code = 4 uniquely expanded for use in communication session use gateway groups and distribution weight distribution. is there. Of course, the code number 4 is a temporary number. The extended ICMP redirect packet 700 has a type 710, a code 720, a checksum 730, an IP header 740, a datagram 750, a total number of gateways 760, a gateway 1: 7701, a gateway 1 weight 7801, a gateway n weight 780n, and the like. Yes. The number of gateways in the selected gateway group includes a set of gateway 1: 7701 and the weight 1801 of gateway 1 (n is the number of gateways in the selected gateway group). The width of the extended ICMP redirect packet 700 is 32 bits long. The numbers in parentheses represent the respective bit lengths. The contents of the SYN packet information 500 are included in the IP header 740 and the datagram 750, and the contents of the gateway / distribution weight table 600 are included in a set of the gateway 1: 7701 and the weight 7801 of the gateway 1.

ステップS412:SYNパケット転送(SYNパケットの転送(情報処理装置(バランサ)110))
情報処理装置(バランサ)110のパケット送受信モジュール210は、端末(クライアントA)120Aから受信したサーバ宛のSYNパケットを、ステップS408で決定したゲートウェイ群Aのうち、CPU使用率の低い方のゲートウェイA1:160A1に向けて(予めARPで取得したゲートウェイ−A1:160A1のMACアドレスを送信先MACアドレスに設定して)送信する。なお、ゲートウェイ群Aのうちのゲートウェイであれば、いずれのゲートウェイとしてもよいと決定してもよい。
Step S412: SYN packet transfer (transfer of SYN packet (information processing apparatus (balancer) 110))
The packet transmission / reception module 210 of the information processing apparatus (balancer) 110 receives the SYN packet addressed to the server received from the terminal (client A) 120A, among the gateway group A determined in step S408, the gateway A1 having the lower CPU usage rate. : Transmitted to 160A1 (the gateway-A1: 160A1 MAC address acquired in advance by ARP is set as the destination MAC address). Note that any gateway in the gateway group A may be determined.

ステップS414:SYNパケット転送(パケットの転送(ゲートウェイ−A1:160A11))
ゲートウェイ−A1:160A1は、情報処理装置(バランサ)110から送信されてきたHTTPサーバ宛のSYNパケットをNAT−A:150Aに向けて送信する。
ステップS416:NAT処理(NAT−A:150A)
NAT−A:150Aは、ゲートウェイ−A1:160A1から送信されてきたHTTPサーバ宛のSYNパケットにNAT処理を施し、HTTPサーバ130Aに向けて送信する。
ステップS418:SYN,ACKパケット送信(SYN/ACKの送信(HTTPサーバ130A))
NAT−A:150AからのSYNパケットを受信したHTTPサーバ130Aは、SYN/ACKパケットをNAT−A:150A〜ゲートウェイ−A1:160A1経由で端末(クライアントA)120Aに返送する。
Step S414: SYN packet transfer (packet transfer (gateway-A1: 160A11))
The gateway-A1: 160A1 transmits the SYN packet addressed to the HTTP server transmitted from the information processing apparatus (balancer) 110 to the NAT-A: 150A.
Step S416: NAT processing (NAT-A: 150A)
The NAT-A: 150A performs NAT processing on the SYN packet addressed to the HTTP server transmitted from the gateway-A1: 160A1, and transmits it to the HTTP server 130A.
Step S418: SYN, ACK packet transmission (transmission of SYN / ACK (HTTP server 130A))
The HTTP server 130A that has received the SYN packet from the NAT-A: 150A returns the SYN / ACK packet to the terminal (client A) 120A via the NAT-A: 150A to the gateway-A1: 160A1.

ステップS420:拡張ICMPリダイレクト解析、ステップS422:ルーティング紐付け(拡張ICMPリダイレクトの受信(端末(クライアントA)120A))
一方、端末(クライアントA)120Aの拡張ICMPリダイレクト受信モジュール240は、情報処理装置(バランサ)110からの拡張ICMPリダイレクトを解析し(具体的には、拡張ICMPリダイレクトパケット700からゲートウェイ・分配ウェイトテーブル600の情報を抽出する)、通信セッション情報、使用ゲートウェイ群、その分配ウェイトを取得する。端末(クライアントA)120Aのルーティング紐付モジュール330は、当該通信セッションとゲートウェイ群Aと分配ウェイトを紐付ける(対応付ける)。具体的には、SYNパケット情報500とゲートウェイ・分配ウェイトテーブル600を対応付ける。
Step S420: Extended ICMP redirect analysis, Step S422: Routing association (Reception of extended ICMP redirect (terminal (client A) 120A))
On the other hand, the extended ICMP redirect reception module 240 of the terminal (client A) 120A analyzes the extended ICMP redirect from the information processing apparatus (balancer) 110 (specifically, from the extended ICMP redirect packet 700 to the gateway / distribution weight table 600). Communication session information, gateway groups used, and distribution weights thereof. The routing association module 330 of the terminal (client A) 120A associates (associates) the communication session with the gateway group A and the distribution weight. Specifically, the SYN packet information 500 is associated with the gateway / distribution weight table 600.

ステップS424:ACKパケット送信(通信セッションの確立(端末(クライアントA)120A))
当該通信セッションの以降のパケットは、ステップS422で紐付けられたゲートウェイ群Aを経由して送信される。ゲートウェイ群Aのどのゲートウェイを使うかは、ゲートウェイ群Aに設定された分配ウェイトに基づく。具体的には、分配ウェイトの高いものを選択する。
ここでは端末(クライアントA)120Aのパケット送受信モジュール310は、HTTPサーバ130A宛てACKパケットをゲートウェイ−A1:160A1に向けて送信し、通信セッションを確立する。
Step S424: ACK packet transmission (communication session establishment (terminal (client A) 120A))
The subsequent packets of the communication session are transmitted via the gateway group A linked in step S422. Which gateway of the gateway group A is used is based on the distribution weight set for the gateway group A. Specifically, the one having a high distribution weight is selected.
Here, the packet transmission / reception module 310 of the terminal (client A) 120A transmits an ACK packet addressed to the HTTP server 130A toward the gateway-A1: 160A1 to establish a communication session.

ステップS426:パケット送受信(データの送受信(端末(クライアントA)120A、NAT−A:150A、ゲートウェイ群A(ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2)、HTTPサーバ130A))
端末(クライアントA)120AとHTTPサーバ130Aは、ゲートウェイ群A〜NAT−Aを経由してパケットの送受信を行う。この一連の通信は、図6の例に示したゲートウェイ・分配ウェイトテーブル600にしたがう。
Step S426: Packet Transmission / Reception (Data Transmission / Reception (Terminal (Client A) 120A, NAT-A: 150A, Gateway Group A (Gateway-A1: 160A1, Gateway-A2: 160A2), HTTP Server 130A))
The terminal (client A) 120A and the HTTP server 130A perform packet transmission / reception via the gateway groups A to NAT-A. This series of communications follows the gateway / distribution weight table 600 shown in the example of FIG.

ステップS428:負荷情報取得、ステップS430:分配ウェイト決定、ステップS432:分配ウェイト広告(分配ウェイトの広告(情報処理装置(バランサ)110))
定期的に収集したクラスタ情報から分配ウェイトが算出され(ステップS404)、ある条件を満たすと分配ウェイト広告送信要求が拡張ICMPリダイレクト送信モジュール240に通知される。つまり、分配ウェイトのアップデートを行うものである。
この条件は、例えば以下に挙げるもののうちのいずれか1つ、又はこれらを組み合わせた方法を用いる。
1.分配ウェイトが計算される
2.分配ウェイトが閾値を超える
3.前回広告から予め定められた時間が経過する
拡張ICMPリダイレクト送信モジュール240は、分配ウェイト広告用に独自拡張したICMPタイプ=5(リダイレクト)のコード=5のパケット(図8の例に示す分配ウェイト広告用拡張ICMPリダイレクト800)をマルチキャストする。つまり、すべての端末(クライアント)に向けて送信する。TCP等、他のプロトコルを用いてもよい。なお、1つの通信セッションの間においては、ゲートウェイが変更されることはあるが、ゲートウェイ群が変更されることはない。
図8は、分配ウェイト広告用拡張ICMPリダイレクト800のデータ構造例を示す説明図である。分配ウェイト広告用拡張ICMPリダイレクト800は、タイプ810、コード820、チェックサム830、ゲートウェイ総数840、ゲートウェイ1:8501、ゲートウェイ1のウェイト8601、ゲートウェイn:850n、ゲートウェイnのウェイト860n等を有している。
Step S428: Load information acquisition, Step S430: Distribution weight determination, Step S432: Distribution weight advertisement (Distribution weight advertisement (information processing apparatus (balancer) 110))
A distribution weight is calculated from the periodically collected cluster information (step S404), and a distribution weight advertisement transmission request is notified to the extended ICMP redirect transmission module 240 when a certain condition is satisfied. That is, the distribution weight is updated.
For this condition, for example, any one of the following methods or a combination of these methods is used.
1. 1. Distribution weight is calculated 2. Distribution weight exceeds threshold A predetermined time elapses from the previous advertisement. The extended ICMP redirect transmission module 240 uses a packet of ICMP type = 5 (redirect) code = 5 uniquely expanded for the distribution weight advertisement (the distribution weight advertisement shown in the example of FIG. 8). Multicast extended ICMP redirect 800). That is, it transmits toward all the terminals (clients). Other protocols such as TCP may be used. Note that the gateway may be changed during one communication session, but the gateway group is not changed.
FIG. 8 is an explanatory diagram showing an example of a data structure of the extended ICMP redirect 800 for distribution weight advertisement. The extended ICMP redirect 800 for distribution weight advertisement has type 810, code 820, checksum 830, total number of gateways 840, gateway 1: 8501, gateway 1 weight 8601, gateway n: 850n, gateway n weight 860n, and the like. Yes.

ステップS434:分配ウェイト広告解析、ステップS436:分配ウェイト更新(分配ウェイトの更新(端末(クライアントA)120A))
情報処理装置(バランサ)110からの分配ウェイト広告パケットを受け取った端末(クライアントA)120Aの拡張ICMPリダイレクト受信モジュール320は、使用ゲートウェイ群とその分配ウェイトを抽出する。
端末(クライアントA)120Aのルーティング紐付モジュール330は、ゲートウェイ群とその分配ウェイト設定を更新する。
ステップS438:パケット送受信(データの送受信(端末(クライアントA)120A、NAT−A:150A、ゲートウェイ群A(ゲートウェイ−A1:160A1、ゲートウェイ−A2:160A2)、HTTPサーバ130A))
端末(クライアントA)120Aは、更新された分配ウェイトの設定に基づき、ゲートウェイ群Aからゲートウェイ−A2:160A2を選択し、HTTPサーバ130Aと通信を行う。
ステップS440:通信セッション終了、ステップS442:ルーティング紐付け削除(通信セッションの終了(端末(クライアントA)120A))
当該通信セッションが終了すると、端末(クライアントA)120Aのルーティング紐付モジュール330は、紐付けられたルーティング情報(ゲートウェイ群A)を削除する。
Step S434: Distribution weight advertisement analysis, Step S436: Distribution weight update (Distribution weight update (terminal (client A) 120A))
The extended ICMP redirect reception module 320 of the terminal (client A) 120A that has received the distribution weight advertisement packet from the information processing apparatus (balancer) 110 extracts the gateway group to be used and its distribution weight.
The routing association module 330 of the terminal (client A) 120A updates the gateway group and its distribution weight setting.
Step S438: Packet Transmission / Reception (Data Transmission / Reception (Terminal (Client A) 120A, NAT-A: 150A, Gateway Group A (Gateway-A1: 160A1, Gateway-A2: 160A2), HTTP Server 130A))
The terminal (client A) 120A selects the gateway-A2: 160A2 from the gateway group A based on the updated distribution weight setting, and communicates with the HTTP server 130A.
Step S440: End communication session, Step S442: Delete routing association (End communication session (terminal (client A) 120A))
When the communication session ends, the routing association module 330 of the terminal (client A) 120A deletes the associated routing information (gateway group A).

なお、本実施の形態としてのプログラムが実行されるコンピュータ(情報処理装置(バランサ)110、端末(クライアント)120、HTTPサーバ130A、HTTPサーバ130B、ISP140、NAT150、ゲートウェイ160)のハードウェア構成は、図9に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU901を用い、記憶装置としてRAM902、ROM903、HD904を用いている。HD904として、例えばハードディスクを用いてもよい。パケット送受信モジュール210、使用ゲートウェイ群決定モジュール220、クラスタ情報取得・保持モジュール230、拡張ICMPリダイレクト送信モジュール240、分配ウェイト決定モジュール250、パケット送受信モジュール310、拡張ICMPリダイレクト受信モジュール320、ルーティング紐付モジュール330、ゲートウェイ選択モジュール340等のプログラムを実行するCPU901と、そのプログラムやデータを記憶するRAM902と、本コンピュータを起動するためのプログラム等が格納されているROM903と、補助記憶装置(フラッシュメモリ等であってもよい)であるHD904と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置906と、CRT、液晶ディスプレイ等の出力装置905と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース907、そして、それらをつないでデータのやりとりをするためのバス908により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。   Note that the hardware configuration of a computer (information processing device (balancer) 110, terminal (client) 120, HTTP server 130A, HTTP server 130B, ISP 140, NAT 150, gateway 160) on which the program according to the present embodiment is executed is as follows. As illustrated in FIG. 9, it is a general computer, specifically a personal computer, a computer that can be a server, or the like. That is, as a specific example, the CPU 901 is used as a processing unit (calculation unit), and the RAM 902, ROM 903, and HD 904 are used as storage devices. For example, a hard disk may be used as the HD 904. Packet transmission / reception module 210, used gateway group determination module 220, cluster information acquisition / holding module 230, extended ICMP redirect transmission module 240, distribution weight determination module 250, packet transmission / reception module 310, extended ICMP redirect reception module 320, routing association module 330, A CPU 901 that executes a program such as the gateway selection module 340, a RAM 902 that stores the program and data, a ROM 903 that stores a program for starting the computer, and an auxiliary storage device (such as a flash memory) A receiving device 906 that receives data based on a user operation on a keyboard, a mouse, a touch panel, and the like; RT, an output device 905 such as a liquid crystal display, a communication line interface 907 for connecting to a communication network such as a network interface card, and, and a bus 908 for exchanging data by connecting them. A plurality of these computers may be connected to each other via a network.

前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図9に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図9に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図9に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
Among the above-described embodiments, the computer program is a computer program that reads the computer program, which is software, in the hardware configuration system, and the software and hardware resources cooperate with each other. Is realized.
Note that the hardware configuration illustrated in FIG. 9 illustrates one configuration example, and the present embodiment is not limited to the configuration illustrated in FIG. 9, and is a configuration that can execute the modules described in the present embodiment. I just need it. For example, some modules may be configured by dedicated hardware (for example, ASIC), and some modules may be in an external system and connected via a communication line. A plurality of systems shown in FIG. 5 may be connected to each other via communication lines so as to cooperate with each other. In particular, in addition to personal computers, information appliances, copiers, fax machines, scanners, printers, and multifunction machines (image processing apparatuses having two or more functions of scanners, printers, copiers, fax machines, etc.) Etc. may be incorporated.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray (registered trademark) Disc), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark)) )), Flash memory, Random access memory (RAM) SD (Secure Digital) memory card and the like.
The program or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, etc., or wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

110…情報処理装置(バランサ)
120…端末(クライアント)
130…HTTPサーバ
132…FTPサーバ
140…ISP
150…NAT
160…ゲートウェイ
197、199…通信回線
210…パケット送受信モジュール
220…使用ゲートウェイ群決定モジュール
230…クラスタ情報取得・保持モジュール
240…拡張ICMPリダイレクト送信モジュール
250…分配ウェイト決定モジュール
310…パケット送受信モジュール
320…拡張ICMPリダイレクト受信モジュール
330…ルーティング紐付モジュール
340…ゲートウェイ選択モジュール
110: Information processing device (balancer)
120 ... terminal (client)
130 ... HTTP server 132 ... FTP server 140 ... ISP
150 ... NAT
160 ... Gateway 197, 199 ... Communication line 210 ... Packet transmission / reception module 220 ... Used gateway group determination module 230 ... Cluster information acquisition / retention module 240 ... Extended ICMP redirect transmission module 250 ... Distribution weight determination module 310 ... Packet transmission / reception module 320 ... Extension ICMP redirect reception module 330 ... Routing association module 340 ... Gateway selection module

Claims (7)

端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、
複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、
前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、
前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段
を具備することを特徴とする情報処理装置。
Receiving means for receiving the address and destination address of the terminal in communication from the terminal;
A determining unit that determines a gateway group to be used by the terminal among gateway groups configured by a plurality of gateways;
First transmission means for transmitting, to the terminal, an address of a gateway constituting the determined gateway group and a distribution ratio indicating a ratio of causing the gateway to perform communication;
An information processing apparatus comprising: a second transmission unit configured to transmit the address of the terminal and the destination address to any one of the gateways constituting the determined gateway group.
前記ゲートウェイ群内のゲートウェイの使用状況に関する情報を収集する収集手段と、
前記ゲートウェイの使用状況に関する情報に基づいて、該ゲートウェイの分配率を算出する算出手段と、
予め定められた条件を満たした場合は、ゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第3の送信手段
を具備することを特徴とする請求項1に記載の情報処理装置。
A collection means for collecting information on the usage status of the gateways in the gateway group;
Calculation means for calculating a distribution rate of the gateway based on information on the usage status of the gateway;
3. A third transmission means for transmitting, to a terminal, a distribution rate indicating a gateway address and a ratio of causing the gateway to perform communication when a predetermined condition is satisfied. The information processing apparatus described in 1.
通信における自端末のアドレスと宛先アドレスを請求項1に記載の情報処理装置に送信する送信手段と、
前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、
前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、
前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段
を具備することを特徴とする端末。
Transmission means for transmitting the address and destination address of the terminal in communication to the information processing apparatus according to claim 1;
Receiving means for receiving, from the information processing apparatus, an address of a gateway constituting a gateway group and a distribution ratio indicating a rate at which the gateway performs communication;
Selection means for selecting a gateway to be used for future communication based on the distribution ratio;
A terminal comprising: a communication unit configured to communicate with the destination address using the gateway selected by the selection unit.
請求項2に記載の情報処理装置からゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する第2の受信手段
を具備し、
前記選択手段は、前記第2の受信手段によって受信された分配率に基づいて、今後の通信に用いるゲートウェイを選択する
ことを特徴とする請求項3に記載の端末。
A second receiving unit configured to receive a gateway address and a distribution rate indicating a rate at which the gateway performs communication from the information processing device according to claim 2;
The terminal according to claim 3, wherein the selection unit selects a gateway to be used for future communication based on the distribution ratio received by the second reception unit.
端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、
複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、
前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、
前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段
を有する情報処理装置と、
前記情報処理装置と通信回線を介して接続されており、
通信における自端末のアドレスと宛先アドレスを前記情報処理装置に送信する送信手段と、
前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、
前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、
前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段
を有する端末
を具備することを特徴とする情報処理システム。
Receiving means for receiving the address and destination address of the terminal in communication from the terminal;
A determining unit that determines a gateway group to be used by the terminal among gateway groups configured by a plurality of gateways;
First transmission means for transmitting, to the terminal, an address of a gateway constituting the determined gateway group and a distribution ratio indicating a ratio of causing the gateway to perform communication;
An information processing apparatus comprising: a second transmission unit configured to transmit the address of the terminal and the destination address to any one of the gateways included in the determined gateway group;
Connected to the information processing apparatus via a communication line;
Transmitting means for transmitting the address and destination address of the terminal in communication to the information processing device;
Receiving means for receiving, from the information processing apparatus, an address of a gateway constituting a gateway group and a distribution ratio indicating a rate at which the gateway performs communication;
Selection means for selecting a gateway to be used for future communication based on the distribution ratio;
An information processing system comprising: a terminal having a communication unit that communicates with the destination address using the gateway selected by the selection unit.
コンピュータを、
端末から通信における該端末のアドレスと宛先アドレスを受け付ける受付手段と、
複数のゲートウェイによって構成されるゲートウェイ群のうち、前記端末が使用すべきゲートウェイ群を決定する決定手段と、
前記決定されたゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を、前記端末に送信する第1の送信手段と、
前記端末のアドレスと前記宛先アドレスを、前記決定されたゲートウェイ群を構成するいずれかのゲートウェイに送信する第2の送信手段
として機能させるための情報処理プログラム。
Computer
Receiving means for receiving the address and destination address of the terminal in communication from the terminal;
A determining unit that determines a gateway group to be used by the terminal among gateway groups configured by a plurality of gateways;
First transmission means for transmitting, to the terminal, an address of a gateway constituting the determined gateway group and a distribution ratio indicating a ratio of causing the gateway to perform communication;
An information processing program for causing an address of the terminal and the destination address to function as second transmission means for transmitting to any one of the gateways constituting the determined gateway group.
コンピュータを、
通信における自端末のアドレスと宛先アドレスを請求項1に記載の情報処理装置に送信する送信手段と、
前記情報処理装置からゲートウェイ群を構成するゲートウェイのアドレスと該ゲートウェイに通信を行わせる割合を示す分配率を受信する受信手段と、
前記分配率に基づいて、今後の通信に用いるゲートウェイを選択する選択手段と、
前記選択手段によって選択されたゲートウェイを用いて、前記宛先アドレスとの通信を行う通信手段
として機能させるための情報処理プログラム。
Computer
Transmission means for transmitting the address and destination address of the terminal in communication to the information processing apparatus according to claim 1;
Receiving means for receiving, from the information processing apparatus, an address of a gateway constituting a gateway group and a distribution ratio indicating a rate at which the gateway performs communication;
Selection means for selecting a gateway to be used for future communication based on the distribution ratio;
An information processing program for causing a gateway selected by the selection unit to function as a communication unit that communicates with the destination address.
JP2014028489A 2014-02-18 2014-02-18 Information processing apparatus, information processing system, and information processing program Active JP6187304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014028489A JP6187304B2 (en) 2014-02-18 2014-02-18 Information processing apparatus, information processing system, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014028489A JP6187304B2 (en) 2014-02-18 2014-02-18 Information processing apparatus, information processing system, and information processing program

Publications (2)

Publication Number Publication Date
JP2015154396A true JP2015154396A (en) 2015-08-24
JP6187304B2 JP6187304B2 (en) 2017-08-30

Family

ID=53896201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014028489A Active JP6187304B2 (en) 2014-02-18 2014-02-18 Information processing apparatus, information processing system, and information processing program

Country Status (1)

Country Link
JP (1) JP6187304B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250020A (en) * 1998-03-04 1999-09-17 Fujitsu Ltd Load distribution system, session management system, client device, computer readable recording medium recorded with load distribution program, computer readable recording medium recorded with session management program and computer readable recording medium recorded with local proxy server program
JP2004229130A (en) * 2003-01-24 2004-08-12 Fujitsu Ltd Allocation controller
JP2006106933A (en) * 2004-10-01 2006-04-20 Fujitsu Ltd Load sharing network system and load sharing program
JP2009303090A (en) * 2008-06-17 2009-12-24 Fujitsu Ltd Load distribution server, network load distribution method and congestion avoidance method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250020A (en) * 1998-03-04 1999-09-17 Fujitsu Ltd Load distribution system, session management system, client device, computer readable recording medium recorded with load distribution program, computer readable recording medium recorded with session management program and computer readable recording medium recorded with local proxy server program
JP2004229130A (en) * 2003-01-24 2004-08-12 Fujitsu Ltd Allocation controller
JP2006106933A (en) * 2004-10-01 2006-04-20 Fujitsu Ltd Load sharing network system and load sharing program
JP2009303090A (en) * 2008-06-17 2009-12-24 Fujitsu Ltd Load distribution server, network load distribution method and congestion avoidance method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"EC時代のWebシステム高速化", EC時代のWEBシステム高速化, JPN6017017793, JP, ISSN: 0003560367 *

Also Published As

Publication number Publication date
JP6187304B2 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
US7885294B2 (en) Signaling compression information using routing protocols
EP2495927B1 (en) Concept for providing information on a data packet association and for forwarding a data packet
US7619982B2 (en) Active probe path management
US9467478B1 (en) Overlay management protocol for secure routing based on an overlay network
US8072901B1 (en) Technique for efficient probing to verify policy conformance
EP1739897B1 (en) Information processing device, and bubble packet transmission method and program
US9762537B1 (en) Secure path selection within computer networks
US20090031415A1 (en) Dynamic Network Tunnel Endpoint Selection
EP3190754B1 (en) Method and apparatus for processing a modified packet
JPWO2012124035A1 (en) Communication apparatus and communication method
JP2011504697A (en) Techniques for address resolution in data transmission networks.
US9548930B1 (en) Method for improving link selection at the borders of SDN and traditional networks
JP2018191290A (en) Method, apparatus, and network system for implementing load balancing
EP3756317B1 (en) Method, device and computer program product for interfacing communication networks
US20080313350A1 (en) Method and system of cache discovery in a peer-to-peer environment
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
US11310157B2 (en) Dynamic segment routing mapping server for a multiprotocol label switching network
JP5534033B2 (en) Communication system, node, packet transfer method and program
JP2011159247A (en) Network system, controller, and network control method
US20160112300A1 (en) Method and device for selecting a communication interface
JP4305091B2 (en) Multihoming load balancing method and apparatus
US8451847B2 (en) Intermediate node device, method of controlling intermediate node device, and network system
US20200304399A1 (en) Method and system for interfacing communication networks
JP6187304B2 (en) Information processing apparatus, information processing system, and information processing program
JP4490990B2 (en) Peer-to-peer communication establishment apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170717

R150 Certificate of patent or registration of utility model

Ref document number: 6187304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350