Smart routing
AssigneeMicrosoft Corporation
InventorBoaz Lev
Life of this patent
Estimating the term…
Abstract
A router module receives a client request. In response to receiving the request, the router module obtains the network address of a server module to fulfill the request. The router module then determines whether it is executing on the same physical computer as the server module. If the router module determines that the server module is not executing on the same physical computer, the router module forwards the client request to the server module utilizing a standard network transport. If the router module determines that the server module is executing on the same computer, the router module forwards the client request to the server module using an optimized transport, such as an optimized local-machine-only transport.
Claims20
A computer-readable medium having computer-executable instructions stored thereon, the computer-executable instructions comprising:
- a router module configured to receive a request and, in response to receiving the request, to obtain a network address of a server module to fulfill the request, to determine if the server module is executing on a same computer as the router module, and to forward the request to the server module utilizing an optimized transport in response to determining that the server module is executing on the same computer as the router module.
A system for routing a client request a server module, the system comprising:
- a server module configured to receive and respond to the client request;
- a router module configured to receive the client request and, in response to receiving the client request, to obtain a network address of the server module, to determine if the server module is executing on a same computer as the router module, and to forward the request to the server module utilizing an optimized transport in response to determining that the server module is executing on the same computer.
A computer-implemented method for routing a client request to a server module, the computer-implemented method comprising computer-implemented operations for:
- receiving a client request from a client computer at a router module;
- and
- in response to receiving the client request, querying a load balancer for a target network address of a server module to fulfill the client request, comparing the target network address to one or more network addresses in a list of network addresses to determine if the router module and the server module to fulfill the client request are executing on the same physical computer and, in response to determining that the router module and the server module are executing on the same physical computer, forwarding the client request from the router module to the server module via an optimized transport that utilizes binary encoding.
Dependencies are inferred from the claim text.