Computer Implemented Method For Allocating Wireless Network and Adaptive Video Streaming Resources

20230239742 ยท 2023-07-27

Assignee

Inventors

Cpc classification

International classification

Abstract

A computer implemented method allocates wireless network and adaptive video streaming resources in environments with high device density. The network has one or more access points and at least one user device. The stages of the method include obtaining the information from radio access network or video service telemetry; generating a resource allocation list between each user device and at least one channel with an associated representation index, distributing the resource allocation list, performing at least one handover and at least one video rate recommendation.

Claims

1. A computer implemented method for allocating wireless network and adaptive video streaming resources, wherein the network has at least one user device, the user device receiving an adaptive video stream, and at least one access point, the access point operating at least in one channel, the method comprising the following steps: a) obtaining data at least from radio access network or video service telemetry; b) generating a resource allocation list between each user device and at least one channel with an associated representation index; c) distributing the resource allocation list; d) implementing the resource allocation list performing at least one handover; e) implementing the resource allocation list performing at least one video rate recommendation.

2. A method according to claim 1, wherein the data obtained at least from radio access network or video service telemetry comprises the effective wireless bandwidth experienced by at least one user device in at least one channel and the available airtime in at least one channel.

3. A method according to claim 1, wherein each access point is equipped with at least one monitoring interface that captures the received signal strength indicator of the access points operating in other channels.

4. A method according to claim 1, wherein the step of obtaining data at least from radio access network or video service telemetry comprises achieving at least the number of available representation indexes or the video rates of the video stream at least of one user device.

5. A method according to claim 4, wherein achieving at least the number of available representation indexes or the video rates of the video stream at least of one user device involves inspecting the MPD files or implementing SAND messages to the DASH from at least one user device.

6. A method according to claim 4, wherein generating the resource allocation list between each user device and at least one channel with an associated representation index involves checking whether increasing the representation index associated with at least one user device means that the available airtime in a channel is greater than or equal to 0.

7. A method according to claim 6, wherein the available airtime using an increased representation index is greater than or equal to 0 and involves setting the available airtime in the channel to the available airtime using the increased representation index and setting the increased representation index as the representation index associated to the user device.

8. A method according to claim 6, wherein the channel is different from the channel associated with the user device, the available airtime in the channel associated with the user device is updated and the channel is set as the channel associated with the user device.

9. A method according to claim 6, wherein checking whether increasing the representation index associated with at least one user device means that the available airtime in a channel is greater than or equal to 0 is only performed if the representation index associated with the user device can be increased.

10. A method according to claim 6, wherein the user device is obtained from a list and each item on the list is a tuple with one element of the tuple being the airtime consumed by a user device associated with a channel using a representation index and another element of the tuple being the video rate of the user device using the representation index and the user device is obtained from at least one element of the tuple and the items on the list comprise all the possible combinations between user devices and channels.

11. A method according to claim 10, wherein the parameter of the representation index from any item on the list is initialized with the lowest representation index from the associated user device and the items on the list are sorted in ascending order using the airtime consumed by a user device associated with a channel using a representation index as a primary sorting key and the video rate associated with a representation index as a secondary sorting key.

12. A method according to claim 6, wherein checking whether increasing the representation index associated with at least one user device means that the available airtime in a channel is greater than or equal to 0 it is repeated as long as for at least one of the user devices the representation index is not the maximum representation index or there is any increase in the representation rate associated with at least one user device that allows that the available airtime in a channel is greater than or equal to 0.

13. A method according to claim 1, wherein the step of distributing the resource allocation list involves sending a list of at least one video rate associated with a user device to a server and the server sends a message to each user device on the list with the video rate associated.

14. A method according to claim 1, wherein the step of distributing the resource allocation list involves sending a list of at least one channel associated with a user device to a server and the server sends a message to each implicated access point to trigger the needed handovers.

15. A data processing device comprising means for carrying out the steps of claim 1.

Description

DESCRIPTION OF THE DRAWINGS

[0029] The previous advantages and characteristics, in addition to others, shall be understood more fully in light of the following detailed description of exemplary embodiments, with reference to the drawing attached, which must be taken by way of illustration and not limitation, wherein:

[0030] FIG. 1: It shows an example of state diagram for some of the steps of the method.

DETAILED DESCRIPTION OF THE INVENTION

[0031] As mentioned above, the basic embodiment of the method according to the invention comprises the following steps: [0032] obtaining data at least from radio access network or video service telemetry; [0033] generating a resource allocation list between each user device and one channel with an associated representation index; [0034] distributing the resource allocation list; [0035] implementing the resource allocation list performing at least one handover; [0036] implementing the resource allocation list performing at least one video rate recommendation;

[0037] In a preferential realization, this method is applied in a network that is formed by multiple access points, each of the access points having several channels, and several user devices receiving adaptive video streams, each of which has multiple available representation indexes or video rates.

[0038] In addition, the resource allocation list comprehends a channel assignment and a video rate recommendation per each user of the network.

[0039] To obtain the network information, the method obtains from each access point the effective wireless bandwidth and the available airtime of each of its channels. The effective wireless bandwidth is the nominal PHY data rate achievable given the channel conditions of a client, multiplied by its efficiency, while channel efficiency considers the different channel access and protocol overheads. In a preferred embodiment, each access point has a monitoring interface that collects the received signal strength indicator of the access points operating in other channels.

[0040] In addition, the method obtains the multiple representation indexes and the representation rate associated to each one of the representation indexes. In a preferred embodiment, this is achieved by inspecting the MPD files of the clients or by using SAND extensions.

[0041] Once the information is obtained, a list of tuples is constructed whose first element is the airtime consumed by a user device in a channel using a representation index and the second element is the video rate associated with the representation index for the user device. On the other hand, the channel currently assigned to each user device is saved in a resource allocation list.

[0042] The items in the list are then initialized using each user device lowest representation index. Then, for each channel, its available airtime is calculated by consulting the resource allocation list to obtain the set of user devices that are associated with the channel and, by consulting the list of tuples, to obtain the airtime consumed by the user device in the channel and subtract them from the airtime of the channel.

[0043] The next step (block 104) comprises sorting the items on the list in ascending order using the airtime consumed by a user device associated with a channel using a representation index as a primary sorting key and the video rate associated with a representation index as a secondary sorting key.

[0044] Once the items on the list are initialized, the following steps are performed for each item on the list: [0045] Check if the representation index associated to the user device of the first tuple is the maximum representation index associated to the user device. If they are identical, it goes on to the next element on the list. If they are different, it goes on to the next step. [0046] Check if the channel assigned to the user device in the resource allocation list is the same as the channel of the list element. If so, calculate the available capacity of the channel plus the airtime consumed by the user device using its actual representation index minus the airtime consumed by the user device using the following increased representation index associated to the user device, and check whether it is greater than or equal to zero. In the case of the second affirmative check, the available capacity of the channel is updated with the calculated value, all tuples associated to the user device are updated with the airtime consumed by the user device in the different channels using the following increased representation index associated to the user device and the user device video rate associated to the following increased representation index associated to the user device. Then, go to block 104. In the case of the first negative check, the second check is not performed and the next step is taken. In the case of the second negative check, it is passed to the next element in the list. [0047] Check if the channel assigned to the user device in the resource allocation list is different from the channel of the list element. If so, calculate the available capacity of the channel minus the airtime consumed by the user device using the following increased representation index associated to the user device and check whether it is greater than or equal to zero. In the case of the two affirmative checks, the available capacity of the channel is updated with the calculated value; the capacity of the channel associated to the user device in the resource allocation list is updated by adding to the capacity of the channel associated to the user device in the resource allocation list the airtime consumed by the user device using the representation index; all tuples associated to the user device are updated with the airtime consumed by the user device in the different channels using the following increased representation index associated to the user device and the user device video rate associated to the following increased representation index associated to the user device. The channel assigned to the user device in the resource allocation list is then updated with the channel of the list element. Then, go to block 104. In the case of the first negative check, the second check is not performed and it goes to the next element in the list. In case of being the second negative check, it goes to the next element of the list.

[0048] Once the entire list has been run, all user devices will have the maximum representation index associated with the user device or increasing the representation index associated with the user device implies exceeding the available capacity of any of the channels. This way, the list contains in the second element of the tuple the video rate associated to the representation index for the user device and the resource allocation list contains the channel to be assigned to each user device.

[0049] With this information, a recommended video rate is sent to each client and the necessary handovers are made to implement the resource allocation list.