Patent ID: 7970765

Claim:
A method comprising: maintaining an integrated domain name system (DNS) cache within a virtual private network (VPN) device that provides VPN services to a plurality of subscribing customers, each of the customers having different customer networks and a corresponding DNS server that maintains hostname information for the respective customer, wherein the DNS cache includes a table having a plurality of entries, each of the entries storing a combination of a VPN identifier and a hostname and a corresponding Internet Protocol (IP) address, and wherein the stored combinations within the DNS cache include at least two combinations that have different VPN identifiers and the same hostnames, and wherein the DNS cache maps the at least two combinations to a same IP address; receiving a communication that includes a hostname from one of the client devices; associating the client device with one of the VPN identifiers; accessing the table to determine whether an entry exists that matches the combination of the associated VPN identifier and the hostname received from the client device; retrieving, from the table, an IP address corresponding to the combination of the associated VPN identifier and the hostname received from the client device upon identifying a matching entry exists; upon identifying no matching entry exists, the VPN device identifying the corresponding DNS server associated with the customer to which the client device belongs, retrieving, from the identified DNS server, an IP address corresponding to the combination of the associated VPN identifier and the hostname received from the client device, and updating the table to include an entry that maps the associated VPN identifier and the hostname to the IP address retrieved from the DNS server; and sending the retrieved IP address to the client device from which the communication was received.