Patent ID: 7406526

Claim:
A method for transferring data, comprising: establishing a plurality of network links between a private network and a public network; associating each link with a respective unique public-network-address; generating sessions within the private network, each session comprising one or more data packets; allocating to each session an extended-private-address comprising a private-network-address and private-port-number, the private network being adapted to transfer each data packet comprised in a respective session using at least part of the extended-private-address as an identifying private-network-address; translating for each session the extended-private-address to an extended-public-address comprising a public-network-address and public-port-number, the extended-public-address comprising one of the unique public-network-addresses; determining for each session a last-active-time representing a most recent time of arrival of the corresponding one or more data packets at a manager in the private network; filling for each session an address table with the extended-private-address, the corresponding extended-public address, and the corresponding last-active-time; determining that the address table is full of sessions in response to filling the address table; identifying the session in the address table having the oldest last-active-time, representing the session which has been idle for the longest time, in response to the address table being full of sessions; overwriting the session in the address table having the oldest last-active-time with a new session, having a corresponding extended-private-address, a corresponding extended-public address, and a corresponding last-active-time, in response to the address table being full of sessions; conveying the one or more data packets of each session between the private network and the public network via the link associated with the public-network-address of the respective session; and transmitting the one or more data packets of each session within the public network using at least part of the extended-public-address as an identifying public-network-address.