DELIVERING CONTENT IN MULTIPLE AREAS USING HIERARCHICAL AREA IDENTIFIERS
20210152383 · 2021-05-20
Inventors
Cpc classification
H04L65/4061
ELECTRICITY
H04L12/1845
ELECTRICITY
H04W4/06
ELECTRICITY
International classification
Abstract
A method for delivering content. In some embodiments, the method includes a network node adding a first area identifier, AI, to a set of AIs and, after adding the first AI to the set of AIs, determining that an optimized set of AIs should be created. The network node then performs a process for producing the optimized set of AIs, where the process includes: removing from the set of AIs a certain subset of AIs and adding to the set of AIs a second AI. The network node transmits to a second network node a message comprising information identifying each AI included in the optimized set of AIs.
Claims
1. A method, performed by a first network node, for delivering content, the method comprising: the first network node adding a first area identifier, AI, to a set of AIs; after adding the first AI to the set of AIs, the first network node determining that an optimized set of AIs should be created; the first network node performing a process for producing the optimized set of AIs, the process comprising: removing from the set of AIs a certain subset of AIs and adding to the set of AIs a second AI, the second AI identifying a set of cells, wherein each one of the AIs included in the certain subset of AIs identifies a subset of the cells included in the set of cells identified by the second AI; and the first network node transmitting to a second network node a message comprising information identifying each AI included in the optimized set of AIs.
2. The method of claim 1, wherein determining that an optimized set of AIs should be created comprises the first network node determining whether N is greater than T, wherein N is the number of AIs included in the set of AIs and T is a predetermined threshold.
3. The method of claim 1, further comprising, prior to adding the first AI to the set of AIs: the first network node determining the total number of user equipments, UEs, that are i) being served by a cell identified by the first AI and ii) consuming or preparing to consume a certain item of content; the first network node determining whether the determined total number of UEs exceeds a threshold; and the first network node deciding to add the first AI to the set of AIs as a result of determining that the determined total number of UEs exceeds the threshold.
4. The method of claim 1, wherein the process for producing the optimized set of AIs further comprises selecting an AI from a group of AIs comprising the second AI and a third AI, wherein the selected AI is the second AI.
5. The method of claim 4, further comprising: for each AI included in the group of AIs, assigning a priority to the AI, wherein selecting an AI from the group of AIs comprises selecting from the group of AIs an AI having the highest priority.
6. The method of claim 5, wherein each AI included in the certain subset of AIs is associated with a value and a weight, and assigning a priority to the second AI comprises calculating a score using the values and weights associated with the AIs included in the certain subset of AIs.
7. The method of claim 6, wherein calculating the score comprises: calculating V1×W1+V2×W2; and calculating W1+W2, wherein V1 is a first value associated with a first AI included in the subset of AIs, V2 is a second value associated with a second AI included in the subset of AIs, W1 is a first weight associated with the first AI included in the subset of AIs, and W2 is a second weight associated with the second AI included in the subset of AIs.
8. The method of claim 4, wherein the set of AIs further includes the third AI, wherein the third AI identifies a set of cells, determining that an optimized set of AIs should be created comprises determining that the second AI has a higher priority than the third AI, and the process for producing the optimized set of AIs further comprises removing the third AI from the set of AIs and adding to the set of AIs a second plurality of AIs, wherein each AI included in the second plurality of AIs identifies a subset of the cells included in the set of cells identified by the third AI.
9. The method of claim 1, wherein the first network node is a 3GPP Broadcast Multicast Service Center (BM-SC), and the second network node is a 3GPP MBMS-GW.
10. The method of claim 9, wherein the message is one of: a session start message and a session update message.
11. A first network node for delivering content, the first network node comprising: a processor, and a memory device coupled to the processor and having instructions stored therein that are executable by the processor to cause the first network node to: add a first area identifier, AI, to a set of AIs; after adding the first AI to the set of AIs, determine that an optimized set of AIs should be created; perform a process for producing the optimized set of AIs, the process comprising: removing from the set of AIs a certain subset of AIs and adding to the set of AIs a second AI, the second AI identifying a set of cells, wherein each one of the AIs included in the certain subset of AIs identifies a subset of the cells included in the set of cells identified by the second AI; and transmit to a second network node a message comprising information identifying each AI included in the optimized set of AIs.
12. The first network node of claim 11, wherein determining that an optimized set of AIs should be created comprises the first network node determining whether N is greater than T, wherein N is the number of AIs included in the set of AIs and T is a predetermined threshold.
13. The first network node of claim 11, wherein the instructions are further executable by the processor to cause the first network node to, prior to adding the first AI to the set of AIs: determine the total number of user equipments, UEs, that are i) being served by a cell identified by the first AI and ii) consuming or preparing to consume a certain item of content; determine whether the determined total number of UEs exceeds a threshold; and decide to add the first AI to the set of AIs as a result of determining that the determined total number of UEs exceeds the threshold.
14. The first network node of claim 11, wherein the instructions are further executable by the processor to cause the process for producing the optimized set of AIs further to select an AI from a group of AIs comprising the second AI and a third AI, wherein the selected AI is the second AI.
15. The first network node of claim 14, wherein the instructions are further executable by the processor to cause the first network node to: for each AI included in the group of AIs, assign a priority to the AI, wherein selecting an AI from the group of AIs comprises selecting from the group of AIs an AI having the highest priority.
16. The first network node of claim 15, wherein each AI included in the certain subset of AIs is associated with a value and a weight, and assigning a priority to the second AI comprises calculating a score using the values and weights associated with the AIs included in the certain subset of AIs.
17. The first network node of claim 16, wherein calculating the score comprises: calculating V1×W1+V2×W2; and calculating W1+W2, wherein V1 is a first value associated with a first AI included in the subset of AIs, V2 is a second value associated with a second AI included in the subset of AIs, W1 is a first weight associated with the first AI included in the subset of AIs, and W2 is a second weight associated with the second AI included in the subset of AIs.
18. The first network node of claim 14, wherein the set of AIs further includes the third AI, wherein the third AI identifies a set of cells, determining that an optimized set of AIs should be created comprises determining that the second AI has a higher priority than the third AI, and the process for producing the optimized set of AIs further comprises removing the third AI from the set of AIs and adding to the set of AIs a second plurality of AIs, wherein each AI included in the second plurality of AIs identifies a subset of the cells included in the set of cells identified by the third AI.
19. The first network node of claim 11, wherein the first network node is a 3GPP Broadcast Multicast Service Center (BM-SC), and the second network node is a 3GPP MBMS-GW.
20. (canceled)
21. A computer program, comprising instructions which, when executed by a first network node, cause the first network node to carry out the method of claim 1.
22. A carrier containing the computer program of claim 21, wherein the carrier is one of an electronic signal, optical signal, radio signal, and computer readable storage medium.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DETAILED DESCRIPTION
[0037]
[0038] In the example of
[0039] Once the areas are determined, first network node 101 transmits to second network node 102 a control message (e.g., a session start message, a session update message, etc.) comprising information identifying each of the determined areas, which causes network node 102 to send to network node 103 a control message comprising information identifying each of the determined areas. For example, the messages include a list of area identifiers (AIs) (e.g., a list of service area codes, wherein each code identifies an SAI). In some embodiments, each AI included in the list can be used by the third network node 103 to identify a set of one or more access points. For example, each access point can be configured with a set of AIs and each access point can send to the third network node 103 a message that includes each of the AIs with which the access point is configured. The third network node 103 can then use this information to create and store a table (or other data structure) that maps AIs to access points. Hence, when the third network node 103 receives an AI from the second network node 102, the third network node 103 can use the table to determine all of the access points that are configured with the received AI.
[0040] In some embodiments, as shown in
[0041]
[0042] In step s302, the first network node adds a first AI (e.g., AI1000) to a set of AIs. For example, the first network node may add the first AI to the set of AIs as a consequence of determining that the value X is greater than a threshold, wherein X is the number of UEs that i) are being served by an access point included in a set of access points identified by the first AI and ii) are interested in certain content.
[0043] In step s304, after adding the first AI to the set of AIs, the first network node determines that an optimized set of AIs should be created. In some embodiments, determining that an optimized set of AIs should be created comprises the first network node determining whether N is greater than T, wherein N is the number of AIs included in the set of AIs and T is a predetermined threshold (e.g., T=256).
[0044] In step s306, the first network node performs a process for producing the optimized set of AIs. The process includes: removing from the set of AIs a certain subset of AIs and adding to the set of AIs a second AI (e.g., AI100), thereby producing the optimized set of AI. Advantageously, the second AI (e.g., AI100) identifies a set of cells (e.g., the second AI is used to identify a set of one or more access points), and each one of the AIs included in the certain subset of AIs identifies a subset of the cells included in the set of cells identified by the second AI. For instance, using the AI hierarchy shown in
[0045] In step s308, the first network node transmits to the second network node a control message comprising information identifying each AI included in the optimized set of AIs (e.g., a message comprising a list of MBMS service area codes).
[0046] The above process is very useful in situations in which, to reduce the amount of data that is transmitted between first network node 101 and second network node 102, a limit has been imposed on the number of AIs that can be included in the list of AIs included in the control message. For example, the limit may be 256 AIs.
[0047] In some embodiments, process 300 further includes, prior to adding the first AI to the set of AIs: the first network node determining the total number of UEs that are i) being served by a cell identified by the first AI and ii) consuming a certain item of content; the first network node determining whether the determined total number of UEs exceeds a threshold; and the first network node deciding to add the first AI to the set of AIs as a result of determining that the determined total number of UEs exceeds the threshold.
[0048] In some embodiments, the process for producing the optimized set of AIs further comprises selecting an AI from a group of AIs comprising the second AI and a third AI (e.g., AI200), wherein the selected AI is the second AI. In some embodiments, for each AI included in the group of AIs, the first network node assigned a priority to the AI, wherein selecting an AI from the group of AIs comprises selecting from the group of AIs an AI having the “highest” priority. For example, AI100 may be given a priority of P1 and AI200 may be given a priority of P2, where P1 is a “higher” priority than P2 (e.g., P1>P2 or P1<P2). In some embodiments, each AI included in the certain subset of AIs is associated with a value and a weight, and assigning a priority to the second AI comprises calculating a score using the values and weights associated with the AIs included in the certain subset of AIs. For example, if we assume that: a) the certain subset of AIs consists of AI1001 and AI10002, b) AI1001 is associated with value V1 and weight W1, and c) AI1002 is associated with value V2 and weight W2, then the first network node calculates the score for AI100 by calculating: (V1×W1+V2×W2)/(W1+W2). In some embodiments, the score calculated for AI100 is the priority value assigned to AI100. In some embodiments, the weight assigned to an AI is based on the number of access points or cells that the AI identifies.
[0049] In some embodiments, the set of AIs further includes the third AI (e.g. AI200), wherein the third AI identifies a set of cells, the step of determining that an optimized set of AIs should be created comprises determining that the second AI has a higher priority than the third AI, and the process for producing the optimized set of AIs further comprises removing the third AI from the set of AIs and adding to the set of AIs a second plurality of AIs, wherein each AI included in the second plurality of AIs identifies a subset of the cells included in the set of cells identified by the third AI.
[0050]
[0051]
[0052] In step s502, BM-SC 401 sends to MBMB-GW 402 a session start message identifying a set of SAIs (i.e., the message includes a list of service area codes).
[0053] In step s504, BM-SC 401 collects consumption reports from UEs and maps each UE to a local SAI (a “local” SAI is an SAI that does not encompass any other SAI). An example of a local SAI is AI1000 shown in
[0054] In step s506, based on the consumption reports, BM-SC 401 decides to add at least one local SAI to the set of SAIs, thereby producing an updated set of SAIs.
[0055] In step s508, BM-SC 401 determines whether the set of SAIs is too large (e.g., determines whether the set contains more than 256 SAIs). If the SAI is not too large the process may proceed to step s514, otherwise the process proceeds to step 510.
[0056] In step s510, BM-SC 401 selects a non-local SAI from a set of two or more non-local SAIs. A non-local SAI is an SAI that encompasses as set of two or more local SAIs.
[0057] In step s512, BM-SC 401 adds the selected non-local SAI to the set of SAIs and removes from the set of SAIs all of the SAIs that are encompassed by the selected non-local SAI. In some embodiments, if, after removing the local SAIs from the set, the number of SAIs in the set is less than 256 (e.g., less than 200) then BM-SC 401 may determine whether there exists in the set of SAIs a non-local SAI that can be removed from the set. A non-local SAI can be removed from the set if the number of local SAIs encompassed by the non-local SAI that would need to be added to the set if the non-local SAI was removed is less than or equal to a threshold, where the threshold is defined as 257-N, were N is the number of SAIs included in the set after step s512 is performed. Assuming such a non-local SAI exists, then BM-SC 401 may remove the non-local SAI from the set and add to the set each local SAI that is encompassed by the non-local SAI and that needs to be added to the set (a local SAI that is encompassed by the non-local SAI needs to be added to the set when the number of interested UEs located in the area encompassed by the local SAI exceeds a certain threshold). In this way, the updated set of SAIs is optimized.
[0058] In step s514, BM-SC 401 transmits to MBMS-GW 402 a session update message comprising information identifying each SAI included in the updated, optimized set of SAIs. After step s514, the process may go back to step s504.
[0059] With respect to step s510, in one embodiment, BM-SC 401 selects a non-local SAI from the set of two or more non-local SAIs by calculating a score (or “average UE ratio”) for each non-local SAI included in the set of non-local SAIs. The average UE ratio for a non-local SAI is calculated based on the UE ratio for each local SAI that is encompassed by the non-local SAI. For example, assume SAI100 encompasses the following local SAIs: SAI1000 to SAI1020, then the average UE ratio for SAI100 can be calculated as: ((SAI1000−UE-Ratio×SAI1000−weight)+ . . . +(SAI1020−UE-Ratio×SAI1020−weight))/(SAI1000−weight+ . . . +SAI1020−weight). The UE ratio for a local SAI can be simply defined as 1 for area reaching the defined UE threshold, i.e. broadcast need to be activated in the area, and 0 for area not reaching the defined UE threshold, i.e. broadcast is not needed in the area. This is more suitable when the local areas have similar size. More complex UE ratio can also be used to have more fine grained optimization. For example, the UE ratio for a local SAI can be defined as the number of interested UEs in the local area divided by the number of cells in the local area. The weight assigned to a local SAI can be defined as 1, if the local areas have similar size, otherwise the weight can be defined based on the number of the cells in the area in order to have a more accurate radio resource utilization comparison between different areas.
[0060]
[0061] Step 1: BM-SC sends the session start request (e.g. Temporary Mobile Group Identity (TMGI), flow, SAI list and other parameters) to MBMS-GW, MBMS-GW assign the resources for the session and then sends a session start success response back to BM-SC.
[0062] Step 2: MBMS-GW send the session start request (TMGI, flow, SAI list and other parameters) to an MME to start the session. The MME may send back to MBMS-GW a session start response (not shown in the figure) as soon as the session request is accepted to by a RAN node.
[0063] Step 3: MME sends the session start request (TMGI, SAI1 and other parameters) to eNB1, eNB1 assigns the RAN resource and send the session start success response back to MME.
[0064] Step 4: MMEs send the session start request (TMGI, SAI2 and other parameters) to eNB2, eNB2 assigns the RAN resource and send the session start success response back to MME.
[0065] Step 5: MME send the session start request (TMGI, SAIn and other parameters) to eNBn, eNBn assigns the RAN resource and send the session start success response back to MME.
[0066] Steps 6.7.8: eNBs establishes the necessary radio resources for the transfer of MBMS data to the interested UEs.
[0067] Step 9: The BM-SC starts sending the MBMS data, all relevant eNBs receiver IP Multicast distribution data and broadcast/multicast to the interested UEs.
[0068] Step 10: BM-SC would like to offload traffic in a new traffic area since the traffic volume in this area exceeds a certain threshold. For example, as described above, BM-SC may receive consumption reports from UEs and based on the consumption reports the BM-SC may determine that at least a threshold number of UEs that are mapped to a local SAI are consuming the MBMS data. As a result of this determination, the BM-SC adds the local SAI to the SAI list.
[0069] Step 11: BM-SC detects that the number of SAIs in the SAI list exceed the 256 due to more SAIs are added into the broadcast area. Accordingly, BM-SC decides to replace a set of local SAIs with a non-local SAI. More specifically, as described above with respect to steps s512, BM-SC removes from the list of SAIs all of the local SAIs that are encompassed by the non-local SAI.
[0070] Step 12: BM-SC send the session update request to MBMS-GW with the new SAI list.
[0071] Step 13: MBMS-GW sends the session update request to the impacted MMEs.
[0072] Step 14: MME detects that the SAI of eNB1 is changed from local SAI1000 to the reginal SAI100.
[0073] Step 15: MME send the session update with SAI100 to the eNB1.
[0074] Step 16: MME detects that the SAI of eNB2 is changed from local SAI1002 to the reginal SAI100.
[0075] Step 17: MME send the session update with SAI100 to the eNB2.
[0076] Step 18: MME detects that the SAI of eNBn is not changed, no extra action is needed for eNBn.
[0077] Step 19: all relevant eNBs continues to accept IP Multicast distribution data and broadcast to the interested UEs.
[0078]
[0079]
[0080] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0081] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.