JP2012155602A - Connection selection device, connection selection method and connection selection program - Google Patents
Connection selection device, connection selection method and connection selection program Download PDFInfo
- 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
Links
Images
Abstract
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.
前述のように、マルチコアで性能を最大に引き出すためには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.
以下、図面を参照して本発明を実施するための形態について詳細に説明する。 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
図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
本実施形態の特徴はサーバ選択部11にある。まずサーバと通信しようとするアプリケーション10は、通信処理部13にリクエストを出す。通信処理部13はリクエストの転送先となるべき仮想サーバを選択するため、サーバ選択部11に問い合わせを行う。通信処理部13は、サーバ選択部11から回答として得た仮想サーバとの間で、通信管理部12を介して、通信を開始する。
The feature of this embodiment resides in the
一般的なサーバ選択部11として、KVS(Key-Value Storage)のような分散ストレージでコンシステントハッシュのような例がある。コンシステントハッシュはサーバリストをハッシュ空間にハッシュ関数によりばらまき、アクセスするデータのキー(Key)も同様にハッシュ関数を通すことにより、どのサーバがデータを保持しているかをアルゴリズム的に求める手法である。本実施形態はこのようなコンシステントハッシュに加えて、そのクライアントが今どの仮想サーバ、物理サーバとの間で既存コネクションを確立しているのかを情報として用いる。
As a general
本実施形態のサーバ選択部11の動作を説明するためのフローチャートを図3に示す。
FIG. 3 shows a flowchart for explaining the operation of the
通信処理部13からの問い合わせを元に、例えばコンシステントハッシュにより、アプリケーション10の接続先となる仮想サーバとして、仮想サーバAが選択されたとする(ステップS1)。
It is assumed that virtual server A is selected as a virtual server to which the
次に、アプリケーション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
アプリケーション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
アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAを含む物理サーバとの間に既存コネクションがある場合、アプリケーション10を含むクライアント1に含まれる何れかのアプリケーションと仮想サーバAとの間に既存コネクションがあるかをチェックする(ステップS3)。
When there is an existing connection between any application included in the client 1 including the
もし、アプリケーション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
もし、アプリケーション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
[第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
図3と図4とを比較すると明らかなように、第2の実施形態によるサーバ選択部11の動作は、第1の実施形態によるサーバ選択部11の動作と比較して、ステップS3でNOとなった場合の手順が異なるだけであり、それ以外の手順は同一である。
As is apparent from a comparison between FIG. 3 and FIG. 4, the operation of the
ステップ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
新規コネクション開設コストが仮想サーバ間通信コストより高くない場合には(ステップ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
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 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
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
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
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
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.
前記第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.
前記或るクライアントに含まれる何れかのアプリケーションと前記或る仮想サーバとの間に第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.
前記或るクライアントと前記或る物理サーバとの間に確立されている既存コネクションがない場合には、前記或るアプリケーションと前記或る仮想サーバとの間に新たなコネクションを開設し、前記通信をするためのコネクションとして、前記新たなコネクションを選択する手段を更に備えることを特徴とするコネクション選択装置。 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
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) |
-
2011
- 2011-01-27 JP JP2011015254A patent/JP2012155602A/en not_active Withdrawn
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 |