Bridge with sequential software modules
First Claim
1. A bridge comprising:
- first and second network connections,a processor, andmemory,said processor and said memory together being configured to implement plural software modules, said software modules being configured for allowing data messages to be passed between said first and second network connections, for handling said data messages as they pass between said first and second network connections and for performing processing on said data messages according to the function provided by said software modules, wherein said processing by at least one of said software modules comprises said at least one of said software modules modifying said data messages;
wherein each of said software modules has associated therewith a respective priority, and wherein said bridge is configured to arrange said software modules in a sequence between said first and second network connections, such that a data message provided by a software module is received at a next software module in said sequence, according to their allocated priorities wherein said bridge is configured to monitor flow of data messages to or from a first module, to reassign a priority to said first module based on said flow of data messages, and to re-order said software modules based on said priority re-assigned to said first module.
1 Assignment
0 Petitions
Accused Products
Abstract
A bridge includes first and second network connections, and processor means and memory together operating to implement plural software modules. These allow data to be passed between the network connections and allow the data to be handled as it passes. Each software modules has a priority, either pre-set in software or settable by the bridge in response to receiving a command from a device connected to the bridge. The bridge is operable to arrange the software modules sequentially between the network connections, such that data provided by a software module is received at the next software module in the sequence, according to their priorities. Software modules can be added to or removed from the sequence. This can be carried out dynamically, for instance by the bridge following a determination from monitoring of data flow that such would improve performance.
19 Citations
25 Claims
-
1. A bridge comprising:
-
first and second network connections, a processor, and memory, said processor and said memory together being configured to implement plural software modules, said software modules being configured for allowing data messages to be passed between said first and second network connections, for handling said data messages as they pass between said first and second network connections and for performing processing on said data messages according to the function provided by said software modules, wherein said processing by at least one of said software modules comprises said at least one of said software modules modifying said data messages;
wherein each of said software modules has associated therewith a respective priority, and wherein said bridge is configured to arrange said software modules in a sequence between said first and second network connections, such that a data message provided by a software module is received at a next software module in said sequence, according to their allocated priorities wherein said bridge is configured to monitor flow of data messages to or from a first module, to reassign a priority to said first module based on said flow of data messages, and to re-order said software modules based on said priority re-assigned to said first module.- View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A bridge comprising:
-
first and second network connections, a processor, and memory, the processor and said memory together being configured to implement plural software modules, said software modules being configured for allowing data to be passed between said first and second network connections and for handling said data as it passes between said first and second network connections, wherein each of said software modules has associated therewith a respective priority, and wherein said bridge is configured to arrange said software modules in a sequence between said first and second network connections, such that data provided by a software module is received at a next software module in said sequence, according to their allocated priorities, wherein said bridge is configured; to perform a first monitoring of performance of said bridge; to remove temporarily a first software module that is determined in said first monitoring of said performance of said bridge to be impacting negatively on performance; subsequent to removal of said first software module and in the absence of said first software module, to perform a second monitoring of said performance of said bridge; and to re-insert said first software module at a time dependent on results of said second monitoring of said performance of said bridge. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A bridge comprising:
-
first and second network connections, a processor, and memory, the processor and said memory together being configured to implement plural software modules, said software modules being configured for allowing data to be passed between said first and second network connections and for handling said data as it passes between said first and second network connections, wherein each of said software modules has associated therewith a respective priority, and wherein said bridge is configured to arrange said software modules in a sequence between said first and second network connections, such that data provided by a software module is received at a next software module in said sequence, according to their allocated priorities, said bridge further comprising plural queues, each of said plural queues being configured to store temporarily messages being passed between two adjacent software modules, each of said plural queues being able to be written to by one of said two adjacent software modules, the bridge being configured to prevent a first software module from being able to read a data a first queue of the first software module whilst that data message or another data message is being written to said first queue by a second software module, the second software module being adjacent to the first software module, by being configured; when the second software module is read to pass a first data message to the first module, to lock the first queue such as to prevent reading from the first queue by the first software module, subsequent to locking the first queue, to write the first data message to the first queue, on completion of writing the first data message to the first queue by the second module, to release the lock of the first queue, and to signal to the first module that the lock of the first queue is released. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification