JP6359111B2 - 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置 - Google Patents
並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置 Download PDFInfo
- Publication number
- JP6359111B2 JP6359111B2 JP2016549111A JP2016549111A JP6359111B2 JP 6359111 B2 JP6359111 B2 JP 6359111B2 JP 2016549111 A JP2016549111 A JP 2016549111A JP 2016549111 A JP2016549111 A JP 2016549111A JP 6359111 B2 JP6359111 B2 JP 6359111B2
- Authority
- JP
- Japan
- Prior art keywords
- protocol stack
- stack instance
- protocol
- target socket
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
第1の判定モジュール52に接続され、並列プロトコル・スタック・インスタンス内に含まれるプロトコル・スタック・インスタンス内の親プロトコル・スタック・インスタンスを使用することによって、プロトコル・スタック・インスタンスのいずれにも関連付けられていないターゲットsocketを作成するように構成された作成モジュール54
をさらに含む。
第1の判定モジュール52に接続され、下位レイヤプロトコル処理がそれに対して実行されたデータパケットの量に従って、類似性グラフ内に記録される、ターゲットsocketと第1のプロトコル・スタック・インスタンスとの間の類似性を更新するように構成された更新モジュール57と、
更新モジュール57および第2の判定モジュール55に接続され、n×AがBより大きいかどうかを判定するように構成された判断モジュール58であって、Aは、ターゲットsocketと第1のプロトコル・スタック・インスタンスとの間の類似性であり、Bは、類似性グラフ内に記録される、ターゲットsocketと関連付けられたプロトコル・スタック・インスタンスとの間の類似性であり、nは、事前にセットされた係数であり、nの値は、正の数であり、nの特定の値に関して、並列プロトコル・スタック・インスタンスを実行するCPUの処理性能を参照することができ、CPUの処理性能が優秀である場合には、nの値を対応して相対的に小さくすることができ、あるいは、CPUの処理性能が優秀ではない場合には、nの値は、相対的に大きく、類似性グラフ内に記録された関連付けられたプロトコル・スタック・インスタンスは、ターゲットsocketに現在関連付けられているプロトコル・スタック・インスタンスである、判断モジュール58と
をさらに含む。
ターゲットsocketの下位レイヤデータ受取キューに、下位レイヤプロトコル処理がそれに対して実行されたデータパケットを追加するように構成されたキューユニット531と、
キューユニット531に接続され、ターゲットsocketが、第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストに従うポーリングによって入手される時に、第2のプロトコル・スタック・インスタンスを使用することによって、下位レイヤデータ受取キュー内のデータパケットに対して上位レイヤプロトコル処理を実行するように構成された上位レイヤプロトコル処理ユニット532であって、第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストは、第2のプロトコル・スタック・インスタンスに関連付けられたsocketを示すのに使用される、上位レイヤプロトコル処理ユニット532と
を含む。
類似性グラフに従って、ターゲットsocketに関連付けられたプロトコル・スタック・インスタンスが存在するかどうかを判定するように構成された判断ユニット701であって、
類似性グラフは、ターゲットsocketに現在関連付けられているプロトコル・スタック・インスタンスを記録するのに使用され、類似性グラフ内の関連付けられたプロトコル・スタック・インスタンスは、ターゲットsocketに現在関連付けられているプロトコル・スタック・インスタンスを示すのに使用される、判断ユニット701と、
判断ユニット701に接続され、ターゲットsocketに関連付けられたプロトコル・スタック・インスタンスが存在する場合に、第2のプロトコル・スタック・インスタンスとしてターゲットsocketに関連付けられたプロトコル・スタック・インスタンスを判定するように構成された判定ユニット702と
をさらに含む。
第2の処理モジュール77および第1の処理モジュール73に接続され、ネットワークアダプタが、プロトコル処理がそれに対して実行された第1のデータパケットを送るようにするために、プロトコル処理がそれに対して実行された第1のデータパケットをネットワークアダプタの送出キューに追加するように構成された送出モジュール79
をさらに含む。
52 第1の判定モジュール
53 上位レイヤ処理モジュール
54 作成モジュール
55 第2の判定モジュール
57 更新モジュール
58 判断モジュール
61 受取モジュール
62 プロトコル処理モジュール
70 第2の判定モジュール
71 受取モジュール
72 第1の判定モジュール
73 第1の処理モジュール
74 更新モジュール
75 キューモジュール
76 解析モジュール
77 第2の処理モジュール
78 作成モジュール
79 送出モジュール
80 更新モジュール
81 メモリ
82 通信インターフェース
83 プロセッサ
91 メモリ
92 通信インターフェース
93 プロセッサ
531 キューユニット
532 上位レイヤ処理ユニット
551 第1の判定ユニット
552 第2の判定ユニット
701 判断ユニット
702 判定ユニット
731 キューユニット
732 処理ユニット
Claims (38)
- 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法であって、前記並列プロトコル・スタック・インスタンスは、第1のプロトコル・スタック・インスタンスを含み、前記方法は、
前記第1のプロトコル・スタック・インスタンスを使用して、ネットワークアダプタによって前記第1のプロトコル・スタック・インスタンスに分配されたデータパケットに対して下位レイヤプロトコル処理を実行するステップと、
前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して上位レイヤプロトコル処理を実行するために必要なターゲットsocketを判定するステップと、
前記ターゲットsocketに従って、前記ターゲットsocketに関連付けられた前記並列プロトコル・スタック・インスタンス内の第2のプロトコル・スタック・インスタンスを判定するステップと、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して前記上位レイヤプロトコル処理を実行するステップと
を含み、前記下位レイヤプロトコル処理および前記上位レイヤプロトコル処理は、前記データパケットに対して完全なプロトコル処理を合同で達成する
方法。 - 前記ターゲットsocketに従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定する前記ステップは、
類似性グラフ内にあり、前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内に含まれる各プロトコル・スタック・インスタンスとの間の、類似性に従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定するステップであって、前記ターゲットsocketと各プロトコル・スタック・インスタンスとの間の前記類似性は、前記ネットワークアダプタによって各プロトコル・スタック・インスタンスにすでに分配されたデータパケット内の、前記上位レイヤプロトコル処理が前記ターゲットsocketを使用してそれに対して実行される必要があるデータパケットの量を示すのに使用される、判定するステップ
を含む、請求項1に記載の方法。 - 類似性グラフ内にあり、前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内に含まれる各プロトコル・スタック・インスタンスとの間の、類似性に従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定する前記ステップの前に、前記方法は、
前記下位レイヤプロトコル処理がそれに対して実行されたデータパケットの量に従って、前記類似性グラフ内に記録される、前記ターゲットsocketと前記第1のプロトコル・スタック・インスタンスとの間の類似性を更新するステップ
をさらに含む、請求項2に記載の方法。 - 前記下位レイヤプロトコル処理がそれに対して実行されたデータパケットの量に従って、前記類似性グラフ内に記録される、前記ターゲットsocketと前記第1のプロトコル・スタック・インスタンスとの間の類似性を更新する前記ステップの後に、前記方法は、
n×AがBより大きいかどうかを判定するステップであって、Aは、前記ターゲットsocketと前記第1のプロトコル・スタック・インスタンスとの間の類似性であり、Bは、前記類似性グラフ内に記録される、前記ターゲットsocketと関連付けられたプロトコル・スタック・インスタンスとの間の類似性であり、nは、事前にセットされた係数である、判定するステップ
をさらに含み、類似性グラフ内にあり、前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内に含まれる各プロトコル・スタック・インスタンスとの間の、類似性に従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定する前記ステップは、
n×AがBより大きくはない場合に、前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスとして使用されると判定するステップ
を含む、請求項3に記載の方法。 - 類似性グラフ内にあり、前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内に含まれる各プロトコル・スタック・インスタンスとの間の、類似性に従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定する前記ステップは、
n×AがBより大きい場合に、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスとして前記第1のプロトコル・スタック・インスタンスを判定し、前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを前記第1のプロトコル・スタック・インスタンスに更新するステップ
をさらに含む、請求項4に記載の方法。 - アプリケーションAPPによって送られた第1のデータパケットを受信するステップと、
前記第1のデータパケットに対してプロトコル処理を実行するために必要な前記ターゲットsocketを判定するステップと、
前記ターゲットsocketに関連付られた前記第2のプロトコル・スタック・インスタンスを判定するステップと、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。 - 前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して前記上位レイヤプロトコル処理を実行する前記ステップは、
前記ターゲットsocketの下位レイヤデータ受取キューに、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットを追加するステップと、
前記ターゲットsocketの前記下位レイヤデータ受取キュー内の前記データパケットが、前記第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストに従うポーリングによって入手される時に、前記第2のプロトコル・スタック・インスタンスを使用することによって、前記下位レイヤデータ受取キュー内の前記データパケットに対して前記上位レイヤプロトコル処理を実行するステップであって、前記第2のプロトコル・スタック・インスタンスに対応する前記プロトコル・スタック・インスタンス関連付けリンクリストは、前記第2のプロトコル・スタック・インスタンスに関連付けられたsocketを示すのに使用される、実行するステップと
を含む、請求項1から5のいずれか一項に記載の方法。 - 前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して上位レイヤプロトコル処理を実行するために必要なターゲットsocketを判定する前記ステップは、
socketリストを検索することによって、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して上位レイヤプロトコル処理を実行するために必要な前記ターゲットsocketを入手するステップを含む、請求項1から5のいずれか一項に記載の方法。 - 前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して上位レイヤプロトコル処理を実行するために必要なターゲットsocketを判定する前記ステップの前に、前記方法は、
前記並列プロトコル・スタック・インスタンス内の親プロトコル・スタック・インスタンスを使用してプロトコル・スタック・インスタンスのいずれにも関連付けられていない前記ターゲットsocketを作成するステップであって、前記親プロトコル・スタック・インスタンスは、アプリケーションAPPによって、ランダムな形で、パラメータを指定する形で、または負荷平衡化する形で選択される、作成するステップ
をさらに含む、請求項1から5のいずれか一項に記載の方法。 - 前記下位レイヤプロトコル処理は、Open System Interconnection OSIにおいて規定されるレイヤ3およびレイヤ3よりも下位のレイヤでのプロトコル処理であり、前記上位レイヤプロトコル処理は、前記OSIにおいて規定されるレイヤ4およびレイヤ4よりも上位のレイヤでのプロトコル処理である、請求項1から5のいずれか一項に記載の方法。
- 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法であって、前記並列プロトコル・スタック・インスタンスは、第1のプロトコル・スタック・インスタンスを含み、前記方法は、
アプリケーションAPPによって送られた第1のデータパケットを受け取るステップと、
前記第1のデータパケットに対してプロトコル処理を実行するために必要なターゲットsocketを判定するステップと、
前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内の各プロトコル・スタック・インスタンスとの間の関連付けに従って、前記ターゲットsocketに関連付けられた第2のプロトコル・スタック・インスタンスを判定するステップと、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するステップと
を含み、前記ターゲットsocketと前記第2のプロトコル・スタック・インスタンスとの間の前記関連付けは、前記第1のプロトコル・スタック・インスタンスおよび前記第2のプロトコル・スタック・インスタンスを使用して第2のデータパケットに対してプロトコル処理を実行する時に判定され、前記第1のプロトコル・スタック・インスタンスを使用して、前記第2のデータパケットに対して下位レイヤプロトコル処理は実行され、前記第2のプロトコル・スタック・インスタンスを使用して、前記第2のデータパケットに対して上位レイヤプロトコル処理は実行され、前記下位レイヤプロトコル処理および前記上位レイヤプロトコル処理は、前記第2のデータパケットに対する完全なプロトコル処理を合同で達成する
方法。 - 前記ターゲットsocketと各プロトコル・スタック・インスタンスとの間の関連付けに従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定する前記ステップは、
類似性グラフに従って、前記ターゲットsocketに関連付けられたプロトコル・スタック・インスタンスが存在するかどうかを判定するステップであって、前記類似性グラフは、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを記録するのに使用される、判定するステップと、
前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが存在する場合に、前記第2のプロトコル・スタック・インスタンスとして前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを判定するステップと
を含む、請求項11に記載の方法。 - 前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが存在しない場合に、前記ターゲットsocketの親プロトコル・スタック・インスタンスの受取キューに制御メッセージを追加するステップであって、前記ターゲットsocketの前記親プロトコル・スタック・インスタンスは、前記ターゲットsocketを作成するのに使用され、前記制御メッセージは、前記第1のデータパケットに対してプロトコル処理を実行するように命令するのに使用される、追加するステップと、
前記親プロトコル・スタック・インスタンスの前記受取キュー内の前記制御メッセージが、ポーリングによって入手される時に、前記第1のデータパケットを入手するために前記制御メッセージを解析するステップと、
前記親プロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するステップと、
前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられるプロトコル・スタック・インスタンスとして、前記親プロトコル・スタック・インスタンスを記録するステップと
をさらに含む、請求項12に記載の方法。 - 前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行する前記ステップは、
前記ターゲットsocketのAPPデータ送出キューに前記第1のデータパケットを追加するステップと、
前記ターゲットsocketの前記APPデータ送出キュー内の前記第1のデータパケットが、前記第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストに従うポーリングによって入手される時に、前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記APPデータ送出キュー内の前記第1のデータパケットに対して前記下位レイヤプロトコル処理および前記上位レイヤプロトコル処理を別々に実行するステップであって、前記第2のプロトコル・スタック・インスタンスに対応する前記プロトコル・スタック・インスタンス関連付けリンクリストは、前記第2のプロトコル・スタック・インスタンスに関連付けられたsocketを示すのに使用される、実行するステップと
を含む、請求項11に記載の方法。 - 前記第1のデータパケットに対してプロトコル処理を実行するために必要なターゲットソケットsocketを判定する前記ステップの前に、
前記親プロトコル・スタック・インスタンスを使用して、前記並列プロトコル・スタック・インスタンス内に含まれるプロトコル・スタック・インスタンスのいずれにも関連付けられていない前記ターゲットsocketを作成するステップであって、前記親プロトコル・スタック・インスタンスは、前記プロトコル・スタック・インスタンスから、前記APPによって、ランダムな形で、パラメータを指定する形で、または負荷平衡化する形で選択される、作成するステップ
をさらに含む、請求項13に記載の方法。 - 前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行する前記ステップの後に、
ネットワークアダプタが、プロトコル処理がそれに対して実行された前記第1のデータパケットを送るようにするために、プロトコル処理がそれに対して実行された前記第1のデータパケットを前記ネットワークアダプタの送出キューに追加するステップ
をさらに含む、請求項11から14のいずれか一項に記載の方法。 - 前記第1のデータパケットに対してプロトコル処理を実行するために必要なターゲットソケットsocketを判定する前記ステップは、
前記第1のデータパケットに対してプロトコル処理を実行するために必要な前記ターゲットsocketを判定するためにsocketリストを検索するステップ
を含む、請求項11から14のいずれか一項に記載の方法。 - 前記下位レイヤプロトコル処理は、Open System Interconnection OSIにおいて規定されるレイヤ3およびレイヤ3よりも下位のレイヤでのプロトコル処理であり、前記上位レイヤプロトコル処理は、前記OSIにおいて規定されるレイヤ4およびレイヤ4よりも上位のレイヤでのプロトコル処理である、請求項11から14のいずれか一項に記載の方法。
- 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する装置であって、前記並列プロトコル・スタック・インスタンスは、第1のプロトコル・スタック・インスタンスを含み、前記装置は、
前記第1のプロトコル・スタック・インスタンスを使用して、ネットワークアダプタによって前記第1のプロトコル・スタック・インスタンスに分配されたデータパケットに対して下位レイヤプロトコル処理を実行するように構成された下位レイヤプロトコル処理モジュールと、
前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して上位レイヤプロトコル処理を実行するために必要なターゲットsocketを判定するように構成された第1の判定モジュールと、
前記ターゲットsocketに従って、前記ターゲットsocketに関連付けられた前記並列・プロトコル・スタック・インスタンス内の第2のプロトコル・スタック・インスタンスを判定するように構成された第2の判定モジュールと、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して前記上位レイヤプロトコル処理を実行するように構成された上位レイヤプロトコル処理モジュールと
を含み、前記下位レイヤプロトコル処理モジュールおよび前記上位レイヤプロトコル処理モジュールは、前記データパケットに対して完全なプロトコル処理を合同で達成する
装置。 - 前記第2の判定モジュールは、類似性グラフ内にあり、前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内に含まれる各プロトコル・スタック・インスタンスとの間の、類似性に従って、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスを判定するように構成され、前記ターゲットsocketと各プロトコル・スタック・インスタンスとの間の前記類似性は、前記ネットワークアダプタによって各プロトコル・スタック・インスタンスにすでに分配されたデータパケット内の、前記上位レイヤプロトコル処理が前記ターゲットsocketを使用してそれに対して実行される必要があるデータパケットの量を示すのに使用される、請求項19に記載の装置。
- 前記下位レイヤプロトコル処理がそれに対して実行されたデータパケットの量に従って、前記類似性グラフ内に記録される、前記ターゲットsocketと前記第1のプロトコル・スタック・インスタンスとの間の類似性を更新するように構成された更新モジュール
をさらに含む、請求項20に記載の装置。 - n×AがBより大きいかどうかを判定するように構成された判断モジュールであって、Aは、前記ターゲットsocketと前記第1のプロトコル・スタック・インスタンスとの間の類似性であり、Bは、前記類似性グラフ内に記録される、前記ターゲットsocketと関連付けられたプロトコル・スタック・インスタンスとの間の類似性であり、nは、事前にセットされた係数である、判断モジュール
をさらに含み、前記第2の判定モジュールは、
n×AがBより大きくはない場合に、前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスとして使用されると判定するように構成された第1の判定ユニット
を含む、請求項21に記載の装置。 - 前記第2の判定モジュールは、
n×AがBより大きい場合に、前記ターゲットsocketに関連付けられた前記第2のプロトコル・スタック・インスタンスとして前記第1のプロトコル・スタック・インスタンスを判定し、前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを前記第1のプロトコル・スタック・インスタンスに更新するように構成された第2の判定ユニット
をさらに含む、請求項22に記載の装置。 - 前記装置は、
アプリケーションAPPによって送られた第1のデータパケットを受け取るように構成された受信モジュールをさらに含み、
前記第1の判定モジュールは、前記第1のデータパケットに対してプロトコル処理を実行するために必要な前記ターゲットsocketを判定するようにさらに構成され、
前記第2の判定モジュールは、前記第1のデータパケットに対してプロトコル処理を実行するために必要な前記ターゲットsocketが判定された後に、前記ターゲットsocketに関連付られた前記第2のプロトコル・スタック・インスタンスを判定するようにさらに構成され、
前記装置は、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するように構成されたプロトコル処理モジュールをさらに含む、請求項19から23のいずれか一項に記載の装置。 - 前記上位レイヤプロトコル処理モジュールは、
前記ターゲットsocketの下位レイヤデータ受取キューに、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットを追加するように構成されたキューユニットと、
前記ターゲットsocketの前記下位レイヤデータ受取キュー内の前記データパケットが、前記第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストに従うポーリングによって入手される時に、前記第2のプロトコル・スタック・インスタンスを使用して、前記下位レイヤデータ受取キュー内の前記データパケットに対して前記上位レイヤプロトコル処理を実行するように構成された上位レイヤプロトコル処理ユニットであって、前記第2のプロトコル・スタック・インスタンスに対応する前記プロトコル・スタック・インスタンス関連付けリンクリストは、前記第2のプロトコル・スタック・インスタンスに関連付けられたsocketを示すのに使用される、上位レイヤプロトコル処理ユニットと
を含む、請求項19から23のいずれか一項に記載の装置。 - 前記第1の判定モジュールは、socketリストを検索することによって、前記下位レイヤプロトコル処理がそれに対して実行された前記データパケットに対して前記上位レイヤプロトコル処理を実行するために必要な前記ターゲットsocketを入手するように構成される、請求項19から23のいずれか一項に記載の装置。
- 前記並列プロトコル・スタック・インスタンス内の親プロトコル・スタック・インスタンスを使用して、前記プロトコル・スタック・インスタンスのいずれにも関連付けられていない前記ターゲットsocketを作成するように構成された作成モジュールであって、前記親プロトコル・スタック・インスタンスは、アプリケーションAPPによって、ランダムな形で、パラメータを指定する形で、または負荷平衡化する形で選択される、作成モジュール
をさらに含む、請求項19から23のいずれか一項に記載の装置。 - 前記下位レイヤプロトコル処理は、Open System Interconnection OSIにおいて規定されるレイヤ3およびレイヤ3よりも下位のレイヤでのプロトコル処理であり、前記上位レイヤプロトコル処理は、前記OSIにおいて規定されるレイヤ4およびレイヤ4よりも上位のレイヤでのプロトコル処理である、請求項19から23のいずれか一項に記載の装置。
- 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する装置であって、前記並列プロトコル・スタック・インスタンスは、第1のプロトコル・スタック・インスタンスを含み、前記装置は、
アプリケーションAPPによって送られた第1のデータパケットを受け取るように構成された受取モジュールと、
前記第1のデータパケットに対してプロトコル処理を実行するために必要なターゲットsocketを判定するように構成された第1の判定モジュールと、
前記ターゲットsocketと前記並列プロトコル・スタック・インスタンス内の各プロトコル・スタック・インスタンスとの間の関連付けに従って、前記ターゲットsocketに関連付けられた第2のプロトコル・スタック・インスタンスを判定するように構成された第2の判定モジュールと、
前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するように構成された第1の処理モジュールと
を含み、前記ターゲットsocketと前記第2のプロトコル・スタック・インスタンスとの間の前記関連付けは、前記第1のプロトコル・スタック・インスタンスおよび前記第2のプロトコル・スタック・インスタンスを使用して第2のデータパケットに対してプロトコル処理を実行する時に判定され、前記第1のプロトコル・スタック・インスタンスを使用して、前記第2のデータパケットに対して下位レイヤプロトコル処理は実行され、前記第2のプロトコル・スタック・インスタンスを使用して、前記第2のデータパケットに対して上位レイヤプロトコル処理は実行され、前記下位レイヤプロトコル処理および前記上位レイヤプロトコル処理は、前記第2のデータパケットに対する完全なプロトコル処理を合同で達成する
装置。 - 前記第2の判定モジュールは、
類似性グラフに従って、前記ターゲットsocketに関連付けられたプロトコル・スタック・インスタンスが存在するかどうかを判定するように構成された判断ユニットであって、前記類似性グラフは、前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを記録するのに使用される、判断ユニットと、
前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが存在する場合に、前記第2のプロトコル・スタック・インスタンスとして前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスを判定するように構成された判定ユニットと
を含む、請求項29に記載の装置。 - 前記ターゲットsocketに関連付けられた前記プロトコル・スタック・インスタンスが存在しない場合に、前記ターゲットsocketの親プロトコル・スタック・インスタンスの受取キューに制御メッセージを追加するように構成されたキューモジュールであって、前記ターゲットsocketの前記親プロトコル・スタック・インスタンスは、前記ターゲットsocketを作成するのに使用され、前記制御メッセージは、前記第1のデータパケットに対してプロトコル処理を実行するように命令するのに使用される、キューモジュールと、
前記親プロトコル・スタック・インスタンスの前記受取キュー内の前記制御メッセージが、ポーリングによって入手される時に、前記第1のデータパケットを入手するために前記制御メッセージを解析するように構成された解析モジュールと、
前記親プロトコル・スタック・インスタンスを使用して、前記第1のデータパケットに対してプロトコル処理を実行するように構成された第2の処理モジュールと、
前記類似性グラフ内に記録され、前記ターゲットsocketに関連付けられるプロトコル・スタック・インスタンスとして、前記親プロトコル・スタック・インスタンスを記録するように構成された更新モジュールと
をさらに含む、請求項30に記載の装置。 - 前記第1の処理モジュールは、
前記ターゲットsocketのAPPデータ送出キューに前記第1のデータパケットを追加するように構成されたキューユニットと、
前記ターゲットsocketの前記APPデータ送出キュー内の前記第1のデータパケットが、前記第2のプロトコル・スタック・インスタンスに対応するプロトコル・スタック・インスタンス関連付けリンクリストに従うポーリングによって入手される時に、前記ターゲットsocketおよび前記第2のプロトコル・スタック・インスタンスを使用して、前記APPデータ送出キュー内の前記第1のデータパケットに対して前記下位レイヤプロトコル処理および前記上位レイヤプロトコル処理を別々に実行するように構成された処理ユニットであって、前記第2のプロトコル・スタック・インスタンスに対応する前記プロトコル・スタック・インスタンス関連付けリンクリストは、前記第2のプロトコル・スタック・インスタンスに関連付けられたsocketを示すのに使用される、処理ユニットとを含む、請求項29に記載の装置。 - 前記親プロトコル・スタック・インスタンスを使用して、前記並列プロトコル・スタック・インスタンス内に含まれるプロトコル・スタック・インスタンスのいずれにも関連付けられていない前記ターゲットsocketを作成するように構成された作成モジュールであって、
前記親プロトコル・スタック・インスタンスは、前記APPによって、ランダムな形で、パラメータを指定する形で、または負荷平衡化する形で選択される、作成モジュールをさらに含む、請求項31に記載の装置。 - ネットワークアダプタが、プロトコル処理がそれに対して実行された前記第1のデータパケットを送るようにするために、プロトコル処理がそれに対して実行された前記第1のデータパケットを前記ネットワークアダプタの送出キューに追加するように構成された送出モジュール
をさらに含む、請求項29から32のいずれか一項に記載の装置。 - 前記第1の判定モジュールは、前記第1のデータパケットに対してプロトコル処理を実行するために必要な前記ターゲットsocketを判定するためにsocketリストを検索するように構成される、請求項29から32のいずれか一項に記載の装置。
- 前記下位レイヤプロトコル処理は、Open System Interconnection OSIにおいて規定されるレイヤ3およびレイヤ3よりも下位のレイヤでのプロトコル処理であり、前記上位レイヤプロトコル処理は、前記OSIにおいて規定されるレイヤ4およびレイヤ4よりも上位のレイヤでのプロトコル処理である、請求項29から32のいずれか一項に記載の装置。
- プログラムがコンピュータ上で実行された場合に、請求項1から10のいずれか一項に記載の方法を前記コンピュータに実行させるプログラム。
- プログラムがコンピュータ上で実行された場合に、請求項11から18のいずれか一項に記載の方法を前記コンピュータに実行させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410043721.0 | 2014-01-29 | ||
CN201410043721.0A CN104811431B (zh) | 2014-01-29 | 2014-01-29 | 基于并行协议栈实例的数据包处理方法和装置 |
PCT/CN2014/091614 WO2015113435A1 (zh) | 2014-01-29 | 2014-11-19 | 基于并行协议栈实例的数据包处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017509055A JP2017509055A (ja) | 2017-03-30 |
JP6359111B2 true JP6359111B2 (ja) | 2018-07-18 |
Family
ID=53695928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016549111A Active JP6359111B2 (ja) | 2014-01-29 | 2014-11-19 | 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10069947B2 (ja) |
EP (1) | EP3091706B1 (ja) |
JP (1) | JP6359111B2 (ja) |
CN (1) | CN104811431B (ja) |
WO (1) | WO2015113435A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270813B (zh) | 2016-12-30 | 2021-02-12 | 华为技术有限公司 | 一种异构多协议栈方法、装置及系统 |
CN108667864B (zh) * | 2017-03-29 | 2020-07-28 | 华为技术有限公司 | 一种进行资源调度的方法和装置 |
CN110622558A (zh) | 2017-07-25 | 2019-12-27 | Oppo广东移动通信有限公司 | 切换方法、接入网设备和终端设备 |
KR20210075119A (ko) | 2018-10-15 | 2021-06-22 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 무선 통신 방법 및 기기 |
CN110278161B (zh) * | 2019-05-06 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 基于用户态协议栈的报文分流方法、装置及系统 |
US10904719B2 (en) | 2019-05-06 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Message shunting method, device and system based on user mode protocol stack |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002502189A (ja) * | 1998-01-29 | 2002-01-22 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | 移動データ転送用通信システム |
US7647414B2 (en) | 2002-07-26 | 2010-01-12 | Broadcom Corporation | System and method for managing multiple stack environments |
CA2408474A1 (en) * | 2002-10-17 | 2004-04-17 | Ibm Canada Limited-Ibm Canada Limitee | Apparatus and method for enabling efficient multi-protocol database transaction processing |
US7802001B1 (en) * | 2002-10-18 | 2010-09-21 | Astute Networks, Inc. | System and method for flow control within a stateful protocol processing system |
US7562145B2 (en) * | 2003-08-28 | 2009-07-14 | International Business Machines Corporation | Application instance level workload distribution affinities |
US7734829B2 (en) | 2004-06-09 | 2010-06-08 | Emc Corporation | Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association |
US7808983B2 (en) * | 2004-07-08 | 2010-10-05 | Cisco Technology, Inc. | Network device architecture for centralized packet processing |
US20070242671A1 (en) | 2006-04-13 | 2007-10-18 | Christenson David A | Method and Apparatus for Routing Data Packets Between Different Internet Communications Stack Instances |
CN1870654A (zh) | 2006-06-21 | 2006-11-29 | 中国科学院计算技术研究所 | 一种支持ipv4和ipv6双协议栈网络通信模块的实现方法 |
EP1885098B1 (en) * | 2006-08-04 | 2011-04-06 | Canon Kabushiki Kaisha | Communication apparatus and communication control method |
CN101132456B (zh) | 2006-08-22 | 2011-08-10 | 中兴通讯股份有限公司 | 蓝牙多功能遥控器装置及其实现语音通信的方法 |
US7715428B2 (en) | 2007-01-31 | 2010-05-11 | International Business Machines Corporation | Multicore communication processing |
PT103744A (pt) | 2007-05-16 | 2008-11-17 | Coreworks S A | Arquitectura de acesso ao núcleo de rede. |
CN101399692B (zh) * | 2007-09-27 | 2011-12-21 | 华为技术有限公司 | 业务迁移的方法和系统 |
CN101217464B (zh) * | 2007-12-28 | 2010-09-08 | 北京大学 | 一种udp数据包的传输方法 |
CN101227504A (zh) * | 2008-02-18 | 2008-07-23 | 华为技术有限公司 | 一种实现协议栈之间切换的方法及装置 |
CN101415025B (zh) | 2008-09-28 | 2011-09-07 | 中控科技集团有限公司 | 网络数据处理的方法、装置和系统 |
CN101426027B (zh) | 2008-10-28 | 2012-06-06 | 华为技术有限公司 | 面向分布式虚拟机监控器的底层通信方法 |
US8849972B2 (en) | 2008-11-25 | 2014-09-30 | Polycom, Inc. | Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port |
CN101541098A (zh) | 2008-12-19 | 2009-09-23 | 中国移动通信集团浙江有限公司 | 移动通信中的协议栈仿真方法 |
CN101867558B (zh) | 2009-04-17 | 2012-11-14 | 深圳市永达电子股份有限公司 | 用户态网络协议栈系统及处理报文的方法 |
CN101931584A (zh) | 2009-06-22 | 2010-12-29 | 中兴通讯股份有限公司 | 支持同一系统中多种协议栈之间数据转发的方法和系统 |
CN101656677B (zh) | 2009-09-18 | 2011-11-16 | 杭州迪普科技有限公司 | 一种报文分流处理方法及装置 |
JP5900352B2 (ja) * | 2011-02-04 | 2016-04-06 | 日本電気株式会社 | パケット処理装置、パケット処理方法およびプログラム |
CN102523208A (zh) | 2011-12-06 | 2012-06-27 | 无锡聚云科技有限公司 | 多核架构下的应用层协议并行处理方法 |
CN104811432A (zh) * | 2014-01-29 | 2015-07-29 | 华为技术有限公司 | 基于并行协议栈实例的数据包处理方法和装置 |
-
2014
- 2014-01-29 CN CN201410043721.0A patent/CN104811431B/zh active Active
- 2014-11-19 JP JP2016549111A patent/JP6359111B2/ja active Active
- 2014-11-19 WO PCT/CN2014/091614 patent/WO2015113435A1/zh active Application Filing
- 2014-11-19 EP EP14880468.5A patent/EP3091706B1/en active Active
-
2016
- 2016-07-28 US US15/222,753 patent/US10069947B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160337483A1 (en) | 2016-11-17 |
JP2017509055A (ja) | 2017-03-30 |
EP3091706A1 (en) | 2016-11-09 |
US10069947B2 (en) | 2018-09-04 |
EP3091706B1 (en) | 2020-01-08 |
WO2015113435A1 (zh) | 2015-08-06 |
EP3091706A4 (en) | 2016-12-28 |
CN104811431A (zh) | 2015-07-29 |
CN104811431B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6359111B2 (ja) | 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置 | |
US10044616B2 (en) | Co-existence of routable and non-routable RDMA solutions on the same network interface | |
US9747093B2 (en) | Device driver aggregation in operating system deployment | |
US9965441B2 (en) | Adaptive coalescing of remote direct memory access acknowledgements based on I/O characteristics | |
US10225145B2 (en) | Method and device for updating client | |
CN104468401A (zh) | 一种报文处理方法和装置 | |
US20210029052A1 (en) | Methods and apparatuses for packet scheduling for software- defined networking in edge computing environment | |
EP3273664B1 (en) | Data processing method and device, server, and controller | |
WO2011078861A1 (en) | A computer platform providing hardware support for virtual inline appliances and virtual machines | |
EP3559833B1 (en) | Best-efforts database functions | |
US11496599B1 (en) | Efficient flow management utilizing control packets | |
WO2018133781A1 (en) | Database functions-defined network switch and database system | |
US10685134B1 (en) | Database proxy service | |
US10616116B1 (en) | Network traffic load balancing using rotating hash | |
CN112714903A (zh) | 使用客户端提供的决策元数据的基于可缩放小区的包处理服务 | |
EP2930883B1 (en) | Method for the implementation of network functions virtualization of a telecommunications network providing communication services to subscribers, telecommunications network, program and computer program product | |
CN114518833A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US9674282B2 (en) | Synchronizing SLM statuses of a plurality of appliances in a cluster | |
US20230409514A1 (en) | Transaction based remote direct memory access | |
WO2017041509A1 (zh) | 一种基于多处理单元的报文采样方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171228 |
|
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: 20180522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6359111 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |