TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
First Claim
1. A method for obtaining data while facilitating keeping a minimum amount of state, said method comprising:
- receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including at least one logic device;
removing an embedded stream-oriented protocol frame including a header and a data packet from the received IP frame with the logic device;
determining a validity of a checksum of the removed steam-oriented protocol header;
dropping the IP frame when the checksum is invalid;
actively dropping IP frames such that the first device always has an accumulated in order content stream before the third device accumulates the in order stream;
supplying a client application with data from the removed protocol frame when the checksum is valid; and
sending an IP frame including the removed stream-oriented protocol frame to the third device from the first device when the checksum is valid.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for obtaining data while facilitating keeping a minimum amount of state is provided. The method includes receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including at least one of an Application Specific Integrated Circuit (ASIC) and a Field Programmable Gate Array FPGA. The method also includes removing an embedded stream-oriented protocol frame including a header and a data packet from the received IP frame with at least one of the ASIC and the FPGA, and determining a validity of a checksum of the removed steam-oriented protocol header. The method also includes dropping the IP frame when the checksum is invalid, supplying a client application with data from the removed protocol frame when the checksum is valid, and sending an IP frame including the removed stream-oriented protocol frame to the third device from the first device when the checksum is valid.
226 Citations
34 Claims
-
1. A method for obtaining data while facilitating keeping a minimum amount of state, said method comprising:
-
receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including at least one logic device;
removing an embedded stream-oriented protocol frame including a header and a data packet from the received IP frame with the logic device;
determining a validity of a checksum of the removed steam-oriented protocol header;
dropping the IP frame when the checksum is invalid;
actively dropping IP frames such that the first device always has an accumulated in order content stream before the third device accumulates the in order stream;
supplying a client application with data from the removed protocol frame when the checksum is valid; and
sending an IP frame including the removed stream-oriented protocol frame to the third device from the first device when the checksum is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for facilitating keeping a minimum amount of state, said apparatus comprising:
-
at least one input port;
at least one output port; and
at least one logic device operationally coupled to said input port and said output port, said logic device configured to;
receive an Internet Protocol (IP) frame sent from a first device addressed to a second device;
remove an embedded stream-oriented protocol frame including a header and data packet from the received IP frame;
classify the removed protocol frame as at least one of a sequence number greater than expected classification, a sequence number equal to expected classification, and a sequence number less than expected classification;
send an IP frame including the removed protocol frame to the second device when the classification is one of the sequence number less than expected classification and the sequence number equal to expected classification;
drop the received IP frame including the removed protocol frame when the classification is the sequence number greater than expected classification; and
actively drop IP frames such that said apparatus always has an accumulated in order content stream before the second device accumulates the in order stream. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An apparatus comprising:
-
at least one input port;
at least one output port; and
at least one reprogrammable device;
at least one logic device operationally coupled to said input port, said output port, and said reprogrammable device, said logic device configured to;
receive an Internet Protocol (IP) frame sent from a first device addressed to a second device;
remove an embedded stream-oriented protocol frame including a header and a data packet from the received IP frame;
determine if the removed protocol frame includes programming data;
reprogram said reprogrammable device when the removed protocol frame contains programming data; and
send an IP frame including the removed protocol frame to the second device.
-
-
26. An apparatus comprising:
-
at least one input port;
at least one output port; and
at least one logic device operationally coupled to said input port and said output port, said logic device configured to;
receive an Internet Protocol (IP) frame sent from a first device addressed to a second device;
remove an embedded stream-oriented protocol frame including a header and a data packet from the received IP frame;
determine if the removed protocol frame includes data representing at least part of a quality of service (QoS) algorithm;
supply a client application with data from the removed protocol frame when the removed protocol includes data representing at least part of a QoS algorithm; and
send an IP frame including the removed protocol frame to the second device. - View Dependent Claims (27)
-
-
28. A network comprising a plurality of switching devices operationally coupled to each other, at least some of said switching devices comprising at least one logic device configured to:
-
monitor stream-oriented network traffic for Field Programmable Gate Array (FPGA) programming data;
reprogram at least one of itself and a FPGA coupled to said logic device upon receipt of the FPGA programming data; and
retransmit the FPGA programming data back onto the network such that other switching devices can reprogram at least one of themselves and an attached FPGA using the FPGA programming data. - View Dependent Claims (29, 30)
-
-
31. A method for distributing data, said method comprising
receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including an Integrated Circuit (IC); -
removing an embedded protocol frame from the received IP frame with the IC;
supplying a client application with data from the removed protocol frame;
analyzing the data supplied to the client application; and
sending an IP frame including the removed protocol frame to the third device from the first device only after analyzing the data.
-
-
32. A method for distributing data on a network using a single TCP/IP source, a single destination and one or more intermediate hardware based monitoring nodes, said method comprising:
-
receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including a logic device;
removing an embedded Transmission Control Protocol (TCP) frame from the received IP frame with the logic device;
supplying a client application with data from the removed protocol frame; and
sending an IP frame including the removed protocol frame to the third device from the first device after performing an analysis on the removed frame.
-
-
33. A method for identifying and selectively removing data on a data transmission system, said method comprising:
-
receiving at a first device an Internet Protocol (IP) frame sent from a second device to a third device wherein the first device is in a flow path between the second and third devices, the first device including a logic device;
actively dropping IP frames addressed to the third device sent by the second device such that the first device always has an accumulated in order content stream before the third device accumulates the in order content stream.
-
-
34. A dynamically reconfigureable data transmission system, having an apparatus comprising:
-
at least one input port;
at least one output port; and
at least one logic device operationally coupled to said input port and said output port, said logic device configured to;
receive an Internet Protocol (IP) frame sent from a first device addressed to a second device;
remove an embedded protocol frame from the received IP frame;
determine if the removed protocol frame includes Field Programmable Field Array (FPGA) programming data;
supply a client application with data from the removed protocol frame when the removed protocol includes FPGA programming data such that the application receives a content stream in order; and
send an IP frame including the removed protocol frame to the second device.
-
Specification