A method and apparatus for resolving where to forward DNS (domain name
service) requests for a user simultaneously logged into more than one
service existing on a data communications network utilizes an active
service list (ASL) to keep track of the services that the user is
currently logged into. The active service list includes a list of
services sorted in a particular order based on information about the
service and sometimes the order in which the user logged into the
services. Each service has a profile that defines, among other things,
the IP Address space for the service and a Domain attribute. To determine
the appropriate service and, therefore, the appropriate DNS server for a
DNS request, the QName from the DNS request is compared to the configured
Domain attribute(s) for each service in the order of the ASL. If a match
is found, then the DNS request packet is modified to re-direct the DNS
request to the DNS server configured for the matched service. If no
domain match is found and the user is logged into an Internet Service,
then the DNS request packet is modified to re-direct the DNS request to
the DNS server configured for the first Internet Service found in the
user's ASL. If no domain match is found and the user is not logged into
an active Internet Service, then the DNS request is not re-directed, but
rather forwarded unmodified.