JP2004532559A - ポリシーゲートウェイ - Google Patents

ポリシーゲートウェイ Download PDF

Info

Publication number
JP2004532559A
JP2004532559A JP2002578159A JP2002578159A JP2004532559A JP 2004532559 A JP2004532559 A JP 2004532559A JP 2002578159 A JP2002578159 A JP 2002578159A JP 2002578159 A JP2002578159 A JP 2002578159A JP 2004532559 A JP2004532559 A JP 2004532559A
Authority
JP
Japan
Prior art keywords
network
processing system
engine
packet
processing engine
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
JP2002578159A
Other languages
English (en)
Other versions
JP2004532559A5 (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 JP2004532559A publication Critical patent/JP2004532559A/ja
Publication of JP2004532559A5 publication Critical patent/JP2004532559A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • 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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Abstract

ネットワーク内またはネットワーク全体にわたるサービス品質を提供するように設計されたプログラミング可能なネットワークポリシーを実行するために、ポリシーゲートウェイとして機能するネットワーク処理システム(40)が記述されている。プログラミング可能なネットワークポリシーは、リモートサーバの管理インタフェースを使用して、イメージロードファイルに変換され、ネットワーク処理システム(40)に送信される。ネットワーク処理システム(40)では、イメージは、処理エンジン(44、46)にロードされる。ネットワーク処理システム(40)は、ネットワークからデータを取り込み、かつ、処理されたデータをネットワーク上に再び送信するラインインタフェース(38、42)を含む。単方向処理エンジンは、ラインインタフェース(38、42)からデータを取り込み、各データパケットを識別子と関連付ける。識別子は、データパケットがその一部をなすフローを識別する。次に、フローは、プログラミング可能なネットワークポリシーのデータベースと比較され、処理エンジン(44、46)は、その比較結果に基づいて取り扱いを決定する。次に、処理エンジン(44、46)内のサービス品質プロセッサは、この取り扱いを使用して、ネットワークポリシーと整合するように、データパケットを変更し、方向付ける。

Description

【技術分野】
【0001】
本発明は、広帯域データネットワーク機器に関する。特に、本発明は、ネットワークプロセッサを使用してネットワークのポリシー管理を実行するネットワーク処理システムに関する。
【背景技術】
【0002】
ほとんど誰もが、ビジネスを行う第1の手段として、インターネットおよびウェブ基盤のサービスを使用している。電子メール、電子商取引、IP上の音声(VoIP(Voice over IP))、およびウェブブラウジングといったサービスは、組織内および組織間の通信にとって重要となってきた。ネットワークベースのサービスに対する依存度が増加するにつれて、それらサービスの可用性、信頼性、および応答性に対する消費者の要求も増加している。通常、顧客は、サービスがどのように構成されているかは気にせず、彼らにとって重要なものは、サービス品質(QoS(quality of service))である。適切なQoSを提供するために、ネットワークプロバイダは、QoSの裏側を実行しなければならず、これがポリシーである。ポリシーは、QoSがいつどこでどのようにしてさまざまなネットワークトラフィックに適用されるかについての詳細を定めるルールを定義する。
【0003】
サービス品質は、それ自体、他のパケットと比較して、特定の方法でパケットの所定のクラスまたはフローを取り扱う目的でなされたパケットの分類をいう。この分類および取り扱いの基準が、ポリシー条項である。理想的には、QoSおよびポリシーは、普通なら予測不可能なベストエフォート型広帯域ネットワークの配信サービスを、予測可能なものにすることを意味する。
【0004】
多くの標準規格が、少なくともある程度は作成および実施され、これにより、例えばインターネットなどのインターネットプロトコル(IP)ネットワークにQoSを提供する試みがなされてきた。このような標準規格の例には、DiffServ、MPLS、およびRSVPが含まれる。これらの標準規格のすべては、適切に起動されたネットワーク機器が、特定のQoSタグを読み取ることができ、それに従ってパケットを取り扱うことができるように、パケットヘッダ内のフィールドの設定(DiffServ)またはパケットヘッダ内へのシム(shim)の挿入(MPLS)を必要とする。
【0005】
IPネットワーク上でQoSを有効にすることは、本来、あるユーザまたはアプリケーションが、他のものよりも良好なネットワークサービスを得ることを意味する。したがって、QoSを有効にすることは、アプリケーションに関係なく、その一部のユーザのネットワークトラフィックの優先度を他のユーザまたはネットワークのトラフィックよりも高くするように試みることにより、あるいは、ネットワークをだまして、一部のユーザトラフィックが、彼ら自身のものよりも高いQoSを有するユーザまたはネットワークに属すると信じさせるように試みることにより、一部のユーザ、さらにはネットワーク管理者に対して、あるインセンティブを与えて、ごまかすことになる。その結果、ネットワークを通過するトラフィックを正確に識別するために送信元ユーザまたはネットワークに頼ることなく、独立にトラフィックの送信元、宛先および性質を識別できることが必要である。
【0006】
エンドユーザ、アプリケーション、インターネットホスト、企業、またはネットワークプロバイダといったトラフィック所有者が、要求するサービスを受けられる状況は変化するので、ルールが必要となり、また、それらのルールを実行し、かつそれらのルールがいつ適用されるかを決定する必要がある。これらのルール、実行、および決定は、QoSが有効にされたネットワークの不可欠なコンポーネントであるポリシーシステムを構成する。
【発明の開示】
【発明が解決しようとする課題】
【0007】
したがって、必要とされるものは、ネットワークを流れるトラフィックの性質を決定し、そのトラフィック内の各パケットおよび各フローに対する適切な取り扱いを決定し、その取り扱いに従って各パケットを変更してルーティングすることにより、ネットワークポリシーを実行できるネットワーク処理システムである。
【課題を解決するための手段】
【0008】
本発明は、広帯域ネットワーク上で、プログラミング可能なネットワークポリシーを実行するネットワーク処理システムを提供する。このネットワーク処理システムは、ネットワークインタフェースまたはラインインタフェースを含む。このネットワークインタフェースまたはラインインタフェースは、広帯域ネットワークからパケットの形式でデータを受信し、処理されたデータまたはパケットを、ネットワーク上に再び送信する。ネットワークインタフェースは、ネットワーク処理システムの処理エンジンと通信する。この処理エンジンは、パケットに識別子を割り当てるように動作できる。この識別子は、パケットを、そのパケットが一部をなす特定のセッションまたはフローと関連付ける。この識別子により、処理エンジンは、フロー全体にわたるパケットからパケットへの状態を保持することが可能になる。前に決定された任意の状態および処理されるパケットを使用して、処理エンジンは、パケットを、既知のシグネチャのデータベースと比較する。このデータベースは、一組のプログラミング可能なネットワークポリシーを含む。この比較の結果、処理エンジンは、パケットの取り扱いを決定する。この取り扱いは、ネットワーク上に戻されるパケットの変更、ならびにルーティングおよび/または方向を含み得る。ネットワーク処理システムの一実施の形態では、相互に通信し、管理モジュールと通信する2つの単方向処理エンジンが使用されて、双方向ネットワーク処理システムが作成される。
【0009】
ネットワーク処理システムの1つまたは複数の処理エンジンは、トラフィックフロー走査プロセッサまたはトラフィックフロープロセッサをさらに含む。このトラフィックフロー走査プロセッサまたはトラフィックフロープロセッサは、各パケットを、そのフローを識別する識別子と関連付けるように動作できる。トラフィックフロープロセッサは、各パケットを、ネットワークポリシーを含む、プログラミングされたシグネチャのデータベースと比較して、そのパケットの取り扱いを決定する。決定される取り扱いは、事前にプログラミングされた1つまたは2つ以上のポリシーに基づくことができる。また、トラフィックフロープロセッサは、各フローの状態も保持する。サービス品質プロセッサは、トラフィックフロープロセッサと通信し、取り扱いを使用して、ネットワーク上に戻されるパケットを変更し、方向付ける。
【0010】
ネットワーク処理システムから分離した別のサーバ上に存在する管理インタフェースも説明される。この管理インタフェースは、プログラミングインタフェースと、コマンドラインインタフェースまたはグラフィカルユーザインタフェースのいずれかとを含む。コマンドラインインタフェースまたはグラフィカルユーザインタフェースは、ネットワークポリシーならびに他のシグネチャおよび環境設定情報を設定するために使用される。プログラミング情報は、他のデータベースおよびライブラリと共に使用されて、イメージファイルを構築する。イメージファイルは、管理インタフェースに制御されて、適切なネットワーク処理システムへリモートにロードすることができる。イメージファイルは、ネットワーク処理システムがポリシーゲートウェイとして動作するのに必要なすべてのプログラミング可能な情報を含み、この情報には、環境設定のイメージおよびシグネチャのイメージが含まれる。
【0011】
当業者が、以下に続く本発明の詳細な説明をより良く理解できるように、上記は、本発明の好ましい特徴および選択的な特徴の概要をかなり広く説明したものである。本発明の特許請求の範囲の主題を成す本発明のさらなる特徴は、以下で説明される。当業者は、開示された着想および具体的な実施の形態を、本発明の同じ目的を実行する他の構造を設計または変更する基礎として容易に使用できることを十分理解するであろう。また、当業者は、このような均等な構成が、その最も広い形の本発明の精神および範囲から逸脱しないことにも気付くであろう。
【0012】
本発明をより完全に理解するために、次に、以下の説明が添付図面と共に参照される。
【発明を実施するための最良の形態】
【0013】
まず、図1を参照して、例えばインターネットなどの広域公衆IPネットワーク内に存在するネットワーク基盤の一例のネットワークトポロジーが示されている。図1は、決して、正確なネットワークアーキテクチャを意図するものではなく、広帯域IPネットワーク上に存在し得るさまざまなネットワーク構造体の概略図としての機能を果たすことだけを意図している。図1は、コアIPネットワーク10およびアクセスネットワーク12を示している。コアIPネットワーク10は、例えばMCIまたはUUNETなどの企業のIPネットワークの場合がある。アクセスネットワーク12は、例えばDSLAM14または企業ルータ16などの機器を通じてユーザをコアIPネットワーク10へ接続する。公衆IPネットワークに接続された他のネットワークにアクセスするために、数限りないネットワーク構造体を、コアIPネットワーク10およびアクセスネットワーク12に接続することができ、これらのネットワーク構造体は、図1では、雲18として表されている。
【0014】
アクセスネットワーク12は、公衆IPネットワーク上でデータアクセスおよび音声アクセスの双方を提供するために使用される。アクセスネットワーク12の例としては、インターネットサービスプロバイダ(ISP)(Internet Service Provider)または地域電話会社(LEC)(Local Exchange Carrier)がある。アクセスネットワーク12は、企業ルータ16(例えば、Lucent TechnologiesまたはMerrill Lynchなどの企業用の企業ネットワーク)を通じて企業に対して、または、ダイアルアップ接続もしくはディジタル加入者線(DSL)(digital subscriber line)などの高速接続を通じて個々の家庭、ホームオフィス、もしくは小企業に対して、サービスを提供することができる。なお、DSLは、例えばDSLAM14などの集約デバイスを通じて接続する。
【0015】
アクセスネットワーク12は、スイッチバックボーン20を含む。スイッチバックボーン20は、本明細書では、非同期転送モード(ATM)(asynchronous transfer mode)ネットワークとして示され、交換機およびルータによって形成されて、そのネットワーク上でデータをルーティングする。図示しないドメインネームサーバおよび他のネットワーク機器も、アクセスネットワーク12に含まれる。アクセスネットワーク12は、それ自身の加入者間の接続、ならびに、その加入者とコアIPネットワーク10および他のネットワーク16との間の接続を提供して、その加入者が、他のアクセスネットワークの顧客と接触できるようにする。
【0016】
ネットワーク構造体の縁部およびネットワーク構造体間には、ネットワーク境界を横切ってデータを渡すポイントが存在することが、容易に見て取れる。図1に示すネットワーク構造体の主な1つの問題は、例えば、サービス品質、ポリシー実行、セキュリティ、および統計的計測といったサービスの提供をネットワークで可能にするあらゆるタイプのインテリジェンスが、これらのネットワーク境界ポイントに欠如していることである。これらのサービスを提供するインテリジェンスは、ネットワークが、これらのネットワーク境界ポイントを通過するデータのタイプを理解することを必要とする。このデータのタイプは、単に宛先情報および/または送信元情報だけではなく、現在理解されるものすべてである。このデータのタイプ、すなわちヘッダ情報だけでなく、関連付けられたペイロードの内容を含むデータの内容を理解し、さらに、それぞれの個別のトラフィックフローの全体にわたる状態アウェアネス(state awareness)を理解して保持することにより、ネットワークは、ネットワークポリシーを実時間で実行することが可能となる。これにより、ネットワークは、MPLSおよびDiffServなどの標準規格を使用して真のクロスネットワークQoSを提供すること、サービス品質が基本的な要求となるVoIPまたはビデオなどのアプリケーションのためにネットワーク上で帯域幅要件に対してリアルタイムで構成すること、あるいは、そのセッションでインテリジェンスを必要とする他のネットワークサービス、すなわちパケット転送だけでなくフローおよびレベルを提供することが可能となる。また、インテリジェントネットワークは、例えば、電子メールのワーム、ウィルス、サービス拒否(DoS)(denial of service)攻撃、および違法なハッキング行為といったセキュリティ問題を、エンドユーザにトランスペアレントな形式で識別し、選択除去することもできる。さらに、インテリジェントネットワークは、企業およびサービスプロバイダをホスティングすることによって計測機能を提供し、これにより、これらの企業が、帯域幅および例えばセキュリティといった付加的な機能に対して正確に料金を請求するだけでなく、個々の顧客に割り当てる帯域幅の量を調整することを可能にする。
【0017】
このようなデバイスを使用した例が、ネットワーク処理システム22によって図1に示されている。このネットワーク処理システム22は、DSLAM14または企業ルータ16の背後にあるアクセスネットワーク12の縁部だけでなく、クロスネットワークの境界にも存在する。これらの位置に存在するデバイスが、フローを識別して追跡することができ、かつ、それらのフローの状態を維持できるならば、このデバイスは、そのデバイスが接続されたネットワークに真のサービス品質およびポリシー管理を提供することができることになる。
【0018】
上述した要件に従って、本発明は、DS3、OC−3、OC−12、OC−48およびそれ以上の速度のペイロード情報を含むネットワークトラフィックの走査、分類、および変更を行うことができるネットワーク処理システムを提供し、これによって、効果的なポリシー管理プラットフォームを提供する。
【0019】
本明細書で説明するネットワーク処理システムの動作の理解を助けるために、本明細書で広く使用されることになるネットワークトラフィックに関連した概念を示す図2が提供される。図2は、フロー(NID_a)、フロー(NID_b)、およびフロー(NID_c)の3つの個別のフローを示している。これらの3つのフローは、ネットワーク上に同時に存在することができる。各フローは、ネットワーク上に存在する個別のセッションを表す。これらのセッションは、実時間ストリーミングビデオセッションの場合もあるし、IP上の音声(VoIP)呼の場合もあるし、ウェブブラウジングや、ファイル転送や、他の任意のネットワークトラフィックの場合もある。各フローは、個別のデータパケットから構成される。フロー(NID_a)は、パケットxおよびx+1から構成され、フロー(NID_b)は、パケットyおよびy+1から構成され、フロー(NID_c)は、パケットzおよびz+1から構成される。2つのパケットが示されているが、各フローは、任意の個数のパケットから構成され、各パケットは、任意のサイズを有する。各パケットは、各パケットについてBlk_i、Blk_i+1、およびBlk_i+2として示された固定長のブロックにさらに分解することができる。パケットおよびフローが、ネットワークトラフィックとして登場するが、図2に示す固定長のブロックが、本発明のネットワーク処理システムによって作成され、以下にさらに詳細に説明される。
【0020】
次に図3を参照して、本発明によるネットワーク処理システムの一実施の形態が示されている。ネットワーク処理システム40は、双方向システムであり、右ラインインタフェース42からの情報を処理した後、左ラインインタフェース38を通じてネットワークに再び送信することができるか、または、左ラインインタフェース38からの情報を処理した後、右ラインインタフェース42を通じてネットワークに再び送信することができる。左ラインインタフェース38および右ラインインタフェース42の双方とも、それぞれ、任意の複数のポートから構成することができ、例えば、OC−3、OC−12、OC−48、ならびに10/100イーサネット、ギガビットイーサネット、ATM、およびSONETを含むプロトコルといった高速を含んだ任意の個数のネットワーク速度およびプロトコルを受け入れることができる。
【0021】
ラインインタフェースカードは、パケットの形で入来するデータを取り込み、そのデータをデータバス54に出力する(place)。データバス54は、例えばPOS−PHYレベル3タイプ、CSIXタイプ、またはATM UTOPIAレベル3タイプのデータバスなどの工業規格のデータバスであることが好ましい。左ラインインタフェース38に受信されたデータは、処理エンジン44に送信される一方、右ラインインタフェース42に受信されたデータは、処理エンジン46に送信される。ネットワーク処理システム40は双方向であるが、ネットワーク処理システム40内の個々の処理エンジン44および46は、単方向であり、双方向の情報を処理するのに2つを必要とする。各処理エンジン44および46は、各データパケットの内容の走査、データパケットと特定のフローとの関連付け、各データパケットの内容および関連付けられたフローの任意の状態に基づく各データパケットの取り扱いの決定、ならびに決定された取り扱いに適合したデータパケットのキューイングおよび変更を行うように動作できる。各処理エンジン44および46の動作については、図4を参照してさらに詳細に説明する。フローの状態は、すでに処理済みのフローと関連付けられたパケットからネットワーク処理システム40によって識別されたそのフローに関連した情報である。
【0022】
内部バス52は、処理エンジン44および46を相互に通信可能にし、かつ、管理モジュール48およびオプションの補助プロセッサモジュール50を双方の処理エンジン44および46と通信可能にするために使用される。内部バス52は、PCIバスであることが好ましい。処理エンジン44および46の相互通信により、これらの処理エンジンは、フローから学習した情報を交換することが可能になり、この情報を、戻りのフローの取り扱いに適用することができる。例えば、高優先度の顧客の取り扱いは、送出する情報および入来する情報の双方に適用される必要がある。各処理エンジンは、単方向であるので、情報は、双方向のトラフィックに作用するように、処理エンジン間で共有されなければならない。
【0023】
管理モジュール48は、処理エンジン44および46のそれぞれの動作を制御し、外部デバイスと通信するために使用される。これらの外部デバイスは、ネットワーク処理システム40に、ポリシー、QoS、および取り扱い命令をロードするために使用される。これらのポリシー、QoS、および取り扱い命令は、ネットワーク処理システム40によって、当該ネットワーク処理システム40が処理するネットワークトラフィックに適用される。
【0024】
次に図4を参照して、本発明によるネットワーク処理システムに使用される内容処理エンジンの一実施の形態が示されている。処理エンジン44および46のそれぞれは、先に述べたように同一である。それぞれの動作は、一般的に述べられ、処理エンジンの動作のあらゆる説明は、処理エンジン44および46の双方に等しく当てはまる。図3に示すラインインタフェースカード42および38は、物理ポートからデータを取り込み、そのデータを組み立て、次にデータをフォーマットして高速パスデータバス126に出力(placement)する。高速パスデータバス126は、前述したように、例えば、POS−PHYレベル3タイプまたはATM UTOPIAレベル3タイプのデータバスなどの工業標準のデータバスであることが好ましい。
【0025】
高速パスデータバス126は、データをトラフィックフロー走査プロセッサ140に搬送する。トラフィックフロー走査プロセッサ140は、ヘッダプリプロセッサ104および内容プロセッサ110を含む。データは、まず、ヘッダプリプロセッサ104に送信される。ヘッダプリプロセッサ104は、データパケットヘッダに含まれる情報を用いていくつかの動作を実行するように動作できる。ヘッダプリプロセッサ104は、受信したデータパケットを、ヘッダプリプロセッサ104と関連付けられたパケットストレージメモリに記憶し、ヘッダ情報を走査する。ヘッダ情報が走査されて、データパケットのタイプ、すなわちプロトコルが識別される。識別されたプロトコルは、ルーティング情報の決定およびIPヘッダの開始バイトのデコードのために使用される。以下に述べるように、処理エンジンは、適切に機能するために、順序がバラバラのパケットの再配列およびデータパケットフラグメントの再組み立てを必要とする。ヘッダプリプロセッサ104は、非同期転送モード(ATM)セルの完全なデータパケット(PDU)への組み立てを実行するように動作できる。この組み立てには、ATMヘッダ情報のストリッピング(stripping)が含まれる。
【0026】
データパケットが、ヘッダプリプロセッサ104によって処理された後、データパケット、および、QoS情報などのヘッダプリプロセッサによってまとめられたあらゆる結論は、高速データバス126上を、トラフィックフロー走査エンジン140の他の半分である内容プロセッサ110に送信される。受信したパケットは、内容プロセッサ110によって処理される間に、パケットストレージメモリ(図示せず)に記憶される。内容プロセッサ110は、ヘッダプリプロセッサ104から受信したデータパケットの内容を走査するように動作できる。このデータパケットの内容には、データパケットの全ペイロードの内容が含まれる。ヘッダも同様に走査される。その1つの目的は、データパケットの予め定められた属性に使用して、セッションIDを作成することである。
【0027】
好ましい実施の形態では、セッションIDは、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、およびプロトコルからなるセッション情報を用いて作成される。ただし、本発明の範囲から逸脱することなく、列挙したフィールドの任意のサブセットまたはデータパケットの任意の付加的なフィールドを用いてセッションIDを作成できることが、当業者には分かるであろう。新しいセッション情報を有するデータパケットが受信されると、ヘッダプリプロセッサは、その特定のトラフィックフローを識別するユニークなセッションIDを作成する。同じセッション情報を有するそれぞれの連続的なデータパケットには、同じセッションIDが割り当てられ、これにより、そのフロー内の各パケットが識別される。セッションIDは、その特定のトラフィックフローが明示的な動作を通じて終了した時、または、そのトラフィックフローがタイムアウトした時に、廃棄される。タイムアウトとは、そのトラフィックフローのデータパケットが、予め定められた時間内に受信されなかったことを意味する。本明細書では、セッションIDが、内容プロセッサ110によって生成されるものとして述べられているが、セッションIDは、ヘッダプリプロセッサ104を含む、トラフィックフロー走査エンジン140のいずれでも作成することができる。
【0028】
任意のデータパケットまたはすべてのデータパケットの内容が、既知のシグネチャのデータベースと比較される。データパケットの内容、または複数のデータパケットの内容が、既知のシグネチャと整合すると、処理エンジンは、そのシグネチャおよび/またはセッションIDと関連付けられた行動を取ることができる。その上、内容プロセッサ110は、それぞれの個別のトラフィックフローの全体にわたって状態アウェアネスを保持するように動作できる。換言すると、内容プロセッサ110は、トラフィックフローからの現在のデータパケットに関連した状態情報だけでなく、トラフィックフローの全体に関連した状態情報を記憶する各セッション用のデータベースを保持する。これにより、ネットワーク処理システム40は、走査するデータパケットの内容に基づくだけでなく、トラフィックフロー全体の内容に基づいて動作することが可能になる。内容プロセッサ110の具体的な動作については、図5を参照して説明する。
【0029】
パケットの内容が走査され、トラフィックフロー走査エンジン140が結論に到達すると、パケットと、ヘッダプリプロセッサ104および内容プロセッサ110のいずれかまたは双方の関連付けられた結論とは、サービス品質(QoS)プロセッサ116に送信される。この場合も、QoSプロセッサ116は、転送のために、それ自身のパケットストレージメモリにパケットを記憶する。QoSプロセッサ116は、ネットワーク処理システム40によって処理されるデータパケットのストリームに対してトラフィックフロー管理を実行するように動作できる。QoSプロセッサは、トラフィック管理用のエンジン、トラフィックシェーピング(traffic shaping)用のエンジン、およびパケット変更用のエンジンを収容する。
【0030】
QoSプロセッサ116は、ヘッダプリプロセッサ104および内容プロセッサ110のいずれかまたは双方の結論を取り入れ、その結論に基づいて、その内部のサービス品質キューの1つにデータパケットを割り当てる。サービス品質キューには、相互に対する優先度を割り当てることができるか、または、当該デバイスを通過するトラフィックフローの最大パーセンテージもしくは最小パーセンテージを割り当てることができる。これにより、QoSプロセッサ116は、例えば、VoIP、ビデオ、および高品質および高信頼性の要件を有する他のフローといったトラフィックフローに対しては、必要な帯域幅を割り当てることが可能になる一方、例えば、低い優先度のキューに割り当てられた電子メールおよび一般のウェブサーフィンといった低品質の要件を有するトラフィックフローに対しては、残りの帯域幅を割り当てることが可能になる。QoSエンジンに従ってキューに現在存在するすべてのデータを送信するのに利用可能な帯域幅を持たない、そのキュー内の情報は、選択的に廃棄され、これにより、トラフィックフローからそのデータは除去される。
【0031】
また、サービス品質キューにより、ネットワーク処理システム40は、例えばサービス拒否(DoS)攻撃などのネットワーク攻撃を管理することも可能になる。ネットワーク処理シングル40は、パケットの内容を走査して、その内容が、既知の送信元と既知の宛先との間の正当なネットワークトラフィックを収容することを検証することによって、トラフィックフローに資格を与えるように動作することができる。トラフィックフローが未知の送信元からのものであるか、または、トラフィックフローが新しい未分類のフローであることから検証を受けなかったトラフィックフローは、その送信元が検証されるか、または、そのトラフィックフローが正当なトラフィックとして分類されるまで、低いサービス品質キューに割り当てることができる。ほとんどのDoS攻撃は、新しいセッション情報か、他人になりすまされた送信元からのデータか、あるいは意味のないデータかを送信するので、ネットワーク処理システム40は、それらのトラフィックフローを低品質のトラフィックキューに割り当てることになる。これにより、DoSトラフィックは、利用可能な帯域幅の低いパーセンテージ(すなわち5%)しか受信しないことが保証され、これによって、攻撃者が、下流のネットワーク機器をフラッディングさせることが防止される。
【0032】
QoSプロセッサ116のQoSキュー(本実施の形態のQoSプロセッサでは、64k個のキューが存在するが、任意の個数のキューを使用することができる)は、スケジューラ(本実施の形態では1024個)に送り込まれ、スケジューラは、論理ポート(本実施の形態では256個)に送り込まれ、論理ポートは、データを、このネットワークデバイス用の物理的な出口ポート(egress port)に対応することができるフロー制御ポートマネージャ(本実施の形態では32個)に送信する。トラフィック管理エンジンおよびトラフィックシェーピングエンジンは、プログラミングされたパラメータに従ってトラフィックフローを維持するために、スケジューラおよび論理ポートの動作を決定する。
【0033】
また、QoSプロセッサ116は、パケット変更エンジンも含む。このパケット変更エンジンは、データパケットのいずれのフィールドのビットも、変更、追加、または削除するように動作できる。これにより、QoSプロセッサ116は、DiffServビットを変更したり、あるいは、適切なMPLSシムをデータパケットに置いたりして、必要な取り扱いが行われるようにすることができる。QoSプロセッサ116内のパケット変更エンジンは、必要に応じて、ペイロード自体の情報を変更するために使用することもできる。その後、データパケットは、高速データパス126に沿って送信され、関連付けられたラインインタフェースに出力される。このラインインタフェースでは、データパケットは、ネットワークに適合した信号に再び変換され、ネットワーク上に出力される。
【0034】
すべてのネットワーク機器と同様に、ある量のネットワークトラフィックは、高速データパス126に沿って処理することができない。このトラフィックは、オンボードマイクロプロセッサ124によって処理される必要がある。高速パストラフィックフロー走査エンジン140およびQoSプロセッサ116は、追加の処理を必要とするパケットをフロー管理プロセッサ122に送信する。フロー管理プロセッサ122は、それらのパケットをマイクロプロセッサ124に転送して処理させる。その後、マイクロプロセッサ124は、折り返し、フロー管理プロセッサ122を通じてトラフィックフロー走査エンジン140およびQoSプロセッサ116に通信する。フロー管理プロセッサ122は、処理システム40と通るトラフィックフローの性質に関するデータおよび統計値を収集するように動作できる。ブリッジ146は、PCIバスが氾濫状態にある間に発生し得るデータの損失を防止するためにPCIバス148上でバッファとして機能する素子間に使用される。
【0035】
図4の記述から分かるように、処理エンジン44および46により、受信した任意のデータパケットまたはすべてのデータパケットの全内容を、既知のシグネチャのデータベースと比較して走査することが可能である。走査した内容は、可変の長さであってもよいし、任意の長さであってもよく、さらに、パケットの境界を横切っていてもよい。処理エンジン44および46の能力により、インテリジェンスを有するネットワークデバイスの構築が可能になり、この構築により、データパケットの内容に基づいてそのデータパケットを操作する能力が、ネットワークデバイスに与えられる。
【0036】
次に図5を参照して、図4の内容プロセッサ110が、さらに詳細に記述されている。上述したように、内容プロセッサ110は、図4のヘッダプリプロセッサ104から転送されたデータパケットの内容を走査するように動作できる。内容プロセッサ110は、キューエンジン302、コンテクスト(context)エンジン304、および内容走査エンジン306の3つの別個のエンジンを含む。
【0037】
内容プロセッサ110は、ペイロードの内容を走査し、パケットの境界を横切って走査することができるので、内容プロセッサ110は、フラグメントになったパケットを再組み立てできなければならず、順序がバラバラのパケットを各セッション単位で再配列できなければならない。再配列および再組み立ては、キューエンジン302の機能である。キューエンジン302は、高速パスインタフェース310を用いて、内部バス127からデータを受信する。次に、パケットは、パケット再配列および再組み立てエンジン312に送信される。このパケット再配列および再組み立てエンジン312は、パケットメモリコントローラ316を使用して、パケットをパケットメモリ112に記憶する。また、再配列および再組み立てエンジン312は、リンクリストコントローラ314およびリンクリストメモリ318を使用して、データパケットを処理用に配列するために使用される詳細なリンクリストも作成する。データパケットは、キューエンジン302内への記憶用に、256バイトのブロックに分解される。セッションCAM320は、内容プロセッサ110のキューエンジン302によって生成されたセッションIDを記憶することができる。再配列および再組み立てエンジン312は、セッションIDを使用して、同じデータフローに属するデータパケットをリンクする。
【0038】
必要とされる高いスループット速度を得るために、内容プロセッサ110は、複数のセッションからのパケットを同時に処理できなければならない。内容プロセッサ110は、複数のデータパケットからのデータのブロックを処理する。これら複数のデータパケットのそれぞれは、関連付けられたセッションIDを有するユニークなトラフィックフローに属する。本発明の好ましい実施の形態では、内容プロセッサ110のコンテクストエンジン304が、ユニークなトラフィックフローからの64個の異なるデータパケットの64バイトのブロックを同時に処理する。64個の異なるデータフローの64バイトのブロックのそれぞれは、内容プロセッサにとって単一のコンテクスト(context)を表す。内容プロセッサ110に対して同時に起こるコンテクストのすべてのスケジューリングおよび管理は、コンテクストエンジン304によって操作される。
【0039】
あるコンテクストが、処理を完了し、内容プロセッサ110から送出されると、コンテクストエンジン304は、キューエンジン302と連携して、新しいコンテクストを選択する。次フリーコンテクスト/次フリーブロックエンジン330は、リンクリストコントローラ314と通信して、処理を行う次のデータパケットのブロックを特定する。内容プロセッサ110は、データパケットを順に走査しなければならないので、1つのデータパケットか、または、特定のセッションIDを有する1つのトラフィックフローしか、同時にアクティブになることができない。アクティブ制御リスト332は、アクティブなコンテクストを有するセッションIDのリストを保持し、新しいコンテクストをアクティブなリストと比較してチェックし、新しいコンテクストが、アクティブでないセッションIDからのものであることを保証する。新しいコンテクストが特定されると、パケットローダ340が、次フリーコンテクスト/次フリーブロックエンジン330によって検索されたリンクリスト情報を使用し、パケットメモリコントローラ316を用いてパケットメモリ112から必要なデータのブロックを検索する。次に、この新しいデータブロックは、コンテクストバッファ342からフリーバッファにロードされ、フリーバッファにおいて、内容走査エンジンインタフェース344による検索を待機する。
【0040】
内容走査エンジンインタフェース344は、コンテクストエンジン304と内容走査エンジン306との間のインタフェースである。内容走査エンジン306が走査される新しいコンテクストのための空間を有する場合、内容走査エンジンインタフェース344は、新しいコンテクストを内容走査エンジン306の文字列プリプロセッサ360に送信する。文字列プリプロセッサ360は、例えば、余白(すなわち、空白文字、タブ、改行)を単一の空白文字に圧縮して走査を簡単にするなどの操作を実行することにより、コンテクストを簡単にするように動作できる。文字列プリプロセッサ360が処理を完了すると、コンテクストは、文字列比較器364によって検索されるまで、コンテクストバッファ362内のバッファの1つにロードされる。文字列比較器364は、シグネチャメモリ366の入力および出力を制御する。なお、4つのシグネチャメモリ366が示されているが、任意の個数を使用して、内容走査エンジン110を介するスループットを増大させるか、または、減少させることができる。4つのシグネチャメモリ306のそれぞれは、潜在的に、複数のコンテクストを操作することができる。本実施の形態では、シグネチャメモリ366のそれぞれは、同時に4つのコンテクストを処理することができる。
【0041】
シグネチャメモリ366の1つは、文字列比較器364によってコンテクストを割り当てられた後、コンテクストの有効ビットを、シグネチャメモリ366に存在する既知の文字列のデータベースと比較する。このシグネチャメモリ366との比較によって、コンテクストと、有効ビットを使用する既知のシグネチャの1つとの間に整合の可能性があるかどうかが判断される。この有効ビットは、特定のシグネチャに固有のビットである。整合の可能性がある場合には、そのコンテクストおよびその整合の可能性のある文字列は、リーフ文字列比較器368に送信される。リーフ文字列比較器368は、リーフ文字列メモリ370を使用して、コンテクストと、整合の可能性のある文字列とのビットごとの比較を実行する。なお、4つのシグネチャメモリ366および2つのリーフ文字列メモリ370が示されているが、内容プロセッサ110のスループットを最適化するために、任意の個数の文字列メモリ366および任意の個数のリーフ文字列メモリ370を使用することができる。
【0042】
次に、内容走査の結論が、ペイロード走査インタフェース344に再び送信される。この送信では、場合によっては、走査される新しいデータの要求も、共に送信される。内容走査の結論は、多数の可能性のある結論のいずれかである場合がある。走査によっては、まだ結論に到達していないこともあり得、走査を継続するために新しいデータパケットからの追加データが必要な場合もあり得る。この場合には、中間状態と呼ぶことができるトラフィックフローの状態、および、あらゆる未完了な走査が、例えば連続番号、カウンタなどの他の適切な情報と共に、セッションメモリ354に記憶される。また、シグネチャメモリ366によって到達された結論は、走査が完了したこと、および、整合するものが存在したかまたは存在しなかったことである場合もある。この場合には、データパケットおよび結論が、送信エンジン352に送信され、図4のQoSプロセッサ116に渡される。また、走査により、データパケットを図4のマイクロプロセッサ124へ転送して、さらに処理する必要があると判断される場合もある。これにより、データパケットは、ホストインタフェース350に送信され、ホストインタフェースバス372に出力される。ホストインタフェース350は、残りのパケットを操作することに加えて、マイクロプロセッサ124に、任意のバッファへの書き込みまたはコンテクストエンジン304の登録を行わせることにより、マイクロプロセッサ124が、内容プロセッサ110の任意の態様の動作を制御できるようにする。
【0043】
特定のトラフィックフローに関連付けられたデータが走査された後、状態情報が、セッションメモリ354に記憶され、必要に応じて更新される。状態は、整合が未完了であり、走査を継続するために追加データが必要であることを表す中間状態である場合もある。また、状態は、1つまたは2つ以上のイベントが、特定の結論を生成するために必要とされる複数のイベントから発生したことを示す部分状態の場合もある。状態は、関連付けられたトラフィックフローについて、最終結論に到達し、もはや走査が必要でないことを示す最終状態の場合もある。あるいは、状態は、内容プロセッサ110に必要とされるか、または、内容プロセッサ110にプログラミングされた他の任意の状況を表す場合もある。各トラフィックフローの状態情報は、どんな形式であっても、図3のネットワーク処理システム40のインテリジェンスを表し、ネットワーク処理システムが、走査される情報だけでなく、各トラフィックフローに対して以前に走査されたすべて情報に基づいて動作することを可能にする。
【0044】
送信エンジン352、ホストインタフェース350、セッションメモリコントローラ348、および汎用算術論理演算ユニット(GPALU)(general-purpose arithmetic logic unit)346の動作は、スクリプトエンジン334によって制御される。なお、セッションメモリコントローラ348は、セッションメモリ354の使用を制御し、GPALU346は、カウンタのインクリメントまたはディクリメント、ポインタの移動などを行うのに使用される。スクリプトエンジン334は、スクリプトメモリ336に記憶されたプログラミング可能スクリプトを、必要に応じてレジスタ338を使用して実行するように動作する。スクリプトエンジン334は、制御バス374を使用して、コンテクストエンジン304の素子の任意のものに命令を送信する。スクリプトエンジン334または内容プロセッサ110内の他のエンジンは、走査されるデータパケットの内容を変更する能力を有する。
【0045】
内容プロセッサ110の能力は、多くの観点でユニークである。内容プロセッサ110は、あるシグネチャまたは一連のシグネチャとして表すことができる任意の情報に対して、任意のデータパケットまたは任意の複数のデータパケットの内容を走査する能力を有する。このシグネチャは、任意の長さであってもよく、パケット内のどの箇所からでも開始することができ、またどの箇所でも終了することができ、パケットの境界を横切ることもできる。さらに、内容プロセッサ110は、各トラフィックフローの過程において整合する任意のシグネチャまたはすべてのシグネチャを表す、その各トラフィックフローの状態情報を記憶することにより、個々のトラフィックフローのすべてにわたって状態アウェアネスを保持することができる。既存のネットワークプロセッサは、各データパケット内の正確なポイントにおいて、固定長の情報を探索することにより動作し、パケットの境界を横切って探索することはできない。パケット内の正確なポイントにおいて固定長の情報を調べることができるだけであることから、既存のネットワークプロセッサは、あるレベルのパケットヘッダ内の識別可能な位置に収容される情報に対する動作に限定され、データパケットのペイロード内を調べることはできない。ましてや、既存のネットワークプロセッサは、トラフィックフロー全体の状態情報も決定できないし、ペイロードを含めたデータパケットの内容さえも決定できない。
【0046】
次に図6を参照して、プロセッサの環境設定と、最も重要なものとして、内容プロセッサ110内のシグネチャのデータベースを形成するメモリイメージとを作成するソフトウェアの略図が示されている。各パケットと各フローは、その内容プロセッサ110と比較される。メモリイメージおよび環境設定を構築するソフトウェアは、図3に示すネットワーク処理システムからは分離した別のサーバ上で実行される。メモリイメージおよび環境設定は、この別のサーバ上で作成されるとすぐに、図7を参照して説明するように、ネットワーク処理システムに送信されてダウンロードされる。
【0047】
図3のネットワーク処理システムは、プログラミング可能であり、ユーザによってネットワークポリシーが設定される。ネットワーク処理システムは、この設定されたネットワークポリシーを実行することになる。プログラミングは、ポリシーイメージビルダ500を使用して行われる。ポリシーイメージビルダ500は、上述したように、分離された別のサーバにロードされる。ポリシーイメージビルダ500は、グラフィカルユーザインタフェース(GUI)(graphical user interface)502およびコマンドラインインタフェース(CLI)(command line interface)504を含む。GUI502およびCLI504の機能は、同一であり、プログラマが、好ましいインタフェースを選択できるように提供される。ポリシーゲートウェイ環境設定データベース510は、各ポリシーゲートウェイの環境設定に関連した情報を保持する。この情報には、例えば、メモリサイズ、ポート番号、ラインインタフェースのタイプなどの情報が含まれる。プログラマは、これらの情報にアクセスする。また、ポリシーゲートウェイ環境設定データベース510は、CLIインタプリタ508およびGUIプログラム506とやり取りを行って、既存の処理エンジン環境設定ファイル514および既存のポリシーの記述512を保持するデータベースに新たなユーザプログラムを送信する。その後、この新たなユーザプログラムならびに既存の環境設定および記述は、ポリシーオブジェクト言語(POL)(Policy Object Language)コンストラクタ516によって、オブジェクトライブラリ518と結合される。POLコンストラクタ516は、プログラムおよび環境設定情報を取り込み、ネットワーク処理システムの個々のコンポーネントのいくつかのマップおよび環境設定ファイルを作成する。
【0048】
まず、ネットワーク処理エンジン内部の記憶場所のマップが作成され、メモリおよびカウンタマップ520に記憶される。ネットワーク処理システムは、全面的にプログラミング可能であるので、個々の記憶場所、カウンタ、およびレジスタには、プログラムによって機能が割り当てられる。割り当てのマップなしで、ネットワーク処理システムからその後読み出されるデータは、理解することができないであろう。作成されたメモリおよびカウンタマップにより、ネットワーク処理システムによって作成されるいずれのデータも、後に解釈することが可能になる。
【0049】
その上、POLコンストラクタ516は、ネットワーク処理システムのコンポーネントのそれぞれについての環境設定ファイルを作成する。QoS環境設定ファイル528が作成され、QoSコンパイラ530に送信されて、QoS環境設定イメージ546を作成するために使用される。ヘッダプリプロセッサ(HPP)(Header Preprocessor)プログラム526が作成され、HPPコンパイラ532に送信される。HPPコンパイラ532は、HPPバイナリファイル544を作成する。同様に、コンテクストエンジンスクリプトファイル524が、POLコンストラクタ516によって作成され、コンテクストエンジンスクリプトコンパイラ534によってコンパイルされ、コンテクストエンジンバイナリファイル542が作成される。最後に、ネットワークポリシーの記述を含むシグネチャマップファイル522が作成され、シグネチャアルゴリズム発生器536に送信される。シグネチャアルゴリズム発生器536は、ネットワーク処理システムのメモリをより効率的に使用するために、シグネチャマップを効率的なシグネチャメモリマップ540に圧縮する。また、プログラムは、部分的なシグネチャメモリマップ538を使用することにより、シグネチャメモリの部分的な更新を可能にする。部分的なシグネチャメモリマップ538は、シグネチャメモリの全面的な再配置が不要な場合に、シグネチャメモリの小さな部分のみを変更するのに使用することができる。
【0050】
これらQoS環境設定イメージファイル546、HPPバイナリファイル544、コンテクストエンジンバイナリファイル542、およびシグネチャメモリマップ540(または必要に応じて、部分的なシグネチャメモリマップ538)の4つのバイナリファイルは、その後、処理エンジン環境設定ソースファイル552、ポリシー記述ソースファイル550、ならびにカウンタおよびメモリマップソースファイル548と共に結合される。結合は、処理エンジンイメージビルダ554によって行われ、処理エンジンイメージビルダ554は、ポリシーゲートウェイイメージロードファイル556を作成する。ポリシーゲートウェイイメージロードファイル556は、分離された別のサーバから実際のネットワーク処理システムへ送信されて、実行に必要な情報およびプログラムをネットワーク処理システムに提供するファイルである。これらソースファイルが、ポリシーゲートウェイイメージロードファイル556に含まれることによって、何かがネットワークまたはシステムのいずれかの部分に発生した場合に、他の場所にあるソースファイルを遡って調べる必要なく、ポリシーゲートウェイイメージロードファイルのみから4つのバイナリファイルを再構成して理解することができる。
【0051】
ポリシーゲートウェイイメージファイル556に含まれるものを正確に理解するために、その個々のコンポーネントが、処理エンジンデータ558、制御プロセッサデータ560、および管理プロセッサデータ562として説明される。処理エンジンデータ558は、図3の左右の処理エンジン44および46の双方についての左右のシグネチャメモリマップを含む。これらのシグネチャメモリマップは、図4に示す内容プロセッサ110のシグネチャメモリにロードされる。また、処理エンジンデータ558も、図4に示すように、左右の処理エンジン44および46のそれぞれのQoSプロセッサ116についての左右の環境設定ファイルを含む。最後に、処理エンジンデータ558は、左右の処理エンジン44および46のそれぞれのヘッダプリプロセッサ104についての左右のヘッダプリプロセッサイメージファイルを含む。
【0052】
制御プロセッサデータ560は、左右のカウンタメモリマップを含む。これらの左右のカウンタメモリマップは、左右の処理エンジンのそれぞれにあるマイクロプロセッサ124にそれぞれロードされる。最後に、管理プロセッサデータ562は、処理エンジン環境設定ソース552およびポリシーソース550を参照して上述したように、左右の環境設定ソースおよび左右のポリシーソースを含む。これらのファイルは、図3に示す管理モジュール48に記憶される。
【0053】
次に図7を参照して、ネットワーク処理システムとの通信のメカニズムを示す略図が記述されている。図7に示す略図を実施するプログラムも、図6に記述したポリシーイメージビルダ500を含む、分離された別のサーバ上に存在する。上述したように、CLI504およびGUI502は、ポリシーイメージビルダ500によって環境設定ファイル510と共に使用されて、ポリシーゲートウェイイメージファイル556とメモリおよびカウンタマップ520との双方を作成する。ポリシーゲートウェイイメージファイル556は、イメージリポジトリマネージャー(image repository manager)570によって取り込まれ、イメージリポジトリデータベース(image repository database)572にロードされる。イメージリポジトリデータベース572は、制御されるネットワーク処理システムのすべてについての全ポリシーゲートウェイイメージファイルを保持する。ネットワーク処理システム(NPS)(network processing system)インタフェースプログラム580は、管理されるネットワーク処理システムNPS#001、NPS#002、およびNPS#00nのそれぞれと直接通信を行う役割を有する。NPS#00nによって示されるように、任意の個数のネットワーク処理システムを、1つの分離された別のサーバから管理することができる。イメージリポジトリプログラム574は、イメージリポジトリデータベース572から適切なイメージファイルを取り込み、それをNPSインタフェースプログラム580に送信する。NPSインタフェースプログラム580は、認証プログラム584を使用して、各ネットワークプログラミングシステムを認証するように動作し、次に、ポリシーゲートウェイイメージファイルを適切なネットワーク処理システムに送信する。
【0054】
イメージファイルをネットワーク処理システムにプッシュ(push)することに加えて、NPSインタフェースプログラム580は、各ネットワーク処理システムに、その統計情報およびイベント情報をアップロードする要求を定期的に送信することにより、各ネットワーク処理システムから統計データおよびイベントデータをプル(pull)するように動作する。この情報がNPSインタフェースプログラムによって受信されると、その情報は、統計データベース管理586に送信され、統計データベース管理586は、その情報を統計データベース588に記憶する。統計データベースマネージャ590は、メモリおよびカウンタマップ520からの情報を使用して、統計データベース588を解読するのに必要な情報を統計環境設定データベース592に置く。統計データベース588および統計環境設定データベース592は、その後、サービスに対して課金を行う課金システムと、ネットワーク動作および効率を分析するネットワーク管理システムとに情報を供給するために使用することができる。
【0055】
図3および図4を参照して説明したヘッダプリプロセッサ、QoSプロセッサ、およびフロー管理プロセッサは、説明した機能を実行できる任意の適したプロセッサとすることができるが、好ましい実施の形態では、ヘッダプリプロセッサは、Fast Pattern Processor(FPP)(高速パターンプロセッサ)であり、QoSプロセッサは、Routing Switch Processor(RSP)(ルーティングスイッチプロセッサ)であり、フロー管理プロセッサは、ASIプロセッサである。これらのすべては、テキサス州オースチンのLucent TechnologiesのAgere Divisionによって製造されている。図3を参照して説明したマイクロプロセッサおよび図4の管理モジュールは、Motorola, Incが提供しているPowerPC系列のマイクロプロセッサまたはIntel Corporationが販売しているX86もしくはPentium系列のマイクロプロセッサを含む任意の適したマイクロプロセッサとすることができる。具体的なプロトコル、実施および材料を具体的に参照しているが、当業者は、ネットワーク処理システム、ポリシーゲートウェイが、プロトコルとは独立に機能でき、本発明の範囲から逸脱することなく、さまざまな異なる実施で機能できることを理解すべきである。
【0056】
本発明を詳細に説明してきたが、当業者は、本発明の最も広い形での精神および範囲から逸脱することなく、本明細書にさまざまな変更、置換、および改変をなし得ることを理解すべきである。
【図面の簡単な説明】
【0057】
【図1】本発明が動作することができるネットワーク構造体の例を示すネットワークトポロジー図である。
【図2】本発明に使用されるフロー、パケットおよびブロックの概念を示す図である。
【図3】本発明によるネットワーク処理システムのブロック図である。
【図4】図3に示す処理エンジンのブロック図である。
【図5】図4の内容プロセッサのブロック図である。
【図6】本発明のネットワーク処理システムに使用されるイメージファイルおよび環境設定ファイルの作成に使用されるイメージビルダの図である。
【図7】イメージファイルがロードされ、統計情報およびイベント情報が本発明のネットワーク処理システムから検索されるメカニズムを示す図である。

Claims (23)

  1. ネットワーク上でネットワークポリシーを実行するネットワーク処理システムであって、前記ネットワークは、複数のデータパケットからなり、該データパケットは、複数のフローを形成し、該ネットワーク処理システムは、
    前記ネットワークからデータパケットを受信するように動作でき、さらに、処理されたデータパケットを前記ネットワーク上に再び送信するように動作できるネットワークインタフェースと、
    前記ネットワークインタフェースと通信する処理エンジンであって、該処理エンジンは、各データパケットを識別子と関連付けるように動作でき、該識別子は、前記データパケットがその一部をなす前記フローと関連付けられ、該処理エンジンは、さらに、各フローを、該処理エンジンに記憶されたデータベースと比較するように動作でき、該データベースは、一組のプログラミング可能なネットワークポリシーに関する情報を記憶し、該一組のプログラミング可能なネットワークポリシーは、各フローの取り扱いを決定して、これによって、該処理エンジンが、指示された取り扱いに従って前記データパケットを変更して方向付けることができる、処理エンジンと、
    を備えるネットワーク処理システム。
  2. 第2の処理エンジンをさらに備え、各処理エンジンは、単方向であって、互いに逆方向であり、これにより、双方向のネットワーク処理システムを作成する、請求項1に記載のネットワーク処理システム。
  3. 前記処理エンジンは、1つまたは2つ以上のフローの状態を保持し、該状態は、前記識別子を使用して各フローと関連付けられる、請求項1に記載のネットワーク処理システム。
  4. 特定のフローに属する新たなパケットが検査される時の該特定のフローに対して存在する状態が、前記データベースと共に使用されて、前記取り扱いが決定される、請求項3に記載のネットワーク処理システム。
  5. 前記処理エンジンは、各パケットの全内容を検査することができる、請求項1に記載のネットワーク処理システム。
  6. 前記プログラミング可能なネットワークポリシーは、分離した別のサーバでプログラミングされて、イメージファイルの形式で該ネットワーク処理システムにダウンロードされる、請求項1に記載のネットワーク処理システム。
  7. 前記一組のプログラミング可能なネットワークポリシーは、シグネチャメモリにシグネチャとして記憶される、請求項1に記載のネットワーク処理システム。
  8. 前記処理エンジンは、前記パケットのヘッダ情報を検査するヘッダプリプロセッサと、前記パケットを前記データベースと比較して、取り扱いを決定する内容プロセッサと、前記パケットを変更して、前記取り扱いに従って前記パケットを方向付けるサービス品質プロセッサとを含む、請求項1に記載のネットワーク処理システム。
  9. 各処理エンジンは、補助的な操作を行うマイクロプロセッサをさらに含む、請求項8に記載のネットワーク処理システム。
  10. ネットワーク上でネットワークポリシーを実行するネットワーク処理システムであって、前記ネットワークは、複数のデータパケットからなり、該複数のデータパケットは、複数のフローを形成し、該ネットワーク処理システムは、
    前記ネットワークからデータパケットを受信し、処理されたデータパケットを前記ネットワーク上に送信するように動作できる少なくとも1つの左ラインインタフェースと、
    前記ネットワークからデータパケットを受信し、処理されたデータパケットを前記ネットワーク上に送信するように動作できる少なくとも1つの右ラインインタフェースと、
    前記左インタフェースからデータパケットを受信し、処理されたデータパケットを前記右ラインインタフェースに送信する右処理エンジンと、
    前記右インタフェースからデータパケットを受信し、処理されたデータパケットを前記左ラインインタフェースに送信する左処理エンジンと、
    を備え、
    前記右処理エンジンおよび前記左処理エンジンのそれぞれは、
    前記データパケットを処理して、各データパケットを特定のフローと関連付け、フローのサブセットの状態を保持し、かつ、各フローを、各フローの前記データパケットの取り扱いを指示するネットワークポリシーのデータベースと比較するトラフィックフロープロセッサと、
    前記トラフィックフロープロセッサと通信するサービス品質プロセッサであって、該サービス品質プロセッサに、前記データパケットの内容をどのように変更するか、および、前記データパケットにどのサービス品質を与えるかを指示する前記トラフィックフロープロセッサからの前記取り扱いを受信するサービス品質プロセッサと、
    をさらに備えるネットワーク処理システム。
  11. 前記左処理エンジンおよび前記右処理エンジンにバスインタフェースを通じて接続された管理モジュールをさらに備え、該管理モジュールは、前記左処理エンジンおよび前記右処理エンジンと通信できるマイクロプロセッサを含む、請求項10に記載のネットワーク処理システム。
  12. 前記左処理エンジンおよび前記右処理エンジンは、フローに関する情報を交換する、請求項10に記載のネットワーク処理システム。
  13. 前記トラフィックフロープロセッサは、ヘッダプリプロセッサおよび内容プロセッサを備え、前記ヘッダプリプロセッサは、各パケットのヘッダ情報を検査するように動作でき、前記内容プロセッサは、前記パケットを前記ネットワークポリシーのデータベースと比較するように動作できる、請求項10に記載のネットワーク処理システム。
  14. 前記ネットワークポリシーのデータベースは、シグネチャのメモリイメージであり、該シグネチャが、前記ネットワークポリシーを形成する、請求項10に記載のネットワーク処理システム。
  15. 特定のフローに属する新たなパケットが検査される時の該特定のフローに対して存在する状態が、前記データベースと共に使用されて、前記取り扱いが決定される、請求項10に記載のネットワーク処理システム。
  16. 前記プログラミング可能なネットワークポリシーは、分離した別のサーバの管理インタフェースを使用してプログラミングされ、イメージファイルの形式で該ネットワーク処理システムにダウンロードされる、請求項10に記載のネットワーク処理システム。
  17. 前記管理インタフェースは、該ネットワーク処理システムから統計情報およびイベント情報を検索するようにも動作する、請求項16に記載のネットワーク処理システム。
  18. 前記左処理エンジンおよび前記右処理エンジンは、補助的な処理操作を行うマイクロプロセッサをさらに備える、請求項10に記載のネットワーク処理システム。
  19. ネットワーク上でネットワークポリシーを実行するネットワーク処理システムおよび管理インタフェースであって、前記ネットワークは、複数のフローを形成する複数のデータパケットからなり、該ネットワーク処理システムは、
    ネットワークトラフィックを処理するように動作できる少なくとも1つのネットワーク処理システムであって、各ネットワーク処理システムは、
    前記ネットワークからデータパケットを受信するように動作でき、さらに、処理されたデータパケットを前記ネットワーク上に再び送信するように動作できるネットワークインタフェースと、
    前記ネットワークインタフェースと通信する処理エンジンであって、該処理エンジンは、各データパケットを識別子と関連付けるように動作でき、該識別子は、前記データパケットが属する前記フローと関連付けられ、該処理エンジンは、さらに、各フローを、該処理エンジンに記憶されたデータベースと比較するように動作でき、該データベースは、一組のプログラミング可能なネットワークポリシーに関する情報を記憶し、該一組のプログラミング可能なネットワークポリシーは、各フローの取り扱いを決定して、これによって、該処理エンジンが、指示された取り扱いに従って前記データパケットを変更して方向付けることができる、処理エンジンと、
    をさらに備える少なくとも1つのネットワーク処理システムと、
    各ネットワーク処理システムと通信する分離した別のサーバ上でプログラミングされた各ネットワーク処理システムを制御する管理インタフェースであって、各ネットワーク処理システムをプログラミングすることをユーザに可能にするプログラミングインタフェースと、適切なネットワーク処理システムにロードできるイメージに前記プログラムを変換するイメージビルダと、前記適切なネットワーク処理システムと通信して、該適切なネットワーク処理システムに前記イメージファイルを送信するように動作できるインタフェースプログラムとを含む、管理インタフェースと、
    を備えるネットワーク処理システムおよび管理インタフェース。
  20. 前記管理インタフェースは、さらに、該ネットワーク処理システムのそれぞれから統計情報およびイベント情報を検索するように動作できる、請求項19に記載のネットワーク処理システムおよび管理インタフェース。
  21. 前記イメージは、該イメージの作成に使用されるソースファイルを含む、請求項19に記載のネットワーク処理システムおよび管理インタフェース。
  22. 前記ネットワーク処理システムは、前記処理エンジンおよび前記管理インタフェースと通信する管理モジュールをさらに含む、請求項19に記載のネットワーク処理システムおよび管理インタフェース。
  23. 前記ネットワーク処理システムは、第2の処理エンジンをさらに備え、各処理エンジンは、単方向であって、互いに逆方向であり、これにより、双方向のネットワーク処理システムを作成する、請求項19に記載のネットワーク処理システムおよび管理インタフェース。
JP2002578159A 2001-03-28 2002-03-14 ポリシーゲートウェイ Pending JP2004532559A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27946801P 2001-03-28 2001-03-28
US09/832,670 US6957258B2 (en) 2001-03-28 2001-04-11 Policy gateway
PCT/US2002/007506 WO2002080004A1 (en) 2001-03-28 2002-03-14 Policy gateway

Publications (2)

Publication Number Publication Date
JP2004532559A true JP2004532559A (ja) 2004-10-21
JP2004532559A5 JP2004532559A5 (ja) 2005-12-22

Family

ID=26959683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002578159A Pending JP2004532559A (ja) 2001-03-28 2002-03-14 ポリシーゲートウェイ

Country Status (4)

Country Link
US (1) US6957258B2 (ja)
EP (1) EP1374067A4 (ja)
JP (1) JP2004532559A (ja)
WO (1) WO2002080004A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140083A (ja) * 2008-12-09 2010-06-24 Sharp Corp 通信端末

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US20020138643A1 (en) * 2000-10-19 2002-09-26 Shin Kang G. Method and system for controlling network traffic to a network computer
US6735218B2 (en) * 2000-11-17 2004-05-11 Foundry Networks, Inc. Method and system for encoding wide striped cells
US7356030B2 (en) 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US7277953B2 (en) * 2001-04-18 2007-10-02 Emc Corporation Integrated procedure for partitioning network data services among multiple subscribers
US7206283B2 (en) * 2001-05-15 2007-04-17 Foundry Networks, Inc. High-performance network switch
US8392586B2 (en) * 2001-05-15 2013-03-05 Hewlett-Packard Development Company, L.P. Method and apparatus to manage transactions at a network storage device
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
US8001248B1 (en) * 2001-07-13 2011-08-16 Cisco Technology, Inc. System and method for providing quality of service to DSL internet connections
US7283526B2 (en) * 2001-07-19 2007-10-16 International Business Machines Corporation Method and system for providing a symmetric key for more efficient session identification
US7047303B2 (en) * 2001-07-26 2006-05-16 International Business Machines Corporation Apparatus and method for using a network processor to guard against a “denial-of-service” attack on a server or server cluster
JP3639556B2 (ja) * 2001-12-12 2005-04-20 富士通株式会社 VoIPネットワークの輻輳制御システム
US7088719B2 (en) * 2001-12-21 2006-08-08 Agere Systems Inc. Processor with packet processing order maintenance based on packet flow identifiers
US9392002B2 (en) * 2002-01-31 2016-07-12 Nokia Technologies Oy System and method of providing virus protection at a gateway
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7447777B1 (en) 2002-02-11 2008-11-04 Extreme Networks Switching system
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7649885B1 (en) * 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US20040024864A1 (en) * 2002-07-31 2004-02-05 Porras Phillip Andrew User, process, and application tracking in an intrusion detection system
US7564833B2 (en) * 2003-01-08 2009-07-21 At&T Corp. Electronic loop provisioning
US20040225534A1 (en) * 2003-03-06 2004-11-11 Haihong Zheng Policy management during handover
US9003048B2 (en) * 2003-04-01 2015-04-07 Microsoft Technology Licensing, Llc Network zones
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US7522516B1 (en) 2004-03-30 2009-04-21 Extreme Networks, Inc. Exception handling system for packet processing system
US7613209B1 (en) 2004-03-30 2009-11-03 Extreme Networks, Inc. System and method for egress packet marking
US8161270B1 (en) 2004-03-30 2012-04-17 Extreme Networks, Inc. Packet data modification processor
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US7649879B2 (en) * 2004-03-30 2010-01-19 Extreme Networks, Inc. Pipelined packet processor
US7453874B1 (en) 2004-03-30 2008-11-18 Extreme Networks, Inc. Method and system for incrementally updating a checksum in a network data packet
US7463628B2 (en) * 2004-03-30 2008-12-09 Extreme Networks, Inc. Packet data modification processor command instruction set
US7292591B2 (en) * 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7385984B2 (en) * 2004-03-30 2008-06-10 Extreme Networks, Inc. Packet processing system architecture and method
US7304996B1 (en) * 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7889750B1 (en) 2004-04-28 2011-02-15 Extreme Networks, Inc. Method of extending default fixed number of processing cycles in pipelined packet processor architecture
US20050286512A1 (en) * 2004-06-28 2005-12-29 Atul Mahamuni Flow processing
US7562389B1 (en) * 2004-07-30 2009-07-14 Cisco Technology, Inc. Method and system for network security
US7555774B2 (en) * 2004-08-02 2009-06-30 Cisco Technology, Inc. Inline intrusion detection using a single physical port
US8582567B2 (en) * 2005-08-09 2013-11-12 Avaya Inc. System and method for providing network level and nodal level vulnerability protection in VoIP networks
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US8848530B2 (en) * 2004-11-01 2014-09-30 At&T Intellectual Property Ii, L.P. System and method for providing differentiated quality of service
US7725938B2 (en) * 2005-01-20 2010-05-25 Cisco Technology, Inc. Inline intrusion detection
US7668969B1 (en) 2005-04-27 2010-02-23 Extreme Networks, Inc. Rule structure for performing network switch functions
US7860006B1 (en) * 2005-04-27 2010-12-28 Extreme Networks, Inc. Integrated methods of performing network switch functions
US8347373B2 (en) 2007-05-08 2013-01-01 Fortinet, Inc. Content filtering of remote file-system access protocols
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
US7817633B1 (en) 2005-12-30 2010-10-19 Extreme Networks, Inc. Method of providing virtual router functionality through abstracted virtual identifiers
US7774323B2 (en) * 2006-03-27 2010-08-10 Sap Portals Israel Ltd. Method and apparatus for delivering managed applications to remote locations
US20070258459A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070258363A1 (en) * 2006-05-03 2007-11-08 Sbc Knowledge Ventures, Lp Application-aware ATM buffer management method and system
US8923853B1 (en) 2006-05-04 2014-12-30 At&T Mobility Ii Llc Dynamic provisioning system for policy-based traffic navigation for roaming traffic
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8001601B2 (en) * 2006-06-02 2011-08-16 At&T Intellectual Property Ii, L.P. Method and apparatus for large-scale automated distributed denial of service attack detection
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US7644080B2 (en) * 2006-09-19 2010-01-05 Netlogic Microsystems, Inc. Method and apparatus for managing multiple data flows in a content search system
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
FR2917934B1 (fr) * 2007-06-21 2009-11-27 Radiotelephone Sfr Systeme et procede de controle intelligent des operations effectuees au niveau d'un terminal
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8190881B2 (en) 2007-10-15 2012-05-29 Foundry Networks Llc Scalable distributed web-based authentication
CN102439583A (zh) * 2009-03-05 2012-05-02 e帕尔斯公司 管理和监控电子通信的系统及方法
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8862603B1 (en) 2010-11-03 2014-10-14 Netlogic Microsystems, Inc. Minimizing state lists for non-deterministic finite state automatons
US9225656B2 (en) 2011-02-07 2015-12-29 Brocade Communications Systems, Inc. Quality of service in a heterogeneous network
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
US10033588B2 (en) * 2012-11-14 2018-07-24 Raytheon Company Adaptive network of networks architecture
US9491683B2 (en) 2014-10-31 2016-11-08 At&T Intellectual Property I, L.P. Mobile network with software defined networking architecture

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960003783B1 (ko) * 1993-11-06 1996-03-22 한국전기통신공사 광대역 종합정보통신망 가입자 액세스 장치의 비동기 전달방식(atm) 다중화 처리 장치 및 방법
US6189037B1 (en) * 1994-09-30 2001-02-13 Intel Corporation Broadband data interface
US5619497A (en) * 1994-12-22 1997-04-08 Emc Corporation Method and apparatus for reordering frames
US6208640B1 (en) * 1998-02-27 2001-03-27 David Spell Predictive bandwidth allocation method and apparatus
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6542508B1 (en) * 1998-12-17 2003-04-01 Watchguard Technologies, Inc. Policy engine using stream classifier and policy binding database to associate data packet with appropriate action processor for processing without involvement of a host processor
US6505244B1 (en) * 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140083A (ja) * 2008-12-09 2010-06-24 Sharp Corp 通信端末

Also Published As

Publication number Publication date
US20020143948A1 (en) 2002-10-03
EP1374067A4 (en) 2005-11-16
EP1374067A1 (en) 2004-01-02
US6957258B2 (en) 2005-10-18
WO2002080004A1 (en) 2002-10-10

Similar Documents

Publication Publication Date Title
US6957258B2 (en) Policy gateway
US6741595B2 (en) Device for enabling trap and trace of internet protocol communications
US7031316B2 (en) Content processor
US6910134B1 (en) Method and device for innoculating email infected with a virus
US6654373B1 (en) Content aware network apparatus
US7002974B1 (en) Learning state machine for use in internet protocol networks
US7272115B2 (en) Method and apparatus for enforcing service level agreements
JP3993092B2 (ja) サービス拒否攻撃を防ぐための方法
US7376125B1 (en) Service processing switch
US20110242981A1 (en) Multi-staged services policing
WO2004021206A1 (en) Managing and controlling user applications with network switches
US20210409316A1 (en) Methods and systems for classifying traffic flows based on packet processing metadata
US20030229710A1 (en) Method for matching complex patterns in IP data streams
US7206313B2 (en) Apparatus and method for using information in one direction of a bi-directional flow in a network to alter characteristics of the return direction flow
US20030229708A1 (en) Complex pattern matching engine for matching patterns in IP data streams
WO2002080417A1 (en) Learning state machine for use in networks
Cardoe et al. LARA: A prototype system for supporting high performance active networking
Jaeger et al. INTEGRATINGACTIVENETW ORKINGANDCOMMERCIAL GRADEROUTINGPLATFORMS
Lemponen Implementation of Differentiated Services Policy Information Base on Linux
Horlait et al. An implementation of differentiated services using active networks
Gottlieb Operating system support for generalized packet forwarding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070409

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080303