JP2012155602A - Connection selection device, connection selection method and connection selection program - Google Patents

Connection selection device, connection selection method and connection selection program Download PDF

Info

Publication number
JP2012155602A
JP2012155602A JP2011015254A JP2011015254A JP2012155602A JP 2012155602 A JP2012155602 A JP 2012155602A JP 2011015254 A JP2011015254 A JP 2011015254A JP 2011015254 A JP2011015254 A JP 2011015254A JP 2012155602 A JP2012155602 A JP 2012155602A
Authority
JP
Japan
Prior art keywords
connection
communication
certain
virtual server
server
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.)
Withdrawn
Application number
JP2011015254A
Other languages
Japanese (ja)
Inventor
Takashi Torii
隆史 鳥居
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011015254A priority Critical patent/JP2012155602A/en
Publication of JP2012155602A publication Critical patent/JP2012155602A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a connection selection device for speeding up establishment of communication connection between a client and a virtual server.SOLUTION: A connection selection device for selecting connection to perform communication when starting the communication between an application included in a client and a virtual server included in a physical server comprises a means to select a first existing connection as the connection to perform the communication, if the fist existing connection has been established between one of applications included in the client and a virtual server which is included in the physical server and is other than the virtual server.

Description

本発明は、マルチコアサーバ環境においてクライアントとサーバとの間のコネクションを選択するためのコネクション選択装置、コネクション選択方法及びコネクション選択プログラムに関する。   The present invention relates to a connection selection device, a connection selection method, and a connection selection program for selecting a connection between a client and a server in a multi-core server environment.

CPUのマルチコア(multi core)化、メニコア(many core)化が進んでいる。今後、一つのサーバに8コア、16コアが搭載されるというように、一つのサーバあたりのコア数が増えてくると予想される。これによりマルチスレッド・マルチプロセス(multi thread/multi process)のサーバの並列度が上がり、そのサーバの処理性能(単位時間当たりの処理数)が向上する。ただしこの様なマルチコアアーキテクチャでは、サーバプロセスやメモリ空間の扱い方が従来とは変わってくる。まずメモリについては、大容量のメモリをマルチコアで共有するが、コア数が増えたことにより、メモリバスがボトルネックになる可能性が高まる。少しでもボトルネックを回避するため、メモリをいくつかに分割し、それぞれの分割されたメモリにメモリバスをつけ、それぞれの分割されたメモリをコアとスイッチを介して接続する構成が考えられる。その際、物理的な制約から、いわゆるNUMA(Non-Uniform Memory Access)になる。つまり各コアから見るとアクセスの早いメモリと遅いメモリがある。マルチコアの性能を最大に引き出すためには、このメモリ性能の違いを利用する必要がある。   CPUs are becoming more and more multi-core and many-core. In the future, it is expected that the number of cores per server will increase, such that 8 cores and 16 cores are mounted on one server. As a result, the degree of parallelism of a multi-thread / multi-process server is increased, and the processing performance (the number of processes per unit time) of the server is improved. However, in such a multi-core architecture, the handling of server processes and memory space is different from the conventional one. First, regarding memory, a large-capacity memory is shared by multiple cores. However, as the number of cores increases, the possibility that the memory bus becomes a bottleneck increases. In order to avoid a bottleneck as much as possible, it is possible to divide the memory into several parts, attach a memory bus to each divided memory, and connect each divided memory via a core and a switch. At that time, it becomes so-called NUMA (Non-Uniform Memory Access) due to physical restrictions. In other words, from the viewpoint of each core, there is a memory with fast access and a memory with slow access. In order to maximize the performance of the multi-core, it is necessary to use this difference in memory performance.

サーバプロセスについては、マルチコアをできるだけ並列に動作させることが重要である。そのために、コア間でプロセスが移動するオーバーヘッドを避ける目的でプロセスを特定のCPUに明示的に割り当てる技術が用いられることがある。これをCPUアフィニティという。マルチコアのコア数が上がるほどCPUアフィニティをかけることで並列度向上に効果がある。   For server processes, it is important to run multiple cores in parallel as much as possible. For this purpose, a technique of explicitly assigning a process to a specific CPU may be used in order to avoid the overhead of the process moving between cores. This is called CPU affinity. By increasing CPU affinity as the number of multi-core cores increases, it is effective to improve parallelism.

なお、特許文献1には、仮想サーバの作成や起動に関する開示がある。   Japanese Patent Laid-Open No. 2004-26883 discloses disclosure relating to creation and activation of a virtual server.

特開2007−272297号公報JP 2007-272297 A

前述のように、マルチコアで性能を最大に引き出すためにはNUMAを考慮してメモリをコアに貼り付け、さらにサーバプロセスをコアに貼り付けて、コア同士をなるべく独立して並列動作をさせることが重要である。このように各コアにメモリを貼り付けたサーバを仮想サーバと呼ぶ。クライアントから見ると、一つの物理サーバに複数(例えばコア数)の仮想サーバが見える。ただし、仮想サーバは互いに独立ではあるが、物理サーバとしては同じである。従って、同一の物理サーバにある仮想サーバ間の接続は、物理サーバ間の接続と比較して、格段に高速である。それに対して、通信コネクションを開設する処理は、同一の物理サーバにある仮想サーバ間を接続する処理と比較して、相対的に長時間要する。例えばTCP/IP(Transmission Control Protocol/Internet Protocol)の場合、新規コネクションの開設は、3−Wayハンドシェイクにより行われる。3−wayハンドシェイクでは、SYN、SYN−ACK、ACKという3回のクライアントサーバ間のやりとりを経てコネクションが開設される。CPUやネットワークが高速になったとはいえ、新規コネクションを開設する処理は、同一の物理サーバにある仮想サーバ間を接続する処理に比べて桁違いに遅い。   As described above, in order to maximize performance with multi-core, it is necessary to attach memory to the core in consideration of NUMA, and further attach server processes to the core so that the cores operate in parallel as independently as possible is important. A server in which a memory is attached to each core in this way is called a virtual server. When viewed from the client, a plurality of virtual servers (for example, the number of cores) can be seen on one physical server. However, the virtual servers are independent from each other, but are the same as the physical servers. Therefore, connections between virtual servers on the same physical server are much faster than connections between physical servers. On the other hand, the process of establishing a communication connection takes a relatively long time compared to the process of connecting virtual servers in the same physical server. For example, in the case of TCP / IP (Transmission Control Protocol / Internet Protocol), a new connection is established by a 3-Way handshake. In the 3-way handshake, a connection is established through three exchanges between the client server such as SYN, SYN-ACK, and ACK. Even though the CPU and network have become faster, the process of opening a new connection is orders of magnitude slower than the process of connecting virtual servers on the same physical server.

従って、ここで解決しようとする課題は、或るクライアントが、新たに何れかの仮想サーバと通信をしようとする場合についてのものである。通常は、クライアントは、通信しようとする仮想サーバと新規コネクションを無条件に開設する。   Therefore, the problem to be solved here is a case where a certain client newly tries to communicate with any of the virtual servers. Normally, a client unconditionally opens a new connection with a virtual server to communicate with.

特許文献1には、上述したように、仮想サーバの作成や起動に関する開示があるが、クライアントと仮想サーバとを接続するコネクションに関する開示はない。   As described above, Patent Document 1 discloses disclosure relating to creation and activation of a virtual server, but does not disclose a connection connecting a client and a virtual server.

そこで、本発明は、クライアントと仮想サーバとの間の通信コネクションの確立を高速にするためのコネクション選択装置、コネクション選択方法及びコネクション選択プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide a connection selection device, a connection selection method, and a connection selection program for speeding up establishment of a communication connection between a client and a virtual server.

本発明の第1の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段を備えることを特徴とするコネクション選択装置が提供される。   According to the first aspect of the present invention, when a certain application included in a certain client starts communication with a certain virtual server included in a certain physical server, the communication is performed. A connection selection device for selecting a connection to be performed, which is any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Provided with a means for selecting the first existing connection as a connection for performing the communication when a first existing connection is established between The

本発明の第2の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置が提供される。   According to the second aspect of the present invention, when an application included in a client starts communication with a virtual server included in a physical server, the communication is performed. A connection selection device for selecting a connection to be performed, which is any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server And when the first existing connection is established, the communication cost between virtual servers when the first existing connection is selected as the connection for performing the communication, the certain application, and the A new connection is established with a certain virtual server, and the new connection is used as a connection for the communication. A means for calculating a new connection establishment cost when selecting an application, and if the new connection establishment cost is higher than the communication cost between virtual servers, the first existing If the means for selecting a connection and the new connection establishment cost is equal to or less than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the communication is performed. There is provided a connection selection device characterized by further comprising means for selecting the new connection as a connection to be performed.

本発明の第3の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップを有することを特徴とするコネクション選択方法が提供される。   According to the third aspect of the present invention, when a certain application included in a certain client starts communication with a certain virtual server included in a certain physical server, the communication is performed. A connection selection method for selecting a connection to be performed, wherein any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server When a first existing connection is established between the first and second connections, there is provided a connection selection method comprising a step of selecting the first existing connection as a connection for performing the communication. The

本発明の第4の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算するステップと、前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップと、前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択するステップを更に有することを特徴とするコネクション選択方法が提供される。   According to the fourth aspect of the present invention, when a certain application included in a certain client starts communication with a certain virtual server included in a certain physical server, the communication is performed. A connection selection method for selecting a connection to be performed, wherein any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server And when the first existing connection is established, the communication cost between virtual servers when the first existing connection is selected as the connection for performing the communication, the certain application, and the A new connection is established with a certain virtual server, and the new connection is used as a connection for the communication. Calculating a new connection establishment cost when selecting a new connection, and if the new connection establishment cost is higher than the communication cost between virtual servers, the first existing connection is used as a connection for performing the communication. Selecting a connection, and when the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the communication is performed. There is provided a connection selection method characterized by further comprising a step of selecting the new connection as a connection to be performed.

本発明の第5の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、コンピュータを、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段として機能させることを特徴とするコネクション選択プログラムが提供される。   According to the fifth aspect of the present invention, when a certain application included in a certain client starts communication with a certain virtual server included in a certain physical server, the communication is performed. A connection selection program for causing a computer to function as a connection selection device for selecting a connection to be executed, the computer including any application included in the certain client and a virtual server included in the certain physical server When the first existing connection is established with a virtual server other than the certain virtual server, means for selecting the first existing connection as a connection for performing the communication A connection selection program is provided, which is characterized by functioning as:

本発明の第6の観点によれば、或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、コンピュータを、前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段と、として機能させることを特徴とするコネクション選択プログラムが提供される。   According to the sixth aspect of the present invention, when a certain application included in a certain client starts communication with a certain virtual server included in a certain physical server, the communication is performed. A connection selection program for causing a computer to function as a connection selection device for selecting a connection to be executed, the computer including any application included in the certain client and a virtual server included in the certain physical server A case where the first existing connection is selected as a connection for performing the communication when a first existing connection is established with a virtual server other than the certain virtual server. A new communication cost between the virtual server and the certain application and the certain virtual server. A means for calculating a new connection establishment cost when the new connection is selected as a connection for establishing a connection and performing the communication, and the new connection establishment cost is higher than the communication cost between the virtual servers Means for selecting the first existing connection as a connection for performing the communication, and when the new connection establishment cost is equal to or less than the communication cost between virtual servers, the certain application and the or A connection selection program is provided which opens a new connection with a virtual server and functions as means for selecting the new connection as a connection for the communication.

本発明によれば、クライアントと仮想サーバとの間の通信コネクションの確立を高速にすることができる。   According to the present invention, establishment of a communication connection between a client and a virtual server can be performed at high speed.

本発明の実施形態によるシステム構成を示すブロック図である。It is a block diagram which shows the system configuration | structure by embodiment of this invention. 本発明の実施形態によるクライアントの詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the client by embodiment of this invention. 本発明の第1の実施形態によるサーバ選択部の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the server selection part by the 1st Embodiment of this invention. 本発明の第2の実施形態によるサーバ選択部の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the server selection part by the 2nd Embodiment of this invention.

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

[第1の実施形態]
図1に本発明の実施形態によるシステムの構成を示す。クライアント1と物理サーバ2があり、物理サーバ2では仮想サーバ3A〜3Cの3つの仮想サーバが起動している。仮想サーバ3A、3B、3Cは、それぞれ、ポート番号がA、B、Cのポートを利用してTCP/IPによる通信をする準備ができている。仮想サーバ3A、3B、3Cは、それぞれ、コア4A、4B、4Cにアフィニティが設定されている。コア4A、4B、4Cは、それぞれ、メモリ5A、5B、5Cに高速でアクセスできる。図1において、コアとメモリを接続する太線を流れるデータの伝送速度は、コアとメモリを接続する細線を流れるデータの伝送速度よりも高い。
[First Embodiment]
FIG. 1 shows a system configuration according to an embodiment of the present invention. There are a client 1 and a physical server 2. In the physical server 2, three virtual servers 3A to 3C are activated. The virtual servers 3A, 3B, and 3C are ready to perform TCP / IP communication using ports with port numbers A, B, and C, respectively. The virtual servers 3A, 3B, and 3C have affinity set for the cores 4A, 4B, and 4C, respectively. The cores 4A, 4B, and 4C can access the memories 5A, 5B, and 5C at high speed, respectively. In FIG. 1, the transmission speed of data flowing through the thick line connecting the core and the memory is higher than the transmission speed of data flowing through the thin line connecting the core and the memory.

図1の例では、クライアント1と仮想サーバ3Bとの間に既存コネクションが確立されている。この例で、クライアント1が仮想サーバ3Aと新たに通信しようとする場合を考える。通常であればクライアント1と仮想サーバ3Aとの間に新規コネクションを開設して両者が通信をする。しかし、本実施形態では、クライアント1と仮想サーバ3Bとの間に既存コネクションが確立されているので、クライアント1は、仮想サーバ3B経由で仮想サーバ3Aにアクセスしたほうが高速な可能性がある。本実施形態ではこのような場合に適切な制御を行う。   In the example of FIG. 1, an existing connection is established between the client 1 and the virtual server 3B. In this example, consider a case where the client 1 is going to newly communicate with the virtual server 3A. Normally, a new connection is established between the client 1 and the virtual server 3A, and both communicate with each other. However, in the present embodiment, since an existing connection is established between the client 1 and the virtual server 3B, the client 1 may access the virtual server 3A via the virtual server 3B at a higher speed. In this embodiment, appropriate control is performed in such a case.

図2はクライアント1の構成を示すブロック図である。クライアント1は、アプリケーション10と、サーバ選択部11と、通信管理部12と、通信処理部13を含む。なお、これらの各部は、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。ここでソフトウェアにより実現するとは、コンピュータをその部分として機能させるためのプログラムをコンピュータが読み込んで実行することにより実現することをいう。   FIG. 2 is a block diagram showing the configuration of the client 1. The client 1 includes an application 10, a server selection unit 11, a communication management unit 12, and a communication processing unit 13. Each of these units can be realized by hardware, software, or a combination thereof. Here, “realization by software” means that the computer reads and executes a program for causing the computer to function as that part.

本実施形態の特徴はサーバ選択部11にある。まずサーバと通信しようとするアプリケーション10は、通信処理部13にリクエストを出す。通信処理部13はリクエストの転送先となるべき仮想サーバを選択するため、サーバ選択部11に問い合わせを行う。通信処理部13は、サーバ選択部11から回答として得た仮想サーバとの間で、通信管理部12を介して、通信を開始する。   The feature of this embodiment resides in the server selection unit 11. First, the application 10 trying to communicate with the server issues a request to the communication processing unit 13. The communication processing unit 13 makes an inquiry to the server selection unit 11 in order to select a virtual server to be a request transfer destination. The communication processing unit 13 starts communication with the virtual server obtained as a response from the server selection unit 11 via the communication management unit 12.

一般的なサーバ選択部11として、KVS(Key-Value Storage)のような分散ストレージでコンシステントハッシュのような例がある。コンシステントハッシュはサーバリストをハッシュ空間にハッシュ関数によりばらまき、アクセスするデータのキー(Key)も同様にハッシュ関数を通すことにより、どのサーバがデータを保持しているかをアルゴリズム的に求める手法である。本実施形態はこのようなコンシステントハッシュに加えて、そのクライアントが今どの仮想サーバ、物理サーバとの間で既存コネクションを確立しているのかを情報として用いる。   As a general server selection unit 11, there is an example such as a consistent hash with distributed storage such as KVS (Key-Value Storage). Consistent hashing is a technique for algorithmically determining which server holds data by distributing a server list in a hash space by a hash function and passing a key (Key) of data to be accessed similarly. . In this embodiment, in addition to such a consistent hash, the virtual server and physical server that the client is currently establishing an existing connection are used as information.

本実施形態のサーバ選択部11の動作を説明するためのフローチャートを図3に示す。   FIG. 3 shows a flowchart for explaining the operation of the server selection unit 11 of this embodiment.

通信処理部13からの問い合わせを元に、例えばコンシステントハッシュにより、アプリケーション10の接続先となる仮想サーバとして、仮想サーバAが選択されたとする(ステップS1)。   It is assumed that virtual server A is selected as a virtual server to which the application 10 is connected based on, for example, a consistent hash based on an inquiry from the communication processing unit 13 (step S1).

次に、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバとの間に少なくとも1つの既存コネクションが確立されているか否かをチェックする(ステップS2)。コネクションの状態は通信管理部12が管理しているので、サーバ選択部11は、通信管理部12に問い合わせたり、コネクションの状態を管理するためのテーブルを通信管理部12と共有したりすることにより、そのチェックを行う。   Next, it is checked whether or not at least one existing connection is established between any application included in the client 1 including the application 10 and the physical server including the virtual server A (step S2). Since the communication management unit 12 manages the connection state, the server selection unit 11 makes an inquiry to the communication management unit 12 or shares a table for managing the connection state with the communication management unit 12. , Do that check.

アプリケーション10を含むクライアント1と仮想サーバAを含む物理サーバとの間に確立されている既存コネクションがない場合には(ステップS2でNO)、既存コネクションを使って物理サーバ内の仮想サーバ間でデータや命令を転送させる方法がとれないので、アプリケーション10と仮想サーバAとの間に直接コネクションを開設するのが最も有利である。よって、アプリケーション10と仮想サーバAとの間に新たなコネクションを開設し、アプリケーション10に、その新たなコネクションを用いて、仮想サーバAと通信をさせることとする(ステップS4)。   If there is no existing connection established between the client 1 including the application 10 and the physical server including the virtual server A (NO in step S2), data is transmitted between the virtual servers in the physical server using the existing connection. Therefore, it is most advantageous to establish a direct connection between the application 10 and the virtual server A. Therefore, a new connection is established between the application 10 and the virtual server A, and the application 10 is caused to communicate with the virtual server A using the new connection (step S4).

アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバとの間に既存コネクションがある場合、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAとの間に既存コネクションがあるかをチェックする(ステップS3)。   When there is an existing connection between any application included in the client 1 including the application 10 and the physical server including the virtual server A, any application included in the client 1 including the application 10 and the virtual server A It is checked whether there is an existing connection between them (step S3).

もし、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAとの間に既存コネクションが確立されている場合には、その既存コネクションを用いて通信をするのが最も有利である。従って、アプリケーション10に、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAとの間に確立されている既存コネクションを用いて、仮想サーバAと通信をさせることとする(ステップS5)。   If an existing connection is established between any application included in the client 1 including the application 10 and the virtual server A, it is most advantageous to perform communication using the existing connection. Therefore, the application 10 is caused to communicate with the virtual server A using an existing connection established between any application included in the client 1 including the application 10 and the virtual server A (step S5). ).

もし、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAとの間に既存コネクションが確立されていない場合、すなわち、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に既存コネクションが確立されている場合には、その既存コネクションを用いて通信をするのが最も有利である。従って、アプリケーション10に、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に確立されている既存コネクションを用いて、仮想サーバAと通信をさせることとする(ステップS6)。この場合、仮想サーバAと、仮想サーバを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとは、仮想サーバ間通信をしたり、共有メモリを用いたりして、データや命令の転送を行う。仮想サーバが共有メモリ型のストレージサーバ、例えばKVSのようなサーバであった場合、よりオーバーヘッドの少ない方法でデータや命令の転送を行うことができる。   If an existing connection is not established between any application included in the client 1 including the application 10 and the virtual server A, that is, any application included in the client 1 including the application 10 and the virtual server. When an existing connection is established with a virtual server other than the virtual server A that is a virtual server included in the physical server including A, it is most advantageous to perform communication using the existing connection. . Accordingly, the application 10 is established between any application included in the client 1 including the application 10 and a virtual server included in the physical server including the virtual server A and other than the virtual server A. The existing connection is used to communicate with the virtual server A (step S6). In this case, the virtual server A and a virtual server included in the physical server including the virtual server and other than the virtual server A perform communication between virtual servers, use a shared memory, or the like. Transfer instructions. When the virtual server is a shared memory type storage server, for example, a server such as KVS, data and instructions can be transferred by a method with less overhead.

[第2の実装形態]
第1の実施形態では、当該アプリケーションを含むクライアントに含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に既存コネクションがある場合には、その既存コネクションを無条件に当該アプリケーションと仮想サーバAとが通信を行うためのコネクションとして選択するようにしていた。これに対し、第2の実施形態では、当該アプリケーションを含むクライアントに含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に既存コネクションがある場合には、更に、その既存コネクションを当該アプリケーションと仮想サーバAとが通信を行うためのコネクションとして選択する場合の仮想サーバ間通信コストと、当該アプリケーションと仮想サーバとの間に新たなコネクションを開設して、当該アプリケーションと仮想サーバAとが通信を行うためのコネクションとして新たなコネクションを選択する場合の新規コネクション開設コストを比較して、コストが低い方を選択する。
[Second implementation]
In the first embodiment, there is an existing connection between any application included in the client including the application and a virtual server included in the physical server including the virtual server A and other than the virtual server A. In this case, the existing connection is unconditionally selected as a connection for communication between the application and the virtual server A. On the other hand, in the second embodiment, between any application included in the client including the application and a virtual server included in the physical server including the virtual server A and other than the virtual server A, If there is an existing connection, the communication cost between the virtual servers when the existing connection is selected as a connection for communication between the application and the virtual server A and a new value between the application and the virtual server are further added. When a new connection is established and a new connection is established when a new connection is selected as a connection for communication between the application and the virtual server A, the one with the lower cost is selected.

ここで、各コストの計算は、トータルで行う。トータルでコストの計算を行うとは、具体的には、クライアントの状態、物理サーバの状態、仮想サーバの状態及びネットワークの状態を含めて計算を行うことである。   Here, each cost is calculated in total. Specifically, the total cost calculation is to include the client state, physical server state, virtual server state, and network state.

より具体的には、例えば、ネットワークが非常に混雑している場合には、新規コネクション開設コストよりも、仮想サーバ間通信コストの方が低い。   More specifically, for example, when the network is very congested, the communication cost between virtual servers is lower than the cost of opening a new connection.

また、例えば、コアにかかる負荷が高くなるほどコストが高くなるような評価式を用い、負荷の低いコアを使うような選択ができるようにする。当該アプリケーションを含むクライアントに含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に既存コネクションがあり、仮想サーバA以外の仮想サーバが複数あるならば、相対的に負荷の低いコアを含む仮想サーバに係る既存コネクションを選択するようにしてもよい。そして、選択された既存コネクションを利用する場合の仮想サーバ間通信コストを、新規コネクション開設コストと比較するようにしてもよい。   Also, for example, an evaluation formula that increases the cost as the load on the core increases can be selected so that a core with a low load can be selected. There is an existing connection between any application included in the client including the application and a virtual server other than the virtual server A that is included in the physical server including the virtual server A, and the virtual server other than the virtual server A If there are a plurality of servers, an existing connection related to a virtual server including a core with a relatively low load may be selected. Then, the communication cost between virtual servers when using the selected existing connection may be compared with the cost of opening a new connection.

また、既存コネクションを選択することとした場合には、よりアクティブに、既存コネクションのネットワーク帯域をネットワーク帯域制御と連携して増やす制御や、既存コネクションのパスをよりホップの少ないネットワークパスに切り替えるような制御を追加してもよい。   In addition, when an existing connection is selected, control to increase the network bandwidth of the existing connection in cooperation with network bandwidth control or switch the path of the existing connection to a network path with fewer hops. Control may be added.

なお、コスト計算をする際には、どれだけリアルタイムな状態を用いるかによって、コスト計算のためのコストが逆にかかってしまい、遅延が生ずる可能性があるので注意が必要である。   It should be noted that when calculating the cost, the cost for the cost calculation may be reversed depending on how much real-time state is used, so that a delay may occur.

図4に第2の実施形態によるサーバ選択部11の動作を説明するためのフローチャートを示す。   FIG. 4 shows a flowchart for explaining the operation of the server selection unit 11 according to the second embodiment.

図3と図4とを比較すると明らかなように、第2の実施形態によるサーバ選択部11の動作は、第1の実施形態によるサーバ選択部11の動作と比較して、ステップS3でNOとなった場合の手順が異なるだけであり、それ以外の手順は同一である。   As is apparent from a comparison between FIG. 3 and FIG. 4, the operation of the server selection unit 11 according to the second embodiment is compared with the operation of the server selection unit 11 according to the first embodiment in step S3. Only the procedure is different, and the other procedures are the same.

ステップS3でNOとなったならば、ステップS7で、新規コネクション開設コストと仮想サーバ間通信コストを計算する。   If NO in step S3, a new connection establishment cost and a virtual server communication cost are calculated in step S7.

次に、新規コネクション開設コストが仮想サーバ間通信コストより高いか否かを判断する(ステップS8)。   Next, it is determined whether the new connection establishment cost is higher than the communication cost between virtual servers (step S8).

新規コネクション開設コストが仮想サーバ間通信コストより高い場合には(ステップS8でYES)、アプリケーション10に、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバに含まれる仮想サーバであって仮想サーバA以外の仮想サーバとの間に確立されている既存コネクションを用いて、仮想サーバAと通信をさせることとする(ステップS6)。   When the new connection establishment cost is higher than the communication cost between virtual servers (YES in step S8), the application 10 is included in any application included in the client 1 including the application 10 and the physical server including the virtual server A. It is assumed that communication is performed with the virtual server A using an existing connection established between the virtual server and a virtual server other than the virtual server A (step S6).

新規コネクション開設コストが仮想サーバ間通信コストより高くない場合には(ステップS8でNO)、アプリケーション10と仮想サーバAとの間に新たなコネクションを開設し、アプリケーション10に、その新たなコネクションを用いて、仮想サーバAと通信をさせることとする(ステップS4)。   When the new connection establishment cost is not higher than the communication cost between virtual servers (NO in step S8), a new connection is established between the application 10 and the virtual server A, and the new connection is used for the application 10. Thus, communication with the virtual server A is performed (step S4).

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段を備えることを特徴とするコネクション選択装置。
(Appendix 1)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A device,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Comprises a means for selecting the first existing connection as a connection for performing the communication.

(付記2)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
(Appendix 2)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A device,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Means for calculating a new connection establishment cost when selecting the new connection as a connection for communication;
If the new connection establishment cost is higher than the communication cost between the virtual servers, means for selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A connection selection device further comprising means for selecting a new connection.

(付記3)
付記2に記載のコネクション選択装置であって、
前記第1の既存コネクションの帯域を増やす制御、そのパスを切り替える制御又はその双方の制御を行う手段を更に備えることを特徴とするコネクション選択装置。
(Appendix 3)
The connection selection device according to attachment 2, wherein
The connection selection apparatus further comprising means for performing control to increase the bandwidth of the first existing connection, control to switch the path, or both.

(付記4)
付記1乃至3の何れか1に記載のコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る仮想サーバとの間に第2の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第2の既存コネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
(Appendix 4)
The connection selection device according to any one of appendices 1 to 3,
When a second existing connection is established between any application included in the certain client and the certain virtual server, the second existing connection is used as a connection for performing the communication. The connection selection device further comprising means for selecting the connection.

(付記5)
付記1乃至4の何れか1に記載のコネクション選択装置であって、
前記或るクライアントと前記或る物理サーバとの間に確立されている既存コネクションがない場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
(Appendix 5)
The connection selection device according to any one of appendices 1 to 4,
If there is no existing connection established between the certain client and the certain physical server, a new connection is established between the certain application and the certain virtual server, and the communication is performed. A connection selection device further comprising means for selecting the new connection as a connection for performing the connection.

(付記6)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップを有することを特徴とするコネクション選択方法。
(Appendix 6)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A method,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Includes a step of selecting the first existing connection as a connection for performing the communication.

(付記7)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算するステップと、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップと、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択するステップを更に有することを特徴とするコネクション選択方法。
(Appendix 7)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A method,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Calculating a new connection establishment cost when selecting the new connection as a connection for communication;
When the new connection establishment cost is higher than the communication cost between the virtual servers, the step of selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A connection selection method further comprising a step of selecting a new connection.

(付記8)
付記7に記載のコネクション選択方法であって、
前記第1の既存コネクションの帯域を増やす制御、そのパスを切り替える制御又はその双方の制御を行うステップを更に有することを特徴とするコネクション選択方法。
(Appendix 8)
The connection selection method according to appendix 7,
The connection selection method further comprising a step of performing control to increase the bandwidth of the first existing connection, control to switch the path, or both.

(付記9)
付記6乃至8の何れか1に記載のコネクション選択方法であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る仮想サーバとの間に第2の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第2の既存コネクションを選択するステップを更に有することを特徴とするコネクション選択方法。
(Appendix 9)
The connection selection method according to any one of appendices 6 to 8, comprising:
When a second existing connection is established between any application included in the certain client and the certain virtual server, the second existing connection is used as a connection for performing the communication. The connection selection method further comprising the step of selecting

(付記10)
付記6乃至9の何れか1に記載のコネクション選択方法であって、
前記或るクライアントと前記或る物理サーバとの間に確立されている既存コネクションがない場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択するステップを更に有することを特徴とするコネクション選択方法。
(Appendix 10)
The connection selection method according to any one of appendices 6 to 9, wherein
If there is no existing connection established between the certain client and the certain physical server, a new connection is established between the certain application and the certain virtual server, and the communication is performed. The connection selection method further comprising the step of selecting the new connection as a connection to be performed.

(付記11)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、
コンピュータを、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段として機能させることを特徴とするコネクション選択プログラム。
(Appendix 11)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A connection selection program for causing a computer to function as a device,
Computer
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Is a connection selection program that functions as means for selecting the first existing connection as a connection for performing the communication.

(付記12)
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、
コンピュータを、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段と、
として機能させることを特徴とするコネクション選択プログラム。
(Appendix 12)
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A connection selection program for causing a computer to function as a device,
Computer
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Means for calculating a new connection establishment cost when selecting the new connection as a connection for communication;
If the new connection establishment cost is higher than the communication cost between the virtual servers, means for selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A means of selecting a new connection;
Connection selection program characterized by functioning as

(付記13)
付記12に記載のコネクション選択プログラムであって、
コンピュータを更に、
前記第1の既存コネクションの帯域を増やす制御、そのパスを切り替える制御又はその双方の制御を行う手段として機能させることを特徴とするコネクション選択プログラム。
(Appendix 13)
The connection selection program according to attachment 12, wherein
Computer
A connection selection program that functions as means for performing control to increase the bandwidth of the first existing connection, control to switch the path, or both.

(付記14)
付記11乃至13の何れか1に記載のコネクション選択プログラムであって、
コンピュータを更に、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る仮想サーバとの間に第2の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第2の既存コネクションを選択する手段として機能させることを特徴とするコネクション選択プログラム。
(Appendix 14)
The connection selection program according to any one of appendices 11 to 13,
Computer
When a second existing connection is established between any application included in the certain client and the certain virtual server, the second existing connection is used as a connection for performing the communication. A connection selection program that functions as a means for selecting a connection.

(付記15)
付記11乃至14の何れか1に記載のコネクション選択プログラムであって、
コンピュータを更に、
前記或るクライアントと前記或る物理サーバとの間に確立されている既存コネクションがない場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段として機能させることを特徴とするコネクション選択プログラム。
(Appendix 15)
The connection selection program according to any one of appendices 11 to 14,
Computer
If there is no existing connection established between the certain client and the certain physical server, a new connection is established between the certain application and the certain virtual server, and the communication is performed. A connection selection program that functions as means for selecting the new connection as a connection for the connection.

本発明を用いれば、これから増えるマルチコア・メニコア環境におけるクライアントサーバ処理において、従来よりも高速で大量の処理が可能となる。   By using the present invention, it becomes possible to perform a large amount of processing at a higher speed than before in client server processing in a multi-core / meni-core environment, which will increase from now on.

1 クライアント
2 物理サーバ
3 仮想サーバ
4 コア
5 メモリ
10 アプリケーション
11 サーバ選択部
12 通信管理部
13 通信処理部
DESCRIPTION OF SYMBOLS 1 Client 2 Physical server 3 Virtual server 4 Core 5 Memory 10 Application 11 Server selection part 12 Communication management part 13 Communication processing part

Claims (9)

或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段を備えることを特徴とするコネクション選択装置。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A device,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Comprises a means for selecting the first existing connection as a connection for performing the communication.
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A device,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Means for calculating a new connection establishment cost when selecting the new connection as a connection for communication;
If the new connection establishment cost is higher than the communication cost between the virtual servers, means for selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A connection selection device further comprising means for selecting a new connection.
請求項2に記載のコネクション選択装置であって、
前記第1の既存コネクションの帯域を増やす制御、そのパスを切り替える制御又はその双方の制御を行う手段を更に備えることを特徴とするコネクション選択装置。
The connection selection device according to claim 2,
The connection selection apparatus further comprising means for performing control to increase the bandwidth of the first existing connection, control to switch the path, or both.
請求項1乃至3の何れか1に記載のコネクション選択装置であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る仮想サーバとの間に第2の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第2の既存コネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
The connection selection device according to any one of claims 1 to 3,
When a second existing connection is established between any application included in the certain client and the certain virtual server, the second existing connection is used as a connection for performing the communication. The connection selection device further comprising means for selecting the connection.
請求項1乃至4の何れか1に記載のコネクション選択装置であって、
前記或るクライアントと前記或る物理サーバとの間に確立されている既存コネクションがない場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。
The connection selection device according to any one of claims 1 to 4, wherein:
If there is no existing connection established between the certain client and the certain physical server, a new connection is established between the certain application and the certain virtual server, and the communication is performed. A connection selection device further comprising means for selecting the new connection as a connection for performing the connection.
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップを有することを特徴とするコネクション選択方法。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A method,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Includes a step of selecting the first existing connection as a connection for performing the communication.
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択方法であって、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算するステップと、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択するステップと、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択するステップを更に有することを特徴とするコネクション選択方法。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A method,
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Calculating a new connection establishment cost when selecting the new connection as a connection for communication;
When the new connection establishment cost is higher than the communication cost between the virtual servers, the step of selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A connection selection method further comprising a step of selecting a new connection.
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、
コンピュータを、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段として機能させることを特徴とするコネクション選択プログラム。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A connection selection program for causing a computer to function as a device,
Computer
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server Is a connection selection program that functions as means for selecting the first existing connection as a connection for performing the communication.
或るクライアントに含まれる或るアプリケーションが或る物理サーバに含まれる或る仮想サーバとの間で通信を開始することとなった場合に、前記通信を行うためのコネクションを選択するためのコネクション選択装置としてコンピュータを機能させるためのコネクション選択プログラムであって、
コンピュータを、
前記或るクライアントに含まれる何れかのアプリケーションと前記或る物理サーバに含まれる仮想サーバであって前記或る仮想サーバ以外の仮想サーバとの間に第1の既存コネクションが確立されている場合に、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する場合の仮想サーバ間通信コストと、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する場合の新規コネクション開設コストとを計算する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コストよりも高い場合には、前記通信を行うためのコネクションとして、前記第1の既存コネクションを選択する手段と、
前記新規コネクション開設コストが前記仮想サーバ間通信コスト以下である場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段と、
として機能させることを特徴とするコネクション選択プログラム。
Connection selection for selecting a connection for performing communication when an application included in a client starts communication with a virtual server included in a physical server A connection selection program for causing a computer to function as a device,
Computer
When a first existing connection is established between any application included in the certain client and a virtual server included in the certain physical server and other than the certain virtual server A communication cost between virtual servers when the first existing connection is selected as a connection for performing the communication, and a new connection is established between the certain application and the certain virtual server, Means for calculating a new connection establishment cost when selecting the new connection as a connection for communication;
If the new connection establishment cost is higher than the communication cost between the virtual servers, means for selecting the first existing connection as a connection for performing the communication;
When the new connection establishment cost is equal to or lower than the communication cost between the virtual servers, a new connection is established between the certain application and the certain virtual server, and the connection is performed as the connection for the communication. A means of selecting a new connection;
Connection selection program characterized by functioning as
JP2011015254A 2011-01-27 2011-01-27 Connection selection device, connection selection method and connection selection program Withdrawn JP2012155602A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011015254A JP2012155602A (en) 2011-01-27 2011-01-27 Connection selection device, connection selection method and connection selection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011015254A JP2012155602A (en) 2011-01-27 2011-01-27 Connection selection device, connection selection method and connection selection program

Publications (1)

Publication Number Publication Date
JP2012155602A true JP2012155602A (en) 2012-08-16

Family

ID=46837246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011015254A Withdrawn JP2012155602A (en) 2011-01-27 2011-01-27 Connection selection device, connection selection method and connection selection program

Country Status (1)

Country Link
JP (1) JP2012155602A (en)

Similar Documents

Publication Publication Date Title
JP6526848B2 (en) Multipath Routing with Distributed Load Balancer
JP6445621B2 (en) Distributed load balancer
US10958717B2 (en) Hardware implemented load balancing
US9372726B2 (en) Gang migration of virtual machines using cluster-wide deduplication
JP6169251B2 (en) Asymmetric packet flow in distributed load balancers
KR101969194B1 (en) Offloading packet processing for networking device virtualization
JP2018088293A (en) Database system providing single tenant environment and a plurality of tenant environments
RU2568292C2 (en) System and method of selecting synchronous or asynchronous interprocess interaction
US20140321462A1 (en) Scalable and efficient flow-aware packet distribution
CN105933408B (en) A kind of implementation method and device of Redis universal middleware
US11178063B2 (en) Remote hardware acceleration
EP2996310A1 (en) Systems and methods for directly responding to distributed network traffic
KR20160087706A (en) Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform
US9621399B1 (en) Distributed caching system
Yildirim et al. End-to-end data-flow parallelism for throughput optimization in high-speed networks
US20170310583A1 (en) Segment routing for load balancing
AU2016201513A1 (en) Low latency fifo messaging system
Meyer et al. Validated model-based performance prediction of multi-core software routers
Cho et al. Dynamic core affinity for high-performance file upload on Hadoop Distributed File System
GB2532732B (en) Integrating a communication bridge into a data procesing system
CN112655185B (en) Apparatus, method and storage medium for service allocation in a software defined network
US20160261526A1 (en) Communication apparatus and processor allocation method for the same
Yang et al. High-performance docker integration scheme based on OpenStack
JP6036848B2 (en) Information processing system
WO2012113224A1 (en) Method and device for selecting in multi-node computer system node where shared memory is established

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140401