IP Library Granted Patent US 9,444,914
Granted Patent B2
US 9,444,914 · App. 14/027,257 · Granted Sep 13, 2016

Configurable parser and a method for parsing information units

Inventor: Erez Izenberg (Tel-Aviv, IL)
H04L69/22G06F17/30G06F17/30545G06F17/30563G06F17/30943G06F17/30985H04L45/38H04L45/74H04L49/602H04L49/90H04L69/02G06F9/3001G06F13/385H04L1/0066
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,444,914
App. No.
14/027,257
Granted
Sep 13, 2016
Kind
B2
Abstract

A system that includes a first interleaved sequence of configurable parsing engines and concatenating modules. Each parsing engine is followed by a concatenating module. The first interleaved sequence is arranged to process an information unit. Different portions of the information unit are processed by different configurable parsing engines. At least one configurable parsing engine is arranged to (a) process of a portion of the information unit in response to a previous processing result provided from a previous configurable parting engine; and to (b) generate a current processing result to be used by a next configurable parsing engine.

Claims (32)

1. A system, comprising:

a processor; and

packet controller logic circuits coupled to the processor and implementing:

a distribution module;

multiple interleaved sequences of configurable parsing engines and concatenating modules forming configurable parsing engine and concatenating module pairs; and

an aggregation module;

wherein the distribution module is arranged to distribute an information unit between the multiple interleaved sequences of configurable parsing engines and concatenating modules, and apply a load balancing scheme in order to distribute the information unit,

wherein different portions of the information unit are processed by different configurable parsing engines,

wherein at least one configurable parsing engine is arranged to process a portion of the information unit in response to at least a previous processing result provided from a previous configurable parsing engine, and to generate a current processing result to be used by a next configurable parsing engine,

wherein the multiple interleaved sequences include a first interleaved sequence having at least two configurable parsing engine and concatenating module pairs, and

wherein at least a portion of the information unit is processed sequentially by the at least two configurable parsing engine and concatenating module pairs; and

wherein the aggregation module collects outputs from the multi-interleaved sequences.

2. The system according to claim 1 , wherein each configurable parsing engine is arranged to be configured by receiving information unit portion limit metadata indicative of a location of an information unit portion to be processed by the configurable parsing engine.

3. The system according to claim 1 , wherein each configurable parsing engine is arranged to be configured by receiving processing metadata indicative of a manner in which the information unit portion should be processed by the configurable parsing engine.

4. The system according to claim 1 , wherein the current processing result comprises a command directed to the next configurable parsing engine.

5. The system according to claim 1 , wherein different configurable parsing engines are configured to process information unit portions that relate to different protocol suit levels.

6. The system according to claim 1 , wherein one or more configurable parsing engines is arranged to generate a current processing result to be used by another module of the system.

7. The system according to claim 1 , wherein the current processing result is indicative of an offset to a header length indicator included in a portion of the information unit to be processed by the next configurable parsing engine.

8. A method comprising:

providing an information unit to packet controller logic circuits implementing a distribution module, an aggregation module, and multiple interleaved sequences of configurable parsing engines and concatenating modules forming configurable parsing engine and concatenating module pairs:

distributing the information unit between multiple interleaved sequences of configurable parsing engines and concatenating modules by applying a load balancing scheme in order to distribute the information unit;

processing different portions of the information unit by different configurable parsing engines; and

collecting outputs from the multiple interleaved sequences,

wherein the processing comprises processing, by at least one configurable parsing engine, a portion of the information unit in response to a previous processing result provided from a previous configurable parsing engine and generating a current processing result to be used by a next configurable parsing engine,

wherein the multiple interleaved sequences include a first interleaved sequence having at least two sequential configurable parsing engine and concatenating module pairs, and

wherein at least a portion of the information unit is processed sequentially by the at least two configurable parsing engine and concatenating module pairs.

9. The method according to claim 8 , comprising configuring each configurable parsing engine by providing to the configurable parsing engine information unit portion limit metadata indicative of a location of an information unit portion to be processed by the configurable parsing engine.

10. The method according to claim 8 , comprising configuring each configurable parsing engine by providing to the configurable parsing engine processing metadata indicative of a manner in which the information unit portion should be processed by the configurable parsing engine.

11. The method according to claim 8 , wherein the current processing result comprises a command directed to the next configurable parsing engine.

12. The method according to claim 8 , comprising configuring different configurable parsing engines to process information unit portions that relate to different protocol suit levels.

13. The method according to claim 8 , comprising generating by one or more configurable parsing engines a current processing result to be used by another module of a communication controller.

14. The method according to claim 8 , wherein the current processing result is indicative of an offset to a header length indicator included in a portion of the information unit to be processed by the next configurable parsing engine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
From: ANNAPURNA LABS LTD.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 042934/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2014
From: IZENBERG, EREZ
To: ANNAPURNA LABS LTD.
Reel/Frame 034652/0098 →
Continuity (1)
Related Publication 20150081726A1 · Mar 19, 2015