Dynamically adding application logic and protocol adapters to a programmable network element
First Claim
1. A data processing apparatus, comprising:
- a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto;
one or more processors;
a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface;
a non-transitory computer-readable volatile or non-volatile storage medium having an application program stored thereon;
program extensibility logic which when executed by the one or more processors is operable to cause;
receiving one or more user software application program extensions,using the one or more user software application program extensions, changing a runtime behavior of the packet forwarding logic during a normal processing of the switching system,wherein the user software application program extensions comprise logic operable to interface with the application program and perform any of message processing functions and protocol processing functions that are not in the application program, and which emit and consume messages exchanged at a Layer Five or higher of the Open Systems Interconnection (OSI) reference model;
installing the one or more user software application program extensions without restarting the apparatus;
receiving one or more packets representing an application message;
selecting a particular one of the user software application program extensions based on a protocol associated with the message;
loading the particular one of the user software application program extensions;
executing business logic of the application program associated with the received message;
invoking a function of the particular one of the user software application program extensions in response to a call in the business logic.
1 Assignment
0 Petitions
Accused Products
Abstract
Custom or user-defined application program extensions may be loaded into a network infrastructure element such as a router or switch without restarting the device. For example, a network element has program extensibility logic operable for receiving one or more user program extensions that comprise logic operable to interface with the application program and perform message processing functions or protocol processing functions that are not in the application program; installing the one or more user program extensions without restarting the apparatus; receiving one or more packets representing an application message; selecting a particular one of the user program extensions based on a protocol associated with the message; loading the particular one of the user program extensions; executing business logic of the application program associated with the received message; and invoking a function of the particular one of the user program extensions in response to a call in the business logic.
60 Citations
24 Claims
-
1. A data processing apparatus, comprising:
-
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto; one or more processors; a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; a non-transitory computer-readable volatile or non-volatile storage medium having an application program stored thereon; program extensibility logic which when executed by the one or more processors is operable to cause; receiving one or more user software application program extensions, using the one or more user software application program extensions, changing a runtime behavior of the packet forwarding logic during a normal processing of the switching system, wherein the user software application program extensions comprise logic operable to interface with the application program and perform any of message processing functions and protocol processing functions that are not in the application program, and which emit and consume messages exchanged at a Layer Five or higher of the Open Systems Interconnection (OSI) reference model; installing the one or more user software application program extensions without restarting the apparatus; receiving one or more packets representing an application message; selecting a particular one of the user software application program extensions based on a protocol associated with the message; loading the particular one of the user software application program extensions; executing business logic of the application program associated with the received message; invoking a function of the particular one of the user software application program extensions in response to a call in the business logic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data processing apparatus, comprising:
-
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto; one or more processors; a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; a non-transitory computer-readable volatile or non-volatile storage medium storing one or more sequences of instructions, which when executed by the one or more processors, cause the one or more processors to perform; receiving one or more user software application program extensions, using the one or more user software application program extensions, changing a a runtime behavior of the packet forwarding logic during a normal processing of the switching system, wherein the user software application program extensions comprise logic operable to interface with the application program and perform any of message processing functions and protocol processing functions that are not in the application program; installing the one or more user software application program extensions without restarting the apparatus; receiving one or more packets representing an application message; selecting a particular one of the user software application program extensions based on a protocol associated with the message; loading the particular one of the user software application program extensions; executing business logic of the application program associated with the received message; means for invoking a function of the particular one of the user software application program extensions in response to a call in the business logic. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-implemented method, comprising:
-
receiving one or more user software application program extensions in a network infrastructure device that comprises an application program, using the one or more user software application program extensions, changing a runtime behavior of a packet forwarding logic during a normal processing of the network infrastructure device, wherein the user software application program extensions comprise logic operable to interface with the application program and perform any of message processing functions and protocol processing functions that are not in the application program; installing the one or more user software application program extensions without restarting the device; receiving one or more packets representing an application message; selecting a particular one of the user software application program extensions based on a protocol associated with the message; loading the particular one of the user software application program extensions; executing business logic of the application program associated with the received message; invoking a function of the particular one of the user software application program extensions in response to a call in the business logic. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable volatile or non-volatile storage medium encoded with program extensibility logic which when executed by one or more processors is operable to cause:
-
receiving one or more user software application program extensions, using the one or more user software application program extensions, changing a runtime behavior of a packet forwarding logic during a normal processing of the program extensibility logic of a network device, wherein the user software application program extensions comprise logic operable to interface with an application program of a computer system and perform any of message processing functions and protocol processing functions that are not in the application program; installing the one or more user software application program extensions without restarting the computer system; receiving one or more packets representing an application message; selecting a particular one of the user software application program extensions based on a protocol associated with the message; loading the particular one of the user software application program extensions; executing business logic of the application program associated with the received message; invoking a function of the particular one of the user software application program extensions in response to a call in the business logic.
-
Specification