EP1515511A2

Multiple offload of network state objects with support for failover events

Abstract

The present invention provides mechanisms for transferring processor control of multiple network connections between two component devices of a computerized system, such as between a host CPU and a NIC. In one aspect of the invention, two or more network communications may each have a different state object in the upper layers of a network protocol stack, and have a common state object in the lower layers (e.g., the Framing Layer) of the network protocol stack. In part due to the commonalities in the lower software layer states, the invention provides for offloading processor control of multiple network communications at once, including long and short-lived connections. In addition, the invention can negotiate with an alternative peripheral device to offload the network communication to the alternative peripheral device in the event of a failover event, and provides a solution to incoming data packets destined for one or more VLANs.

EP1515511A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 10 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

53 claims: 6 independent, 47 dependent

  1. 1
    A method for transferring control between one or more destination component devices and one or more source component devices in a computerised system comprising a switching layer, and a sequence of one or more intermediate software layers of a network protocol stack, each of the intermediate software layers having a state object, the control needed to process a plurality of state objects while still maintaining integrity of established network communication, the method comprising the following:an act of generating an offload data structure, the offload data structure comprising a hierarchy of a plurality of state objects, the plurality of state objects corresponding to a network protocol state for one or more intermediate software layers;an act of transferring from a source component device to a destination component device two or more state objects in the same intermediate software layer of the offload data structure;and an act of the destination component processing the two or more state objects at the same protocol layer after the transfer.
  2. 15
    A method for transferring control between one or more destination component devices and one or more source component devices in a computerized system comprising a switching layer, and a sequence of one or more intermediate software layers of a network protocol stack, each of the intermediate software layers having a state object, the control needed to process a plurality of state objects while still maintaining integrity of established network communication, the method comprising the following:a step for reducing the processing demands of a computerized system that is processing two or more state objects corresponding to the same intermediate software layer by transferring processing control of the two or more state objects in a way that preserves the integrity of network communications with regard to state changes, failover events, and VLAN tags;and an act of the destination component processing the two or more state objects at the same protocol layer after the transfer.
  3. 21
    A method for transferring control between one or more destination component devices and one or more source component devices in a computerized system comprising a switching layer, and a sequence of one or more intermediate software layers of a network protocol stack, each of the intermediate software layers having a state object, the control needed to process a plurality of state objects while still maintaining integrity of established network communication, the method comprising the following:an act of generating an offload data structure, the offload data structure comprising a plurality of short-lived network connection,;an act of transferring from a source component device to a destination component device two or more short-lived network connections in the same intermediate software layer of the offload data structure;and an act of the destination component processing the two or more short-lived connections after the transfer.
  4. 35
    A method for transferring a plurality of offloaded aggregated state objects from one or more peripheral device that has failed to another peripheral device that is capable of receiving one or more of the state objects in the plurality of offloaded state objects, while still maintaining integrity of each of the established network communication, in a computerized system comprising a central processing unit, a plurality of peripheral devices, a switching layer, and a sequence of one or more intermediate software layers, the method comprising the following:an act of detecting that one or more links being processed at one or more peripheral devices has failed, the one or more failed peripheral devices having been given processing control of one or more state objects;an act of detecting a different one or more peripheral devices that are capable of handling processing control of only the one or more links;an act of detecting a different one or more peripheral devices that are capable of receiving processing control of the one or more links and one or more state objects;and an act of detecting a processing resource of any of the detected one or more peripheral devices.
  5. 40
    A method in a computerized system comprising a host processing unit, one or more peripheral devices, a switching layer, and a sequence of one or more intermediate software layers at least some of which having a state object, the method of inserting an intermediate driver adjacent an offload data structure in order to better facilitate, during a network connection offload and/ or upload process, a virtual local area network, the method comprising the following:an act of generating an offload data structure, the offload data structure comprising a hierarchy of a plurality of state objects, the plurality of state objects corresponding to a network protocol state for one or more intermediate software layers;an act of inserting one or more intermediate driver data structures within the offload data structure;and an act of transferring from a source component device to one or more peripheral devices one or more state objects of a corresponding intermediate software layer of the offload data structure.
  6. 50
    A computer program product for use in a computerized system comprising a switching layer, and a sequence of one or more intermediate software layers of a network protocol stack, each of the intermediate software layers having a state object, the computer program product for implementing a method for transferring control between one or more destination component devices and one or more source component devices, the control needed to process a plurality of state objects while still maintaining integrity of established network communication, the method comprising the following, the computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors at the host computing system, cause the host computing system to perform the method, the method comprising the following:an act of generating an offload data structure, the offload data structure comprising a hierarchy of a plurality of state objects, the plurality of state objects corresponding to a network protocol state for one or more intermediate software layers;an act of transferring from a source component device to a destination component device two or more state objects in the same intermediate software layer of the offload data structure;and an act of the destination component processing the two or more state objects at the same protocol layer after the transfer.