In active networks, the Execution Environment in an active node executes user codes to tailor the processing of packets to application needs. However, the existing implementation of a software-based active node has a dilemma of only using the user mode Execution Environment or, alternatively, only using the kernel mode Execution Environment because neither mode of the Execution Environments meets application needs. The dilemma stems from the choice between high overheads of a user mode Execution Environment and poor services of a kernel mode Execution Environment in executing user codes. In this paper, we propose the Dual-Mode Execution Environment to overcome this dilemma, i.e. arguing for the necessity of an Execution Environment that supports dual modes. Currently, we develop and make the Lifetime-Sensitive Quantity-based Policy the workload adjustment policy in the Dual-Mode Execution Environment. We implement the prototype in Windows 2000. We conduct experiments to compare the prototype with active nodes that uses either the user mode Execution Environment or the kernel mode Execution Environment. We prove that the prototype meets application needs and outperforms the compared active nodes.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture