Patent ID: 7644189

Claim:
A method for upgrading software resident on a network server, the software comprising at least one current process having a current lower layer for interfacing with network packets and a current upper layer for processing said packets, the method comprising: providing an updated process comprising: an updated lower layer for interfacing with network packets, an updated upper layer for processing said packets, and a communication channel associated with the updated upper layer for diverting the network packets from the updated lower layer to the current upper layer, wherein the communication channel connects the current upper layer to the updated upper layer, wherein diverting packets relating to new transactions from the updated lower layer to the updated upper layer comprises forwarding the network packets from the updated lower layer to the current upper layer to the updated upper layer, replacing the current lower layer with the updated lower layer, diverting packets from the updated lower layer to the current upper layer via the communications channel, checking on the current upper layer whether the packets received from the updated lower layer relate to transactions already under way on the current upper layer or to new transactions and diverting packets relating to new transactions from the current upper layer to the updated upper layer via the communications channel, processing in the current upper layer the packets relating to transactions already under way on the current upper layer, processing the packets relating to new transactions with the updated upper layer, determining whether the transactions already under way on the current upper layer have been completed, and closing said communication channel and thereby completing the programming upgrade for the server when said transactions already under way on the current upper layer have been completed.