JP5657840B2 - ルックアップ・フロントエンド・パケット出力プロセッサ - Google Patents
ルックアップ・フロントエンド・パケット出力プロセッサ Download PDFInfo
- Publication number
- JP5657840B2 JP5657840B2 JP2014524092A JP2014524092A JP5657840B2 JP 5657840 B2 JP5657840 B2 JP 5657840B2 JP 2014524092 A JP2014524092 A JP 2014524092A JP 2014524092 A JP2014524092 A JP 2014524092A JP 5657840 B2 JP5657840 B2 JP 5657840B2
- Authority
- JP
- Japan
- Prior art keywords
- responses
- lookup
- packet
- packet processing
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000004044 response Effects 0.000 claims description 243
- 238000012545 processing Methods 0.000 claims description 83
- 238000000034 method Methods 0.000 claims description 61
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000003672 processing method Methods 0.000 claims 23
- 238000010586 diagram Methods 0.000 description 63
- 230000008569 process Effects 0.000 description 33
- 238000012546 transfer Methods 0.000 description 21
- 230000009977 dual effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000003066 decision tree Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 235000019580 granularity Nutrition 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 101100073352 Streptomyces halstedii sch1 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- INTUSBADCKWMED-UHFFFAOYSA-N BPPP Chemical compound BPPP INTUSBADCKWMED-UHFFFAOYSA-N 0.000 description 2
- 238000012152 algorithmic method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004581 coalescence Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 102100029716 DnaJ homolog subfamily A member 3, mitochondrial Human genes 0.000 description 1
- 101000866012 Homo sapiens DnaJ homolog subfamily A member 3, mitochondrial Proteins 0.000 description 1
- 101001112162 Homo sapiens Kinetochore protein NDC80 homolog Proteins 0.000 description 1
- 102100023890 Kinetochore protein NDC80 homolog Human genes 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 108010089894 bradykinin potentiating factors Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 208000006379 syphilis Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/027—Frames
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B70/00—Technologies for an efficient end-user side electric power management and consumption
- Y02B70/30—Systems integrating technologies related to power network operation and communication or information technologies for improving the carbon footprint of the management of residential or tertiary loads, i.e. smart grids as climate change mitigation technology in the buildings sector, including also the last stages of power distribution and the control, monitoring or operating management systems at local level
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
1)Least Full(最も空きのある)クラスタマスク(LFTWCLMSK)は、所与の探索に対して1つのスーパークラスタにつき、いずれのクラスタを使用可能にするかを選択するために使用されるビットマスクである。
2)キー・クラスタ・マスク(KCLMSK)は、LCC中のいずれのクラスタがキー要求データを受け付けるべきかを示す。KCLMSKは、探索の開始時には関与しない場合があるクラスタが処理の最終部分を実行することを可能にする。スーパークラスタ中のクロスバーセグメントにより、1つのクラスタから別のクラスタへ探索を移動させることが可能となる。KCLMSKは、潜在的に関与する可能性のある全てのクラスタに通知を行う。
3)ツリーID(TID)およびキーフォーマットインデックス(KFTIDX)は、上記マスクと共に、実行(ルールのセットを表すツリーまたはRCDSのウォーキング)を開始する場所であるツリーのルートを選択する。
4)キーID(KID)は、LUFが、実行中のインベントリおよび要求に対する一致の返答を追跡できるように維持される。
5)キーは、ツリーまたはRCDSを探索するためにヘッダタプルから抽出されるデータである。
1) KIDは、返ってきたキーIDである。
2) RuleDataは、ホストに返される応答の一部である。
3) RulePriorityは、LUFが複数のクラスタ返答から1つの最良の応答を選択することを可能にするサブツリー(すなわちサブRCDS)応答に関連付けられた尺度である。MinRuleもまた、ホストに返される応答の一部である。
●新規待ち行列からのルックアップ要求(LUREQ)および読取/書込要求を受信する。
●選択されたエンディアンモードについて必要に応じてバイトスワッピングを行う。
●各LUREQの全ての有効TIDについてTLTテーブルルックアップを実行する。
●各LUREQの全ての有効TIDについてPHTテーブルルックアップを実行する。
●ヘッダデータを抽出および処理し、LUREQおよび読取/書込要求をキー要求(KRQ)に変換する。
●LOPのLRTおよびLRT情報テーブルのデータを初期化する。
●KFTIDX(キーフォーマットインデックス) ペイロードとしてKEYREQと共にクラスタに送られる。クラスタは、これを用いて1つ(64個のうちの1つ)のキーフォーマットを参照する。キーフォーマットは、クラスタが28個まで(最大)のDIMENSIONをKEYDATA内で各KEYについて抽出する方法を定義し、RFT(ルールフォーマットテーブル)を索引付けするためにも使用される。すべてのKEYREQコマンドと共に送られ、各クラスタのKDTテーブルに(KEYDATAと共に)格納される。
●TWRSPCNT(期待される応答数)。これは、LRTのTWRSPCNTフィールドに書き込まれる。値3’b000は、8個の応答が期待されることを示す。
●TWCLMSK(ツリーウォーククラスタマスク)[STにつき1個=最大8個のサブツリー(最大数)]:(スーパークラスタ内の)いずれのクラスタがツリーウォーク要求(TWReq)を受け付けることができるかを指定する。LUF0の場合、これらはSC0に関連し、LUF1の場合、これらはSC1に関連する。新規ツリーウォーク要求をクラスタコンプレックス(クラスタの複合部)にスケジュールする際に「最も空きのあるクラスタ」を決定するためにHWによって使用される。SWは、マスクの指定されたクラスタにツリー(N+L)画像を予めロードしていてもよい。
●TWCLMSK_ALT(代替ツリーウォーククラスタマスク)[STにつき1個=最大8個の(最大数)サブツリー]:上記TWCLKSKと同様であるが、反対のスーパークラスタ内のいずれのクラスタがツリーウォーク要求(TWReq)を受け付けることができるかを指定する。シングルLUFモードにおいてのみ有効。LUF0の場合、これらはSC1に関連する。LUF1の場合、これらは無効である。使用例は以下の通りである:
○DUAL LUF MODE(LUF0 or LUF1) : Each TWCL Mask = {8'h00, TWCLMSK} (デュアルLUFモード(LUF0またはLFU1:各TWCLマスク={8’h000,TWCLMSK}))
○SINGLE LUF MODE(LUF0 Only) : Each TWCL Mask = {TWCLMSK_ALT, BWCLMSK} (シングルLUFモード(LUF0のみ:各TWCLマスク={TWCLMSK_ALT,BWCLMSK}))
●BWCLMSK(バケットウォーククラスタマスク):いずれのクラスタがバケットウォークを担当するのかを指定する。SWは、いずれのクラスタがLUCTNA.rulclnumフィールドに使用されるのかを知らなければならない。このフィールドは、LUF−>クラスタコンプレックス(KRQバス)から送られたマルチキャストKEYREQコマンド中に、いずれのクラスタがKEYDATAを 「取得」すべきかをHWが判定するのを助ける。KEYDATAは、アクティブなTWEまたはBWEスレッドを有する全てのクラスタにおいてローカルで利用可能(冗長)である必要がある。TWEは、ツリーウォーク処理の際にKEYDATAを使用し、BWEは、RMEによるルールマッチングの際にKEYDATAを使用する。
●BWCLMSK_ALT(代替バケットウォーククラスタマスク):上記BWCLMSKと同様であるが、反対のスーパークラスタ内のいずれのクラスタがバケットウォークを担当するかを指定する。シングルLUFモードのみにおいて有効。LUF0の場合、これらはSC1に関連する。LUF1の場合、これらは無効である。使用例は以下の通りである:
○DUAL LUF MODE(LUF0 or LUF1) : Full Bucket mask = {8'h00, BWCLMSK} (デュアルLUFモード(LUF0またはLFU1:全バケットマスク={8’h000,BWCLMSK}))
○SINGLE LUF MODE(LUF0 Only): Full Bucket mask = {BWCLMSK_ALT, BWCLMSK} (シングルLUFモード(LUF0のみ:全バケットマスク={BWCLMSK_ALT,BWCLMSK}))
PHT Index for TID0 = HID+0
PHT Index for TID1 = HID+1
PHT Index for TID2 = HID+2
PHT Index for TID3 = HID+3
●発信元フィールド開始ビット位置
●発信元フィールド終了ビット位置
●宛先フィールド開始ビット位置
●宛先フィールドサイズ(ビット単位)
●スワップなしでは、何もしない
●64ビットでバイトをスワップする場合、各64ビットワード内でバイトを反転させる。
●64ビットの32ビットワードの場合、64ビットワード内で32ビットワードを反転させる。
●32ビットでバイトをスワップする場合、各32ビットワード内でバイトを反転させる。
●ホストからのXID(32ビット)ID。探索プロセッサによっては使用されず、応答と共にホストに返されるだけである。
●GID(8ビット)(グループID)。このパケットがいずれのクラスであるかを示す識別子であり、パケットが処理される方法を制御する。
●スケジューラPHEおよびLUFディストリビュータ1(LD1)からKRQを受信する。
●再試行待ち行列493においてKRQを管理する。
●コマンドフラグであるアトミックおよびローカルの応答に必要な行頭ブロッキング(HOLB)を強制的に行う。
●リーストフルクラスタジェネレータ(LFCG)492を用いて、いずれのLUEクラスタが各LUREQ KRQを処理すべきかを判定する。
●優先性方式およびクレジットカウンタを用いてKRQをスケジュールし、次のKRQ発信元(PHE、LD1、再試行待ち行列)を選択する。
●スケジュールされたKRQを6つの可能性のあるKRQバスのうちの1つまたは複数に方向付ける。
●LFTWCLMSK(リーストフルツリーウォーククラスタマスク)。1つのクラスタにつき1ビット存在する。このマスクに設定された各ビットは、対応するクラスタが作業を開始することを示す。デュアルLUFモードにおいては、各スケジューラからLFTWCLMSK[7:0]のみが使用される。
●KCLMSK(キークラスタマスク)1つのクラスタにつき1ビット存在する。このマスクに設定された各ビットは、対応するクラスタが、同報通信されるとKEYREQをラッチすることを示す。これは、クラスタがこのデータを利用する必要がある場合があるからである。デュアルLUFモードにおいては、各スケジューラからKCLMSK[7:0]のみが使用される。
●SCL
●LFTWCLMKS
●KCLMSK
●ACK/NAK LFTWCLMSKの生成について、成功=1、失敗=0。
●再試行待ち行列を排出する
●コマンドのTIDフィールドに一致するTIDカウンタがゼロになるのを待つ間、HOLブロックを実行する。
●ホスト読込コマンドまたはホスト書込コマンドを発行する。
●ルックアップ要求
●OCMEM RD/WRT
●LCCテーブルRD/WRT
●PHEを選択(SCHは、次のクロックで新規待ち行列データを出力する)
●RetryQを選択(SCHは、次のクロックで再試行待ち行列データを出力する)
●LD1を選択(SCHは、次のクロックでILKNチャンネル1のデータを出力する)
●RetryQへのPHE(SCHは、新規待ち行列データをPHEから再試行待ち行列へプッシュし、次のクロックでidleを出力する)
●RetryQを再循環(SCHは、再試行待ち行列上のデータを再循環させ、次のクロックでidleを出力する)
●RSPTYPE−ルックアップ応答、OCM応答、テーブルまたはCSR応答を示す。
●KID(キーID)
●DATA−いずれのルールが一致したかを示す(SC Num、DDR/COMアドレス、および他の情報)。
●STMIN−結果の品質であり、LUFが最小値を選択する。同点の場合、最初に返された応答が勝つ。
●STMIN−LOP446によって消費される
●STDATA−LOP446によって以下のように調整され、その後ホストに返される。
○応答がBPPからの場合、STDATA[32]は、DDRポート番号を含み、STDATA[31:0]は、16ビットの粒度を有するDDRアドレスを含む。
○応答がLCCからの場合、STDATA[23:0]は、OCMEMにおけるルールアドレス={SCL,CLNUM,CLADR,RULEOFF}を含む。この場合、LRCは、STDATA[32]を常に0に設定しなければならない。STDATA[31:24]は、LCCからゼロとして返されることが期待されるが、LRCは、返された全てのビットを使用しなければならない(ゼロのSTDATA[32]のみ)。
●LRT[VALID]==0の場合、返されたSTMINをLRTに書き込む。LRT[VALID]==1の場合、返されるSTMINをLRTのSTMINと比較し、2つの値のうちの最小値をLRTに再び書き込む。
●TWRSPCNTをデクリメントする(ツリーウォーク応答カウント)。TWRSPCNTがゼロになった場合、これは当該SXIDの応答が全て受信されたことを示す。その場合、KIDを応答FIFO(LRF)に書き込む。
●書き込み中のSTMINに関連付けられたSTDATAフィールドにLRT[STDATA]を設定する。
●応答がBPPからの場合、LRT[OCRF]をクリアし、そうでない場合は、LRT[OCRF]を設定する。
●応答にエラービットが設定されている場合、LRCは、これを「勝利」応答であるとみなし、当該応答と共に返されたデータを維持する。LRT[E]が既に設定されている場合は、新規応答を無視する。
●順番応答(ポーリングモード):1つのポインタがLRTの最も古い要求(TXIDをその順序グループ範囲内で循環的にウォークすることにより決定される)に対応するTXBUFFエントリを追跡する。そのXIDについての最後のSTRSPが受信されると、全てのSXIDは、ホストへの送信のためにエンキューされ、LRTから除去される。このポインタは、その後、2番目に古いTXIDを指すようにインクリメントされる。これにより、次の順番応答が返されるまでHOLブロッキングが生じる。
●順番外応答(割込モード):XIDについての最後のSTRSPが返されることにより、全てのSXIDがホストへの送信のためにエンキューされ、LRTから除去される。
●ルックアップ応答テーブル(LRT)765、次に、LRT_INFO766を読み取る。
●LRT765およびLRT_INFO766が読み取られる際に、応答は、以下の利用可能な情報を有する。
○KID
○TXID_FIRST
○TXID_LAST
○SXID−いずれのSXIDがこのSXIDであるか
○SXID_NUM−この要求にいくつのSXIDが存在するか
○DONE_CNT−合体するSXIDはいくつ残っているか
●LRTデータをTXBUFF775に移動
○SXID0またはSXID1データをLRTからTXBUFFに移動する際、TXBUFFへのTXIDインデックスとしてTXID_FIRSTが使用される。
○SXID2またはSXID3を移動する際、TXIDインデックスとしてTXID_LASTが使用される。
○SXID0またはSXID2データをSTDATA_EVENに移動させる。
○SXID1またはSXID3データをSTDATA_ODDに移動させる。
●KIDを、SXID0でない場合は、フリープールに返す。以下のテーブルによって示されるまで、SXID0のためにKIDを保持する。
●LOPは、表1に示す以下の追加の動作を行う。
●C==1の場合、最大4つのキーを用いて応答をキー応答に形成する。
●C==0の場合、1つのキーを用いてルックアップ応答を返す。
SXID_INFO−定義は合体に依存する。
●C==1の場合、SXID_INFOは合体するキーの数である。SXID_INFO==0の場合、4つのキーを合体する。
●C==0の場合、SXID_INFOは、このキーのSXIDである。SXID_INFO==0の場合、これは、SXID0である。
FREE_TXID−パケット形成後に、有効データを有するTXIDを開放してもよいことを示す。
開放されるTXIDは、以下のように決定される。
●C==0の場合、
○SXID_INFOが、これがSXID0またはSXID1であることを示す場合、TXID_FIRSTを開放する。
○SXID_INFOが、これがSXID2またはSXID3であることを示す場合、TXID_LASTを開放する。
●C==1の場合
○SXID_INFOがライン上の1つまたは2つの有効なSXIDを示す場合、TXID_FIRSTのみを開放する。
○SXID_INFOがライン上の3つまたは4つの有効なSXIDを示す場合、TXID_FIRSTおよびTXID_LASTの両方を開放する。
TXID_FIRST−SXID0およびSXID1を保持するTXID。
TXID_LAST−SXID2およびSXID3を保持するTXID。
●C==0の場合、SXID_INFOが示すSXIDの値に応じて、TXID_FIRSTまたはTXID_LASTのうちの一方のみが有効データを有する。
●C==1の場合、SXID_INFOが示すSXIDのカウントに応じて、有効データは、TXID_FIRSTのみに存在するか、またはTXID_FIRSTおよびTXID_LASTに存在する。
●SXID0−TXID_FIRSTのみを使用してTXBUFFを索引付けする、DATA_EVENフィールドが有効である
●SXID1−TXID_FIRSTのみを使用してTXBUFFを索引付けする、DATA_ODDフィールドが有効である
●SXID2−TXID_LASTのみを使用してTXBUFFを索引付けする、DATA_EVENフィールドが有効である
●SXID3−TXID_LASTのみを使用してTXBUFFを索引付けする、DATA_ODDフィールドが有効である
●E(エラー)、なし、修正可能エラー、修正不可能エラーまたは致命的エラー。スケジューラよってクリアまたは設定され、LOP_FEによって更新される。
●TWRSPCNT(ツリーウォーク応答カウント)LOP_FEは、応答が受信されるたびにデクリメントされる。TLTから読み取った数にスケジューラにより初期化される。ゼロの場合、このSXIDの全ての応答は返されている。
●VALID−スケジューラによってクリアされ、LOP_FEは、これを読み取り、更新する応答データフィールドのバンクに対して常に1を設定する。LOP_FEがゼロを読み取った場合、LOP_FEは、対応するバンクについてのLRTからの応答データフィールドがまだ有効ではないことを認識する。
○Valid=3’b1xx−RSP0バンクは有効である
○Valid=3’bx1x−RSP1バンクは有効である
○Valid=3’bxx1=BPPバンクは有効である
●応答データフィールド−フロップのアレイ、または、有効に管理されたデュアルポートの3つのバンクによって実現される
○STMIN(最小ルール)、有効==1の場合、LOP_FEは、LCCから返された値をLRTから読み取られた値と比較し、2つのうちの最小の値を保持する。
○PORT−BPPからの場合、これはBPP応答から返されたSTDATA[32]である。LCCからの場合、これはゼロである。
○OCRF(オンチップルールフラグ)。応答がBPPからの場合、LOP_FEは、これを0に設定する。応答LCCからの場合、LOP_FEは、これを1に設定する。
○STDATA−応答としてホストに返されるデータ。LCCが「NO MATCH」を示すSTMINを返した場合、LOP_FEは、これを強制的に0xFFFFFFFFにする。そうでない場合、LOP_FEは、最小STMINに対応するSTDATA値を使用する。
●LRTID−LRT_INFOテーブルに索引付けされる。LRT_INFOは、グループ全体についての情報を保持するので、各KIDエントリによって指し示される。
●SXID−このキーのサブ転送ID。0=SXID0、1=SXID1、2=SXID2、3=SXID3。
●C−この応答を合体する。この情報は、GDTから読み取られる。
●TID−この転送のツリーID。このSXIDの全ての応答が返されたときに、対応するTIDカウンタをデクリメントする(TWRSPCNT==0)。
●DONE_COUNT−まだ合体する必要があるこのグループのキーの数のカウンタ。これは、スケジューラによって設定され、SXIDが全ての応答を受信するたびにデクリメントされる(すなわち、TWRSPCNTがゼロになる)。
●TXID_FIRST−SXID0およびSXID1に対応するTXIDを指すポインタ。(順番外モード(OOO)の際に合体を行う場合に、1つのクロックでTX LISTの両方のTXIDを転送するために使用される。)。
●TXID_LAST−SXID2およびSXID3に対応するTXIDを指すポインタ。(順番外モード(OOO)の際に合体を行う場合に、1つのクロックでTX LISTの両方のTXIDを転送するために使用される)。
●NUM_OF_SXIDS−この要求のSXIDの合計数。2’b00は、4つのSXIDを示す。
●E(エラー)、なし、修正可能エラー、修正不可能エラーまたは致命的エラー。
●DATA ODD−SXID1またはSXID3の最小ルール
○OCRF(オンチップルールフラグ)LCCからの結果の場合に設定し、BPPについてはクリアされる
○PORT−BPPからの結果の場合はDDRポート、LCCの場合はクリアされる
○STDATA−BPPの場合はDDRのアドレス、LCCの場合はクラスタのアドレス
●DATA EVEN−SXID0またはSXID2の最小ルール
○上記DATA_ODDと同じサブフィールド定義。
●XID−転送ID
●VALID_EVEN,valid_odd−対応するDATAエントリが有効である場合、1に設定される−順番エンジンによってのみ使用される
●C−この応答を合体する。この情報は、GDTから読み取られる。
●LAST−このTXBUFFラインがグループの最後のSXIDを含むことを示す 。
●Need both−0は、偶数データ/有効のみが必要であることを示す。1は、偶数および奇数の両方が必要であることを示す。
Claims (26)
- パケットを処理する方法であって、
パケットに対するルールマッチングを行う処理クラスタから複数の応答を受信するステップであって、前記複数の応答が、前記パケットに関連するルックアップ要求に応じたものである、ステップと、
前記複数の応答が合体されるべきか否かを、前記パケットの合体ビットに基づいて判定するステップと、
ルックアップ結果をホストプロセッサに出力するステップであって、前記ルックアップ結果が、前記複数の応答が合体されるべきか否かに基づいて選ばれた前記複数の応答を含む、ステップとを備えた、パケット処理方法。 - 請求項1に記載のパケット処理方法において、さらに、
前記複数の応答に基づいてルックアップ応答テーブルを更新するステップであって、前記ルックアップ応答テーブルが、複数の処理クラスタにおける処理中のルックアップ要求を示す、ステップを備えた、パケット処理方法。 - 請求項2に記載のパケット処理方法において、前記合体ビットが前記ルックアップ応答テーブルに格納される、パケット処理方法。
- 請求項1に記載のパケット処理方法において、さらに、
前記複数の応答を伝送バッファに転送するステップを備えた、パケット処理方法。 - 請求項4に記載のパケット処理方法において、さらに、
前記複数の応答の受信よりも前に前記複数の応答を配置するための前記伝送バッファのスロットを設定するステップを備えた、パケット処理方法。 - 請求項5に記載のパケット処理方法において、前記選ばれた複数の応答が、前記スロットに配置される、パケット処理方法。
- 請求項5に記載のパケット処理方法において、前記スロットが、他のスロットに対して所定の順序を有し、前記ルックアップ結果が前記所定の順序で出力されるように設定されている、パケット処理方法。
- 請求項4に記載のパケット処理方法において、さらに、
複数のグループを設定するステップであって、各グループが、前記複数の応答の受信よりも前に前記複数の応答を配置するための前記伝送バッファの複数のスロットを有する、ステップを備えた、パケット処理方法。 - 請求項8に記載のパケット処理方法において、前記複数のグループのうちの第1のグループにおける応答が、前記第1のグループにおける他の応答に対して所定の順序で出力される、パケット処理方法。
- 請求項9に記載のパケット処理方法において、前記複数のグループのうちの第2のグループにおける応答が、前記第2のグループにおける他の応答に対する順序に関係なく出力される、パケット処理方法。
- 請求項10に記載のパケット処理方法において、さらに、
前記複数のスロットのルックアップ結果に関連するパケットのデータに基づいて、前記第1および第2のグループのいずれか一方に、前記複数の応答を配置するステップを備えた、パケット処理方法。 - 請求項1に記載のパケット処理方法において、さらに、
前記ルックアップ結果が割り込み設定を含むか否かを検出するステップと、
割り込み設定に応答して、ルックアップ結果の所定の順序に関係なく、前記ルックアップ結果を前記ホストプロセッサに出力するステップとを備えた、パケット処理方法。 - 請求項12に記載のパケット処理方法において、前記ルックアップ結果は、前記複数の応答のうちの1つを含み、前記複数の応答のうちの前記1つは、最初に受信された応答である、パケット処理方法。
- 請求項1に記載のパケット処理方法において、前記複数の応答は複数のサブツリー応答を含み、当該方法は、さらに、
前記複数のサブツリー応答をマージするステップを備えた、パケット処理方法。 - 請求項14に記載のパケット処理方法において、前記複数のサブツリー応答をマージするステップが、前記サブツリー応答のうちの、最優先ルールの一致を有する1つのサブツリー応答を選択することと、前記最優先ルールの一致がないサブツリー応答を削除することとを含む、パケット処理方法。
- パケットを処理する装置であって、
パケットに対するルールマッチングを行う処理クラスタから複数の応答を受信するフロントエンドであって、前記複数の応答が、前記パケットに関連するルックアップ要求に応じたものである、フロントエンドと、
前記複数の応答を合体すべきか否かを、前記パケットの合体ビットに基づいて判定するバックエンドと、
ルックアップ結果をホストプロセッサに出力する出力モジュールであって、前記ルックアップ結果が、前記複数の応答が合体されるべきか否かに基づいて選ばれた前記複数の応答を含む、モジュールとを備えた、パケット処理装置。 - 請求項16に記載のパケット処理装置において、さらに、
ルックアップ応答テーブルを備え、
前記フロントエンドは、前記複数の応答に基づいて前記ルックアップ応答テーブルを更新し、前記ルックアップ応答テーブルは、複数の処理クラスタにおける処理中のルックアップ要求を示す、パケット処理装置。 - 請求項17に記載のパケット処理装置において、前記合体ビットが前記ルックアップ応答テーブルに格納される、パケット処理装置。
- 請求項16に記載のパケット処理装置において、さらに、
前記複数の応答を受信する伝送バッファを備えた、パケット処理装置。 - 請求項19に記載のパケット処理装置において、前記バックエンドが、前記複数の応答の受信よりも前に前記複数の応答を配置するための前記伝送バッファのスロットを設定する、パケット処理装置。
- 請求項20に記載のパケット処理装置において、前記選ばれた複数の応答が、前記スロットに配置される、パケット処理装置。
- 請求項20に記載のパケット処理装置において、前記スロットが、他のスロットに対して所定の順序を有し、前記ルックアップ結果が前記所定の順序で出力されるように設定されている、パケット処理装置。
- 請求項16に記載のパケット処理装置において、前記出力モジュールが、さらに、前記ルックアップ結果が割り込み設定を含むことを示す信号に応答して、ルックアップ結果の所定の順序に関係なく、前記ルックアップ結果を前記ホストプロセッサに出力する、パケット処理装置。
- 請求項23に記載のパケット処理装置において、前記ルックアップ結果が、前記複数の応答のうちの1つを含み、前記複数の応答のうちの前記1つは、最初に受信された応答である、パケット処理装置。
- 請求項16に記載のパケット処理装置において、前記複数の応答は複数のサブツリー応答を含み、前記フロントエンドが、前記複数のサブツリー応答をマージする、パケット処理装置。
- パケットを処理する方法であって、
複数の応答を配置するための伝送バッファのスロットを設定するステップであって、前記スロットが、他のスロットに対して所定の順序を有するステップと、
パケットに対するルールマッチングを行う処理クラスタから前記複数の応答を受信するステップであって、前記複数の応答が、前記パケットに関連するルックアップ要求に応じたものである、ステップと、
前記複数の応答を、順番通りに送信するか、または順番通りではなく送信するかを決定するステップと、
前記決定に従ってルックアップ結果をホストプロセッサに出力するステップであって、前記ルックアップ結果が、選ばれた前記複数の応答を含む、ステップと、
前記複数の応答に基づいてルックアップ応答テーブルを更新するステップであって、前記ルックアップ応答テーブルが、複数の処理クラスタにおける処理中のルックアップ要求を示す、ステップと、を備え、
前記複数の応答を、順番通りに送信するか、または順番通りではなく送信するかを決定する前記ステップは、前記パケットに対して順番か順番外かの状態を示すグループ定義テーブルを照会することを含む、パケット処理方法。
Applications Claiming Priority (23)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161514459P | 2011-08-02 | 2011-08-02 | |
US201161514438P | 2011-08-02 | 2011-08-02 | |
US201161514400P | 2011-08-02 | 2011-08-02 | |
US201161514450P | 2011-08-02 | 2011-08-02 | |
US201161514382P | 2011-08-02 | 2011-08-02 | |
US201161514379P | 2011-08-02 | 2011-08-02 | |
US201161514447P | 2011-08-02 | 2011-08-02 | |
US201161514407P | 2011-08-02 | 2011-08-02 | |
US201161514406P | 2011-08-02 | 2011-08-02 | |
US201161514344P | 2011-08-02 | 2011-08-02 | |
US201161514463P | 2011-08-02 | 2011-08-02 | |
US61/514,407 | 2011-08-02 | ||
US61/514,382 | 2011-08-02 | ||
US61/514,406 | 2011-08-02 | ||
US61/514,450 | 2011-08-02 | ||
US61/514,344 | 2011-08-02 | ||
US61/514,379 | 2011-08-02 | ||
US61/514,447 | 2011-08-02 | ||
US61/514,463 | 2011-08-02 | ||
US61/514,400 | 2011-08-02 | ||
US61/514,438 | 2011-08-02 | ||
US61/514,459 | 2011-08-02 | ||
PCT/US2012/049405 WO2013020001A1 (en) | 2011-08-02 | 2012-08-02 | Lookup front end output processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014524688A JP2014524688A (ja) | 2014-09-22 |
JP5657840B2 true JP5657840B2 (ja) | 2015-01-21 |
Family
ID=46642652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014524092A Active JP5657840B2 (ja) | 2011-08-02 | 2012-08-02 | ルックアップ・フロントエンド・パケット出力プロセッサ |
Country Status (5)
Country | Link |
---|---|
US (27) | US9596222B2 (ja) |
JP (1) | JP5657840B2 (ja) |
KR (2) | KR101476113B1 (ja) |
CN (2) | CN103858392B (ja) |
WO (5) | WO2013020001A1 (ja) |
Families Citing this family (163)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596222B2 (en) | 2011-08-02 | 2017-03-14 | Cavium, Inc. | Method and apparatus encoding a rule for a lookup request in a processor |
US9208438B2 (en) | 2011-08-02 | 2015-12-08 | Cavium, Inc. | Duplication in decision trees |
US8923306B2 (en) | 2011-08-02 | 2014-12-30 | Cavium, Inc. | Phased bucket pre-fetch in a network processor |
US9183244B2 (en) | 2011-08-02 | 2015-11-10 | Cavium, Inc. | Rule modification in decision trees |
US10229139B2 (en) | 2011-08-02 | 2019-03-12 | Cavium, Llc | Incremental update heuristics |
US9159420B1 (en) * | 2011-08-16 | 2015-10-13 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for content addressable memory parallel lookup |
US20130135816A1 (en) * | 2011-11-17 | 2013-05-30 | Futurewei Technologies, Inc. | Method and Apparatus for Scalable Low Latency Solid State Drive Interface |
US9767058B2 (en) | 2011-11-17 | 2017-09-19 | Futurewei Technologies, Inc. | Method and apparatus for scalable low latency solid state drive interface |
US9049200B2 (en) * | 2012-07-27 | 2015-06-02 | Cisco Technology, Inc. | System and method for improving hardware utilization for a bidirectional access controls list in a low latency high-throughput network |
US9143449B2 (en) * | 2012-07-31 | 2015-09-22 | Cisco Technology, Inc. | Methods and apparatuses for improving database search performance |
US9100366B2 (en) * | 2012-09-13 | 2015-08-04 | Cisco Technology, Inc. | Early policy evaluation of multiphase attributes in high-performance firewalls |
US20140089619A1 (en) * | 2012-09-27 | 2014-03-27 | Infinera Corporation | Object replication framework for a distributed computing environment |
US9307059B2 (en) * | 2012-11-09 | 2016-04-05 | Sap Se | Retry mechanism for data loading from on-premise datasource to cloud |
US9185057B2 (en) * | 2012-12-05 | 2015-11-10 | The Intellisis Corporation | Smart memory |
US9536016B2 (en) * | 2013-01-16 | 2017-01-03 | Google Inc. | On-disk multimap |
US10021026B2 (en) * | 2013-01-31 | 2018-07-10 | Hewlett Packard Enterprise Development Lp | Incremental update of a shape graph |
US9424366B1 (en) * | 2013-02-11 | 2016-08-23 | Marvell International Ltd. | Reducing power consumption in ternary content addressable memory (TCAM) |
US9270704B2 (en) * | 2013-03-13 | 2016-02-23 | FireMon, LLC | Modeling network devices for behavior analysis |
US9578061B2 (en) | 2013-03-13 | 2017-02-21 | FireMon, LLC | System and method for modeling a networking device policy |
US10083200B2 (en) | 2013-03-14 | 2018-09-25 | Cavium, Inc. | Batch incremental update |
EP2972888B1 (en) * | 2013-03-14 | 2019-02-06 | Micron Technology, INC. | Memory systems and methods including training,data organizing,and/or shadowing |
US9865222B2 (en) * | 2013-03-15 | 2018-01-09 | Videri Inc. | Systems and methods for displaying, distributing, viewing, and controlling digital art and imaging |
US9195939B1 (en) | 2013-03-15 | 2015-11-24 | Cavium, Inc. | Scope in decision trees |
US9112767B2 (en) | 2013-03-15 | 2015-08-18 | Cavium, Inc. | Method and an accumulator scoreboard for out-of-order rule response handling |
US9430511B2 (en) * | 2013-03-15 | 2016-08-30 | Cavium, Inc. | Merging independent writes, separating dependent and independent writes, and error roll back |
US9276846B2 (en) | 2013-03-15 | 2016-03-01 | Cavium, Inc. | Packet extraction optimization in a network processor |
US9595003B1 (en) | 2013-03-15 | 2017-03-14 | Cavium, Inc. | Compiler with mask nodes |
US9531647B1 (en) | 2013-03-15 | 2016-12-27 | Cavium, Inc. | Multi-host processing |
US9130819B2 (en) * | 2013-03-15 | 2015-09-08 | Cavium, Inc. | Method and apparatus for scheduling rule matching in a processor |
KR20140131781A (ko) * | 2013-05-06 | 2014-11-14 | 삼성전자주식회사 | 메모리 제어 장치 및 방법 |
US10862731B1 (en) * | 2013-06-27 | 2020-12-08 | EMC IP Holding Company LLC | Utilizing demonstration data based on dynamically determining feature availability |
US9286217B2 (en) * | 2013-08-26 | 2016-03-15 | Qualcomm Incorporated | Systems and methods for memory utilization for object detection |
US9356818B2 (en) * | 2013-10-30 | 2016-05-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and computing device for packet classification |
US9674086B2 (en) * | 2013-11-05 | 2017-06-06 | Cisco Technology, Inc. | Work conserving schedular based on ranking |
US9620213B2 (en) | 2013-12-27 | 2017-04-11 | Cavium, Inc. | Method and system for reconfigurable parallel lookups using multiple shared memories |
US9379963B2 (en) | 2013-12-30 | 2016-06-28 | Cavium, Inc. | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
US9275336B2 (en) * | 2013-12-31 | 2016-03-01 | Cavium, Inc. | Method and system for skipping over group(s) of rules based on skip group rule |
US9544402B2 (en) | 2013-12-31 | 2017-01-10 | Cavium, Inc. | Multi-rule approach to encoding a group of rules |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
CN103763197B (zh) * | 2014-01-27 | 2017-04-12 | 杭州华三通信技术有限公司 | 一种流表项冲突检测装置和方法 |
CN104012053B (zh) | 2014-04-30 | 2017-01-25 | 华为技术有限公司 | 查找装置及方法 |
US9485257B2 (en) | 2014-05-22 | 2016-11-01 | International Business Machines Corporation | Atomically updating ternary content addressable memory-based access control lists |
US9749328B2 (en) | 2014-05-22 | 2017-08-29 | International Business Machines Corporation | Access control list-based port mirroring techniques |
US9497119B2 (en) * | 2014-05-22 | 2016-11-15 | International Business Machines Corporation | Supporting access control list rules that apply to TCP segments belonging to ‘established’ connection |
US9722931B2 (en) | 2014-06-05 | 2017-08-01 | International Business Machines Corporation | Unified framework for isolating multicast and broadcast frames to a traffic class separate from a traffic class used for unicast frames |
US9344373B2 (en) * | 2014-06-13 | 2016-05-17 | International Business Machines Corporation | Packet I/O support for a logical switch router architecture |
KR101535813B1 (ko) * | 2014-10-17 | 2015-07-10 | 한국과학기술정보연구원 | 복합 이벤트 처리를 위한 이벤트 구성 규칙의 동적 업데이트를 위한 시스템 및 방법 |
US10116564B2 (en) * | 2014-11-10 | 2018-10-30 | Cavium, Inc. | Hybrid wildcard match table |
US11943142B2 (en) | 2014-11-10 | 2024-03-26 | Marvell Asia Pte, LTD | Hybrid wildcard match table |
US11218410B2 (en) | 2014-11-10 | 2022-01-04 | Marvell Asia Pte, Ltd. | Hybrid wildcard match table |
US9485179B2 (en) * | 2014-11-13 | 2016-11-01 | Cavium, Inc. | Apparatus and method for scalable and flexible table search in a network switch |
US9692727B2 (en) | 2014-12-02 | 2017-06-27 | Nicira, Inc. | Context-aware distributed firewall |
US10061531B2 (en) | 2015-01-29 | 2018-08-28 | Knuedge Incorporated | Uniform system wide addressing for a computing system |
US9552327B2 (en) | 2015-01-29 | 2017-01-24 | Knuedge Incorporated | Memory controller for a network on a chip device |
KR102328071B1 (ko) * | 2015-02-04 | 2021-11-18 | 한국전자통신연구원 | 광전송망의 트래픽을 처리하는 방법 및 장치 |
JP6598188B2 (ja) * | 2015-02-27 | 2019-10-30 | 株式会社エヴリカ | 情報処理装置、方法およびプログラム |
US20170288968A1 (en) * | 2015-03-23 | 2017-10-05 | Hewlett Packard Enterprise Development Lp | Compiling network policies |
WO2016158732A1 (ja) * | 2015-03-27 | 2016-10-06 | 古河電気工業株式会社 | 電磁シールド管、電磁シールド構造 |
US20160321285A1 (en) * | 2015-05-02 | 2016-11-03 | Mohammad Faraz RASHID | Method for organizing and distributing data |
US20160335298A1 (en) | 2015-05-12 | 2016-11-17 | Extreme Networks, Inc. | Methods, systems, and non-transitory computer readable media for generating a tree structure with nodal comparison fields and cut values for rapid tree traversal and reduced numbers of full comparisons at leaf nodes |
US10075998B2 (en) * | 2015-05-14 | 2018-09-11 | Intel IP Corporation | Wireless device, method, and computer readable media for signaling a resource allocation in a high efficiency wireless local-area network |
US10115463B1 (en) * | 2015-06-25 | 2018-10-30 | Xilinx, Inc. | Verification of a RAM-based TCAM |
US20170017420A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Enabling High Read Rates To Data Element Lists |
US20170017414A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices |
US20170017567A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Implementing Distributed-Linked Lists For Network Devices |
US20170017419A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Enabling High Read Rates To Data Element Lists |
US10423330B2 (en) * | 2015-07-29 | 2019-09-24 | International Business Machines Corporation | Data collection in a multi-threaded processor |
US9984144B2 (en) | 2015-08-17 | 2018-05-29 | Mellanox Technologies Tlv Ltd. | Efficient lookup of TCAM-like rules in RAM |
US10496680B2 (en) | 2015-08-17 | 2019-12-03 | Mellanox Technologies Tlv Ltd. | High-performance bloom filter array |
US10049126B2 (en) | 2015-09-06 | 2018-08-14 | Mellanox Technologies Tlv Ltd. | Cuckoo hashing with selectable hash |
US10451094B2 (en) * | 2015-09-28 | 2019-10-22 | Kubota Corporation | Hydraulic system of work machine |
CN105426352A (zh) * | 2015-11-24 | 2016-03-23 | 国家电网公司 | 模板文档自动生成方法 |
US10554572B1 (en) * | 2016-02-19 | 2020-02-04 | Innovium, Inc. | Scalable ingress arbitration for merging control and payload |
US10027583B2 (en) | 2016-03-22 | 2018-07-17 | Knuedge Incorporated | Chained packet sequences in a network on a chip architecture |
US9892057B2 (en) | 2016-03-31 | 2018-02-13 | Mellanox Technologies Tlv Ltd. | Single double cuckoo hash |
US10346049B2 (en) | 2016-04-29 | 2019-07-09 | Friday Harbor Llc | Distributed contiguous reads in a network on a chip architecture |
CN106209626B (zh) * | 2016-07-26 | 2019-12-06 | 新华三技术有限公司 | 自适应下发路由方法以及装置 |
US10965693B2 (en) * | 2016-07-31 | 2021-03-30 | Fenror7 Ltd | Method and system for detecting movement of malware and other potential threats |
US10068034B2 (en) | 2016-09-07 | 2018-09-04 | Mellanox Technologies Tlv Ltd. | Efficient matching of TCAM rules using hash tables in RAM |
US10204060B2 (en) | 2016-09-13 | 2019-02-12 | International Business Machines Corporation | Determining memory access categories to use to assign tasks to processor cores to execute |
US10169248B2 (en) | 2016-09-13 | 2019-01-01 | International Business Machines Corporation | Determining cores to assign to cache hostile tasks |
US10209900B2 (en) * | 2016-09-19 | 2019-02-19 | Fungible, Inc. | Buffer allocation and memory management using mapping table |
US10303375B2 (en) | 2016-09-19 | 2019-05-28 | Fungible, Inc. | Buffer allocation and memory management |
US10454786B2 (en) * | 2016-09-26 | 2019-10-22 | Amazon Technologies, Inc. | Multi-party updates to distributed systems |
US10489424B2 (en) | 2016-09-26 | 2019-11-26 | Amazon Technologies, Inc. | Different hierarchies of resource data objects for managing system resources |
US10193862B2 (en) | 2016-11-29 | 2019-01-29 | Vmware, Inc. | Security policy analysis based on detecting new network port connections |
US10341242B2 (en) * | 2016-12-13 | 2019-07-02 | Oracle International Corporation | System and method for providing a programmable packet classification framework for use in a network device |
US10404594B2 (en) | 2016-12-13 | 2019-09-03 | Oracle International Corporation | System and method for providing partitions of classification resources in a network device |
CN106844041B (zh) * | 2016-12-29 | 2020-06-16 | 华为技术有限公司 | 内存管理的方法及内存管理系统 |
US10084855B2 (en) * | 2017-01-23 | 2018-09-25 | Akamai Technologies, Inc. | Pixel-based load balancing |
US10257090B2 (en) * | 2017-02-21 | 2019-04-09 | Futurewei Technologies, Inc. | Packet classification using multi-dimensional splitting |
US10491521B2 (en) | 2017-03-26 | 2019-11-26 | Mellanox Technologies Tlv Ltd. | Field checking based caching of ACL lookups to ease ACL lookup search |
WO2018183526A1 (en) | 2017-03-29 | 2018-10-04 | Fungible, Inc. | Non-blocking, full-mesh data center network having optical permutors |
WO2018183542A1 (en) | 2017-03-29 | 2018-10-04 | Fungible, Inc. | Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths |
WO2018183553A1 (en) | 2017-03-29 | 2018-10-04 | Fungible, Inc. | Non-blocking any-to-any data center network having multiplexed packet spraying within access node groups |
US10565112B2 (en) | 2017-04-10 | 2020-02-18 | Fungible, Inc. | Relay consistent memory management in a multiple processor system |
US10885118B2 (en) * | 2017-05-12 | 2021-01-05 | Futurewei Technologies, Inc. | Incremental graph computations for querying large graphs |
US10713089B2 (en) * | 2017-05-20 | 2020-07-14 | Cavium International | Method and apparatus for load balancing of jobs scheduled for processing |
EP3625679A1 (en) | 2017-07-10 | 2020-03-25 | Fungible, Inc. | Data processing unit for stream processing |
US10659254B2 (en) | 2017-07-10 | 2020-05-19 | Fungible, Inc. | Access node integrated circuit for data centers which includes a networking unit, a plurality of host units, processing clusters, a data network fabric, and a control network fabric |
US10476794B2 (en) | 2017-07-30 | 2019-11-12 | Mellanox Technologies Tlv Ltd. | Efficient caching of TCAM rules in RAM |
CN107450495B (zh) * | 2017-08-25 | 2019-10-29 | 艾普工华科技(武汉)有限公司 | 一种基于消息规则引擎的柔性在制品管理业务模型系统 |
CN108632235B (zh) | 2017-08-31 | 2020-07-07 | 新华三技术有限公司 | 一种网包分类决策树建立方法及装置 |
CN107797973A (zh) * | 2017-09-27 | 2018-03-13 | 西安交通大学 | 一种面向硬件实现的gbdt分类模型压缩方法 |
WO2019068017A1 (en) | 2017-09-29 | 2019-04-04 | Fungible, Inc. | RESILIENT NETWORK COMMUNICATION USING SELECTIVE PULVER FLOW SPRAY BY MULTIPATH PATH |
US10904367B2 (en) | 2017-09-29 | 2021-01-26 | Fungible, Inc. | Network access node virtual fabrics configured dynamically over an underlay network |
WO2019104090A1 (en) | 2017-11-21 | 2019-05-31 | Fungible, Inc. | Work unit stack data structures in multiple core processor system for stream data processing |
WO2019152063A1 (en) | 2018-02-02 | 2019-08-08 | Fungible, Inc. | Efficient work unit processing in a multicore system |
US10791092B2 (en) * | 2018-02-14 | 2020-09-29 | Nicira, Inc. | Firewall rules with expression matching |
WO2019178264A1 (en) | 2018-03-14 | 2019-09-19 | Fungible, Inc. | Flexible processing of network packets |
TWI664527B (zh) * | 2018-03-20 | 2019-07-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
CN108595370A (zh) * | 2018-03-30 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种多核处理器及报文处理方法 |
US11876684B1 (en) * | 2018-05-22 | 2024-01-16 | Amazon Technologies, Inc. | Controlled cross-cell migration of data in cell-based distributed computing architecture |
WO2019237029A1 (en) | 2018-06-08 | 2019-12-12 | Fungible, Inc. | Directed graph traversal using content-addressable memory |
CN108984618B (zh) * | 2018-06-13 | 2021-02-02 | 深圳市商汤科技有限公司 | 数据处理方法和装置、电子设备和计算机可读存储介质 |
CN111819552B (zh) * | 2018-06-20 | 2024-08-02 | 华为技术有限公司 | 访问控制列表的管理方法及装置 |
US10798200B2 (en) * | 2018-06-22 | 2020-10-06 | Vmware, Inc. | Payload matching via single pass transformation of HTTP payload |
US11483313B2 (en) * | 2018-06-28 | 2022-10-25 | Intel Corporation | Technologies for updating an access control list table without causing disruption |
US10581759B1 (en) | 2018-07-12 | 2020-03-03 | Innovium, Inc. | Sharing packet processing resources |
CN108959636B (zh) * | 2018-07-25 | 2020-11-03 | 京东数字科技控股有限公司 | 数据处理方法、装置、系统、计算机可读介质 |
US11327974B2 (en) | 2018-08-02 | 2022-05-10 | Mellanox Technologies, Ltd. | Field variability based TCAM splitting |
CN109032952B (zh) * | 2018-08-09 | 2021-11-23 | 中国建设银行股份有限公司 | 一种基于规则的智能外呼服务模拟方法及系统 |
US11003715B2 (en) | 2018-09-17 | 2021-05-11 | Mellanox Technologies, Ltd. | Equipment and method for hash table resizing |
FR3086825A1 (fr) * | 2018-09-28 | 2020-04-03 | Orange | Procedes de protection d'un domaine client contre une attaque informatique, nœud client, serveur et programmes d'ordinateur correspondants. |
CN111049746B (zh) * | 2018-10-12 | 2022-04-22 | 华为技术有限公司 | 一种路由表项生成方法、字典树生成方法和装置 |
US10958770B2 (en) | 2018-10-15 | 2021-03-23 | Fungible, Inc. | Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit |
US10708373B2 (en) * | 2018-11-09 | 2020-07-07 | Oath Inc. | Decentralized method and system for accurately determining a level of activity of a client device |
CN109542601B (zh) * | 2018-11-20 | 2020-12-29 | 杭州迪普科技股份有限公司 | 策略编译方法、装置、电子设备及计算机存储介质 |
US10929175B2 (en) | 2018-11-21 | 2021-02-23 | Fungible, Inc. | Service chaining hardware accelerators within a data stream processing integrated circuit |
WO2020107484A1 (zh) * | 2018-11-30 | 2020-06-04 | 华为技术有限公司 | 一种acl的规则分类方法、查找方法和装置 |
CN109766439A (zh) * | 2018-12-15 | 2019-05-17 | 内蒙航天动力机械测试所 | 统计查询软件的无限树状分类定义与指派方法 |
GB2579849B (en) * | 2018-12-18 | 2021-08-25 | Advanced Risc Mach Ltd | Integrity tree for memory integrity checking |
EP3703341A1 (en) * | 2019-02-28 | 2020-09-02 | Rohde & Schwarz GmbH & Co. KG | System for analyzing and interpreting at least one data stream as well as method of automatic configuration of a system |
CN109885408B (zh) * | 2019-03-13 | 2022-05-03 | 四川长虹电器股份有限公司 | 基于Android系统的轻量级浏览器资源优化方法 |
US11531915B2 (en) * | 2019-03-20 | 2022-12-20 | Oracle International Corporation | Method for generating rulesets using tree-based models for black-box machine learning explainability |
US11258726B2 (en) | 2019-03-27 | 2022-02-22 | Fungible, Inc. | Low latency packet switch architecture |
CN111817978B (zh) * | 2019-04-12 | 2022-10-04 | 华为技术有限公司 | 一种流分类方法及装置 |
US11032371B2 (en) * | 2019-05-29 | 2021-06-08 | Red Hat, Inc. | Data migration using read function triggers |
US10931638B1 (en) * | 2019-07-31 | 2021-02-23 | Capital One Services, Llc | Automated firewall feedback from network traffic analysis |
US10979358B2 (en) * | 2019-08-20 | 2021-04-13 | SMART lOPS, INC. | Low-latency data packet distributor |
US10944675B1 (en) | 2019-09-04 | 2021-03-09 | Mellanox Technologies Tlv Ltd. | TCAM with multi region lookups and a single logical lookup |
US11579802B2 (en) | 2019-10-04 | 2023-02-14 | Fungible, Inc. | Pipeline using match-action blocks |
US11330032B2 (en) * | 2019-10-15 | 2022-05-10 | Vmware, Inc. | Method and system for content proxying between formats |
CN112948103B (zh) * | 2019-12-10 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、存储介质及电子设备 |
CN110995748A (zh) * | 2019-12-17 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种防暴力破解方法、装置、设备、介质 |
US11128694B2 (en) * | 2020-01-09 | 2021-09-21 | Cisco Technology, Inc. | Optimized internet access in a multi-site software-defined network fabric |
US11539622B2 (en) | 2020-05-04 | 2022-12-27 | Mellanox Technologies, Ltd. | Dynamically-optimized hash-based packet classifier |
US11782895B2 (en) | 2020-09-07 | 2023-10-10 | Mellanox Technologies, Ltd. | Cuckoo hashing including accessing hash tables using affinity table |
CN112311698B (zh) * | 2020-09-28 | 2021-08-24 | 清华大学无锡应用技术研究院 | 处理网络数据包的方法、装置及存储介质 |
KR20220045480A (ko) * | 2020-10-05 | 2022-04-12 | 삼성전자주식회사 | 인-메모리 프로세싱을 수행하는 메모리 디바이스 |
CN112350947B (zh) * | 2020-10-23 | 2022-07-29 | 杭州迪普信息技术有限公司 | 一种报文匹配决策树的更新方法及装置 |
US11593309B2 (en) | 2020-11-05 | 2023-02-28 | International Business Machines Corporation | Reliable delivery of event notifications from a distributed file system |
CN113114584B (zh) * | 2021-03-01 | 2023-02-28 | 杭州迪普科技股份有限公司 | 一种网络设备的保护方法及装置 |
US11734005B2 (en) | 2021-07-04 | 2023-08-22 | Mellanox Technologies, Ltd. | Processor with split read |
CN113709099B (zh) * | 2021-07-12 | 2023-11-07 | 新华三大数据技术有限公司 | 混合云防火墙规则下发方法、装置、设备及存储介质 |
US11677663B2 (en) * | 2021-08-12 | 2023-06-13 | Schweitzer Engineering Laboratories, Inc. | Software-defined network statistics extension |
US11917042B2 (en) | 2021-08-15 | 2024-02-27 | Mellanox Technologies, Ltd. | Optimizing header-based action selection |
CN113741821B (zh) * | 2021-11-01 | 2022-03-01 | 中科声龙科技发展(北京)有限公司 | 基于分类的数据存取方法、系统、介质及程序 |
US11929837B2 (en) | 2022-02-23 | 2024-03-12 | Mellanox Technologies, Ltd. | Rule compilation schemes for fast packet classification |
US11968285B2 (en) | 2022-02-24 | 2024-04-23 | Mellanox Technologies, Ltd. | Efficient memory utilization for cartesian products of rules |
US11847461B2 (en) * | 2022-05-19 | 2023-12-19 | Mellanox Technologies, Ltd. | Out-of-order input / output write |
US11882002B2 (en) | 2022-06-22 | 2024-01-23 | Schweitzer Engineering Laboratories, Inc. | Offline test mode SDN validation |
Family Cites Families (247)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US441022A (en) | 1890-11-18 | Method of baling cotton | ||
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
JPS6289149A (ja) * | 1985-10-15 | 1987-04-23 | Agency Of Ind Science & Technol | 多ポ−トメモリシステム |
ATE180336T1 (de) | 1989-09-01 | 1999-06-15 | Amdahl Corp | Betriebssystem und datenbank mit einer aus mehreren tabellen geformten zugriffsstruktur |
CA2066724C (en) | 1989-09-01 | 2000-12-05 | Helge Knudsen | Operating system and data base |
AT392555B (de) | 1989-10-24 | 1991-04-25 | Alcatel Austria Ag | Verfahren zum uebertragen von binaerinformationen in einem optischen uebertragungsnetzwerk sowie optisches uebertragungsnetzwerk |
US5214653A (en) * | 1990-10-22 | 1993-05-25 | Harris Corporation | Fault finder expert system |
AU4661793A (en) | 1992-07-02 | 1994-01-31 | Wellfleet Communications | Data packet processing method and apparatus |
US5634025A (en) * | 1993-12-09 | 1997-05-27 | International Business Machines Corporation | Method and system for efficiently fetching variable-width instructions in a data processing system having multiple prefetch units |
US5742843A (en) | 1994-07-20 | 1998-04-21 | Fujitsu Limited | Control system for access between processing elements in a parallel computer |
US5727167A (en) * | 1995-04-14 | 1998-03-10 | International Business Machines Corporation | Thresholding support in performance monitoring |
US5995511A (en) | 1996-04-05 | 1999-11-30 | Fore Systems, Inc. | Digital network including mechanism for grouping virtual message transfer paths having similar transfer service rates to facilitate efficient scheduling of transfers thereover |
US5893911A (en) | 1996-04-17 | 1999-04-13 | Neon Software, Inc. | Method for defining and applying rules for message distribution for transaction processing in a distributed application |
US7613926B2 (en) | 1997-11-06 | 2009-11-03 | Finjan Software, Ltd | Method and system for protecting a computer and a network from hostile downloadables |
US5893142A (en) | 1996-11-14 | 1999-04-06 | Motorola Inc. | Data processing system having a cache and method therefor |
US6233575B1 (en) | 1997-06-24 | 2001-05-15 | International Business Machines Corporation | Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values |
JP3436871B2 (ja) * | 1997-10-23 | 2003-08-18 | 株式会社東芝 | 通信資源管理方法及びノード装置 |
JP3027845B2 (ja) | 1997-11-21 | 2000-04-04 | オムロン株式会社 | プログラム制御装置および方法 |
US6549519B1 (en) * | 1998-01-23 | 2003-04-15 | Alcatel Internetworking (Pe), Inc. | Network switching device with pipelined search engines |
US6341130B1 (en) | 1998-02-09 | 2002-01-22 | Lucent Technologies, Inc. | Packet classification method and apparatus employing two fields |
US6658002B1 (en) * | 1998-06-30 | 2003-12-02 | Cisco Technology, Inc. | Logical operation unit for packet processing |
US6212184B1 (en) | 1998-07-15 | 2001-04-03 | Washington University | Fast scaleable methods and devices for layer four switching |
US6519636B2 (en) | 1998-10-28 | 2003-02-11 | International Business Machines Corporation | Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions |
US6567408B1 (en) | 1999-02-01 | 2003-05-20 | Redback Networks Inc. | Methods and apparatus for packet classification with multi-level data structure |
US6297768B1 (en) | 1999-02-25 | 2001-10-02 | Lunareye, Inc. | Triggerable remote controller |
JP3692820B2 (ja) | 1999-03-10 | 2005-09-07 | 株式会社デンソー | 自動車用制御装置 |
US6510509B1 (en) * | 1999-03-29 | 2003-01-21 | Pmc-Sierra Us, Inc. | Method and apparatus for high-speed network rule processing |
US6701432B1 (en) * | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US6298340B1 (en) | 1999-05-14 | 2001-10-02 | International Business Machines Corporation | System and method and computer program for filtering using tree structure |
US6587466B1 (en) | 1999-05-27 | 2003-07-01 | International Business Machines Corporation | Search tree for policy based packet classification in communication networks |
GB2355084B (en) | 1999-07-21 | 2004-04-28 | Element 14 Ltd | Setting condition values in a computer |
US6636480B1 (en) | 1999-09-08 | 2003-10-21 | Riverstone Networks, Inc. | Method and system for controlling data flow through a multiport switch |
US7110407B1 (en) | 1999-09-23 | 2006-09-19 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system using enable signals |
US6775281B1 (en) | 1999-09-30 | 2004-08-10 | Mosaid Technologies, Inc. | Method and apparatus for a four-way hash table |
US6467019B1 (en) | 1999-11-08 | 2002-10-15 | Juniper Networks, Inc. | Method for memory management in ternary content addressable memories (CAMs) |
US6778530B1 (en) * | 1999-11-08 | 2004-08-17 | Juniper Networks, Inc. | Method and apparatus for multiple field matching in network device |
GB9930849D0 (en) | 1999-12-24 | 2000-02-16 | Koninkl Philips Electronics Nv | Data communications |
US6539394B1 (en) | 2000-01-04 | 2003-03-25 | International Business Machines Corporation | Method and system for performing interval-based testing of filter rules |
US7039641B2 (en) | 2000-02-24 | 2006-05-02 | Lucent Technologies Inc. | Modular packet classification |
US6473763B1 (en) | 2000-03-31 | 2002-10-29 | International Business Machines Corporation | System, method and computer program for filtering multi-action rule set |
US7215637B1 (en) | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US7032031B2 (en) | 2000-06-23 | 2006-04-18 | Cloudshield Technologies, Inc. | Edge adapter apparatus and method |
US9800608B2 (en) * | 2000-09-25 | 2017-10-24 | Symantec Corporation | Processing data flows with a data flow processor |
US8010469B2 (en) | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20110238855A1 (en) | 2000-09-25 | 2011-09-29 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US20070192863A1 (en) | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
KR100699470B1 (ko) * | 2000-09-27 | 2007-03-26 | 삼성전자주식회사 | 멀티레이어 패킷 처리 장치 |
WO2002043302A2 (en) * | 2000-11-21 | 2002-05-30 | Transwitch Corporation | Methods and apparatus for switching atm, tdm, and packet data through a single communications switch |
CA2326851A1 (en) | 2000-11-24 | 2002-05-24 | Redback Networks Systems Canada Inc. | Policy change characterization method and apparatus |
US6868414B2 (en) | 2001-01-03 | 2005-03-15 | International Business Machines Corporation | Technique for serializing data structure updates and retrievals without requiring searchers to use locks |
AU2002233500A1 (en) * | 2001-02-14 | 2002-08-28 | Clearspeed Technology Limited | An interconnection system |
US6754626B2 (en) * | 2001-03-01 | 2004-06-22 | International Business Machines Corporation | Creating a hierarchical tree of language models for a dialog system based on prompt and dialog context |
JP2002290447A (ja) * | 2001-03-27 | 2002-10-04 | Mitsubishi Electric Corp | アドレス検索方法、アドレス検索回路、およびアドレス検索プログラム |
US6735600B1 (en) * | 2001-03-30 | 2004-05-11 | Lsi Logic Corporation | Editing protocol for flexible search engines |
US6904057B2 (en) | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
US6757768B1 (en) * | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
US7133409B1 (en) | 2001-07-19 | 2006-11-07 | Richard Willardson | Programmable packet filtering in a prioritized chain |
US7116663B2 (en) | 2001-07-20 | 2006-10-03 | Pmc-Sierra Ltd. | Multi-field classification using enhanced masked matching |
US7027988B1 (en) | 2001-07-20 | 2006-04-11 | At&T Corp. | System and method of ε removal of weighted automata and transducers |
US7209962B2 (en) * | 2001-07-30 | 2007-04-24 | International Business Machines Corporation | System and method for IP packet filtering based on non-IP packet traffic attributes |
US7046848B1 (en) | 2001-08-22 | 2006-05-16 | Olcott Peter L | Method and system for recognizing machine generated character glyphs and icons in graphic images |
EP1320006A1 (en) | 2001-12-12 | 2003-06-18 | Canal+ Technologies Société Anonyme | Processing data |
US7403999B2 (en) | 2001-12-28 | 2008-07-22 | International Business Machines Corporation | Classification support system and method for fragmented IP packets |
US7225188B1 (en) | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
US7719980B2 (en) | 2002-02-19 | 2010-05-18 | Broadcom Corporation | Method and apparatus for flexible frame processing and classification engine |
US8135772B2 (en) * | 2002-05-01 | 2012-03-13 | Oracle International Corporation | Single servlets for B2B message routing |
US7251698B2 (en) * | 2002-05-28 | 2007-07-31 | Newisys, Inc. | Address space management in systems having multiple multi-processor clusters |
US7327727B2 (en) | 2002-06-04 | 2008-02-05 | Lucent Technologies Inc. | Atomic lookup rule set transition |
US7079542B2 (en) | 2002-07-02 | 2006-07-18 | Samsung Electronics Co., Ltd. | Internet protocol address look-up method |
AU2003256391A1 (en) | 2002-07-03 | 2004-01-23 | University Of Florida | Dynamic ip router tables using highest-priority matching |
AU2003259797A1 (en) | 2002-08-05 | 2004-02-23 | Fish, Robert | System and method of parallel pattern matching |
US7277425B1 (en) | 2002-10-21 | 2007-10-02 | Force10 Networks, Inc. | High-speed router switching architecture |
GB0226289D0 (en) | 2002-11-11 | 2002-12-18 | Orange Personal Comm Serv Ltd | Telecommunications |
GB2395395B (en) * | 2002-11-15 | 2004-11-10 | 3Com Corp | Classification search scheme and rules engine for network unit |
US7536476B1 (en) | 2002-12-20 | 2009-05-19 | Cisco Technology, Inc. | Method for performing tree based ACL lookups |
US7548848B1 (en) | 2003-01-08 | 2009-06-16 | Xambala, Inc. | Method and apparatus for semantic processing engine |
WO2004072797A2 (en) | 2003-02-07 | 2004-08-26 | Safenet, Inc. | System and method for determining the start of a match of a regular expression |
US20040172234A1 (en) | 2003-02-28 | 2004-09-02 | Dapp Michael C. | Hardware accelerator personality compiler |
SE0300894D0 (sv) * | 2003-03-28 | 2003-03-28 | Saab Ab | Metod att fastställa regler för en anordning som är avsedd att kunna användas för att generera beslutstöd |
US7571156B1 (en) | 2003-03-28 | 2009-08-04 | Netlogic Microsystems, Inc. | Network device, storage medium and methods for incrementally updating a forwarding database |
US7466687B2 (en) | 2003-04-28 | 2008-12-16 | International Business Machines Corporation | Packet classification using modified range labels |
US7093231B2 (en) | 2003-05-06 | 2006-08-15 | David H. Alderson | Grammer for regular expressions |
US7415472B2 (en) | 2003-05-13 | 2008-08-19 | Cisco Technology, Inc. | Comparison tree data structures of particular use in performing lookup operations |
US7411418B2 (en) | 2003-05-23 | 2008-08-12 | Sensory Networks, Inc. | Efficient representation of state transition tables |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US7382777B2 (en) | 2003-06-17 | 2008-06-03 | International Business Machines Corporation | Method for implementing actions based on packet classification and lookup results |
US7386626B2 (en) * | 2003-06-23 | 2008-06-10 | Newisys, Inc. | Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems |
US7388840B2 (en) | 2003-06-30 | 2008-06-17 | Intel Corporation | Methods and apparatuses for route management on a networking control plane |
US7548944B2 (en) | 2003-07-15 | 2009-06-16 | Intel Corporation | Statistics collection framework for a network processor |
US7299227B2 (en) | 2003-09-09 | 2007-11-20 | Stmicroelectronics, Inc. | Method and system for providing cascaded trie-based network packet search engines |
US7870161B2 (en) | 2003-11-07 | 2011-01-11 | Qiang Wang | Fast signature scan |
US7873992B1 (en) | 2003-12-04 | 2011-01-18 | Avaya Inc. | Dynamic system of autonomous parsers for interpreting arbitrary telecommunication equipment streams |
US20060026138A1 (en) | 2004-01-09 | 2006-02-02 | Gavin Robertson | Real-time indexes |
US7706353B2 (en) | 2004-01-21 | 2010-04-27 | Alcatel-Lucent Usa Inc. | Congestion control in connection-oriented packet-switching networks |
US7392349B1 (en) * | 2004-01-27 | 2008-06-24 | Netlogic Microsystems, Inc. | Table management within a policy-based routing system |
US7370361B2 (en) | 2004-02-06 | 2008-05-06 | Trend Micro Incorporated | System and method for securing computers against computer virus |
US7441022B1 (en) | 2004-03-12 | 2008-10-21 | Sun Microsystems, Inc. | Resolving conflicts between network service rule sets for network data traffic in a system where rule patterns with longer prefixes match before rule patterns with shorter prefixes |
US7586851B2 (en) | 2004-04-26 | 2009-09-08 | Cisco Technology, Inc. | Programmable packet parsing processor |
US7366728B2 (en) | 2004-04-27 | 2008-04-29 | International Business Machines Corporation | System for compressing a search tree structure used in rule classification |
US7685637B2 (en) | 2004-06-14 | 2010-03-23 | Lionic Corporation | System security approaches using sub-expression automata |
JP4855655B2 (ja) * | 2004-06-15 | 2012-01-18 | 株式会社ソニー・コンピュータエンタテインメント | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
JP4392294B2 (ja) | 2004-06-15 | 2009-12-24 | 株式会社日立製作所 | 通信統計収集装置 |
US7760719B2 (en) * | 2004-06-30 | 2010-07-20 | Conexant Systems, Inc. | Combined pipelined classification and address search method and apparatus for switching environments |
BRPI0513181A (pt) * | 2004-07-09 | 2008-04-29 | Matsushita Electric Ind Co Ltd | método e aparelho de gerenciamento de rede |
US7478426B2 (en) | 2004-07-20 | 2009-01-13 | International Busines Machines Corporation | Multi-field classification dynamic rule updates |
US7711893B1 (en) | 2004-07-22 | 2010-05-04 | Netlogic Microsystems, Inc. | Range code compression method and apparatus for ternary content addressable memory (CAM) devices |
US7464218B2 (en) | 2004-08-31 | 2008-12-09 | Seagate Technology Llc | Method for improving data throughput for a data storage device |
US8560475B2 (en) | 2004-09-10 | 2013-10-15 | Cavium, Inc. | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process |
US8392590B2 (en) | 2004-09-10 | 2013-03-05 | Cavium, Inc. | Deterministic finite automata (DFA) processing |
US8301788B2 (en) | 2004-09-10 | 2012-10-30 | Cavium, Inc. | Deterministic finite automata (DFA) instruction |
US7594081B2 (en) | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
WO2006029508A1 (en) | 2004-09-13 | 2006-03-23 | Solace Systems Inc. | Highly scalable subscription matching for a content routing network |
US7260558B1 (en) | 2004-10-25 | 2007-08-21 | Hi/Fn, Inc. | Simultaneously searching for a plurality of patterns definable by complex expressions, and efficiently generating data for such searching |
US7356663B2 (en) | 2004-11-08 | 2008-04-08 | Intruguard Devices, Inc. | Layered memory architecture for deterministic finite automaton based string matching useful in network intrusion detection and prevention systems and apparatuses |
US7478424B2 (en) | 2004-11-30 | 2009-01-13 | Cymtec Systems, Inc. | Propagation protection within a network |
WO2006061899A1 (ja) | 2004-12-09 | 2006-06-15 | Mitsubishi Denki Kabushiki Kaisha | 文字列照合装置および文字列照合プログラム |
JP4140910B2 (ja) * | 2004-12-28 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理装置、データ管理装置、データ処理方法、データ管理方法、データ処理プログラム、データ管理プログラム、及び情報システム |
US20060155915A1 (en) | 2004-12-30 | 2006-07-13 | Pereira Jose P | Database query processor |
US7350040B2 (en) | 2005-03-03 | 2008-03-25 | Microsoft Corporation | Method and system for securing metadata to detect unauthorized access |
US7710988B1 (en) | 2005-03-11 | 2010-05-04 | Xambala Corporation | Method and system for non-deterministic finite automaton filtering |
US7653903B2 (en) * | 2005-03-25 | 2010-01-26 | Sony Corporation | Modular imaging download system |
US7668160B2 (en) | 2005-03-31 | 2010-02-23 | Intel Corporation | Methods for performing packet classification |
JP2006285808A (ja) * | 2005-04-04 | 2006-10-19 | Hitachi Ltd | ストレージシステム |
US20060288024A1 (en) | 2005-04-28 | 2006-12-21 | Freescale Semiconductor Incorporated | Compressed representations of tries |
US7958507B2 (en) * | 2005-06-16 | 2011-06-07 | Hewlett-Packard Development Company, L.P. | Job scheduling system and method |
US7784094B2 (en) * | 2005-06-30 | 2010-08-24 | Intel Corporation | Stateful packet content matching mechanisms |
US20080229415A1 (en) | 2005-07-01 | 2008-09-18 | Harsh Kapoor | Systems and methods for processing data flows |
US7979368B2 (en) | 2005-07-01 | 2011-07-12 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US7869411B2 (en) | 2005-11-21 | 2011-01-11 | Broadcom Corporation | Compact packet operation device and method |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US20070168377A1 (en) | 2005-12-29 | 2007-07-19 | Arabella Software Ltd. | Method and apparatus for classifying Internet Protocol data packets |
US20070168548A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | Method and system for performing multi-cluster application-specific routing |
US8978154B2 (en) | 2006-02-15 | 2015-03-10 | Samsung Electronics Co., Ltd. | Method and apparatus for importing content having plurality of parts |
US20070226362A1 (en) | 2006-03-21 | 2007-09-27 | At&T Corp. | Monitoring regular expressions on out-of-order streams |
US7844422B2 (en) | 2006-05-30 | 2010-11-30 | International Business Machines Corporation | Method and system for changing a description for a state transition function of a state machine engine |
US20080097959A1 (en) | 2006-06-14 | 2008-04-24 | Nec Laboratories America, Inc. | Scalable xml filtering with bottom up path matching and encoded path joins |
US20080071783A1 (en) | 2006-07-03 | 2008-03-20 | Benjamin Langmead | System, Apparatus, And Methods For Pattern Matching |
US7522581B2 (en) * | 2006-08-01 | 2009-04-21 | International Business Machines Corporation | Overload protection for SIP servers |
EP2074767A2 (en) | 2006-08-02 | 2009-07-01 | University Of Florida Research Foundation, Inc. | Succinct representation of static packet classifiers |
US20080034427A1 (en) | 2006-08-02 | 2008-02-07 | Nec Laboratories America, Inc. | Fast and scalable process for regular expression search |
GB2441351B (en) | 2006-09-01 | 2010-12-08 | 3Com Corp | Positionally dependent pattern checking in character strings using deterministic finite automata |
US7932349B2 (en) | 2006-09-18 | 2011-04-26 | Hercules Incorporated | Membrane separation process for removing residuals polyamine-epihalohydrin resins |
US8024691B2 (en) | 2006-09-28 | 2011-09-20 | Mcgill University | Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry |
GB2452420B (en) | 2006-10-27 | 2009-05-06 | 3Com Corp | Signature checking using deterministic finite state machines |
SE531947C2 (sv) | 2006-11-03 | 2009-09-15 | Oricane Ab | Förfarande, anordning och system för flerfältsklassificering i ett datakommunikationsnätverk |
US7657497B2 (en) | 2006-11-07 | 2010-02-02 | Ebay Inc. | Online fraud prevention using genetic algorithm solution |
US7831607B2 (en) | 2006-12-08 | 2010-11-09 | Pandya Ashish A | Interval symbol architecture for programmable intelligent search memory |
WO2008073824A1 (en) | 2006-12-08 | 2008-06-19 | Pandya Ashish A | Dynamic programmable intelligent search memory |
US8156507B2 (en) | 2006-12-08 | 2012-04-10 | Microsoft Corporation | User mode file system serialization and reliability |
US7636717B1 (en) | 2007-01-18 | 2009-12-22 | Netlogic Microsystems, Inc. | Method and apparatus for optimizing string search operations |
US7962434B2 (en) | 2007-02-15 | 2011-06-14 | Wisconsin Alumni Research Foundation | Extended finite state automata and systems and methods for recognizing patterns in a data stream using extended finite state automata |
FR2914081A1 (fr) | 2007-03-23 | 2008-09-26 | Advestigo Sa | Procede de protection de documents numeriques contre des utilisations non autorisees. |
JP5299272B2 (ja) | 2007-04-12 | 2013-09-25 | 富士通株式会社 | 分析プログラムおよび分析装置 |
US7961489B2 (en) | 2007-04-23 | 2011-06-14 | Marvell Israel (MISL)Ltd. | Comparing data representations to stored patterns |
US8156247B2 (en) | 2007-04-30 | 2012-04-10 | Lsi Corportion | Systems and methods for reducing network performance degradation |
US7854002B2 (en) | 2007-04-30 | 2010-12-14 | Microsoft Corporation | Pattern matching for spyware detection |
US20080291916A1 (en) | 2007-05-22 | 2008-11-27 | Bo Xiong | Systems and methods for dynamic quality of service |
US7852756B2 (en) | 2007-06-13 | 2010-12-14 | 02Micro International Limited | Network interface system with filtering function |
US8341723B2 (en) * | 2007-06-28 | 2012-12-25 | Microsoft Corporation | Filtering kernel-mode network communications |
US8219508B2 (en) | 2007-07-06 | 2012-07-10 | Lsi Corporation | Systems and methods for compressing state machine instructions using a two access indexing scheme |
JP4967876B2 (ja) * | 2007-07-18 | 2012-07-04 | 日本電気株式会社 | ネットワーク、ネットワーク装置及びそれらに用いる伝送経路冗長化方法 |
US8024802B1 (en) | 2007-07-31 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Methods and systems for using state ranges for processing regular expressions in intrusion-prevention systems |
US8520978B2 (en) | 2007-10-31 | 2013-08-27 | Mckesson Technologies Inc. | Methods, computer program products, apparatuses, and systems for facilitating viewing and manipulation of an image on a client device |
US8086609B2 (en) | 2007-11-01 | 2011-12-27 | Cavium, Inc. | Graph caching |
US8819217B2 (en) | 2007-11-01 | 2014-08-26 | Cavium, Inc. | Intelligent graph walking |
US20090125470A1 (en) | 2007-11-09 | 2009-05-14 | Juniper Networks, Inc. | System and Method for Managing Access Control Lists |
US8180803B2 (en) | 2007-11-27 | 2012-05-15 | Cavium, Inc. | Deterministic finite automata (DFA) graph compression |
US7949683B2 (en) | 2007-11-27 | 2011-05-24 | Cavium Networks, Inc. | Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph |
KR100920518B1 (ko) | 2007-11-27 | 2009-10-09 | 한국전자통신연구원 | 패킷 분류 장치 및 방법 |
TWI363532B (en) | 2008-01-21 | 2012-05-01 | Univ Nat Taiwan | Method and system for packet classificiation with reduced memory space and enhanced access speed |
US7904942B2 (en) * | 2008-02-22 | 2011-03-08 | Inventec Corporation | Method of updating intrusion detection rules through link data packet |
US8474043B2 (en) * | 2008-04-17 | 2013-06-25 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
SE532426C2 (sv) | 2008-05-26 | 2010-01-19 | Oricane Ab | Metod för datapaketklassificering i ett datakommunikationsnät |
US8051085B1 (en) | 2008-07-18 | 2011-11-01 | Netlogic Microsystems, Inc. | Determining regular expression match lengths |
US8554800B2 (en) | 2008-07-30 | 2013-10-08 | Portool Ltd. | System, methods and applications for structured document indexing |
US20100037056A1 (en) | 2008-08-07 | 2010-02-11 | Follis Benjamin D | Method to support privacy preserving secure data management in archival systems |
US8352391B1 (en) * | 2008-08-20 | 2013-01-08 | Juniper Networks, Inc. | Fast update filter |
US8005114B2 (en) | 2008-09-08 | 2011-08-23 | Wisconsin Alumni Research Foundation | Method and apparatus to vary the transmission bit rate within individual wireless packets through multi-rate packetization |
US8176085B2 (en) | 2008-09-30 | 2012-05-08 | Microsoft Corporation | Modular forest automata |
US8447120B2 (en) | 2008-10-04 | 2013-05-21 | Microsoft Corporation | Incremental feature indexing for scalable location recognition |
US7872993B2 (en) | 2008-10-30 | 2011-01-18 | Alcatel Lucent | Method and system for classifying data packets |
US8473523B2 (en) | 2008-10-31 | 2013-06-25 | Cavium, Inc. | Deterministic finite automata graph traversal with nodal bit mapping |
US8683590B2 (en) | 2008-10-31 | 2014-03-25 | Alcatel Lucent | Method and apparatus for pattern matching for intrusion detection/prevention systems |
US9154380B2 (en) | 2008-12-11 | 2015-10-06 | International Business Machines Corporation | Rules based fetching of operating platform status |
TWI482083B (zh) | 2008-12-15 | 2015-04-21 | Univ Nat Taiwan | 二階段式正規表示式比對處理方法及系統 |
TWI383618B (zh) | 2008-12-22 | 2013-01-21 | Univ Nat Taiwan | 管線架構型正規表示式樣式比對處理電路 |
US8111697B1 (en) * | 2008-12-31 | 2012-02-07 | Juniper Networks, Inc. | Methods and apparatus for packet classification based on multiple conditions |
US8171539B2 (en) | 2009-01-07 | 2012-05-01 | Symbol Technologies, Inc. | Methods and apparatus for implementing a search tree |
US20100192225A1 (en) | 2009-01-28 | 2010-07-29 | Juniper Networks, Inc. | Efficient application identification with network devices |
US8634731B2 (en) * | 2009-02-18 | 2014-01-21 | OCé PRINTING SYSTEMS GMBH | Method for automatically controlling the sequence of processing orders for processing material containers |
US8218553B2 (en) | 2009-02-25 | 2012-07-10 | Juniper Networks, Inc. | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering |
KR101034389B1 (ko) | 2009-04-22 | 2011-05-16 | (주) 시스메이트 | 패킷 내 시그니처 위치에 따른 시그니처 검색 방법 |
US7990893B1 (en) | 2009-05-19 | 2011-08-02 | Juniper Networks, Inc. | Fast prefix-based network route filtering |
US8259726B2 (en) | 2009-05-28 | 2012-09-04 | Force10 Networks, Inc. | Method and apparatus for forwarding table reduction |
US20110016154A1 (en) | 2009-07-17 | 2011-01-20 | Rajan Goyal | Profile-based and dictionary based graph caching |
JP2012133405A (ja) | 2009-07-24 | 2012-07-12 | Hitachi Ltd | ストレージ装置及びそのデータ転送制御方法 |
US8462786B2 (en) | 2009-08-17 | 2013-06-11 | Board Of Trustees Of Michigan State University | Efficient TCAM-based packet classification using multiple lookups and classifier semantics |
US8276142B2 (en) | 2009-10-09 | 2012-09-25 | Intel Corporation | Hardware support for thread scheduling on multi-core processors |
US8554698B2 (en) | 2009-10-17 | 2013-10-08 | Polytechnic Institute Of New York University | Configuring state machines used to order and select matching operations for determining whether an input string matches any of at least one regular expression using lookahead finite automata based regular expression detection |
US8631043B2 (en) | 2009-12-09 | 2014-01-14 | Alcatel Lucent | Method and apparatus for generating a shape graph from a binary trie |
EP2517420B1 (en) | 2009-12-22 | 2014-03-19 | Cuneyt F. Bazlamacci | Systolic array architecture for fast ip lookup |
US8291258B2 (en) | 2010-01-08 | 2012-10-16 | Juniper Networks, Inc. | High availability for network security devices |
JP5768063B2 (ja) | 2010-01-13 | 2015-08-26 | アビニシオ テクノロジー エルエルシー | 適合を特徴付けるルールを用いたメタデータソースの照合 |
US8458354B2 (en) | 2010-01-27 | 2013-06-04 | Interdisciplinary Center Herzliya | Multi-pattern matching in compressed communication traffic |
US8522199B2 (en) | 2010-02-26 | 2013-08-27 | Mcafee, Inc. | System, method, and computer program product for applying a regular expression to content based on required strings of the regular expression |
US8477611B2 (en) | 2010-03-03 | 2013-07-02 | Ewha University Industry Collaboration Foundation | Method and apparatus for packet classification using bloom filter |
CN101794271B (zh) * | 2010-03-31 | 2012-05-23 | 华为技术有限公司 | 多核内存一致性的实现方法和装置 |
WO2011130604A1 (en) * | 2010-04-16 | 2011-10-20 | Massachusetts Institute Of Technology | Execution migration |
CN101853301A (zh) | 2010-05-25 | 2010-10-06 | 华为技术有限公司 | 正则表达式匹配的方法和系统 |
US20130070753A1 (en) | 2010-05-26 | 2013-03-21 | University Of Florida Research Foundation, Inc. | Consistent updates for packet classification devices |
JP5319626B2 (ja) * | 2010-08-18 | 2013-10-16 | 日本電信電話株式会社 | ノード、パケット転送方法および通信ネットワーク |
US8543528B2 (en) | 2010-09-23 | 2013-09-24 | International Business Machines Corporation | Exploitation of transition rule sharing based on short state tags to improve the storage efficiency |
CN102075511B (zh) | 2010-11-01 | 2014-05-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据匹配设备和方法以及网络入侵检测设备和方法 |
US8799188B2 (en) | 2011-02-08 | 2014-08-05 | International Business Machines Corporation | Algorithm engine for use in a pattern matching accelerator |
US8856203B1 (en) | 2011-02-08 | 2014-10-07 | Pmc-Sierra Us, Inc. | System and method for algorithmic TCAM packet classification |
US9471532B2 (en) * | 2011-02-11 | 2016-10-18 | Microsoft Technology Licensing, Llc | Remote core operations in a multi-core computer |
EP2490134A1 (en) | 2011-02-18 | 2012-08-22 | Amadeus S.A.S. | Method, system and computer program to provide fares detection from rules attributes |
US9398033B2 (en) | 2011-02-25 | 2016-07-19 | Cavium, Inc. | Regular expression processing automaton |
US20120221494A1 (en) | 2011-02-25 | 2012-08-30 | International Business Machines Corporation | Regular expression pattern matching using keyword graphs |
WO2012154616A2 (en) | 2011-05-06 | 2012-11-15 | Xcelemor, Inc. | Computing system with hardware reconfiguration mechanism and method of operation thereof |
US8990259B2 (en) | 2011-06-24 | 2015-03-24 | Cavium, Inc. | Anchored patterns |
US9858051B2 (en) | 2011-06-24 | 2018-01-02 | Cavium, Inc. | Regex compiler |
US8800021B1 (en) | 2011-06-29 | 2014-08-05 | Juniper Networks, Inc. | Hardware implementation of complex firewalls using chaining technique |
US8516241B2 (en) * | 2011-07-12 | 2013-08-20 | Cisco Technology, Inc. | Zone-based firewall policy model for a virtualized data center |
US9596222B2 (en) | 2011-08-02 | 2017-03-14 | Cavium, Inc. | Method and apparatus encoding a rule for a lookup request in a processor |
US10229139B2 (en) | 2011-08-02 | 2019-03-12 | Cavium, Llc | Incremental update heuristics |
US9183244B2 (en) | 2011-08-02 | 2015-11-10 | Cavium, Inc. | Rule modification in decision trees |
US8923306B2 (en) | 2011-08-02 | 2014-12-30 | Cavium, Inc. | Phased bucket pre-fetch in a network processor |
US9208438B2 (en) | 2011-08-02 | 2015-12-08 | Cavium, Inc. | Duplication in decision trees |
US9203805B2 (en) | 2011-11-23 | 2015-12-01 | Cavium, Inc. | Reverse NFA generation and processing |
US9307009B2 (en) | 2012-02-15 | 2016-04-05 | Mobilespan Inc. | Presenting execution of a remote application in a mobile device native format |
US9575806B2 (en) * | 2012-06-29 | 2017-02-21 | Intel Corporation | Monitoring accesses of a thread to multiple memory controllers and selecting a thread processor for the thread based on the monitoring |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9055004B2 (en) | 2012-09-18 | 2015-06-09 | Cisco Technology, Inc. | Scalable low latency multi-protocol networking device |
US9177253B2 (en) | 2013-01-31 | 2015-11-03 | Intel Corporation | System and method for DFA-NFA splitting |
US20140229386A1 (en) | 2013-02-13 | 2014-08-14 | Mistral Mobile | Secure mobile payments |
US10083200B2 (en) | 2013-03-14 | 2018-09-25 | Cavium, Inc. | Batch incremental update |
US9430511B2 (en) | 2013-03-15 | 2016-08-30 | Cavium, Inc. | Merging independent writes, separating dependent and independent writes, and error roll back |
US9276846B2 (en) | 2013-03-15 | 2016-03-01 | Cavium, Inc. | Packet extraction optimization in a network processor |
US9537771B2 (en) | 2013-04-04 | 2017-01-03 | Marvell Israel (M.I.S.L) Ltd. | Exact match hash lookup databases in network switch devices |
US9426165B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for compilation of finite automata |
US9563399B2 (en) | 2013-08-30 | 2017-02-07 | Cavium, Inc. | Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features |
US9419943B2 (en) | 2013-12-30 | 2016-08-16 | Cavium, Inc. | Method and apparatus for processing of finite automata |
US9544402B2 (en) | 2013-12-31 | 2017-01-10 | Cavium, Inc. | Multi-rule approach to encoding a group of rules |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US9904630B2 (en) | 2014-01-31 | 2018-02-27 | Cavium, Inc. | Finite automata processing based on a top of stack (TOS) memory |
US9602532B2 (en) | 2014-01-31 | 2017-03-21 | Cavium, Inc. | Method and apparatus for optimizing finite automata processing |
-
2012
- 2012-08-02 US US13/565,389 patent/US9596222B2/en active Active
- 2012-08-02 WO PCT/US2012/049405 patent/WO2013020001A1/en active Application Filing
- 2012-08-02 US US13/565,736 patent/US8966152B2/en active Active
- 2012-08-02 KR KR1020147005633A patent/KR101476113B1/ko active IP Right Grant
- 2012-08-02 US US13/565,735 patent/US9065860B2/en active Active
- 2012-08-02 US US13/565,422 patent/US8472452B2/en active Active
- 2012-08-02 US US13/565,727 patent/US8711861B2/en active Active
- 2012-08-02 US US13/565,749 patent/US8954700B2/en active Active
- 2012-08-02 WO PCT/US2012/049400 patent/WO2013019996A1/en active Application Filing
- 2012-08-02 JP JP2014524092A patent/JP5657840B2/ja active Active
- 2012-08-02 US US13/565,743 patent/US9319316B2/en active Active
- 2012-08-02 WO PCT/US2012/049408 patent/WO2013020003A1/en active Application Filing
- 2012-08-02 US US13/565,459 patent/US8719331B2/en active Active
- 2012-08-02 US US13/565,271 patent/US10277510B2/en active Active
- 2012-08-02 US US13/565,784 patent/US8937952B2/en active Active
- 2012-08-02 WO PCT/US2012/049406 patent/WO2013020002A1/en active Application Filing
- 2012-08-02 US US13/565,775 patent/US9137340B2/en active Active
- 2012-08-02 US US13/565,741 patent/US9391892B2/en active Active
- 2012-08-02 US US13/565,767 patent/US8606959B2/en active Active
- 2012-08-02 WO PCT/US2012/049383 patent/WO2013019981A1/en active Application Filing
- 2012-08-02 CN CN201280048291.0A patent/CN103858392B/zh active Active
- 2012-08-02 US US13/565,406 patent/US9344366B2/en not_active Expired - Fee Related
- 2012-08-02 CN CN201280048417.4A patent/CN103858386B/zh not_active Expired - Fee Related
- 2012-08-02 US US13/565,746 patent/US9525630B2/en active Active
- 2012-08-02 KR KR1020147005800A patent/KR101476114B1/ko active IP Right Grant
- 2012-08-30 US US13/599,276 patent/US9729527B2/en active Active
- 2012-10-30 US US13/664,015 patent/US8934488B2/en active Active
- 2012-11-27 US US13/686,269 patent/US8937954B2/en active Active
-
2013
- 2013-05-23 US US13/901,220 patent/US8995449B2/en active Active
- 2013-11-18 US US14/082,365 patent/US9497117B2/en active Active
- 2013-12-23 US US14/138,931 patent/US9031075B2/en active Active
-
2014
- 2014-03-31 US US14/230,698 patent/US9614762B2/en active Active
- 2014-12-15 US US14/570,626 patent/US9191321B2/en not_active Expired - Fee Related
-
2015
- 2015-01-08 US US14/592,384 patent/US9531690B2/en active Active
- 2015-01-26 US US14/604,975 patent/US20150143060A1/en not_active Abandoned
- 2015-03-17 US US14/660,132 patent/US9225643B2/en active Active
-
2016
- 2016-05-03 US US15/145,052 patent/US9866540B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5657840B2 (ja) | ルックアップ・フロントエンド・パケット出力プロセッサ | |
US9276846B2 (en) | Packet extraction optimization in a network processor | |
US9531723B2 (en) | Phased bucket pre-fetch in a network processor | |
US9531647B1 (en) | Multi-host processing | |
US9154442B2 (en) | Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors | |
US8321385B2 (en) | Hash processing in a network communications processor architecture | |
US8228908B2 (en) | Apparatus for hardware-software classification of data packet flows | |
US10229144B2 (en) | NSP manager | |
JP2002538726A (ja) | 高性能ネットワークインターフェースを有するダイナミックパケットバッチングのための方法および装置。 | |
US7324438B1 (en) | Technique for nondisruptively recovering from a processor failure in a multi-processor flow device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5657840 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |