Handling of data packets
First Claim
1. A method for handling data packets, said data packets belonging to a set of data packets, said method comprising:
- capturing data packets,accepting a captured data packet for processing based on said captured data packet and data packets captured prior to said captured data packet,when processing at least one captured data packet accepted for processing, determining a modification command affecting at least said at least one captured data packet,maintaining a list of modification commands, said list enabling modification of captured data packets,declining a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands,modifying said captured data packet based on said list of modification commands, andreleasing the modified captured data packet.
11 Assignments
0 Petitions
Accused Products
Abstract
A method for handling data packets in a network element, such as a gateway, said data packets belonging to a set of data packets. Data packets are captured, and captured data packets are processed. Captured data packets are accepted for processing or declined from processing based on said captured data packet and data packets captured prior to said data packet. When at least one captured data packet is processed, a modification command affecting at least said at least one captured data packet is determined, and a list of modification commands is maintained, said list enabling modification of captured data packets. Captured data packets are modified based on said list of modification commands, and data packets are released. It is also possible to process the captured data packets without determining modification commands, and release the data packets without modifying them.
16 Citations
38 Claims
-
1. A method for handling data packets, said data packets belonging to a set of data packets, said method comprising:
-
capturing data packets, accepting a captured data packet for processing based on said captured data packet and data packets captured prior to said captured data packet, when processing at least one captured data packet accepted for processing, determining a modification command affecting at least said at least one captured data packet, maintaining a list of modification commands, said list enabling modification of captured data packets, declining a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, modifying said captured data packet based on said list of modification commands, and releasing the modified captured data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for handling data packets, said data packets belonging to a set of data packets having at least partly hierarchical structure, said method comprising:
-
capturing data packets, accepting a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet, said accepting comprising accepting data packets for processing in the order specified by said at least partly hierarchical structure declining a captured data packet from processing if a data packet immediately preceding said captured data packet in said at least partly hierarchical structure is not yet captured, delaying data packets declined from processing, accepting a delayed data packet for processing and processing said delayed data packet, if data packet(s) immediately preceding said delayed data packet in said at least partly hierarchical structure is(are) already processed, and releasing the delayed data packet. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for handling data packets, said data packets belonging to a set of data packets and forming a plurality of groups of data packets, said method comprising:
-
capturing data packets, declining a captured data packet belonging to a first group of data packets from processing, if all other data packets belonging to said first group of data packets are not yet captured, and delaying said captured data packet, and processing a captured data packet belonging to a first group of data packets together with delayed data packets belonging to said first group of data packets if said captured data packet belonging to said first group and said delayed data packets belonging to said first group form a full first group of data packets. - View Dependent Claims (22)
-
-
23. A method for handling data packets, said data packets belonging to a set of data packets, said method comprising:
-
capturing data packets, accepting a captured data packet for processing based on said captured data packet and data packets captured prior to said captured data packet, when processing at least one captured data packet accepted for processing, determining a modification command affecting at least said at least one captured data packet, maintaining a list of modification commands, said list enabling modification of captured data packets, wherein a modification command comprises a first identifier indicating the beginning of a first piece of information in the original captured data packets, the first piece of information being subject to be replaced by a second piece of information, the length of the first piece of information, the second piece of information, a second identifier indicating the beginning of the second piece of information in the modified captured data packets, an offset between a third identifier indicating the end of the first piece of information in the original captured data packets and a fourth identifier indicating the end of the second piece of information in the modified captured data packets, and the length of the second piece of information.
-
-
24. A method for handling data packets, said data packets belonging to a set of data packets, said method comprising:
-
capturing data packets, said data packets containing information fragments belonging to a sequence of information fragments, declining a captured data packet from processing if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is not yet captured, and accepting a captured data packet for processing if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is already processed, whereby each information fragment of said sequence is processed only once.
-
-
25. A computer readable medium having stored thereon computer readable code comprising the program code means recited below which, when executed by a computer, cause said computer to execute the functions recited below:
-
program code means for capturing data packets, program code means for accepting a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet, program code means for handling said data packets belonging to a set of data packets first in a first node of a cluster of network elements and for maintaining said list of modification commands in said first node, said list enabling modification of captured data packets, program code means for transmitting said list of modification commands from said first node to a second node of a cluster of network elements, program code means for declining a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, program code means for modifying said captured data packet based on said list of modification commands, and program code means for releasing the modified captured data packet. - View Dependent Claims (26)
-
-
27. A computer readable medium having stored thereon computer readable code comprising the program code means recited below which, when executed by a computer, cause said computer to execute the functions recited below:
-
program code means for capturing data packets; program code means for accepting a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet; program code means for processing received data packets first in a first node of a cluster of network nodes, if said data packets belong to said set of data packets; program code means for determining a modification command affecting at least received data, as a response to processing said data; said program code means for outputting said modification command; program code means for maintaining said list of modification commands in said first node, said list enabling modification of captured data packets; program code means for transmitting said list of modification commands from said first node to a second node of said cluster of network elements; program code means for processing said set of data packets in said second node after said transmission of said list of modification commands from said first node to said second node; program code means for declining a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands; program code means for modifying said captured data packet based on said list of modification commands; and program code means for releasing the modified captured data packet.
-
-
28. A network element for handling data packets in a cluster of network elements, said data packets belonging to a set of data packets, said network element programmed with computer code means recited below which control said network element to perform the functions recited below;
-
means for capturing data packets, means for accepting a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet, means for maintaining a list of modification commands, said list enabling modification of captured data packets, and means for transmitting said list of modification commands to a second network element of said cluster of network elements, means for declining a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, means for modifying said captured data packet based on said list of modification commands, and means for releasing the modified captured data packet. - View Dependent Claims (29)
-
-
30. A network element cluster comorised of a plurality of nodes for handling data packets, said data packets belonging to a set of data packets, at least one node of said network element cluster including program code which programs said node to provide the following structural elements:
-
means for capturing data packets, means for accepting a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packets, means for maintaining a list of modification commands, said list enabling modification of captured data packets, means for transmitting said list of modification commands from said node to another node of said cluster of network elements, means for declining a captured data packet from processing, if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, means for modifying said captured data packet based on said list of modification commands, and means for releasing the modified captured data packet.
-
-
31. A computer readable medium storing program code which, when executed by a computer, controls said computer to handle data packets, said data packets belonging to a set of data packets, said program code comprising:
-
program code configured to control said computer to capture data packets, program code configured to control said computer to accept a captured data packet for processing based on said captured data packet and data packets captured prior to said captured data packet, program code configured to control said computer to, when processing at least one captured data packet accepted for processing, determine a modification command affecting at least said at least one captured data packet, program code configured to control said computer to maintain a list of modification commands, said list enabling modification of captured data packets, program code configured to control said computer to decline a captured data packet from processing, if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, program code configured to control said computer to modify said captured data packet based on said list of modification commands, and program code configured to control said computer to release the modified captured data packet.
-
-
32. A computer-readable medium storing program code which, when executed by a computer, controls said computer to handle data packets, said data packets belonging to a set of data packets having at least partly hierarchical structure, said program code comprising:
-
program code configured to control said computer to capture data packets, program code configured to control said computer to accept a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet such that data packets are accepted for processing in the order specified by said at least partly hierarchical structure program code configured to control said computer to decline a captured data packet from processing, if a data packet immediately preceding said captured data packet in said at least partly hierarchical structure is not yet captured, program code configured to control said computer to delay data packets declined from processing, program code configured to control said computer to accept a delayed data packet for processing and processing said delayed data packet, if data packet(s) immediately preceding said delayed data packet in said at least partly hierarchical structure is(are) already processed, and program code configured to control said computer to release the delayed data packet.
-
-
33. A computer-readable medium storing program code, which when executed by a computer, controls said computer to handle data packets, said data packets belonging to a set of data packets and forming a plurality of groups of data packets, said program code comprising:
-
program code configured to control said computer to capture data packets, program code configured to control said computer to decline a captured data packet belonging to a first group of data packets from processing if all other data packets belonging to said first group of data packets are not yet captured, and delaying said captured data packet, and program code configured to control said computer to process a captured data packet belonging to a first group of data packets together with delayed data packets belonging to said first group of data packets if said captured data packet belonging to said first group and said delayed data packets belonging to said first group form a full first group of data packets.
-
-
34. A computer-readable medium storing program code which, when executed by a computer, causes said computer to handle data packets, said data packets belonging to a set of data packets and forming a plurality of groups of data packets, said program code comprising:
-
program code configured to control said computer to capture data packets, said data packets containing information fragments belonging to a sequence of information fragments, program code configured to control said computer to decline a captured data packet from processing, if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is not yet captured, and program code configured to control said computer to accept a captured data packet for processing if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is already processed, whereby each information fragment of said sequence is processed only once.
-
-
35. A network element for handling data packets, said network element comprising a machine whose functions are at least partially controlled by program code, said program code comprising:
-
program code configuring said network element to capture data packets, said data packets belonging to a set of data packets, program code configuring said network element to accept a captured data packet for processing based on said captured data packet and data packets captured prior to said captured data packet, program code configuring said network element to, when processing at least one captured data packet accepted for processing, determine a modification command affecting at least said at least one captured data packet, program code configuring said network element to maintain a list of modification commands, said list enabling modification of captured data packets, program code configuring said network element to decline a captured data packet from processing if said captured data packet is already processed and modification commands induced by said captured data packet are already determined and maintained in said list of modification commands, program code configuring said network element to modify said captured data packet based on said list of modification commands, and program code configuring said network element to release the modified captured data packet.
-
-
36. A network element for handling data packets, said network element comprising a machine whose functions are at least partially controlled by program code, said program code comprising:
-
program code configuring said network element to capture data packets, said data packets belonging to a set of data packets having at least partly hierarchical structure, program code configuring said network element to accept a captured data packet for processing or declining a captured data packet from processing based on said captured data packet and data packets captured prior to said captured data packet such that data packets are accepted for processing in the order specified by said at least partly hierarchical structure program code configuring said network element to decline a captured data packet from processing if a data packet immediately preceding said captured data packet in said at least partly hierarchical structure is not yet captured, program code configuring said network element to delay data packets declined from processing, program code configuring said network element to accept a delayed data packet for processing and processing said delayed data packet if data packet(s) immediately preceding said delayed data packet in said at least partly hierarchical structure is(are) already processed, and program code configuring said network element to release the delayed data packet.
-
-
37. A network element for handling data packets, said network element comprising a machine whose functions are at least partially controlled by program code, said program code comprising:
-
program code configuring said network element to capture data packets, said data packets belonging to a set of data packets and forming a plurality of groups of data packets, program code configuring said network element to decline a captured data packet belonging to a first group of data packets from processing if all other data packets belonging to said first group of data packets are not yet captured, and delaying said captured data packet, and program code configuring said network element to process a captured data packet belonging to a first group of data packets together with delayed data packets belonging to said first group of data packets if said captured data packet belonging to said first group and said delayed data packets belonging to said first group form a full first group of data packets.
-
-
38. A network element for handling data packets, said network element comprising a machine whose functions are at least partially controlled by program code, said program code comprising:
-
program code configuring said network element to capture data packets, said data packets belonging to a set of data packets and forming a plurality of groups of data packets and containing information fragments belonging to a sequence of information fragments, program code configuring said network element to decline a captured data packet from processing if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is not yet captured, and program code configuring said network element to accept a captured data packet for processing if a data packet containing the information fragment immediately preceding the information fragments of said captured data packet in said sequence is already processed, whereby each information fragment of said sequence is processed only once.
-
Specification