System and method for providing transformation of multi-protocol packets in a data stream
First Claim
1. A packet transformation module for editing multi-protocol streaming data packets, comprising:
- an instruction memory coupled to receive search words identifying a packet type for the packet, wherein the instruction memory outputs appropriate instructions based on the packet type as indexed by the search words;
a packet memory coupled to receive one or more portions of the packet subject to editing, wherein each of the packet portions is stored in a respective memory segment of the packet memory;
a valid bit array having a plurality of memory validity fields associated with respective memory segments, wherein the state of each of the memory validity fields establishes whether the packet portion in the respective memory segment is incorporated into a resulting packet portion; and
a processing module coupled to receive the instructions from the instruction memory, and to edit the packet portions in accordance with the instructions.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for facilitating packet transformation of multi-protocol, multi-flow, streaming data. Packet portions subject to change are temporarily stored, and acted upon through processing of protocol-dependent instructions, resulting in a protocol-dependent modification of the temporarily stored packet information. Validity tags are associated with different segments of the temporarily-stored packet, where the state of each tag determines whether its corresponding packet segment will form part of the resulting modified packet. Only those packet segments identified as being part of the resulting modified packet are reassembled prior to dispatch of the packet.
-
Citations
40 Claims
-
1. A packet transformation module for editing multi-protocol streaming data packets, comprising:
-
an instruction memory coupled to receive search words identifying a packet type for the packet, wherein the instruction memory outputs appropriate instructions based on the packet type as indexed by the search words;
a packet memory coupled to receive one or more portions of the packet subject to editing, wherein each of the packet portions is stored in a respective memory segment of the packet memory;
a valid bit array having a plurality of memory validity fields associated with respective memory segments, wherein the state of each of the memory validity fields establishes whether the packet portion in the respective memory segment is incorporated into a resulting packet portion; and
a processing module coupled to receive the instructions from the instruction memory, and to edit the packet portions in accordance with the instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for editing packets of a packet stream received at a network node, comprising:
-
storing one or more segments of a packet in partitionable memory segments of a modification memory;
eliciting one or more editing instructions from an instruction memory, wherein the particular editing instructions elicited is based at least in part on characteristics of the packet;
modifying at least ode packet segment stored in the modification memory as directed by the editing instructions;
associating validity tags with each of the memory segments to indicate whether or not their corresponding packet segments will be incorporated into a resulting modified packet; and
creating the resulting modified packet by assembling the packet segments associated with the validity tags indicating incorporation into the resulting modified packet. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. An ingress processing system for editing packets of a data stream, comprising:
-
(A) a packet parser to parse each packet and generate resulting search words based on a packet protocol; and
(B) an editor for editing the packets, comprising;
(i) an instruction memory coupled to the packet parser to receive the search words, wherein the instruction memory outputs targeted instructions based on the packet protocol as indexed by the search words;
(ii) a packet memory coupled to receive one or more portions of the packet subject to editing, wherein each of the packet portions is stored in a respective memory segment of the packet memory;
(iii) a valid bit array having a plurality of memory validity fields associated with respective memory segments, wherein the state of each of the memory validity fields establishes whether the packet portion in the respective memory segment is incorporated into a resulting edited packet; and
(iv) a processing module coupled to receive the instructions from the instruction memory, and to edit the packet portions in accordance with the instructions.
-
-
36. A network for transferring information, comprising:
-
(A) a source node to dispatch information onto the network;
(B) a destination node to receive the information dispatched by the source node;
(C) at least one intermediary node coupled along a transmission path between the source node and the destination node, wherein the intermediary node comprises;
(i) a packet parser to parse each packet and generate resulting search words based on a packet protocol; and
(ii) an editor for editing the packets, comprising;
(a) an instruction memory coupled to the packet parser to receive the search words, wherein the instruction memory outputs targeted instructions based on the packet protocol as indexed by the search words;
(b) a packet memory coupled to receive one or more portions of the packet subject to editing, wherein each of the packet portions is stored in a respective memory segment of the packet memory;
(c) a valid bit array having a plurality of memory validity fields associated with respective memory segments, wherein the state of each of the memory validity fields establishes whether the packet portion in the respective memory segment is incorporated into a resulting edited packet; and
(d) a processing module coupled to receive the instructions from the instruction memory, and to edit the packet portions in accordance with the instructions. - View Dependent Claims (37, 38)
-
-
39. A computer-readable medium having computer-executable instructions for editing multi-protocol streaming data packets, the computer-executable instructions performing steps comprising:
-
storing one or more segments of a packet in partitionable memory segments of a modification memory;
eliciting one or more editing instructions from an instruction memory, wherein the particular editing instructions elicited is based at least in part on characteristics of the packet;
modifying at least one packet segment stored in the modification memory as directed by the editing instructions;
associating validity tags with each of the memory segments to indicate whether or not their corresponding packet segments will be incorporated into a resulting modified packet; and
creating the resulting modified packet by assembling the packet segments associated with the validity tags indicating incorporation into the resulting modified packet.
-
-
40. A packet transformation module for editing multi-protocol streaming data packets, comprising:
-
means for storing one or more segments of a packet in partitionable memory segments of a modification memory;
means for eliciting one or more editing instructions from an instruction memory, wherein the particular editing instructions elicited is based at least in part on characteristics of the packet;
means for modifying at least one packet segment stored in the modification memory as directed by the editing instructions;
means for associating validity tags with each of the memory segments to indicate whether or not their corresponding packet segments will be incorporated into a resulting modified packet; and
means for creating the resulting modified packet by assembling the packet segments associated with the validity tags indicating incorporation into the resulting modified packet.
-
Specification