Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
122 words
A method of accelerating a stream-oriented network transport protocol for data packets having a formatted header containing information about the packet, the method comprising analyzing packet traffic on the network to identify classes of predictable protocols which characterize a majority of such packets; implementing programmable hardware logic to process such classes of protocols, said programmable logic being clocked at a rate corresponding to a signaling rate on the network; analyzing the header of a packet to identify one of said classes to which said packet belongs; controlling said programmable logic in accordance with the identified class to process the packets; and processing in software routines instead of said programmable logic packets which do not belong to one of said plurality of classes.
Claim 2
Independent Claim
122 words
A method of accelerating a stream-oriented network transport protocol for data packets having a formatted header containing information about the packet, the method comprising analyzing packet traffic on the network to identify classes of predictable protocols which characterize a majority of such packets; implementing programmable hardware logic to process such classes of protocols, said programmable logic being clocked at a rate corresponding to a signaling rate on the network; analyzing the header of a packet to identify one of said classes to which said packet belongs; controlling said programmable logic in accordance with the identified class to process the packets; and processing in software routines instead of said programmable logic packets which do not belong to one of said plurality of classes.
Claim 3
Dependent Claim
80 words
The method of claim 1 wherein said identifying comprises storing in a memory a plurality of predetermined patterns which correspond to said plurality of classes; analyzing the header of a packet to identify a match with a stored pattern; simultaneously with said analyzing, processing the header to determine whether the packet is valid; controlling the programmable logic to process the packet in accordance with the class corresponding to the matched pattern; and processing in said software non-matching and invalid packets.
Claim 4
Dependent Claim
70 words
The method of claim 2 , wherein said network transport protocol comprises TCP/IP, and wherein said processing comprises simultaneously storing an incoming packet in a dual port memory and in a buffer memory; processing said header during said storing to determine error code values for a TCP segment and for an IP header of the packet, and wherein said identifying comprises comparing such headers and error values with said patterns.
Claim 5
Independent Claim
129 words
A method of accelerating a stream-oriented network transport protocol for data packets having a header, the method being performed by pre-programmed hardware and comprising receiving and storing an incoming packet in a buffer memory; simultaneously with said receiving and storing, comparing the header of an incoming packet with predetermined patterns stored in a content addressable memory; upon locating a matching pattern, determining a session to which the packet belongs and processing the header to determine whether the packet is valid; and upon finding a matching pattern and determining that the packet is valid, processing the data in the packet in said pre-programmed hardware and delivering to application memory, otherwise forwarding the packet from said buffer memory to a software process for processing as an exception condition of said protocol.
Claim 6
Independent Claim
129 words
A method of accelerating a stream-oriented network transport protocol for data packets having a header, the method being performed by pre-programmed hardware and comprising receiving and storing an incoming packet in a buffer memory; simultaneously with said receiving and storing, comparing the header of an incoming packet with predetermined patterns stored in a content addressable memory; upon locating a matching pattern, determining a session to which the packet belongs and processing the header to determine whether the packet is valid; and upon finding a matching pattern and determining that the packet is valid, processing the data in the packet in said pre-programmed hardware and delivering to application memory, otherwise forwarding the packet from said buffer memory to a software process for processing as an exception condition of said protocol.
Claim 7
Dependent Claim
51 words
The method of claim 4 , wherein said protocol comprises TCP/IP, and wherein said determining steps comprise decoding the header of the incoming packet as the packet is being stored to determine checksum values and TCP and IP header values; and comparing said checksum values and header values to said patterns.
Claim 8
Dependent Claim
25 words
The method of claim 4 , wherein said pre-programmed hardware comprises programmable logic which is clocked at a signaling rate of packets on said network.
Claim 9
Dependent Claim
46 words
The method of claim 4 , wherein said storing further comprises storing said packet in a buffer memory and said application memory comprises a dual port, dual bank memory; and wherein the processing of said packet is controlled by a state machine in said pre-programmed hardware.
Claim 10
Dependent Claim
117 words
A network accelerator for a stream-oriented network transport protocol for data packets having a header comprising means for storing an incoming packet in an application memory; means for comparing the incoming packet with a plurality of predetermined patterns stored in a content addressable memory to identify a matching pattern; means for processing the incoming packet simultaneously with said comparing means for determining whether the packet is valid; means operative upon a matching pattern being identified and the packet being determined valid for processing said packet in accordance with the identified pattern; and means operative upon failing to identify a matching pattern or upon determining the packet to be invalid for processing said packet in a software process.
Claim 11
Dependent Claim
117 words
A network accelerator for a stream-oriented network transport protocol for data packets having a header comprising means for storing an incoming packet in an application memory; means for comparing the incoming packet with a plurality of predetermined patterns stored in a content addressable memory to identify a matching pattern; means for processing the incoming packet simultaneously with said comparing means for determining whether the packet is valid; means operative upon a matching pattern being identified and the packet being determined valid for processing said packet in accordance with the identified pattern; and means operative upon failing to identify a matching pattern or upon determining the packet to be invalid for processing said packet in a software process.
Claim 12
Dependent Claim
25 words
The network accelerator of claim 8 wherein said stream-oriented protocol comprises TCP/IP, and wherein said processing means comprises programmable logic controlled by a state machine.
Claim 13
Dependent Claim
66 words
The accelerator of claim 9 wherein said application memory comprises a dual port, dual bank memory, and said accelerator further comprises a control unit including the state machine and control registers for controlling said programmable logic and said memory; said programmable means further comprising means for constructing and storing packets in said application memory; and for supplying packets to said network at the network signaling rate.