Bandwidth and latency controller
First Claim
Patent Images
1. A server computer comprising:
- a memory;
a processor operatively coupled to the memory; and
a controller stored in the memory and executed by the processor to control bandwidth distribution and latency in a remote computing environment, the controller including;
at least one bandwidth allocator that allocates a session bandwidth to a remote session between the server computer and a client device in the remote computing environment, based on a size of available bandwidth and a predetermined size of bandwidth for the client device, the session bandwidth allocated to test stability and functionality of an application over the remote session to determine at least one minimum bandwidth requirement for remote deployment of the application, the controller operating to test stability and working of one or more applications over the remote session under at least one condition of the allocated session bandwidth, wherein the testing is for development of one or more features of the one or more applications under a limitation of the allocated session bandwidth to determine that the one or more applications are stable when deployed remotely; and
at least one delay injector that injects one or more delays into one or more data packets transferred between the server computer and the client device when a bandwidth consumption in the remote session is greater than the allocated session bandwidth.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods described relate to controlling bandwidth and latency in a remote computing environment. A controller establishes a remote session between a client and a remote server. Data transfer between the client and the remote server is routed through the controller. The controller regulates bandwidth consumption and latency in the remote session by simulating a session bandwidth that can be less than the available bandwidth and by injecting delays into data packets transferred in the remote session. Such systems and methods can be used to prioritize remote client sessions and test deployment of applications in a remote computing environment.
34 Citations
18 Claims
-
1. A server computer comprising:
-
a memory; a processor operatively coupled to the memory; and a controller stored in the memory and executed by the processor to control bandwidth distribution and latency in a remote computing environment, the controller including; at least one bandwidth allocator that allocates a session bandwidth to a remote session between the server computer and a client device in the remote computing environment, based on a size of available bandwidth and a predetermined size of bandwidth for the client device, the session bandwidth allocated to test stability and functionality of an application over the remote session to determine at least one minimum bandwidth requirement for remote deployment of the application, the controller operating to test stability and working of one or more applications over the remote session under at least one condition of the allocated session bandwidth, wherein the testing is for development of one or more features of the one or more applications under a limitation of the allocated session bandwidth to determine that the one or more applications are stable when deployed remotely; and at least one delay injector that injects one or more delays into one or more data packets transferred between the server computer and the client device when a bandwidth consumption in the remote session is greater than the allocated session bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method performed at a computing device for allocating bandwidth in a remote computing environment comprising:
-
under control of one or more processors with executable instructions, receiving a request from a client to establish a connection; establishing the connection to the client using a port that is determined based at least in part on whether the client is in a user group; determining available bandwidth for a remote session to the client; determining one or more control settings corresponding to the client, the control settings including a predetermined bandwidth for the client; allocating a session bandwidth to the remote session based on the predetermined bandwidth and the available bandwidth; injecting one or more delays into one or more data packets forwarded to the client, when data traffic in the remote session exceeds the allocated session bandwidth; and testing stability and working of one or more applications over the remote session under at least one condition of the allocated session bandwidth, wherein the testing is for development of one or more features of the one or more applications under a limitation of the allocated session bandwidth to determine that the one or more applications are stable when deployed remotely. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method performed at a server computer, for regulating bandwidth and latency comprising:
-
under control of one or more processors with executable instructions, receiving a request for deploying one or more applications; determining one or more control settings corresponding to the one or more applications; regulating a session bandwidth associated with a remote session between a client device and the server computer; testing stability and working of the one or more applications over the remote session under at least one condition of the regulated session bandwidth, wherein the testing is for development of one or more features of the one or more applications under a limitation of the regulated session bandwidth to determine that the one or more applications are stable when deployed remotely; and injecting one or more delays into one or more data packets transferred during the remote session, to ensure that a rate of data transfer in the remote session conforms with the session bandwidth. - View Dependent Claims (16, 17, 18)
-
Specification