JP2014165743A - Distribution server and program therefor - Google Patents
Distribution server and program therefor Download PDFInfo
- Publication number
- JP2014165743A JP2014165743A JP2013035947A JP2013035947A JP2014165743A JP 2014165743 A JP2014165743 A JP 2014165743A JP 2013035947 A JP2013035947 A JP 2013035947A JP 2013035947 A JP2013035947 A JP 2013035947A JP 2014165743 A JP2014165743 A JP 2014165743A
- Authority
- JP
- Japan
- Prior art keywords
- transport layer
- packet data
- unit
- connection
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、スケールアウト型のネットワークサーバシステムにおける分散処理を効率良く実行する技術に関する。 The present invention relates to a technique for efficiently executing distributed processing in a scale-out type network server system.
近年、通信制御を実行するネットワークサーバシステムについて、Webサーバ等で従来使用されてきたスケールアウト型のシステムを採用するための検討が行われている(非特許文献1参照)。非特許文献1では、コンシステントハッシュ法を用いたスケールアウト型のサーバクラスタ構成法が開示されている。このサーバクラスタ構成法では、サーバクラスタをロードバランサ、振分けサーバ、処理サーバの3要素で構成することによって、サーバの動的な増減設によるシステム構成の柔軟化と、ネットワークサーバシステム(非特許文献1では、セッション制御サーバと記載されている。)としての高い可用性との双方を両立させる技術が開示されている。
In recent years, studies have been conducted on adopting a scale-out type system that has been conventionally used in Web servers and the like for network server systems that execute communication control (see Non-Patent Document 1). Non-Patent
ロードバランサは、任意の振分けサーバに対して、ラウンドロビン等の単純な法則に従ってパケットを振り分ける。振分けサーバは、ロードバランサから受信したパケットのセッションデータ(セッション管理等に用いられるデータ)がどの処理サーバに管理されているかを判別し、当該セッションデータの管理を担当する処理サーバにパケットを転送する。処理サーバは、受信したパケットに応じて信号処理を実行し、その処理結果を応答情報として返信する。 The load balancer distributes packets to an arbitrary distribution server according to a simple rule such as round robin. The distribution server determines to which processing server the session data (data used for session management etc.) of the packet received from the load balancer is managed, and forwards the packet to the processing server in charge of managing the session data . The processing server performs signal processing according to the received packet, and returns the processing result as response information.
非特許文献1では、スケールアウト型のサーバクラスタ構成法を、ネットワークサーバシステムの1つであるSIP(Session Initiation Protocol)サーバに適用した場合について開示している。しかしながら、ネットワークサーバシステムには、様々なサーバ(例えば、セッション制御サーバ、DNS(Domain Name System)サーバ、認証サーバ等)が存在し、それらのプロトコルは多様である。その多様なプロトコル(マルチプロトコル)に対して、分散処理化に伴う処理オーバヘッドや処理遅延の増加を抑制しつつ、容易に対応可能な信号処理技術については開示されていない。
Non-Patent
そこで、本発明は、スケールアウト型のネットワークサーバシステムにおいて、分散処理を効率良く実行し、マルチプロトコルに容易に対応可能な信号処理技術を提供することを課題とする。 Therefore, an object of the present invention is to provide a signal processing technique that can efficiently execute distributed processing and can easily cope with multi-protocols in a scale-out type network server system.
本発明は、受信したパケットの転送先の処理サーバを決定し、前記パケットを前記転送先の処理サーバに送信する1以上の振分けサーバおよび受信した前記パケットの応答情報を生成して返信する複数の前記処理サーバを有するネットワークサーバシステムにおける前記振分けサーバであって、外部コネクションと内部コネクションとを関連付けたコネクション情報が記憶される記憶部と、パケットを受信して、そのパケットデータを記憶する既存の外部コネクションがあるか否かを判定するトランスポート層の外部トランスポート層受信部と、前記外部トランスポート層受信部によって前記既存の外部コネクションがあると判定された場合、前記コネクション情報を参照して、当該既存の外部コネクションに記憶されているパケットデータを当該既存の外部コネクションに関連付けられた内部コネクションに引渡すトランスポート層の振分け先決定部と、前記内部コネクションに引渡された前記パケットデータを、当該内部コネクションに関連付けられた前記転送先の処理サーバに送信するトランスポート層のトランスポート層転送部と、を備えることを特徴とする。 The present invention determines a transfer destination processing server for a received packet, generates at least one distribution server for transmitting the packet to the transfer destination processing server, and generates and returns response information for the received packet. The distribution server in the network server system having the processing server, a storage unit storing connection information in which an external connection and an internal connection are associated with each other, and an existing external device that receives the packet and stores the packet data When it is determined by the external transport layer receiving unit of the transport layer that determines whether there is a connection, and the existing external connection by the external transport layer receiving unit, with reference to the connection information, Packet data stored in the existing external connection A transport layer distribution destination determination unit to be transferred to the internal connection associated with the existing external connection, and the packet data transferred to the internal connection to the transfer destination processing server associated with the internal connection And a transport layer transfer unit of the transport layer.
このような構成によれば、スケールアウト型のネットワークサーバシステムに備わる振分けサーバは、トランスポート層において、受信したパケットを、外部コネクションから転送先の処理サーバに関連付けられた内部コネクションに引渡すこと(すなわち、宛先アドレスやポートを修正すること)によって、転送先を設定し直して転送することができる。つまり、振分けサーバは、プロトコルの違いに依存せずに、転送処理を含む分散処理を効率良く実行することができるので、マルチプロトコルに容易に対応することができる。 According to such a configuration, the distribution server provided in the scale-out type network server system transfers the received packet from the external connection to the internal connection associated with the transfer destination processing server in the transport layer (that is, By modifying the destination address and port), the transfer destination can be reset and transferred. In other words, the distribution server can efficiently execute distributed processing including transfer processing without depending on the difference in protocols, and can easily cope with multi-protocols.
また、本発明の前記振分けサーバは、前記パケットデータの集合を示すパケットデータ群を解析し、転送先の決定に用いるキー情報を抽出するアプリケーション層のキー抽出部、および、前記キー情報から求められる変換値と前記転送先の処理サーバとを関連付けた転送先情報が記憶される記憶部をさらに備え、前記外部トランスポート層受信部が、前記既存の外部コネクションがないと判定した場合、新たに外部コネクションを生成し、前記生成した外部コネクションのバッファに、受信した前記パケットのパケットデータを記憶し、前記振分け先決定部が、前記バッファからパケットデータ群を取り出し、当該パケットデータ群を前記キー抽出部に引渡し、前記キー抽出部から前記キー情報を取得し、前記転送先情報を参照して、前記取得したキー情報から求められる変換値に関連付けられた転送先の処理サーバを決定し、前記生成した外部コネクションと当該転送先の処理サーバに関連付けられている内部コネクションとを関連付けて、当該内部コネクションに当該バッファのパケットデータ群を引渡し、前記トランスポート層転送部が、当該パケットデータ群を当該転送先の処理サーバに転送することを特徴とする。 The distribution server according to the present invention is obtained from the key information of the application layer that analyzes a packet data group indicating the set of packet data and extracts key information used for determining a transfer destination, and the key information. A storage unit that stores transfer destination information that associates a conversion value with the processing server of the transfer destination; and when the external transport layer reception unit determines that there is no existing external connection, a new external Generating a connection, storing the packet data of the received packet in a buffer of the generated external connection, the distribution destination determining unit taking out the packet data group from the buffer, and the packet data group being the key extracting unit The key information is acquired from the key extraction unit, and the transfer destination information is referred to to obtain the key information. Determining a transfer destination processing server associated with the converted value obtained from the key information, and associating the generated external connection with the internal connection associated with the transfer destination processing server, The packet data group of the buffer is delivered, and the transport layer transfer unit transfers the packet data group to the transfer destination processing server.
このような構成によれば、プロトコルの相違に対して処理の異なるアプリケーション層のキー抽出部は、キー情報を抽出する処理だけを実行する。つまり、アプリケーション層では、キー抽出部がキー情報を抽出するだけなので、プロトコルが異なったとしても、ブロトコル処理の処理オーバヘッドやMTU(Maximum Transmission Unit)超過問題は起きない。また、トランスポート層では、抽出されたキー情報に基づいて、パケットデータの転送処理が実行される。したがって、振分けサーバは、分散処理を効率良く実行し、マルチプロトコルに容易に対応することができる。 According to such a configuration, the key extraction unit of the application layer having a different process with respect to the protocol difference executes only the process of extracting the key information. That is, in the application layer, the key extraction unit only extracts the key information, so even if the protocol is different, the processing overhead of the protocol processing and the MTU (Maximum Transmission Unit) excess problem do not occur. In the transport layer, packet data transfer processing is executed based on the extracted key information. Therefore, the distribution server can efficiently execute distributed processing and easily cope with multi-protocols.
なお、プログラムに係る発明については、前記した振分けサーバと同様の技術的特徴を備えており、前記振分けサーバ装置と同様の効果を有しているので、記載を省略する。 Note that the invention relating to the program has the same technical features as the above-described distribution server, and has the same effect as the distribution server device, and thus description thereof is omitted.
本発明によれば、スケールアウト型のネットワークサーバシステムにおいて、分散処理を効率良く実行し、マルチプロトコルに容易に対応可能な信号処理技術を提供することができる。 According to the present invention, in a scale-out type network server system, it is possible to efficiently perform distributed processing and provide a signal processing technique that can easily cope with multi-protocols.
本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。 A mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings as appropriate.
はじめに、スケールアウト型のネットワークサーバシステムの構成例について、図1を用いて説明する。
スケールアウト型のネットワークサーバシステム800は、クライアント装置40からネットワーク50を経由してサービス要求のパケットを受信し、そのサービス要求に対応する応答情報を生成し、ネットワーク50を経由してその応答情報を返信するサービスを提供する機能を有する。
First, a configuration example of a scale-out type network server system will be described with reference to FIG.
The scale-out type network server system 800 receives a service request packet from the
図1では、ネットワークサーバシステム800は、1台のロードバランサ10、複数台の振分けサーバ20、複数台の処理サーバ30を備えている。なお、振分けサーバ20の台数および処理サーバ30の台数は、受信するパケット数の多少に応じて、適宜変更されるものとし、振分けサーバ20は1台であっても構わない。
In FIG. 1, the network server system 800 includes one
ロードバランサ10は、パケットをネットワーク50を介して受信し、任意の振分けサーバ20に対して、ラウンドロビン等の単純な法則に従って当該パケットを振り分ける。
The
振分けサーバ20は、ロードバランサ10から受信したパケットに関するセッションデータ(セッション状態や処理途中の結果等)がどの処理サーバ30に管理されているかを判別し、当該セッションデータの管理を担当する処理サーバ30を転送先として決定し、その転送先の処理サーバ30にパケットを送信する。
The
例えば、振分けサーバ20は、コンシステントハッシュ法を用いてセッションデータ等が管理されている場合、パケットに含まれるキー情報(例えば、SIP(Session Initiation Protocol)ではCall−IDヘッダに記載される情報)から生成されるハッシュ値と、各処理サーバ30に割り当てられたID空間の値とを用いて、パケットの転送先の処理サーバ30を決定する。そして、振分けサーバ20は、決定した転送先の処理サーバ30に、当該パケットを送信する。なお、振分けサーバ20は、処理サーバ30が増減設された場合、その増減設に合わせて処理サーバ30に割り当てるID空間の値を更新する。
For example, when session data or the like is managed using the consistent hash method, the
処理サーバ30は、受信したパケットの信号処理に用いるセッションデータ等を記憶しているので、そのセッションデータ等を用いて当該パケットに対して信号処理を実行し、その処理結果を応答情報として返信する。
Since the
次に、振分けサーバ20の機能例について、図2を用いて説明する。
振分けサーバ20は、アプリケーション部200、API(Application Programming Interface)210、振分け処理部220、クラスタ構成管理部230を備える。
Next, a function example of the
The
アプリケーション部200は、アプリケーション層以上の階層の処理を実行する機能を有し、キー抽出部201を備える。キー抽出部201は、API210を介して振分け処理部220からパケットデータ群を取得し、パケットデータ群を解析して、転送先の決定に用いるキー情報を抽出し、抽出したキー情報をAPI210の戻り値として振分け処理部220に返信する機能を有する。ここで、パケットデータ群とは、1つの送信データのサイズが大きいために、断片化されて複数のパケットで送信された場合を考慮して、元の送信データを復元可能なパケットデータの集合のことを意味している。つまり、本実施形態では、パケットデータ群と記載している場合には、1つ以上のパケットのパケットデータを指している。それに対して、パケットデータと記載している場合には、1つのパケットのパケットデータを意味している。
The application unit 200 has a function of executing processing at a level higher than the application layer, and includes a
API210は、振分け処理部220からパケットデータ群を引数で受け取り、キー抽出部201の抽出したキー情報を戻し値として返す機能を有している。当該API210は、Java(登録商標)で表現した場合には、例えば、下記のように表される。
String getKey(Array<byte[]> packets);
The
String getKey (Array <byte []>packets);
振分け処理部220は、振分け先決定部221、外部トランスポート層受信部222、トランスポート層転送部224を備える。なお、クライアント装置40からパケットを受信するのは外部トランスポート層受信部222であり、クラスタ内の処理サーバ30にパケットを送信するのはトランスポート層転送部224である。
The distribution processing unit 220 includes a distribution destination determination unit 221, an external transport
外部トランスポート層受信部222は、外部コネクション223を制御する機能を有する。具体的には、外部トランスポート層受信部222は、クライアント装置40からパケットを受信し、新規の外部コネクション223へのパケットか否かを判定する機能を有する。新規である場合、外部トランスポート層受信部222は、新たに外部コネクション223を生成する。新規でない場合(つまり、既設の場合)、外部トランスポート層受信部222は、既設の外部コネクション223にパケットデータを記憶し、外部コネクション223を振分け先決定部221に引渡す。なお、引渡すとは、プログラムの引数のように扱うことを意味している。具体的には、外部トランスポート層受信部222は、外部コネクション223に記憶されているパケットデータを振分け先決定部221に引渡す。
The external transport
ここで、外部コネクション223は、クライアント装置40とのトランスポート層プロトコルレベルのコネクション状態を表している。また、内部コネクション225は、処理サーバ30とのトランスポート層プロトコルレベルのコネクション状態を表している。外部トランスポート層受信部222およびトランスポート層転送部224は、例えば、TCP(Transmission Control Protocol)の場合には、対向システムとの接続状態情報やアドレス/ポート情報等を管理している。それに対して、外部トランスポート層受信部222およびトランスポート層転送部224は、UDP(User Datagram Protocol)の場合には、コネクションレスプロトコルであるため、対向システムとの接続状態情報は管理しない。
Here, the
振分け先決定部221は、外部トランスポート層受信部222から外部コネクション223のパケットデータ群を取得したとき、その外部コネクション223のパケットデータ群をAPI210を介してキー抽出部201へ引き渡す機能を有する。そして、振分け先決定部221は、API210を介してキー抽出部201から抽出されたキー情報を受信し、クラスタ構成管理部230によって管理されている転送先情報231(例えば、コンシステントハッシュ法におけるID空間に相当)を参照して、転送先の処理サーバ30に関連付けられた内部コネクション225を決定する機能を有する。つまり、振分け先決定部221は、外部コネクション223と内部コネクション225との関連付け(すなわち、宛先アドレスやポートの修正)を行う機能を有している。また、振分け先決定部221は、関連付けが既に出来ている既設の外部コネクション223から内部コネクション225へパケットデータを引渡す機能を有する。
The distribution destination determination unit 221 has a function of delivering the packet data group of the
トランスポート層転送部224は、クラスタ内の処理サーバ30に関連付けられた内部コネクション225を制御する機能を有する。また、トランスポート層転送部224は、内部コネクション225に引渡されたパケットデータを転送先の処理サーバ30に送信する機能を有する。
The transport
クラスタ構成管理部230は、クラスタ内の処理サーバ30の構成に増減設が発生した場合、増減設後(変更後)の構成に対応するように転送先情報231を更新する機能を有する。転送先情報231には、キー情報から求められる変換値とその変換値に関連付けられている処理サーバ30との関係が記憶される。具体例として、コンシステントハッシュ法の場合であれば、転送先情報231はID空間に相当する。
The cluster configuration management unit 230 has a function of updating the transfer destination information 231 so as to correspond to the configuration after the increase / decrease (after change) when the increase / decrease occurs in the configuration of the
ここで、振分けサーバ20の処理フロー例について、図3を用いて説明する(適宜、図2参照)。図3中で、破線の矩形で表示した箇所は、アプリケーション部200で処理する箇所であることを示している。
Here, an example of the processing flow of the
ステップS301では、外部トランスポート層受信部222は、パケットを受信する。
In step S301, the external transport
ステップS302では、外部トランスポート層受信部222は、受信したパケットが、既存の外部コネクション223へのパケットか否かを判定する。この判定には、例えば、パケットのヘッダに含まれる宛先アドレス、ポート番号、フラグメンテーション等の情報が用いられる。受信したパケットのパケットデータは、そのパケットのヘッダに含まれる前記情報に関連付けられた外部コネクション223に記憶される。なお、外部トランスポート層受信部222によって新しく生成される新規の外部コネクション223は、後記するステップS306において生成され、生成後は既存の外部コネクション223として扱われる。
In step S <b> 302, the external transport
既存の外部コネクション223へのパケットであると判定した場合(ステップS302でYes)、処理はステップS303へ進み、既存の外部コネクション223へのパケットでないと判定した場合(ステップS302でNo)、処理はステップS306へ進む。 If it is determined that the packet is for the existing external connection 223 (Yes in step S302), the process proceeds to step S303. If it is determined that the packet is not for the existing external connection 223 (No in step S302), the process is as follows. Proceed to step S306.
ステップS303では、振分け先決定部221は、外部コネクション223が既に内部コネクション225に関連付けられているか否かを判定する。なお、振分け先決定部221は、外部コネクション223と内部コネクション225とを関連付けた情報を示すコネクション情報226を不図示の記憶部に記憶しており、コネクション情報226を参照して、ステップS303の判定を実行する。
内部コネクション225に関連付けられていると判定した場合(ステップS303でYes)、処理はステップS304へ進み、内部コネクション225に関連付けられていないと判定した場合(ステップS303でNo)、処理はステップS307へ進む。
In step S <b> 303, the distribution destination determination unit 221 determines whether the
If it is determined that it is associated with the internal connection 225 (Yes in step S303), the process proceeds to step S304. If it is determined that it is not associated with the internal connection 225 (No in step S303), the process proceeds to step S307. move on.
ステップS304では、振分け先決定部221は、コネクション情報226を参照して、パケットデータを外部コネクション223から内部コネクション225に引渡す。
ステップS305では、トランスポート層転送部224は、内部コネクション225に引き渡されたパケットデータを、当該内部コネクション225に関連付けられている転送先の処理サーバ30に送信する。
In step S <b> 304, the distribution destination determination unit 221 refers to the connection information 226 and delivers the packet data from the
In step S <b> 305, the transport
ステップS306では、外部トランスポート層受信部222は、新たに外部コネクション223を生成する。
ステップS307では、外部トランスポート層受信部222は、外部コネクション223の不図示のバッファにパケットデータ群を記憶する。
In step S306, the external transport
In step S307, the external transport
ステップS308では、アプリケーション部200のキー抽出部201は、キー情報の抽出処理を実行する。
具体的には、まず、外部トランスポート層受信部222は、振分け先決定部221に外部コネクション223を引渡す。振分け先決定部221は、外部コネクション223を取得し、API210を介して、アプリケーション部200のキー抽出部201にパケットデータ群を引渡す。このとき、振分けサーバ20においては、アプリケーション層のアプリケーション部200とトランスポート層の振分け処理部220との境界にAPI210を規定して、そのAPI210によってパケットデータ群が引渡される。
In step S308, the
Specifically, first, the external transport
次に、キー抽出部201は、受信したパケットデータ群を解析し、転送先の決定に用いるキー情報をAPI210を介して振分け先決定部221に返す処理を実行する。なお、キー抽出部201は、受信したパケットデータにキー情報が含まれていない場合、後続のパケットデータを受信するために戻り値としてnullを返す。このキー情報抽出処理において、アプリケーション層のアプリケーション部200(キー抽出部201)は、クラスタの構成等を意識する必要はない。
Next, the
ステップS309では、振分け先決定部221は、キー情報が抽出されたか否かを判定する。具体的には、振分け先決定部221は、アプリケーション部200からAPI210の戻り値としてキー情報が返ってきたか否かを判定する。つまり、振分け先決定部221は、キー情報が返ってきたと判定した場合には、キー情報が抽出されたと判定する。
キー情報が抽出されたと判定した場合(ステップS309でYes)、処理はステップS310へ進み、キー情報が抽出されていないと判定した場合(ステップS309でNo)、処理は終了する。
In step S309, the distribution destination determination unit 221 determines whether key information has been extracted. Specifically, the distribution destination determination unit 221 determines whether key information has been returned from the application unit 200 as a return value of the
If it is determined that the key information has been extracted (Yes in step S309), the process proceeds to step S310. If it is determined that the key information has not been extracted (No in step S309), the process ends.
ステップS310では、振分け先決定部221は、クラスタ構成管理部230によって管理されている転送先情報231を参照して、返ってきたキー情報から求められる変換値に関連付けられた転送先の処理サーバ30を決定する(図3中では、「転送先を決定」)。例えば、コンシステントハッシュ法が用いられている場合、振分け先決定部221は、転送先情報231に相当するID空間を参照して、返ってきたキー情報のハッシュ値(前記変換値に相当)に対応する転送先の処理サーバ30を決定する。
In step S310, the distribution destination determination unit 221 refers to the transfer destination information 231 managed by the cluster configuration management unit 230, and the transfer
ステップS311では、振分け先決定部221は、転送先の処理サーバ30に関連付けられている内部コネクション225を取得し、取得した内部コネクション225と外部コネクション223との関連付けを実行する。その関連付けされた関係は、振分け先決定部221によって、コネクション情報226に記憶される。
In step S311, the distribution destination determination unit 221 acquires the
ステップS312では、振分け先決定部221は、コネクション情報226を参照して、パケットデータ群を外部コネクション223のバッファから内部コネクション225に引渡す。
ステップS313では、トランスポート層転送部224は、内部コネクション225に引き渡されたパケットデータ群を処理サーバ30に送信する。
In step S312, the distribution destination determination unit 221 refers to the connection information 226 and delivers the packet data group from the buffer of the
In step S <b> 313, the transport
なお、振分けサーバ20では、一度関連付けられた外部コネクションと内部コネクションとの間のパケットデータの引渡しは、コネクション情報226に基づいて実行されるため、後続のパケット処理にアプリケーション部200が介在することはない。つまり、振分けサーバ20は、転送先を決定するために必要なキー情報の抽出のみをアプリケーション層のアプリケーション部200で実行する。また、パケットデータの転送は、振分け先決定部221によってトランスポート層の転送処理(宛先アドレスやポートの修正)として実行される。
In the
したがって、本実施形態の振分けサーバ20は、振分け処理すべてをアプリケーション層のアプリケーション部200によって実行した場合に比較して、アプリケーション層プロトコル処理に伴う処理オーバヘッドや、ヘッダ追加に伴うMTU超過等は発生しない。また、SIPによるパケット送信がUDPで実行される時において、処理サーバ30からクライアント装置40へ応答情報を送信する場合には、振分けサーバ20を経由する必要がなく、応答時間を短縮することが可能になる。
Therefore, the
次に、処理サーバ30の機能例について、図4を用いて説明する。
処理サーバ30は、アプリケーション部300、第1のAPI310、第2のAPI311、プロトコル処理部320、分散データ管理部330を備える。
Next, a function example of the
The
アプリケーション部300は、アプリケーション層以上の階層の処理を実行する機能を有し、キー抽出部301および信号処理部302を備える。キー抽出部201は、第1のAPI310を介して、アプリケーション駆動部321からパケットデータ群を取得し、パケットデータ群に含まれているキー情報を抽出し、抽出したキー情報をアプリケーション駆動部321に返信する機能を有する。信号処理部302は、アプリケーション駆動部321および第2のAPI311を介して、内部コネクション323のパケットデータ群を取得して、アプリケーション層プロトコルによる信号処理を実行する機能を有する。
The application unit 300 has a function of executing processing at a level higher than the application layer, and includes a
第1のAPI310は、プロトコル処理部320から内部コネクション323をキー抽出部301に引渡し、キー抽出部301の抽出したキー情報を戻し値として返す機能を有している。つまり、第1のAIP310は、前記したAPI210(図2参照)と同様の入出力形式を備えている。
また、第2のAPI311は、アプリケーション駆動部321から内部コネクション323を信号処理部302に引渡し、信号処理結果を応答情報として返す機能を有している。
The
The second API 311 has a function of delivering the
プロトコル処理部320は、アプリケーション駆動部321および内部トランスポート層受信部322を備える。アプリケーション駆動部321は、内部コネクション323のバッファに記憶されたパケットデータ群を第1のAPI310を介してキー抽出部301に引渡し、キー情報を戻り値として受信する機能を有する。また、アプリケーション駆動部321は、戻り値のキー情報に関連付けられたセッションデータをデータ記憶部331から取得し、内部コネクション323と関連付ける機能を有する。そして、アプリケーション駆動部321は、内部コネクション323と当該セッションデータとを、第2のAPI311を介して、信号処理部302に引渡し、応答情報を受信する機能を有する。
The protocol processing unit 320 includes an
内部トランスポート層受信部322は、振分けサーバ20から送信されてくるパケットデータを受信し、新規のコネクション323へのパケットか否かを判定する機能を有する。次に、内部トランスポート層受信部322は、新規であると判定した場合、新たに内部コネクション323を生成する。そして、内部トランスポート層受信部322は、受信したパケットデータを内部コネクション323の不図示のバッファに記憶し、その内部コネクション323をアプリケーション駆動部321に引渡す機能を有する。
The internal transport
分散データ管理部330は、キー情報に関連付けられたセッションデータが記憶されるデータ記憶部331の情報を更新する機能を有する。データ記憶部331には、セッションの状態や処理途中の結果等を示すセッションデータ、内部コネクション323およびキー情報が関連付けて記憶されている。なお、図4中に示すデータA、データBは、セッションデータを表している。データ記憶部331に記憶されている各データは、アプリケーション駆動部321によって、内部コネクション323に関連付けられる。
The distributed data management unit 330 has a function of updating information in the data storage unit 331 in which session data associated with key information is stored. The data storage unit 331 stores session data indicating the session status, results during processing, the
ここで、処理サーバ30の処理フロー例について、図5を用いて説明する(適宜、図4参照)。図5中で、破線の矩形で表示した箇所は、アプリケーション部300で処理する箇所であることを示している。
Here, a processing flow example of the
ステップS501では、内部トランスポート層受信部322は、振分けサーバ20からパケットを受信する。
In step S <b> 501, the internal transport
ステップS502では、内部トランスポート層受信部322は、既存の内部コネクション323へのパケットか否かを判定する。
既存の内部コネクション323へのパケットであると判定した場合(ステップS502でYes)、処理はステップS504へ進み、既存の内部コネクション323へのパケットでないと判定した場合(ステップS502でNo)、処理はステップS503へ進む。
In step S <b> 502, the internal transport
If it is determined that the packet is for the existing internal connection 323 (Yes in step S502), the process proceeds to step S504. If it is determined that the packet is not for the existing internal connection 323 (No in step S502), the process is as follows. It progresses to step S503.
ステップS503では、内部トランスポート層受信部322は、新たに内部コネクション323を生成する。
ステップS504では、内部トランスポート層受信部322は、内部コネクション323の不図示のバッファにパケットデータ群を記憶する。そして、内部トランスポート層受信部322は、内部コネクション323をアプリケーション駆動部321に引渡す。
In step S503, the internal transport
In step S <b> 504, the internal transport
ステップS505では、アプリケーション駆動部321は、分散データ管理部330によって管理されているデータ記憶部331を参照して、内部コネクション323にセッションデータが関連付けられているか否かを判定する。
セッションデータが関連付けられていると判定した場合(ステップS505でYes)、処理はステップS509へ進み、セッションデータが関連付けられていないと判定した場合(ステップS505でNo)、処理はステップS506へ進む。
In step S <b> 505, the
If it is determined that session data is associated (Yes in step S505), the process proceeds to step S509. If it is determined that session data is not associated (No in step S505), the process proceeds to step S506.
ステップS506では、キー抽出部301は、キー情報の抽出処理を実行する。具体的には、まず、アプリケーション駆動部321が、キー抽出部301に、第1のAPI310を介して、パケットデータ群を引渡す。そして、キー抽出部301が、キー情報の抽出処理を実行し、キー情報を抽出した場合、戻り値としてキー情報を、第1のAPI310を介してアプリケーション駆動部321に戻す。
In step S506, the
ステップS507では、アプリケーション駆動部321は、キー情報が抽出されたか否かを判定する。
キー情報が抽出されたと判定した場合(ステップS507でYes)、処理はステップS508へ進み、キー情報が抽出されていないと判定した場合(ステップS507でNo)、処理はステップS510へ進む。
In step S507, the
If it is determined that key information has been extracted (Yes in step S507), the process proceeds to step S508. If it is determined that key information has not been extracted (No in step S507), the process proceeds to step S510.
ステップS508では、アプリケーション駆動部321は、データ記憶部331を参照して、キー情報に関連付けられたセションデータを取得し、セッションデータが無い場合はセッションデータを新規に作成する。
In step S508, the
ステップS509では、アプリケーション駆動部321は、内部コネクション323と前記ステップS508で取得したセッションデータとを第2のAPI311を介して、信号処理部302に引渡す。
In step S509, the
ステップS510では、アプリケーション駆動部321は、内部コネクション323を第2のAPI311を介して、信号処理部302に引渡す。
In step S <b> 510, the
ステップS511では、信号処理部302は、信号処理を実行する。そして、信号処理部302は、信号処理によって、応答情報を生成する。
In step S511, the
なお、内部コネクション323は、対向システム(例えば、クライアント装置40)に対して応答情報のパケットを送信する機能(例えば、送信先のアドレスやポート番号等を用いて送信する機能)を有している。アプリケーション層のアプリケーション部300の信号処理部302は、第2のAPI311を介して内部コネクション323やセッションデータを取得して、信号処理を実行し、その結果をアプリケーション駆動部321に引渡すだけでよい。つまり、アプリケーション層のアプリケーション部300は、転送処理やクラスタ構造に係わる必要はない。そして、応答情報は、TCPの場合には、確立されたコネクションの経路通りに振分けサーバ20を経由して、対向システムに送信される。また、応答情報は、コネクションレスのUDPの場合には、振分けサーバ20を迂回してロードバランサ10を介して対向システムに送信される。したがって、UDPの場合には、応答時間が短縮される可能性がある。
The
ここで、振分けサーバ20および処理サーバ30の機能例をソフトウェア構造で表した場合について、図6を用いて説明する(適宜、図2,4参照)。
Here, a case where the function examples of the
図6(a)は、図2に示す振分けサーバ20の機能例を、ソフトウェア構造で表現した場合を示している。振分けサーバ20は、アプリケーション層プロトコル処理部600、API610、トランスポート層プロトコル処理部620およびクラスタ構成管理部630で構成される。
FIG. 6A shows a case where the function example of the
アプリケーション層プロトコル処理部600は、図2に示すアプリケーション部200と同様の機能を有しており、キー情報の抽出処理を実行する。
API610は、図2に示すAPI210と同様の機能を有し、パケットデータ群をトランスポート層プロトコル処理部620からアプリケーション層プロトコル処理部600に引渡し、アプリケーション層プロトコル処理部600が抽出したキー情報をトランスポート層プロトコル処理部620に戻す。
The application layer
The
トランスポート層プロトコル処理部620は、図2に示す振分け処理部220と同様の機能を有し、転送先を決定し、トランスポート層の転送処理(宛先アドレスやポートの修正)を実行して、転送先の処理サーバ30にパケットを送信する。
クラスタ構成管理部630は、図2に示すクラスタ構成管理部230と同様の機能を有し、クラスタ内の処理サーバ30の構成に増減設が発生した場合、増減設後(変更後)の構成に対応するように、キー情報から求められる変換値とその変換値に関連付けられている転送先の処理サーバ30との関係を更新する。
The transport layer
The cluster
このような構成を採ることにより、アプリケーション層プロトコル処理部600は、API610によってトランスポート層プロトコル処理部620およびクラスタ構成管理部630と分割されるので、アプリケーション層以上の処理(キー抽出処理)だけを実行すればよい。したがって、アプリケーション層プロトコル処理部600は、振分けサーバ20の振分け処理すべてをアプリケーション層の処理で実行した場合に比較して、様々なプロトコル(マルチプロトコル)への対応が簡単になる。
By adopting such a configuration, the application layer
同様に、図6(b)は、図4に示す処理サーバ30の機能例を、ソフトウェア構造で表現した場合を示している。処理サーバ30は、アプリケーション層プロトコル処理部700、API710、トランスポート層プロトコル処理部720および分散データ管理部730で構成される。
Similarly, FIG. 6B shows a case where the function example of the
アプリケーション層プロトコル処理部700は、図4に示すアプリケーション部300と同様の機能を有しており、キー情報の抽出処理や応答情報を生成するための信号処理を実行する。
API710は、図4に示す第1のAPI310および第2のAPI311と同様の機能を表したものである。API710は、パケットデータ群やセッションデータをトランスポート層プロトコル処理部720からアプリケーション層プロトコル処理部700に引渡し、キー情報や応答情報をトランスポート層プロトコル処理部720に戻す。
The application layer
The
トランスポート層プロトコル処理部720は、図4に示すプロトコル処理部320と同様の機能を有し、アプリケーション層プロトコル処理部700から取得した応答情報を対向システムに返信する。
分散データ管理部730は、図4に示す分散データ管理部330と同様の機能を有し、クラスタ内の処理サーバ30の構成に増減設が発生した場合、増減設後(変更後)の構成に対応するようにセッションデータのデータを更新する。
The transport layer
The distributed
このような構成を採ることにより、アプリケーション層プロトコル処理部700は、API710によってトランスポート層プロトコル処理部720および分散データ管理部730と分割されるので、アプリケーション層以上の処理(キー抽出処理および信号処理)だけを実行すればよい。したがって、アプリケーション層プロトコル処理部700は、振分けサーバ20の振分け処理すべてをアプリケーション層の処理で実行した場合に比較して、様々なプロトコル(マルチプロトコル)への対応が簡単になる。
By adopting such a configuration, the application layer
ここで、ネットワークサーバシステム800の扱うプロトコルの種類が異なることによって、セッションデータおよびキー情報が異なることを示す一例について、図7を用いて説明する。
図7に示すように、ネットワークサーバシステム800の種別が「SIP(プロキシ)サーバ」の場合、セッションデータが「SIPセッション状態」であり、キー情報が「Call−IDヘッダの値」となる。
また、ネットワークサーバシステム800の種別が「SIP(B2BUA)サーバ」の場合、セッションデータが「B2BUAセッション状態」であり、キー情報が「RouteヘッダやViaヘッダにパラメータ設定されたセッションID」となる。ここで、B2BUAとは、Back-To-Back User Agentの略である。
Here, an example showing that the session data and the key information differ depending on the type of protocol handled by the network server system 800 will be described with reference to FIG.
As shown in FIG. 7, when the type of the network server system 800 is “SIP (proxy) server”, the session data is “SIP session state” and the key information is “value of Call-ID header”.
When the type of the network server system 800 is “SIP (B2BUA) server”, the session data is “B2BUA session state”, and the key information is “session ID set as a parameter in the Route header or Via header”. Here, B2BUA is an abbreviation for Back-To-Back User Agent.
また、ネットワークサーバシステム800の種別が「Webアプリケーションサーバ」の場合、セッションデータが「HTTPセッション状態」であり、キー情報が「Cookieに設定されるセッションID」となる。ここで、HTTPは、Hypertext Transfer Protocolの略である。
また、ネットワークサーバシステム800の種別が「XCAPサーバ」の場合、セッションデータが「XMLドキュメント」であり、キー情報が「HTTPのリクエスト行に設定されるドキュメントセレクタ」となる。ここで、XCAPおよびXMLとは、それぞれXML Configuration Access ProtocolおよびExtensible Markup Languageの略である。
When the type of the network server system 800 is “Web application server”, the session data is “HTTP session state”, and the key information is “session ID set in Cookie”. Here, HTTP is an abbreviation for Hypertext Transfer Protocol.
Further, when the type of the network server system 800 is “XCAP server”, the session data is “XML document” and the key information is “document selector set in the HTTP request line”. Here, XCAP and XML are abbreviations for XML Configuration Access Protocol and Extensible Markup Language, respectively.
図7に示すように、ネットワークサーバシステム800の種別が異なると、セッションデータもキー情報も異なる。しかし、アプリケーション層プロトコル処理部600(700)は、キー情報(キー情報および応答情報)だけに対応するソフトウェアを作成すれば良いので、マルチプロトコルにも容易に対応することができる。 As shown in FIG. 7, when the type of the network server system 800 is different, the session data and the key information are also different. However, since the application layer protocol processing unit 600 (700) only needs to create software corresponding to only the key information (key information and response information), it can easily cope with multi-protocols.
以上、本実施形態のスケールアウト型のネットワークサーバシステム800の振分けサーバ20では、トランスポート層において、まず、外部トランスポート層受信部222が、パケットを受信して、そのパケットデータを記憶する既存の外部コネクション223があるか否かを判定する。次に、振分け先決定部221が、外部コネクション223と内部コネクション225とを関連付けたコネクション情報226を参照して、既存の外部コネクション223に関連付けられた内部コネクション225を取得し、当該既存の外部コネクション223に記憶されているパケットデータを当該内部コネクション225に引渡す。そして、トランスポート層転送部224が、内部コネクション225に引渡されたパケットデータを、当該内部コネクション225に関連付けられた転送先の処理サーバ30に送信する。
As described above, in the
また、振分けサーバ20は、パケットデータの集合を示すパケットデータ群を解析し、転送先の決定に用いるキー情報を抽出するアプリケーション層のキー抽出部201、および、キー情報から求められる変換値と転送先の処理サーバとを関連付けた転送先情報231を備えている。そして、外部トランスポート層受信部222が、既存の外部コネクション223がないと判定した場合、新たに外部コネクション223を生成し、生成した外部コネクション223のバッファに、受信したパケットのパケットデータを記憶する。次に、振分け先決定部221が、バッファからパケットデータ群を取り出し、当該パケットデータ群をキー抽出部201に引渡し、キー抽出部201からキー情報を取得し、転送先情報231を参照して、取得したキー情報から求められる変換値に関連付けられた転送先の処理サーバ30を決定し、生成した外部コネクション223と当該転送先の処理サーバ30に関連付けられている内部コネクション225とを関連付けて、当該内部コネクション225に当該バッファのパケットデータ群を引渡す。そして、トランスポート層転送部224が、当該パケットデータ群を当該転送先の処理サーバ30に転送する。
したがって、スケールアウト型のネットワークサーバシステム800において、分散処理を効率良く実行し、マルチプロトコルに容易に対応可能な信号処理技術を提供することができる。
In addition, the
Therefore, in the scale-out type network server system 800, it is possible to efficiently perform distributed processing and provide a signal processing technique that can easily cope with multi-protocols.
10 ロードバランサ
20 振分けサーバ
30 処理サーバ
40 クライアント装置
200 アプリケーション部
201 キー抽出部
210 API
220 振分け処理部
221 振分け先決定部
222 外部トランスポート層受信部
223 外部コネクション
224 トランスポート層転送部
225 内部コネクジョン
226 コネクション情報
230 クラスタ構成管理部
231 転送先情報
300 アプリケーション部
301 キー抽出部
302 信号処理部
310 第1のAPI
311 第2のAPI
320 プロトコル処理部
321 アプリケーション駆動部
322 内部トランスポート層受信部
323 内部コネクション
330 分散データ管理部
331 データ記憶部
600,700 アプリケーション層プロトコル処理部
610,710 API
620,720 トランスポート層プロトコル処理部
630 クラスタ構成管理部
730 分散データ管理部
800 ネットワークサーバシステム
DESCRIPTION OF
220 distribution processing unit 221 distribution
311 Second API
320
620, 720 Transport layer
Claims (4)
外部コネクションと内部コネクションとを関連付けたコネクション情報が記憶される記憶部と、
パケットを受信して、そのパケットデータを記憶する既存の外部コネクションがあるか否かを判定するトランスポート層の外部トランスポート層受信部と、
前記外部トランスポート層受信部によって前記既存の外部コネクションがあると判定された場合、前記コネクション情報を参照して、当該既存の外部コネクションに記憶されているパケットデータを当該既存の外部コネクションに関連付けられた内部コネクションに引渡すトランスポート層の振分け先決定部と、
前記内部コネクションに引渡された前記パケットデータを、当該内部コネクションに関連付けられた前記転送先の処理サーバに送信するトランスポート層のトランスポート層転送部と、
を備えることを特徴とする振分けサーバ。 One or more distribution servers for determining a transfer destination processing server for the received packet, transmitting the packet to the transfer destination processing server, and a plurality of the processing servers for generating response information of the received packet and returning the response information The distribution server in a network server system having:
A storage unit for storing connection information in which an external connection and an internal connection are associated;
An external transport layer receiver of the transport layer that receives the packet and determines whether there is an existing external connection that stores the packet data;
When the external transport layer receiving unit determines that there is the existing external connection, the packet data stored in the existing external connection is associated with the existing external connection with reference to the connection information. A transport layer distribution destination determination unit that delivers to the internal connection,
A transport layer transport unit of a transport layer that transmits the packet data delivered to the internal connection to the transfer destination processing server associated with the internal connection;
A distribution server comprising:
前記外部トランスポート層受信部は、前記既存の外部コネクションがないと判定した場合、新たに外部コネクションを生成し、前記生成した外部コネクションのバッファに、受信した前記パケットのパケットデータを記憶し、
前記振分け先決定部は、前記バッファからパケットデータ群を取り出し、当該パケットデータ群を前記キー抽出部に引渡し、前記キー抽出部から前記キー情報を取得し、前記転送先情報を参照して、前記取得したキー情報から求められる変換値に関連付けられた転送先の処理サーバを決定し、前記生成した外部コネクションと当該転送先の処理サーバに関連付けられている内部コネクションとを関連付けて、当該内部コネクションに当該バッファのパケットデータ群を引渡し、
前記トランスポート層転送部は、当該パケットデータ群を当該転送先の処理サーバに転送する
ことを特徴とする請求項1に記載の振分けサーバ。 The distribution server analyzes a packet data group indicating the set of packet data and extracts key information used to determine a transfer destination, a key extraction unit of an application layer, and a conversion value obtained from the key information and the transfer A storage unit for storing transfer destination information associated with a previous processing server;
When the external transport layer receiving unit determines that there is no existing external connection, it newly generates an external connection, and stores the packet data of the received packet in the buffer of the generated external connection,
The distribution destination determination unit takes out a packet data group from the buffer, passes the packet data group to the key extraction unit, acquires the key information from the key extraction unit, refers to the transfer destination information, and A transfer destination processing server associated with the conversion value obtained from the acquired key information is determined, and the generated external connection is associated with the internal connection associated with the transfer destination processing server. Deliver the packet data group of the buffer,
The distribution server according to claim 1, wherein the transport layer transfer unit transfers the packet data group to the transfer destination processing server.
前記振分けサーバに、
パケットを受信して、そのパケットデータを記憶する既存の外部コネクションがあるか否かを判定するトランスポート層の外部トランスポート層受信手順と、
前記外部トランスポート層受信手順において前記既存の外部コネクションがあると判定された場合、前記コネクション情報を参照して、当該既存の外部コネクションに記憶されているパケットデータを当該既存の外部コネクションに関連付けられた内部コネクションに引渡すトランスポート層の振分け先決定手順と、
前記内部コネクションに引渡された前記パケットデータを、当該内部コネクションに関連付けられた前記転送先の処理サーバに送信するトランスポート層のトランスポート層転送手順と、
を実行させるためのプログラム。 One or more distribution servers for determining a transfer destination processing server for the received packet, transmitting the packet to the transfer destination processing server, and a plurality of the processing servers for generating response information of the received packet and returning the response information The distribution server in the network server system includes a storage unit that stores connection information in which an external connection and an internal connection are associated with each other.
In the distribution server,
An external transport layer reception procedure of the transport layer that receives the packet and determines whether there is an existing external connection that stores the packet data;
When it is determined in the external transport layer reception procedure that the existing external connection exists, the packet information stored in the existing external connection is associated with the existing external connection with reference to the connection information. The transport layer distribution destination decision procedure to be delivered to the internal connection,
A transport layer transfer procedure of a transport layer for transmitting the packet data delivered to the internal connection to the processing server of the transfer destination associated with the internal connection;
A program for running
前記振分けサーバに、
前記外部トランスポート層受信手順において前記既存の外部コネクションがないと判定した場合、新たに外部コネクションを生成し、前記生成した外部コネクションのバッファに、受信した前記パケットのパケットデータを記憶させ、
前記振分け先決定手順において、前記バッファからパケットデータ群を取り出し、当該パケットデータ群を前記キー抽出部に引渡し、前記キー抽出部から前記キー情報を取得し、前記転送先情報を参照して、前記取得したキー情報から求められる変換値に関連付けられた転送先の処理サーバを決定し、前記生成した外部コネクションと当該転送先の処理サーバに関連付けられている内部コネクションとを関連付けて、当該内部コネクションに当該バッファのパケットデータ群を引渡させ、
前記トランスポート層転送手順において、当該パケットデータ群を当該転送先の処理サーバに転送させる
ことを実行するための請求項3に記載のプログラム。 The distribution server analyzes a packet data group indicating the set of packet data and extracts key information used to determine a transfer destination, a key extraction unit of an application layer, and a conversion value obtained from the key information and the transfer A storage unit for storing transfer destination information associated with a previous processing server;
In the distribution server,
When it is determined in the external transport layer reception procedure that there is no existing external connection, a new external connection is generated, and the packet data of the received packet is stored in the generated external connection buffer.
In the distribution destination determination procedure, a packet data group is extracted from the buffer, the packet data group is transferred to the key extraction unit, the key information is acquired from the key extraction unit, and the transfer destination information is referred to, A transfer destination processing server associated with the conversion value obtained from the acquired key information is determined, and the generated external connection is associated with the internal connection associated with the transfer destination processing server. Deliver the packet data group of the buffer,
The program according to claim 3, for executing the transfer of the packet data group to the transfer destination processing server in the transport layer transfer procedure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035947A JP5758934B2 (en) | 2013-02-26 | 2013-02-26 | Distribution server and its program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035947A JP5758934B2 (en) | 2013-02-26 | 2013-02-26 | Distribution server and its program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014165743A true JP2014165743A (en) | 2014-09-08 |
JP5758934B2 JP5758934B2 (en) | 2015-08-05 |
Family
ID=51615964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013035947A Active JP5758934B2 (en) | 2013-02-26 | 2013-02-26 | Distribution server and its program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5758934B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018501681A (en) * | 2014-10-17 | 2018-01-18 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Data stream distribution method and apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003174473A (en) * | 2001-12-06 | 2003-06-20 | Fujitsu Ltd | Server load distribution system |
JP2011041006A (en) * | 2009-08-11 | 2011-02-24 | Fujitsu Ltd | Load balancing device, load balancing method and load balancing program |
JP2012222402A (en) * | 2011-04-04 | 2012-11-12 | Fujitsu Ltd | Relay device, relay program, and relay method |
-
2013
- 2013-02-26 JP JP2013035947A patent/JP5758934B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003174473A (en) * | 2001-12-06 | 2003-06-20 | Fujitsu Ltd | Server load distribution system |
JP2011041006A (en) * | 2009-08-11 | 2011-02-24 | Fujitsu Ltd | Load balancing device, load balancing method and load balancing program |
JP2012222402A (en) * | 2011-04-04 | 2012-11-12 | Fujitsu Ltd | Relay device, relay program, and relay method |
Non-Patent Citations (2)
Title |
---|
CSNG201100192060; 入江道生、外4名: 'スケールアウト型セッション制御サーバにおける動的構成変更に関する一検討' 信学技報 第110巻、第448号, 20110224, 407〜410, 社団法人電子情報通信学会 * |
JPN6014051998; 入江道生、外4名: 'スケールアウト型セッション制御サーバにおける動的構成変更に関する一検討' 信学技報 第110巻、第448号, 20110224, 407〜410, 社団法人電子情報通信学会 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018501681A (en) * | 2014-10-17 | 2018-01-18 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Data stream distribution method and apparatus |
US10715589B2 (en) | 2014-10-17 | 2020-07-14 | Huawei Technologies Co., Ltd. | Data stream distribution method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP5758934B2 (en) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110429B2 (en) | Enabling planned upgrade/downgrade of network devices without impacting network sessions | |
US9762494B1 (en) | Flow distribution table for packet flow load balancing | |
US9246844B2 (en) | Method for activating and deactivating client-side services from a remote server | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US9058213B2 (en) | Cloud-based mainframe integration system and method | |
EP2870735B1 (en) | Method for adding client capability data to a sip message | |
US20060015647A1 (en) | System and method for communication between heterogeneous networks | |
JP2015130199A (en) | Enterprise client-server system and methods for providing web application support through distributed emulation of websocket communications | |
US20080195753A1 (en) | Relay apparatus, recording medium containing relay program, and communication system | |
KR102345473B1 (en) | Method and apparatus for data transmission using quic-proxy to provide internet of things service | |
EP3142306A1 (en) | Openflow communication method, system, controller, and service gateway | |
US20160127241A1 (en) | Apparatus and method for flow control | |
US8443057B1 (en) | System, method, and/or apparatus for establishing peer-to-peer communication | |
US20140310429A1 (en) | Server-side http translator | |
US20120284417A1 (en) | Endpoint Discriminator in Network Transport Protocol Startup Packets | |
CN113014499B (en) | Data transmission method and device, electronic equipment and storage medium | |
JP5758934B2 (en) | Distribution server and its program | |
US20150189004A1 (en) | Method and farm load balancing device for establishing a bi-directional server to server communication and computer program thereof | |
CN105812443A (en) | P2P system and P2P system business access method | |
US20080250152A1 (en) | Communication method having firewall network tunnel and location transparency | |
US11706290B2 (en) | Direct server reply for infrastructure services | |
JP2008065611A (en) | Software update method and software update program | |
US9781075B1 (en) | Increased port address space | |
JP6413543B2 (en) | Load balancing device, server, load balancing system, load balancing program | |
US8219610B2 (en) | Content providing system, monitoring server, and SIP proxy server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150324 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150604 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5758934 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |