Method and apparatus supporting network communications
First Claim
1. A network device comprising:
- a first software component that provides an interface to a first network protocol layer in a stack of network protocol layers, the first software component being a device driver and the first network protocol layer provides an interface to a physical media;
a second software component that provides an interface to a second network protocol layer in the stack of network protocol layers, the second software component being a device driver and the second network protocol layer provides an interface to a physical media;
a first module associated with the first software component, wherein the first module facilitates communication between the first software component and other software components that provide interfaces to other network protocol layers in the stack of network protocol layers;
a second module associated with the second software component, wherein the second module facilitates communication between the second software component and other software components that provide interfaces to other network protocol layers in the stack of network protocol layers;
a module manager for controlling creation and destruction of the first and second modules as required to control the first and second software components to service data packets that require a particular protocol and for managing interaction between the first and second modules;
a configuration file that defines which software components to use to establish a port for a particular path, wherein the first and second modules correspond to different software components that support different parts of the communications protocol used to create the port for the particular path; and
a communications manager for accessing the configuration file to determine the components used to establish the port and for sending requests to the module manager to create modules associated with the software components used to establish the port.
7 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the invention includes a method of managing network communications in a network device. The network device includes software components and modules. Some of the components control the interaction between modules, while other components perform specific functions for associated modules. A module manager component controls the creation and destruction of modules as well as their interactions. A communications manager component manages network communications in the network device. The network communications is supported by creating a number of modules that are associated with components that implement different parts of a network protocol. As a result of the use of the modules, a component need not know which other component(s) it depends upon, nor need it know which other component(s) depend upon it. This allows components to be used together very easily in many different configurations. The modules also allow the same component to be used by multiple modules.
34 Citations
24 Claims
-
1. A network device comprising:
-
a first software component that provides an interface to a first network protocol layer in a stack of network protocol layers, the first software component being a device driver and the first network protocol layer provides an interface to a physical media; a second software component that provides an interface to a second network protocol layer in the stack of network protocol layers, the second software component being a device driver and the second network protocol layer provides an interface to a physical media; a first module associated with the first software component, wherein the first module facilitates communication between the first software component and other software components that provide interfaces to other network protocol layers in the stack of network protocol layers; a second module associated with the second software component, wherein the second module facilitates communication between the second software component and other software components that provide interfaces to other network protocol layers in the stack of network protocol layers; a module manager for controlling creation and destruction of the first and second modules as required to control the first and second software components to service data packets that require a particular protocol and for managing interaction between the first and second modules; a configuration file that defines which software components to use to establish a port for a particular path, wherein the first and second modules correspond to different software components that support different parts of the communications protocol used to create the port for the particular path; and a communications manager for accessing the configuration file to determine the components used to establish the port and for sending requests to the module manager to create modules associated with the software components used to establish the port. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for communication between network protocol layers in a network device, wherein the network device includes a first software component that provides an interface to a first network protocol layer, a first module that provides an interface between the first software component and a module manager, the method comprising:
-
accessing a configuration file that defines using the first software component, an upstream software component and a downstream software component, at least in part, to establish a port for a particular path; the module manager responsively creating the first module, an upstream module and a downstream module; the first software component generating an event and sending the event to the first module; reporting the event to the upstream module, wherein the upstream module provides an interface to the upstream software component that in turn provides an interface to a network protocol layer above the first network protocol layer in a network protocol layer stack; reporting the event to the downstream module, wherein the downstream module provides an interface to the downstream software component that in turn provides an interface to a network protocol layer below the first network protocol layer in the network protocol layer stack; and notifying the module manager of the event, wherein the first software component registers references to functions with the first module, wherein the upstream and downstream software components can call the functions through information stored in the first module. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A network device comprising:
-
a processor; memory; a first module stored in the memory and executable on the processor to i) receive an event from a first software component, wherein the first software component provides an interface to a first network protocol layer, ii) determine upstream modules that are dependent on the first module, wherein each upstream module provides an interface to respective upstream software components that in turn provide interfaces to a network protocol layer above the first network protocol layer in a network protocol layer stack, iii) notify the upstream modules of the event, iv) determine downstream modules that are dependent on the first module, wherein each downstream module provides an interface to respective downstream software components that in turn provide interfaces to a network protocol layer below the first network protocol layer in the stack of network protocol layers, v) notify the downstream modules of the event; a module manager stored in the memory and executable on the processor to i) create the first, upstream and downstream modules, ii) define an order of the first, upstream and downstream modules thereby creating a module stack, iii) receive a notification of the event, and iv) destroy the first, upstream and downstream modules; and instructions stored in the memory and executable on the processor to i) determine that a device interfaced with the network device has become available, ii) determine that the first, upstream and downstream software components provide services to the device, and iii) responsively create the first, upstream and downstream modules providing interfaces to the first, upstream and downstream software components. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification