Method and apparatus for providing context-aware services in a communication network

CN122952063APending Publication Date: 2026-10-20NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610472079.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-11
Filing Date
2026-04-10
Publication Date
2026-10-20

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

This disclosure provides a method and apparatus for providing context-aware services in a communication network. The method may include: receiving context information associated with a user equipment (UE) from the UE; generating recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with one or more other UEs; and sending the recommendations to the UE for the UE to provide to users associated with the UE.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to communication networks. More specifically, this disclosure relates to methods, apparatus, systems, and computer programs for providing context-aware services in communication networks. Background Technology

[0002] Mobile telecommunications networks or cellular networks (often referred to as communication networks in this document) enable communication between two or more communication devices, provide communication devices with access to data networks, deliver services provided by third-party applications to communication devices, or provide services provided by the communication network to communication devices.

[0003] Communication networks and equipment can operate based on cellular technologies (also known as radio access technologies), such as GSM, UTMS, LTE, LTE-A, and NR. Cellular technologies are standardized by various standards organizations, such as the 3rd Generation Partnership Project (3GPP) or ETSI (European Telecommunications Standards Institute). 3GPP is currently developing fifth-generation cellular technology standards (commonly referred to as 5G or NR standards) and sixth-generation cellular technology standards (commonly referred to as 6G standards). Communication networks operating according to 5G or NR standards are generally called 5G networks, while communication networks operating according to 6G standards are generally called 6G networks.

[0004] Communication networks (e.g., 5G or 6G networks) include access networks (e.g., radio access networks), which can wirelessly communicate with one or more communication devices by sharing the available resources (e.g., bandwidth, transmit power, etc.) of the access network. Communication networks can also establish reliable and secure connections between communication devices and the core network of the communication network via the access network. Communication networks (e.g., 5G networks) can provide communication devices with enhanced mobile broadband services (e.g., telephony, video, data, and short message services), ultra-reliable low-latency communication services (e.g., XR services), or massive machine-type communication services. Summary of the Invention

[0005] This disclosure relates to servers providing context-aware recommendation services (also referred to herein as context-aware services) in communication networks. Context-aware recommendation services (e.g., context-aware services) are services provided by servers or cloud computing systems that generate recommendations (e.g., recommended products, services, or information) based on context information associated with a UE (e.g., context information of a user associated with the UE), historical context information associated with the UE, and historical context information of other UEs (e.g., other UEs besides the UE). Context-aware services can receive and store context information associated with a UE from a user equipment (UE) in a database, such as user queries (e.g., queries for information entered by the user associated with the UE), information about the intent of the user associated with the UE, information about the user's preferences(s) associated with the UE, multiple actions(s) associated with the user, the UE's location, and / or information indicating feedback associated with previous recommendations transmitted (e.g., sent) to the UE, where the feedback is provided by the UE to the user associated with the UE. Context-aware services can store context information in association with recommendations generated in the database that are related to the context information associated with the UE. The database can also store historical context information associated with the UE. This historical context information, stored in the database and associated with the UE, can be stored in association with previous recommendations generated by the context-aware service and associated with the UE. The database can also store historical context information associated with other UEs (e.g., other UEs besides the UE itself) in association with previous recommendations, which are related to historical context information generated by the context-aware service and associated with other UEs. Third-party application servers can register with the context-aware service. They can receive context information associated with the UE received from the UE at the context-aware service, including user queries related to applications provided by one of the third-party application servers. The context-aware service can generate recommendations related to the context information associated with the UE by requesting information from the third-party application. If such information is necessary for generating the recommendations, the service generates recommendations based on the information received from the third-party application and sends the recommendations to the UE. The context-aware service can be software hosted and running, for example, on an edge computing platform (e.g., an edge computing server located at the edge of a communication network) or a cloud computing platform (e.g., a cloud computing system).

[0006] In this way, context-aware services can act as a unified interface between application clients running on the UE and multiple services provided by third-party application servers via their corresponding application clients running on the UE. This improves efficiency and reduces the bandwidth used by the communication network to provide responses to requests to the UE, compared to traditional communication networks that merely act as conduits connecting the UE to each third-party application server (which provides information to the UE in response to requests received from the UE). By making informed decisions based on historical context information associated with the UE, such as decisions to send requests to third-party application servers, context-aware services can reduce the amount of data transmitted between the UE and third-party application servers over the communication network compared to traditional methods, and thus reduce the bandwidth used for communication. In traditional methods, multiple application clients run independently on the UE, and the continuous transmission of updated and maintained data occurs between the third-party application server and the corresponding application client running on the UE.

[0007] According to a first aspect of this disclosure, an apparatus for a communication network is provided, the apparatus comprising: a component for receiving context information associated with a user equipment (UE) from a user equipment (UE); a component for generating recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with a plurality of other UEs (e.g., a plurality of UEs other than the UE); and a component for transmitting (e.g., sending) the recommendations to the UE for the UE to provide to users associated with the UE.

[0008] According to a second aspect of this disclosure, a method is provided, comprising: receiving context information associated with a user equipment (UE) from a user equipment (UE); generating recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with a plurality of other UEs (e.g., a plurality of UEs other than the UE); and sending the recommendations to the UE for the UE to provide to users associated with the UE.

[0009] According to a third aspect of this disclosure, a computer program including instructions is provided, wherein execution of the computer program by at least one processor of a means of a communication network causes the means to perform: receiving context information associated with a user equipment (UE) from a user equipment (UE); generating recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with a plurality of other UEs (e.g., a plurality of UEs other than the UE); and transmitting (e.g., sending) the recommendations to the UE for the UE to provide to users associated with the UE.

[0010] According to a fourth aspect of this disclosure, a non-transitory computer-readable medium is provided, the instructions, when executed by at least one processor of the apparatus, causing the apparatus to: receive context information associated with a user equipment (UE) from the user equipment (UE); generate recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with a plurality of other UEs (e.g., a plurality of UEs other than the UE); and transmit (e.g., send) the recommendations to the UE for the UE to provide to users associated with the UE.

[0011] According to a fifth aspect of this disclosure, an apparatus is provided, the apparatus including at least one processor and at least one memory storing instructions, which, when executed by the at least one processor, cause the apparatus to perform: receiving context information associated with a user equipment (UE) from a user equipment (UE); generating recommendations related to the context information associated with the UE based on the context information associated with the UE, historical context information associated with the UE, and historical context information associated with a plurality of other UEs (e.g., a plurality of UEs other than the UE); and transmitting (e.g., sending) the recommendations to the UE for the UE to provide to a user associated with the UE.

[0012] In some or all of the examples of the first, second, third, fourth and fifth aspects, the method further includes storing historical context information associated with the UE in association with recommendations in a database, wherein the database stores historical context information associated with multiple other UEs in association with recommendations related to the historical context associated with multiple other UEs.

[0013] In some or all of the examples of the first, second, third, fourth, and fifth aspects, it also includes registering one or more third-party application servers with the context-aware service.

[0014] In some or all of the examples of the first, second, third, fourth, and fifth aspects, the generation includes: determining that information associated with one of the one or more third-party applications is needed to generate a recommendation; sending a request for the information to one of the one or more third-party applications; receiving a response to the request from one of the one or more third-party applications, the response including the information; and further generating a recommendation based on the information.

[0015] In some or all of the examples of the first, second, third, fourth, and fifth aspects, the analysis includes: determining the location of the UE is needed to generate recommendations; determining the location of the UE, and wherein generating includes further generating recommendations based on the location of the UE.

[0016] In some or all of the examples of the first, second, third, fourth, and fifth aspects, determining the location of the UE includes: sending a request for the location of the UE to the UE or a network function of the communication network; and receiving the location of the UE from the UE or the network function of the communication network. Receiving may include receiving a response to the request, which includes the location of the UE.

[0017] In some or all of the examples of the first, second, third, fourth and fifth aspects, the contextual information associated with the UE includes at least one of the following: a user query entered into the UE, or an intent associated with a user query received by the UE.

[0018] In some or all of the examples of the first, second, third, fourth, and fifth aspects, the contextual information associated with the UE includes at least one of the following: information related to a user's preferences associated with the UE; information related to a user's behavior associated with the UE; information related to the UE's location; information related to a previous request received from the UE; information related to a previous recommendation sent to the UE in response to previously received contextual information from the UE; or information related to feedback received from the UE that is associated with a previous recommendation sent to the UE.

[0019] In some or all of the examples of the first, second, third, fourth, and fifth aspects, where the contextual information associated with the UE includes user queries, the method also includes analyzing user queries to determine the intent associated with the user queries.

[0020] In some or all of the examples of the first, second, third, fourth and fifth aspects, analyzing a user query includes: determining an ambiguity associated with the user query; transmitting (e.g., sending) a request for clarification of the ambiguity to the UE; and receiving additional information from the UE related to the clarification of the ambiguity; and determining the intent associated with the user query based on the additional information.

[0021] In some or all examples of the first, second, third, fourth, and fifth aspects, the method further includes: processing the context information received from the UE to generate processed context information associated with the UE before analyzing the context information associated with the UE, the historical context information associated with the UE, and the historical context information of multiple other UEs to generate a recommendation, wherein processing the context information includes at least one of: filtering the context information or structuring the context information into a predefined format, and wherein analyzing the context information includes analyzing the processed context information.

[0022] In some or all examples of the first, second, third, fourth, and fifth aspects, the method further includes: receiving information related to feedback from the UE, which is associated with a recommendation; and storing the information related to feedback in a database in association with historical context information associated with the UE.

[0023] In some or all of the examples in the first, second, third, fourth, and fifth aspects, the server hosting the context-aware service is an edge server of the communication network.

[0024] In some or all of the examples of the first, second, third, fourth and fifth aspects, the method further includes: receiving activation of a notification for the UE from the UE, wherein analysis is performed in response to determining that the notification for the UE is activated.

[0025] In some or all of the examples of the first, second, third, fourth, and fifth aspects, the activation includes a condition, wherein the activation is valid when the condition is met, and the analysis is performed in response to determining that the condition is met.

[0026] In some or all of the examples of the first, second, third, fourth, and fifth aspects, the conditions are based on time or the location of the UE.

[0027] The foregoing description provides a basic understanding of some aspects of this disclosure. This description is not a broad summary of the disclosure, nor is it intended to limit its scope. Other aspects and features of this disclosure will become apparent to those skilled in the art upon reading the following description of exemplary implementations in conjunction with the accompanying drawings. Attached Figure Description

[0028] The accompanying drawings, which illustrate an example implementation of this application, will now be referenced by way of example. In the drawings:

[0029] Figure 1 This is a schematic block diagram illustrating user equipment, communication networks, and data networks implemented according to an example;

[0030] Figure 2 This is a schematic block diagram illustrating the user equipment, core network, edge data network, and edge configuration server implemented according to the example.

[0031] Figure 3A This is a schematic diagram based on the example of user equipment, communication network, and data network;

[0032] Figure 3B This is a schematic diagram of an edge data storage device that implements user equipment, communication networks, data networks, unified platform context-aware services, and edge data networks based on an example.

[0033] Figure 4 This is a flowchart of a context-aware server method for a communication network implemented based on an example;

[0034] Figure 5 This is a flowchart of the user device method implemented based on the example;

[0035] Figure 6 This is a diagram illustrating the operations in the example process implemented based on the example;

[0036] Figure 7 The diagram illustrates the implementation based on the example for... Figure 1 A schematic diagram of the physical and logical components of a communication network device; and

[0037] Figure 8 This is a schematic diagram illustrating the physical and logical components of a user device implemented according to an example.

[0038] Similar reference numerals may be used to denote similar components in different drawings. Unless otherwise specified, items depicted in the drawings are not necessarily drawn to scale. Detailed Implementation

[0039] The subject matter is described herein with reference to the accompanying drawings, which illustrate example implementations. However, many different example implementations may be used, and therefore this description should not be construed as limiting it to the embodiments described herein. Rather, these example implementations are provided to make this application thorough and complete. Where possible, the same reference numerals are used in the drawings and the following description to refer to the same elements, and prime number symbols are used to indicate similar elements, operations, or steps in alternative example implementations. The separate blocks or separations of logical elements in the illustrated systems and devices do not necessarily require physical separation of such logical elements, as communication between such logical elements can occur through message passing, function calls, shared memory spaces, etc., without any such physical separation. Therefore, logical elements do not need to be implemented in physically or logically separated platforms, although such logical elements are shown separately for ease of explanation. Different devices may have different designs such that while some devices implement some logical elements in hardware, others may implement such logical elements in a programmable processor with code obtained from a machine-readable medium. Finally, elements in the singular form may be in the plural form and vice versa, unless the context explicitly or inherently indicates otherwise.

[0040] References to “an implementation,” “implementation,” “example implementation,” etc., in this disclosure indicate that the described implementation may include a particular feature, structure, or characteristic, but not every implementation must include that particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same implementation. Moreover, when a particular feature, structure, or characteristic is described in conjunction with an implementation, it is understood that a person skilled in the art can influence that feature, structure, or characteristic in conjunction with other implementations, whether explicitly described or not.

[0041] refer to Figure 1 An example of a user equipment (UE) 100 configured to communicate with a data network 102 via a communication network 104 is shown. The communication network 104 includes an access network 106 and a core network 108, the core network including one or more network functions 110.

[0042] Access network 106 provides radio connectivity (e.g., radio connection) to UE 100 and connects UE 100 to core network 108 via a backhaul network. Access network 106 may include a radio access network (RAN), a non-terrestrial network (e.g., a satellite network), a wireless local area network (WLAN), or any other type of network that provides radio connectivity to UE 100 and connects UE 100 to core network 108. Access network 106 provides radio connectivity (e.g., radio connection) to UE 100 via at least one access node of access network 106. For example, the access node of access network 106 may be a radio access node and may provide radio connectivity to UE 100. Radio access nodes may include gNodeB (gNB), ng-eNodeB (ng-eNB), and eNodeB (eNB). Access nodes of access network 106 may be access points such as wireless local area network (WLAN) access points and may provide radio connectivity to UE 100. In some implementations, the access node of access network 106 may be an access point that provides wired connectivity (typically referred to as fixed access) to UE 100. The backhaul network between access network 106 and core network 108 may include a fixed network, a satellite network, or a combination thereof. Core network 108 connects access network 106 to data network (DN) 102 via its N6 interface (not shown).

[0043] As described above, the core network includes network functions (NFs) 110 (generally referred to as network function 110, and collectively as network function 100). Each corresponding network function 110 may be implemented as software running on dedicated hardware (e.g., one or more physical computing devices, such as servers), a virtualized network function (VNF) instantiated using network function virtualization software implemented on a physical computing device, or a container provided by the infrastructure of a cloud computing system. Data network 102 may be an external public network, a private data network, or an operator's internal data network (e.g., for providing IP Multimedia Subsystem (IMS) services).

[0044] Each NF 110 in core network 108 can provide one or more services to other network functions 110 in core network 108 via a service-based interface (SBI). Each service-based interface (SBI) enables communication between two NFs 110. The SBI is the communication mechanism between these NFs. The SBI uses network-based protocols and principles (primarily HTTP / 2 and RESTful application programming interfaces (APIs)+) to facilitate communication between NFs. Each NF 110 can also register itself and the services it supports (e.g., services provided by other network functions) to the Network Repository Function (NRF) of core network 108. The NRF can be used by any network function 110 to discover other network functions 110 (or instances of NFs 110) and services supported by other NFs 110 (e.g., services provided by other NFs). Any NF 110 can consume (e.g., use) services provided and available by another NF 110. An NF 110 that consumes services from another network function is typically referred to as a Network Function Service Consumer (NFc). A network function that provides and opens one or more of its services is called a Network Function Service Producer (NFp).

[0045] UE 100 (also referred to herein as a mobile terminal) can be configured to access access network 106, register with core network 108, establish one or more data sessions with core network 108, and access services provided by core network 108 and / or application functions (not shown) hosted on application servers (not shown) on data network 102.

[0046] For example, core network 108 may be a 5G core network (5GC) operating based on fifth-generation radio access technology (e.g., fifth-generation radio access technology as described in the 3rd Generation Partnership Project (3GPP) standard for new radios), or a 6G core network (6GC) operating based on sixth-generation radio access technology. Core network 108 includes network functions (generally referred to as network functions 110, collectively referred to as network functions 110) that can connect to a management system (not shown) configured to manage communications network 104. Examples of network functions 110 of core network 108 include: network functions for mobility management, such as Mobility Management Network Function (MM NF) or Access and Mobility Function (AMF); network functions for session management, such as Session Management Network Function (SMNF) or Session Management Function (SMF); network functions for authentication server functions (AUSF); network open functions (NEF) for providing access to untrusted network functions and authorization of untrusted network functions to core network 108; network repository functions (NRF); and network functions for policy control, such as Policy Control Network Function (PCNF) or Policy Control Function (PCF).

[0047] Radio access network 106 includes one or more radio access network (RAN) nodes (also called base stations). RAN nodes can provide one or more cells. For example, a cell can be a macro cell, micro cell, femtocell, or picocell. A cell defines the coverage area or service area of ​​the RAN node. RAN nodes can be, for example, Node Bs (NodeBs or NBs), evolved Node Bs (eNodeBs or eNBs), next-generation Node Bs (gNBs), remote radio units (RRUs), remote radio heads (RRHs), relays, integrated access and backhaul (IAB) nodes, and low-power nodes. RAN nodes can be deployed in non-terrestrial network (NTN) equipment, such as satellites (e.g., low Earth orbit (LEO) or geostationary orbit (GEO) satellites), aircraft, or drones, where such NTN equipment forms a non-terrestrial network that includes ground stations. RAN nodes can also be deployed on the ground, in which case the RAN node can be referred to as a terrestrial network equipment. RANs that include terrestrial network equipment are generally referred to as terrestrial networks.

[0048] RAN nodes can have a split architecture, where the functionality of the RAN node (e.g., eNB or gNB) is distributed among various entities. A RAN node with a split architecture can include Radio Units (RUs) (also known as Remote Radio Headers (RRHs)), Centralized Units (CUs), and one or more Distributed Units (DUs). DUs can be connected to RUs via fronthaul. DUs can be connected to CUs via midrange or F1 interfaces. CUs can be connected to the core network (e.g., Core Network 108) via backhaul. In a RAN node with a split architecture, the operation of the RAN node can be performed by CUs and DUs. One CU can control one or more DUs.

[0049] The RU converts radio signals sent to and from the antenna into digital signals for transmission over a packet network, processes the digital front-end (DFE) and lower PHY layers, and includes digital beamforming capabilities. The DU is a logical entity (e.g., software) hosted and running on a server near the RU. The CU is a logical entity (e.g., software) hosted and running on a server. The CU can be hosted and running on its own server, or on the same server where the DU is hosted and running near the RU. The DU includes a subset of the RAN node's capabilities (e.g., eNB or gNB) depending on the functional breakdown, and the CU includes additional capabilities of the RAN node not included in the DU's subset of capabilities. The DU may include a subset of the layers of the RAN node's protocol stack, and the CU may include additional layers of the protocol stack not included in the DU's subset of layers. For example, in some implementations, the DU may include the Radio Link Control (RLC) layer, Media Access Control (MAC) layer, and Physical (PHY) layer of the protocol stack for the RAN node, while the CU may include layers of the RAN node's protocol stack above the RLC layer, such as the Packet Data Convergence Protocol (PDCP) layer, Radio Resource Control (RRC) layer, and Internet Protocol (IP) layer. The operation of the DU is controlled by the CU.

[0050] refer to Figure 2 A schematic diagram of a UE 202 communicating with an edge data network 206 via a communication network 204 is shown. The UE 202 may be similar to the previously referenced... Figure 1 The UE 100 described herein, and the communication network 204 may be similar to the previous reference. Figure 1 The communication network 104 is described.

[0051] Edge data network 206 is configured to enable edge computing, optimize resource usage, and improve service delivery through localized processing near UE 202.

[0052] Since the edge application server 208 is deployed or located near the edge of the communication network 204, the services provided by the application hosted and running on the edge application server 208 can be provided with higher operational efficiency compared to the example provided by the application hosted and running on the central application server, because the amount of traffic (e.g., application data) through the communication network and / or the distance of application traffic (e.g., application data) through the communication network is reduced.

[0053] Typically, edge application server 208 exchanges application services (e.g., application data) with application client 210 installed and running on UE 202. Edge enabler server 212 of edge data network 206 can be responsible for enabling the discovery of edge application server 208. Edge enabler client 214 installed and running on UE 202 can communicate with edge enabler server 212 and provide support functions to application client 210 installed and running on UE 202, including the discovery of edge application server 208. Edge configuration server 216 can provide configuration data to edge enabler client 214 installed and running on UE 202 to facilitate the establishment of a connection between application client 210 and edge application server 208.

[0054] Now for reference Figure 3A This diagram illustrates a conventional method for UE 300 to communicate with data network 302 via communication network 304. UE 300, data network 302, and communication network 304 can be compared with previously referenced... Figure 1 The UE 100, data network 102 and communication network 104 described are basically similar.

[0055] UE 300 includes a first application client (shown as client 1), a second application client (shown as client 2), a third application client (shown as client 3), and a fourth application client (shown as client 4). Each application client communicates with a corresponding application server among the first application server (shown as server 1), second application server (shown as server 2), third application server (shown as server 3), and fourth application server (shown as server 4) of data network 302 to access corresponding services provided by the corresponding application among the applications hosted and running on server 1, server 2, server 3, and server 4. Figure 3A In the conventional example shown, each application client communicates directly with its corresponding application server via communication network 304, allowing each application client to run independently on UE 300. Communication network 304 merely acts as a conduit connecting each application client to its corresponding application server, without any capability to reduce the amount of data sent to and received from the application server via communication network 304. This can lead to inefficient utilization of communication network resources (e.g., network resources), such as low power consumption and bandwidth utilization, and may also increase the power consumption of UE 300.

[0056] Figure 3BA schematic diagram of server 306 is shown, which provides a context-aware service 315 configured to provide recommendations to a user associated with the UE in response to contextual information associated with the UE received from the UE (e.g., from a context-aware client running on the UE). The contextual information associated with the UE can be a user query received by a context-aware client 314 running on the UE 308. The user query can be any request entered into the UE via any user interface (including a microphone, touchscreen display, or keypad), associated with a request for information, and received by the context-aware client 314 running on the UE 308. The user query can take the form of a request to perform a task, a request to provide an answer to a question, or a request to provide certain information requested by the user. The user query can be a voice query received from the UE's microphone, or a text query received from the UE's keypad when the user interacts with the keypad to provide the user query to the UE (e.g., a context-aware client running on the UE).

[0057] The context-aware service 315 running on server 316 can act as an interface for communication between UE 308 and a third-party application running on an application server in data network 310 via communication network 312. UE 308, data network 310, and communication network 312 can be compared with previously referenced... Figure 1 The UE 100, data network 102 and communication network 104 described are basically similar.

[0058] exist Figure 3B In the implementation shown, the context-aware service 315 can receive context information associated with the UE 308 from the UE 308 via a context-aware client 314 hosted and running on the UE 308, such as, for example, user queries, intents associated with user queries, information about one or more preferences of a user associated with the UE 308, information about one or more actions associated with the user associated with the UE 308, the location of the UE 308, and / or information related to feedback that is associated with previous recommendations provided to the UE by the context-aware service 315.

[0059] Context-aware service 315 may store context information received from UE 308 and associated with UE 308 in a database. The database may be implemented on a data storage device (such as data storage device 316). In addition to the context information received from UE 308 and associated with UE 308, the database may also store previous context information received from UE 308 and associated with UE 308, previous recommendations related to previous context information generated by context-aware service 315 for UE 308, and / or feedback received from UE 308 and related to previous recommendations sent to UE 308. The database may store historical context information received from one or more other UEs (e.g., historical context information received from corresponding other UEs among one or more other UEs) and associated with one or more other UEs (e.g., other UEs besides this UE), recommendations related to historical context information associated with one or more other UEs, and / or feedback received from multiple other UEs and related to previous recommendations sent to other UEs.

[0060] exist Figure 3B In the example implementation shown, servers 1, 2, 3, and 4 can be third-party application servers that can register with the context-aware service 315 hosted and running on server 306, so that the context-aware service 315 provided by server 306 can provide a unified interface for the corresponding third-party applications that provide services to the UE (e.g., UE 308) and are hosted and running on servers 1, 2, 3, and 4 respectively.

[0061] exist Figure 3B In the example implementation shown, the context-aware client 314 hosted and running on UE 308 can replace individual application clients (e.g., client 1, client 2, client 3, client 4) hosted and running on the UE, which would otherwise require access to corresponding third-party applications serving the UE (e.g., UE 308) hosted and running on application servers server 1, server 2, server 3, and server 4, respectively. Compared to UE 300, replacing the individual application clients hosted and running on the UE (e.g., UE 308) with the context-aware service client 314 can reduce the power consumption of the UE (e.g., UE 308) running multiple third-party applications provided by server 1, server 2, server 3, and server 4.

[0062] Context information received from the UE and associated with the UE (e.g., context information associated with a user associated with the UE) can be related to an application provided by one of servers 1, 2, 3, and 4, and can be received at context-aware service 315. For example, the context information associated with the UE may include user queries or other information related to user queries that are related to an application provided by one of servers 1, 2, 3, and 4. Context-aware service 315 can generate context-related recommendations based on context information associated with UE 308 received from UE 308, historical context information associated with UE 308, and historical context information associated with one or more other UEs (e.g., UEs other than UE 308) stored in a database in data storage device 316. This context information is associated with UE 308, and such information can be requested from one of servers 1, 2, 3, and 4 that provide the application associated with the request only when it is determined that the information is needed to generate the recommendation. This is indicated by the dashed line between server 306 and servers 1, 2, 3, and 4. Otherwise, the context-aware service 315 generates recommendations related to context information associated with UE 308, historical context information associated with UE 308, and historical context information associated with one or more other UEs stored in a database in data storage device 316, without requesting information from one of servers 1, 2, 3, and 4 via network 312 and transmitting (e.g., sending) the generated recommendations to UE 308.

[0063] In this way, with Figure 3A Compared to the conventional implementation shown, the context-aware service 315 can reduce the amount of data transmitted (e.g., sent) to the UE via the communication network 312, for example, in Figure 3A In this context, requests for information are always transmitted (e.g., sent) to the application server hosting the third-party application that provides the given service to the UE. When the context-aware service 315 determines that information is needed to generate recommendations based on context information associated with the UE received from the UE, the context-aware service 315 of this disclosure requests information only from the third-party application that provides the given service, which results in a reduction of traffic (e.g., a reduction in data) transmitted through the communication network 312.

[0064] In this way, the context-aware service 315 can act as a unified interface for interacting or communicating with multiple applications hosted and running on application servers 1, 2, 3, and 4, and providing corresponding services to the UE. The context-aware service 315 is configured to process the UE's context information and the UE 308's historical context information to generate informed recommendations based on the context information, including, for example, deciding whether to send a request for information to a third-party application server, and... Figure 3A Compared to the conventional implementation shown, this can reduce the amount of data sent to the third-party application server via the communication network 312, and thus reduce the bandwidth and energy consumption of the communication network 312. Figure 3A In this process, the application runs independently, allowing update and maintenance data to be continuously sent between the third-party application servers Server 1, Server 2, Server 3 and Server 4 and UE 300 via network 304.

[0065] Figure 3B The server 306 shown is implemented as an edge application server for an edge data network, similar to the previous reference. Figure 2 The described edge data network 206 includes edge application services 208, and the data storage device 316 can be an edge data storage and processing device. Figure 3A Compared to the conventional implementation shown, implementing context-aware service 315 on an edge application server (e.g., hosting and running context-aware service 315) reduces the number of services transmitted over long distances on communication network 312, thereby further reducing the bandwidth utilized by communication network 312.

[0066] In other implementations, the context-aware service 315 can be provided by an application server in a data network that is not an edge data network (rather than being implemented as an edge data network), as previously referenced. Figure 1 The data network 102 described may be provided by network functions or trusted application functions included within a communication network, such as those previously referenced. Figure 1 The network functions 110 of the core network 108 are described.

[0067] Now for reference Figure 4 The flowchart illustrates a method for providing context-aware services by a server, for example, by... Figure 3B The methods performed by the context-aware service (e.g., context-aware service 315) are shown.

[0068] At position 402, one or more third-party applications running on a third-party application server may optionally register with the context-aware service. One or more third-party application servers may register with the context-aware service server so that applications provided by the one or more third-party application servers are included in the context-aware service provided by the context-aware service server. As previously mentioned, the context-aware service server can act as a unified interface between the UE and the third-party application servers, which can be enabled by the third-party application servers registered with the context-aware service server.

[0069] Optionally, at 403, notification activation is received from the UE. Notification activation may instruct the UE to authorize a context-aware service to transmit (e.g., send) a notification, recommendation, or any other information to the UE, which the context-aware service determines may be relevant to the UE based on historical context information of the UE stored in a database and / or historical context information of one or more other UEs received from one or more other UEs. When notification activation is received, such notification, recommendation, or other information may be transmitted (e.g., sent) to the UE in the absence of any specific request for context information (such as a user query) received from the UE. This activation may be conditional, such that, for example, when the UE is in certain locations and / or only during certain time periods, the UE instructs notification activation such that when the condition is met, the notification, recommendation, and other information may be transmitted (e.g., sent) to the UE, and when the condition is not met, the notification, recommendation, and other information may not be transmitted (e.g., sent) to the UE.

[0070] At 404, context information associated with the UE is received from the UE. The context information may include any or all of the following: user query input to the UE, intent associated with the user query, information indicating the preferences of the user associated with the UE and / or information indicating the interests of the user associated with the UE, user-associated behavior, the location of the UE, previous requests received by the UE, previous responses sent to the UE in response to previous requests received from the UE, and / or feedback associated with previous recommendations that are transmitted (e.g., sent) to the UE in response to the previous context information associated with the UE received from the UE.

[0071] The context information received from the UE at 404 may include requests for information. Requests for information may be related to user queries entered into the UE. Requests for information may be requests for information related to or provided by one of one or more application servers registered with the context-aware service.

[0072] At position 406, the context information associated with the UE received at position 404 is stored in a database as historical context information associated with the UE. The database can store the historical context information of the UE and the historical context information of one or more other UEs (e.g., one or more other UEs besides the UE itself). The database can be implemented in a server providing context-aware services or in an external data storage device that communicates with the server providing context-aware services.

[0073] In the example implementation, the data storage device implementing the database can be shared among multiple servers, forming a distributed server network that provides (e.g., hosts and runs) context-aware services. In such an implementation, as the UE moves to different locations, the context-aware service can be provided by different servers in the distributed server network, depending on the UE's location. However, each server has access to a database that stores historical context information associated with the UE and historical context to be used to generate recommendations related to the context information received from and associated with the UE, as described in more detail below.

[0074] Optionally, at 408, processing of the UE-associated context information received from the UE can be performed. In this implementation, at 406, the processed UE-associated context information can optionally be stored in a database as UE-associated historical context information. Processing the UE-associated context information can include filtering the UE-associated context information received from the UE. For example, the UE-associated context information can be filtered to remove information determined to be unnecessary, or information unrelated to the recommendations used to generate the UE-associated context information received at 404, as described in more detail below, or information that is redundant. Additionally or alternatively, processing the UE-associated context information can include structuring the UE-associated context information received from the UE at 404 into a predefined format, for example, the format used by the database at 406 to store the UE-associated context information as historical context information.

[0075] At 410, the context-aware service generates recommendations related to the context information associated with the UE received at 404, based on context information associated with the UE received at 404, historical context information associated with the UE retrieved or obtained from the database, and historical context information associated with one or more other UEs retrieved or obtained from the database. Generating recommendations may include using, for example, a generative artificial intelligence model or a large language model (trained to generate recommendations based on context information) to analyze the context information received at 404, the historical context information associated with the UE, and the historical context information associated with one or more other UEs.

[0076] For example, in one implementation, the context information associated with the UE received at 404 could be a user query entered into the UE by the user (e.g., a user query received by the UE as described above), which the UE then transmits (e.g., sends) to a context-aware service as context information associated with the UE. The user query can be in any suitable format. The user query can be a parsed query or an unparsed query. The user query can be, for example, a query from a user requesting to perform a specific task. For example, a user query could be looking for an answer to a question or for specific information. In the example, the user query could be "I'm looking for nearby Italian restaurants" or "I'm looking for a carpool to Paris at 8 am tomorrow."

[0077] In such an example, the analysis performed at 410 may include determining the intent associated with the user query from the user query, and in some examples, determining other information that is then used to generate recommendations that are relevant to or dependent on the user query. Determining the intent and other information associated with the user query at 410 to generate recommendations may include utilizing, for example, natural language processing (NLP). In the example at the UE where the user provides the query "I am looking for nearby Italian restaurants," the UE may determine the intent (restaurant search), type (Italian), and proximity (nearby).

[0078] In other implementations, the context information received at 404 may include the intent associated with the user query, and / or may include other information associated with the user query. In such an implementation, the UE may receive the user query and perform processing on the user query, including, for example, NLP, to determine the intent, and / or other information associated with the query, and send this information to the context-aware service at 408, either alone or in addition to the user query.

[0079] Context-aware services analyze context information associated with the UE, stored historical context information associated with the UE, and historical context information associated with multiple other UEs to generate recommendations. This may include information related to the behavior, preferences, and / or interests of users associated with the UE, or context information associated with the UE received from the UE, including context information received at 404 and / or context information derived from context information associated with the UE received from the UE.

[0080] In the example above, recommendations can be generated based on intent (restaurant search), type (Italian), proximity (nearby), and historical contextual information, such as the preferences of the user associated with the UE, which are relevant to the user's query, such as budget, dietary restrictions, and / or minimum ratings. These preferences can be received from the UE, for example, in response to the user selecting preferences in the preference settings of a context-aware service client installed on UE0, or they can be determined based on feedback information previously received from the UE related to recommendations previously sent to the UE. In this example, the feedback information could include restaurants selected from those included in previous recommendations. For example, if a user typically views restaurants with a rating of 4.3 / 5 or higher, the analysis performed at 410 might result in only restaurants with a rating of 4.3 / 5 or higher being included when generating recommendations.

[0081] In some implementations, generating recommendations at 410 may include determining that additional information not available in the context-aware service or the UE's historical context information database is needed to generate recommendations.

[0082] In the example above, where the context information includes information related to a user query searching for nearby Italian restaurants, the context-aware service can determine that information is needed from an application that includes a restaurant directory provided by a third-party application server registered with the context-aware service. In this example, the context-aware service server can generate and send a request to the third-party application to request the desired information. In the example above, this request could be a request for Italian restaurants near the UE's current location. The request to the third-party application can also include other information based on the UE's context information, such as, for example, budget, dietary restrictions, and / or minimum ratings, allowing the third-party application server to utilize this additional information when processing the request for information. In other implementations, the request to the third-party application may not include additional information based on the UE's context information, and, for example, the requested information received from the third-party application server can be filtered by the context-aware service based on the context information to generate recommendations at 410.

[0083] In some implementations, during the analysis performed at 410, the context-aware service may determine that additional information from the UE or some other entity is needed to generate a recommendation at 410. For example, in the example above, if the context-aware service does not have the UE's current location, it may need to determine the UE's current location to generate a response that includes Italian restaurants near the UE. For example, the context-aware service in this example may send a request for the UE's current location to the UE or to another entity (e.g., an entity in the communication network to which the UE is connected).

[0084] In another example, during the analysis performed at 410, the context-aware service can determine ambiguities in the context information received at 404. For example, ambiguities may arise during the processing of user queries included in the context information to determine the intent, type, or proximity associated with the user query, preventing the determination of one or more of this information. In response to such determination of ambiguity, the context-aware service can generate and send a clarification prompt to the UE for the ambiguity. The UE can then provide a prompt to its user, who can enter additional information to clarify the ambiguity sent by the UE in its response to the prompt and received by the context-aware service server in its response to the prompt. The context-aware service can then utilize the additional information while processing and analyzing the user query to determine, for example, any of the intent, type, or proximity associated with the user query. In some implementations, several prompts may be generated and sent to the UE before resolving the ambiguity, and responses to the prompts may be received from the UE.

[0085] At 412, the recommendation generated at 410 is transmitted (e.g., sent) to the UE for the UE to provide to the UE's user. For example, the UE can provide user output by displaying the recommendation on the UE's display, or it can generate audio indicating the recommendation and output the audio via the UE's speaker.

[0086] Optionally, at 414, feedback associated with the recommendation transmitted (e.g., sent) at 412 is received from the UE. The feedback may be stored in a database in association with the recommendation transmitted (e.g., sent) at 412. The feedback may also be stored in association with context information received at 404, including, for example, any information related to the user query included in the context information received at 404.

[0087] In some implementations, feedback can be a separate request received from the UE related to the recommendation transmitted (e.g., sent) at 412. For example, continuing the example above, where the contextual information includes information related to a user query about nearby Italian restaurants, the feedback could be a request for more information about one or more restaurants included in the recommendation transmitted (e.g., sent) at 412. As previously mentioned, more detailed reviews of restaurants by users associated with the UE can be used to determine information indicative of user preferences, such as preferred budgets and / or ratings and / or dietary restrictions or preferences. For example, this information can be used as historical contextual information when generating more personalized recommendations for future restaurant requests.

[0088] In some implementations, the context-aware service may generate and transmit (e.g., send) a request to the UE to prompt the user to provide feedback associated with the recommendation transmitted (e.g., sent) at 412. For example, the request could be a request for the user to rate the provided recommendation and / or provide written comments and / or feedback on the quality or usefulness of the provided recommendation. For instance, the UE may display a prompt on its display including optional icons that the user can use to select "yes" or "no" in response to a question such as "Was this recommendation helpful?" or a similar question. In another example, the UE may display a prompt on its display for the user to rate the usefulness and / or accuracy of the recommendation. For example, the prompt could be a rating of 5 out of 10. The prompt may include a text box for the user to include written comments about the recommendation.

[0089] Optionally, at 416, the second context information is received from the second UE at the context-aware service. This second UE is different from the UE that sent the context information at 404. The context-aware service determines, based on historical context information associated with the second UE stored in a database, to generate a notification associated with the second context information and sends the notification to the UE. The determination of generating and sending the notification may be based on the UE indicating the activation of the notification at 403. In an example where the indication of notification activation is conditional, as described above, the determination of generating and sending the notification may include determining that a condition is met.

[0090] In the illustrative example, the context information received from the first UE at 404 includes the user query "I am looking for a carpool to Paris at 8 am tomorrow." In addition to generating and sending a recommendation including carpooling options based on the first UE's context information and historical context information at 412, the context-aware service can also receive second context information related to the user query from the second UE. This user query is carpooling-related and includes routes similar to those from the first UE's user query and / or recommendations sent to the first UE. Based on the received second context information, the context-aware service can generate a recommendation for the second UE including potential carpooling opportunities with the first UE, which the second UE can then accept or reject. Furthermore, when the first UE has already indicated the activation of a notification, the context-aware service can additionally generate and send a notification to the first UE to inform it of potential carpooling opportunities with the second UE, which the first UE can then accept or reject.

[0091] In other implementations, the second context information can relate to any context that is determined by the context-aware service to be relevant to the first UE based on the first UE's historical context information. For example, this could include the second UE providing promotions for a product or service that can be determined to be relevant to the first UE based on the first UE's context information, including historical context information.

[0092] Now for reference Figure 5 The diagram illustrates a flowchart of a method executed by a user device (e.g., user device 100). This method can be executed by a context-aware client running on user device 100.

[0093] At point 502, the UE collects context information associated with the UE. The context information associated with the UE collected by the UE (e.g., a context-aware client) at point 502 and sent to the context-aware service may be substantially similar to the previously described context information received by the context-aware service at point 404. Context information may include information related to any or all of the following: user queries, preferences and / or interests of a user associated with the UE, actions associated with the user and the UE, the UE's location, and / or feedback associated with a previous response received by the UE in response to a previous request sent by the UE. Preferences may be, for example, preferences entered into the UE by the user through a user interface. Alternatively or additionally, preferences may be determined by the UE based on previous actions performed by the user interface, which may include, for example, searches performed in a web browser or search engine, choices made by the user of the UE, actions performed in response to a previous response received from the context-aware service, and feedback associated with a previous response received by the UE, including, for example, selections of items included in the response. Preferences can be associated with a specific location and / or time of day, such that a particular preference may apply only at a specific time of day and / or when the UE is in a specific location, while different preferences may apply at different times of day and / or when the UE is in different locations.

[0094] In some implementations, collecting context information may include performing context information processing to generate processed context information, and then sending only the processed context information to a context-aware service. For example, processing context information may include filtering the received context information. For instance, context information may be filtered to remove information determined to be unnecessary or irrelevant to the purpose of providing context-aware services and applications associated with third-party application servers registered with the context-aware service. For instance, in some implementations, filtering may be performed to remove redundant context information, such as context information previously sent to the context-aware service.

[0095] Alternatively or additionally, in some implementations, the UE may receive an indication from the context-aware service regarding which applications have registered with the context-aware service. The context information can then be filtered or otherwise collected so that the context information sent to the context-aware service is context information relevant to those applications. In some implementations, the UE may be configured, for example, via a context-aware service client installed on the UE, to collect certain types of context information and send it to the context-aware service. Additionally or alternatively, the UE may be configured, based on input from, for example, a user, to collect certain types of context information and send it to the context-aware service, and / or to avoid collecting and sending certain types of context information to the context-aware service.

[0096] Alternatively or concurrently, processing context information may include structuring the collected context information into a predefined format.

[0097] At 504, the user query may optionally be received at the UE. The user query can be received via the UE's user interface. The user query can be received in any suitable format, and in some implementations, the UE can convert or otherwise process the received user query into a different format. In the example, the user query can be received as a voice query received via a microphone associated with the UE. The voice query can then be converted to text using a speech-to-text converter. The user query can be an unparsed query, and in some implementations, the UE can parse the user query to form a parsed query. For example, the user query can be a user query from a user requesting the performance of a specific task. For example, the query can be for the answer to a question or for specific information. In the example, the query could be "I am looking for nearby Italian restaurants" or "I am looking for a carpool to Paris at 8 am tomorrow."

[0098] Furthermore, at 504, the UE can determine the intent associated with the user query based on the user query. Determining the intent associated with the user query received at 504 can include utilizing, for example, natural language processing (NLP). For example, in the example where the user inputs the user query "I am looking for nearby Italian restaurants" to the UE via the UE's user interface, the UE can determine the intent as a restaurant search. Analysis at 504 can include determining other information associated with the user query besides the intent, such as, for example, the type and / or proximity associated with the user query. In the example user query "I am looking for nearby Italian restaurants" above, the UE can determine additional information associated with the user query, such as, for example, the type (Italian) and the proximity (nearby).

[0099] In some implementations, the UE can resolve ambiguities in a user query received at a 504 error. For example, ambiguities may arise during the processing of a user query to determine intent, type, and / or proximity, preventing the determination of one or more pieces of information related to the user query. In response to such a determination of ambiguity, the UE can generate a clarification prompt and provide it to the user via, for example, the UE's user interface. Additional information for clarifying the ambiguity can be received by the UE via the user interface in response to the prompt. The UE can then utilize the additional information to determine, for example, any of the intent, type, and / or proximity associated with the user query while processing and analyzing the user query. In some implementations, the UE can generate several prompts before resolving the ambiguity and receive responses to the prompts at the UE.

[0100] In some implementations, the UE can determine that a user query is unrelated to a restricted request or a restricted or otherwise limited service and / or application. For example, the UE can process a user query received at a 504 error to determine whether the query is related to malicious intent, or to an application not included in a pre-approved list of applications, such as an application associated with an application server registered with a context-aware service, and / or to an application included in a restricted list of applications. In response to making such a determination, the UE can prevent the request based on the user query from being sent to the context-aware service. The UE can also provide a notification to the user, for example via the UE's user interface, indicating that the request cannot be sent. The notification may indicate the reason and / or may prompt the user to enter a modified request.

[0101] Optionally, at point 505, the UE can send notification activation to the context-aware service. Notification activation can instruct the UE to authorize the context-aware service to send notifications, recommendations, or any other information to the UE. The context-aware service determines this information is likely relevant to the UE based on the UE's historical context information, which it has stored in a database. When notification activation has been sent to the context-aware service, such notifications, recommendations, or other information can be sent to the UE even if the UE has not sent any specific request. Activation can be conditional, such that, for example, when the UE is in certain locations or only during certain time periods, the UE instructs notification activation so that notifications, recommendations, and other information can be sent to the UE when the condition is met, and not sent when the condition is not met.

[0102] At 506, context information is sent to a context-aware service running on a server (such as server 306). The context information sent at 506 may include the context information collected at 502, as well as any user queries or information associated with user queries received and / or determined at 504.

[0103] Optionally, at 508, the UE may receive a prompt from the context-aware service to clarify ambiguity associated with the context information sent at 506. This prompt may be substantially similar to the prompt sent by the context-aware service at 410 as previously described. The UE may then provide the prompt to the UE's user via, for example, the UE's user interface, whereby the user enters additional information to clarify the ambiguity, which is sent by the UE to the context-aware service in response to the prompt. In some implementations, the UE may receive several prompts, resulting in several responses being sent to the context-aware service prior to resolving the ambiguity, including additional information received from the user via the user interface.

[0104] At 510, a recommendation is received from the context-aware service. The recommendation received at 510 at the UE is substantially similar to the recommendation generated at 410 and sent by the context-aware service at 412 as described above, so it will not be described further here to avoid repetition.

[0105] Optionally, at 512, the UE receives feedback associated with the recommendation received at 510. This feedback can be received via the UE's user interface. In some implementations, the feedback can be another user query received at the UE that is related to the recommendation received at 510. For example, continuing the example described earlier, where the original context information is related to a user query for nearby Italian restaurants, the feedback could be a selection of one or more restaurants included in the recommendation received at 510 for further information. As previously mentioned, the user selection associated with the UE to view a specific restaurant in more detail can be used to determine the user's preferences, such as preferred budget and / or ratings and / or dietary restrictions or preferences.

[0106] In some implementations, receiving feedback may include providing a prompt to the user via a user interface to obtain feedback associated with the recommendation received at 510. For example, the prompt may be a request for the user to rate the provided response and / or provide written comments and / or feedback on the accuracy and / or usefulness of the provided response. For example, in response to the question "Was this answer helpful?" or a similar question, the user may be prompted to select either "yes" or "no". In another example, the user may be prompted to rate the usefulness and / or accuracy of the response. For example, the prompt may be a request for a rating of 5 out of 10. The prompt may include a text box for the user to include written comments on the recommendation. In such implementations, receiving feedback at the UE includes receiving a response to the prompt. In some implementations, the prompt may be a prompt for feedback received from a context-aware service, which is then provided to the user via the UE's user interface.

[0107] Optionally, at 514, when the activation of the notification is sent at 505, the notification associated with the second UE can be received from the context-aware service. The notification received by the UE at 516 can be compared with the previously referenced... Figure 4 The notifications sent by the context-aware service described in section 418 are essentially similar, and will not be described further here to avoid repetition.

[0108] Figure 6 This is a diagram illustrating an example procedure in which the UE communicates with the context-aware service server to receive context-aware services. Figure 6In the implementation illustrated in the example, a third-party application server registers with a context-aware service server to provide application-related context-aware services. This application is associated with or provided by the third-party application server that has registered with the context-aware service server. For example, the context-aware service server could be an edge application server, such as those previously referenced. Figure 2 The described edge application server 208, or application server for a data network, including, for example, cloud application servers, as previously referenced Figure 1 The data network 102 described includes application servers, or may be network functions of a communication network, such as those previously referenced. Figure 1 The core network 108 described is NF 110. Similarly, the third-party application server can be an edge application server, such as those previously referenced. Figure 2 The described edge application server 208, or application server for a data network, including, for example, cloud application servers, as previously referenced Figure 1 The data network 102 described includes application servers.

[0109] In step 1, the third-party application server sends a registration request to the context-aware service server, and in step 2, the context-aware service server sends a response to the request to confirm the registration of the third-party application server. The third-party application server can register with the context-aware service server to include applications associated with or provided by the third-party application server in the context-aware services provided by the context-aware service server. In step 3, the registration of the third-party application server with the context-aware service server also enables the context-aware service server to share (i.e., open up) data associated with the UE, including the UE's context information, with the third-party application server.

[0110] In step 4, the UE configures notification options by, for example, activating notification sending, which may include the location and / or time at which the notification is activated, as previously referenced. Figure 4 403 and Figure 5 As stated in 505.

[0111] In step 5, the UE sends context information to the context-aware service server. The context information sent by the UE and received by the context-aware service server can be compared with the previously referenced context information. Figure 4 The context information described in the 404 error is essentially the same as that received by the context-aware service server and / or can be communicated by the UE in [the context]. Figure 5 Collected at 502 locations and by the UE Figure 5 The context information sent to the context-aware service at position 506 is basically the same. Figure 6Step 5 of the example process shown includes context information and queries from the UE. Figure 1 The query and intent in step 5 can be substantially similar to those sent by the UE in the context information, as previously referenced. Figure 5 As described in 502, 504 and 506.

[0112] In step 6, the context-aware service server can analyze and preprocess the context information received in step 4, and store the context information in the database by updating the historical context information stored in the database to include the context information received in step 5. Step 6 can be referenced from previous steps. Figure 4 The updates and optional processing of context information performed by the context-aware service server, as described in 406 and 408, are performed in a substantially similar manner.

[0113] In the first option, the context-aware service server determines that no additional information is needed for the context-aware service server to generate a response. In step 7, the context-aware service server generates a recommendation based on the context information received in step 5 and the UE's historical context information stored in the database. This response can be compared with previous references. Figure 4 The response generated by the context-aware service server, as described in section 410, is substantially similar. In step 8, the generated recommendation is sent to the UE.

[0114] In the second option, the context-aware service server determines that additional information from the third-party application server is needed for the context-aware service server to generate recommendations. In step 9, the context-aware service server sends a request for additional information to the third-party service server, and in step 10, the third-party service server sends a response including the additional information to the context-aware service server. In step 11, the context-aware service server generates recommendations based on the context information received in step 5, the UE's historical context information, and the additional information received from the third-party application server, and sends a response to the UE. Steps 9, 10, and 11 can be referenced from previous steps. Figure 4 The processes described in 410 and 412 for requesting additional information from a third-party application server and generating and sending a response to the UE based on that additional information are essentially similar.

[0115] In step 12, the UE can send feedback to the context-aware service server. The feedback sent in step 12 can be compared with previously referenced... Figure 5 The feedback generated and sent by the UE as described in section 512 is generated and sent in a substantially similar manner.

[0116] In step 13, the UE may send updated context information to the context-aware service. Compared to the preferences and / or behaviors and / or locations included in the context information previously sent by the UE to the context-aware service server, the updated context information may reflect the UE's new and / or different preferences and / or behaviors and / or locations. The UE's sending of context information over time can facilitate the context-aware service server in refining the responses generated and provided to the UE.

[0117] Figure 7 The physical and logical components of an exemplary server 700 providing context-aware services according to embodiments of the present disclosure are shown. The context-aware service may be software hosted on server 700, and the context-aware server 700 may be provided while the software is running on server 700. Although example implementations of server 700 are shown and discussed below, examples of the context-aware service server disclosed herein can be implemented using other means, which may include... Figure 7 The different logical and physical components are shown. Furthermore, although... Figure 7 A single instance of each logical and / or physical component of server 700 is shown, but Figure 7 Each logical or physical component shown can have multiple instances.

[0118] Server 700 includes one or more processors 702, such as a central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), application-specific logic circuit system, graphics processing unit (GPU), tensor processing unit, neural processing unit, dedicated artificial intelligence processing unit, hardware accelerator, quantum processor, or any combination thereof. One or more processors 702 may generally be referred to as processor 702, and are collectively referred to as processor 702.

[0119] Server 700 also includes one or more memories 704 (generally referred to as memory 704, and collectively referred to herein as "memory 704"), which may include volatile or non-volatile memory (e.g., flash memory, random access memory (RAM), and / or read-only memory (ROM)). Memory 704 may store machine-executable instructions for execution by at least one of the one or more processors 702. For example, machine-executable instructions 706 of the context-aware service server described herein are shown as stored in memory 704, which may be executed by at least one of the one or more processors 702, causing server 700 to perform the instructions described herein. Figure 4 The description describes the operations of the context-aware service server.

[0120] In addition to machine-executable instructions 706, memory 704 may also store data, information, rules and / or policies.

[0121] In some examples, server 700 may also include one or more electronic storage units (not shown), such as solid-state drives, hard disk drives, disk drives, and / or optical disk drives. In some examples, one or more datasets and / or modules may be provided by external memory (e.g., an external drive that is wired or wirelessly connected to server 700), or by transient or non-transitory computer-readable media. Examples of non-transitory computer-readable media include RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, CD-ROM, or other portable storage. Storage units and / or external memory may be used in conjunction with memory 704 to enable data storage, retrieval, and caching functions of server 700.

[0122] For example, the processor 702 and memory 704 of server 700 can communicate with each other via a communication bus. In some implementations, server 700 is a distributed computing system that includes multiple computing devices (e.g., servers) communicating with each other via a data network, and optionally one or more additional components. In some implementations, the various operations described herein can be performed by different computing devices (e.g., servers) of the distributed computing system. In some implementations, server 700 is a virtual machine provided by the infrastructure (e.g., hypervisor, processor, and memory) of a cloud computing system.

[0123] The context-aware services described herein can be provided by entities. Entities providing the services may include a combination of hardware processing circuitry and software containing instructions, or software containing instructions executable by at least one processor of the hardware processing circuitry of a server. A hardware processing circuitry includes at least one processor and at least one memory storing machine-readable instructions executable by at least one processor of the hardware processing circuitry. The processor includes any one or a combination of an accelerator, a microprocessor, the core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, a digital signal processor, a central processing unit, a graphics processing unit, and a tensor processing unit. The memory includes any one or a combination of volatile or non-volatile memory (e.g., flash memory, cache, random access memory (RAM), and / or read-only memory (ROM)). The memory stores machine-readable instructions of software and / or firmware executable by at least one processor of the hardware processing circuitry. The machine-readable instructions can be executed by at least one processor of the hardware processing circuitry to cause the hardware processing circuitry to perform the actions or operations of the methods described herein. For example, the session management function described herein can be implemented as a session management entity, and the session management policy control function described herein can be implemented as a session management policy control entity.

[0124] refer to Figure 8 An example of user equipment 800 is shown, such as in the previous reference. Figure 1 Example user 100 described. Although... Figure 8 A single instance of each physical and / or logical component of user equipment 800 is shown, but user equipment 800 may include... Figure 8 Multiple instances of each physical and / or logical component are shown.

[0125] User equipment 800 can be any device capable of transmitting and receiving radio signals. Non-limiting examples of user equipment include mobile stations (MS), mobile devices (such as mobile phones or so-called "smartphones"), computers equipped with wireless interface cards or other wireless interface facilities (such as USB dongles), personal data assistants (PDAs) or tablets equipped with wireless communication capabilities, machine-type communication (MTC) devices, Internet of Things (IoT) type communication devices, or any combination of these devices.

[0126] User equipment 800 also includes one or more processors 801, one or more memories 802 (collectively referred to as memory 802), and other components or circuit systems 803 used for software and hardware-assisted execution of operations configured to be performed by user equipment 800, including access to the network (e.g., Figure 1 The processor 801 controls access to and communication with the access network 106 shown. The processor 801 is coupled to the memory 802. One or more processors 801 may include a central processing unit (CPU), a microprocessor, a multi-core processor, a tensor processing unit (TPU), a graphics processing unit (GPU), a neural processing unit (NPU), a dedicated logic circuit, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated artificial intelligence processing unit, a hardware accelerator, a quantum processor, or any combination thereof. The memory 802 may include volatile or non-volatile memory (e.g., flash memory, random access memory (RAM), and / or read-only memory (ROM)).

[0127] Processor 801 can be configured to execute software code 808 (e.g., the processor can execute the instructions of software code 808). Execution of software code 808 (or execution of instructions of computer code) can, for example, cause user device 800 to perform one or more operations, including those referenced herein. Figure 5 The described operation. Software code 808 can be stored in memory 802.

[0128] User equipment 800 also includes an antenna array 804 and a transceiver 806 for transmitting radio signals (e.g., radio signals) to and / or receiving radio signals from access nodes of the access network (e.g., radio access network nodes of the RAN) via an air interface 807. The radio signals (e.g., radio signals) may carry communications such as voice, email, text messages, multimedia data, and / or machine data. The antenna array 804 may be disposed inside or outside the user equipment 800. The antenna array 804 may include one or more antenna elements. The antenna array 804 may be a multiple-input multiple-output (MIMO) antenna.

[0129] The processor 801, at least one memory 802, transceiver 806, and other components or circuitry 803 of the user equipment 800 (e.g., a modem) may be disposed on a circuit board, in a chipset, or in a system-on-a-chip (SOC). The circuit board, chipset, or SOC may be disposed on... Figure 8 The reference numeral 810 indicates the user equipment 800. User equipment 800 may optionally include an input device 805, such as a keyboard, keypad, or touch-sensitive display device. Input device 805 may include a user interface. User equipment 800 also includes a battery (not shown). User equipment 800 may also include a speaker (not shown) and a microphone (not shown). User equipment 800 may also include a Universal Subscriber Identity Module (USIM) (not shown) or an Embedded Subscriber Identity Module (eSIM) (not shown).

[0130] Based on the above description, the disclosed subject matter can be implemented using only hardware, or by using software and the necessary hardware platform, or by a combination of hardware and software. In consideration of this disclosure, the coding of the software used to perform the above methods is within the scope of those skilled in the art. Based on this understanding, the technical solutions of the subject matter disclosed herein can be implemented in the form of a software product. The software product can be stored in a non-volatile or non-transitory storage medium, such as an optical storage medium, flash drive, hard disk, solid-state drive, Universal Serial Bus (USB) drive, etc. The software program or product (also referred to as a computer program or computer product) includes instructions that enable a computing device (e.g., the user equipment or core network device described herein) to execute the methods provided in the implementation of this disclosure.

[0131] The flowcharts in the accompanying drawings and the operations (also referred to as steps) described herein are for illustrative purposes only. These operations or steps can have many variations without departing from the scope of this disclosure. For example, operations can be performed in different orders, or operations can be added, deleted, or modified as needed.

[0132] As used in this application, the term "circuit system" may refer to one or more or all of the following: (a) Hardware circuit implementation only (such as implementations in analog circuit systems, digital circuits and / or quantum circuits); (b) A combination of (multiple) hardware circuits and software, such as: (i) A combination of (multiple) analog, digital, and / or quantum hardware circuits; and (ii) Any or all of the following components: a hardware processor (including a digital signal and / or quantum processor), software, and memory (including a plurality of other processors), which work together to enable a device (such as a mobile phone device, computing device, computing system, or server) to perform various operations; and (c) Any or all parts of (multiple) hardware circuits, such as (multiple) microprocessors, (multiple) processors and / or (multiple) quantum processors, which require software (e.g., firmware) to function, but may be absent when the software is not required to function.

[0133] This definition of circuit system applies to all uses of the term in this application, including in any claim. As another example, as used in this application, the term circuit system also covers only hardware circuitry or processors (or processors) or a portion of hardware circuitry or processors and their accompanying software and / or firmware implementations. For example, if applicable to a particular claim element, the term circuit also covers baseband integrated circuits or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing or network devices.

[0134] All values ​​and subranges within the disclosed scope are also disclosed. Furthermore, although the systems, devices, and processes disclosed and illustrated herein may include a particular number of elements, systems, devices, and components may be modified to include additional or fewer such elements. While several example implementations are described herein, modifications, adaptations, and other implementations are also possible. For example, elements shown in the figures may be replaced, added, or modified, and the example methods described herein may be modified by replacing, reordering, or adding steps to the disclosed methods.

[0135] It is anticipated that features from one or more of the above-described implementations can be selected to create alternative implementations that may not consist of combinations of features explicitly described above. Furthermore, features from one or more of the above-described implementations can be selected and combined to create alternative implementations that may not consist of combinations of features explicitly described above. Upon a thorough review of this disclosure, the features applicable to such combinations and sub-combinations will be apparent to those skilled in the art.

[0136] Furthermore, numerous specific details are set forth to provide a thorough understanding of the example implementations described herein. However, those skilled in the art will understand that the example implementations described herein can be practiced without these specific details. Moreover, well-known methods, processes, and elements have not been described in detail in order not to obscure the example implementations described herein. The subject matter described herein and in the cited claims is intended to cover and include all appropriate variations of the technology.

[0137] Although the subject matter disclosed herein and some of its advantages (e.g., technical improvements) have been described in detail, other advantages (e.g., other technical improvements) will become apparent from this disclosure. It should be understood that various changes, substitutions, and modifications may be made to the subject matter disclosed herein without departing from the scope of this disclosure as defined by the appended claims.

[0138] The subject matter disclosed herein may be implemented or practiced in other specific forms without departing from the scope of the claims. The exemplary implementations described herein should be considered in all respects as illustrative only, not restrictive. The subject matter disclosed herein is intended to cover and include all suitable variations of the technology. Therefore, the scope of this disclosure is defined by the appended claims rather than by the foregoing description. The scope of the claims should not be limited by the implementations set forth in the examples or implementations described herein, but should be given the broadest interpretation consistent with the description throughout.

[0139] Some examples:

[0140] Example 1. A method performed by a context-aware service provided by a server in a communication network, the method comprising: Receive context information associated with the user equipment (UE); Based on contextual information associated with the UE, historical contextual information associated with the UE, and historical contextual information associated with multiple other UEs, recommendations are generated that are relevant to the contextual information associated with the UE; and Send recommendations to the UE so that the UE can provide them to users associated with the UE.

[0141] Example 2. According to the method of Example 1, it further includes storing historical context information associated with the UE in association with recommendations in a database, wherein the database stores historical context information associated with multiple other UEs in association with recommendations related to historical context associated with multiple other UEs.

[0142] Example 3. Following the method in Example 2, it also includes registering one or more third-party application servers with the context-aware service.

[0143] Example 4. Based on the method in Example 3, where generating recommendations includes: It is determined that information associated with one of the one or more third-party applications is needed to generate recommendations; Sending a request for information to one of one or more third-party applications; and Receive a response to the request from one of one or more third-party applications; the response includes information. Further recommendations are generated based on the information.

[0144] Example 5. Based on the method in Example 1, where generating recommendations includes: Determining the UE's location is necessary to generate recommendations; Determine the location of the UE; and Further recommendations are generated based on the UE's location.

[0145] Example 6. According to the method in Example 5, determining the location of the UE includes: Send a request for the UE's location to the location management function of the UE or the communication network; and Receive a response to the request from the location management function of the UE or the communication network. The response includes the location of the UE.

[0146] Example 7. According to the method of Example 1, the context information includes at least one of the following: User queries received by the UE; or The intent associated with the user query received by the UE.

[0147] Example 8. According to the method of Example 1, the context information includes at least one of the following: Information related to user preferences, and the user is associated with the user experience (UE); Information related to user behavior is used to associate with the user experience (UE). Information related to the UE's location; Information related to previous requests received from the UE; Information related to previous recommendations, which are sent to the UE in response to previously received UE context information; or Information related to feedback received from the UE, which is associated with previous recommendations sent to the UE.

[0148] Example 9. The method of Example 1, wherein the contextual information includes the user query, and the method further includes analyzing the user query to determine the intent associated with the user query.

[0149] Example 10. Following the method in Example 9, analyzing user queries includes: Identify ambiguities associated with the user's query; Send a clarification prompt to the UE for ambiguity; and Receive additional information from the UE to clarify ambiguity; Determine the intent associated with the user's query based on additional information.

[0150] Example 11. The method according to Example 1 further includes: processing context information received from the UE to generate processed context information before generating a recommendation, wherein processing the context information includes at least one of the following: Filter context information; or Structure the context information into a predefined format; and The recommendation generation process includes generating recommendations based on processed contextual information.

[0151] Example 12. Based on the method of Example 1, it also includes: Receive information related to feedback from the UE; the feedback is associated with recommendations; and Information related to feedback is stored in the database as historical context information associated with recommendations.

[0152] Example 13. Following the approach of Example 1, the server hosting the context-aware service is an edge server of the communication network.

[0153] Example 14. The method of Example 1 further includes activation of receiving a notification for the UE from the UE; The generation of a recommendation response is executed upon determining that a notification for the UE has been activated.

[0154] Example 15. Following the method of Example 14, where: Activation includes a condition, wherein activation is effective when the condition is met; and The recommendation is generated in response to the determination that the conditions are met.

[0155] Example 16. Following the method of Example 15, where the conditions are based on time or the location of the UE.

[0156] Example 17. A server comprising: At least one processor; and At least one memory, storing instructions for the server, which, when executed by at least one processor, cause the server to perform a method according to any one of Examples 1 to 16.

[0157] Example 18. A computer program comprising instructions, wherein when the computer program is executed by a server, the server is caused to perform a method according to any one of Examples 1 to 16.

[0158] Example 19. A computer-readable medium storing instructions that, when executed by one or more processors of a server, cause the server to perform a method according to any one of Examples 1 to 16.

Claims

1. A method performed by a context-aware service provided by a server of a communication network, the method comprising: Receive context information associated with the user equipment (UE); Based on the context information associated with the UE, the historical context information associated with the UE, and the historical context information associated with multiple other UEs, recommendations related to the context information associated with the UE are generated; as well as The recommendation is sent to the UE so that the UE can provide it to the user associated with the UE.

2. The method according to claim 1, further comprising: The historical context information associated with the UE is stored in a database in association with the recommendation, and the database stores the historical context information associated with the plurality of other UEs in association with the recommendations related to the historical context associated with the plurality of other UEs; Register one or more third-party application servers with the context-aware service; as well as The generated recommendations include: Information associated with one of the one or more third-party applications is required to generate the recommendation; Sending a request for the information to one of the one or more third-party applications; and Receive a response to the request from one of the one or more third-party applications, the response including the information; The recommendations are then generated based on the information provided.

3. The method of claim 1, wherein generating the recommendation comprises: Determining the location of the UE is necessary to generate the recommendation; Determine the location of the UE; as well as The recommendation is further generated based on the location of the UE.

4. The method of claim 3, wherein determining the location of the UE comprises: Send a request for the location of the UE to the UE or the location management function of the communication network; as well as The UE or the location management function of the communication network receives a response to the request, the response including the location of the UE.

5. The method according to claim 1, wherein: The context information includes at least one of the following: User queries received by the UE; or The intent associated with the user query received by the UE; or The context information includes at least one of the following: Information related to user preferences, wherein the user is associated with the UE; Information related to the user's behavior, wherein the user is associated with the UE; Information related to the location of the UE; Information related to previous requests received from the UE; Information related to previous recommendations, which are sent to the UE in response to previously received context information from the UE; or Information related to feedback received from the UE, which is associated with a previous recommendation sent to the UE; or The context information includes user queries, and the method further includes analyzing the user queries to determine the intent associated with the user queries.

6. The method of claim 5, wherein analyzing the user query comprises: Identify the ambiguity associated with the user query; Send a clarification prompt to the UE for the ambiguity; as well as Receive additional information from the UE to clarify the ambiguity; The intent associated with the user query is determined based on the additional information.

7. The method according to claim 1, further comprising: Before generating the recommendation, the context information received from the UE is processed to generate processed context information, wherein processing the context information includes at least one of the following: Filter the context information; or The context information is structured into a predefined format; and The generation of the recommendations includes generating the recommendations based on the processed context information.

8. The method according to claim 1, further comprising: The UE receives information related to feedback, which is associated with the recommendation; as well as The information related to the feedback is stored in the database as historical context information associated with the recommendation; The server hosting the context-aware service is an edge server of the communication network; or The method further includes: Activation of receiving a notification for the UE from the UE; The recommended response is generated upon determining that a notification for the UE has been activated and is executed.

9. The method according to claim 8, wherein: The activation includes a condition, wherein the activation is effective when the condition is met; as well as The recommendation response is generated upon determining that the condition is met; as well as The conditions are based on time or the location of the UE.

10. A server, comprising: At least one processor; as well as At least one memory, storing instructions for a server, said instructions, when executed by said at least one processor, causing the server to perform the method according to any one of claims 1 to 9.