Runtime adaptable protocol processor
First Claim
1. A system for providing protocol processing capability comprising:
- a runtime adaptable protocol processor providing adaptable hardware acceleration based on processing network packets presented to said runtime adaptable protocol processor by a network, said network comprising one or more networked systems of one or more types, at least one of said one or more networked systems comprising said runtime adaptable protocol processor, said runtime adaptable protocol processor comprising a programmable content search and rule processing engine configured to search content of the network packets by applying a set of search rules or take actions or matched rules or a combination thereof, and said runtime adaptable protocol processor further comprising;
a configuration controller, when said configuration controller is configured to dynamically map hardware functions to a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of the network packets, wherein one or more of the plurality of hardware elements are coupled to each other in a second configuration at a second time based on a protocol of a second one of the network packets, the second configuration being different from the first configuration.
5 Assignments
0 Petitions
Accused Products
Abstract
A runtime adaptable protocol processor is disclosed. The processor architecture provides capabilities to transport and process Internet Protocol (IP) packets from Layer 2 through transport protocol layer and may also provide packet inspection through Layer 7. Further, a runtime adaptable processor is coupled to the protocol processing hardware and may be dynamically adapted to perform hardware tasks as per the needs of the network traffic being sent or received and/or the policies programmed or services or applications being supported. A set of engines may perform pass-through packet classification, policy processing and/or security processing enabling packet streaming through the architecture at nearly the full line rate. A scheduler schedules packets to packet processors for processing. An internal memory or local session database cache stores a session information database for a certain number of active sessions. The session information that is not in the internal memory is stored and retrieved to/from an additional memory. An application running on an initiator or target can in certain instantiations register a region of memory, which is made available to its peer(s) for access directly without substantial host intervention through RDMA data transfer. A security system is also disclosed that enables a new way of implementing security capabilities inside enterprise networks in a distributed manner using a protocol processing hardware with appropriate security features.
-
Citations
27 Claims
-
1. A system for providing protocol processing capability comprising:
-
a runtime adaptable protocol processor providing adaptable hardware acceleration based on processing network packets presented to said runtime adaptable protocol processor by a network, said network comprising one or more networked systems of one or more types, at least one of said one or more networked systems comprising said runtime adaptable protocol processor, said runtime adaptable protocol processor comprising a programmable content search and rule processing engine configured to search content of the network packets by applying a set of search rules or take actions or matched rules or a combination thereof, and said runtime adaptable protocol processor further comprising; a configuration controller, when said configuration controller is configured to dynamically map hardware functions to a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of the network packets, wherein one or more of the plurality of hardware elements are coupled to each other in a second configuration at a second time based on a protocol of a second one of the network packets, the second configuration being different from the first configuration. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for providing Remote Direct Memory Access capability comprising:
-
a runtime adaptable protocol processor providing adaptable hardware acceleration based on processing network packets presented to said runtime adaptable protocol processor by a network, said network comprising one or more networked systems of one or more types, at least one of said one or more networked systems comprising said runtime adaptable protocol processor providing remote direct memory access (RDMA) capability, said system providing multiple protocol layers in said network, said runtime adaptable protocol processor comprising a programmable content search and rule processing engine configured to a search content of network packets by applying a set of search rules or take actions on matched rules or a combination thereof, said runtime adaptable processor comprising; a configuration controller, wherein said configuration controller is configured to dynamically map hardware functions to a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of the network packets;
wherein one or more of the plurality of hardware elements are coupled to each other in a second configuration at a second time, the second configuration being different from the first configuration based on a protocol of a second one of the network packets. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for providing protocol processing capability enabling Transmission Control Protocol (TCP), Stream Control Transmission Protocol (SCTP), other session oriented protocols, User Datagram Protocol (UDP), or a combination of any of the foregoing, over Internet Protocol (IP) networks, and system comprising a processor for dynamically adapting hardware comprising:
- a. a runtime adaptable processor for dynamically adapting hardware configuration to process information, wherein the runtime adaptable processor comprises at least one configuration controller for dynamic configuration control, wherein said configuration controller is configured to dynamically map hardware functions to one or more of a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of a plurality of network packets and are coupled to each other in a second configuration at a second time based on a protocol of a second one of the plurality of network packets, the second configuration being different from the first configuration;
b. at least one packet processor for processing the plurality of network packets;
c. a memory controller for controlling memory accesses;
d. a first network interface for coupling to a first network; and
e. a host interface for coupling to a host, a fabric interface for coupling to a fabric, or a second network interface for coupling to a second network. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
- a. a runtime adaptable processor for dynamically adapting hardware configuration to process information, wherein the runtime adaptable processor comprises at least one configuration controller for dynamic configuration control, wherein said configuration controller is configured to dynamically map hardware functions to one or more of a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of a plurality of network packets and are coupled to each other in a second configuration at a second time based on a protocol of a second one of the plurality of network packets, the second configuration being different from the first configuration;
-
23. A system comprising:
a network, said network comprising one or more networked systems of one or more types, said system providing multiple protocol layers in said network, at least one of said one or more networked systems comprising a protocol processor, said protocol processor comprising a programmable content search and rile processing engine configured to search content of network packets within said network by applying a set of search rules, or take actions on matched rules, or a combination thereof, and said protocol processor further comprising; a runtime adaptable processor to provide adaptable hardware acceleration based on processing the network packets presented to said protocol processor, said runtime adaptable processor comprising a configuration controller, wherein said configuration controller is configured to dynamically map hardware functions to one or more of a plurality of hardware elements that are coupled to each other in a first configuration at a first time based on a protocol of a first one of the network packets and are coupled to each other in a second configuration at a second time based on a protocol of a second one of the network packets, the second configuration being different from the first configuration. - View Dependent Claims (24, 25, 26)
-
27. The system comprising:
-
a network, said network comprising one or more networked systems of one or more types, said system providing multiple protocol layers in said network, at least one of said one or more networked systems comprising a protocol processor, said protocol processor comprising a programmable content search and rule processing engine configured to search content of network packets within said network by applying a set of search riles, or take actions on matched rules, or a combination thereof, and said protocol processor further comprising; a programmable rules processing engine based on content addressable memory (CAM) architecture to provide rule searching and protocol processing to the network packets presented to said protocol processor, wherein the network packets comprise a first one of the network packets and a second one of the network packets, wherein a state of the search rules applied to said second one or the network packets are stored in a memory, and said programmable rules processing engine is configured to determine a protocol of the first one of the network packets based on determining whether the first one of the network packets belongs to a connection of the second one of the network packets and on the stored state of the search rules applied to the second one of the network packets.
-
Specification