Patentable/Patents/US-8131877
US-8131877

Method for flexible modifications to a packet

PublishedMarch 6, 2012
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method allowing for flexible modification of a data packet in a data network is presented. A data packet is parsed based on one or more attributes and sent to a buffer memory and a user modifiable lookup table. Using extracted packet data, information required to modify the data packet as desired is located in the lookup table and forwarded to a packet modification engine. Within the packet modification engine, a novel rewrite constructor module generates unique packet rewrite information based on the information forwarded from the lookup table and one or more additional inputs. This unique packet rewrite information is forwarded to a packet rewrite engine, wherein the packet rewrite engine modifies the data packet accordingly.

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for modifying a data packet on a data network, the method comprising: receiving a data packet having one or more packet attributes; parsing the data packet based on the one or more packet attributes to obtain information regarding the data packet; retrieving user inputs from a memory, wherein the retrieved user inputs are associated with the one or more packet attributes; generating a rewrite data vector comprising the information parsed from the data packet, and the user inputs from the memory; receiving index information from a lookup table that corresponds to the one or more packet attributes; fetching a rewrite instruction template and a rewrite data template from storage using at least the index information; assembling packet rewrite instructions, with an instruction multiplexer, based on the rewrite data vector, the rewrite instruction template, and the rewrite data template, the packet rewrite instructions being a sequence of instructions to modify the data packet; and modifying the data packet according to the sequence of instructions as set forth by the packet rewrite instructions.

2

2. The method of claim 1 , wherein assembling the packet rewrite instructions comprises using information retrieved from the lookup table.

3

3. The method of claim 2 , wherein the index information contained in the lookup table includes index values for locating i) packet rewrite instruction templates and ii) packet rewrite data templates stored in a memory.

4

4. The method of claim 2 , wherein the index information contained in the lookup table includes pointer variables referencing user programmable memory locations.

5

5. The method of claim 1 , wherein the packet rewrite information includes pointer variables referencing user programmable memory locations.

6

6. The method of claim 1 , wherein assembling the packet rewrite information comprises: selecting the rewrite instruction template located in a first memory based on the information regarding the data packet; selecting the rewrite data template located in a second memory based on information contained in a user input; assembling rewrite data based on i) the information contained in the user input and ii) the rewrite data template; and assembling the packet rewrite information using i) the rewrite data template and ii) the rewrite instruction template.

7

7. The method of claim 1 , wherein assembling the packet rewrite information comprises: selecting a rewrite program template located in a memory based on the information regarding the data packet; parsing out data packet modification instruction information from the rewrite program template; assembling packet rewrite data based on the rewrite program template; and assembling packet rewrite information based on i) the packet rewrite data and ii) the data packet modification instruction information.

8

8. A system comprising: a memory that stores a rewrite data vector comprising information parsed from a data packet, and one or more user inputs delivering input information associated with the data packet; a rewrite constructor module in communication with the memory, the rewrite constructor module configured to assemble, using at least an instruction multiplexer, packet rewrite instructions based on the rewrite data vector, and based on a rewrite instruction template and a rewrite data template fetched from storage using at least index information, wherein the index information is retrieved from a lookup table that associates the index information to the data packet attributes, the packet rewrite instructions being a sequence of instructions to modify the data packet; and a rewrite engine in communication with i) the rewrite constructor module and ii) the memory that stores the rewrite data vector, the rewrite engine configured to modify a data packet according to the sequence of instructions as set forth in the packet rewrite instructions assembled by the rewrite constructor module.

9

9. The system of claim 8 , wherein the input information includes the data packet to be modified.

10

10. The system of claim 8 , wherein the input information includes constants to modify the data packets.

11

11. The system of claim 8 , wherein the input information includes information provided by a user modifiable lookup table.

12

12. The system of claim 11 , wherein the information contained in the user modifiable lookup table includes user programmable constants.

13

13. The system of claim 11 , wherein the information contained in the user modifiable lookup table includes index values for locating i) packet rewrite instruction templates and ii) packet rewrite data templates stored in a memory.

14

14. The system of claim 11 , wherein the information contained in the user modifiable lookup table includes pointer variables referencing user programmable memory locations.

15

15. The system of claim 8 , wherein the packet rewrite instructions includes packet rewrite instructions from the rewrite instruction template and packet rewrite data from the rewrite data vector.

16

16. The system of claim 8 , wherein the packet rewrite instructions includes pointer variables referencing user programmable memory locations.

17

17. The system of claim 8 , wherein the rewrite constructor module further comprises: a first memory storing data packet modification template instructions in communication with the one or more user inputs; an instruction parser, in communication with the first memory storing data packet modification template instructions, configured to extract data packet rewrite instructions from the data packet modification template instructions for use in a the rewrite engine; a second memory storing packet data templates in communication with the instruction parser; and a multiplexer, in communication with the second memory storing packet data templates and the user inputs, configured to assemble packet rewrite data based on the data packet modification template instructions, the packet data template, and the one or more user inputs.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 4, 2010

Publication Date

March 6, 2012

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method for flexible modifications to a packet” (US-8131877). https://patentable.app/patents/US-8131877

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.