METHODS AND APPARATUS FOR MANAGING CACHING IN MOBILE EDGE COMPUTING SYSTEMS
20230164237 · 2023-05-25
Assignee
Inventors
Cpc classification
H04L67/568
ELECTRICITY
H04L67/1008
ELECTRICITY
International classification
Abstract
Embodiments of the present disclosure relate to methods and apparatus for managing caching in mobile edge computing systems. According to an embodiment of the present disclosure, a method includes: determining a caching policy for caching a group of content items in a plurality of edge nodes, wherein determining the cache policy comprises determining whether to cache a content item in an edge node at least based on a popularity of the content item and a latency between the edge node and a group of base stations; and transmitting a content indication to each edge node of the plurality of edge nodes based on the determined caching polity respectively, herein the content indication transmitted to a respective edge node comprises one or more identifiers corresponding to one or more content items determined to be cached in the respective edge node.
Claims
1. A method, comprising: determining a caching policy for caching of content items in a plurality of edge nodes, the determining the caching policy includes determining whether to cache a content item in an edge node at least based at least in part on a popularity of the content item and a latency between the edge node and a group of base stations; and transmitting a content indication to each edge node of the plurality of edge nodes based on the determined caching policy, the content indication including one or more identifiers corresponding to one or more of the content items determined to be cached in a respective edge node.
2. The method according to claim 1, further comprising transmitting the determined caching policy to an edge node discovery module.
3. (canceled)
4. The method according to claim 1, wherein the latency between the edge node and the group of base stations includes at least one of a latency between the edge node and a base station in the group of base stations, or an average latency between the edge node and all the base stations in the group of base stations.
5. (canceled)
6. The method according to claim 1, wherein determining the caching policy comprises: clustering the plurality of edge nodes based on the latency between each edge node of the plurality of edge nodes and the group of base stations.
7. The method according to claim 6, further comprising transmitting a result of the clustering of the plurality of edge nodes to an edge node discovery module.
8. The method according to claim 1, further comprising determining the caching policy based on at least one of a load capacity of the edge node or a load capacity of a cluster of edge nodes.
9. (canceled)
10. The method according to claim 1, further comprising: transmitting a request for a latency report; and receiving the latency report that includes information on the latency between the edge node and the group of base stations.
11. (canceled)
12. The method according to claim 1, further comprising: receiving a content list that includes an identifier and storage time of each content item cached in the edge node, and an average lifetime of the content items cached in the edge node during a given time period.
13-41. (canceled)
42. An apparatus, comprising: a receiving circuitry; a transmitting circuitry; and a processor coupled to the receiving circuitry and the transmitting circuitry configured to cause the apparatus to: determine a caching policy for caching content items in multiple edge nodes, including to determine whether to cache a content item in an edge node based at least in part on a popularity of the content item and a latency between the edge node and a group of base stations; and transmit a content indication to each edge node of the multiple edge nodes based on the determined caching policy, the content indication including one or more identifiers corresponding to one or more of the content items determined to be cached in a respective edge node.
43. An apparatus, comprising: a receiving circuitry; a transmitting circuitry; and a processor coupled to the receiving circuitry and the transmitting circuitry configured to cause the apparatus to: receive a request for a content item; and determine an edge node from multiple edge nodes to provide the content item based at least in part on the request and clustering information of the multiple edge nodes, the multiple edge nodes are clustered based at least in part on a latency between each of the multiple edge nodes and a group of base stations.
44. (canceled)
45. The apparatus of claim 42, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to transmit the determined caching policy to an edge node discovery module.
46. The apparatus of claim 42, wherein the latency between the edge node and the group of base stations includes at least one of a latency between the edge node and a base station in the group of base stations, or an average latency between the edge node and all the base stations in the group of base stations.
47. The apparatus of claim 42, wherein to determine the caching policy includes to cluster the multiple edge nodes based on the latency between each edge node of the multiple edge nodes and the group of base stations.
48. The apparatus of claim 47, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to transmit a result of the cluster the multiple edge nodes to an edge node discovery module.
49. The apparatus of claim 42, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to determine the caching policy based on at least one of a load capacity of the edge node or a load capacity of a cluster of edge nodes.
50. The apparatus of claim 42, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to: transmit a request for a latency report; and receive the latency report that includes information on the latency between the edge node and the group of base stations.
51. The apparatus of claim 42, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to receive a content list that includes an identifier and storage time of each content item cached in the edge node, and an average lifetime of the content items cached in the edge node during a given time period.
52. The apparatus of claim 43, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to: transmit a request for the clustering information of the multiple edge nodes; receive the clustering information of the multiple edge nodes; and transmit a message indicating the determined edge node in response to the request for the content item.
53. The apparatus of claim 43, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to receive a caching policy that indicates one or more edge nodes of the multiple edge nodes in which the content item is cached.
54. The apparatus of claim 53, wherein the processor coupled to the receiving circuitry and the transmitting circuitry is configured to cause the apparatus to: determine whether the content item is cached in a candidate edge node indicated in the request based on the caching policy to determine the edge node from the multiple edge nodes to provide the content item; transmit an additional request to check a serving capacity of the candidate edge node in response to a determination that the content item is cached in the candidate edge node; and determine the candidate edge node to provide the content item in response to an indication that the serving capacity of the candidate edge node is sufficient to provide the content item.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to describe the manner in which advantages and features of the present disclosure can be obtained, a description of the present disclosure is rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. These drawings depict only exemplary embodiments of the present disclosure and are not therefore intended to limit the scope of the present disclosure.
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION
[0023] The detailed description of the appended drawings is intended as a description of the currently preferred embodiments of the present disclosure and is not intended to represent the only form in which the present disclosure may be practiced. It is to be understood that the same or equivalent functions may be accomplished by different embodiments that are intended to be encompassed within the spirit and scope of the present disclosure.
[0024] Reference will now be made in detail to some embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. To facilitate understanding, embodiments are provided under specific network architecture and new service scenarios, such as 3rd generation partnership project (3GPP) 5G, 3GPP long term evolution (LTE) Release 8 and so on. Persons skilled in the art know very well that, with the development of network architecture and new service scenarios, the embodiments in the present disclosure are also applicable to similar technical problems; and moreover, the terminologies recited in the present disclosure may change, which should not affect the principle of the present disclosure.
[0025] As the MEC technology develops, edge nodes (ENs) implemented at the network edge are supposed to cache popular content files so that UEs can efficiently access the requested content files.
[0026]
[0027] The core network 108 may be connected with a content server 122 (also referred to as “a content provider”) in a cloud (also referred to as “a network cloud”), e.g., via a user plane function (UPF) network element 118 in the core network 108. The core network 108 may also include a session management function (SMF) network element 116. The SMF network element 116 may communicate with a UPF network element in the core network 108, e.g., the UPF network element 118, in a control plane to establish, update, and/or delete a protocol data unit (PDU) session. The SMF network element 116 may also communicate with a UPF network element in an edge cloud, e.g., a UPF network element 110 in the edge cloud 106. For example, by communicating with the UPF network elements 110 and 118, the SMF network element 116 may establish a PDU session between the UPF network elements 110 and 118. Although one content server, one UPF network element, and one SMF network element are depicted in
[0028] The edge cloud 106 is located at the edge of the core network 108 and thus is closer to the BS 104 than the network cloud. The edge cloud 106 may include a UPF network element 110 and an edge node (EN) 112 connected with the UPF network element 110. Although one UPF network element and one EN are depicted in
[0029] As shown in
[0030] The content server 122 may store content items (or content files) that can be requested by the UE 102. The content may include multi-media files, text files, computing units, computing power, central processing unit (CPU), graphics processing unit (GPU), general-purpose graphics processing unit (GPGPU), or the like. The core network 108 may proactively push popular content items to the EN 112 and other EN(s) in the wireless communication system 100. Each EN may cache at least one of the popular content items according to a caching policy. According to some embodiments of the present disclosure, the caching policy may be at least based on a popularity of each content item and a latency between each EN and a group of BSs. According to other embodiments of the present disclosure, the caching policy may be based on a load capacity of each EN or a cluster of ENs.
[0031] When the UE 102 requests a content item, the UE 102 may send a request for the content item to the UPF network element 110 through the BS 104. The UPF network element 110 will try to discover (or select) an appropriate EN (e.g., the EN 112) that has cached the requested content item to serve the request. According to some embodiments of the present disclosure, the appropriate EN may be selected at least based on a latency between each EN and the UE 102 or a latency between each EN and a group of BSs. According to other embodiments of the present disclosure, the appropriate EN may be selected based on a load capacity (or a serving capacity) of each EN.
[0032] If an appropriate EN (e.g., the EN 112) is discovered, a communication path 114 can be established between the UE 102 and the appropriate EN 112. The appropriate EN 112 will then send the requested content item to the UE 102 via the communication path 114. Otherwise, a communication path 120 can be established between the UE 102 and the content server 122, and the content server 122 will then send the requested content item to the UE 102 via the communication path 120.
[0033]
[0034] In some embodiments of the present disclosure, the EN management module 210 may determine a caching polity for ENs (e.g., the EN 206) at least based on a popularity of each potential content item to be cached and a latency between each EN and a group of BSs (e.g., the BS 204). The group of BSs may include at least one BS located in a given area. According to an embodiment of the present disclosure, the EN management module 210 may request an EN (e.g., the EN 206) to measure and report the latency between the EN and the group of BSs. According to another embodiment of the present disclosure, the EN 206 may actively report the latency between the EN 206 and the group of BSs to the EN management module 210, without a request from the EN management module 210. After receiving the latency report from the EN 206, the EN management module 210 may update the caching policy correspondingly.
[0035] The EN management module 210 may also cluster the ENs based on the latency between each EN and a group of BSs. After receiving the latency report from the EN 206, the EN management module 210 may also update the clustering of ENs. As will be described in detail below, the EN management module 210 may determine a caching policy for ENs prior to clustering the ENs. Additionally or alternatively, the EN management module 210 may determine a caching policy for ENs after clustering the ENs and based on a result of the clustering.
[0036] In some embodiments of the present disclosure, the EN discovery module 208 may obtain the clustering information of ENs from the EN management module 210, and use the clustering information for discovering an appropriate EN to serve a UE's request for a content item. When the EN discovery module 208 receives a request from a UE (e.g., the UE 202) for a content item, the EN discovery module 208 may send a request for the clustering information of ENs to the EN management module 210, and the EN management module 210 may send the clustering information to the EN discovery module 208 in response to the EN discovery module 208's request. Additionally or alternatively, the EN management module 210 may actively provide the clustering information of ENs to the EN discovery module 208 after clustering the ENs, without a request form the EN discovery module 208.
[0037] After receiving a request from a UE (e.g., the UE 202) for a content item, the EN discovery module 208 may determine which EN(s) nearby have cached the requested content item based on a caching policy received from the EN management module 210. The EN discovery module 208 may select an appropriate EN that has cached the requested content item and has a serving capacity sufficient to provide the requested content item to the UE. If no nearby EN has cached the requested content item or no nearby EN has a sufficient serving capacity, the EN discovery module 208 may inform the content server (e.g., the content server 122 in
[0038] According to some embodiments of the present disclosure, I1 in
[0039] I2 in
[0040] I3 in
[0041] I4 in
[0042] I5 in
[0043] I6 in
[0044] Below will describe exemplary signaling procedures between the modules or apparatuses in the wireless communication system 100 or 200 in detail.
[0045]
[0046] In step 308, the EN management module 302 determines a caching policy for caching a group of content items in a plurality of ENs (e.g., ENs 304 and 306). According to embodiments of the present disclosure, the caching policy is selected to minimize both the average latency and the average traffic load of the plurality of ENs. In some embodiments of the present disclosure, determining the cache policy includes, for each EN (e.g., EN 304 or 306), determining whether to cache a content item in the EN at least based on a popularity of the content item and a latency between the EN and a group of BSs.
[0047] According to an embodiment of the present disclosure, the cache policy can be determined by minimizing a value R of an objective function that represents the effect of average latency and traffic load. One example of the objective function may be
[0048] According to an embodiment of the present disclosure, the caching policy can be determined through the following steps:
[0049] Step 1.1: initializing a value R of the objective function by assuming that all UE requests are served by the content server, i.e., no content item is cached in the ENs.
[0050] Step 1.2: computing a value R′ of the objective function for a candidate caching policy. The following Table 1 shows an exemplary caching policy, which may be represented by an M×F matrix, A.sub.M×F (in this example, M=5, F=10). The element in the m.sup.th row and f.sup.th column of A.sub.M×F is A.sub.m,f. A.sub.m,f has a value of either 1 or 0. A.sub.m,f=1 means that the f.sup.th content item, F.sub.f, is cached in the m.sup.th EN, EN.sub.m. A.sub.m,f=0 means that the f.sup.th content item, F.sub.f, is not cached in the m.sup.th EN, EN.sub.m.
TABLE-US-00001 TABLE 1 Content item EN F.sub.1 F.sub.2 F.sub.3 F.sub.4 F.sub.5 F.sub.6 F.sub.7 F.sub.8 F.sub.9 F.sub.10 EN.sub.1 1 0 0 0 1 1 0 0 1 0 EN.sub.2 0 1 0 1 0 0 0 0 1 1 EN.sub.3 0 0 1 1 0 0 1 0 0 1 EN.sub.4 0 1 0 0 1 0 0 1 1 0 EN.sub.5 1 1 0 0 0 1 1 0 0 0
[0051] Step 1.3: if R>R′, computing a gain of the candidate caching policy as g=R−R′ and let R=R′; otherwise, discarding R′.
[0052] Step 1.4: for all the candidate caching policies, repeating steps 1.2 and 1.3 until g is below a predetermined threshold. Then, the candidate caching policy corresponding to R is selected. In another embodiment of the present disclosure, step 1.4 may be performed until M*L candidate caching policies have been searched.
[0053] Referring back to
[0054]
[0055] In steps 408 and 410, the EN management module 402 transmits a request for latency measurement and reporting to each of a plurality of ENs (e.g., ENs 404 and 406) respectively. In this example, the request includes a measurement configuration for clustering. The measurement configuration may indicate a group of BSs, which may be at least one BS located in a given area. In steps 412 and 414, the ENs 404 and 406 measure a latency to the at least one BS respectively. According to some embodiments of the present disclosure, the latency may be measured by sending a signal to the at least one BS, receiving a feedback from the at least one BS, and calculating the latency between the transmission of the signal and the receipt of the feedback. In an embodiment of the present disclosure, the latency between an EN and at least one BS may include a latency between the EN and a BS of the at least one BS. In another embodiment of the present disclosure, the latency between an EN and at least one BS may include an average latency between the EN and all the at least one BS. In steps 416 and 418, the ENs 404 and 406 report the measured latency to the EN management module 402 respectively.
[0056]
[0057] In step 508, the EN management module 502 clusters a plurality of ENs (e.g., ENs 504 and 506) based on a latency between each EN of the plurality of ENs and a group of BSs, such that ENs with close latencies are clustered into the same cluster. The latency between each EN and the group of BSs can be obtained from latency reports from the ENs, e.g., the reports received in steps 416 and 418 in response to the request of the EN management module 402. Additionally or alternatively, the ENs may actively send latency reports to the EN management module, e.g., periodically.
[0058] In steps 510 and 512, the EN management module 502 transmits a clustering indication to each EN (e.g., ENs 504 and 506) respectively, wherein the clustering indication transmitted to a respective EN may include a cluster identifier of a cluster to which the respective EN belongs. In some embodiments of the present disclosure, steps 510 and 512 are optional. That is, the EN management module 502 may maintain the clustering information (i.e., information on the cluster to which each EN belongs) without transmitting a clustering indication to the ENs. According to some embodiments of the present disclosure, the EN management module 502 may transmit the clustering information to an EN discovery module (e.g., the EN discovery module 208).
[0059]
[0060] According to an embodiment of the present disclosure, a plurality of ENs (e.g., the ENs 614, 618, and 624) can be clustered based on their latencies to a BS (e.g., the BS 610). For example, the clustering procedure may include the following steps:
[0061] Step 2.1: initializing a cluster C0 as null.
[0062] Step 2.2: randomly selecting an EN (e.g. the EN 624) as a reference EN and adding the EN 624 to the cluster C0. The latency between the BS 610 and the EN 624 is denoted by L.sub.b1,e1.
[0063] Step 2.3: checking one of other ENs (e.g. the EN 618) by comparing the value of |L.sub.b1,e2−L.sub.b1,e1| with a predefined threshold L.sub.bias, wherein L.sub.b1,e2 represents the latency between the BS 610 and the EN 618. If |L.sub.b1,e2−L.sub.b1,e1|<L.sub.bias, then the EN 618 is added to the cluster C0; otherwise, the EN 618 is discarded. In the example shown in
[0064] Step 2.4: performing step 2.3 for the remaining EN(s) until all EN(s) have been checked, and outputting the cluster C0 as one cluster of ENs. In the example shown in
[0065] Step 2.5: performing step 2.1 to step 2.4 for other clusters Ci by selecting a different reference EN of the plurality of ENs iteratively until each EN of the plurality of ENs is clustered into a certain cluster Ci. In the example shown in
[0066] According to another embodiment of the present disclosure, a plurality of ENs (e.g., the ENs 614, 618, and 624) can be clustered based on their latencies to a group of multiple BSs within a given area (e.g., the group of the BSs 604 and 606, denoted by group 2). For example, the clustering procedure may include the following steps:
[0067] Step 3.1: initializing a cluster C0 as null.
[0068] Step 3.2: randomly selecting an EN (e.g. the EN 618) as a reference EN and adding the EN 618 to the cluster C0. The latency between the group 2 and the EN 618 is denoted by L.sub.g2,e2. In some embodiments of the present disclosure, L.sub.g2,e2 can be defined as a latency between the EN 618 and a BS (e.g., the BS 606) in the group 2, e.g., L.sub.g2,e2=L.sub.b2,e2. In other embodiments of the present disclosure, L.sub.g2,e2 can be defined as an average latency between the EN 618 and all the BSs in the group 2, e.g., L.sub.g2,e2=(L.sub.b2,e2+L.sub.b3,e2)/2, wherein L.sub.b3,e2 represents a latency between the EN 618 and the BS 604.
[0069] Step 3.3: checking one of other ENs (e.g. the EN 614) by comparing the value of |L.sub.g2,e2−L.sub.g2,e3| with a predefined threshold L.sub.bias, wherein L.sub.g2,e3 represents the latency between the group 2 and the EN 614. If |L.sub.g2,e2−L.sub.g2,e3|<L.sub.bias, then the EN 614 is added to the cluster C0; otherwise, the EN 614 is discarded. In the example shown in
[0070] Step 3.4: performing step 3.3 for the remaining EN(s) until all EN(s) have been checked, and outputting the cluster C0 as one cluster of ENs. In the example shown in
[0071] Step 3.5: performing step 3.1 to step 3.4 for other clusters Ci by selecting a different reference EN of the plurality of ENs iteratively until each EN of the plurality of ENs is clustered into a certain cluster Ci. In the example shown in
[0072] The above specific steps for clustering the ENs are provided for purposes of illustration. It should be understood that the ENs can be clustered based on a latency between each EN and a group of BSs by other methods, which are within the scope of the present disclosure.
[0073] In some embodiments of the present disclosure, the procedure of EN clustering is performed after the procedure of making a caching policy. In other embodiments of the present disclosure, the procedure of EN clustering is performed prior to the procedure of making a caching policy. In such cases, the caching policy can be selected based on a popularity of each content item and a result of the procedure of EN clustering. For example, the EN management module may first consider a cluster of ENs as a segment and determine which content items should be cached in the segment; and the EN management module may determine which of the determined content items for each segment should be cached in each EN within the segment. According to an embodiments of the present disclosure, the caching policy can be determined through the following steps:
[0074] Step 4.1: performing step 1.1 to step 1.4 to determine which content items should be cached in each cluster of ENs based on a popularity of each content item and a latency between each cluster of ENs and a group of BSs. Each cluster of ENs is regarded as a large EN. The latency between a cluster of ENs and a group of BSs may be defined to be a minimal latency among the latencies between ENs in the cluster of ENs and the group of BSs. In some embodiments of the present disclosure, the objective function to be minimized in step 4.1 may change to
[0075] Step 4.2: performing step 1.1 to step 1.4 to determine which of the content items determined to be cached in each cluster should be cached in each EN within the cluster. In step 4.2, each EN is regarded as an independent one, and the caching policy is made with respect to the content items determined to be cached in each cluster in step 4.1.
[0076] The above specific steps for making a caching policy are provided for purposes of illustration. It should be understood that the caching policy can be determined by other methods, which are within the scope of the present disclosure.
[0077] In order to obtain the latest EN feature information (such as the latency information of the ENs, information on content items cached in the ENs, etc.) to update the caching policy and/or EN clustering, the EN management module may trigger an update of EN feature information periodically or in response to certain events, such as when a hit rate that the requested content items can be found in ENs has decreased. When the EN management module needs to update the EN feature information, it may perform the procedure as shown in
[0078]
[0079] In step 706, the EN management module 702 transmits a request for content list reporting to an EN (e.g., the EN 704). In step 708, the EN 704 transmits a content list to the EN management module 702 as a response. The content list may include at least one of: an identifier and storage time of each content item cached in the EN 704, and an average lifetime of content items cached in the EN 704 during a given time period. Since content items may become increasingly unpopular as the storage time approaches the lifetime, the request probability is affected by the storage time. On one hand, the information contained in the content list can facilitate load balance. On the other hand, it can be used to provide a quick determination of caching contents update in a cluster.
[0080] According to some embodiments of the present disclosure, the EN management module may request both the latency information and the content list in a single request. The requested EN may transmit the latency information and the content list in a single response or in multiple separated responses. In some embodiments of the present disclosure, the EN management module may transmit the received EN feature information to an EN discovery module.
[0081]
[0082] In step 810, the UE 802 transmits a request for a content item to the EN discovery module 804. The request may be transmitted to the EN discovery module 804 through a BS. The request may indicate a preferential EN (e.g., the EN 806, also referred to as a candidate EN), which is selected by the UE 802 according to historical information. In response to receiving the request, the EN discovery module 804 determines whether the content item is cached in the preferential EN 806 based on the caching policy or feature information of the preferential EN 806, which was received from an EN management module. When it is determined that the content item is cached in the preferential EN 806, the EN discovery module 804 transmits a request to check a serving capacity of the preferential EN 806, in step 812. In an embodiment of the present disclosure, the EN discovery module 804 may forward the request received from the UE 802 to the preferential EN 806 to check the serving capacity of the preferential EN 806. In step 814, the preferential EN 806 transmits a response to the EN discovery module 804, indicating the remaining serving capacity or whether the serving capacity of the preferential EN 806 is sufficient to serve the request of the UE 802. In response to receiving a response from the preferential EN 806 indicating that the serving capacity of the preferential EN 806 is sufficient to serve the request of the UE 802, the EN discovery module 804 may determine the preferential EN 806 to provide the content item requested by the UE 802, in step 820.
[0083] When it is determined that the content item is not cached in the preferential EN 806 or in response to receiving a response from the preferential EN 806 indicating that the serving capacity of the preferential EN 806 is not sufficient to serve the request of the UE 802, the EN discovery module 804 may determine the EN(s) which are in the same cluster as the preferential EN 806 and has cached the requested content item based on clustering information previously provided by an EN management module and the caching policy. The EN discovery module 804 may alternatively transmit a request for the clustering information to the EN management module after receiving the request from the UE 802. The EN discovery module 804 may then transmit a request to part or all of the determined EN(s) (e.g., the EN 808) to check their serving capacities, in step 816. In step 818, the determined EN(s) (e.g., the EN 808) transmits a response to the EN discovery module 804, indicating the remaining serving capacity or whether the serving capacity is sufficient to serve the request of the UE 802. When the response from one or more ENs indicates that the one or more ENs has a serving capacity sufficient to serve the request of the UE 802, the EN discovery module 804 may select, in step 820, an appropriate EN from the one or more ENs to provide the content item to the UE 802. For example, the appropriate EN may be the one with a maximum value of an objective function V.sub.m=−d.sub.m,n−αϕ(G.sub.m), which represents that the EN with a lower latency and more serving capacity should be selected.
[0084] When no EN in the same cluster as the preferential EN 806 can serve the request of the UE 802, the EN discovery module 804 may check all the other ENs to see whether any of them can serve the request, and select an appropriate EN (e.g., the one with a maximum value of the objective function) from the EN(s) capable of serving the request in step 820. When no EN can serve the request, the EN discovery module 804 determines the content server which stores the requested content item to serve the request.
[0085] After determining the appropriate EN or the content server to serve the request, in step 822, the EN discovery module 804 transmits an indication to the UE 802, informing that the request is served by the appropriate EN or the content server. The EN discovery module 804 may also inform the appropriate EN or the content server to provide the request content item to the UE 802. According to embodiments of the present disclosure, clustering the ENs and performing the EN discovery procedure based on the EN clustering information can make the EN discovery procedure more efficient.
[0086]
[0087] As shown in
[0088] Although in
[0089] In some embodiments of the present disclosure, the at least one non-transitory computer-readable medium 906 may have stored thereon computer-executable instructions which are programmed to cause the at least one processor 908 to implement the steps of the methods, for example as described in view of
[0090]
[0091] As shown in
[0092] Although in
[0093] In some embodiments of the present disclosure, the at least one non-transitory computer-readable medium 1006 may have stored thereon computer-executable instructions which are programmed to cause the at least one processor 1008 to implement the steps of the methods, for example as described in view of
[0094]
[0095] As shown in
[0096] Although in
[0097] In some embodiments of the present disclosure, the at least one non-transitory computer-readable medium 1106 may have stored thereon computer-executable instructions which are programmed to cause the at least one processor 1108 to implement the steps of the methods, for example as described in view of
[0098] Those having ordinary skills in the art would understand that the steps of a method described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. Additionally, in some aspects, the steps of a method may reside as one or any combination or set of codes and/or instructions on a non-transitory computer-readable medium, which may be incorporated into a computer program product.
[0099] While this disclosure has been described with specific embodiments thereof, it is evident that many alternatives, modifications, and variations may be apparent to those skilled in the art. For example, various components of the embodiments may be interchanged, added, or substituted in the other embodiments. Also, all of the elements of each figure are not necessary for operation of the disclosed embodiments. For example, those having ordinary skills in the art would be enabled to make and use the teachings of the disclosure by simply employing the elements of the independent claims. Accordingly, embodiments of the disclosure as set forth herein are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the disclosure.
[0100] In this document, the terms “includes,” “including,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a,” “an,” or the like does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that includes the element. Also, the term “another” is defined as at least a second or more. The term “having” and the like, as used herein, are defined as “including.”