Providing enhanced data retrieval from remote locations
First Claim
1. A method for a computing system that hosts multiple virtual machine nodes to enhance access of the hosted virtual machine nodes to remote data, the method comprising:
- under control of a node manager software system that is executing on the computing system to manage operations of the multiple virtual machine nodes,intercepting communications sent from the virtual machine nodes to remote network-accessible Web services provided by remote computing systems, one or more of the intercepted communication being sent to a first remote Web service to obtain functionality provided by the first remote Web service, and one or more other of the intercepted communications being sent to a distinct second remote Web service in order to retrieve requested data stored by the second remote Web service, the second remote Web service providing data to clients by transmitting data stored on storage devices of the second remote Web service via one or more intermediate devices of the second remote Web service, the first and second remote Web services being separated from the computing system by one or more intervening computer networks, and the node manager software system not being part of either of the first and second remote Web services;
for each of the one or more intercepted communications sent to the first remote Web service, forwarding the intercepted communication to the first remote Web service over the One or more intervening computer networks without altering the forwarded communication; and
for each of the one or more other intercepted communications sent to the second remote Web service, automatically altering the intercepted communication by;
identifying one or more of the storage devices of the second remote Web service that store the data requested by the virtual machine node that sent the intercepted communication;
altering the intercepted communication to obtain the requested data directly from the identified storage devices of the second remote Web service such that the requested data will not be transmitted via the one or more intermediate devices of the second remote Web service; and
sending the altered communication to the second remote Web service over the one or more intervening computer networks on behalf of the virtual machine node that sent the intercepted communication.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for providing client computing nodes with enhanced access to data from remote locations, such as by providing and using local capabilities specific to the remote locations. In at least some situations, the access of a client computing node to data from a remote location may be enhanced by automatically performing activities local to the client computing node that improve the efficiency of communications sent between the client computing node and the remote location. As one example, access to data from a remote service may be enhanced by locally performing activities specific to the remote service, such as by using information about the remote service'"'"'s internal mechanisms to cause the desired data to be provided from internal storage devices of the remote service without passing through front-end or other intermediate devices of the remote service while traveling to the client computing node.
86 Citations
34 Claims
-
1. A method for a computing system that hosts multiple virtual machine nodes to enhance access of the hosted virtual machine nodes to remote data, the method comprising:
under control of a node manager software system that is executing on the computing system to manage operations of the multiple virtual machine nodes, intercepting communications sent from the virtual machine nodes to remote network-accessible Web services provided by remote computing systems, one or more of the intercepted communication being sent to a first remote Web service to obtain functionality provided by the first remote Web service, and one or more other of the intercepted communications being sent to a distinct second remote Web service in order to retrieve requested data stored by the second remote Web service, the second remote Web service providing data to clients by transmitting data stored on storage devices of the second remote Web service via one or more intermediate devices of the second remote Web service, the first and second remote Web services being separated from the computing system by one or more intervening computer networks, and the node manager software system not being part of either of the first and second remote Web services; for each of the one or more intercepted communications sent to the first remote Web service, forwarding the intercepted communication to the first remote Web service over the One or more intervening computer networks without altering the forwarded communication; and for each of the one or more other intercepted communications sent to the second remote Web service, automatically altering the intercepted communication by; identifying one or more of the storage devices of the second remote Web service that store the data requested by the virtual machine node that sent the intercepted communication; altering the intercepted communication to obtain the requested data directly from the identified storage devices of the second remote Web service such that the requested data will not be transmitted via the one or more intermediate devices of the second remote Web service; and sending the altered communication to the second remote Web service over the one or more intervening computer networks on behalf of the virtual machine node that sent the intercepted communication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A computing system configured to provide improved access to data from remote services, the computing system comprising:
-
one or more processors; a memory storing instructions that, when executed by the one or more processors, configure resources of the configured computing system to execute multiple virtual machine nodes; and a node manager system configured to, when executed on the configured computing system by at least one of the one or more processors, manage operations of the multiple virtual machine nodes, the managing of the operations including; obtaining one or more first communications that are each initiated by one of the virtual machine nodes and intended for a first remote network-accessible service in order to obtain requested data from the first remote network-accessible service via one or more intermediate devices of the first remote network-accessible service, the first remote network-accessible service being unaffiliated with the node manager system and being provided by one or more first remote computing systems that are separated from the configured computing system by one or more intervening networks; obtaining one or more second communications initiated by the virtual machine nodes and intended for a second remote network-accessible service in order to obtain indicated functionality from the second remote network-accessible service, the second remote network-accessible service being provided by one or more second remote computing systems that are separated from the configured computing system by the one or more intervening networks; sending each of the obtained one or more second communications to the second remote network-accessible service over the one or more intervening networks without altering contents of the obtained second communication; and for each of the obtained one or more first communications; altering the obtained first communication to cause the first remote network-accessible service to provide the requested data without sending the requested data via at least one of the one or more intermediate devices of the first remote network-accessible service; and sending the altered communication to the first remote network-accessible service over the one or more intervening networks on behalf of the virtual machine node that initiated the obtained first communication. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having stored contents that, when executed, configure a computing system to provide improved access to data from remote services, by:
-
configuring resources of the configured computing system to execute multiple virtual machine nodes; and managing, by a node manager system executing on the configured computing system, operations of the multiple virtual machine nodes, the managing of the operations including; obtaining one or more first communications that are each initiated by one of the virtual machine nodes and intended for a first remote network-accessible service in order to obtain requested data from the first remote network-accessible service via one or more intermediate devices of the first remote network-accessible service, the first remote network-accessible service being unaffiliated with the node manager system and being provided by one or more first remote computing systems that are separated from the configured computing system by one or more intervening networks; obtaining one or more second communications initiated by the virtual machine nodes and intended for a second remote network-accessible service in order to obtain indicated functionality from the second remote network-accessible service, the second remote network-accessible service being provided by one or more second remote computing systems that are separated from the configured computing system by the one or more intervening networks; sending each of the obtained one or more second communications to the second remote network-accessible service over the one or more intervening networks without altering contents of the obtained second communication; and for each of the obtained one or more first communications; altering the obtained first communication to cause the first remote network-accessible service to provide the requested data without sending the requested data via at least one of the one or more intermediate devices of the first remote network-accessible service; and sending the altered first communication to the first remote network-accessible service over the one or more intervening networks on behalf of the virtual machine node that initiated the obtained first communication. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification