The present disclosure is directed to pre-caching context data on at least one adjacent edge server to be used by a user equipment (UE) based on methods and systems of predicting and prioritizing, substantially as shown and/or described in connection with at least one of the Figures, and as set forth more completely in the claims.
According to various aspects of the technology, a user equipment (UE) initializes an edge instance to utilize edge computing services on an edge server via a radio access network (RAN) within a geographic edge area. As the UE enters a peripheral area of the geographic edge area, a set of data used by the edge server for edge computing services, context, is dynamically mobilized to edge servers in adjacent geographic edge areas which the UE may enter. To predict which geographic edge area the UE will enter next, the historical location and duration data of the UE from previous edge instance is analyzed and a priority list of adjacent edge servers is developed. In some aspects of the present disclosure additional information may be used to further enhance this prediction, such as geographic feature data, transportation infrastructure data, the type of equipment of the UE, and situational data.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in isolation as an aid in determining the scope of the claimed subject matter.
Aspects of the present disclosure are described in detail herein with reference to the attached Figures, which are intended to be exemplary and non-limiting, wherein:
The subject matter of embodiments of the invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Various technical terms, acronyms, and shorthand notations are employed to describe, refer to, and/or aid the understanding of certain concepts pertaining to the present disclosure. Unless otherwise noted, said terms should be understood in the manner they would be used by one with ordinary skill in the telecommunication arts. An illustrative resource that defines these terms can be found in Newton's Telecom Dictionary, (e.g., 32d Edition, 2022). As used herein, the term “network access technology (NAT)” is synonymous with wireless communication protocol and is an umbrella term used to refer to the particular technological standard/protocol that governs the communication between a UE and a base station; examples of network access technologies include 3G, 4G, 5G, 6G, 802.11x, and the like. The term “node” is used to refer to an access point that transmits signals to a UE and receives signals from the UE in order to allow the UE to connect to a broader data or cellular network (including by way of one or more intermediary networks, gateways, or the like)
Embodiments of the technology described herein may be embodied as, among other things, a method, system, or computer-program product. Accordingly, the embodiments may take the form of a hardware embodiment, or an embodiment combining software and hardware. An embodiment takes the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media that may cause one or more computer processing components to perform particular operations or functions.
Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplate media readable by a database, a switch, and various other network devices. Network switches, routers, and related components are conventional in nature, as are means of communicating with the same. By way of example, and not limitation, computer-readable media comprise computer-storage media and communications media.
Computer-storage media, or machine-readable media, include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations. Computer-storage media include, but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These memory components can store data momentarily, temporarily, or permanently.
By way of background, when a user equipment (UE) served by a telecommunications network makes a request for data, that data request is fulfilled by centralized servers and processors that may be physically (or electronically) distant from the UE. Delays in computing time, due to latency or network congestion, can negatively impact the user's experience. Edge computing systems focus on reducing latency and network congestion by processing data requests closer to the mobile network edge. Edge computing replaces centralized network computing, with decentralized and localized edge servers, which perform the same task for user devices within a proximate geographic area. During edge computing, the UE employs an application on a particular edge server-known as an “edge instance,” certain relevant information, known as context, may also be stored at the particular edge server. In mobile edge computing, wherein the user device may be traveling through different parts of a mobile network, a user device may access different edge instances while using an application or services.
Conventionally, when a user device enters the periphery between a first geographical area where edge computing on UEs in that area is performed at a first edge server and a second geographical area where edge computing on UEs in that area is performed at second edge server a second edge instance is started at the second edge server and the context from the first edge server is transferred to a second edge server. The transfer of context from the first edge server to the second edge server is reactive to the user device entering the second edge environment. Due to the reactive nature of the transfer from the first server to the second edge server, performance of the edge computing declines during the initial movement of the user device into the second area associated with the second edge server because the second edge server lacks the stored context that was, presumably, stored at the first edge server. Uploading context from the first edge server or from another server on the network and downloading it to the second edge server takes time and may be delayed by limitations of the network, a delay which nullifies the timing benefits of processing data requests using the second edge server. Further, when the user device is configured to utilize mobile edge computing resources and does not receive requested context quickly enough from the second edge server, it may expend processing (and network) resources to re-request the context. More impactful on the network than wholly moving from the first area to the second area is a user device remaining within the periphery between the first geographic area and the second geographic area may repeatedly initiate edge server instances and transfer context between the two edge servers-compounding the poor performance that results from a context/instance being in the wrong place at the wrong time.
In contrast to conventional solutions and to reduce latency and preserver network resources the user's experience, the present disclosure is directed to systems and methods to anticipate which edge environments a user device might enter and caching or maintaining some or all of the context on multiple edge servers depending on network rules and available resources. The first edge server develops a list of qualified edge servers that are adjacent to the first edge server. User device location, network usage history, and other relevant information may then be used to identify a targeted set of edge servers from the list of qualified edge servers that are likely to be invoked by the user device. The present disclosure may further preserve network resources by prioritizing context to be transferred to the other servers, by dividing the context into categories and applying a different set of pre-caching rules to each category. Communal context may be information that is used between common apps and services that is loaded on a plurality of edge servers and may be accessible to a plurality of user devices. Public context may be information that is application or service-specific but commonly used by multiple user devices that should be readily accessible by the edge server and will be pushed out to the edge servers on the priority list as network rules permit. Private context is particular to a particular user device's session and is mobilized only immediately prior or during the transition between edge instances in response to a data request from the particular user device.
As used herein, user equipment (UE) (also referenced herein as a user device or UE device) can include any device employed by an end-user to communicate with a wireless telecommunications network. A UE can include a mobile device, a mobile broadband adapter, or any other communications device employed to communicate with the wireless telecommunications network. A UE, as one of ordinary skill in the art may appreciate, generally includes one or more antennas coupled to a radio for exchanging (e.g., transmitting and receiving) transmissions with a nearby base station.
A first aspect of the present disclosure is a system for dynamically transferring user data between edge servers based on predicted need. The system comprising two or more radio access network nodes. The system further comprising one or more computer processing components configured to perform operations. The operations comprising receiving a request to start an edge instance, storing context data, and determining the location of the UE within an edge geographic area. The operations additionally comprising determining the location of the UE is within a periphery of the edge geographic area, querying a database of historical location and duration data for the UE, and identifying geographically adjacent edge servers. The operations further comprising preparing a priority list of geographically adjacent edge servers based on the historical location and duration data and caching context data on the geographically adjacent edge servers in accordance with the priority list.
A second aspect of the present disclosure is a computer-readable storage media having computer-executable instructions embodied thereon, when executed by one or more processors, cause the processors to perform. The processors receive a request from the UE to utilize edge services, store context data on a first edge server, and determine the geographical location of the UE is proximal to a perimeter of a first edge server. The processors additionally determine the geographical location of the UE is proximal to a perimeter of a first geographical area, query a stored dataset of the UE's historical location and duration history, and develop a list of adjacent edge servers. The processors further determine a priority list of edge servers by analyzing the stored dataset to refine the list of adjacent edge servers and cache a portion of the context data on at least one edge server from the priority list.
Another aspect of the present disclosure is a method for performing predictive and dynamic user context transference. The method comprises receiving a request for edge services on a first edge server from the UE, storing context data on the first edge server, and determining the UE's location within a first geographic area serviced by the first edge server. The method additionally comprises determining the UE's location is within a periphery of the first geographic area, compiling a data set of historical location and duration data for the UE, compiling a list of adjacent edge servers. The method further comprises computing a priority list of qualified edge servers by applying the data set to refine the list of adjacent edge servers and caching a portion of the context data on at least one adjacent edge server based on the priority list.
An additional aspect of the present disclosure is a method for predictive and dynamic user context transference. The method comprises requesting edge services from a first edge server, offloading computing processes to the first edge server, and storing context data at the first edge server. The method additionally comprises determining the UE's geographical location, determining that the UE is located within a geographical boundary region of the first edge server, and retrieving the UE's location and duration data for being located within a geographical area of first edge server. The method further comprises compiling a list of adjacent edge servers to the first edge server, refining the list to a priority list of adjacent edge servers, and requesting the context data be shared from the first edge server to one or more edge servers on the priority list of adjacent edge servers.
Turning now to
The edge environment 100 of
In some aspects, the user equipment 102 corresponds to a user device or a computing device. For example, the user device may include a display(s), a power source(s) (e.g., a battery), a data store(s), a speaker(s), memory, a buffer(s), a radio(s), and the like. In some implementations, the user equipment 102 comprises a wireless or mobile device with which a wireless telecommunication network(s) may be utilized for communication (e.g., voice and/or data communication). In this regard, the user device may be any mobile computing device that communicates by way of a wireless network, for example, a 3G, 4G, 5G, LTE, CDMA, or any other type of network.
In some cases, the user equipment 102 in edge environment 100 may optionally utilize network 110 to communicate with other computing devices (e.g., a mobile device(s), a server(s), a personal computer(s), etc.) through network node 104. The network 110 may be a telecommunications network(s), or a portion thereof. A telecommunications network might include an array of devices or components (e.g., one or more base stations), some of which are not shown. Those devices or components may form network environments similar to what is shown in
Network 110 may be part of a telecommunication network that connects subscribers to their service provider. In aspects, the service provider may be a telecommunications service provider, an internet service provider, or any other similar service provider that provides at least one of voice telecommunications and/or data services to UE 102 and any other UEs. For example, network 110 may be associated with a telecommunications provider that provides services (e.g., LTE) to the user equipment 102. Additionally or alternatively, network 110 may provide voice, SMS, and/or data services to user devices or corresponding users that are registered or subscribed to utilize the services provided by a telecommunications provider. Network 110 may comprise any communication network providing voice, SMS, and/or data service(s), using any one or more wireless communication protocols, such as a 1× circuit voice, a 3G network (e.g., CDMA, CDMA2000, WCDMA, GSM, UMTS), a 4G network (WiMAX, LTE, HSDPA), or a 5G (NR) network. The network 110 may also be, in whole or in part, or have characteristics of, a self-optimizing network.
Network node 104 may be any gateway between a UE 102 and a network 110, wherein the UE 102 cannot communicate directly with the network. In some embodiments, the network node 104 may be an optical line terminal (OLT) or a fiber node in a fiber optic network. In some embodiments, the network node 104 may be part of a radio access network (RAN) configured to transmit and receive radio signals. The UE 102 may communicate with the network 110 via the RAN over one or both of uplink (UL) radio frequency (RF) signals and downlink (DL) radio frequency (RF) signals through the network node 104.
In some implementations, network node 104 is configured to communicate with the UEs 102 that are located within the edge area 108 as defined by a transmission range and/or receiving range of at least one radio antennae. Network node 104 may include one or more base stations, base transmitter stations, radios, antennas, antenna arrays, power amplifiers, transmitters/receivers, digital signal processors, control electronics, GPS equipment, and the like. In particular, network node 104 may be configured to wirelessly communicate with devices within a defined and limited geographical area. For the purposes of the present disclosure, it may be assumed that it is undesirable and unintended by the network 110 that the network node 104 provide wireless connectivity to the user equipment 102 when the user equipment 102 is geographically situated outside of the edge area 108 associated with the network node 104.
In an aspect, the network node 104 comprises a base station that serves at least a portion of edge area 108 and at least one transmit antenna for propagating a signal from the base station to one or more of the user equipment 102. In other aspects, the network node 104 may comprise multiple base stations and/or multiple transmit antennas for each of the one or more base stations, any one or more of which may serve at least a portion of the cell. In some aspects, the network node 104 may comprise one or more macro cells (providing wireless coverage for users within a large geographic area) or it may be a small cell (providing wireless coverage for users within a small geographic area). For example, macro cells may correspond to a coverage area having a radius of approximately 1-15 miles or more as measured at ground level and extending outward from an antenna at the cell site. In another example, a small cell may correspond to a coverage area having a radius of approximately less than three miles as measured at ground level and extending outward from an antenna at the cell site.
The user equipment 102 may offload computing workload to the network 110, this process may be referred to as “cloud computing.” In cloud computing, the UE 102 may utilize a remote server 115 located on the network 110 to store, manage, and process data for the UE 102. The remote server 115 may be a server connected to the network 110 and may be located geographically at great distance from the UE 102. Data may be communicated from the remote server 115 across the network 110 to the UE 102. To facilitate communication the data may be transmitted from the network 110 along a network link 114 to the network node 104. The data is transmitted from the network node 104 along a communications link 112 to the UE 102. The UE 102 may request cloud computing services from the network 110. The network 110 may also initiate cloud computing services for the UE 102 or an application running on the UE 102. Geographic distances between the remote server 115 and the UE 102 may increase latency and cause performance to suffer. Additionally, data transmission through the network 110 may cause increased latency and poor performance.
In the edge environment 100 the network node 104 is in communication with both the edge server 106 and the network 110, the edge server 106 is also in communication with the network 110, either separately via a backhaul connection 116 or via the network node 104. When the UE 102 engages in cloud computing services with the network 110, and the network node 104 is within an edge environment 100 as depicted in
Edge computing may be beneficial to reducing latency and optimizing cloud computing for the UE 102 within the edge area 108, however when the UE 102 leaves the edge area 108 latency may increase if the computing is performed on the edge server 106.
An example of the present invention is described in
Prior to the UE 102 moving from the first position 202a to the second position 202b, the UE 102 connects to the edge server 106 and requests edge services. The edge server 106 or the node 104 will determine the UE's 102 location. The location of the UE 102 may be determined from information received from the UE 102, such as GPS information, Wi-Fi location information, stored known locations, and other methods known for UEs 102 to determine their own location. Further, the node 104 may determine the UE's 102 location. After the UE 102 may be determined to be within the edge area 108, edge services may be provided by the edge server 106 to the UE 102. First position 202a is within the edge area 108. The UE's 102 location may be tracked while the UE 102 is within the edge area 108. The time that the UE 102 spends at locations within the edge area 108 may be tracked as a duration data.
Both the position and the duration of the UE 102 may be stored on a database on the network 110. The historical location and duration information may be retrieved from the database on the network 110. When the UE 102 moves within the edge area 108 to the peripheral area 120 the predictive context caching process may begin.
Once the UE 102 is determined to be within the peripheral area 120, a list of adjacent edge servers may be compiled. The edge server 106, the node 104, or the UE 102 may prepare the list of adjacent edge servers. In some aspects, an adjacent edge server may be a server located at a node, which has a geographical service area that overlaps or abuts the edge server 106. In another aspect, the list of adjacent edge servers may be formed from edge severs located at a node located within a particular distance to the node 104. In some aspects, the adjacent server list may be a list of edge severs located within a particular distance to the UE 102. In other aspects, the list of adjacent edge servers may be defined by the network operator for the node 104. In additional aspects, the list of adjacent edge servers may include edge servers with assigned geographical areas that do not correspond with only one node. It is contemplated that the list of adjacent edge servers may be from any combination of the preceding descriptions.
The list of adjacent edge servers may be qualified by a home public land mobile network (HPLMN). The HPLMN may determine if the edge servers on the list of adjacent edge servers are in the same network or have partner agreements with a network operator of the network 110. The network operator may mark adjacent servers as not qualified for particular users, plans, partner agreements, or mobile virtual network operator (hereinafter “MVNO”) customers. For example, a plan may be a service agreement plan between the network operator and the user. The network operator may offer a lower priority plan which provides a lower tier of services offered, including edge services. In another example, an edge server may be not qualified for MVNO customers or customers on the lower priority plan during periods of high demand. In further aspects, the network operator may have a partner agreement with a second network operator which may provide or limit services in certain areas, such as edge services. The list of qualified adjacent edge servers may be maintained at the edge server 106 or the node 104.
A priority list of qualified adjacent edge servers may then be formed from the qualified list of adjacent edge servers. The priority list of qualified edge servers maybe hereinafter referred to as the “priority list,” or the “priority edge servers list,” or the “priority list of edge servers.” The priority may arrange adjacent edge servers to enable the edge server 106 to transmit preferentially the context data. The priority list may rank the qualified adjacent edge servers in a discrete list. The priority list may be a single qualified adjacent edge server or a plurality of qualified adjacent edge servers. The priority list may be one or more levels of priority, where each level of priority may have one or more servers on it. For example, the priority list may be determined, at least in part, by the historical location and duration data from the database on the network 110. In some aspects, the priority list may also be determined, at least in part, by the UE's 102 location and duration data from the current edge session. The location and duration data may be used to predict where the UE 102 is likely to move to next, out of the geographical locations serviced by qualified edge servers. For example, it may be determined the UE 102 may be more likely to move into an area not served by a qualified adjacent edge server, however the priority list may include the next location most likely for the UE 102 to enter. In some aspects, the priority list may return no edge servers, as it is determined that it is unlikely the UE 102 will enter into another edge server geographical area. In other aspects, the priority list may be determined in at least part by the network conditions. For example, the network operators may set a threshold on network resources for sharing context to more than one qualified adjacent edge server. In other examples, the network conditions may be a factor in determining the number of edge servers on the priority list. Other factors may include the UE's 102 current subscription plan, whether the UE 102 is a MVNO customer, or sensitivity of the UE's 102 edge services to latency. The priority list may be based on a number of factors including, network availability, amount of context data to be transferred, ease of recreating the context data at new edge servers, specific network slice availability and network rules. Once the priority list is established, the edge server 106 may begin transferring context data to the edge servers on the priority list.
The private context data may be transmitted from edge server 106 to edge server 206. Alternatively, private context can be re-generated at the second edge server 206 when the edge server 106 provides device and application information to the second edge server 206. Further, the edge server 106 may ensure that the second edge server 206 has the required public context for use with the current edge services. If the second edge server 206 does not have the required public context, the edge server 106 may transmit the public context or request the second edge server 206 retrieve the public context from the network 110. The edge server 106 may communicate with and transmit data or context to the second edge server 206 via the network 110 as illustrated. The first edge server 106 and the second edge server 206 may have a direct connection without utilizing the network 110. As long as the UE 102 remains in the peripheral area 120, the edge server 106 may continue to update the second edge server 206 with context data to enable a smooth transition.
Once the UE 102 leaves the edge area 108 (including the peripheral area 120) and enters the second edge area 208, the edge services may be transferred from the first edge server 106 to the second edge server 206. There may also be a period where the edge services remain at the first edge server 106. In the present example, the edge services resume seamlessly from the first edge server 106 to the second edge server 206 from the perspective of the UE 102, as the context may already be cached.
Context transfer to the second edge server 206 may be initiated in a variety of ways. The location of the UE 102 may be maintained by the edge server 106 as it travels within the first edge area 108, when the edge server 106 recognizes the UE 102 has entered into the second edge area 208 it may initiate edge services transfer to the second edge server 206. Edge services may be transferred based on another triggering event other than the edge server 106 requesting it. The transfer of edge services may be initiated by either one of the nodes 104 or 204 determining that the UE 102 has entered into the second edge area 208. The nodes 104 or 204 may initiate this by communicating the UE's 102 location to the first edge server 106 or to the second edge server 206 which communicates with the first edge server 106. The UE 102 may track its own location and track signal strength and quality to determine when it may request a transfer of edge services.
In some aspects, pre-caching the context data from edge server 106 to edge server 206 improves the user experience for the user of UE 102. For example, by pre-caching the context data the user may experience a seamless transition between the edge servers 106 and 206 without experiencing disruptions. In other aspects, pre-caching may allow for the first edge server 106 to more easily shift processing to the second edge server 206 during periods of high congestion at the first edge server 106. In another aspect, the network 110 may adjust to demand by allocating and de-allocating (scale up/down, scale in/out) edge servers to add capacity near the UE 102. In some aspects, data processing may be optimized to enable the distance between the UE 102 and the edge server 106 or 206 is reduced rendering an improved performance. 6. Adaptability to network conditions: This is related to the previous point it will help with optimizing performance and reliability.
The UE 102 may travel into the second edge area 208 while traveling along the meandering path 301. In one example, telecommunications services may be maintained at the first node 104 despite the UE 102 traveling into the second edge area 208. In another example, telecommunications services may be transferred to the second node 204 when the UE 102 travels into the second edge area 208, but the edge services may be maintained at the first edge server 106. Alternatively, telecommunications services may be transferred to the second node 204 and the edge services transferred to the second edge server 206 when the UE 102 enters the second edge area 208. The outcome may change depending on individual factors network rules, the network conditions at the time, and the calculated probability that the UE 102 will return to the first edge area 108, and.
The second edge server 206 may also determine the UE's 102 location prior to or after providing edge services to the UE 102. The historical location and duration data may be retrieved from the network 110, if not already received from the first edge server 106. A new priority list edge servers may be determined using the methods described in reference to
In
The network environment 400 is illustrated with a plurality of edge servers. In addition to comprising the edge server 106, UE 102, edge area 108, and peripheral area 120, the network environment 400 includes a north edge server 410, northeast edge server 411, southeast edge server 412, south edge server 413, southwest edge server 414, northwest edge server 415, and far edge server 416. In aspects where adjacent edge servers are determined based on which have an overlapping peripheral area, each of edge servers 410-415 would qualify as an adjacent edge server. Whereas, the adjacent edge server list would not include the far edge server 416. In other aspects, far edge server 416 may qualify as an adjacent edge server as the UE 102 is close in proximity to the far edge server 416. Each edge server listed herein 410-416 may be consider to be an edge environment 100 as described in
The edge servers 410-415 in the list of adjacent edge servers may be qualified by the HPLMN. In
The UE's 102 historical location and duration data may be queried from the database on the network 110. The priority list of qualified adjacent edge servers may be developed. The priority list of qualified adjacent edge servers may be based on current location of the UE 102, network conditions, or other data available may be generated. In the example in
The priority list of edge servers may be used to determine to which edge server context should be transferred. The edge server 106 may share private context with the northeast edge server 411 and the southeast edge server 412 before other edge servers. The priority list may facilitate the sharing of context between edge servers in a manner that consumes less network resources. An edge server may be eliminated from the priority list based on a predictive algorithm. The predictive algorithm may perform user behavior analysis based on the UE's 102 historical and location data to determine if there is correlation between the UE's 102 current location or time and a predicted location or route. The time of the day may be compared to historical location and duration data for the purposes of pattern recognition. The predictive algorithm may be able to determine or incorporate additional information to enhance the prediction. For example, the predictive algorithm may incorporate the time of day while making the prediction, which may allow for more accurate prediction of user behaviors such as commuting during a certain time of day or engaging in recreational activities in other times of day.
Historical location and duration data of the UE 102 maybe prioritized to formulate a prediction the UE's 102 future movements for the purposes of selecting edge servers on the priority list. The prediction may allow for the removal of at least one of the edge servers from the priority list that are not adjacent to both the edge area 108 and the edge server 416. In some aspects, the edge servers away from the prediction may be given a lower priority or thresholds for transmitting cache data or updating cache data. The network 110 may be queried to determine the availability of network resources for caching data on adjacent edge servers. If network resources are more readily available, more servers may remain on the priority list. Adequate network resources available may allow for more frequent updating of the private context to the adjacent edge servers on the priority list. In this example, context data is not being on the southwest edge server 414. Although the edge server 106 and the southwest edge server 414 are still connected via the network there may be no context sharing on a southwest network connection 435.
Turning to
Turning now to
The location of the UE 102 may be maintained while the UE 102 is in in the edge area 108. The location of the UE 102 may be used in refining the priority list. The UE 102 may be detected moving at a high rate of speed and the location of the UE 102 may be determined more frequently.
Information used to help refine the priority server list that is not UE 102 specific, may be also be known as situational data, especially in the aggregate. Situational data may include geographic feature data, transportation infrastructure data, traffic and weather conditions data, and local event data. The geographic feature data may include certain geographic features (also known as “topography”) contained within the edge area 108. In some aspects, the geographic feature data may include geographic locations which have known connectivity issues, where additional or alternative caching strategies should be employed. Geographic feature data may include information about impassable or infrequently passed areas including but not limited to mountains, rivers, lakes, ravines, forested areas, large industrial sites, or similar terrain. Situational data may include information regarding the geographic area of the adjacent edge servers. Situational data may include transportation infrastructure data such as information regarding roads, highways, trains, subways, buses, bridges, and ferries. Situational data may also include traffic condition and weather condition information. Traffic conditions may include real-time traffic data which may be employed to anticipate the user's route and potential delays. Such information may be used to optimize caching strategies. Situational data may also include knowledge of major events or venue use within an area around the UE 102. Situational data may include other information that is significant to predicted behaviors of user equipment. Situational data may be stored on the edge server 106, a server on the network 110, at the node 104, or at another location. Situational data may be used as part of the predictive algorithm to refine the priority list.
The UE 102 may be detected to be moving at a speed above a pre-determined threshold, which may increase the frequency at which the UE's 102 location is determined. Additional weight may be given to the location and duration data from the current edge instance if the UE 102 demonstrates movement consistent with known transportation elements. As such, adjacent edge servers, which do not conform to the expectations of the UE's 102 movement given the situational data, may be further reduced in priority on the priority list or removed from the priority list completely.
In aspects, the UE 102 enters into the peripheral area 120. One or more of the steps described in reference to
In the present example, there may be no remaining exits on the highway 610 leading to the second edge area 208. As such, it may be determined that highway 610 travels through the edge area 108 and passes into the highway edge area 608, without passing through the second edge area 208. In other examples, it may be determined there is a forested area 620 which would further make travel difficult for the UE 102 to enter the second edge area 208. As such, despite the previously determined predicted destination 402, additional information may cause further de-prioritization or elimination of the second edge server 206 from the priority list. Situational data may be retrieved and may include a traffic condition along the highway 610. The traffic conditions may include data about the rate of speed of traffic, public transportation speeds, if there are any hazards or delays, and other data commonly associated with traffic. The highway edge server 606 may have the highest priority edge server to receive context from the edge server 106. The priority list may be further refined based on the historical location and duration data in context with the UE's 102 current behavior and other situational data.
If there is contradictory or insufficient historical location and duration information available to enable a determination between prioritizing the second edge server 206 and the home edge server 706, home edge server 706 may be prioritized by default. In aspects, the home edge server 706 may store context for the UE 102 as the home location 710 is located in the home edge area 708. Therefore the home edge server 706 may not receive a higher priority as it already stores a portion of the context for UE 102. The degree of prioritization and decision to prioritize which server may also be influenced by the current or predicted available network resources.
In addition, the UE 102 may provide additional information either directly or indirectly to enable further refinement of the priority adjacent server list. In the example of 7A, an anticipated destination 709 is indicated within the second edge area 208. The anticipated destination 709 may be discovered through a variety of ways. Firstly, the UE 102 may indicate that it is currently navigating to the anticipated destination 709. This may require a high level of cooperation and feedback between the UE 102 and the edge server 106. In some aspects, the application running edge services on the edge server 106 may be a navigation system or include a navigation system, which indicates an anticipated destination 709 for the UE 102. The edge server 106 may be able to identify the anticipated destination 709 from the navigation system. The UE's 102 recent activity may indicate the anticipated destination. Activity may include data such as search engine searches, website history, SMS text message information, calendar information from the UE 102, phone calls, or other information that may allow the determination of anticipated destination 709. It may be determined there is a trending destination, such as a major sporting event or concert in an adjacent edge server geographic area. The adjacent edge servers with the trending destination may be given additional priority.
In the event that the anticipated destination 709 is determined to be within the second edge area 208 the second edge server 206 may have priority over the home edge server 706. However, the degree to which prioritization occurs with one server over another may relate to a level of confidence in the accuracy of the anticipated destination 709. For example, if an anticipated destination 709 is predicted based on received an internet search of “Best breakfast near me,” and its 5 pm on a weekday, the confidence in that anticipated destination 709 may be low. Whereas, if the anticipated destination 709 was determined by an active navigation system running on the edge server 106, with the anticipated destination 709 as the destination, the confidence in the anticipated destination 709 may be so high that even the home edge server 706 is removed from the priority list.
The CV 752 may be located within the peripheral area 120 of the edge area 108. The priority list of qualified adjacent edge servers may have already been generated by the methods described in reference to
The CV 752 may be recognized as being unique type of user device linked with a vehicle that is not a UE such as a cell phone, tablet, or other handheld device. As such, it may be determined that the CV 752 may only travel along roadways and may be capable of traveling at significant speeds. Additional details of the CV 752 may be determined, such as make, model, vehicle use (such as personal vehicle, delivery vehicle, or other commercial vehicle). The CV 752 may be a node for other devices within the vehicle as well, acting as a hot spot and internet data source for other user equipment within the vehicle. If it is determined that the edge services are being utilized by the UE 102 connected through the CV 752, methods discussed earlier may be more appropriate.
However, the CV 752 may also be utilizing edge services for navigation, self-driving, or other resource intensive processes. In some aspects, the anticipated destination 709 may be determined if the CV 752 is utilizing edge services for navigation or self-driving. The methods described
Although not discussed in
Turning to the last of the network maps 7C, which illustrates the UE 102 in an edge environment 770 where a type of user device, an augmented reality device (AR device) 772 may be engaged in augmented reality. The AR device 772 may be a user device including but not limited to a cellular telephone or tablet computer which presents an augmented reality image on a display to a user. The AR device 772 may also be a type of wearable augmented reality devices such as a headset, glasses, personal heads up display, or similar device which overlays images and text into a user's vision, this type of device as depicted in
The AR device 772 may be used recreationally and may involve an element of novelty or entertainment that may make prediction based off of historical location and duration information difficult. The AR device 772 may overly text or images in the immediate surroundings, such as displaying a restaurant closing hours or a creating small creature for the user to interact with. The location of images displayed or overlaid for the user on the AR device 772 may be monitored. The overlay image location data from the AR device 772 may be monitored as well. These images may not aid in the prediction of the AR device's 772 movement. The augmented images being displayed may be physically distant from the AR device 772. Such augmented images may be displayed in anticipation of future interaction with the user or to entice the user into a certain area. The display of a distant augmented image 774 may allow further refinement of the priority qualified edge server list.
The priority list may be generated by the methods discussed in reference to
Referring now to
The implementations of the present disclosure may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program components, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program components, including routines, programs, objects, components, data structures, and the like, refer to code that performs particular tasks or implements particular abstract data types. Implementations of the present disclosure may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, specialty computing devices, etc. Implementations of the present disclosure may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to
Computing device 900 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 900 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.
Computer storage media includes RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices. Computer storage media does not comprise a propagated data signal.
Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
Memory 904 includes computer-storage media in the form of volatile and/or nonvolatile memory. Memory 904 may be removable, non-removable, or a combination thereof. Exemplary memory includes solid-state memory, hard drives, optical-disc drives, etc. Computing device 900 includes one or more processors 906 that read data from various entities, such as bus 902, memory 904, or I/O components 912. One or more presentation components 908 presents data indications to a person or other device. Exemplary one or more presentation components 908 include a display device, speaker, printing component, vibrating component, etc. I/O ports 910 allow computing device 900 to be logically coupled to other devices, including I/O components 912, some of which may be built in computing device 900. Illustrative I/O components 912 include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
Radio 919 represents a radio that facilitates communication with a wireless telecommunications network. Illustrative wireless telecommunications technologies include CDMA, GPRS, TDMA, GSM, and the like. Radio 919 might additionally or alternatively facilitate other types of wireless communications including Wi-Fi, WiMAX, LTE, or other VoIP communications. As can be appreciated, in various embodiments, radio 919 can be configured to support multiple technologies and/or multiple radios can be utilized to support multiple technologies. A wireless telecommunications network might include an array of devices, which are not shown so as to not obscure more relevant aspects of the invention. Components, such as a base station, a communications tower, or even access points (as well as other components), can provide wireless connectivity in some embodiments.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the scope of the claims below. Embodiments in this disclosure are described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to readers of this disclosure after and because of reading it. Alternative means of implementing the aforementioned can be completed without departing from the scope of the claims below. Certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims.
In the preceding detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the preceding detailed description is not to be taken in the limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.