JP4242835B2 - 高データレートのステートフルプロトコル処理 - Google Patents
高データレートのステートフルプロトコル処理 Download PDFInfo
- Publication number
- JP4242835B2 JP4242835B2 JP2004526038A JP2004526038A JP4242835B2 JP 4242835 B2 JP4242835 B2 JP 4242835B2 JP 2004526038 A JP2004526038 A JP 2004526038A JP 2004526038 A JP2004526038 A JP 2004526038A JP 4242835 B2 JP4242835 B2 JP 4242835B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- event
- ppc
- processing
- message
- 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.)
- Expired - Fee Related
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]
-
- 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/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
-
- 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/12—Protocol engines
-
- 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/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
同じく図2を参照すると、インターフェース202及び204によって受信されたデータは、処理のためにそれぞれメッセージスプリッタモジュール206及び208へ転送される。この転送は、典型的には、サイズ「B」のバス上で行われる。本明細書を通じて、「B」は、速度及びレイアウトに関する拘束条件を満たすように工学上の便宜に鑑みて選択可能なバスサイズを示すために使用するものであり、単一の値を表すものではないが、典型的には16乃至128ビットの範囲内である。メッセージスプリッタモジュール206及び208は、複数のサービスの組み合わせを実行可能である。例えば、これらは、断片的にバーストで受信される複数の着信メッセージ(典型的にはパケット)を再組織化することが可能であり、その発信元及びコンテンツからパケットのタイプを識別して、後段の処理に係るタイプ識別を簡単化するためにメッセージへ何らかのデータを追加することが可能である。これらはまた、着信するメッセージを「ペイロード」データと「プロトコルイベント」(以後、単に「イベント」という。)データとに分割することが可能である。
メッセージスプリッタ206及び208の典型的な機能は、着信するメッセージから、そのメッセージのステートフル処理に最も関連のある情報を導出し、このような情報が導出されたもとのメッセージと同じフローに関連する1つの「イベント」に当該情報をフォーマットして配置することである。例えば、多くのトランスポート層プロトコルによれば、フロー識別、ハンドシェイキング、長さ、パケットの順序、及びプロトコル識別を含む「状態に関連した」データは、パケットヘッダ内の既知の場所に配置される。各ステートフルプロトコルメッセージは、それが属するフローの状態に関連する情報を有し、このような状態に関連した情報は、それを識別できる場所に配置される。(ステートフルプロトコル処理を実行するシステムは、ステートレスメッセージ(すなわち状態を保持しないプロトコルのメッセージ)も処理できるという点に留意されたい。TLPは、例えば典型的には、アドレス要求プロトコル(Address Request Protocol)又はARPパケットのような、確立されたフローに関連付けられておらず従ってフロー状態に影響を与えることのないパケットも処理する。このような「ステートレス」パケットは、ここで説明している実施形態に適合する任意の技術によって処理されることが可能である。しかしながら、中心となることがらは、メッセージフローに係るフロー状態に実際に影響するステートフルメッセージの処理にあるので、本明細書ではこれらの技術についてこれ以上論じない。)
受信されたメッセージは、例えば、インターフェース(202,204)又はメッセージスプリッタ(206,208)モジュールによってある程度検査されてもよく、このような検査の結果は、そのイベントの「タイプ」を導出するために使用可能である。例えば、パケットが属するフローで呼び出されたプロトコルによるエラーチェックにおいて当該パケットに異常が存在しなければ、このようなパッケージから導出されるイベントは、そのメッセージのプロトコル及び明らかな有効性を反映するイベントの「タイプ」フィールドによって識別されることが可能である。従ってSPPSによって処理される異なる各プロトコルは、特定の「タイプ」を有してもよく、この情報はイベントに包含されて後続の処理に関する決定が簡単化されることが可能である。その他、メッセージの断片であるタイプが定義される場合もあり、このような断片は一般に、そのメッセージの残りが到来するまで、処理されずに保持される必要がある。メッセージの断片は、イベントのプロトコルに従ったサブタイプを有してもよいが、このことは必須ではない。さらなるイベントタイプが、エラーを有するメッセージとして定義される場合もある。イベントの「タイプ」は、後続するイベントの処理を方向付ける(制御する)ために有用な場合があるので、異なる処理が必要なエラーを有するメッセージは、一般的なエラーのサブタイプとして識別されることが可能である。一例として、エラータイプのイベントは、そのイベントのSPを反映するサブタイプによって識別されることが可能である。
図2に示すように、メッセージスプリッタ206,208によって作成された複数のイベントは、イベントディスパッチャーモジュール212へ転送され、ここでそれらのイベントはキューメモリに入力されることが可能である。イベントディスパッチャーモジュール212(又は単にディスパッチャー)は、メッセージとともに到来するフロー識別「キー」に基づいて、ローカルフローIDプロキシの検索を開始することにより、着信するイベントの処理を開始できる。
フロー識別キー(又は単に「フローキー」)は、フローによって使用されるSP(例えばTLP)に従って、メッセージが属するフローを一意的に識別する。フローキーは非常に大きなものであってもよく(典型的には、TCPの場合で116ビット)、それ自体では、特定のフローに関連した、SPPSによって保持された情報の位置決めのために便利なフォーマットではない場合がある。この目的で、代わりにローカルフローIDプロキシが使用可能である。ローカルフローIDプロキシ(又は単に「ローカルプロキシID」、「ローカルフローID」又は「プロキシID」)は一般に、SPPS内部の特定のフローを一意的に識別するのに十分な情報を含み、特定のフローに関連する情報をSPPS内において位置決めするためにさらに有用にされることも可能である。例えば、ローカルフローIDプロキシは、SPPS内に保持されている特定のフローに関する情報(フロー状態等)を位置決めするための、フロー状態メモリ214へのインデックスとして機能するように選択されることが可能である。ローカルフローIDプロキシは、SPPSを目的とするフローのより便利な代表となってもよいだけでなく、典型的にはより小さいものにもなる。
本明細書に記述しているスクラッチパッドメモリ210及びフロー状態メモリ214等の別個の「メモリ」は各々、典型的には、メモリ単体だけでなく適切なメモリコントローラ装置も含む。しかしながら、メモリコントローラの機能は一般には本明細書における説明の要となるものではなく、ここでは単に、メモリが要求に応答して特定のデータブロックを格納すること、又は返すことのいずれかを必要としている。本明細書に記載したSPPSは、数百万のアクティブなフローを同時に処理できるように作成されてもよい(もしくは、数千又はさらに少ない数のアクティブなフローを処理することに制限されてもよい)ので、また、典型的なフロー状態は約512バイトであってもよく、それ故、図2のSPPSを実装するためには1GBの何倍ものメモリが必要とされてもよい。このような大規模メモリを実装する技術は既知であって常に発展しており、このような既知の、又は今後開発される技術の任意のものは、そのようなメモリによって十分な性能が達成される限り、図2のSPPSを形成するために任意のタイプのメモリとともに使用可能である。複数のメモリは、それらが実質的に独立した方法で機能すれば、別個のメモリとして互いに区別される。例えば、1つのメモリに格納されたデータ項目をアドレス指定することが、別個のメモリにおける無関係の項目を同時にアドレス指定することを妨げないように、複数の別個のメモリは独立してアドレス指定されることが可能である。また、1つのメモリにおけるある項目へアクセスすることが、別個のメモリにおける無関係の項目へ同時にアクセスすることを妨げないように、複数の別個のメモリは独立してアクセスされることが可能である。このような独立性に起因して、複数の別個のメモリは、場合によって、複数の共通(又は共用)メモリに困難をもたらすデータアクセス上のボトルネックを除去することが可能である。
図2に示したディスパッチャーモジュール212は、ディスパッチャーの複数のタスクのうちの特定のサブセットを実行する複数のサブモジュールを含んでもよい。例えば、到来するイベントに含まれているフローキーに基づいてローカルフローIDプロキシを照合する機能を実行する別個の「ルックアップ」モジュールを組み込むことが有用な場合がある。ディスパッチャー212のもう1つの機能は、各フローに関連付けられた特定のSPによって必要とされる場合があるように、複数のアクティブなフローのための複数のフロータイマを確立して維持することであってもよい。ローカルフローIDプロキシによってインデックスが付与されるこのような複数のフロータイマをメモリ内に維持することが好都合である場合、ルックアップモジュールはまた、これらのフロータイマをモニタリングする機能を便宜的に実行してもよい。またディスパッチャー212は、フローに係るイベントを処理するためにPPCを割り当てる際に、フロー状態を当該PPCへ提供してもよい。このフロー状態が、メモリにおいて、ローカルフローIDプロキシによって付与されたインデックスを有するロケーションに同様に保持される場合、これは、ルックアップモジュールによって便宜的に実行されることが可能な別の機能になってもよい。このようなルックアップモジュールは独立したものであってもよく、又は本質的にディスパッチャーのサブモジュールであってもよい。ルックアップモジュールはまた、主としてシステムの他の複数のセクションに関連付けられてもよい。例えばこれは、ルックアップタスクが実行される場所がメッセージスプリッタモジュール206,208であれば主としてそのメッセージスプリッタモジュール206,208に(又はそのサブモジュールにも)関連付けられてもよく、ルックアップタスクが主にPPC216乃至222で実行されるのであれば主としてそのPPC216乃至222に関連付けられてもよい。
ディスパッチャーに係る意志決定のうちの一部又はすべてを実行するために、もう1つのモジュール、又はディスパッチャーサブモジュールが生成されてもよい。「指示器(ダイレクタ)」と呼ばれるこのようなサブモジュールは、フローに係る特定のイベントを処理する特定のPPCを選択することに関わるステップと、SPPS(ステートフルプロトコル処理システム)全体に関して、複数の様々なPPCにおけるアクティブなフロー処理の状態を追跡することに関わるステップとを実行することが可能である。
メッセージに対してローカルフローIDプロキシを確立すると、ディスパッチャー212は、フローに関連付けられたSPに従ってメッセージイベント(又は、メッセージとイベントとが分割されていなければメッセージ全体)がどこで処理されるべきかを決定する。実施形態によっては、大量のこのようなSP処理が1つのプロトコル処理コア(「PPC」)によって実行される。所定個数のPPCを有するクラスタはPPC216乃至218で表されるとともに、PPC220及び222は複数のPPCにてなるもう1つのクラスタを表す。図示されているPPCクラスタは2つであるが、任意個数のこのようなPPCクラスタの使用が可能である。例えば、一実施形態に係るTLTSは単一のPPCクラスタのみを備える場合がある一方、複雑な実施形態に係るSPPSは数百ものクラスタを含む場合がある。図2では1つのクラスタ内のPPCのうちの2つが示されているが、与えられた任意のクラスタにおいて2つ以上のPPCが使用されてもよく、典型的には1つのクラスタにつき5つのPPCが存在する。設計の対称性にとって好都合であるが、各クラスタ内のPPCの個数が同一である必要はない。複数のクラスタ内に複数のPPCを特定的に組織化した構成は、部分的には、バスの輻輳を緩和することによってデータ転送を促進するように選択される。各クラスタは、各クラスタに係る複数のPPCを相互接続するクラスタ内コア間バス224(又は226)を利用可能であり、各クラスタは、典型的には、バス230又は232によってバスネットワーク及び制御装置ブロック228に接続される。ディスパッチャー212と複数のPPCとの間のデータは、バスネットワーク及び制御装置ブロック228によって組織化されることが可能である。バスネットワーク及び制御装置ブロック228は、後に詳述するように、複数の様々なモジュール間の通信を促進する「クロスバー」スイッチとして主に機能する。
本発明のいくつかの実施形態では、ディスパッチャー212は、特定のフローに関連付けられた複数のイベントを処理する特定のPPCを選択する。このような割り当てに関しては、多数の考慮すべき事項が存在する。まず、PPCは、問題となっているタイプに属するイベントに適合し、又はそのイベントを処理するように構成されているPPCのうちの1つである必要がある。このような適合性(互換性)は、ディスパッチャーにおいてか又はディスパッチャーのフロー処理状態サブシステムにおいて、PPCが適合するイベントタイプ又はプロトコルを示すPPCテーブルにより決定されることが可能であり、次にこれは、着信するイベントのプロトコル又はイベントタイプの必要条件と比較されることが可能である。実施形態によっては、イベントは、別の処理段において、例えばメッセージスプリッタモジュールにおいてその「タイプ」を示す情報によりマーキングされる。従ってディスパッチャーは、予め決められたイベントの「タイプ」に基づいて、適合性のあるPPCを選択するだけでよい。典型的には、イベントタイプは、特定のフローの状態に関連した情報を有するすべてのメッセージもまた同じイベントタイプを有しかつ上記すべてのメッセージが同じPPCにより処理されることが可能であるように定義される。従ってPPCは、指示されたイベントタイプを処理できるPPCにてなるグループから選択される。
選択されたPPC(216)にイベントを送信すると、ディスパッチャー212は、フローに関連付けられた(従ってPPC216に関連付けられた)ロケーションにおいてイベントカウンタをインクリメントする。イベントカウンタは、現在のPPC処理に関するこうした情報のために予約され、ローカルフローIDプロキシに関連付けられたローカルメモリブロック内(例えば、ディスパッチャー内のコア稼働状況マネージャ内)に保持されることが可能であり、又は他の好都合なロケーションに保持されることが可能である。イベントカウンタは、イベントがそのPPCへ送信される毎にインクリメントされ、PPCがそのフローに関する「完了」メッセージを返信する毎にデクリメントされる。イベントカウンタが非ゼロである限り、PPCは、関連付けられたフローに関するイベントをその時点で処理している。イベントカウンタが特定のフローに関してゼロに到達すると、PPC(216)はもはやその特定のフローに関して処理すべきイベントを持たず、そのリソースのうちの当該特定のフローを処理するために割り当てられていたものは、他のフローを処理するために解放されることが可能である。ただし、PPC216は他のフローのイベントを処理している場合があり、この特定のフローを処理することからのその解放は、このような他のフローとは関わりなく実行可能であるということに留意されたい。
PPCは、関連付けられたイベントカウンタがゼロに到達した後で、特定のフローに係るイベントを処理する責務から解放されることが可能である。よって、一般にワークスペースはフリーにされるので、このような解放は、PPCが異なるフローに係るイベントの処理に割り当てられてもよいということを意味する。一般に、PPCは同時に別のフローを処理していてもよく、上記解放は、このような他のフローに対するPPCの責務に影響することはない。特定のフローに係るイベントが処理のために別のPPCへ再割り当てされてもよいということをイベントカウンタ(又は他の指示情報)が示す典型的な状況では、SPPSは、(そのフローに係るイベントタイプを処理できるPPCのうちの)異なる複数のPPCの間で、上記複数のPPCによって処理されている他のフローとは独立に特定の個々のフローをシフトすることにより、PPC処理の負荷をバランス化させることが可能にされる。複数のフローにてなるクラス(所定の特性を有するフローキーをそれぞれ備えた複数のフローにてなるクラス等)に係るイベントを複数のPPCに処理させる技術に比べて、このような独立したフロー割り当ては、1つ又は複数のPPCがアイドル状態であって別のPPCは継続的にイベントを処理しているということの統計的確率を低下させてもよい。
例えばTCPのような、メッセージの配信を保証するTLPアプリケーションにおいては、送信されたメッセージが正しく受信されたことの確認が1つの必要条件である。これらのTLPでは、メッセージが正しく受信されなければ、そのメッセージは再送信される必要がある。再送信の要求が到着するにはしばらく時間がかかる場合があるので、送信されたメッセージは、所定時間期間だけメモリ(例えば「送信バッファ」)内に保持される必要がある。送信バッファを使用することは、最初の送信より前であっても要求される場合があり、例えば出力宛先(例えば図2のホスト1 104又はネットワーク1 106)においてデータの受け入れ準備ができていないときに要求される。同様に、「受信バッファ」もしばしば必要とされる。例えば、複数のメッセージは、本来とは異なる順序で受信され又は断片的に受信される場合があるが、これらは、メッセージを完成させてそれらメッセージを正しい順序にすることを必要とするTCPのルールに従うために、所定時間期間だけ保存される必要がある。メッセージは、簡単にスクラッチパッドメモリ210に格納されることも可能ではあるが、大型の送受信バッファを伴う大規模システムの場合には、別個の「ソケットメモリ」236を確立して大量のデータを幾分延長された期間に渡って格納することがより好都合である。このようなソケットメモリ236は、図2に示すようにバス238を介してスクラッチパッドメモリ210とインターフェースをとり、もう1つのバス240を介してバスネットワーク及びPPCクラスタ制御装置228とインターフェースをとることが可能である。(多大なトラフィックに起因して、実施形態によっては、バス240は実際にはいくつかの個々のバス構造を備えてもよい。)
PPCは、適正なタイプのイベントを受信して任意のペイロードのサイズ及びロケーションを反映した情報をいったん有すると、使用されているSPに従ったメッセージ全体の処理を管理することが可能である。PPCは、例えば再送信を要求することや、以前に送信されたメッセージを再送信することなどの、イベントが属するフローに関する動作を管理することが可能であり、かつそのフローのフロー状態を適宜更新することが可能である。実施形態によっては、PPCが物理的にメッセージを出力プロセッサ(242,244)へ直接転送せず、単に他の回路を制御することによって出力プロセッサ242,244における再アセンブルのためにメッセージを転送させるならば、トラフィックの輻輳を削減することが可能である。
図3は、図2のバスネットワーク及びPPCクラスタ制御装置228の例示的なアーキテクチャを示す。この実施形態では、複数のPPC(216乃至218)にてなるクラスタは、クラスタバスインターフェース302を介して部分的に制御される。命令は、典型的にはRAMを用いて実装された命令メモリ304から、クラスタバスインターフェース302を介して、クラスタ内のすべてのPPC(216乃至218)によって利用されることが可能である。クラスタバスインターフェース302はまた、クラスタ内のすべてのPPCに、ルーティング制御テーブル306へのアクセスを提供することが可能である。クラスタのDMAコントローラ308(「C DMA」)が提供されることも可能であり、これは、DMAコントローラ308のFIFOからクラスタバスインターフェース302へデータを伝送するとともに、上記FIFOからクラスタのPPC216乃至218の各々のデュアルポートメモリ(例えばDPMEM310,312)における一方の側へデータを伝送する出力バスを有することが可能である。DPMEM310,312は、DMAコントローラとは異なる側においてその対応するプロセッサにアクセス可能であり、DPMEM310,312は、PPC216,218の一部として上記対応するプロセッサと関連付けられている。図3に示すように、DMAコントローラ308は別個の入力バスを有することが可能であり、FIFOは、上記入力バスによって、デュアルポートメモリ(例えばDPMEM310,312)とクラスタバスインターフェース302とからデータを受信する。DMAコントローラ308は、例えば、PPCのローカルメモリとフロー状態メモリ214との間でフロー状態を転送するために使用可能である。図3に示すように、クラスタバスインターフェース302はまた、双方向バス接続をメッセージバス314へ提供し、さらなる双方向バス接続240bをソケットメモリ236へ提供する。PPCのローカルメモリのうちの一部又は実質的な全体は、DPMEM310等のDPMEMであることが可能であるが、設計及び製造上の都合により、任意の適切なローカルメモリが代わりに使用されてもよい。
図4は、一般に複数のPPC(プロトコル処理コア)を交代させる、すなわち異なるときに異なるPPCを使用する、あるフローに属するメッセージのステートフルプロトコル処理を実行するために例示的なSPPSによって実行されることが可能な動作を示すフローチャートである。図4に示すように、ステップ402でメッセージが受信される。このステップは、パケットの断片から完全なメッセージを再構成すること、有効性のチェックを実行すること、及び/又はチェックサムを確立すること等の様々なサブステップを含んでもよい。次に、ステップ404において、メッセージのペイロードはスクラッチパッドメモリへ移動されることが可能である。ステップ404が、メッセージを分割することと、特に入力処理装置及び出力処理装置の両方にとって利用可能な一時的メモリロケーションにメッセージの一部を格納することとを示す限り、このステップ404はオプションである。代替として、例えば、メッセージは一緒に保持されてもよく、及び/又は、より永久的なメモリロケーションに直接移動されてもよい。
PPCが現時点のイベントの処理を完了した後、決定ステップ428では、イベントの属するフローに関するすべての処理をPPCが完了したか否かについての決定が行われる。ある実施形態では、このような決定は、「完了」ステートメントに応答してPPCに関連付けられたイベントカウンタをデクリメントしかつイベントカウンタがゼロに到達したと決定するディスパッチャーモジュールによって行われることが可能である。しかしながら、異なる実施形態では、そのフローに関してPPCが完了されることを確立するための多くの代替方法が適切となる。例えば、PPCのキューメモリ内に存在するフローの最後のイベントの処理を完了した時点で、PPCは、そのフローに関して「完了」したものとされてもよい。別の例として、PPCのローカルメモリ内のフロー状態が、別のPPCにおける処理によって上書きされたり又は無効化されたりした時点で、PPCはそのフローに関して完了したものとされてもよい。「完了」に係るこれらの定義、又は他の定義は、PPC自体の内部等の様々な場所のうちの1つ(又はそれ以上)において、もしくはディスパッチャー等のよりグローバルなモジュールにおいて(例えばコア稼働状況マネージャサブモジュール内で)追跡されることが可能である。
図5は、例示的なSPPS内の「ディスパッチャー」モジュールにより、あるフローに属するイベントを異なる時間において異なるPPCに対してディスパッチ処理するために行われてもよい動作を示すフローチャートである。図5は、一般にはディスパッチャーモジュール(及び複数のサブモジュール)に帰属されてもよい動作である、着信するイベントの分配を実行する動作に焦点を当てたものである。従って、図5のステップは実質的に、図4に示したもののようなSPPS全体に係るステップのサブセットであってもよいが、図5のステップはディスパッチャーモジュールの視点からのものであり、図4に示したもの以外の異なる詳細事項を含んでもよい。ディスパッチャーモジュールは、当該ディスパッチャーモジュールがイベントをディスパッチ処理する対象であるPPCとも、当該ディスパッチャーモジュールによって受信されるイベントが到来してくる入力処理とも概念上は別個のものであり、図2におけるディスパッチャー212と同様にSPPS内に接続されることも可能であれば、又は他の方法で接続されることも可能である。ディスパッチャーモジュールはまた、概念的にも、又は物理的にさえも、さらに分割されることが可能であり、例えば、ローカルフローIDプロキシ(及び/又はフロー状態)の「ルックアップ」モジュールや、指示器コア稼働状況マネージャを参照すると、これらは各々、概念的にか又は物理的にかのいずれかで、ディスパッチャーモジュールのサブモジュールであったり、又はディスパッチャーに関連付けられた補助モジュールであったりしてもよい。
本明細書に記載したようなSPPS(ステートフルプロトコル処理システム)がトランスポート層以外の階層のフローを処理できる一つの方法は、カプセル化されたメッセージを抽出し、抽出されたメッセージをさらなる処理のために再循環させるというものである。このようなさらなる処理は、カプセル化されるメッセージのための適切なプロトコルに従って実行可能であるが、これは典型的には、メッセージをカプセル化する場合に使用されるプロトコル(典型的にはTLP)とは異なる。
Claims (49)
- 複数のメッセージにてなる複数のフローを処理するステートフルプロトコル処理システム(「SPPS」)においてデータを処理する方法であって、各フローは、このようなフローに属する複数のメッセージによって伝送される一意的に対応したフロー識別情報(「FID」)に関連付けられ、
上記方法は、
a)特定のフローに属する複数のメッセージを受信することと、
b)上記複数のメッセージから上記特定のフローに関連付けられた複数のイベントを導出することと、
c)上記特定のフローのステートフルプロトコル(SP)に従って上記イベントのうちの1つ又は複数を処理する第1のプロトコル処理コア(「PPC」)を特定的に割り当てることと、
d)上記特定のフローのSPに従って上記イベントのうちの他の1つ又は複数を処理する異なる第2のPPCを特定的に割り当てることとを含む方法。 - ステップc)及びd)においてPPCを割り当てることは、異なる複数のPPC間で負荷状態をバランス化させるアルゴリズムに従うことをさらに含む請求項1記載の方法。
- 上記異なる複数のPPC間で負荷状態をバランス化させるアルゴリズムは、複数のPPCにてなるセット間におけるラウンドロビン型分配を含む請求項2記載の方法。
- e)各PPCのローカルキューメモリにいくつかのイベントを格納することと、
f)複数のPPCにてなる関連したグループ内における低負荷のPPCであって、上記関連したグループ内の異なるPPCのキューメモリに格納されたイベントより少ないイベントが当該低負荷のPPCのローカルキューメモリに格納されている低負荷のPPCを識別することとをさらに含み、
g)上記異なる複数のPPC間で負荷状態をバランス化させるアルゴリズムは、PPCに割り当てられたイベントを現在持たないフローに係るイベントを処理するために上記低負荷のPPCを割り当てることを含む請求項2記載の方法。 - e)異なる複数のフローの組み合わせに係る複数のイベントを同時に上記第1のPPCへ割り当てることと、
f)上記異なる複数のフローの組み合わせのうちの1つに係る後続のイベントを上記第2のPPCへ割り当る一方、上記第1のPPCは、上記異なる複数のフローの組み合わせのうちのもう1つのものに係るイベントの処理を継続することとをさらに含む請求項1記載の方法。 - e)異なる複数のフローの組み合わせに係る複数のイベントを同時に上記第1のPPCへ割り当てることと、
f)上記異なる複数のフローの組み合わせのうちの1つに係るイベントを処理することに対する第1のPPCの割り当てを明示的に解放する一方、上記第1のPPCは、上記異なる複数のフローの組み合わせのうちのもう1つのものに係るイベントの処理を引き続き割り当てられることとをさらに含む請求項1記載の方法。 - e)現在どのPPCにもイベントの処理が割り当てられていない、割り当てられていないフローのメッセージを受信することをさらに含み、上記割り当てられていないフローは、対応するFIDを有し、
f)上記割り当てられていないフローに係る一般的なタイプのイベントのうちのイベントを処理するように構成された複数の互換PPCを識別することと、
g)上記割り当てられていないフローに対応するFIDに関わりなく、上記複数の互換PPCの間から、上記割り当てられていないフローに係る1つ又は複数のイベントを処理するPPCを選択することとをさらに含む請求項1記載の方法。 - e)現在どのPPCにもイベントの処理が割り当てられていない、割り当てられていないフローのメッセージを受信することと、
f)上記複数の互換PPCによって処理されるために現在キューメモリに格納されているフローのFIDに関わりなく、このようなイベントに適合する複数のPPCの間から、上記割り当てられていないフローに係る1つ又は複数のイベントを処理するPPCを選択することとをさらに含む請求項1記載の方法。 - 特定のイベントを処理するPPCを選択する前に、上記特定のイベントが、現在PPCが割り当てられているフローに属するか否かを明示的に決定することをさらに含む請求項1記載の方法。
- 以前に選択されたPPCが、対応するフローに現在割り当てられていると決定されたとき、上記以前に選択されたPPCを用いて、上記対応するフローの状態に影響を与えるすべての着信イベントを処理することをさらに含む請求項9記載の方法。
- いかなるフローのFIDにも関わりなく、特定のフローに係るイベントを処理するPPCの以前の割り当てを解放することをさらに含む請求項9記載の方法。
- 第1のフローの状態に影響することに関連したイベントであって、かつ現在処理されているイベントが存在しないことを示す情報に基づいて、上記第1のフローに係るイベントを処理するPPCの以前の割り当てを解放することをさらに含む請求項1記載の方法。
- 上記第1のフローに関連したイベントであってかつ現在処理されているイベントが存在しないことを示す情報は、上記第1のフローに関連したイベントの導入及び完了をカウントするカウンタに基づく請求項12記載の方法。
- イベントを処理するPPCを選択する前に、上記イベントのタイプを決定することをさらに含む請求項1記載の方法。
- e)PPCを選択することに先行して、複数の様々なフローに属する受信されたメッセージから導出される所定個数のイベントについてイベントタイプを決定することをさらに含み、決定される複数の別個のイベントタイプは、少なくとも、
i)第1のステートフルプロトコル(「SP」)を用いるフローに係る良好なイベントと、
ii)異なる第2のSPを用いるフローに係る良好なイベントと、
iii)エラーを有すると決定され、上記第1のSPを用いるフローに係るイベントとを含む請求項1記載の方法。 - 上記決定される複数の別個のイベントタイプはさらに、iv)パケットの断片を含む請求項15記載の方法。
- 上記SPPS内のステートフルプロトコル処理のための第1のメッセージ内にカプセル化された情報を、第2のステートフルプロトコルメッセージとして再循環することをさらに含む請求項1記載の方法。
- 複数のデータ通信メッセージにてなる複数のフローを処理するデータ通信ステートフルプロトコル処理システムにおいてデータを処理する方法であって、各フローは、このようなフローに属する複数のメッセージによって伝送される一意的に対応したフロー識別情報(「FID」)に関連付けられ、
上記方法は、
a)特定のフローに属するメッセージと、他のフローに属するメッセージとを受信することと、
b)上記受信されたメッセージから、上記特定のフローに関連付けられたイベントと上記他のフローに関連付けられたイベントとを含む、イベントが導出されるメッセージのFIDによって示されたフローに関連付けられたイベントを導出することと、
c)各イベントを1つ又は複数の予備処理キューメモリからなるグループの1つに配置することと、
d)上記特定のフローに係る第1のイベントを処理する第1のプロトコルプロセッサコア(「PPC」)を、上記第1のイベントが位置した上記予備処理キューメモリに関わりなく割り当て、続いて上記割り当てられた第1のPPCのローカルキューメモリへ上記第1のイベントを転送することと、
e)上記特定のフローに係る異なる第2のイベントを処理する異なる第2のPPCを、上記第2のイベントが位置した上記予備処理キューメモリに関わりなく割り当て、続いて上記割り当てられた第2のPPCのローカルキューメモリへ上記第2のイベントを転送することとを含む方法。 - 上記第1及び第2のPPCは、実質的に、ステートフルプロトコルメッセージの処理を実行するために設けられる請求項18記載の方法。
- ステップb)は、上記導出されるイベントから、上記受信されたメッセージのペイロードデータを実質的に除外することをさらに含む請求項18記載の方法。
- ステップb)は、イベントタイプを示す情報を含まないイベント内に、イベントタイプを示す情報を配置することをさらに含む請求項20記載の方法。
- f)上記イベントをPPCに転送することに先行して、イベントの完全性を検証することをさらに含む請求項18記載の方法。
- すべてのステートフルプロトコルPPCとは物理的に別個のパケットプロセッサにおいてステップb)を実行することをさらに含む請求項18記載の方法。
- f)PPCによる処理のために現在割り当てられていないフローに係るイベントのローカルプロキシIDを、上記パケットプロセッサによって実行されずかつ上記PPCによって実行されないプログラムステップを実行するルックアッププロセッサの動作を用いて決定することをさらに含む請求項23記載の方法。
- f)上記ローカルプロキシIDに依存してメモリアドレスにおいてフロー状態にアクセスすることをさらに含み、上記フロー状態は、PPCによる処理のために現在割り当てられていないフローに関して予め格納されている請求項24記載の方法。
- f)少なくとも特定のPPCによる処理のために現在割り当てられていないフローに属するイベントに関するローカルフロープロキシIDを、専用のルックアップハードウェアの動作を用いて決定することをさらに含む請求項18記載の方法。
- 上記専用のルックアップハードウェアはマイクロプロセッサを含む請求項26記載の方法。
- f)上記第1のイベントのデータと、関連付けられたフロー状態のデータとを、上記第1のPPCに一意的に関連付けられた第1のメモリに保持することと、
g)異なるフローに係るイベントのデータと、上記異なるフローの対応するフロー状態とを、上記第1のPPCによる上記第1のメモリのアクセスに関わりなく異なるPPCによりアクセス可能なメモリに同時に保持することとをさらに含む請求項18記載の方法。 - イベントデータ及び対応するフロー状態データの両方を、このようなイベントの処理を割り当てられたPPCのローカルなメモリに、上記割り当てられたPPCによるこのようなイベントの処理が完了するまで保持することをさらに含む請求項28記載の方法。
- 複数のイベントを処理する複数のPPCを、異なる複数のPPC間で負荷状態をバランス化させるアルゴリズムに基づいて割り当てることをさらに含む請求項18記載の方法。
- 複数のメッセージにてなる複数のフローを処理するステートフルプロトコル処理システム(「SPPS」)においてデータを処理する方法であって、各フローは、このようなフローに属する複数のメッセージによって伝送される一意的に対応したフロー識別情報(「FID」)に関連付けられ、
上記方法は、
a)特定のフローに属する複数のメッセージの受信を実行するステップと、
b)上記複数のメッセージに基づいてイベントの定義を生成するステップと、
c)ステートフルプロトコル(「SP」)処理のために、第1のプロトコルプロセッサコア(「PPC」)への、特定のフローに係る第1のイベントの割り当てを実行するステップと、
d)SP処理のために、異なる第2のPPCへの、上記特定のフローに係る第2のイベントの割り当てを実行するステップとを含む方法。 - 新規なイベントのFIDに関連付けられたフローに係るイベントを、任意のPPCが現在処理しているか否かを決定するステップをさらに含む請求項31記載の方法。
- 特定のFIDに関連付けられて存在するすべてのイベントについて処理がいつ完了したかを決定するステップをさらに含む請求項31記載の方法。
- データ通信のトランスポート層の終端として動作するシステムであって、
a)メッセージ受信機モジュールを備え、上記メッセージ受信機モジュールは、
i)多数のデータ通信メッセージを受信するように構成され、上記各メッセージは、上記メッセージのフロー識別情報(「FID」)によって一意的に識別されるフローに関連付けられ、かつ、
ii)上記受信された複数のメッセージから複数のイベントを導出するように構成され、各イベントは、当該イベントが導出されるメッセージに関連付けられたフローに関連付けられ、
上記システムは
b)イベントのフローのステートフルプロトコルに従って当該イベントを処理するように構成された複数のプロトコルプロセッサコア(「PPC」)モジュールと、
c)上記複数のPPCモジュールの間において複数のイベントをディスパッチ処理するイベントディスパッチ処理モジュールとを備え、上記イベントディスパッチ処理モジュールは、
iv)上記メッセージ受信機モジュールから複数のイベントを受信し、
v)受信された各イベントについて、上記受信されたイベントのフローに係るイベントを処理するために現在PPCモジュールが割り当てられているか否かを決定し、かつ、
vi)受信された特定のイベントのフローのFIDに関わりなく、複数の互換PPCモジュールの中から、受信されたイベントであってかつステップii)で処理のために現在割り当てられているPPCモジュールを持たないと決定されたイベントを処理するPPCモジュールを選択するように構成されたシステム。 - 上記イベントディスパッチ処理モジュールはさらに、受信されたイベントであってかつステップii)で処理のために現在割り当てられたPPCモジュールを持たないと決定されたイベントのフローのローカルプロキシ識別情報を決定するように構成されたルックアップサブモジュールを備えた請求項34記載のシステム。
- 上記イベントディスパッチ処理モジュールはさらに、
d)イベント追跡サブモジュールを備え、上記イベント追跡サブモジュールは、
i)特定のフローに係るイベントを処理するPPCモジュールが現在割り当てられているか否かを決定するように、複数のPPCモジュールに対してディスパッチ処理される複数のイベントに関するフロー処理状態情報を格納するように構成された請求項34記載のシステム。 - (d)上記イベント追跡サブモジュールはさらに、
ii)イベントのフローに従って上記イベントのカウント値を保持し、かつ、
iii)特定のフローに係るイベントが、上記フローに割り当てられたPPCモジュールに対してディスパッチ処理されるとき、上記特定のフローのカウント値を増大させ、
iv)上記特定のフローに係るイベントの処理を上記割り当てられたPPCが完了したことを示す情報に応答して、上記特定のフローのカウント値を減少させるように構成された請求項36記載のシステム。 - e)メッセージから導出されたイベントから分離された、上記メッセージのペイロードデータを格納するように構成されたスクラッチパッドメモリをさらに備えた請求項34記載のシステム。
- e)出力メッセージのフローを処理するPPCモジュールからの命令に従って当該出力メッセージをアセンブルするように構成されたメッセージ出力処理モジュールをさらに備えた請求項34記載のシステム。
- 上記メッセージ受信機モジュールはさらに、イベント内にイベントタイプフィールドを確立するように構成されたプロセッサを備えた請求項34記載のシステム。
- データ通信ステートフルプロトコルに従ってメッセージを処理する装置であって、
a)物理層から複数のメッセージを受信する手段を備え、上記メッセージは1つ又は複数の通信フローに対応し、
b)上記1つ又は複数の通信フローのうちの特定の通信フローに係る情報のステートフルプロトコル(SP)処理を実行する複数の手段と、
c)上記特定の通信フローのメッセージにおいて提供されるフロー識別情報(「FID」)データに関わらずプロセッサの負荷状態をバランス化させるように、上記複数のSP処理手段の中から上記特定の通信フローの情報を処理する1つのSP処理手段を選択する手段とを備えた装置。 - c)上記選択する手段は、
i)上記特定の通信フローの情報を処理するための特定のSP処理手段を割り当てる手段と、
ii)上記割り当てられたSP処理手段を他の任意の通信フローの情報を処理することから解放する必要なしに、上記割り当てられたSP処理手段を上記特定の通信フローの情報を処理することから解放する手段とを備えた請求項41記載の装置。 - d)対応するフローの受信されたメッセージから当該対応するフローに係るイベントを導出する手段をさらに備えた請求項42記載の装置。
- c)上記選択する手段は、割り当てられたSP処理手段へ転送されているフローに係るすべてのイベントについていつ処理が完了されるかを決定する手段をさらに備えた請求項43記載の装置。
- a)2つ以上のプロトコル処理コア(「PPC」)マイクロプロセッサと、b)ディスパッチャーとを備えたステートフルプロトコル処理装置であって、
各PPCマイクロプロセッサは、
i)他のPPCに干渉することなく上記PPCによりアクセス可能なフロー状態を実質的に格納するのに十分なローカルメモリと、
ii)当該装置の動作中に、受信されたデータメッセージを適切なステートフルプロトコル(SP)に従ってマイクロプロセッサに処理させるのに十分な命令コードを含むように構成されたプログラムメモリとを含み、上記命令コードは、上記受信されたデータメッセージ内の状態に関連した情報に応答してローカルメモリに格納された関連付けられたフロー状態を更新することを含み、
上記ディスパッチャーは、複数のデータメッセージを受信するための入力と、処理回路とを含み、上記処理回路は、少なくとも当該装置の動作中に、
iv)特定のフローに関連付けられた第1の受信されたデータメッセージの情報を、SP処理のために第1のPPCへ転送し、
v)上記特定のフローに関連付けられた少なくとも1つの異なる第2のメッセージの情報を、SP処理のために異なる第2のPPCへ転送するように構成された装置。 - 各PPCはさらにデュアルポートローカルメモリを備えた請求項45記載の装置。
- データ通信システム内において、対応する複数の通信フローに属する複数の通信イベントを、互換性のある複数のプロトコルプロセッサ間に分配する方法であって、
a)分配のために第1のフローに属する第1のイベントをキューメモリにおいて受信することと、
b)第1のイベントに適合する複数のプロトコルプロセッサの中から上記第1のイベントを処理する第1のプロトコルプロセッサを選択することと、
c)上記第1のイベントを上記キューメモリから上記第1のプロトコルプロセッサへ転送することと、
d)他のフローに属する他のイベントを上記キューメモリから上記第1のプロトコルプロセッサへ転送することと、
e)上記特定のフローに属する第2のイベントを上記キューメモリにおいて受信することと、
f)上記互換性のある複数のプロトコルプロセッサの中から上記第2のイベントを処理する異なる第2のプロトコルプロセッサを選択することと、
g)上記第2のイベントを上記キューメモリから上記第2のプロトコルプロセッサへ転送する一方、上記第1のプロトコルプロセッサは上記キューメモリからの他のイベントの処理を継続することとを含む方法。 - 上記第1のプロトコルプロセッサへ転送されていた上記第1のフローに係るすべてのイベントが上記第1のプロトコルプロセッサによって完了されたことに応答して、上記第1のプロトコルプロセッサを、上記第1のフローに係るイベントを処理することから解放することをさらに含む請求項47記載の方法。
- h)ステップc)の後であってかつ上記第1のプロトコルプロセッサが上記第1のイベントの処理を完了する前に、上記特定のフローに係る第3のイベントを受信することと、
i)結果的に、上記特定のフローに係る上記第3のイベントを処理するために上記第1のプロトコルプロセッサを選択することとをさらに含む請求項47記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/211,434 US8015303B2 (en) | 2002-08-02 | 2002-08-02 | High data rate stateful protocol processing |
PCT/US2003/021583 WO2004013720A2 (en) | 2002-08-02 | 2003-07-10 | High data rate stateful protocol processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005535226A JP2005535226A (ja) | 2005-11-17 |
JP4242835B2 true JP4242835B2 (ja) | 2009-03-25 |
Family
ID=31187574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004526038A Expired - Fee Related JP4242835B2 (ja) | 2002-08-02 | 2003-07-10 | 高データレートのステートフルプロトコル処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8015303B2 (ja) |
EP (2) | EP1546843B1 (ja) |
JP (1) | JP4242835B2 (ja) |
CN (1) | CN1688989B (ja) |
AU (1) | AU2003251842A1 (ja) |
WO (1) | WO2004013720A2 (ja) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232303A1 (en) * | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
US8015303B2 (en) | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7596621B1 (en) * | 2002-10-17 | 2009-09-29 | Astute Networks, Inc. | System and method for managing shared state using multiple programmed processors |
US7814218B1 (en) * | 2002-10-17 | 2010-10-12 | Astute Networks, Inc. | Multi-protocol and multi-format stateful processing |
US8151278B1 (en) | 2002-10-17 | 2012-04-03 | Astute Networks, Inc. | System and method for timer management in a stateful protocol processing system |
US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7836211B2 (en) * | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US8346884B2 (en) * | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US8032659B2 (en) * | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US8102843B2 (en) * | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7917658B2 (en) * | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US7953074B2 (en) * | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7370081B2 (en) * | 2003-06-19 | 2008-05-06 | International Business Machines Corporation | Method, system, and program for communication of code changes for transmission of operation requests between processors |
US7363629B2 (en) * | 2003-06-19 | 2008-04-22 | International Business Machines Corporation | Method, system, and program for remote resource management |
US7206872B2 (en) * | 2004-02-20 | 2007-04-17 | Nvidia Corporation | System and method for insertion of markers into a data stream |
US7554974B2 (en) * | 2004-03-09 | 2009-06-30 | Tekelec | Systems and methods of performing stateful signaling transactions in a distributed processing environment |
US7856094B2 (en) * | 2005-03-21 | 2010-12-21 | Tekelec | Methods, systems, and computer program products for providing telecommunications services between a session initiation protocol (SIP) network and a signaling system 7 (SS7) network |
US7760708B2 (en) | 2005-07-08 | 2010-07-20 | Tekelec | Methods, systems, and computer program products for triggering SIP nodes to include SS7 routing information in response messages including information requested by SS7 nodes |
US7672236B1 (en) | 2005-12-16 | 2010-03-02 | Nortel Networks Limited | Method and architecture for a scalable application and security switch using multi-level load balancing |
US8050253B2 (en) * | 2006-01-09 | 2011-11-01 | Tekelec | Methods, systems, and computer program products for decentralized processing of signaling messages in a multi-application processing environment |
US7769715B2 (en) * | 2006-03-17 | 2010-08-03 | International Business Machines Corporation | Synchronization of access permissions in a database network |
US20070245225A1 (en) * | 2006-04-18 | 2007-10-18 | Nally Martin P | System and method for translating between a global view of a system process and a set of interacting processes |
US8260924B2 (en) * | 2006-05-03 | 2012-09-04 | Bluetie, Inc. | User load balancing systems and methods thereof |
US8056082B2 (en) * | 2006-05-31 | 2011-11-08 | Bluetie, Inc. | Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof |
US8800268B2 (en) * | 2006-12-01 | 2014-08-12 | Basf Corporation | Zone coated filter, emission treatment systems and methods |
US20080127638A1 (en) * | 2006-12-01 | 2008-06-05 | Marius Vaarkamp | Emission Treatment Systems and Methods |
JP4369471B2 (ja) * | 2006-12-27 | 2009-11-18 | 富士通株式会社 | ミラーリングプログラム、ミラーリング方法、情報記憶装置 |
US8059667B2 (en) * | 2007-01-31 | 2011-11-15 | Tekelec | Methods, systems, and computer program products for applying multiple communications services to a call |
US8073127B2 (en) * | 2007-02-21 | 2011-12-06 | Tekelec | Methods, systems, and computer program products for using a location routing number based query and response mechanism to effect subscriber cutover |
US8213440B2 (en) * | 2007-02-21 | 2012-07-03 | Tekelec Global, Inc. | Methods, systems, and computer program products for using a location routing number based query and response mechanism to route calls to IP multimedia subsystem (IMS) subscribers |
US20080198996A1 (en) * | 2007-02-21 | 2008-08-21 | Tekelec | Methods, systems, and computer program products for using a location routing number based query and response mechanism to effect advanced routing |
US8730970B2 (en) * | 2007-02-23 | 2014-05-20 | Tekelec Global, Inc. | Methods systems, and computer program products for providing voicemail routing information in a network that provides customized voicemail services |
EP2143230A1 (en) * | 2007-04-20 | 2010-01-13 | Tekelec | Methods, systems, and computer program products for providing fault-tolerant service interaction and mediation function in a communications network |
JP4872952B2 (ja) | 2008-03-06 | 2012-02-08 | 日本電気株式会社 | Tcpバッファコピー分散並列処理装置、方法及びプログラム |
US8532092B2 (en) * | 2008-06-02 | 2013-09-10 | Tekelec, Inc. | Methods, systems, and computer readable media for providing next generation network (NGN)-based end user services to legacy subscribers in a communications network |
WO2010060087A2 (en) * | 2008-11-24 | 2010-05-27 | Tekelec | Systems, methods, and computer readable media for location-sensitive called-party number translation in a telecommunications network |
US9219677B2 (en) | 2009-01-16 | 2015-12-22 | Tekelec Global, Inc. | Methods, systems, and computer readable media for centralized routing and call instance code management for bearer independent call control (BICC) signaling messages |
US9712341B2 (en) | 2009-01-16 | 2017-07-18 | Tekelec, Inc. | Methods, systems, and computer readable media for providing E.164 number mapping (ENUM) translation at a bearer independent call control (BICC) and/or session intiation protocol (SIP) router |
US9459941B2 (en) * | 2009-07-28 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for synchronizing the processing of events associated with application sessions in a telecommunications network |
US8224337B2 (en) * | 2009-09-16 | 2012-07-17 | Tekelec, Inc. | Methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway |
US9264321B2 (en) * | 2009-12-23 | 2016-02-16 | Juniper Networks, Inc. | Methods and apparatus for tracking data flow based on flow state values |
US8400923B2 (en) * | 2010-10-15 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | Multipath transmission control protocol proxy |
US9223624B2 (en) * | 2010-10-20 | 2015-12-29 | International Business Machines Corporation | Processing requests in a cloud computing environment |
EP2490403A1 (en) * | 2011-02-17 | 2012-08-22 | Alcatel Lucent | Network communication node comprising a plurality of processors for processing layers of communication and associated node |
CN102761472B (zh) * | 2011-04-29 | 2015-07-15 | 无锡江南计算技术研究所 | 通信端口及其路由方法、通信模块及并行事务级模拟系统 |
US9306794B2 (en) * | 2012-11-02 | 2016-04-05 | Brocade Communications Systems, Inc. | Algorithm for long-lived large flow identification |
US9661657B2 (en) | 2013-11-27 | 2017-05-23 | Intel Corporation | TCP traffic adaptation in wireless systems |
US10681145B1 (en) * | 2014-12-22 | 2020-06-09 | Chelsio Communications, Inc. | Replication in a protocol offload network interface controller |
US10015048B2 (en) | 2014-12-27 | 2018-07-03 | Intel Corporation | Programmable protocol parser for NIC classification and queue assignments |
US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US10523764B2 (en) * | 2015-09-24 | 2019-12-31 | Barefoot Networks, Inc. | Data-plane stateful processing units in packet processing pipelines |
US9923816B2 (en) | 2015-09-24 | 2018-03-20 | Barefoot Networks, Inc. | Data-plane stateful processing units in packet processing pipelines |
US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
US10437616B2 (en) * | 2016-12-31 | 2019-10-08 | Intel Corporation | Method, apparatus, system for optimized work submission to an accelerator work queue |
US11245572B1 (en) | 2017-01-31 | 2022-02-08 | Barefoot Networks, Inc. | Messaging between remote controller and forwarding element |
US10686735B1 (en) | 2017-04-23 | 2020-06-16 | Barefoot Networks, Inc. | Packet reconstruction at deparser |
US10911377B1 (en) | 2017-07-23 | 2021-02-02 | Barefoot Networks, Inc. | Using stateful traffic management data to perform packet processing |
US10708393B1 (en) | 2017-08-31 | 2020-07-07 | F5 Networks, Inc. | Stateless communication using a stateful protocol |
US10594630B1 (en) | 2017-09-28 | 2020-03-17 | Barefoot Networks, Inc. | Expansion of packet data within processing pipeline |
Family Cites Families (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2269150B1 (ja) * | 1974-04-25 | 1977-10-28 | Honeywell Bull Soc Ind | |
US4130865A (en) | 1974-06-05 | 1978-12-19 | Bolt Beranek And Newman Inc. | Multiprocessor computer apparatus employing distributed communications paths and a passive task register |
US5303344A (en) | 1989-03-13 | 1994-04-12 | Hitachi, Ltd. | Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer |
US5251125A (en) | 1990-04-30 | 1993-10-05 | Eaton Corporation | User interface for a process control device |
US5321844A (en) | 1990-12-20 | 1994-06-14 | Siemens Aktiengesellschaft | Method for error correction of software errors in a communication system |
JP2791236B2 (ja) | 1991-07-25 | 1998-08-27 | 三菱電機株式会社 | プロトコル並列処理装置 |
US5706429A (en) | 1994-03-21 | 1998-01-06 | International Business Machines Corporation | Transaction processing system and method |
US5485460A (en) * | 1994-08-19 | 1996-01-16 | Microsoft Corporation | System and method for running multiple incompatible network protocol stacks |
SE503219C2 (sv) | 1994-09-05 | 1996-04-22 | Ericsson Telefon Ab L M | Anordning och förfarande för processbaserad meddelandehantering i ett kommunikationssystem |
DE19530322A1 (de) | 1995-08-17 | 1997-02-20 | Siemens Ag | Verfahren zum Übertragen von Signalisierungsinformationen innerhalb eines Breitband-ISDN-Kommunikationsnetzes |
US6275861B1 (en) | 1996-09-27 | 2001-08-14 | Pmc-Sierra, Inc. | Method and apparatus to identify flows in data systems |
US6133846A (en) | 1996-10-01 | 2000-10-17 | Honeywell Inc. | Low cost redundant communications system |
US6070199A (en) | 1996-11-13 | 2000-05-30 | Extended Systems, Inc. | Apparatus to connect a client computer to a computer data network |
US5818852A (en) | 1996-11-20 | 1998-10-06 | Kapoor; Vijay | Packet data communication method and system |
US6233242B1 (en) | 1996-12-30 | 2001-05-15 | Compaq Computer Corporation | Network switch with shared memory system |
US6076115A (en) | 1997-02-11 | 2000-06-13 | Xaqti Corporation | Media access control receiver and network management system |
CH691155A5 (fr) | 1997-02-13 | 2001-04-30 | Fotowire Dev S A | Procédé de traitement d'images et dispositif pour sa mise en oeuvre. |
US6084855A (en) | 1997-02-18 | 2000-07-04 | Nokia Telecommunications, Oy | Method and apparatus for providing fair traffic scheduling among aggregated internet protocol flows |
US5892922A (en) | 1997-02-28 | 1999-04-06 | 3Com Corporation | Virtual local area network memory access system |
US6252851B1 (en) | 1997-03-27 | 2001-06-26 | Massachusetts Institute Of Technology | Method for regulating TCP flow over heterogeneous networks |
US6219697B1 (en) | 1997-05-02 | 2001-04-17 | 3Com Corporation | Method and apparatus for operating the internet protocol over a high-speed serial bus |
US6167027A (en) | 1997-09-09 | 2000-12-26 | Cisco Technology, Inc. | Flow control technique for X.25 traffic in a high speed packet switching network |
US6587884B1 (en) * | 1997-09-10 | 2003-07-01 | Schneider Automation, Inc. | Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC) |
US6172980B1 (en) | 1997-09-11 | 2001-01-09 | 3Com Corporation | Multiple protocol support |
FI107842B (fi) | 1997-09-23 | 2001-10-15 | Nokia Networks Oy | Adaptiivinen prosessorijärjestelmä |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
JP3233208B2 (ja) | 1998-04-30 | 2001-11-26 | 日本電気株式会社 | レイヤ3フロースイッチング方法 |
US7100020B1 (en) | 1998-05-08 | 2006-08-29 | Freescale Semiconductor, Inc. | Digital communications processor |
US6862622B2 (en) | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US6300964B1 (en) | 1998-07-30 | 2001-10-09 | Genesis Microship, Inc. | Method and apparatus for storage retrieval of digital image data |
US6594701B1 (en) | 1998-08-04 | 2003-07-15 | Microsoft Corporation | Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data |
US6237021B1 (en) | 1998-09-25 | 2001-05-22 | Complex Data Technologies, Inc. | Method and apparatus for the efficient processing of data-intensive applications |
JP3397144B2 (ja) | 1998-09-29 | 2003-04-14 | 日本電気株式会社 | パケット処理装置とパケット処理方法とパケット交換機 |
US6621799B1 (en) | 1998-10-05 | 2003-09-16 | Enterasys Networks, Inc. | Semi-reliable data transport |
US20040030873A1 (en) | 1998-10-22 | 2004-02-12 | Kyoung Park | Single chip multiprocessing microprocessor having synchronization register file |
US6279041B1 (en) * | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
SE9901145D0 (sv) | 1998-11-16 | 1999-03-29 | Ericsson Telefon Ab L M | A processing system and method |
US6338078B1 (en) | 1998-12-17 | 2002-01-08 | International Business Machines Corporation | System and method for sequencing packets for multiprocessor parallelization in a computer network system |
US6978312B2 (en) | 1998-12-18 | 2005-12-20 | Microsoft Corporation | Adaptive flow control protocol |
US6658469B1 (en) | 1998-12-18 | 2003-12-02 | Microsoft Corporation | Method and system for switching between network transport providers |
US6321269B1 (en) | 1998-12-29 | 2001-11-20 | Apple Computer, Inc. | Optimized performance for transaction-oriented communications using stream-based network protocols |
US6347337B1 (en) | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
US6393458B1 (en) * | 1999-01-28 | 2002-05-21 | Genrad, Inc. | Method and apparatus for load balancing in a distributed object architecture |
US7328270B1 (en) | 1999-02-25 | 2008-02-05 | Advanced Micro Devices, Inc. | Communication protocol processor having multiple microprocessor cores connected in series and dynamically reprogrammed during operation via instructions transmitted along the same data paths used to convey communication data |
US6480489B1 (en) | 1999-03-01 | 2002-11-12 | Sun Microsystems, Inc. | Method and apparatus for data re-assembly with a high performance network interface |
US6453360B1 (en) | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US7102998B1 (en) | 1999-03-22 | 2006-09-05 | Lucent Technologies Inc. | Scaleable congestion control method for multicast communications over a data network |
US6768992B1 (en) | 1999-05-17 | 2004-07-27 | Lynne G. Jolitz | Term addressable memory of an accelerator system and method |
JP3449294B2 (ja) * | 1999-06-18 | 2003-09-22 | 日本電気株式会社 | マルチプロトコル処理装置、回線インターフェース及びそれらを有するマルチプロトコルスイッチシステム |
US6957255B1 (en) * | 1999-06-28 | 2005-10-18 | Amdocs (Israel) Ltd. | Method and apparatus for session reconstruction and accounting involving VoIP calls |
EP1196856B1 (en) | 1999-06-30 | 2011-01-19 | Apptitude, Inc. | Method and apparatus for monitoring traffic in a network |
US6970913B1 (en) | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
US6985431B1 (en) | 1999-08-27 | 2006-01-10 | International Business Machines Corporation | Network switch and components and method of operation |
US6460120B1 (en) | 1999-08-27 | 2002-10-01 | International Business Machines Corporation | Network processor, memory organization and methods |
US6668317B1 (en) | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6532501B1 (en) | 1999-09-30 | 2003-03-11 | Silicon Graphics, Inc. | System and method for distributing output queue space |
US7106756B1 (en) | 1999-10-12 | 2006-09-12 | Mci, Inc. | Customer resources policy control for IP traffic delivery |
JP2001167066A (ja) | 1999-12-08 | 2001-06-22 | Nec Corp | プロセッサ間通信方法及びマルチプロセッサシステム |
JP4344442B2 (ja) | 1999-12-17 | 2009-10-14 | 富士機械製造株式会社 | チャック装置 |
US6307789B1 (en) | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6662213B1 (en) | 2000-01-10 | 2003-12-09 | Sun Microsystems, Inc. | System and method for ensuring delivery of a single communication between nodes |
US7649901B2 (en) * | 2000-02-08 | 2010-01-19 | Mips Technologies, Inc. | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing |
US6981027B1 (en) | 2000-04-10 | 2005-12-27 | International Business Machines Corporation | Method and system for memory management in a network processing system |
US6735717B1 (en) | 2000-04-13 | 2004-05-11 | Gnp Computers, Inc. | Distributed computing system clustering model providing soft real-time responsiveness and continuous availability |
US7215637B1 (en) | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US7013394B1 (en) | 2000-04-18 | 2006-03-14 | International Business Machines Corporation | Data flow pattern recognition and manipulation |
US7114008B2 (en) | 2000-06-23 | 2006-09-26 | Cloudshield Technologies, Inc. | Edge adapter architecture apparatus and method |
US6947963B1 (en) | 2000-06-28 | 2005-09-20 | Pluris, Inc | Methods and apparatus for synchronizing and propagating distributed routing databases |
US7031267B2 (en) | 2000-12-21 | 2006-04-18 | 802 Systems Llc | PLD-based packet filtering methods with PLD configuration data update of filtering rules |
US6907005B1 (en) | 2000-07-24 | 2005-06-14 | Telefonaktiebolaget L M Ericsson (Publ) | Flexible ARQ for packet data transmission |
US7177945B2 (en) | 2000-08-04 | 2007-02-13 | Avaya Technology Corp. | Non-intrusive multiplexed transaction persistency in secure commerce environments |
US7222150B1 (en) * | 2000-08-15 | 2007-05-22 | Ikadega, Inc. | Network server card and method for handling requests received via a network interface |
US6829697B1 (en) * | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
US6594712B1 (en) | 2000-10-20 | 2003-07-15 | Banderacom, Inc. | Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link |
US6757769B1 (en) | 2000-11-28 | 2004-06-29 | Emc Corporation | Cooperative lock override procedure |
US7028092B2 (en) | 2000-12-11 | 2006-04-11 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via media flow routing |
JP4403348B2 (ja) | 2000-12-14 | 2010-01-27 | ソニー株式会社 | 通信装置及び通信方法 |
US7301933B1 (en) | 2000-12-22 | 2007-11-27 | Cisco Technology, Inc. | Delivery of a service program to a digital signal processor within a multiservice processing system |
JP2004525449A (ja) | 2001-02-14 | 2004-08-19 | クリアスピード・テクノロジー・リミテッド | 相互接続システム |
US6987760B2 (en) | 2001-03-05 | 2006-01-17 | International Business Machines Corporation | High speed network processor |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7222347B2 (en) * | 2001-03-29 | 2007-05-22 | Intel Corporation | Method and apparatus for processing real-time events associated with a wireless communication protocol |
US7085869B1 (en) | 2001-04-04 | 2006-08-01 | Advanced Micro Devices, Inc. | Arrangement for managing transmitted packets requiring acknowledgement in a host channel adapter |
US6842809B2 (en) | 2001-04-12 | 2005-01-11 | International Business Machines Corporation | Apparatus, method and computer program product for converting simple locks in a multiprocessor system |
US6937606B2 (en) | 2001-04-20 | 2005-08-30 | International Business Machines Corporation | Data structures for efficient processing of IP fragmentation and reassembly |
US7274706B1 (en) | 2001-04-24 | 2007-09-25 | Syrus Ziai | Methods and systems for processing network data |
US20040004966A1 (en) | 2001-04-27 | 2004-01-08 | Foster Michael S. | Using virtual identifiers to route transmitted data through a network |
US7143131B1 (en) | 2001-05-04 | 2006-11-28 | Microsoft Corporation | Transmission control protocol |
US7464154B2 (en) * | 2001-05-18 | 2008-12-09 | Network Resonance, Inc. | System, method and computer program product for analyzing data from network-based structured message stream |
US7287649B2 (en) | 2001-05-18 | 2007-10-30 | Broadcom Corporation | System on a chip for packet processing |
US6925537B2 (en) | 2001-06-11 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants |
US7308715B2 (en) | 2001-06-13 | 2007-12-11 | Mcafee, Inc. | Protocol-parsing state machine and method of using same |
US7085286B2 (en) | 2001-06-29 | 2006-08-01 | International Business Machines Corporation | Stateful business-to-business protocol exchange |
US7305492B2 (en) | 2001-07-06 | 2007-12-04 | Juniper Networks, Inc. | Content service aggregation system |
US20030033379A1 (en) | 2001-07-20 | 2003-02-13 | Lemur Networks | Intelligent central directory for soft configuration of IP services |
US7031311B2 (en) | 2001-07-23 | 2006-04-18 | Acme Packet, Inc. | System and method for providing rapid rerouting of real-time multi-media flows |
US20030037154A1 (en) * | 2001-08-16 | 2003-02-20 | Poggio Andrew A. | Protocol processor |
US7039037B2 (en) | 2001-08-20 | 2006-05-02 | Wang Jiwei R | Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protocol) gateways simultaneously |
WO2003021443A1 (en) | 2001-08-31 | 2003-03-13 | Adaptec, Inc. | Systems and methods for implementing host-based security in a computer network |
US20030046330A1 (en) | 2001-09-04 | 2003-03-06 | Hayes John W. | Selective offloading of protocol processing |
US6909713B2 (en) * | 2001-09-05 | 2005-06-21 | Intel Corporation | Hash-based data frame distribution for web switches |
EP1530761A4 (en) | 2001-09-19 | 2008-01-23 | Bay Microsystems Inc | VERTICAL INSTRUCTION AND DATA PROCESSING IN A NETWORK PROCESSOR ARCHITECTURE |
US7360217B2 (en) | 2001-09-28 | 2008-04-15 | Consentry Networks, Inc. | Multi-threaded packet processing engine for stateful packet processing |
US7051112B2 (en) | 2001-10-02 | 2006-05-23 | Tropic Networks Inc. | System and method for distribution of software |
US6920485B2 (en) | 2001-10-04 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Packet processing in shared memory multi-computer systems |
US7676588B2 (en) | 2001-10-05 | 2010-03-09 | International Business Machines Corporation | Programmable network protocol handler architecture |
US7072970B2 (en) | 2001-10-05 | 2006-07-04 | International Business Machines Corporation | Programmable network protocol handler architecture |
US20030074473A1 (en) | 2001-10-12 | 2003-04-17 | Duc Pham | Scalable network gateway processor architecture |
US7257817B2 (en) | 2001-10-16 | 2007-08-14 | Microsoft Corporation | Virtual network with adaptive dispatcher |
JP2003140837A (ja) | 2001-10-30 | 2003-05-16 | Hitachi Ltd | ディスクアレイ制御装置 |
US7046676B2 (en) | 2001-11-01 | 2006-05-16 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with cached status array |
US6977932B1 (en) | 2002-01-16 | 2005-12-20 | Caspian Networks, Inc. | System and method for network tunneling utilizing micro-flow state information |
US7346707B1 (en) | 2002-01-16 | 2008-03-18 | Advanced Micro Devices, Inc. | Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists |
US7076555B1 (en) | 2002-01-23 | 2006-07-11 | Novell, Inc. | System and method for transparent takeover of TCP connections between servers |
US6836808B2 (en) | 2002-02-25 | 2004-12-28 | International Business Machines Corporation | Pipelined packet processing |
US7237031B2 (en) | 2002-03-07 | 2007-06-26 | Sun Microsystems, Inc. | Method and apparatus for caching protocol processing data |
US6944670B2 (en) | 2002-03-13 | 2005-09-13 | Commatch Ltd. | Method and apparatus for multiple processing of a plurality of communication protocols on a single processing machine |
US7302492B1 (en) | 2002-04-09 | 2007-11-27 | Cisco Technology, Inc. | Method and apparatus for matching web service in applications using a data object exchange protocol |
US7631107B2 (en) | 2002-06-11 | 2009-12-08 | Pandya Ashish A | Runtime adaptable protocol processor |
US20030231660A1 (en) | 2002-06-14 | 2003-12-18 | Bapiraju Vinnakota | Bit-manipulation instructions for packet processing |
US7289480B2 (en) | 2002-06-24 | 2007-10-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Applications based radio resource management in a wireless communication network |
US7313140B2 (en) | 2002-07-03 | 2007-12-25 | Intel Corporation | Method and apparatus to assemble data segments into full packets for efficient packet-based classification |
US7327705B2 (en) | 2002-07-03 | 2008-02-05 | Massachusetts Institute Of Technology | Hybrid wireless network for data collection and distribution |
US7516202B2 (en) | 2002-07-10 | 2009-04-07 | Nortel Networks Limited | Method and apparatus for defining failover events in a network device |
US7089282B2 (en) | 2002-07-31 | 2006-08-08 | International Business Machines Corporation | Distributed protocol processing in a data processing system |
US7076545B2 (en) * | 2002-07-31 | 2006-07-11 | Sun Microsystems, Inc. | Load balancing the servicing of received packets |
US8015303B2 (en) | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7711844B2 (en) | 2002-08-15 | 2010-05-04 | Washington University Of St. Louis | TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks |
US20040042475A1 (en) | 2002-08-30 | 2004-03-04 | Bapiraju Vinnakota | Soft-pipelined state-oriented processing of packets |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7137040B2 (en) | 2003-02-12 | 2006-11-14 | International Business Machines Corporation | Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters |
US7210061B2 (en) | 2003-04-17 | 2007-04-24 | Hewlett-Packard Development, L.P. | Data redundancy for writes using remote storage system cache memory |
US7085896B2 (en) * | 2003-04-30 | 2006-08-01 | International Business Machines Corporation | Method and apparatus which implements a multi-ported LRU in a multiple-clock system |
-
2002
- 2002-08-02 US US10/211,434 patent/US8015303B2/en not_active Expired - Fee Related
-
2003
- 2003-07-10 EP EP03766851.4A patent/EP1546843B1/en not_active Expired - Lifetime
- 2003-07-10 JP JP2004526038A patent/JP4242835B2/ja not_active Expired - Fee Related
- 2003-07-10 CN CN038235447A patent/CN1688989B/zh not_active Expired - Fee Related
- 2003-07-10 AU AU2003251842A patent/AU2003251842A1/en not_active Abandoned
- 2003-07-10 EP EP11171496A patent/EP2372489A1/en not_active Withdrawn
- 2003-07-10 WO PCT/US2003/021583 patent/WO2004013720A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US8015303B2 (en) | 2011-09-06 |
US20040024894A1 (en) | 2004-02-05 |
EP1546843B1 (en) | 2017-06-28 |
EP1546843A4 (en) | 2009-01-14 |
AU2003251842A1 (en) | 2004-02-23 |
EP1546843A2 (en) | 2005-06-29 |
CN1688989A (zh) | 2005-10-26 |
WO2004013720A2 (en) | 2004-02-12 |
AU2003251842A8 (en) | 2004-02-23 |
CN1688989B (zh) | 2010-04-28 |
WO2004013720A3 (en) | 2004-04-29 |
JP2005535226A (ja) | 2005-11-17 |
EP2372489A1 (en) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4242835B2 (ja) | 高データレートのステートフルプロトコル処理 | |
US7814218B1 (en) | Multi-protocol and multi-format stateful processing | |
US7802001B1 (en) | System and method for flow control within a stateful protocol processing system | |
US6928478B1 (en) | Method and apparatus for implementing a MAC address pool for assignment to a virtual interface aggregate | |
US9361042B2 (en) | Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O) | |
US9535867B2 (en) | Method, device, system and storage medium for implementing packet transmission in PCIE switching network | |
US8631162B2 (en) | System and method for network interfacing in a multiple network environment | |
JP4012545B2 (ja) | リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート | |
US7076569B1 (en) | Embedded channel adapter having transport layer configured for prioritizing selection of work descriptors based on respective virtual lane priorities | |
US7555002B2 (en) | Infiniband general services queue pair virtualization for multiple logical ports on a single physical port | |
US8051212B2 (en) | Network interface adapter with shared data send resources | |
US6493343B1 (en) | System and method for implementing multi-pathing data transfers in a system area network | |
US7664892B2 (en) | Method, system, and program for managing data read operations on network controller with offloading functions | |
US8099521B2 (en) | Network interface card for use in parallel computing systems | |
US20050144402A1 (en) | Method, system, and program for managing virtual memory | |
CN113490927A (zh) | 具有硬件集成和乱序放置的rdma输送 | |
US7539760B1 (en) | System and method for facilitating failover of stateful connections | |
WO2020171988A1 (en) | Rdma transport with hardware integration | |
US6816889B1 (en) | Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node | |
US8151278B1 (en) | System and method for timer management in a stateful protocol processing system | |
US20020078265A1 (en) | Method and apparatus for transferring data in a network data processing system | |
US7292593B1 (en) | Arrangement in a channel adapter for segregating transmit packet data in transmit buffers based on respective virtual lanes | |
US7596621B1 (en) | System and method for managing shared state using multiple programmed processors | |
JPH0320094B2 (ja) | ||
US8090832B1 (en) | Method and apparatus for allocating network protocol operation resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060614 |
|
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: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |