Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Anil K. Ruia, Issaquah US

Anil K. Ruia, Issaquah, WA US

Patent application numberDescriptionPublished
20090327459On-Demand Capacity Management - Dynamically upsizing and/or downsizing a network farm in response to network demand. An application message router routes messages to the network farm. When the network farm approaches or is anticipated to be approaching capacity, a group of one or more servers may be added to the network farm. When the added server(s) are capable of participating in the network farm, the application message router is triggered to route also to the added servers. When the network farm has excess capacity, a group of one or more servers may be dropped from the network farm. This may be accomplished by triggering the application message router to no longer route messages to the removed servers. The removed servers may be either immediately or gracefully removed from service.12-31-2009
20090327460Application Request Routing and Load Balancing - An application request router that routes incoming application message to various servers in a network farm, even though the original network request itself does not directly specify which server is to handle the request. The application request routing module uses intra-farm routing policy and characteristics of the request itself to identify which of the servers is to handle the message and then dispatches the message to the appropriate server. This allows a user to reconfigure the network farm by reconfiguring the capabilities of the servers in the network farm, and then altering the routing policy accordingly to take advantage of the reconfigured network farm capabilities.12-31-2009
20100057837SHARED HOSTING USING HOST NAME AFFINITY - The routing of requests in a shared hosting environment. The shared hosting environment includes a network farm of servers, each capable of processing the request corresponding to the host name. When a request is received, a router determines whether or not there is already a host name affinitization of subset of the servers to the host name corresponding to the request. If so, the message is dispatched to one of those affinitized servers. If not, one or more of the servers are affinitized to the host name to create a subset of affinitized server(s) for that host name. Different host names may have different subsets of servers that they are affinitized to. Over time, the affinitization may be terminated as appropriate.03-04-2010
20100131487HTTP CACHE WITH URL REWRITING - URL rewriting is a common technique for allowing users to interact with internet resources using easy to remember and search engine friendly URLs. When URL rewriting involves conditions derived for sources other than the URL, inconsistencies in HTTP kernel cache and HTTP user output cache may arise. Methods and a system for rewriting a URL while preserving cache integrity are disclosed herein. Conditions used by a rule set to rewrite a URL may be determined as cache friendly conditions or cache unfriendly conditions. If cache unfriendly conditions exist, the HTTP kernel cache is disabled and the HTTP user output cache is varied based upon a key. If no cache unfriendly conditions exist, then the HTTP kernel cache is not disabled and the HTTP user output cache is not varied. A rule set is applied to the URL and a URL rewrite is performed to create a rewritten URL.05-27-2010
20100251338Predictive HTTP Authentication Mode Negotiation - A client system and a server system use a Hypertext Transfer Protocol (HTTP) authentication mode preference header to negotiate an HTTP authentication mode. The client system sends an HTTP request to the server system. In response to the HTTP request, the server system sends an HTTP response to the client system. The HTTP response includes an HTTP authentication mode preference header. The HTTP authentication mode preference header indicates whether a preferred HTTP authentication mode is connection-based HTTP authentication or request-based HTTP authentication. In subsequent HTTP requests to the server system, the client system uses the HTTP authentication mode indicated by the HTTP authentication mode preference header.09-30-2010
20100268789NETWORK CACHING FOR MULTIPLE CONTEMPORANEOUS REQUESTS - A live caching system is described herein that reduces the burden on origin servers for serving live content. In response to receiving a first request that results in a cache miss, the system forwards the first request to the next tier while “holding” other requests for the same content. If the system receives a second request while the first request is pending, the system will recognize that a similar request is outstanding and hold the second request by not forwarding the request to the origin server. After the response to the first request arrives from the next tier, the system shares the response with other held requests. Thus, the live caching system allows a content provider to prepare for very large events by adding more cache hardware and building out a cache server network rather than by increasing the capacity of the origin server.10-21-2010
20100274885PROACTIVE LOAD BALANCING - A load balancing system is described herein that proactively balances client requests among multiple destination servers using information about anticipated loads or events on each destination server to inform the load balancing decision. The system detects one or more upcoming events that will affect the performance and/or capacity for handling requests of a destination server. Upon detecting the event, the system informs the load balancer to drain connections around the time of the event. Next, the event occurs on the destination server, and the system detects when the event is complete. In response, the system informs the load balancer to restore connections to the destination server. In this way, the system is able to redirect clients to other available destination servers before the tasks occur. Thus, the load balancing system provides more efficient routing of client requests and improves responsiveness.10-28-2010
20100318632BYTE RANGE CACHING - A caching system segments content into multiple, individually cacheable chunks cached by a cache server that caches partial content and serves byte range requests with low latency and fewer duplicate requests to an origin server. The system receives a request from a client for a byte range of a content resource. The system determines the chunks overlapped by the specified byte range and sends a byte range request to the origin server for the overlapped chunks not already stored in a cache. The system stores the bytes of received responses as chunks in the cache and responds to the received request using the chunks stored in the cache. The system serves subsequent requests that overlap with previously requested ranges of bytes from the already retrieved chunks in the cache and makes requests to the origin server only for those chunks that a client has not previously requested.12-16-2010
20110131341SELECTIVE CONTENT PRE-CACHING - A selective pre-caching system reduces the amount of content cached at cache proxies by limiting the cached content to that content that a particular cache proxy is responsible for caching. This can substantially reduce the content stored on each cache proxy and reduces the amount of resources consumed for pre-caching in preparation for a particular event. The cache proxy receives a list of content items that and an indication of the topology of the cache network. The cache proxy uses the received topology to determine the content items in the received list of content items that the cache proxy is responsible for caching. The cache proxy then retrieves the determined content items so that they are available in the cache before client requests are received.06-02-2011
20110137888INTELLIGENT CACHING FOR REQUESTS WITH QUERY STRINGS - An intelligent caching system is described herein that intelligently consolidates the name-value pairs in content requests containing query strings so that only substantially non-redundant responses are cached, thereby saving cache proxy resources. The intelligent caching system determines which name-value pairs in the query string can affect the redundancy of the content response and which name-value pairs can be ignored. The intelligent caching system organically builds the list of relevant name-value pairs by relying on a custom response header or other indication from the content server. Thus, the intelligent caching system results in fewer requests to the content server as well as fewer objects in the cache.06-09-2011

Patent applications by Anil K. Ruia, Issaquah, WA US