Method to synchronize and upload an offloaded network stack connection with a network stack
First Claim
1. A method to upload an offloaded network stack state object from a first path going from a peripheral device to a switch layer to a second path going from the peripheral device through a plurality of software layers and the switch layer, the plurality of software layers including an intermediate layer, the network stack state object having at least one cached state and at least one delegated state, the method comprising the steps of:
- commanding the intermediate layer to take control of the at least one delegated state after the at least one delegated state has been received; and
sending data through the second path.
2 Assignments
0 Petitions
Accused Products
Abstract
A method to synchronize and upload an offloaded network stack connection between a host network stack and peripheral device is presented. A state object for each layer in the stack is sent to the device that includes state variables that are classified as a constant, a cached variable handled by the host, or a delegated variable handled by the device. State that must be updated by the network stack and the peripheral device is cleanly divided. For example, statistics are tracked by the host, the device, or the host and the device. A statistic tracked by both the host and peripheral device is divided into non-overlapping portions and combined to produce the statistic. Once an upload is initiated, the device achieves a consistent state and hands delegated states to the stack. Each layer in the stack takes control of its delegated state and resources at the device are freed.
-
Citations
44 Claims
-
1. A method to upload an offloaded network stack state object from a first path going from a peripheral device to a switch layer to a second path going from the peripheral device through a plurality of software layers and the switch layer, the plurality of software layers including an intermediate layer, the network stack state object having at least one cached state and at least one delegated state, the method comprising the steps of:
-
commanding the intermediate layer to take control of the at least one delegated state after the at least one delegated state has been received; and
sending data through the second path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method to upload an offloaded network stack state object and at least one associated protocol from a first path going from a peripheral device to a switch layer to a second path going from the peripheral device through a plurality of software layers and the switch layer, the plurality of software layers including an intermediate layer, the network stack state object having a cached state and a delegated state, the method comprising the steps of:
-
completing outstanding requests with a transfer status;
handing the delegated state to the switch layer;
freeing resources in the peripheral device for the intermediate layer; and
sending data through the second path. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of synchronizing an offloaded network stack state object between a host and a peripheral device in a host having a plurality of software layers, each software layer having at least one state variable, the method comprising the steps of:
for each software layer in the plurality of software layers;
classifying the at least one state variable to be one of a constant variable, a cached variable, and a delegated variable;
sending the at least one state variable to the peripheral device; and
if the at least one state variable has been classified as a cached variable;
processing the cached variable by the host; and
updating the cached variable in the peripheral device if the cached variable has changed. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
32. A method to conserve resources in a peripheral device that is processing at least one offloaded state and an associated protocol for a plurality of intermediate software layers, the at least one offloaded state having a state object, the method comprising the steps of:
-
storing an initial state object for a first offloaded state;
receiving an initial offload handle for the initial state object from the peripheral device;
handing the initial offload handle to the peripheral device on a subsequent offload if the state object is the initial state object; and
receiving a new offload handle on the subsequent offload if the state object is a new state object. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
-
39. A method to obtain statistics for a network stack having at least one intermediate software layer and at least one network state object offloaded to a peripheral device, the network state object having at least one of a constant state variable, a cached state variable, and a delegated state variable, the network stack controlled by a host and the offloaded network state object processed by the peripheral device the method comprising the steps of:
for each intermediate software layer;
obtaining statistics from the host for host maintained statistics;
obtaining statistics from the peripheral device for peripheral device maintained statistics;
obtaining statistics from the host and peripheral device for host and peripheral device maintained statistics; and
combining the peripheral device maintained statistics and the host and peripheral device maintained statistics to the host maintained statistics. - View Dependent Claims (40, 41, 42, 43, 44)
Specification