JP2008537421A - 通信システム内の接続を確立する方法 - Google Patents
通信システム内の接続を確立する方法 Download PDFInfo
- Publication number
- JP2008537421A JP2008537421A JP2008507104A JP2008507104A JP2008537421A JP 2008537421 A JP2008537421 A JP 2008537421A JP 2008507104 A JP2008507104 A JP 2008507104A JP 2008507104 A JP2008507104 A JP 2008507104A JP 2008537421 A JP2008537421 A JP 2008537421A
- Authority
- JP
- Japan
- Prior art keywords
- node
- packet
- server
- entity
- destination information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 title claims description 30
- 230000004044 response Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本発明は、フロント・エンド・ノードといくつかのサーバ・ノードとを含む通信システムにおいてトランスポート層接続を多重化することに関するものである。外部ノードに関連する宛先情報を含む第1のパケットが、サーバ・ノードからフロント・エンド・ノードに経路指定される。フロント・エンド・ノードでは、宛先情報に関連する終了ポイントが確立される。第1のパケットに由来するアプリケーション・データが、フロント・エンド・ノード内のアプリケーション・エンティティに提供される。当該第1のパケットは、外部ノードに送信される。
【選択図】 なし
【選択図】 なし
Description
本発明は、通信システム内のサーバ・クラスタの提供に関するものである。特に、本発明は、通信システム内の接続を確立する方法に関するものである。
高トラフィックのインターネット・サイトをサポートする際は、単一の物理ノードを使用するサイトを提供することは事実上不可能である。したがって、サーバ・クラスタの概念が開発されている。他のインターネット・ノードから見るとサーバ・クラスタは単一のノードだけから構成されているように見える。他のノードは、単一のIPアドレスを使用してサーバ・クラスタにアクセスする。しかしながら、単一のIPアドレスに宛てられたサービス要求パケットはまずディスパッチャ・ノードに経路指定され、その後クラスタ化されたいくつかのサーバ・ノードのうちの1つに割り当てられることになる。各サービス要求は、他のサービス要求とは別個に割り当てることができる。そのようなサービスの一例としては、単一のドメイン名の下で提供されるいくつかのページを含むWWWサイトがある。サーバ・クラスタの場合では、ドメイン名は単一のIPアドレスに解決することができる。一方、IPマルチメディアの導入に伴い、そのようなサービスはIPマルチメディア・セッション処理サーバを介して行われることもある。WWWサイトの場合と同様に、IPマルチメディア・セッション処理サーバは、やはり単一のIPアドレスに解決されることになるドメイン名を使用して識別される。
単にコンテンツのダウンロードをサポートするだけのWWWサイトの場合では、ハイパーテキスト転送プロトコル(HTTP)要求と、サービス要求に応じてサーバ・ノードから提供される応答とを別個に取り扱うことが可能である。サービス要求/応答に関してアプリケーション層の処理は必要とされない。最も重要な要因は、ダウンロード・トランザクションに関連する要求が1つしか存在しないことである。ここでは、後続の要求メッセージとそれ以前の要求メッセージとの間の相関付けを行うことが可能である必要はない。
IPマルチメディアの場合、その状況は少し異なる。クラスタ内のサーバ・ノード間の適正なロード・バランシングを実行できるようにするには、アプリケーション層を関与させる必要がある。セッション開始プロトコル(SIP)の送信勧誘要求(Invite request)が外部ノードから受信され、当該送信勧誘要求がサーバ・ノードに割り当てられた後に、ディスパッチャ・ノードは、当該送信勧誘要求に関する後続のSIPメッセージの関連付けを行い、それらのSIPメッセージを割り当て対象となるサーバ・ノードに経路指定することができなければならない。したがって、アプリケーション層のロード・バランサは、伝送制御プロトコル(TCP)接続を終了させ、全てのセッションに関するシグナリング・メッセージを処理しなければならない。SIPの説明は、インターネット技術特別調査委員会(IETF)の文書「RFC 3261」に詳しく記載されている。
ここで図1を参照すると、従来技術の伝送制御プロトコル(TCP)セグメント・ヘッダが示されている。TCPの説明は、IETFの文書「RFC 793」に詳しく記載されている。TCPは、開放型システム間相互接続(OSI)データ通信モデルのトランスポート層のタスクを行う。図1にはTCPセグメント・ヘッダ100が示されている。ヘッダ100では、送信元ポートがTCPセグメントを送信したアプリケーションを識別し、宛先ポートがターゲット・アプリケーションを識別する。単一のアプリケーションは、いくつかのポートを使用してデータ送信を行うことができ、いくつかのポートをリスンして受信データの有無を確認することができる。プロトコル・スタックは、ポート番号を利用して、TCPセグメントを送信しなければならない正しいアプリケーション・エンティティを認識するものである。シーケンス番号は、送信中のバイト・ストリーム内の現在位置をバイト単位で識別するものである。肯定応答番号は、バイト・ストリーム内のバイトのうち、受信者によって正しく受信されたバイトを送信者に指示するものである。TCP接続が確立されている間に送信側ホストと受信側ホストとの間で初期シーケンス番号(initial sequence number:ISN)が交換される。Lenフィールドは、TCPヘッダの長さを32ビット・ワード単位で指示するものである。フラグは、緊急フラグ、肯定応答フラグ(ACK)、プッシュ・フラグ、接続リセット・フラグ、同期シーケンス番号(SYN)フラグ、及び終了フラグ(FIN)を含む。フラグ「SYN」は、接続確立フェーズで使用される。SYNフラグを有するセグメントは、SYNセグメント又はTCP‐SYNセグメントと呼ばれる。同様に、onのACKフラグを有するセグメントは、ACKセグメントと呼ばれる。ウィンドウ・サイズは、現在のセグメントの送信者が受け入れを希望する、肯定応答フィールド内で指示されるデータ・バイトから始まるデータ・バイト数である。チェックサムは、IPヘッダと、TCPヘッダと、データとから収集される情報を含む擬似ヘッダの1の補数を合計し、これを16ビットの1の補数として計算するものであり、必要に応じて2バイトの倍数となるように末尾に「0」のバイトがパディングされる。本明細書で論じられていないTCPヘッダ・フィールドの残りの部分の説明は、例えば「RFC 793」等の文書で確認することができる。
TCP接続は、接続確立フェーズと、データ転送フェーズと、接続終了フェーズの3つのフェーズを含む。接続の確立には3方向ハンドシェークが使用される。接続の遮断には4方向ハンドシェークが使用される。1対のホスト同士が介在する接続を同時に開始することも可能ではあるが、典型的には一方のホストがソケットをオープンし、他方のホストからの接続を受動的にリスンする。この処理はパッシブ・オープンと呼ばれており、接続のサーバ・サイドを指定するものである。確立すべき接続のクライアント・サイドは、3方向ハンドシェークの一環として初期のSYNセグメントをサーバに送信することによってアクティブ・オープンを開始する。サーバ・サイドは、有効なSYNセグメントに対して、やはりonのACKフラグを有するSYNセグメントを用いて応答する。最後に、クライアント・サイドはACKセグメントを用いて応答し、それによって3方向ハンドシェーク及び接続確立フェーズが完了する。
次に図2を参照すると、従来技術のTCP接続ルータを備えたクラスタ・サーバを示すブロック図が示されている。TCP接続ルータは、クラスタ・サーバの入力側のTCP接続だけを取り扱うものである。図2の場合では、サービス要求/応答に関してアプリケーション層の処理は必要とされない。当該サービス要求/応答は、典型的にはハイパーテキスト転送プロトコル(HTTP)要求/応答である。図2に示すのと同様の解決策は、刊行物「NetDispatcher:A TCP Connection Router」、G. Goldszmidt、G. Hunt、IBM Research Division、T.J. Watson Research Center、Yorktown Heights、New York(1997年)に記載されている。
図2にはサーバ・クラスタが示されている。当該サーバ・クラスタは、TCP接続ルータ200を含み、当該TCP接続ルータは、例えばローカル・エリア・ネットワーク205を介してサーバ・ノード201〜204と接続される。TCP接続ルータ200は、クラスタ内の各サーバの状態を認識している。TCP接続ルータ200は、ロード・バランシングを実行する。TCPルータ200は、IPネットワーク210に接続されている。IPネットワーク210は、例えばインターネットであっても企業イントラネットであってもよい。IPネットワーク210には、2つのクライアント・ノード、即ちクライアント・ノード212及びクライアント・ノード214も接続されている。図2には2つの要求/応答トランザクションが示されている。これらのトランザクションは、例えばサーバ・クラスタが提供するWWWサイトからのHTMLページの検索である。
まず、クライアント212は、HTTP要求をサーバ・クラスタに送信する。当該HTTP要求はまず、TCP接続ルータ200において処理される。TCP接続ルータ200は、その時点で最も輻輳が少ないサーバ・ノード、言い換えれば処理上の負荷が最も小さいサーバ・ノードを判定する。あるいは、TCP接続ルータは、要求メッセージ・ヘッダに含まれる少なくとも1つのフィールドから計算されるハッシュ値に基づいてサーバ・ノードのランダム・アロケーションを実行することもできる。
クライアント212の場合では、TCP接続ルータは、矢印250で示されるようにHTTP要求をサーバ202に送信しなければならないことを判定する。サーバ202からクライアント212に戻される応答は、TCP接続ルータ200を経由しない。当該応答は、矢印252で示されるように、IPネットワーク210を経由してクライアント212へと経路指定される。クライアントB214がHTTP要求をサーバ・クラスタに送信する場合は、まず当該要求がTCP接続ルータ200によって処理された後、TCP接続ルータ200が当該HTTP要求をサーバ204に送信すべきことを判定する。HTTP要求の経路は、図2の矢印260で示されている。サーバ204からクライアント214に戻されるHTTP要求は、TCPルータ200を経由するのではなくTCP接続ルータ200を迂回するように経路指定され、矢印262で示されるようにIPネットワーク210を経由してクライアント214へと経路指定される。クラスタ内のサーバをターゲットとする全てのHTTP要求において、宛先アドレスは常にTCP接続ルータ200を参照する。それ故、IPネットワーク210は入力パケットを経路指定する際は常に、パケットをTCP接続ルータ200に経路指定する。
従来技術の解決策の課題は、アプリケーション層のエンティティが相互に関連するいくつかのアプリケーション・プロトコル要求/応答の相関付けを行わなければならず、そのため、一方では外部ノードとの接続を終了させ、他方ではクラスタ内のサーバ・ノードとの接続を終了させなければならない場合について、適用可能な解決策が示されていない点である。更に、従来技術の解決策では、2つのノード間のシグナリング・トラフィックを単一のトランスポート層接続に多重化する必要がある場合の対処法についても教示していない。
本発明は、少なくともフロント・エンド・ノードと少なくとも1つのサーバ・ノードとを含む通信システムにおいて外部ノードとの接続を確立する方法であって、前記サーバ・ノードは、前記フロント・エンド・ノードと通信するように構成され、前記フロント・エンド・ノードは、前記外部ノードと通信するように構成され、外部ノードに関連する宛先情報を含む第1のパケットを、前記サーバ・ノードから前記フロント・エンド・ノードに配信するステップと、前記フロント・エンド・ノードにおいて前記宛先情報に関連する終了ポイントを確立するステップと、を含む方法に関するものである。
本発明はまた、外部ノードとの接続を確立するシステムであって、前記外部ノードに関連する宛先情報を含む第1のパケットを送信するように構成された少なくとも1つのサーバ・ノードと、前記サーバ・ノードから前記第1のパケットを受信し、前記宛先情報に関連する終了ポイントを確立するように構成されたフロント・エンド・ノードと、を備えるシステムに関するものである。
本発明はまた、外部ノードとの接続を確立するネットワーク・ノードであって、前記外部ノードに関連する宛先情報を含む第1のパケットをサーバ・ノードから受信するように構成されたプロトコル・スタック・エンティティと、前記宛先情報に関連する終了ポイントを確立するように構成されたアプリケーション・エンティティと、を備えるネットワーク・ノードに関するものである。
本発明はまた、コンピュータ・プログラムであって、データ処理システム上で実行されたときに、前記サーバ・ノードから前記フロント・エンド・ノードに向けて発信され、外部ノードに関連する宛先情報を含む第1のパケットを受信するステップと、前記宛先情報に関連する終了ポイントを確立するステップと、を実行するように適合されたコードを含むコンピュータ・プログラムに関するものである。
本発明の一実施形態において、前記少なくとも1つのサーバ・ノードは、サーバ・クラスタに含まれる。前記サーバ・クラスタは、例えばブレード・サーバとして実施することができる。前記フロント・エンド・ノードは、前記サーバ・クラスタの一部とすることができる。
本発明の一実施形態において、終了ポイントの確立とは、例えば前記プロトコル・スタック・エンティティとアプリケーション・エンティティとの間の論理的な関連性を形成することを指す。所与のノード内の論理的な関連性は、当該ノードを参照する宛先情報で識別される。言い換えれば、所与のノードを参照する宛先情報は、前記ノード内の前記プロトコル・スタック・エンティティとアプリケーション・エンティティとの間の論理的な関連性に関する識別子も含む。また、終了ポイントの確立とは、既存の論理的な関連性が前記プロトコル・スタック・エンティティとアプリケーション・エンティティとの間の通信に使用できるようになることを指す。本発明の一実施形態において、前記終了ポイントはソケットであり、前記終了ポイントの確立は前記ソケットのオープンを指す。
本発明の一実施形態において、宛先情報という用語は、前記外部ノードのようなノードのアドレスを含む。本発明の一実施形態において、宛先情報という用語は、前記外部ノードのようなノードのアドレスと、アプリケーション・エンティティを判定するフィールドとを含む。前記フィールドは、例えば前記ノード内のアプリケーション・エンティティを参照するポート番号とすることができる。前記ノード内の前記アプリケーション・エンティティは、それ自体を、前記ポート番号を使用して識別されるポートのユーザとして登録することができる。前記ポートは、例えば伝送制御プロトコル(TCP)ポートとすることができる。本発明の一実施形態において、宛先情報という用語は単に、ノード内のアプリケーション・エンティティを判定するポート番号等のフィールドを含む。
本発明の一実施形態において、前記第1のパケットに由来するアプリケーション・データは、前記終了ポイントを経由して前記フロント・エンド・ノード内のアプリケーション・エンティティに提供される。前記フロント・エンド・ノードは、前記外部ノードとの接続の多重化を実行する。前記多重化は、前記少なくとも1つのサーバ・ノードから前記フロント・エンド・ノードに送られたパケットが受信されるたびに実行される。前記多重化は、例えば前記外部ノードとの間で利用できる接続が存在しない場合に、前記アプリケーション・エンティティが前記外部ノードとの接続をオープンすることを含む。その結果、メッセージが前記アプリケーション・エンティティから前記外部ノードに送信される。
本発明の一実施形態において、前記第1のパケットは、プロトコル・スタック・エンティティから前記フロント・エンド・ノード内のアプリケーション・エンティティに提供される。前記アプリケーション・エンティティは、前記外部ノードとの間で利用できる接続が存在しない場合には、前記外部ノードとのトランスポート層接続をオープンする。その結果、前記アプリケーション・エンティティは、前記第1のパケットに由来する情報を含むアプリケーション・プロトコル・メッセージを、前記トランスポート層接続を介して前記外部ノードに送信する。
本発明の一実施形態において、前記終了ポイントはソケットである。本発明の一実施形態において、ソケットという用語は一般に、プロトコル・スタック・エンティティとアプリケーション・エンティティとの間の関連性を指す。受信側でのソケットのオープンは、アプリケーション・エンティティが前記プロトコル・スタック・エンティティに対して、特定のポート番号又はアプリケーション識別子フィールドを有するパケットを受信した場合はそれらのパケットを当該アプリケーション・エンティティに提供しなければならない旨を指示することによって行われる。本発明の一実施形態において、前記ソケットは、伝送制御プロトコル(TCP)/インターネット・プロトコル(IP)ソケットである。
本発明の一実施形態において、前記方法は、前記フロント・エンド・ノードにおいて前記サーバ・ノードの少なくともアドレスを指定する第1のフィルタを作成するステップと、前記フロント・エンド・ノードにおいて前記第1のパケットを前記第1のフィルタに基づいて選択するステップと、前記フロント・エンド・ノードにおいて前記宛先情報を指定する第2のフィルタを作成するステップと、前記フロント・エンド・ノードにおいて前記第1のパケットを前記第2のフィルタに基づいて選択するステップと、を更に含む。
本発明の一実施形態において、前記ネットワーク・ノードは、前記第1のパケットを、終了ポイントを経由してアプリケーション・エンティティに提供するように構成された前記プロトコル・スタック・エンティティと、メッセージを前記外部ノードに送信するように構成された前記アプリケーション・エンティティと、を更に備える。
本発明の一実施形態において、前記ネットワーク・ノードは、前記サーバ・ノードの少なくともアドレスを指定する第1のフィルタを作成し、外部ノードに関連する宛先情報を指定する第2のフィルタを作成するように構成された管理エンティティと、前記第1のパケットをポリシー・エンティティに提供するように構成された前記プロトコル・スタック・エンティティと、前記第1のパケットを前記第1のフィルタに基づいて選択し、前記第1のパケットを前記第2のフィルタに基づいて選択するように構成されたポリシー・エンティティと、を更に備える。
本発明の一実施形態において、前記サーバ・ノードから発信される第2のパケットは、内部ネットワークが前記フロント・エンド・ノードを前記少なくとも1つのサーバ・ノードに接続することによって、前記フロント・エンド・ノードに経路指定される。前記第2のパケットは、前記外部ノードを参照する宛先情報を含む。前記第2のパケットは、前記フロント・エンド・ノードにおいて前記第2のフィルタに基づいて選択される。言い換えれば、前記第2のパケットは、前記第2のパケットが前記フロント・エンド・ノードにおいて受信されると同時に、前記第2のパケットを前記プロトコル・スタック・エンティティから取得する前記ポリシー・エンティティによって傍受される。
前記第2のパケットは、前記ポリシー・エンティティから前記プロトコル・スタック・エンティティを経由して前記アプリケーション・エンティティに提供される。前記第2のパケットがフィルタ・ルールの結果前記ポリシー・エンティティから前記プロトコル・スタック・エンティティに送り返された場合を考えると、前記プロトコル・スタック・エンティティは、前記第2のパケットを当初前記フロント・エンド・ノードにアドレス指定されたパケットと見なすことになる。前記プロトコル・スタック・エンティティは、前記第2のパケットに含まれる宛先情報に基づいて、前記アプリケーション・エンティティによってオープンされたソケットを識別する。前記プロトコル・スタック・エンティティは、前記第2のパケットを、前記ソケットを経由して前記アプリケーション・エンティティに提供する。
前記アプリケーション・エンティティは、前記第2のパケットに由来する情報を含むアプリケーション・プロトコル・メッセージを、前記トランスポート層接続を介して前記外部ノードに送信する。前記アプリケーション・プロトコル・メッセージは、前記第1のパケットに由来する情報も含むことができる。前記アプリケーション・プロトコル・メッセージは、前記第1のパケットと前記第2のパケットとの間で送信される少なくとも1つのパケットに由来する情報も含むことができる。前記アプリケーション・エンティティは、前記サーバ・ノードから前記ソケットを経由して完全なアプリケーション・プロトコル・メッセージが届くのを待ってから、受信情報に関するアプリケーション層の処理を実行し、前記アプリケーション・プロトコル・メッセージを前記外部ノードに送信することもできる。本発明の一実施形態において、前記プロトコル・スタック・エンティティは、少なくともTCP及びIPプロトコルを含む。
本発明の一実施形態において、前記サーバ・クラスタ内のサーバ・ノードはアクティブ状態に入ると、それ自体のアドレスと、任意選択で少なくとも1つのアプリケーション層エンティティに関するポート番号とを、前記フロント・エンド・ノードに知らせる。アクティブ状態とは、サーバ・ノードがアプリケーション層の要求メッセージを処理する準備が整った状態、又は前記サーバ・ノードが負荷分散に関与する他のトラフィックを処理する準備が整った状態を指す。この逆の状態がパッシブ状態であり、この場合、サーバ・ノードは、例えばソフトウェア又はハードウェアのアップグレードを行うために検査モードに入り、又は非アクティブ状態となる。サーバ・ノードは、例えば再起動処理の後に又はオペレータのアクションに応じて自動的にアクティブ状態に入る。
前記アプリケーション層エンティティは、前記フロント・エンド・ノードの処理に関わるエンティティである。これらのエンティティは、例えば前記フロント・エンドによって実行されるロード・バランシング処理を受ける。
本発明の一実施形態において、前記第1のパケットは、同期化ビットの値を1とする伝送制御プロトコル・セグメントを含む。言い換えれば、前記第1のパケットはSYN TCPセグメントに相当する。
本発明の一実施形態において、前記フロント・エンド・ノードは、サーバ・ノード・クラスタ内のサーバ・ノードのうち、入力サービス要求を割り当てなければならないサーバ・ノードを判定するロード・バランサ・ノードである。前記ロード・バランシングは、例えば前記クラスタ内の前記サーバ・ノードから受信される負荷状態情報に基づいて行うことも、前記フロント・エンド・ノードによって実行されるランダム・アロケーション又は疑似ランダム・アロケーションに基づいて行うこともできる。
本発明の一実施形態において、前記サーバ・ノードはセッション開始プロトコル(SIP)サーバを含み、前記アプリケーション・エンティティはセッション開始プロトコル(SIP)エンティティである。本発明の一実施形態において、前記フロント・エンド・ノードは、セッション開始プロトコル(SIP)プロキシ又はサーバを含む。
本発明の一実施形態において、前記通信システムは、グローバル移動通信システム(GSM)ネットワーク及びユニバーサル移動電話システム(UMTS)ネットワークのうちの少なくとも1つを含む。
本発明の一実施形態において、前記通信システムは、グローバル移動通信システム(GSM)ネットワーク及びユニバーサル移動電話システム(UMTS)ネットワークのうちの少なくとも1つを含む。
本発明の一実施形態において、前記サーバ・ノードは、IPマルチメディア・サブシステム(IMS)の呼状態制御機能(CSCF)を形成する。
本発明の一実施形態において、前記コンピュータ・プログラムは、コンピュータ可読媒体に記憶される。前記コンピュータ可読媒体は、取り外し可能なメモリ・カード、磁気ディスク、光ディスク、あるいは磁気テープとすることができる。
本発明の一実施形態において、前記コンピュータ・プログラムは、コンピュータ可読媒体に記憶される。前記コンピュータ可読媒体は、取り外し可能なメモリ・カード、磁気ディスク、光ディスク、あるいは磁気テープとすることができる。
本発明の利点は、アプリケーション層で単一のアプリケーション層セッションに関連するいくつかの要求メッセージの関連付けを行う必要がある場合に、当該アプリケーション層におけるロード・バランシングの実行を可能にすることに関するものである。
本発明の更なる理解を与えるために添付した本明細書の一部を形成する添付図面は、本発明の諸実施形態を図示するものであり、本明細書と併せて本発明の諸原理を説明するのに役立てるものである。
本発明の更なる理解を与えるために添付した本明細書の一部を形成する添付図面は、本発明の諸実施形態を図示するものであり、本明細書と併せて本発明の諸原理を説明するのに役立てるものである。
ここで、添付図面にその実例が示される本発明の諸実施形態を詳細に説明する。
図3は、本発明の一実施形態に係るロード・バランサ・ノードを含むクラスタ・サーバを示すブロック図である。
図3は、本発明の一実施形態に係るロード・バランサ・ノードを含むクラスタ・サーバを示すブロック図である。
図3にはサーバ・クラスタが示されている。サーバ・クラスタは、ロード・バランサ・ノード350と、内部IPネットワーク380と、2つの内部サーバ、即ち内部サーバ360及び内部サーバ370とを含む。内部IPネットワーク380は、例えばイーサネット(登録商標)を使用して実施することができる。内部サーバ360及び370内にはそれぞれSIPアプリケーション362及び372が存在する。どちらの内部サーバもTCP/IP及びUDP/IPプロトコル・スタック(図示せず)を有する。SIPアプリケーション362は、ソケット364をオープンしている。
図示のとおりソケット364に関連するIPアドレスはIP‐Aであり、ポート番号はYである。SIPアプリケーション372は、ソケット374を有し、当該ソケットのIPアドレスはIP‐Bであり、ポート番号はXである。SIPロード・バランサ・ノード350は、TCP/IPプロトコル・スタック352を備える。TCP/IPプロトコル・スタック352にはポリシー・エンティティ353も関連付けられている。ポリシー・エンティティ353は、IPパケットのフィルタリングを実行するものであり、それ自体に関連するいくつかのポリシー・ルール、即ちどのIPパケットを受け取るべきかを知らせ、当該IPパケットをSIPロード・バランサ・ノード350内のどの部分に提供しなければならないかを知らせるポリシー・ルールを有する。SIPロード・バランサ・ノード350内には、SIPアプリケーション・エンティティ355及びSIP管理エンティティ354も存在する。
SIPロード・バランサ・ノード350は、例えばインターネット又は企業イントラネットであってもよい外部IPネットワーク382に接続されている。外部IPネットワーク382には、外部サーバ390も接続されている。外部サーバ390内にはSIPアプリケーション・エンティティ394も存在する。SIPアプリケーション・エンティティ394は、ソケット392をリスンする。ソケット392のIPアドレスはIP‐Eであり、ポート番号はZである。
図3では、内部サーバ360においてSIPメッセージを外部サーバ390に送信する必要が生じたときに処理が開始される。SIPメッセージは、SIPロード・バランサ・ノード350を経由して外部サーバ390へと経路指定される。しかしながら、SIPロード・バランサ・ノード350がリスンしているべき外部サーバ390のIPアドレス及びポート番号を認識していないという問題も発生する。したがって、ポリシー・エンティティ353に関するフィルタ・ルールを構成しなければならない。フィルタ・ルールのデータ自体は、SIPロード・バランサ・ノード350のメモリに記憶される。SIP管理エンティティ354は、送信元アドレスIP‐A及びポート番号Yを有する全てのTCPパケットをSIP管理エンティティ354に引き渡さなければならない旨を指定するフィルタ・ルールを、ポリシー・エンティティ353に追加する。
本発明の一実施形態において、フィルタ・ルールは、ポリシー・エンティティ353に関連し、SIP管理エンティティ354に対する実際の通知を処理する機能拡張エンティティ(図示せず)を指定することもできる。当該フィルタ・ルールの追加は、矢印301で示されている。その後のある時点で、内部サーバ360はパケットをIPアドレスIP‐E及びポート番号Zに送信する。内部IPネットワーク380は、当該パケットをSIPロード・バランサ・ノード350に経路指定する。経路指定の判断は、内部サーバ360で既に実行されていることもある。当該パケットは、矢印302で示されている。当該パケットは、TCP/IPプロトコル・スタック352において処理され、そこから矢印303で示されるようにポリシー・エンティティ353に引き渡される。
ポリシー・エンティティ353は、先に定義されたフィルタ・ルールに基づき、当該パケットをSIP管理エンティティ354に通知しなければならない旨を含めて、IPパケット内の宛先IPアドレスがIP‐Eであり、TCPポート番号がZであることを通知する。ポリシー・エンティティ353は、矢印304で示されるように、入力パケットをSIP管理エンティティ354に通知する。SIP管理エンティティ354は、矢印305で示されるように、IPアドレスIP‐E及びポート番号Zを有するリスン対象ソケットのオープン要求をSIPアプリケーション・エンティティ355に送信する。SIPアプリケーション355は、線306で示されるようにリスン対象ソケットをオープンする。当該ソケットがオープンされると、SIPアプリケーション355は、矢印308で示されるように当該オープンの肯定応答をSIP管理エンティティ354に送信する。その結果、SIP管理エンティティ354は、宛先アドレスIP‐E及び宛先ポートZを有する全てのTCPパケットをローカル・スタックに引き渡さなければならない旨を指定するフィルタ・ルールの追加要求を、ポリシー・エンティティ353に送信する。
また、SIP管理エンティティ354は、当該パケットをTCP/IPプロトコル・スタック352に再投入(re‐inject)するようポリシー・エンティティ353に知らせる。ポリシー・エンティティ353は、矢印310で示されるように、当該パケットをTCP/IPプロトコル・スタック352に再投入する。ここで、TCP/IPプロトコル・スタック352は当該パケットを処理する際に、SIPロード・バランサ・ノード350内で当該パケットを受信すべきリスン対象ソケットがオープン状態にあることを判定する。この判定は、IPアドレスIP‐E及びポート番号Zに基づいて行われる。矢印311及び312で示されるように、TCP/IPプロトコル・スタック352は当該パケットを、ソケット356を経由してSIPアプリケーション355に引き渡す。
SIPアプリケーション355は、当該パケットからSIPメッセージに関するデータを取得する。SIPメッセージは、当該パケットにその全体が収容されることも、内部サーバ360から発信される少なくとも1つの後続パケットにまたがって収容されることもある。SIPメッセージを抽出する上で更なるパケットが必要とされる場合には、SIPアプリケーション355は、SIPメッセージ全体が受信されるまで、ソケット356を経由する後続パケットを待つ。SIPアプリケーション・エンティティ355は、外部サーバ390に対してオープンの状態にあるTCP接続が既に存在するかどうかを判定する。そのような接続が存在しない場合には、TCP接続がSIPアプリケーション355によってオープンされる。最後に、当該パケットは、矢印313で示されるように外部サーバ390に送信され、ポート392を介して外部サーバ390内のSIPアプリケーション349に送られる。
SIPロード・バランサ・ノード350とサーバ・ノード360との間のTCP/IP接続に関する後続パケットはまず、TCP/IPプロトコル・スタック352において処理され、そこからポリシー・エンティティ353に経路指定され、ポリシー・エンティティ353は、先に作成されたフィルタ・ルールに基づいて、当該パケットをローカルTCP/IPプロトコル・スタック処理に再投入しなければならないことを判定する。TCP/IPプロトコル・スタック352において、再投入されたパケットは、当初からSIPロード・バランサ・ノード350をターゲットとしているパケットの場合と同様に扱われるので、そのようなパケットが所期の宛先以外に経路指定される恐れはない。TCP/IPプロトコル・スタック352は、当該パケットを、初期のパケットの場合と同様にソケット356を経由してSIPアプリケーション355に提供する。
図4は、本発明の一実施形態に係るTCP接続の多重化方法を示すフローチャートである。
ステップ400で、サーバ・ノード用のパケット・フィルタが作成される。パケット・フィルタは、例えばサーバ・ノードがサーバ・クラスタに追加されたとき、又はパッシブ状態にある既存のサーバ・ノードがアクティブ状態に入ったときに作成される。サーバ・ノードは、パケットを外部ノードに向けて送信するために使用するソケットのうち、オープン状態にあるソケットに関する情報をSIPロード・バランサ・ノードに知らせることができる。ステップ402で、SIPロード・バランサ・ノードはサーバ・ノードからのパケットを待つ。パケットが受信されない場合にはステップ402に進む。パケットが受信された場合にはステップ404に進む。
ステップ400で、サーバ・ノード用のパケット・フィルタが作成される。パケット・フィルタは、例えばサーバ・ノードがサーバ・クラスタに追加されたとき、又はパッシブ状態にある既存のサーバ・ノードがアクティブ状態に入ったときに作成される。サーバ・ノードは、パケットを外部ノードに向けて送信するために使用するソケットのうち、オープン状態にあるソケットに関する情報をSIPロード・バランサ・ノードに知らせることができる。ステップ402で、SIPロード・バランサ・ノードはサーバ・ノードからのパケットを待つ。パケットが受信されない場合にはステップ402に進む。パケットが受信された場合にはステップ404に進む。
ステップ404で、SIPロード・バランサ・ノードは、それ自体のTCP/IPプロトコル・スタックにおいてパケットを受信し、当該パケットが外部ノードにアドレス指定されていることを判定する。
ステップ406で、SIPロード・バランサ・ノードは、当該外部ノードのアドレス及びポートに関するソケットをオープンする。当該IPアドレス及びポート番号は、サーバ・ノードから受信された入力パケットに基づいて宛先IPアドレス及びTCPポート番号を検査することによって判定される。
ステップ406で、SIPロード・バランサ・ノードは、当該外部ノードのアドレス及びポートに関するソケットをオープンする。当該IPアドレス及びポート番号は、サーバ・ノードから受信された入力パケットに基づいて宛先IPアドレス及びTCPポート番号を検査することによって判定される。
ステップ408で、SIPロード・バランサ・ノードは、当該外部ノード用のパケット・フィルタを作成する。当該パケット・フィルタでは、当該パケットが当初から送信者によってSIPロード・バランサ・ノードにアドレス指定されている場合と同様に、入力パケット内で指定されるIPアドレス及びポート番号をターゲットとするパケットをプロトコル・スタックに再投入しなければならない旨の情報が指定される。
ステップ410で、現在のパケットは、ローカルTCP/IPプロトコル・スタック内の処理に再投入される。
ステップ410で、現在のパケットは、ローカルTCP/IPプロトコル・スタック内の処理に再投入される。
ステップ412で、現在のパケットは、ローカルTCP/IPプロトコル・スタックによって処理された後、ステップ406でオープンされたソケットを経由してローカル・アプリケーション・エンティティに提供される。ローカル・アプリケーション・エンティティは、当該パケットからアプリケーション・プロトコル・メッセージに関するデータを取得する。アプリケーション・プロトコル・メッセージは、当該パケットにその全体が収容されることも、サーバ・ノードから発信される少なくとも1つの後続パケットにまたがって収容されることもある。アプリケーション・プロトコル・メッセージを抽出する上で更なるパケットが必要とされる場合には、ローカル・アプリケーション・エンティティは、アプリケーション・プロトコル・メッセージ全体が受信されるまで、ソケットを経由する後続パケットを待つ。
ステップ414で、SIPロード・バランサ・ノードは、外部ノードに対するTCP接続が存在するかどうかを判定する。当該TCP接続が存在しない場合には、ステップ416で、外部ノードとの新しいTCP接続が確立される。
当該TCP接続が存在する場合には、ステップ418で、既存のTCP接続を使用してアプリケーション・プロトコル・メッセージが外部ノードに転送される。当該アプリケーション・プロトコル・メッセージは、TCP/IPプロトコル・スタックに引き渡される。当該アプリケーション・プロトコル・メッセージは、最大伝送単位のサイズに応じて1つのパケット又はいくつかの別個のパケットに入れて送信される。
SIPアプリケーション355と、SIP管理エンティティ354と、ポリシー・エンティティ353と、TCP/IPプロトコル・スタック352との間の通信は、内部フォーマットで実行される。ソフトウェア・コンポーネント、即ち図3に示される各エンティティは、様々な手法で実装することができる。これらのエンティティは、ネイティブ・オペレーティング・システムの下で実行されるプロセスとして実装することができる。当該ソフトウェア・エンティティは、別個のプロセスとして実装することも、いくつかの異なるソフトウェア・エンティティが1つのプロセスで実行されるように実装することもできる。いくつかのソフトウェア・エンティティは、別のエンティティとリンクするモジュールとして実装することもできる。
本発明の一実施形態において、オペレーティング・システムは、Linux(登録商標)オペレーティング・システムである。本発明の一実施形態において、ポリシー・エンティティ353とSIP管理エンティティ354との間の通信は、ネットワーキング・フックを使用してプロトコル・スタック・エンティティに取り付けられるローダブル・カーネル・モジュールとして実装される。当該カーネル・モジュールは、Netlinkソケット・インターフェイスを使用することによってユーザ空間のSIP管理エンティティ354と通信する。SIP管理エンティティ354は、送信元IPアドレス及びポートを定義するルールをカーネル・モジュールに設定する。
TCP SYNパケットがルールと一致すると、カーネル・モジュールは、受信されたTCP SYNパケットに従って新しいリスン対象ソケットをオープンさせる信号をSIP管理エンティティ354に送信した後、SIP管理エンティティ354からの応答を受け取ると、当初のTCP SYNパケットをIPスタックに再投入する。再投入されたパケットは、先に作成されたリスン対象ソケットに届けられることになる。
本発明の一実施形態において、TCP/IPプロトコル・スタック・エンティティ352と、ポリシー・エンティティ353のフィルタリング機能とは、オペレーティング・システム・カーネルに含まれる。ポリシー・エンティティ353が有する他のエンティティとの通信機能は、ローダブル・カーネル・モジュールとして実装することができる。本発明の一実施形態において、SIP管理エンティティ354及びSIPアプリケーション355は、単一のアプリケーション・エンティティ、例えばシングル・プロセス又はスレッドとして実装することができる。
本発明の基本概念は、技術の進歩に伴い様々な手法で実施できることが当業者には明らかであるだろう。それ故、本発明及び本発明の諸実施形態は、上述の実施例に限定されるものではなく、添付の特許請求の範囲に記載の各請求項の範囲内で様々な形をとることができる。
Claims (27)
- 少なくともフロント・エンド・ノードと少なくとも1つのサーバ・ノードとを含む通信システムにおいて外部ノードとの接続を確立する方法であって、前記少なくとも1つのサーバ・ノードは、前記フロント・エンド・ノードと通信するように構成され、前記フロント・エンド・ノードは、前記外部ノードと通信するように構成され、
外部ノードに関連する宛先情報を含む第1のパケットを、前記少なくとも1つのサーバ・ノードから前記フロント・エンド・ノードに配信するステップと、
前記フロント・エンド・ノードにおいて前記宛先情報に関連する終了ポイントを確立するステップと、
を含む方法。 - 前記宛先情報は、アドレスと、ポート番号と、を含む、請求項1に記載の方法。
- 前記終了ポイントは、ソケットである、請求項1に記載の方法。
- 前記フロント・エンド・ノードにおいて前記外部ノードとの接続を多重化するステップと、
前記第1のパケットに由来するアプリケーション・データを、前記終了ポイントを経由して前記フロント・エンド・ノード内のアプリケーション・エンティティに提供するステップと、
メッセージを前記アプリケーション・エンティティから前記外部ノードに送信するステップと、
を更に含む、請求項1に記載の方法。 - 前記フロント・エンド・ノードにおいて前記サーバ・ノードの少なくともアドレスを指定する第1のフィルタを作成するステップと、
前記フロント・エンド・ノードにおいて前記第1のパケットを前記第1のフィルタに基づいて選択するステップと、
前記フロント・エンド・ノードにおいて前記宛先情報を指定する第2のフィルタを作成するステップと、
前記フロント・エンド・ノードにおいて前記第1のパケットを前記第2のフィルタに基づいて選択するステップと、
を更に含む、請求項1に記載の方法。 - 前記サーバ・ノードから発信され、前記外部ノードに関連する宛先情報を含む第2のパケットを、前記フロント・エンド・ノードに経路指定するステップと、
前記フロント・エンド・ノードにおいて前記第2のパケットを前記第2のフィルタに基づいて選択するステップと、
前記第2のパケットに由来するアプリケーション・データを、前記終了ポイントを経由して前記アプリケーション・エンティティに提供するステップと、
前記メッセージを前記アプリケーション・エンティティから前記外部ノードに送信するステップと、
を更に含む、請求項4に記載の方法。 - 前記サーバ・ノードがアクティブ状態に入るステップと、
前記サーバ・ノードが少なくともそれ自体のアドレスを前記フロント・エンド・ノードに送信するステップと、
を更に含む、請求項1に記載の方法。 - 前記第1のパケットは、同期化ビットの値を1とする伝送制御プロトコル・セグメントを含む、請求項1に記載の方法。
- 前記フロント・エンド・ノードは、ロード・バランサ・ノードである、請求項1に記載の方法。
- 前記サーバ・ノードは、セッション開始プロトコル(SIP)サーバを含み、前記アプリケーション・エンティティは、セッション開始プロトコル(SIP)エンティティである、請求項1に記載の方法。
- 外部ノードとの接続を確立するシステムであって、
前記外部ノードに関連する宛先情報を含む第1のパケットを送信するように構成された少なくとも1つのサーバ・ノードと、
前記サーバ・ノードから前記第1のパケットを受信し、
前記宛先情報に関連する終了ポイントを確立する
ように構成されたフロント・エンド・ノードと、
を備えるシステム。 - 前記宛先情報は、アドレスと、ポート番号と、を含む、請求項11に記載のシステム。
- 前記終了ポイントは、ソケットである、請求項11に記載のシステム。
- 前記外部ノードとの接続を多重化し、
前記第1のパケットに由来するアプリケーション・データを、前記終了ポイントを経由して前記フロント・エンド・ノード内のアプリケーション・エンティティに提供し、
メッセージを前記アプリケーション・エンティティから前記外部ノードに送信する
ように構成された前記フロント・エンド・ノード
を更に備える、請求項11に記載のシステム。 - 前記サーバ・ノードの前記少なくともアドレスを指定する第1のフィルタを作成し、
前記第1のパケットを前記第1のフィルタに基づいて選択し、
前記宛先情報を指定する第2のフィルタを作成し、
前記第1のパケットを前記第2のフィルタに基づいて選択する
ように構成された前記フロント・エンド・ノード
を更に備える、請求項11に記載のシステム。 - 前記サーバ・ノードから発信され、前記宛先情報を含む第2のパケットを受信し、
前記第2のパケットを前記第2のフィルタに基づいて選択し、
前記第2のパケットに由来するアプリケーション・データを、前記終了ポイントを経由して前記アプリケーション・エンティティに提供し、
前記メッセージを前記アプリケーション・エンティティから前記外部ノードに送信する
ように構成された前記フロント・エンド・ノード
を更に備える、請求項15に記載のシステム。 - アクティブ状態に入り、前記アクティブ状態に入ったことに応じて少なくともそれ自体のアドレスを前記フロント・エンド・ノードに知らせるように構成された前記サーバ・ノード
を更に備える、請求項11に記載のシステム。 - 前記第1のパケットは、同期化ビットの値を1とする伝送制御プロトコル・セグメントを含む、請求項11に記載のシステム。
- 前記フロント・エンド・ノードは、ロード・バランサ・ノードである、請求項11に記載のシステム。
- 前記サーバ・ノードは、セッション開始プロトコル(SIP)サーバを含み、前記アプリケーション・エンティティは、セッション開始プロトコル(SIP)エンティティである、請求項11に記載のシステム。
- 外部ノードとの接続を確立するネットワーク・ノードであって、
前記外部ノードに関連する宛先情報を含む第1のパケットをサーバ・ノードから受信するように構成されたプロトコル・スタック・エンティティと、
前記宛先情報に関連する終了ポイントを確立するように構成されたアプリケーション・エンティティと、
を備えるネットワーク・ノード。 - 前記第1のパケットを、終了ポイントを経由してアプリケーション・エンティティに提供するように構成された前記プロトコル・スタック・エンティティと、
メッセージを前記外部ノードに送信するように構成された前記アプリケーション・エンティティと、
を更に備える、請求項21に記載のネットワーク・ノード。 - 前記サーバ・ノードの少なくともアドレスを指定する第1のフィルタを作成し、外部ノードに関連する宛先情報を指定する第2のフィルタを作成するように構成された管理エンティティと、
前記第1のパケットをポリシー・エンティティに提供するように構成された前記プロトコル・スタック・エンティティと、
前記第1のパケットを前記第1のフィルタに基づいて選択し、前記第1のパケットを前記第2のフィルタに基づいて選択するように構成されたポリシー・エンティティと、
を更に備える、請求項22に記載のネットワーク・ノード。 - コンピュータ・プログラムであって、データ処理システム上で実行されたときに、
前記サーバ・ノードから前記フロント・エンド・ノードに向けて発信され、外部ノードに関連する宛先情報を含む第1のパケットを受信するステップと、
前記宛先情報に関連する終了ポイントを確立するステップと、
を実行するように適合されたコードを含むコンピュータ・プログラム。 - コンピュータ可読媒体に記憶される、請求項24に記載のコンピュータ・プログラム。
- 前記コンピュータ可読媒体は、取り外し可能なメモリ・カードである、請求項25に記載のコンピュータ・プログラム。
- 前記コンピュータ可読媒体は、磁気ディスク又は光ディスクである、請求項25に記載のコンピュータ・プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20050412A FI20050412A0 (fi) | 2005-04-21 | 2005-04-21 | Menetelmä yhteyksien muodostamiseksi tietoliikennejärjestelmässä |
PCT/FI2006/000119 WO2006111605A2 (en) | 2005-04-21 | 2006-04-18 | Method and apparatus for load balancing a sip flow in a communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008537421A true JP2008537421A (ja) | 2008-09-11 |
Family
ID=34508103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008507104A Pending JP2008537421A (ja) | 2005-04-21 | 2006-04-18 | 通信システム内の接続を確立する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7564848B2 (ja) |
EP (1) | EP1872556A2 (ja) |
JP (1) | JP2008537421A (ja) |
FI (1) | FI20050412A0 (ja) |
WO (1) | WO2006111605A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101249738B1 (ko) * | 2009-12-07 | 2013-04-03 | 한국전자통신연구원 | 이-텍스타일 네트워크 모듈간 전원 교환 및 네트워크 접속을 위한 전자 커넥터 및 그 방법 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7695370B2 (en) * | 2006-02-08 | 2010-04-13 | Gaia Interactive Inc. | Massively scalable multi-player game system |
TW200847711A (en) * | 2007-05-31 | 2008-12-01 | Wistron Corp | Method and related system for building up a network connection between clients and servers through a stream fork by utilizing http protocol |
US10367785B2 (en) * | 2013-10-01 | 2019-07-30 | Perfecta Federal Llc | Software defined traffic modification system |
US9967289B2 (en) | 2015-03-12 | 2018-05-08 | Fornetix Llc | Client services for applied key management systems and processes |
CN106470238A (zh) * | 2015-08-20 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 应用于服务器负载均衡中的连接建立方法及装置 |
GB2577941B (en) | 2018-10-12 | 2020-10-14 | Metaswitch Networks Ltd | Proxying session Initiation protocol (SIP) communications |
CN109766197B (zh) * | 2018-12-29 | 2020-12-18 | 数源科技股份有限公司 | 一种基于Android系统的4G模块稳定工作方法 |
US12238179B2 (en) * | 2023-05-04 | 2025-02-25 | Mellanox Technologies, Ltd. | Systems and methods of message-based packets |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001244957A (ja) * | 2000-02-28 | 2001-09-07 | Fujitsu Ltd | Tcp終端機能付きipルータ装置および媒体 |
JP2001345854A (ja) * | 2000-03-27 | 2001-12-14 | Matsushita Electric Ind Co Ltd | ネットワーク間のパケット通信方法及びシステム並びに装置 |
JP2002185488A (ja) * | 2000-12-14 | 2002-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信効率増幅装置 |
JP2002359637A (ja) * | 2001-03-27 | 2002-12-13 | Fujitsu Ltd | パケット中継処理装置 |
US6606315B1 (en) * | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266707B1 (en) * | 1998-08-17 | 2001-07-24 | International Business Machines Corporation | System and method for IP network address translation and IP filtering with dynamic address resolution |
US7039641B2 (en) * | 2000-02-24 | 2006-05-02 | Lucent Technologies Inc. | Modular packet classification |
US7020707B2 (en) | 2001-05-30 | 2006-03-28 | Tekelec | Scalable, reliable session initiation protocol (SIP) signaling routing node |
WO2003019973A2 (en) | 2001-08-29 | 2003-03-06 | Research In Motion Limited | System and method for addressing a mobile device in an ip-based wireless network |
US6973088B2 (en) * | 2002-04-03 | 2005-12-06 | Qualcomm Incorporated | PPP link negotiation in mobile IP systems |
US20040109459A1 (en) * | 2002-07-25 | 2004-06-10 | Lila Madour | Packet filter provisioning to a packet data access node |
SE0301053D0 (sv) * | 2003-04-07 | 2003-04-07 | Ericsson Telefon Ab L M | Method and system in a communications network |
EP1480407A1 (en) | 2003-05-20 | 2004-11-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load-balancing in a distributed processing system |
EP1528745B1 (en) | 2003-10-30 | 2009-12-02 | Hewlett-Packard Development Company, L.P. | Communication method and apparatus |
US7668145B2 (en) * | 2003-12-22 | 2010-02-23 | Nokia Corporation | Method to support mobile IP mobility in 3GPP networks with SIP established communications |
FI20040817A0 (fi) * | 2004-06-14 | 2004-06-14 | Nokia Corp | Pakkausparametrien siirto matkaviestinjärjestelmässä |
US20060149811A1 (en) * | 2004-12-31 | 2006-07-06 | Sony Ericsson Mobile Communications Ab | Method for remotely controlling media devices via a communication network |
-
2005
- 2005-04-21 FI FI20050412A patent/FI20050412A0/fi not_active Application Discontinuation
- 2005-06-13 US US11/150,149 patent/US7564848B2/en not_active Expired - Fee Related
-
2006
- 2006-04-18 WO PCT/FI2006/000119 patent/WO2006111605A2/en not_active Application Discontinuation
- 2006-04-18 EP EP06725880A patent/EP1872556A2/en not_active Withdrawn
- 2006-04-18 JP JP2008507104A patent/JP2008537421A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606315B1 (en) * | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
JP2001244957A (ja) * | 2000-02-28 | 2001-09-07 | Fujitsu Ltd | Tcp終端機能付きipルータ装置および媒体 |
JP2001345854A (ja) * | 2000-03-27 | 2001-12-14 | Matsushita Electric Ind Co Ltd | ネットワーク間のパケット通信方法及びシステム並びに装置 |
JP2002185488A (ja) * | 2000-12-14 | 2002-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信効率増幅装置 |
JP2002359637A (ja) * | 2001-03-27 | 2002-12-13 | Fujitsu Ltd | パケット中継処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101249738B1 (ko) * | 2009-12-07 | 2013-04-03 | 한국전자통신연구원 | 이-텍스타일 네트워크 모듈간 전원 교환 및 네트워크 접속을 위한 전자 커넥터 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
US7564848B2 (en) | 2009-07-21 |
US20060239263A1 (en) | 2006-10-26 |
WO2006111605A3 (en) | 2007-03-01 |
FI20050412A0 (fi) | 2005-04-21 |
EP1872556A2 (en) | 2008-01-02 |
WO2006111605A2 (en) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10079803B2 (en) | Peer-to-peer connection establishment using TURN | |
US8938553B2 (en) | Cooperative proxy auto-discovery and connection interception through network address translation | |
US7653075B2 (en) | Processing communication flows in asymmetrically routed networks | |
US8406240B2 (en) | Packet fragmentation prevention | |
US7318100B2 (en) | Cooperative proxy auto-discovery and connection interception | |
US7433958B2 (en) | Packet relay processing apparatus | |
JP2008537421A (ja) | 通信システム内の接続を確立する方法 | |
JP4730746B2 (ja) | モバイル・インターネット・プロトコルを使用してルーティング・スタックをバイパスするための方法、システム、およびコンピュータ・プログラム | |
US8032641B2 (en) | Assymmetric traffic flow detection | |
US20080320154A1 (en) | Cooperative proxy auto-discovery and connection interception | |
AU2007320794B2 (en) | Selective session interception method | |
JP2008536369A (ja) | 接続転送 | |
JP2011160041A (ja) | フロントエンドシステム、フロントエンド処理方法 | |
EP1528745B1 (en) | Communication method and apparatus | |
WO2023116165A1 (zh) | 网络负载均衡方法、装置、电子设备、介质和程序产品 | |
WO2023151264A1 (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN112929264A (zh) | 业务流量传输方法、系统及网络设备 | |
CN115567535A (zh) | 信令部署方法及装置 | |
US10361997B2 (en) | Auto discovery between proxies in an IPv6 network | |
JP7178522B2 (ja) | 中継装置及びローカルブレイクアウトの転送方法 | |
JP4285101B2 (ja) | リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 | |
CN110381007A (zh) | Tcp加速方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110201 |