Patent ID: 7107360

Claim:
A method of supporting network address translation (NAT) in a service selection gateway (SSG), said SSG connecting a plurality of remote systems on a network to a plurality of service domains, each of said plurality of remote systems being assigned a corresponding one of a plurality of original addresses, wherein each of a plurality of new addresses is used for a corresponding one of said plurality of remote systems in a corresponding service domain, each of said plurality of original addresses comprising a local address in said network and each of said plurality of new addresses comprising an external address for the remote system in the service domain, said method being performed in said SSG, said method comprising: maintaining a plurality of NAT tables, wherein each of said plurality of NAT tables maintains a corresponding plurality of entries representing a mapping information of original addresses to corresponding new addresses, wherein said plurality of entries are partitioned according to service domains such that entries corresponding to each service domain are stored in a single one of said plurality of NAT tables, wherein an entry corresponds to a service domain if the corresponding new address is in the service domain; receiving a packet containing a first address; translating said first address into a second address by examining one of said plurality of NAT tables, wherein said first address corresponds to one of said plurality of original addresses or one of said plurality of new addresses of a first remote system, and wherein said second address comprises the other one of said plurality of original addresses or one of said plurality of new addresses of said first remote system; substituting said second address for said first address in said packet to generate a new packet, and sending said new packet to one of said plurality of remote systems or one of said service domains determined by a destination address in said new packet.