System and method for efficiently managing data transports
First Claim
Patent Images
1. A method implemented on a data processing device communicatively coupled to a network comprising:
- associating interactive applications with a first type of socket connection and non-interactive applications with a second type of socket connection;
in response to detecting that an interactive application needs to transmit or receive data over the network, opening a first socket connection of the first type for the interactive application and allocating a first amount of bandwidth to the first socket connection by setting a maximum data transport window size for the first socket connection to a first value;
in response to detecting that a non-interactive application needs to transmit or receive data over the network, opening a second type of socket connection for the non-interactive application and allocating a second amount of bandwidth to the second socket connection by periodically setting a maximum data transport window size for the second socket connection to a second value and then resetting the maximum data transport window size to a third value once a specified amount of data has been transmitted, wherein the third value is less than the first value and the second value, and further wherein the second socket connection remains open concurrently with the first socket connection, and further wherein the second value is related to how many concurrent socket connections exist when the second socket connection is initially opened and a priority associated with each concurrent socket connection;
in response to detecting that a first type of socket connection is no longer being used by the interactive application, automatically increasing the second amount of bandwidth to the second socket connection by increasing the maximum data transport window size for the second socket connection; and
in response to detecting that a first type of socket connection is again being used by the interactive application, automatically decreasing the second amount of bandwidth to the second socket connection by again periodically setting a maximum data transport window size for the second socket connection to the second value and then resetting the maximum data transport window size to a third value once a specified amount of data has been transmitted, wherein the third value is less than the first value and the second value,wherein the increasing the second amount of bandwidth to the second socket connection automatically increases the maximum data transport window size of the second socket connection after each of a plurality of successive predetermined time intervals and automatically reset the maximum data transport window size of the second socket connection upon transmitting the second-maximum data window size amount of data over the second socket connection.
4 Assignments
0 Petitions
Accused Products
Abstract
A system is described for allocating bandwidth comprising: a transport layer to support a first socket connection for a first application and a second socket connection for a second application; and a socket prioritization module to allocate relatively more bandwidth to the first socket connection relative to the second socket connection, wherein allocation of bandwidth is based on one or more characteristics of the first application and/or the second application.
106 Citations
17 Claims
-
1. A method implemented on a data processing device communicatively coupled to a network comprising:
-
associating interactive applications with a first type of socket connection and non-interactive applications with a second type of socket connection; in response to detecting that an interactive application needs to transmit or receive data over the network, opening a first socket connection of the first type for the interactive application and allocating a first amount of bandwidth to the first socket connection by setting a maximum data transport window size for the first socket connection to a first value; in response to detecting that a non-interactive application needs to transmit or receive data over the network, opening a second type of socket connection for the non-interactive application and allocating a second amount of bandwidth to the second socket connection by periodically setting a maximum data transport window size for the second socket connection to a second value and then resetting the maximum data transport window size to a third value once a specified amount of data has been transmitted, wherein the third value is less than the first value and the second value, and further wherein the second socket connection remains open concurrently with the first socket connection, and further wherein the second value is related to how many concurrent socket connections exist when the second socket connection is initially opened and a priority associated with each concurrent socket connection; in response to detecting that a first type of socket connection is no longer being used by the interactive application, automatically increasing the second amount of bandwidth to the second socket connection by increasing the maximum data transport window size for the second socket connection; and in response to detecting that a first type of socket connection is again being used by the interactive application, automatically decreasing the second amount of bandwidth to the second socket connection by again periodically setting a maximum data transport window size for the second socket connection to the second value and then resetting the maximum data transport window size to a third value once a specified amount of data has been transmitted, wherein the third value is less than the first value and the second value, wherein the increasing the second amount of bandwidth to the second socket connection automatically increases the maximum data transport window size of the second socket connection after each of a plurality of successive predetermined time intervals and automatically reset the maximum data transport window size of the second socket connection upon transmitting the second-maximum data window size amount of data over the second socket connection. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for allocating bandwidth comprising:
-
a transport layer to support a first socket connection for a first application and a second socket connection for a second application, wherein the second socket connection remains open concurrently with the first socket connection; and a socket prioritization module to allocate relatively more bandwidth to said first socket connection relative to said second socket connection by using a larger maximum data transport window size for the first socket connection than the maximum data transport window size used for the second socket connection, wherein allocation of bandwidth by the socket prioritization module is in response to detecting that the second application needs to transmit or receive data over a network, based on one or more characteristics of said first application and said second application, and automatically increases the maximum data transport window size of the second socket connection after each of a plurality of successive predetermined time intervals and automatically resets the maximum data transport window size of the second socket connection upon transmitting the second-maximum data window size amount of data over the second socket connection, wherein the maximum data transport window size used for the second socket connection is related to how many concurrent socket connections exist when the second socket connection is initially opened and a priority associated with each concurrent socket connection. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
in response to detecting that an application needs to transmit or receive data over a network, initiating a new socket connection within a network transport layer on a data processing device; determining whether any other socket connections are active on said data processing device; comparing a priority value associated with said new socket connection with said active socket connections; and in further response to detecting that the application needs to transmit or receive data over the network, decreasing bandwidth to an active socket connection of said active socket connections if said priority value associated with said new socket connection is higher relative to said active socket connection, wherein decreasing bandwidth includes automatically decreasing a maximum data window size of the active socket connection after each of a plurality of predetermined time intervals; and
automatically resetting the maximum data window size of the active socket connection upon transmitting the bandwidth of the active socket of data over the active socket connection, and further wherein the maximum data window size is related to how many other active socket connections exist when the active socket connection is initially opened and the Priority value associated with the active socket connection and each of the other active socket connections. - View Dependent Claims (14, 15, 16, 17)
-
Specification