Patent ID: 8229955

Claim:
A computer-implemented method for executing a query to a distributed database in a networked computer system that includes a plurality of networks, the method comprising the steps of: (A) providing a plurality of nodes coupled to the plurality of networks, each of the plurality of networks comprising a communication path between at least two of the plurality of nodes, each node comprising at least one processor and memory, the plurality of nodes comprising the distributed database with a first node including first data in the distributed database and a second node including second data in the distributed database, the plurality of networks allowing communication between the plurality of nodes; (B) on a third of the plurality of nodes, executing the query that retrieves the first data in the distributed database and the second data in the distributed database by performing the steps of: determining whether the query specifies a network for executing the query; when the query specifies the network for executing the query, and when the specified network is available, using the specified network to execute the query; when the query does not specify the network for executing the query, performing the steps of: determining which of the plurality of nodes are involved in processing the query; determining whether layout of the plurality of nodes involved in processing the query determines which network to use in processing the query; when the layout of the plurality of nodes involved in processing the query determines which network to use in processing the query, and when the determined network is available, processing the query using the determined network; when the layout of the plurality of nodes involved in processing the query does not determine which network to use in processing the query, determining available networks for processing the query from a network monitor, and using at least one of the available networks to process the query.