Patent ID: 8078952

Claim:
A method in a computer system having a memory and a processor for redirecting a client based on a configuration of the client, the method comprising: at a web site, the web site being separate from the client and storing server-side redirection logic, storing redirect URL logic comprising a set of nested nodes each corresponding to an item of configuration information, wherein each node has at least one associated value and an associated URL, receiving from the client a request to access a first page of the web site, the request specifying a first URL corresponding to the first page of the web site, when it is determined that client-side redirection logic is not installed on the client, sending the client the client-side redirection logic, the client-side redirection logic for collecting configuration information of the client and sending the collected configuration information to the web site, obtaining configuration information sent from the client, the configuration information having been collected at the client by the client-side redirection logic and containing a plurality of items having values corresponding to a current configuration of the client, executing the server-side redirection logic to determine whether the obtained configuration information matches an ordered sequence of the set of nested nodes that includes a first matched node that is not nested within another node, each sequence of nodes corresponding to a configuration, wherein the server-side redirection logic is configured to parse the redirect URL logic in a predetermined sequence based on the ordering of the nested nodes of the redirect URL logic, and compare items of the configuration information to nodes of the redirect URL logic until either an item of the configuration information fails to match a node of the redirect URL logic or all items of the configuration information are successfully matched to nodes of the redirect URL logic, when the obtained configuration information does not match an ordered sequence of the set of nested nodes, sending an indication of a default URL to the client-side redirection logic, and when the obtained configuration information matches an ordered sequence of the set of nested nodes, identifying a URL associated with the last matched node of the matched ordered sequence, when it is determined that the identified URL corresponds to the first URL specified in the request received from the client, sending to the client-side redirection logic an indication that the first URL corresponds to the configuration of the client, and when it is determined that the identified URL does not correspond to the first URL specified in the request received from the client, sending the identified URL to the client to effect the redirecting of the client based on the configuration of the client.