Dynamic adjustment of bandwidth allocation for an in-progress media session
First Claim
1. A computer-implemented method for dynamically adjusting bandwidth allocation for an in-progress media session, the method comprising:
- receiving, from a client device, a keepalive message during an in-progress media session with another client device, the keepalive message comprising an indication that the client device is connected to the in-progress media session, wherein the keepalive message is received periodically during the in-progress media session, and wherein the media session comprises an audio call or video call;
determining based upon the keepalive message that a new amount of bandwidth has been requested for the in-progress media session;
determining whether the new amount of bandwidth is less than or greater than an amount of bandwidth previously allocated to the in-progress media session bycalculating a delta bandwidth comprising the difference between the new amount of bandwidth and an amount of bandwidth previously allocated to the in-progress media session,determining if the delta bandwidth is available on a network link utilized by the in-progress media session, anddetermining that the new amount of bandwidth can be allocated to the in-progress media session in response to determining that the delta bandwidth is available on the network link;
in response to determining that the new amount of bandwidth that has been requested for the in-progress media session is less than the amount of bandwidth previously allocated to the in-progress media session, granting the request;
in response to determining that the new amount of bandwidth is greater than the amount of bandwidth previously allocated to the in-progress media session, determining whether the new amount of bandwidth can be allocated to the in-progress media session;
in response to determining that the new amount of bandwidth can be allocated to the in-progress media session, allocating the new amount of bandwidth to the in-progress media session and transmitting, to the client device, a response to the keepalive message indicating that the new amount of bandwidth has been allocated to the media session; and
transmitting, to the client device, a response to the keepalive message indicating that the new amount of bandwidth has not been allocated to the media session in response to determining that the new amount of bandwidth cannot be allocated to the in-progress media session, wherein the response specifies a particular amount of bandwidth that can be utilized by the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A client in a media session periodically transmits a “keepalive” message that indicates that a new amount of bandwidth is requested for the in-progress media session. A bandwidth policy service receives the keepalive message and determines whether the new amount of bandwidth can be allocated to the in-progress media session. If the service determines that the new amount of bandwidth can be allocated to the session, the service transmits a response to the keepalive message that indicates that the new amount of bandwidth has been allocated to the media session. The client receives the response and adjusts the bandwidth utilized by the in-progress session to the new amount of bandwidth.
27 Citations
11 Claims
-
1. A computer-implemented method for dynamically adjusting bandwidth allocation for an in-progress media session, the method comprising:
-
receiving, from a client device, a keepalive message during an in-progress media session with another client device, the keepalive message comprising an indication that the client device is connected to the in-progress media session, wherein the keepalive message is received periodically during the in-progress media session, and wherein the media session comprises an audio call or video call; determining based upon the keepalive message that a new amount of bandwidth has been requested for the in-progress media session; determining whether the new amount of bandwidth is less than or greater than an amount of bandwidth previously allocated to the in-progress media session by calculating a delta bandwidth comprising the difference between the new amount of bandwidth and an amount of bandwidth previously allocated to the in-progress media session, determining if the delta bandwidth is available on a network link utilized by the in-progress media session, and determining that the new amount of bandwidth can be allocated to the in-progress media session in response to determining that the delta bandwidth is available on the network link; in response to determining that the new amount of bandwidth that has been requested for the in-progress media session is less than the amount of bandwidth previously allocated to the in-progress media session, granting the request; in response to determining that the new amount of bandwidth is greater than the amount of bandwidth previously allocated to the in-progress media session, determining whether the new amount of bandwidth can be allocated to the in-progress media session; in response to determining that the new amount of bandwidth can be allocated to the in-progress media session, allocating the new amount of bandwidth to the in-progress media session and transmitting, to the client device, a response to the keepalive message indicating that the new amount of bandwidth has been allocated to the media session; and transmitting, to the client device, a response to the keepalive message indicating that the new amount of bandwidth has not been allocated to the media session in response to determining that the new amount of bandwidth cannot be allocated to the in-progress media session, wherein the response specifies a particular amount of bandwidth that can be utilized by the client. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for dynamically adjusting bandwidth allocation for an in-progress media session, the method comprising:
-
determining whether a new amount of bandwidth is required for an in-progress media session between a client device and another client device by calculating a delta bandwidth comprising the difference between the new amount of bandwidth and an amount of bandwidth previously allocated to the in-progress media session, wherein the media session comprises an audio call or a video call; in response to determining the new amount of bandwidth required for the in-progress media session, transmitting, from the client device, a keepalive message during the in-progress media session requesting the new amount of bandwidth for the in-progress media session, the keepalive message comprising an indication that the client device is connected to the in-progress media session, wherein the keepalive message is transmitted periodically during the in-progress media session, wherein a server determines if the delta bandwidth is available on a network link utilized by the in-progress media session, and determines that the new amount of bandwidth can be allocated to the in-progress media session in response to determining that the delta bandwidth is available on the network link, and wherein a server grants the request for the new amount of bandwidth if the new amount of bandwidth is less than the amount of bandwidth previously allocated to the in-progress media session; receiving, at the client device, a response to the keepalive message; determining based upon the response to the keepalive message whether the request for the new amount of bandwidth for the in-progress media session was granted; in response to determining that the request for the new amount of bandwidth for the in-progress media session was granted, adjusting, at the client device, the bandwidth utilized by the in-progress media session to the new amount of bandwidth; and in response to determining that the request for the new amount of bandwidth for the in-progress media session was not granted, adjusting, at the client device, the bandwidth utilized by the in-progress media session to a particular amount of bandwidth specified in the response to the keepalive message. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-readable storage medium not including a signal and having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
receive, from a client device, a periodic keepalive message during an in-progress media session, the keepalive message comprising an indication that the client device is connected to the in-progress media session with another client device, wherein the in-progress media session comprises an audio call or a video call; determine based upon the keepalive message that a new amount of bandwidth has been requested for the in-progress media session; determining whether the new amount of bandwidth is less than or greater than an amount of bandwidth previously allocated to the in-progress media session; in response to determining that the new amount of bandwidth is less than the amount of bandwidth previously allocated to the in-progress media session, granting the request; in response to determining that the new amount of bandwidth that has been requested for the in-progress media session is greater than the amount of bandwidth previously allocated to the in-progress media session, determine whether the new amount of bandwidth can be allocated to the in-progress media session by calculating a delta bandwidth comprising the difference between the new amount of bandwidth and an amount of bandwidth previously allocated to the in-progress media session, determining if the delta bandwidth is available on a network link utilized by the in-progress media session, and determining that the new amount of bandwidth can be allocated to the in-progress media session in response to determining that the delta bandwidth is available on the network link; in response to determining that the new amount of bandwidth can be allocated to the in-progress media session, to allocate the new amount of bandwidth to the in-progress media session and to transmit, to the client device, a response to the keepalive message indicating that the new amount of bandwidth has been allocated to the media session; and in response to determining that the new amount of bandwidth cannot be allocated to the in-progress media session, to transmit a response to the keepalive message indicating that the new amount of bandwidth has not been allocated to the media session, wherein the response specifies a particular amount of bandwidth that can be utilized by the client. - View Dependent Claims (10, 11)
-
Specification