JP2004526218A - 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法 - Google Patents

相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法 Download PDF

Info

Publication number
JP2004526218A
JP2004526218A JP2002521662A JP2002521662A JP2004526218A JP 2004526218 A JP2004526218 A JP 2004526218A JP 2002521662 A JP2002521662 A JP 2002521662A JP 2002521662 A JP2002521662 A JP 2002521662A JP 2004526218 A JP2004526218 A JP 2004526218A
Authority
JP
Japan
Prior art keywords
computer
transaction
traffic
router
channel
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
Application number
JP2002521662A
Other languages
English (en)
Other versions
JP2004526218A5 (ja
Inventor
ハビブ,ヤーロン
Original Assignee
ボルテール アドバンスト データ セキュリティ リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ボルテール アドバンスト データ セキュリティ リミテッド filed Critical ボルテール アドバンスト データ セキュリティ リミテッド
Publication of JP2004526218A publication Critical patent/JP2004526218A/ja
Publication of JP2004526218A5 publication Critical patent/JP2004526218A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明の実施例では、システムは、マルチ・チャネルで高信頼性のネットワーク・ハードウェアとプロキシ(48)とを有する1又は複数のサーバ・コンピュータ(44)を含む。プロキシは、クライアント・コンピュータ(42)からパケット指向トラフィックを受け取り、このパケット指向トラフィックのセッションをトランザクションに変換し、このトランザクションを1又は複数のサーバ・コンピュータに送信することができる。トランザクションは、リモート・ダイレクト・メモリ・アクセス・メッセージを含んでいる。

Description

【0001】
【発明の背景】
ネットワーク・トラフィックに関する現在の技術によれば、複数のコンピュータ装置の間を、毎秒1ギガバイトを超えるデータ伝送速度で、データを伝送することが可能である。しかし、コンテンツ・フィルタリング及び負荷均衡化(バランシング)のための既存のシステムでは、すべてのネットワーク・トラフィックが1つの入力/出力ポートを介して移動するので、単一の故障箇所が生じ、パフォーマンスにマイナスの影響を生じることがある。そのようなシステムでは、トラフィックを検査及びフィルタリングすると共に、トラフィックを、その負荷に応じて複数のサーバの中の1つに分散することができる。このようなシステムは、通常、TCP/IPプロトコルを用いて動作し、それぞれのセッションに対する通信状態に従って、許容可能なコンテンツ・フィルタリング及び負荷均衡化を達成している。
【0002】
この手順は、多くの処理能力を用い、主にHTTPやFTPなど周知の単純なプロトコルに適している。この方法は、トランザクションの中に遅延を挿入するのが通常であり、冗長な通信処理を含む。既存の方法は、リモート・プロシージャ・コール(RPC)、ストレージ・トラフィック、データベース・トラフィック及び大きなトラフィック負荷の負荷均衡化やフェイル・オーバ手順の管理には適していない。故障が生じた場合に、ロールバックや他のマシンへの再送信などの手順が利用可能でないことがある。更に、通信が切断されたときでも、意図したトラフィックのどの部分が切断に先だって宛先に到達したのかがわからない。
【0003】
よりよいパフォーマンスを有し中央処理装置(CPU)資源の使用がより少ない、効率的で有用性の高いコンテンツ・フィルタリング技術に対する需要が存在している。
【0004】
本発明と見なされる主題は、冒頭の特許請求の範囲において特定的に指摘され明晰判明に特許請求されている。しかし、本発明は、その構成、動作方法、目的、特徴及び効果に関して、添付の図面を参照しながら以下の詳細な説明を読むことによって最もよく理解されるはずである。
【0005】
図解の単純化及び明瞭化のため、図面に示されている要素は、必ずしも寸法通りに描かれてはいない。例えば、いくつかの要素の寸法は、明瞭化のために、他の要素と比較して誇張されている場合がある。更に、適切であると考えられる場合には、複数の図面にわたって同じ参照番号を用いて、対応する又は類似の要素を示している。
【0006】
【発明の実施の態様】
以下の詳細な説明では、多数の特定の詳細を与えることによって、本発明の完全な理解を提供している。しかし、この技術分野の当業者であれば、本発明は、これらの特定的な詳細から離れても実現できることを理解するはずである。また、本発明を曖昧にしないために、周知の方法、手順、コンポーネント及び回路に関する詳細に関しては、記載がなされていない。
【0007】
本発明のいくつかの実施例は、パフォーマンスが改善され負荷均衡化及びフェイル・オーバ機構を備えておりフィルタリングのなされたピア・ツー・ピア通信を可能にするシステムに関するものである。図1に図解されているこのようなシステムによれば、1又は複数のクライアント・コンピュータと1又は複数のサーバ・コンピュータとに結合されている1又は複数のルータがトランザクションを受信することが可能になる。また、このシステムは、そのトランザクションと関連付けられたデータが、安全で効率的な態様で、サーバとクライアントとの間を直接に移動することを可能にする。
【0008】
いくつかの実施例では、このシステムは、リモート・ダイレクト・メモリ・アクセス(RDMA)能力を有する効率的でマルチチャネルの信頼性の高いネットワークにおいて実現することができる。RDMAは、1つのコンピュータから他のコンピュータのメモリにデータを直接に送ることを可能にする機能である。受信側のコンピュータのCPUは、データ転送と関係することがなくなり、従って、コンピュータの全体的な動作が高速化される。効率的でマルチチャネルの信頼性が高いネットワークの例としては、制限列挙ではないが、新たなシステム・エリア・ネットワーク(SAN)、インフィニバンド・ネットワーク、ファイバ・チャネル・ネットワーク、非同期転送モード(ATM)ネットワーク、TCP/IP上のRDMAネットワークなどがある。これらのネットワークは、一般に、「相互接続(インターコネクト)」と称される場合がある。
【0009】
本発明の他の実施例では、トランザクション認識型(transaction−aware)通信ソフトウェアとしての実装により、要求される機能が得られる。例えば、このソフトウェアは、RDMAリクエストを受信しより上位の層及び/又はアプリケーションとは関係なくRDMA動作をエミュレートする(例えば、リクエスト側との間でメモリ・ブロックを移動させる)ことができるカーネル・ソフトウェア要素でありうる。
【0010】
場合によっては、クライアント・ネットワーキング・ソフトウェア及び/又はハードウェアを代替することができないことがある。そのような場合には、図4に示されている本発明の実施例により、1又は複数のルータとクライアント・コンピュータとの間にプロキシ要素を追加することができる。プロキシは、クライアントによって提供されるパケット(例えば、TCP/IPパケット)を収集して、クライアント・コンピュータの代わりにトランザクションを発生する。プロキシは、また、結果データをパケットに変換することもできる。
【0011】
ここで、図1を参照する。図1は、本発明の実施例によるコンテンツ・フィルタリング及び負荷均衡化のためのシステムのブロック図による図解である。この明細書を通じて、「コンテンツ・フィルタリング」という用語は、例えば、セキュリティ、キャッシング、計算、サービスの質などの動作を意味する。
【0012】
システム10は、少なくとも1つのクライアント・コンピュータ12と、少なくとも1つのサーバ・コンピュータ14と、クライアント・コンピュータ12とサーバ・コンピュータ14とに結合された少なくとも1つのルータ16とを含んでいる。特許請求の範囲を含むこの明細書を通じて、「クライアント・コンピュータ」という用語はトランザクションを開始するコンピュータ(例えば、ウェブ・サーバ)を意味し、「サーバ・コンピュータ」という用語はそのトランザクションを処理するコンピュータ(例えば、データベース又はストレージ装置)を意味する。1つのコンピュータが、同時に、あるアプリケーションに関してはクライアント・コンピュータ12であり、別のアプリケーションに関してはサーバ・コンピュータ14であるということもありうる。ルータ16は、ソフトウェア・パッケージ、埋込式デバイス、電子デバイス及びこれらの組合せとして実現することができる。
【0013】
システム10は、例えば、ソケット・ダイレクト・プロトコル(SDP)、ダイレクト・アクセス・ファイル・システム(DAFS)、SCSI RDMAプロトコル(SRP)などのプロトコルを、例えば、VIやインフィニバンドなどの技術の上で用いるRDMAネットワーク環境において実現することができる。システム10は、また、TCP/IPプロトコルをRDMAをサポートするように拡張することによって、標準的なTCP/IPネットワーク環境において実現することができる。システム10は、特別なハードウェアを既存のネットワークにふかして用いることなく、RDMA機能を提供することができる軽量のソフトウェア実装を統合している。例えば、より上位の層及び/又はアプリケーションと関係することなく、RDMAリクエストを受信しRDMA動作(例えば、メモリ・ブロックをリクエスト側との間で移動させること)をエミュレートするカーネル・ソフトウェア要素を実現する。
【0014】
可用性(アベイラビリティ)、能力及び機能性を向上させ負荷を共有する、類似の又は異なる機能を有するルータは、複数ありうる。ルータ16は、遠隔的に管理することができる。ルータ16は、セキュリティ対策を講じて、外部的な攻撃に対する脆弱性を減少させることができる。このシステムは、ワイド・エリア・ネットワークだけでなく、ローカル・エリア・ネットワークやサーバ環境において実現することができる。
【0015】
ルータ16は、所定の方針(ポリシー)に従ってコンテンツ・フィルタリングとルーティングとを管理するように構成することができる。システム10は、セキュリティ・フィルタ、キャッシング・フィルタ、計算(accounting)フィルタ及びサービル・フィルタの質を含むグループからの少なくとも1つのフィルタを有しており複数のカスケード接続されたルータを含む。ルータ16は、トランザクションをフィルタリングし、更なるフィルタリングのために、フィルタリングされたトランザクションをサーバ・コンピュータ14の中の1つ又は別のルータ16にルーティングすることができる。ルータ16は、更に、負荷均衡化を管理するように構成することもできる。ルータ16は、例えば、時々刻々の可用性、負荷情報、サービスの質などに基づいて、コマンド処理のためのサーバ・コンピュータを選択する。
【0016】
既存のコンテンツ・フィルタリング・システムでは、クライアントとサーバとの間のすべてのトラフィックは、ルータを介して転送される。これとは対照的に、本発明の実施例では、ルータ16は、それぞれのトランザクション(すなわち、コマンド)の一部だけを受信し処理することがあるし、あるいは、ルータ16は、接続リクエストだけを受信し処理することもある。接続リクエストの処理には、その接続リクエストの中の情報に従って、サーバ14を選択することが含まれることがある。この情報は、通信プロトコルによっては用いられない不透過データを含みうる。トランザクション(すなわち、データ)の主要な部分は、CPU資源を多く消費することはない効率的なピア・ツー・ピア動作を用いた安全な態様で、クライアント12とサーバ14との間を直接的に移動することができる。あるいは、データは、処理されることなく、ルータ16を介して移動する場合もある。ルータ16は、負荷や故障のために、又は、トラフィック・コンテンツに基づいて、他のサーバにトランザクションを分散するという判断もできる。
【0017】
例えば、RPCアプリケーション、データベース・アプリケーション、ストレージ・アクセス・アプリケーション、ファイル・アクセス・アプリケーションなど多くのアプリケーションは、トランザクションを用いる。トランザクションとは、コマンドの送信と結果又はリクエストされたデータの受信とを含む双方向の通信である。多くのアプリケーションにおいて、信頼できるマシンによって提供された受信データは、検査する必要がない。時には、コマンドのパラメータのいくつかについてさえ、検査は不要である。
【0018】
アプリケーションによっては、トランザクションはステートレス(stateless)である。あるいは、トランザクションは、ステートレスにすることができる。あるステート(状態)の開始及び終了にしるし(マーク)が付されているときには、負荷均衡化及びフェイル・オーバ機構を実現することができる(例えば、ロールバック動作や再送信動作)。本発明のいくつかの実施例では、故障の場合に別のサーバにシフトすることは、アプリケーションに対して透過的である。これとは対照的に、ほとんどの既存のフェイル・オーバ機構は、サーバが故障してクライアント・アプリケーションが再接続コマンドを生じるように要求されるときに、接続を失う傾向を有する。
【0019】
トランザクションは、次の複数の要素に分割することができる。
1.例えば、SQLステートメント、RPCオブジェクト、ファイル・リクエスト、呼び出し方法(method to invoke)などのコマンド。
【0020】
2.コマンド処理に必要な場合がある追加データであるコマンド・パラメータ(オプション)。
3.処理及び/又はコマンドの完了状態(例えば、成功やエラー)の結果として生じるリターン・データ及び/又は結果。
【0021】
本発明のいくつかの実施例によると、それぞれのトランザクションは分離することができ、検査、負荷均衡化及びフェイル・オーバ動作は、トランザクションの粒度(granularity)において、すなわち、ステートレスなトランザクションとして実行することができる。トランザクションは、故障のために終了されなかった場合には、別のサーバに再度割り当てられる。サーバからデータを受信するバッファは、複数存在することがありうる。大きなトランザクションの場合には、複数の結果バッファとパラメータ・バッファとが作成されることがある。大きなトランザクションは、複数のサブ・トランザクションに分割されることがある。
【0022】
ルータ16は、負荷均衡化については、既知の方法の任意のものを用いることができる。負荷均衡化の非制限的な例としては、すべてのサーバに番犬機能(watch−dog)を維持して負荷情報を周期的に受け取るという方法がある。負荷均衡化方法は、サーバの心拍(heart−beat)、負荷、パフォーマンス及び状態を決定することがある。
【0023】
セキュリティを増加させるために、追加的なセキュリティ・キー及び/又は署名をパラメータ及び/又は結果バッファ・ポインタに追加して、サーバ・ソフトウェアが、正しい(干渉を受けていない)パラメータ及び/又はポインタが受信されたのかどうかをチェックできるようにすることができる。
【0024】
次に、図2を参照する。図2は、本発明の実施例による例示的なトランザクションのデータ・フローの図解である。
クライアント・コンピュータ12は、コマンドを、1又は複数のメモリ・バッファと共に、ルータ16に送る(ステップ20)。いくつかのトランザクションでは、クライアント・コンピュータ12は、更に、少なくとも1つの必須コマンド・パラメータをルータ16に送る。必須コマンド・パラメータの非制限的な例としては、接続リクエスト、SQL、コマンド動作、ファイル動作などがある。少なくとも1つのメモリ・バッファが、オプションではあるが、追加的なコマンド・パラメータを記憶する。少なくとも1つのメモリ・バッファは、サーバ14から受信されたデータを記憶する。システム10がルータ16を複数含む場合には、クライアント・コンピュータ12のアプリケーションが、どのルータが使用可能であるかを判断する。
【0025】
ルータ16は、コマンドを調べる。コマンドが所定のフィルタリング・ポリシーに従っている場合には、ルータ16は、使用可能なサーバ14を探す(負荷均衡化スケジュリング・アルゴリズムを用いて)。そして、ルータ16波、コマンドとバッファのポインタとをサーバ14に送る(ステップ22)。サーバ14は、コマンドを処理し、更に、並列的に、クライアント・コンピュータ12のメモリから直接にコマンド・パラメータをフェッチすることがある。フェッチ・プロセスは、RDMA読み出し動作を用いる。
【0026】
サーバ14は、いったんコマンドの処理を終了すると、その結果を直接にクライアント・コンピュータ12のメモリに送る(ステップ24)。あるいは、パラメータとデータとは、ルータ16を介し、それによって処理されることなく、送られる。サーバ14は、RDMA書き込み動作を用いる。クライアント・コンピュータ12は、コマンドの終了に関する告知を受ける。そして、クライアント・アプリケーションは、結果を受け取る。インフィニバンド(Infiniband)、IV又はそれ以外のRDMA機能付きのハードウェア実装に基づくネットワークでは、ネットワーキング装置が、プロセスの終了についてクライアント・コンピュータ12に告知する。あるいは、主にソフトウェア実装の場合であるが、適切なプロトコルが、終了についてクライアント・コンピュータ12に告知を行う。
【0027】
ルータ16は、また、アプリケーションとターゲット・マシンとに関する情報を含む接続リクエストを、クライアント12から受け取る。ルータは、所定のポリシー(方針)と接続リクエストにおいて受信された情報とに基づいて、どのサーバがそのトラフィックを取り扱うのかを判断する。その時点から接続の終了まで、トラフィックは、クライアント12とサーバ14との間を直接に、又は、追加的なコンテンツ・フィルタリングのための追加的ルータを介して、移動する。
【0028】
システム10は、例えば、サービスの質、キャッシング及び請求など、様々なコンテンツ・ベースのアプリケーションに対して適切である。これらのコンテンツ・ベースのアプリケーションは、そのコンテンツに従って、トラフィックをルーティングする。トラフィックに関する情報を収集するものもある。システム10を用いることにより、セキュリティが改善され、フェイル・オーバ・イベントが減少し、スケーラビリティが改善され、遅延が縮小するという効果が得られ、同時に、以下で説明するように、マシン・パフォーマンスとCPU負荷とは維持される。第1に、システム10においては、故障地点が1つだけ存在するということはない。第2に、クライアント・コンピュータ第1及び第2のは、サーバ14へのどの通信も直接に開始するということがない。クライアント・コンピュータ12は、サーバ14のアドレスを知らないという場合もあるのであり、それによって、クライアントがサーバを攻撃するという危険が排除される。
【0029】
第3に、ほとんどのトラフィックは、遅延なしに、サーバ14からクライアント12へ直接に、又は、ルータ16を介してそこでは処理されることなく、移動する。サーバ14からクライアント12へのデータの直接的な流れがあると、既存のパフォーマンス・レベルとマシンのCPUの負荷とを維持することが可能になる。場合によっては、標準的なセキュリティ対策が講じられていないTCP/IPによるクライアント/サーな通信と比較して、CPUの負荷を減少させることができる。更に、RDMA機構が、パフォーマンスを向上させることさえありうる。
【0030】
次に図3を参照する。図3には、本発明の実施例によるトランザクション認識型通信アプリケーションを有するコンピュータが示されている。このコンピュータとは、クライアント12又はサーバ14である。
【0031】
標準的なネットワークでは、ユーザ間の通信の間、一端では、そのコンピュータにおける層の全体の下方向へそれぞれの層を通過するデータ・フローがあり、他端では、データが到着すると、受信側のコンピュータにおける層の上方向への別のディレクタ・フローが、最終的にはエンド・ユーザまで存在する。これとは対照的に、本発明の実施例では、マルチ・チャネルの信頼性の高い通信ハードウェアが、以下で説明するように、トランザクション認識型通信アプリケーションと直接に通信する。そのような実施例では、マルチ・チャネルの信頼性の高い通信ハードウェアが、標準的なネットワーク・カードに取って代わることになる。OSIモデルとの関係では、マルチ・チャネルの信頼性の高い通信ハードウェアは、より下位にある4つのOSI層と、それよりも上位のOSI層のいくつかの機能を代替する。
【0032】
コンピュータ30は、1又は複数のアプリケーション32と、ネットワーク・トラフィックをキャプチャするように構成された1又は複数のアプリケーション・インターフェース34と、マルチ・チャネル通信ハードウェア36とを含む。アプリケーション・インターフェース34は、トランスポート・プロバイダ及び/又はソケット・アプリケーションでありうる。
【0033】
コンピュータ30は、また、カーネル・エージェント38を含む。「カーネル・エージェント」という用語は、カーネル・システムのハードウェア要素を初期化するカーネル・システムのソフトウェア要素を意味する。これらのソフトウェア要素は、更に、チャネルの配置や、エラーの処理などを行うように構成されている。
【0034】
通信ハードウェア36は、プロセスからプロセスへデータを直接に信頼性を維持しながら転送するという特別の通信機能を提供する。そのような通信機能の非制限的な例としては、エラー検出、キューイング、メモリ管理、多重化、セキュリティなどが含まれる。従って、アプリケーション間の通信パフォーマンスが著しく増加する可能性がある。というのは、これらの機能は、アプリケーション間の通信のソフトウェア部分において与えられる必要がもはやないからである。注すべきは、通信ハードウェア36は、ハードウェアとして実現されたトランスポート通信層を含み、カーネル・バイパス機能を有しうるという点である。
【0035】
通信ハードウェア36の非制限的な例としては、新たなシステム・エリア・ネットワーク(SAN)技術、仮想インターフェース(VI)、インフィニバンド、ファイバ・チャネル、SCSI、非同期転送モード(ATM)、TCP/IPネットワーク上のRDMA、拡張型イーサネット(登録商標)などである。
【0036】
アプリケーション・インターフェース34は、標準的なネットワークの層の間に埋め込むことができる。あるいは、アプリケーション・インターフェース34は、標準的アプリケーション及び/又はOSIモデルのセッション・ネットワーク層を代替することがある。アプリケーション・インターフェース34は、また、ソケット・アプリケーション・プログラミング・インターフェース(API)を代替する場合もある。APIの非制限的な例としては、バークレー・ソフトウェア・ディストリビューション(BSD)、ウィンソック、トランスポート・データ・インターフェース(TDI)などがある。2つのコンピュータの間でメッセージを転送する標準的なプロセスは、一方のコンピュータにおいて物理層までのそれぞれの層を通過するデータ・フローと、メッセージが到着する際の、受信側コンピュータにおける各層を通じて上方向へのそして最終的にはアプリケーションに至る別のデータ・フローとが含まれる。
【0037】
次に、クライアント・アプリケーション・インターフェース34について説明する。本発明の実施例では、アプリケーション・インターフェース34がトランザクションを受け取る。受信されたデータは、コマンドと、クライアント・コンピュータのアドレスと、追加的なパラメータ・バッファへのポインタと、結果バッファへのポインタとを含む。アプリケーション・インターフェース34は、トランザクションをキャッシュし、トランザクションを要素(コマンド、パラメータ、リターン・データ)に分割し、コマンドと必須パラメータとをルータ16に送る。
【0038】
クライアント・コンピュータ12は、ルータ16のアドレスを維持し、ルータ16の過剰負荷又は故障の場合には、アドレスが、他の使用可能なルータのものに代替される。この手順は、既知の負荷均衡化アルゴリズムを用いて、実行される。
【0039】
パラメータの実際のフェッチとトランザクション結果の転送とは、クライアント12のアプリケーション32とは関係することなく、RDMA動作を用いる。いったんトランザクションが終了すると、アプリケーション・インターフェース34に告知がなされる。アプリケーション・インターフェース34はタイマを維持しており、タイムアウトの場合には、クライアント12は、トランザクションを別のサーバへ再送信する。ルータ16に故障に関する告知をすることが必要なこともある。問題が継続する場合にだけ、クライアント・アプリケーション32に故障が告知される。
【0040】
次に、サーバ・アプリケーション・インターフェース34について説明する。サーバ・アプリケーション・インターフェース34は、送信(Send)やRDMAなどの動作を介して、ハードウェアとの間で直接にトランザクションを送受信するように構成されている。アプリケーション・インターフェース34は、RDMA動作を用いて例えばインフィニバンドなどの技術の上の新たなタイプのプロトコルで受信されたトランザクションやコマンドを、標準的なアプリケーション及び/又はOSIモデルのセッション層インターフェースに変換するように構成されている。この変換は、シームレスな態様で実行されうる。このようなプロトコルの非制限的な例としては、SDP、DAFS、SRPなどがある。
【0041】
アプリケーション・インターフェース34は、また、トランザクション・パラメータやリターンされた結果及びデータを変換するようにも構成できる。このインターフェースは、オペレーティング・システムの提供者によって供給されるオペレーティング・システムに一体的に含まれている部分であるか、又は、標準的なオペレーティング・システムへのアドオンでありうる。
【0042】
場合によっては、クライアントのネットワーキング・ソフトウェア及び/又はハードウェアを交換することは不可能である。例えば、クライアント12がウェブ・クライアントであって、サーバ14がウェブ・サーバであるような場合である。そのような場合には、本発明の実施例によると、ルータ16とクライアント12との間に、プロキシ要素を追加することができる。プロキシは、クライアント12によって提供されるパケット(例えば、TCP/IPパケット)を収集して、クライアント12の代わりにトランザクションを発生する。また、プロキシは、結果データをパケットに変換して戻すこともできる。
【0043】
次に、図4を参照する。図4は、本発明の実施例によるプロキシ要素を有するコンテンツ・フィルタリング及び負荷均衡化システムのブロック図である。システム40は、少なくとも1つのクライアント・コンピュータ42と、少なくとも1つのサーバ・コンピュータ44と、サーバ・コンピュータ44に結合された少なくとも1つのルータ46とを含む。システム40は、更に、クライアント・コンピュータ42とサーバ・コンピュータ46とに結合された1又は複数のプロキシ要素48を含む。プロキシ48は、ソフトウェア、ハードウェア、埋込式デバイス、電子デバイス及びこれらの任意の組合せとして実現することができる。
【0044】
プロキシ要素48は、また、ルータ46の中に一体化することもできる。プロキシ要素は、パケット/フレーム指向の通信(例えば、TCP/IP)をトランザクション指向の通信に変換する、及び/又は、RDMA動作を実現するように構成されている。ソースの真のオリジン(プロキシの背後にある)を保持する必要が存在する場合もある。この場合には、プロキシ48は、クライアント42のアドレスをコマンドに追加する。サーバ側では、アドレスはアプリケーションに送ることができる。
【0045】
次に、図5を参照する。図5は、本発明の実施例によるコンテンツ・フィルタリング及び負荷均衡化のためのシステムの図解である。このような実施例では、クライアントは標準的なTCP/IPネットワークに結合され、他方で、サーバは、RDMA機能(例えば、VI、インフィニバンド、iSCSI、RDMA機能を伴うTCP/IPなど)を有する進んだネットワーキング・ハードウェア及び/又はソフトウェアを含む。
【0046】
システム50は、少なくとも1つのサーバ54と少なくとも1つのクライアント52とに結合されたゲートウェイ56を含む。ゲートウェイ56は、プロキシ要素とルータとの両方を含み、クライアントのアプリケーションへのコンプライアンスを維持しシームレスな統合を可能にしながら、パフォーマンスと信頼性とサーバ・ファーム・ネットワークのオフロード効果とを維持するように構成されている。ゲートウェイ56は、更に、セキュリティ、コンテンツ・フィルタリング、負荷均衡化、サービスの質、計算、キャッシュ機能などを追加するように構成されうる。ゲートウェイ56は、ソフトウェア・パッケージ、埋込式デバイス、電子デバイス及びそれらの任意の組合せを含みうる。ゲートウェイ56は、任意の組合せを有する複数のマシンとして実現することができる。例えば、より大きな可用性を許容しバンド幅を増加させることを並列的に行う複数のゲートウェイも存在しうる。更に、複数のカスケード接続されたゲートウェイを用いて、例えば、セキュリティ、計算、サービスの質及びキャッシングなどのコンテンツ・ベースのフィルタリング機能を追加することもできる。
【0047】
ゲートウェイ56は、ファイアウォール60と、復号化/暗号化ユニット62と、クライアント・プロトコル・スタック64とを含む。ファイアウォール60は、ソフトウェア、ハードウェア又はそれらの任意の組合せとして実現されるネットワーク・セキュリティ・ユニットである。ファイアウォール60は、どのネットワーク資源(ポート)がゲートウェイ56にアクセスするかを制御するように構成されている標準的な要素でよい。ゲートウェイ56に提供される通信は暗号化され、及び/又は、認証される(例えば、IP Sec、SSL、SETなど)場合には、ゲートウェイ56は、データを復号化する機能を備えている。復号化/暗号化ユニット62は、それを次の局に送る前に情報を復号化するように構成されている。パフォーマンスを向上させるためには、復号化/暗号化ユニット62は、完全に又は部分的にハードウェアとして実現される。
【0048】
クライアント・プロトコル・スタック64は、例えば、TCP/IPプロトコル・スタックである。そのような場合には、プロトコル・スタック64は、TCP/IPパケットを信頼性の高いセッションに変換するという責任を負う。パフォーマンスを向上させるためには、クライアント・プロトコル・スタック64は、完全に又は部分的にハードウェアとして実現される。
【0049】
ゲートウェイ56は、更に、プロキシ要素66と、1又は複数のアプリケーション・レベルのコンテンツ・フィルタリング・フィルタ68と、ルータ70とを含む。プロキシ要素66は、クライアント52に対して、それがサーバ54であるかのように応答するように構成されている。プロキシ要素66は、入力/出力データをキャッシュし完全なトランザクションを形成するように構成される。プロキシ66は、サーバ54に対するキャッシュとして作用してトランザクションへの回答を記憶するように強化することもできる。プロキシ66は、そのキャッシュに記憶されているコマンドの1つと一致するコマンドを受け取る場合には、そのコマンドをサーバ54に転送することを必要とせずに、データを瞬時にリターンすることができる。例えば、ウェブ・サーバの場合には、ピクチャ・データベースを、プロキシ66のキャッシュに記憶することができる。ユーザがキャッシュに記憶されているピクチャをリクエストすると、それを実際のウェブ・サーバにリクエストすることなく、ピクチャはクライアント12を介してそのユーザに提供されうる。
【0050】
アプリケーション・レベルのセキュリティ・フィルタ68は、処置のセキュリティ・ポリシに基づいてトランザクションをフィルタリングするように構成されている。ルータ70は、サーバの可用性と負荷とに基づいて、どのサーバにコマンドを送るべきかを判断するように構成されている。ゲートウェイ56は、サーバ・プロトコル・スタック72を更に備えていることがある。サーバ・プロトコル・スタック72は、効率的な動作(例えば、RDMA)を用いて、サーバとの接続を維持するように構成される。インフィニバンド、VI及びそれ以外の新たな標準では、サーバ・プロトコル・スタック72は、ハードウェアと直接に通信する薄型のユーザ・モード・ソフトウェア層である。TCP/IPプロトコル上でのトンネリングを用いると、パフォーマンスの向上なしに、負荷均衡化及び/又はコンテンツ・フィルタリングを行うことができる。
【0051】
次に示す表1には、本発明の実施例によるいくつかの要素に分割されたトランザクションの非制限的な例が示されている。トランザクションは、異なった態様で分割が可能である。
【0052】
【表1】
Figure 2004526218
【0053】
以上で、本発明の特徴を図解し説明したが、この技術分野の当業者には、多くの修正、代替、変更及び均等が可能であろう。従って、冒頭の特許請求の範囲は、本発明の真の精神に含まれるこれらの修正や変更をすべてカバーすることを意図している。
【図面の簡単な説明】
【図1】
本発明の実施例によるコンテンツ・フィルタリング及び負荷均衡化システムのブロック図による図解である。
【図2】
本発明の実施例による例示的なトランザクションのデータ・フローに関する図解である。
【図3】
本発明の実施例によるトランザクション認識型の通信アプリケーションを有するコンピュータのブロック図による図解である。
【図4】
本発明の実施例によるプロキシ要素を有するコンテンツ・フィルタリング及び負荷均衡化システムのブロック図による図解である。
【図5】
本発明の実施例によるコンテンツ・フィルタリング及び負荷均衡化システムのブロック図による図解である。

Claims (26)

  1. マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する第1のコンピュータからの接続リクエストをルータに処理させるステップと、
    前記ルータに、前記接続リクエストに対する確認応答(ACK)を前記第1のコンピュータへ送信させることにより、前記第1のコンピュータとマルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する第2のコンピュータとの間に直接接続が確立させるステップと、
    マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有するコンピュータ群の中から、前記接続リクエストの中にあり不透過データを含むの情報に従って、前記ルータに、前記第2のコンピュータを選択させるステップと、
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、前記ルータは、前記接続リクエストをトランスポート層の内部又はそれよりも上位の層においてのみ処理することを特徴とする方法。
  3. 請求項1記載の方法において、
    前記ルータに、所定のポリシに従って、前記接続リクエストをフィルタリングさせるステップを更に含むことを特徴とする方法。
  4. マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する第1のコンピュータとマルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する第2のコンピュータとの間の接続をイネーブルすることにより、前記第1のコンピュータから前記第2のコンピュータへのアップストリーム・トラフィックが前記接続を介して通信され、前記第2のコンピュータから前記第1のコンピュータへのダウンストリーム・トラフィックが前記接続を介して直接に通信されるようにするステップを含む方法。
  5. 請求項4記載の方法において、
    前記ルータに、トランスポート層の内部又はそれよりも上位の層においてのみ前記アップストリーム・トラフィックを処理させるステップと、
    前記ルータに、所定のポリシに従って前記アップストリーム・トラフィックをフィルタリングさせるステップと、
    前記ルータに、前記アップストリーム・トラフィックに関する情報を収集させるステップと、
    前記ルータに、前記アップストリーム・トラフィックの中の情報に従って、マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有するコンピュータ群から前記第2のコンピュータを選択させるステップと、
    の中の少なくとも1つのステップを含むことを特徴とする方法。
  6. ルータに、第1のコンピュータから第2のコンピュータへの接続を介するトラフィックを処理させるステップであって、前記第1及び第2のコンピュータは共にマルチ・チャネルで高信頼性のネットワーク・ハードウェアである、ステップと、
    前記第2のコンピュータが、リモート・ダイレクト・メモリ・アクセス・メッセージを用いて前記接続を介して前記第2のコンピュータまで直接にデータを転送することをイネーブルするステップと、
    前記ルータに、前記第2のコンピュータから前記第1のコンピュータまでの前記接続を介する非リモート・ダイレクト・メモリ・アクセス・トラフィックを処理させるステップと、
    を含むことを特徴とする方法。
  7. 請求項6記載の方法において、前記ルータは前記トラフィックをトランスポート層の内部又はそれよりも上位の層においてのみ処理することを特徴とする方法。
  8. 請求項6記載の方法において、
    前記ルータに、所定のポリシに従って前記トラフィックをフィルタリングさせるステップと、
    前記ルータに、前記トラフィックに関する情報を収集させるステップと、
    前記ルータに、前記トラフィックの中の情報に従って、マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有するコンピュータ群から前記第2のコンピュータを選択させるステップと、
    の中の少なくとも1つのステップを含むことを特徴とする方法。
  9. ルータに、共にマルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する第1のコンピュータと第2のコンピュータとの間で、トランザクション・トラフィックを、前記トランザクション・トラフィックの一部だけを処理しながら、転送させるステップを含む方法。
  10. 請求項9記載の方法において、前記一部は、
    前記トランザクション・トラフィックのコマンド及びコマンド・パラメータと、
    前記第1のコンピュータから前記第2のコンピュータまでの接続リクエストと、
    前記第1のコンピュータから前記第2のコンピュータまでのアップストリーム・トラフィックと、
    の中の少なくとも1つのステップを含むことを特徴とする方法。
  11. 請求項9記載の方法において、前記処理は、
    所定のポリシに従って前記一部をフィルタリングするステップと、
    前記一部に関する情報を収集するステップと、
    の少なくとも一方を含むことを特徴とする方法。
  12. 請求項9記載の方法において、
    前記ルータに、前記一部の中の情報に従って、マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有するコンピュータ群から前記第2のコンピュータを選択させるステップを更に含むことを特徴とする方法。
  13. 請求項1、請求項4、請求項6及び請求項9の任意の請求項に記載の方法において、
    前記ルータに、負荷均衡化の考慮に従って、マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有するコンピュータ群から前記第2のコンピュータを選択させるステップを更に含むことを特徴とする方法。
  14. パケット指向トラフィックのセッションをリモート・ダイレクト・メモリ・アクセス・メッセージに変換するステップを含むことを特徴とする方法。
  15. 請求項14記載の方法において、前記パケット指向トラフィックはトランスポート制御プロトコル・トラフィックであることを特徴とする方法。
  16. 請求項14記載の方法において、前記変換は、
    パケット指向トラフィックの前記セッションを終端するステップと、
    前記セッションからデータを抽出するステップと、
    前記データを、リモート・ダイレクト・メモリ・アクセス・メッセージとして、マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する少なくとも1つのリモート・ノードのメモリに送信するステップと、
    を含むことを特徴とする方法。
  17. 請求項14記載の方法において、
    所定のポリシに従って前記トラフィックをフィルタリングするステップと、
    所定のポリシに従って前記トラフィックに関する情報を収集するステップと、
    前記トラフィックの中の情報に従って前記トランザクションをルーティングするステップと、
    負荷均衡化の考慮に従って前記トランザクションをルーティングするステップと、
    の中の少なくとも1つのステップを含むことを特徴とする方法。
  18. マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する複数のコンピュータの間のトランザクションを処理し、前記トランザクションの中の情報に従って前記複数のコンピュータの間で前記トランザクションを方向付けることができる1又は複数のルータを備えていることを特徴とするシステム。
  19. 請求項18記載のシステムにおいて、
    前記ルータはカスケード状に配列されている、
    前記ルータの中の1又は複数は、前記トランザクションの中の情報に従って、前記ルータの間で前記トランザクションを方向付けることができる、
    前記ルータの中の1又は複数は、負荷均衡化の考慮に従って、前記コンピュータの間で前記トランザクションを方向付けることができる、
    前記ルータの中の1又は複数は、所定のポリシに従って前記トランザクションをフィルタリングする、及び/又は、前記トランザクションに関する情報を収集することができる、
    の中の少なくとも1つの特徴を有することを特徴とするシステム。
  20. マルチ・チャネルで高信頼性のネットワーク・ハードウェアを有する1又は複数のサーバ・コンピュータと、
    クライアント・コンピュータからパケット指向トラフィックを受け取り、前記パケット指向トラフィックのセッションをリモート・ダイレクト・メモリ・アクセス・メッセージを含むトランザクションに変換し、前記トランザクションを前記サーバ・コンピュータの中の1つに送信することができるプロキシと、
    を備えていることを特徴とするシステム。
  21. 請求項20記載のシステムにおいて、前記パケット指向トラフィックはトランスポート制御プロトコル・トラフィックであることを特徴とするシステム。
  22. 請求項20記載のシステムにおいて、
    トランスポート層の内部又はそれよりも上位の層においてのみ前記トランザクションを処理することができる1又は複数のルータを更に備えていることを特徴とするシステム。
  23. 請求項22記載のシステムにおいて、前記ルータの1又は複数は、前記トランザクションの中の情報及び/又は負荷均衡化の考慮に従って、前記サーバ・コンピュータ及び/又は前記ルータの間で前記トランザクションを方向付けることができることを特徴とするシステム。
  24. 請求項22記載のシステムにおいて、前記ルータの中の1又は複数は、所定のポリシに従って前記トランザクションをフィルタリングする、及び/又は、前記トランザクションに関する情報を収集することができることを特徴とするシステム。
  25. 請求項17及び請求項20に記載の任意のシステムにおいて、前記マルチ・チャネルで高信頼性のネットワーク・ハードウェアは、仮想インターフェース・ハードウェアと、インフィニバンド・ハードウェアと、ファイバ・チャネル・ハードウェアと、SCSIハードウェアと、非同期転送モード・ハードウェアと、拡張イーサネット(登録商標)ハードウェアと、TCP/IP上のリモート・ダイレクト・メモリ・アクセス・ネットワーク・ハードウェアとを含むグループから選択されることを特徴とするシステム。
  26. 請求項17及び請求項20に記載の任意のシステムにおいて、前記トランザクションは、データベース・トランザクションと、リモート・プロシージャ・コール・トランザクションと、ストレージ・アクセス・トランザクションと、ファイル・アクセス・トランザクションと、ソケット・トランザクションとを含むグループから選択されることを特徴とするシステム。
JP2002521662A 2000-08-24 2001-08-23 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法 Pending JP2004526218A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22736200P 2000-08-24 2000-08-24
PCT/IL2001/000792 WO2002017034A2 (en) 2000-08-24 2001-08-23 System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics

Publications (2)

Publication Number Publication Date
JP2004526218A true JP2004526218A (ja) 2004-08-26
JP2004526218A5 JP2004526218A5 (ja) 2005-12-22

Family

ID=22852794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002521662A Pending JP2004526218A (ja) 2000-08-24 2001-08-23 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法

Country Status (5)

Country Link
US (1) US7346702B2 (ja)
EP (1) EP1327196A4 (ja)
JP (1) JP2004526218A (ja)
AU (1) AU2001282477A1 (ja)
WO (1) WO2002017034A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510996A (ja) * 2002-12-17 2006-03-30 オラクル・インターナショナル・コーポレイション 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法
JP2006512662A (ja) * 2002-12-31 2006-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーション iSCSIのためのサービスの質
US8139483B2 (en) 2002-11-15 2012-03-20 International Business Machines Corporation Network traffic control in peer-to-peer environments
WO2014098504A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 통신 방법 및 이를 지원하는 장치
WO2014098505A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 통신 방법 및 이를 지원하는 장치
WO2014098496A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 선택적 트래픽 처리 방법 및 이를 지원하는 장치

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
US20020087724A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A Fatpipe Networks Combining connections for parallel access to multiple frame relay and other private networks
US20020099851A1 (en) * 2001-01-22 2002-07-25 Shah Hemal V. Decoupling TCP/IP processing in system area networks
US7024479B2 (en) * 2001-01-22 2006-04-04 Intel Corporation Filtering calls in system area networks
US20020165978A1 (en) * 2001-05-07 2002-11-07 Terence Chui Multi-service optical infiniband router
US20020176378A1 (en) * 2001-05-22 2002-11-28 Hamilton Thomas E. Platform and method for providing wireless data services
US7904454B2 (en) 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
US7234003B2 (en) * 2001-12-10 2007-06-19 Sun Micorsystems, Inc. Method and apparatus to facilitate direct transfer of data between a data device and a network connection
US8635305B1 (en) * 2001-12-19 2014-01-21 Cisco Technology, Inc. Mechanisms for providing differentiated services within a web cache
US7149219B2 (en) * 2001-12-28 2006-12-12 The Directtv Group, Inc. System and method for content filtering using static source routes
US7953087B1 (en) * 2001-12-28 2011-05-31 The Directv Group, Inc. Content filtering using static source routes
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
US20030212735A1 (en) 2002-05-13 2003-11-13 Nvidia Corporation Method and apparatus for providing an integrated network of processors
AU2003251492A1 (en) * 2002-06-11 2003-12-22 Ashish A. Pandya High performance ip processor for tcp/ip, rdma and ip storage applications
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7571206B2 (en) * 2002-08-12 2009-08-04 Equallogic, Inc. Transparent request routing for a partitioned application service
US7934021B2 (en) 2002-08-29 2011-04-26 Broadcom Corporation System and method for network interfacing
US8631162B2 (en) * 2002-08-30 2014-01-14 Broadcom Corporation System and method for network interfacing in a multiple network environment
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
US7397797B2 (en) 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US7627650B2 (en) 2003-01-20 2009-12-01 Equallogic, Inc. Short-cut response for distributed services
US7461146B2 (en) 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7127577B2 (en) * 2003-01-21 2006-10-24 Equallogic Inc. Distributed snapshot process
US8037264B2 (en) * 2003-01-21 2011-10-11 Dell Products, L.P. Distributed snapshot process
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US8499086B2 (en) * 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
JP4120415B2 (ja) * 2003-02-10 2008-07-16 株式会社日立製作所 トラフィック制御計算装置
GB0304807D0 (en) * 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Data protocol
US7222195B2 (en) * 2003-04-22 2007-05-22 Cisco Technology, Inc. System and method for distributing information in a network environment
US20040226022A1 (en) * 2003-05-09 2004-11-11 Prabhu Sameer D. Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
US8285881B2 (en) * 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
GB0404696D0 (en) 2004-03-02 2004-04-07 Level 5 Networks Ltd Dual driver interface
GB0408868D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd Checking data integrity
GB0408876D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd User-level stack
US7526574B2 (en) * 2004-04-21 2009-04-28 International Business Machines Corporation Method for communicating data transfer requests between data transfer protocols
US7577707B2 (en) * 2004-04-21 2009-08-18 International Business Machines Corporation Method, system, and program for executing data transfer requests
US8621029B1 (en) * 2004-04-28 2013-12-31 Netapp, Inc. System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations
US7328144B1 (en) 2004-04-28 2008-02-05 Network Appliance, Inc. System and method for simulating a software protocol stack using an emulated protocol over an emulated network
CN1954576B (zh) 2004-05-19 2011-10-05 艾利森电话股份有限公司 处理启动请求的方法、装置和系统
US7779081B2 (en) * 2004-07-16 2010-08-17 International Business Machines Corporation Method, system, and program for forwarding messages between nodes
US7475153B2 (en) * 2004-07-16 2009-01-06 International Business Machines Corporation Method for enabling communication between nodes
US7660873B2 (en) * 2004-08-16 2010-02-09 General Electric Company Systems and methods for communicating messages
US20060072482A1 (en) * 2004-10-06 2006-04-06 Nokia Corporation Service routing
US20060168274A1 (en) * 2004-11-08 2006-07-27 Eliezer Aloni Method and system for high availability when utilizing a multi-stream tunneled marker-based protocol data unit aligned protocol
US7636325B2 (en) * 2004-12-07 2009-12-22 Hewlett-Packard Development Company, L.P. Determining highest workloads for nodes in an overlay network
US7596618B2 (en) * 2004-12-07 2009-09-29 Hewlett-Packard Development Company, L.P. Splitting a workload of a node
US8069265B2 (en) * 2005-01-10 2011-11-29 Broadcom Corporation Method and system for network rotameter station and service
US8539109B1 (en) * 2005-03-09 2013-09-17 Oracle America, Inc. Third party direct memory access protocol extension to separate data path from control path
GB0506403D0 (en) 2005-03-30 2005-05-04 Level 5 Networks Ltd Routing tables
GB0505297D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Redirecting instructions
GB0505300D0 (en) * 2005-03-15 2005-04-20 Level 5 Networks Ltd Transmitting data
EP1861778B1 (en) 2005-03-10 2017-06-21 Solarflare Communications Inc Data processing system
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
US8645558B2 (en) 2005-06-15 2014-02-04 Solarflare Communications, Inc. Reception according to a data transfer protocol of data directed to any of a plurality of destination entities for data extraction
US7970788B2 (en) * 2005-08-02 2011-06-28 International Business Machines Corporation Selective local database access restriction
US8036105B2 (en) * 2005-08-08 2011-10-11 International Business Machines Corporation Monitoring a problem condition in a communications system
US20070030813A1 (en) * 2005-08-08 2007-02-08 International Business Machines Corporation Monitoring a problem condition in a communications protocol implementation
US20070083668A1 (en) * 2005-10-07 2007-04-12 Network Chemistry, Inc. Method and apparatus for facilitating network expansion
US7984180B2 (en) 2005-10-20 2011-07-19 Solarflare Communications, Inc. Hashing algorithm for network receive filtering
US7933923B2 (en) 2005-11-04 2011-04-26 International Business Machines Corporation Tracking and reconciling database commands
GB0600417D0 (en) 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US8254262B1 (en) * 2006-03-31 2012-08-28 Verint Americas, Inc. Passive recording and load balancing
US9948533B2 (en) 2006-07-10 2018-04-17 Solarflare Communitations, Inc. Interrupt management
EP2552080B1 (en) * 2006-07-10 2017-05-10 Solarflare Communications Inc Chimney onload implementation of network protocol stack
US9686117B2 (en) 2006-07-10 2017-06-20 Solarflare Communications, Inc. Chimney onload implementation of network protocol stack
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
JP2008059315A (ja) * 2006-08-31 2008-03-13 Hitachi Ltd 負荷分散方法及び計算機システム
GB0621774D0 (en) * 2006-11-01 2006-12-13 Level 5 Networks Inc Driver level segmentation
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US8141100B2 (en) 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US8117335B2 (en) * 2007-01-30 2012-02-14 Oracle International Corporation Service or application driven processing of network traffic using a smart router
US8495367B2 (en) 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
JP5354381B2 (ja) * 2007-06-29 2013-11-27 日本電気株式会社 セッション制御システム、セッション制御方法及びセッション制御プログラム
GB0723422D0 (en) * 2007-11-29 2008-01-09 Level 5 Networks Inc Virtualised receive side scaling
GB0802126D0 (en) * 2008-02-05 2008-03-12 Level 5 Networks Inc Scalable sockets
US8261326B2 (en) 2008-04-25 2012-09-04 International Business Machines Corporation Network intrusion blocking security overlay
US8873580B2 (en) * 2008-10-10 2014-10-28 The Trustees Of The Stevens Institute Of Technology Method and apparatus for dynamic spectrum access
GB0823162D0 (en) * 2008-12-18 2009-01-28 Solarflare Communications Inc Virtualised Interface Functions
US9256560B2 (en) 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
US9210140B2 (en) 2009-08-19 2015-12-08 Solarflare Communications, Inc. Remote functionality selection
EP2309680B1 (en) * 2009-10-08 2017-07-19 Solarflare Communications Inc Switching API
US8811412B2 (en) * 2009-10-15 2014-08-19 International Business Machines Corporation Steering data communications packets among service applications with server selection modulus values
US8743877B2 (en) 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US9003053B2 (en) 2011-09-22 2015-04-07 Solarflare Communications, Inc. Message acceleration
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US9008113B2 (en) 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US9384071B2 (en) 2011-03-31 2016-07-05 Solarflare Communications, Inc. Epoll optimisations
CA2828056A1 (en) * 2011-05-24 2012-11-29 Isa Auctionata Auktionen Ag Computer system for the exchange of messages
US9424007B2 (en) * 2011-06-02 2016-08-23 Open Invention Network, Llc System and method for pervasive software platform-based model driven architecture transaction aware application generator
US9250883B2 (en) * 2011-06-02 2016-02-02 Open Invention Network, Llc System and method for pervasive software platform-based model driven architecture application generator
US8978021B2 (en) * 2011-06-02 2015-03-10 Paul A. Lipari System and method for pervasive software platform-based model driven architecture transaction aware application generator
US8763018B2 (en) 2011-08-22 2014-06-24 Solarflare Communications, Inc. Modifying application behaviour
US9391840B2 (en) 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US20140082129A1 (en) * 2012-09-18 2014-03-20 Netapp, Inc. System and method for managing a system of appliances that are attached to a networked file system
US9355036B2 (en) 2012-09-18 2016-05-31 Netapp, Inc. System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US9426124B2 (en) 2013-04-08 2016-08-23 Solarflare Communications, Inc. Locked down network interface
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US9338193B2 (en) * 2013-05-31 2016-05-10 International Business Machines Corporation Remote procedure call with call-by-reference semantics using remote direct memory access
US9311314B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. System and method for migrating data from a source file system to a destination file system with use of attribute manipulation
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US10860529B2 (en) 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US9300692B2 (en) 2013-08-27 2016-03-29 Netapp, Inc. System and method for implementing data migration while preserving security policies of a source filer
US9304997B2 (en) 2013-08-27 2016-04-05 Netapp, Inc. Asynchronously migrating a file system
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US20150134725A1 (en) * 2013-11-13 2015-05-14 Adrian Cesena, Jr. Computer-implemented methods, computer readable medium and systems for virtual application execution
US9306916B2 (en) * 2013-12-25 2016-04-05 Cavium, Inc. System and a method for a remote direct memory access over converged ethernet
US9600517B2 (en) 2014-05-29 2017-03-21 Sybase, Inc. Convert command into a BULK load operation
US9665612B2 (en) * 2014-05-29 2017-05-30 Sybase, Inc. Run-time decision of bulk insert for massive data loading
FR3032852A1 (fr) * 2015-02-13 2016-08-19 Orange Procede de selection de concentrateurs de connexions reseau
US10992739B2 (en) * 2016-01-25 2021-04-27 Vmware, Inc. Integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system
CN106302641B (zh) * 2016-07-27 2019-10-01 北京小米移动软件有限公司 一种上传文件的方法、装置和系统
US11196798B2 (en) * 2018-03-27 2021-12-07 Huawei Technologies Co., Ltd. Method for sharing data in local area network and electronic device
US11620245B2 (en) 2021-05-09 2023-04-04 Mellanox Technologies, Ltd. Multi-socket network interface controller with consistent transaction ordering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773148A (ja) * 1993-09-06 1995-03-17 Toshiba Corp 処理要求割り付け装置
JPH1188413A (ja) * 1997-09-08 1999-03-30 Hitachi Inf Syst Ltd 電子メール振分け方式およびそれに用いる記憶媒体
JPH11220545A (ja) * 1998-01-30 1999-08-10 Hitachi Ltd 情報端末通信方法および情報端末装置
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JP2000174808A (ja) * 1998-12-03 2000-06-23 Lucent Technol Inc デ―タパケットフィルタの動作方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864679A (en) * 1993-09-06 1999-01-26 Kabushiki Kaisha Toshiba Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
US5689713A (en) * 1995-03-31 1997-11-18 Sun Microsystems, Inc. Method and apparatus for interrupt communication in a packet-switched computer system
US5917825A (en) * 1996-05-07 1999-06-29 Rad Network Devices, Ltd. LAN message routing system
JP3419627B2 (ja) * 1996-06-11 2003-06-23 株式会社日立製作所 ルータ装置
US5995503A (en) * 1996-06-12 1999-11-30 Bay Networks, Inc. Method and apparatus for providing quality of service routing in a network
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6067580A (en) * 1997-03-11 2000-05-23 International Business Machines Corporation Integrating distributed computing environment remote procedure calls with an advisory work load manager
US5937168A (en) * 1997-05-30 1999-08-10 Bellsouth Corporation Routing information within an adaptive routing architecture of an information retrieval system
US6067569A (en) * 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6333929B1 (en) * 1997-08-29 2001-12-25 Intel Corporation Packet format for a distributed system
US6493348B1 (en) * 1997-12-05 2002-12-10 Telcordia Technologies, Inc. XDSL-based internet access router
US6647423B2 (en) * 1998-06-16 2003-11-11 Intel Corporation Direct message transfer between distributed processes
US6360220B1 (en) * 1998-08-04 2002-03-19 Microsoft Corporation Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US6226684B1 (en) * 1998-10-26 2001-05-01 Pointcast, Inc. Method and apparatus for reestablishing network connections in a multi-router network
US6389017B1 (en) * 1998-12-14 2002-05-14 Compaq Computer Corporation Resource scheduling algorithm in packet switched networks with multiple alternate links
US6370381B1 (en) 1999-01-29 2002-04-09 Siemens Transportation Systems, Inc. Multiple channel communications system
EP1049307A1 (en) * 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
US6788692B1 (en) * 1999-05-03 2004-09-07 Nortel Networks Limited Network switch load balancing
US20030195983A1 (en) * 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US6742051B1 (en) * 1999-08-31 2004-05-25 Intel Corporation Kernel interface
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6640239B1 (en) * 1999-11-10 2003-10-28 Garuda Network Corporation Apparatus and method for intelligent scalable switching network
US6389448B1 (en) 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
US6735205B1 (en) * 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
CA2404095A1 (en) * 2000-03-22 2001-09-27 Yottayotta, Inc. Method and system for providing multimedia information on demand over wide area networks
US6594712B1 (en) * 2000-10-20 2003-07-15 Banderacom, Inc. Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link
US20030046474A1 (en) * 2001-06-21 2003-03-06 International Business Machines Corporation Mixed semantic storage I/O

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773148A (ja) * 1993-09-06 1995-03-17 Toshiba Corp 処理要求割り付け装置
JPH1188413A (ja) * 1997-09-08 1999-03-30 Hitachi Inf Syst Ltd 電子メール振分け方式およびそれに用いる記憶媒体
JPH11220545A (ja) * 1998-01-30 1999-08-10 Hitachi Ltd 情報端末通信方法および情報端末装置
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JP2000174808A (ja) * 1998-12-03 2000-06-23 Lucent Technol Inc デ―タパケットフィルタの動作方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139483B2 (en) 2002-11-15 2012-03-20 International Business Machines Corporation Network traffic control in peer-to-peer environments
JP2006510996A (ja) * 2002-12-17 2006-03-30 オラクル・インターナショナル・コーポレイション 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法
JP2006512662A (ja) * 2002-12-31 2006-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーション iSCSIのためのサービスの質
WO2014098504A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 통신 방법 및 이를 지원하는 장치
WO2014098505A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 통신 방법 및 이를 지원하는 장치
WO2014098496A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 선택적 트래픽 처리 방법 및 이를 지원하는 장치
WO2014098506A1 (ko) * 2012-12-19 2014-06-26 엘지전자 주식회사 다중 액세스 네트워크를 지원하는 무선 통신 시스템에서 통신 방법 및 이를 지원하는 장치
US9686731B2 (en) 2012-12-19 2017-06-20 Lg Electronics Inc. Method for selectively processing traffic in wireless communication system supporting multiple access network, and apparatus supporting same
US9826451B2 (en) 2012-12-19 2017-11-21 Lg Electronics Inc. Method for communicating in wireless communication system supporting multiple access network and apparatus supporting same
US9961610B2 (en) 2012-12-19 2018-05-01 Lg Electronics Inc. Method for communicating in wireless communication system supporting multiple access network and apparatus supporting same
US10123246B2 (en) 2012-12-19 2018-11-06 Lg Electronics Inc. Method for communicating in wireless communication system supporting multiple access network and apparatus supporting same

Also Published As

Publication number Publication date
EP1327196A4 (en) 2005-03-09
WO2002017034A2 (en) 2002-02-28
AU2001282477A1 (en) 2002-03-04
US20020059451A1 (en) 2002-05-16
WO2002017034A3 (en) 2002-10-24
US7346702B2 (en) 2008-03-18
EP1327196A2 (en) 2003-07-16

Similar Documents

Publication Publication Date Title
JP2004526218A (ja) 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
JP6600373B2 (ja) トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法
Moon et al. {AccelTCP}: Accelerating network applications with stateful {TCP} offloading
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US8949471B2 (en) TCP/UDP acceleration
US7975071B2 (en) Content compression in networks
US7373500B2 (en) Secure network processing
US7313614B2 (en) Switching system
US7958199B2 (en) Switching systems and methods for storage management in digital networks
US20020108059A1 (en) Network security accelerator
US20050060427A1 (en) Object-aware transport-layer network processing engine
AU2007320794B2 (en) Selective session interception method
AU2019261208A1 (en) System and method for accelerating data delivery
US10924423B2 (en) Adaptive mechanism to adjust UDT packet size based on actual network condition
US11570257B1 (en) Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks
Sendi et al. Adaptive transport layer protocol for the web

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071025