Changing I/O types for processing data requests
First Claim
Patent Images
1. A server computing device comprising:
- at least one network interface for at least communicating between the computing device and a plurality of client devices and between the computing device and at least one data source;
at least one processor for at least processing data requests received from the plurality of client devices, where the data requests include requests for data from the at least one data source;
at least one cache memory for storing selected data retrieved from the at least one data source; and
an input/output (I/O) type selector for selecting an I/O communications type from a plurality of I/O communications types for processing one or more of the data requests, and periodically changing the selected I/O communications type to a different I/O communications type from the plurality of I/O communications types for different data requests by;
computing a response time used to satisfy the data requests based on the plurality of I/O communication types that are available;
collecting a running average of response times for the plurality of I/O communication types for network connection types with one or more of the client devices; and
determining an I/O communications type that provides a lower response time than the selected I/O communications type based at least in part on the collected running averages.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methodologies, media, and other embodiments associated with processing network communications are described. One embodiment of a method includes processing data requests including changing an input/output (I/O) communications type for processing the data requests.
16 Citations
21 Claims
-
1. A server computing device comprising:
-
at least one network interface for at least communicating between the computing device and a plurality of client devices and between the computing device and at least one data source; at least one processor for at least processing data requests received from the plurality of client devices, where the data requests include requests for data from the at least one data source; at least one cache memory for storing selected data retrieved from the at least one data source; and an input/output (I/O) type selector for selecting an I/O communications type from a plurality of I/O communications types for processing one or more of the data requests, and periodically changing the selected I/O communications type to a different I/O communications type from the plurality of I/O communications types for different data requests by; computing a response time used to satisfy the data requests based on the plurality of I/O communication types that are available; collecting a running average of response times for the plurality of I/O communication types for network connection types with one or more of the client devices; and determining an I/O communications type that provides a lower response time than the selected I/O communications type based at least in part on the collected running averages. - View Dependent Claims (2, 3)
-
-
4. A method, comprising:
-
receiving data requests, by a cache server, from a plurality of client devices, where the data requests include a request to access data from a data source; processing the data requests, with at least a processor in the cache server, including changing an I/O communications type for processing the data requests to deliver the data requested by the data requests; selecting a first I/O communications type from a plurality of I/O communications types to process the data requests; retrieving the data from the data source and transmitting the data to a requesting client using the first I/O communications type; and switching from the first I/O communications type to a second I/O communications type from the plurality of I/O communication types for a different network connection between the cache server and one or more of the client devices, and processing subsequent data requests using the second I/O communications type; wherein the switching comprises; computing a response time used to satisfy the data requests based on the plurality of I/O communications types that are available; collecting a running average of response times for the plurality of I/O communications types for network connection types with one or more of the client devices; and determining an I/O communications type as the second I/O communication type from the plurality of I/O communications types that provides a lower response time than the first I/O communications type based at least in part on the collected running averages. - View Dependent Claims (5, 8, 9, 11, 12, 20)
-
-
6. A method comprising:
-
receiving data requests, by a cache server, from a plurality of client devices, where the data requests include a request to access data from a data source; processing the data requests, with at least a processor in the cache server, including changing an I/O communications type for processing the data requests to deliver the data requested by the data requests; selecting a first I/O communications type from a plurality of I/O communications types to process the data requests; retrieving the data from the data source and transmitting the data to a requesting client using the first I/O communications type; and switching from the first I/O communications type to a second I/O communications type from the plurality of I/O communication types for a different network connection between the cache server and one or more of the client devices wherein a different I/O communication type is selected for different network connections from different client devices, and processing subsequent data requests using the second I/O communications type; wherein the switching comprises; selecting the first I/O communications type for use with a first network connection with a first client device and switching to the second I/O communications type for use with a second network connection with a second client device; wherein switching to the second I/O communications type comprises; computing a response time used to satisfy the data requests based on the plurality of I/O communications types that are available; collecting a running average of response times for the plurality of I/O communications types for network connection types with one or more of the client devices; and determining an I/O communications type as the second I/O communication type from the plurality of I/O communications types that provides a lower response time than the first I/O communications type based at least in part on the collected running averages. - View Dependent Claims (7, 10)
-
-
13. A non-transitory computer readable medium having executable instructions stored therein that, when executed, cause a computer that includes at least a processor to perform a method, the executable instructions comprising instructions for:
-
selecting a first I/O (input/output) communication type from a plurality of I/O communication types and collecting, by at least the processor, first response time characteristics from using the first I/O communication type for communications between a cache server and a data source; selecting a second I/O communication type from the plurality of I/O communication types and collecting, by at least the processor, second response time characteristics from using the second I/O communication type for communications between the cache server and the data source; processing requests for data from the data source by using an assigned I/O communication type that is selected from the first or second I/O communication types based at least in part on the first and second response time characteristics, wherein the requests for data are received from one or more client devices that request data over network connections to the cache server; and periodically changing the assigned I/O communication type between at least the first and second I/O communication types for processing subsequent requests for data based at least in part (i) on comparing the first and second response time characteristics and (ii) on a network connection between the cache server and the one or more client devices that request the data, wherein a different I/O communication type is selected for different network connections from different client devices; wherein collecting the first response time characteristics and the second response time characteristics comprise; computing a response time used to satisfy the data requests based on the plurality of I/O communications types that are available; and collecting a running average of response times for the plurality of I/O communication types for network connection types with one or more of the client devices; and wherein the periodically changing includes selecting the assigned I/O communication type from the plurality of I/O communication types that provides a lower response time than the first I/O communication type or the second I/O communication type based at least in part on the collected running averages. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
21. A method, comprising:
-
receiving data requests, by a cache server, from a plurality of client devices over network connections, where the data requests include a request for data; processing the data requests, with at least a processor in the cache server, and returning the data requested by the data requests to a requesting client device, wherein the processing includes using a first I/O communications type from a plurality of I/O communication types; and switching from the first I/O communications type to a second I/O communications type from the plurality of I/O communication types for a different network connection between the cache server and one or more of the client devices, wherein the switching is performed at random times or at pre-designated time intervals; wherein the switching comprises; computing a response time used to satisfy the data requests based on the plurality of I/O communications types that are available; collecting a running average of response times for the plurality of I/O communications types for network connection types with one or more of the client devices; and determining an I/O communications type as the second I/O communications type from the plurality of I/O communications types that provides a lower response time than the first I/O communication type based at least in part on the collected running averages.
-
Specification