Available network capability data exposure management

The network connectivity module addresses the challenge of configuring modem entities to meet software application reliability needs by exposing and managing available network configurations, enhancing communication reliability and resource efficiency.

WO2025223649A1PCT designated stage Publication Date: 2025-10-30TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/061158
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-24
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing device bonding technologies fail to dynamically orchestrate and configure modem entities to meet the varying communication reliability requirements of software applications installed on a wireless device's operating system, lacking a mechanism for interaction between the modem entity and software applications.

Method used

A network connectivity module abstracts the communication reliability capabilities of the modem entity, exposing available network configurations to the operating system, allowing dynamic configuration and management of modem entities to meet the reliability requirements of software applications through modem device drivers and AT commands.

Benefits of technology

Enhances network reliability performance by dynamically adapting modem configurations to satisfy the needs of diverse software applications, ensuring reliable communication and efficient resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024061158_30102025_PF_FP_ABST
    Figure EP2024061158_30102025_PF_FP_ABST
Patent Text Reader

Abstract

According to some embodiments, a method for managing network connectivity performance of a first wireless device is disclosed. The method comprises obtaining network configuration data associated with the first wireless device. The network configuration data comprises information about one or more network configurations, where each network configuration representing a configuration of one or more transceivers. The method further comprises determining available network capability data associated with the modem entity based at least on the obtained network configuration data.
Need to check novelty before this filing date? Find Prior Art

Description

AVAILABLE NETWORK CAPABILITY DATA EXPOSURE MANAGEMENTTECHNICAL FIELD

[0001] Embodiments of the present disclosure are directed to wireless communications and, more particularly, to techniques for available network capability data exposure management.BACKGROUND

[0002] A wireless device may be implemented in different ways, and one design aspect of the device architecture may be related to its ability to handle high reliability communication. For example, by means of redundancy in hardware and software design and similar means of enabling stable communication and processing capabilities.

[0003] Also, there may be other opportunities for achieving high reliability besides the device (e g., user equipment (UE)) architecture. It can be noted that already today there are over-the-top (OTT) solutions for combining multiple UEs for the same service (UE-bonding), for example, to achieve higher reliability of video streaming where each UE is connecting individually to a mobile network.SUMMARY

[0004] There currently exist certain challenges with configuring a device’s modem entity to meet the communication reliability requirements of various software applications. For example, for a wireless device, such as a smartphone, various software applications may be installed, activated, and run on top of its Operating System (OS). Each software application may have different requirements for wireless communication reliability. The existing device bonding technology lacks a mechanism to enable interaction between the modem entity and software application in the device with respect to wireless communication reliability. Further, the existing device bonding technology fails to provide solutions to dynamically orchestrate and / or configure the device’s modem entity to meet the various communication reliability requirements of the software application. Hence, there is a need for a method for a wireless device (e.g., a UE) to allocate and / or configure its modem entity to meet the communication requirement s) of a software application or multiple software applications. There is also a need for a system to manage the network connectivity performance of UEs to ensure that communication reliability requirements of various software applications that are installed on an OS are met.

[0005] Certain aspects of this disclosure and its embodiments may provide solutions to these and / or other challenges. For example, a method is disclosed for a wireless device (e g., a UE) to expose all or a part of its available communication reliability capability / performance, e.g., collected from the modem entity, to its OS. As described further herein, in some embodiments, this is achieved through the use of a network connectivity module in communication with the OS and the device’s modem entity. In some embodiments, the network connectivity module abstracts the communication reliability capabilities of the modem entity by considering various network configurations (e.g., modem entity (and / or UE) configurations) that may be used by the modem entity for communicating with the network.

[0006] For context, an apparatus, such as the wireless device (e g., UE) described in more detail herein in relation to, for example, Figures 1 and 4, may include an OS, a modem entity, and a network connectivity module. As noted above, various software applications may be installed, activated, and run on top of the OS. Each software application may have different requirements for wireless communication reliability.

[0007] The modem entity (which may be interchangeably referred to herein as a modem device, a modem platform, and / or a modem) enables network connectivity for the wireless device. The modem entity may include a variety of hardware and / or software elements. For example, the modem entity may comprise one or more transceivers, one or more baseband subsystems (where each baseband subsystem may comprise, for example, a combination of processors, hardware acceleration, and application-specific blocks, among others), and be coupled with one or more drivers (referred to herein as modem device drivers). The one or more modem device drivers may be regarded as a part of the modem entity or the software application and may be used as an interface for communicating and controlling one or more of the functions or components in the modem entity. In some embodiments, a modem device driver may be installed in the OS (e.g., installed into the lower part of the OS). In some embodiments, a modem device driver may be a separate entity between the OS and the modem entity. In some embodiments, a modem device driver may provide an interface of the modem entity, in other words, act as an interface for the modem entity. In some embodiments, a transceiver may be implemented in a hardware device and configured to transmit and receive signals to and from the network. Each transceiver may be configured to operate in an operating frequency band that may or may not overlap with the operating frequency band of one or more other transceiver(s) in the modem entity. In some cases, each transceiver may be configured to operate in a particular type of network, such as 5thGeneration (5G), 4thGeneration (4G), Long Term Evolution (LTE), etc. The basebandprocessor(s) may be responsible for tasks such as digital signal processing, error correction, and modulation / demodulation of signals. The modem device driver may be implemented in software and / or hardware and be configured to implement (e.g., configure) one or more network configurations for the modem entity to facilitate communication between the wireless device and the network. As detailed herein, in some embodiments, the modem device driver(s) may be configured to dynamically update a network configuration of the modem entity (e.g., based on instructions received from the network connectivity module) in order to support a network reliability requirement of one or more software applications. The modem device driver may cause the modem entity to enter a mode according to a particular network configuration for communicating with the network. For example, the modem device driver may cause the modem entity to operate with certain frequency band(s), transceiver configurations (e g., including certain receiver (Rx) and transmitter (Tx) diversity), utilization of multipath techniques, selection of appropriate one or more radio access technologies (RATs), and / or in any way that the modem entity may be configured in order to reach a particular network performance / capability level associated with the particular network configuration. The modem entity may be configured with a network configuration in different manners. One possibility to configure a modem is via attention commands, AT-commands or similar control signaling messages transmitted via a control signaling protocol to a modem entity. The AT command may be triggered from a function in the software application of the device, e.g from the OS, from a network connectivity module, or from any type of a software application to a modem entity. Communicating with the modem may in one or more examples involve a modem device driver. In one or more examples, the modem device driver may cause one or more AT commands to be implemented onto the modem entity. Other examples include parameter configuration via loading one or more data sets in a memory accessible by the modem, which may be utilized dynamically during active modem operation, or upon a restart of one or more modem software functions.

[0008] As alluded to above, a device’s modem entity may be capable of being configured according to one or more different network configurations. Each of the different network configurations may provide a certain network performance / capability (e.g., in terms of throughput, latency, quality of service (QoS), etc.).

[0009] In certain embodiments, a given network configuration may define or otherwise represent one or more transceivers to be used for communicating with the network. In some cases, the network configuration may also or alternatively include a modem baseband configuration. The modem baseband configuration may include settings and parameters that govern the operation ofthe baseband and radio communication processors within the modem entity. For example, the settings and parameters of the modem baseband configuration may include various aspects, such as modulation schemes, coding techniques, antenna configurations, beam configurations, radio frequencies, channel bandwidth, and synchronization methods, among others. In certain embodiments, a network configuration may define or otherwise represent additional or alternative configuration parameters of the modem entity. In certain embodiments, one or more modem device drivers associated with the modem entity may be used to communicate, implement or update (e.g., configure) a given network configuration for the modem entity. For example, updating a network configuration may include allocating or reallocating one or more transceivers according to the network configuration, using one or more radio access technologies (RATs), using one or more radio links, setting the operating frequency band(s) of transceiver(s) according to the network configuration, among others. In some cases, the network configuration may be updated (e.g., reconfigured) to better satisfy a network reliability requirement of one or more software applications running on the OS.

[0010] The network connectivity module is in communication with the device’s modem entity and the OS. The network connectivity module may be implemented in hardware, as software, or any suitable combination of hardware and software. The network connectivity module may be interchangeably referred to herein as a modem communication reliability abstraction module, a software entity, a network connectivity interface, an abstraction module, a modem network reliability abstraction module, or a network abstraction module. In some embodiments, the network connectivity module facilitates exposing the device’s available communication reliability capability / performance to the OS. In some embodiments, the network connectivity module may abstract the communication reliability capabilities of the modem entity by considering various network configurations available to the modem entity. As described in more detail below, this may be achieved using network configuration data associated with the device and a network reliability requirement of a software application running on the OS (i.e., one or more communication reliability requirements of the software application). The network reliability requirement of the software application may indicate the requirements of the software application to meet a threshold minimum QoS, data throughput, latency, packet data transfer probability, signal quality level probability etc. for running the software application.

[0011] In certain embodiments, the network connectivity module may obtain network configuration data associated with the device (e.g., from the modem entity). The network configuration data may be indicative of one or more network configurations available to, orsupported by, the modem entity to use for connecting to the network. Based on the network configuration data, the network connectivity module may determine available network capability data associated with the modem entity. The network connectivity module may use the available network capability data associated with the modem entity to determine whether any one or more of the network configurations indicated by the network configuration data can support the network reliability requirement(s) of a given software application alone or in combination with other software application(s).

[0012] In certain embodiments, the network capability data may indicate a set of network capabilities (e.g., indicative of a data throughput, latency, QoS, redundancy level etc.) derived from the respective network configuration data associated with respective network configuration(s). In particular embodiments, the available network capability data may refer to the available network configuration(s) associated with active transceiver(s) (i.e., transceivers(s) that are connected to the network and available to be used).

[0013] The available network capability data may be indicative of the varying capabilities of the wireless device (e.g., in terms of speed, throughput, latency, packet delivery probability, signal quality probability etc.) that may be achieved using the one or more network configurations available to the modem entity. As described above, each network configuration may provide a certain network performance / capability for the device in terms of communication reliability. The available network capability data may indicate capability data for individual network configurations and / or for all network configurations in the aggregate. In some embodiments, in determining the available network capability data, the network connectivity module may take into account current or predicted network / radio conditions, other applications running on the wireless device or on one or more other wireless devices, and / or other network configuration information.

[0014] In some embodiments, the available network capability data may include information indicative of one or more available communication reliability operation modes. In some embodiments, the communication reliability operation modes may include two or more reliability levels. For example, the communication reliability operation modes may comprise a highly- reliable mode, a medium-reliable mode, and a low-reliable mode. For example, in the highly- reliable mode, two or more redundant network configurations may be implemented to support the network reliability requirement of a software application. In the medium-reliable mode, a balance between network reliability and resource efficiency may be implemented for general-use software applications. In the low-reliable mode, the emphasis may be on maximizing network resourceefficiency and may be suitable for non-critical software applications where occasional data errors and / or time periods with lack of communication connection are acceptable.

[0015] In some embodiments, the available network capability data may include quality of service (QoS) capability. Additionally or alternatively, in some embodiments, the available network capability data may include one or more parameters indicative of a communication reliability, such as a probability of successful data communication. This may, for example, include one or more parameters indicative of a likelihood of payload data decoding, the likelihood of a successful connection setup or the likelihood of a signal strength or signal quality being at a certain minimum level.

[0016] In some embodiments, the available network capability data may include indications of radio link robustness configurations such as operating the modem entity with multiple simultaneous radio access technologies (RATs), and / or using multiple radio links within one RAT (e g., dual mode operation, carrier aggregation operation, etc ). In some examples, the available network capability data may be indicative of a redundancy utilization of a modem entity or a radio communication protocol, which may include information on a number of parallel receive or transmit antennas, number of panel of antennas, number or multiple data streams, number of power amplifiers, number of data decoders and / or data encoders, number of radio protocols which are available or active for enabling reliable communication. In some embodiments, the available network capability data may be coupled to one or more expected radio performance metrics, such as wireless data communication latency, wireless communication data throughput, data error rate, etc.

[0017] From the foregoing description, it is evident that multiple network configurations for a modem entity of a device (e.g., UE) corresponding to various communication reliability capabilities may be abstracted from the modem entity by the network connectivity module. In turn, the network connectivity module may be configured to expose all or a part of the available network capability data to the OS and / or a software application running on the OS. In some embodiments, the wireless device communication reliability capability / performance may change over time as it also depends on the network and radio channel conditions, for example, the communication reliability performance of a device may be degraded when the device is moving from one location to another location. In some embodiments, the modem entity (e.g., using the modem device driver(s)) may dynamically update its communication reliability capabilities from its RF resource allocation by the network and / or the radio channel quality measurement. In some embodiments,the modem entity may report an indication of whether or not a desired network reliability requirement is fulfilled to the network connectivity module.

[0018] In some embodiments, when a software application is to be installed, the OS may extract the network reliability requirement of the software application or a combination of software applications. For example, the OS may evaluate, or enquire from a database, the network reliability requirements for combinations with other software applications installed on the device. In some embodiments, the network reliability requirement may include or be related to one or more traffic categories, such as a low latency traffic category, a high data rate or high reliability traffic category, or similar.

[0019] When a software application starts to run on top of the OS, the OS may send a request for the corresponding network reliability requirement related to the modem entity functionality via the network connectivity module. In response, in some embodiments, the modem entity (e.g., using the modem device driver(s)) may be configured with one or more network configurations to satisfy the network reliability requirement of the software application. In some cases, the modem entity may further check with the network to determine if the request is feasible, e.g. if the network has enough radio resources to serve the request. The modem entity may also take into account actual radio conditions at its specific location in the response. In cases where the device or network cannot support the increased network resource requirements upon starting the software application, proactive measures may be taken. For example, the software application may be stopped, as it would otherwise risk potential disruptions to the functioning of that software application as well as potential disruptions for other software applications that are already running on the OS, and / or it would lead to a risk of making the software application and / or other software applications unreliable.

[0020] In some embodiments, the disclosed method may involve application layer, OTT signaling between the device and a network server, e g. to store software application-specific communication reliability performance levels for multiple UEs at various locations, and / or to obtain the network reliability requirement(s) for a specific software application. In some embodiments, the software application-specific communication reliability performance levels may comprise statistical data that reflects the actual reliability performance experienced by different devices specific to each software application. Through comprehensive big data analysis, the system may leverage this accumulated data to generate insights into the behavior of various networks across different areas. This, in turn, improves the reliability of network communication for each specific software application.

[0021] The OS may take network reliability requirements of software application(s) and available network capability data into consideration in its task scheduler, besides task priority and deadlines.

[0022] In some embodiments, the network connectivity module in one device may request network reliability information from other devices. In some embodiments, the network connectivity module in one device may expose / report all or part(s) of its network reliability information to other devices.

[0023] Some embodiments provide a method for a mobile device to expose all or a part of the network reliability capability of its modem entity to its OS. In operation, a network connectivity module may expose all or a part of the network reliability capabilities of the modem entity by considering various network configurations which may be configured by the modem entity. The abstracted network reliability capabilities may be further reported to the OS by the network connectivity module. The OS may extract network reliability requirement(s) of a software application or a combination of software applications.

[0024] In some embodiments, this may take place when the application(s) is / are being installed in the device. The OS may also evaluate or enquire from a database, the network reliability requirements for combinations of the application (that is requested to be installed / run) with other applications already installed on the device.

[0025] In some embodiments, during the installation of an application, the OS may send a warning message if the network reliability requirement of the application cannot be fulfilled by the available network capability of the modem entity.

[0026] In some embodiments, when an application or a combination of applications are run (e g., executed) by the device, the OS may inform the network connectivity module of the network reliability requirement of the application or the combination of applications. The network connectivity module may check the possibility of supporting a network reliability requirement by comparing the available network capability data associated with the modem entity with the network reliability requirement of the application(s). The network connectivity module may inform the modem entity (e g., modem device driver) of the network reliability requirement needed by the application(s) and configure the modem entity accordingly.

[0027] In some embodiments, when an additional application starts to run on top of OS, the OS may inform the network connectivity module about the increased network reliability requirement due to the additional application. The network connectivity module may then reconfigure the modem entity accordingly.

[0028] In some embodiments, when the device is starting an application, the OS may send a warning message if the increased network reliability requirement cannot be fulfilled by the network reliability capability of the modem entity (e.g., as determined by the network connectivity module based on the available network capability data associated with the modem entity).

[0029] Optionally, and in some embodiments, the network connectivity module may request the modem entity to check with the network to determine if one or more network configurations (to meet the network reliability request from application(s)) can be supported by the network. When a network reliability requirement is no longer compliant with an application’s network resource demands, the network connectivity module may notify the OS which can further notify the application(s). For example, a warning message may be sent to the application(s) by the OS.

[0030] In some embodiments, the network connectivity module in one device may request network reliability information associated with a software application from one or more other devices.

[0031] In some embodiments, the network connectivity module in one device may expose / report all or a part of its network reliability information associated with a software application to one or more other devices.

[0032] In some embodiments, the available network capability data may include wireless data communication latency, wireless communication data throughput, data error rate, etc. In some embodiments, the determination of available network capability data associated with the modem entity may take into account measured or historically stored radio conditions at certain locations.

[0033] In some embodiments, when multiple applications are being run by the device, the OS may combine the requested network configurations. This can be done according to the evaluation of the applications, downloading the network reliability requirement of the applications from a database that is performed during the application installation, and / or a database inquiry that is performed when starting a new application. As a result, the OS may show the user a message that one or more identified applications may not run together with the other applications, and stop running the identified applications.

[0034] In some embodiments, the method may include application layer, OTT signaling between the device and a network server, e.g. to store application specific network reliability performance levels on multiple UEs or to gather the network reliability performance requirements for a specific application or combination of applications.

[0035] According to one example embodiment, a method for managing network connectivity performance of a first wireless device is disclosed. The method comprises obtaining, by a networkconnectivity module, network configuration data associated with the first wireless device. The network configuration data comprises information about one or more network configurations, where each network configuration represents a configuration of one or more transceivers. The one or more network configurations are associated with a modem entity. The method further comprises determining, by the network connectivity module, available network capability data associated with the modem entity based at least on the obtained network configuration data.

[0036] In particular embodiments, the method may further comprise exposing, via the network connectivity module, all or a part of the available network capability data to at least one of an operating system and a software application based at least on the one or more network configurations that can be configured by a modem device driver associated with the modem entity.

[0037] In particular embodiments, the method may further comprise detecting, by an operating system, an event, the event comprising a software application being installed, changing a state, or being executed on the operating system. In particular embodiments, the method may further comprise extracting, by the operating system, a network reliability requirement of the software application, and obtaining, by the operating system, information indicating whether the network reliability requirement can be fulfilled by any of the one or more network configurations, in response to detecting the event.

[0038] In particular embodiments, the method may further comprise accessing, by the operating system, a mapping table comprising at least one network configuration mapped to one or more respective software applications. The method may further comprise identifying, by the operating system, a network configuration mapped to the network reliability requirement of the software application, for example, from the mapping table.

[0039] In particular embodiments, the method may further comprise determining, by the network connectivity module whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system. The method may further comprise, in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system, communicating a network configuration selection associated with the network reliability requirement to at least one modem entity. In particular embodiments, the network configuration selection may be communicated using a modem device driver.

[0040] In particular embodiments, the network configuration selection may configure or reconfigure at least a portion of one or more radio access parameters associated with the modementity according to the network reliability requirement of the software application. The method may further comprise receiving an acknowledgment message indicating that the network configuration selection is communicated. Additionally in one or more examples, the acknowledgment message from the modem entity may be indicative of that the update of the modem entity, e.g. the selection of a network configuration of the modem entity has been applied. The method may further comprise communicating the acknowledgment message to the network connectivity module.

[0041] In particular embodiments, configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application may comprise applying one or more of a modem baseband configuration, and allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application. In particular embodiments, configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application may comprise updating the selected network configuration of the modem entity. This may, for example, include allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application. In some embodiments configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity may include configuring the modem entity to use or more radio link robustness configurations such as operating the modem entity with multiple simultaneous radio access technologies (RATs), using multiple radio links within one RAT (e.g., dual mode operation, carrier aggregation operation, etc ). In some examples, the configuring may be indicative of a redundancy utilization of a modem or a radio communication protocol, which may include configuring a number of parallel receive or transmit antennas, number of panels of antennas, number of power amplifiers, number of data decoders and / or data encoders, number or multiple data streams, number of radio protocols which are available or active for enabling reliable communication.

[0042] In particular embodiments, the method may further comprise communicating, by the network connectivity module, to the operating system, an alert message indicating that the network reliability requirement of the software application cannot be supported by the available network capability data (e.g., in response to determining that any of the one or more network configurations cannot support the network reliability requirement of the software application and other software applications installed on the operating system).

[0043] In particular embodiments, the method may further comprise obtaining, by the network connectivity module, a network reliability requirement of a software application being installed on an operating system. The method may further comprise determining, by the network connectivity module, based at least on the obtained network reliability requirement, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system.

[0044] In particular embodiments, the method may further comprise, in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system, determining, by the network connectivity module, an instruction on how to configure the modem entity according to the network reliability requirement of the software application and other software applications installed on the operating system, and communicating the instruction to a modem entity. The network reliability requirement of the software application and other software applications installed on the operating system may comprise current network reliability requirements of the software application and the other software applications.

[0045] In particular embodiments, the method may further comprise configuring or reconfiguring, e.g. by the modem device driver, the modem entity according to the instruction. The method may further comprise receiving, e g by command(s) via the modem device driver or another interface to the modem entity, an acknowledgment message from the modem entity indicating that the instruction has been received. Additionally in one or more examples, the acknowledgment message from the modem entity may be indicative of that the update of the modem entity, e g. the selection of a network configuration of the modem entity has been applied. The method may further comprise communicating the acknowledgment message to the operating system.

[0046] In particular embodiments, the network reliability requirement comprises a first network reliability requirement extracted by the operating system from the software application.

[0047] In particular embodiments, the network reliability requirement is associated with a network configuration information obtained from a second wireless device. The network configuration information comprises a particular network configuration and / or at least one network parameter used by the second wireless device to support the software application at a specific location (e.g., support the network reliability requirement of the software application at the specific location).

[0048] In particular embodiments, the method may further comprise obtaining, by the network connectivity module, from a second wireless device, a network configuration information, wherein the network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location. The method may further comprise determining, by the network connectivity module, a location of the first wireless device. The method may further comprise determining, by the network connectivity module, based at least on the extracted network reliability requirement, the network configuration information, and the location of the first wireless device, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system. The method may further comprise, in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system, communicating, by the network connectivity module, an instruction indicating to select the network configuration to a modem entity. In particular embodiments, the communication of the instruction is performed via a modem device driver. In particular embodiments, the network configuration selection configures or reconfigures the modem entity according to the instruction.

[0049] In particular embodiments, the method may further comprise configuring or reconfiguring, e g. by commands via the modem device driver, the modem entity according to the instructions, e.g. by selecting a network configuration for the modem entity. The method may further comprise receiving, e.g. by commands via the modem device driver, an acknowledgment message indicating that the instruction indicating to select the network configuration has been received. Additionally in one or more examples, the acknowledgement message (e.g., from the modem entity) may be indicative of that the update of the modem entity, e.g. the selection of a network configuration of the modem entity, has been applied. The method may further comprise communicating, by the network connectivity module, the acknowledgment message to the operating system.

[0050] In particular embodiments, the available network capability data may comprise at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous radio access technologies (RATs) or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency,wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0051] In particular embodiments, the method may further comprise receiving, by the network connectivity module, a request for a particular network reliability requirement from a software application.

[0052] In particular embodiments, the method may further comprise, in response to receiving the request, determining, by the network connectivity module, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on an operating system. The method may further comprise, in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system, communicating, by the network connectivity module, an instruction indicating to select the network configuration to the modem entity. In particular embodiments, the communication of the instruction is performed via a modem device driver.

[0053] In particular embodiments, the method may further comprise accessing, by the network connectivity module, a mapping table comprising at least one network configuration mapped to one or more respective software applications. The method may further comprise identifying, by the network connectivity module, a network configuration mapped to a combination of the network reliability requirement of the software application and the network reliability requirement of other software applications on the operating system.

[0054] In particular embodiments, the method may further comprise determining, by the network connectivity module whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system. The method may further comprise, in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system, communicating, by the network connectivity module, an instruction indicating to select the network configuration to a modem entity. In particular embodiments, the communication of the instruction may be performed via a modem device driver. In particular embodiments, the mapping table may be generated based at least on one or more network reliability requirements of one or more software applications.

[0055] According to another example embodiment, an apparatus (e.g., a wireless device) is disclosed. The apparatus comprises processing circuitry operable to perform any of the methods of the wireless device described above.

[0056] According to another example embodiment, a computer program product is disclosed. In certain embodiments, the computer program product comprises a non-transitory computer readable medium storing computer readable program code, the computer readable program code operable, when executed by processing circuitry to perform any of the methods performed by the wireless device described above.

[0057] Certain embodiments may provide one or more of the following technical advantage(s). For example, some embodiments may enable / configure the OS in a wireless device to adapt its network configuration to meet network reliability requirement(s) of various software applications running in the device. This advantageously enhances the network reliability performance of a software application that is run by the device. Other advantages may be readily apparent to one having skill in the art. Certain embodiments may have none, some, or all of the recited advantages.BRIEF DESCRIPTION OF THE DRAWINGS

[0058] For a more complete understanding of the disclosed embodiments and their features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:

[0059] FIGURES la and lb show embodiments of an apparatus configured to expose all or a part of available network capability associated with a UE to an operating system of the UE, according to certain embodiments;

[0060] FIGURE 2 is a signal flow diagram illustrating an example method for exposing all or a part of available network capability associated with a UE to an operating system of the UE, according to certain embodiments;

[0061] FIGURE 3 illustrates an example communication system, according to certain embodiments;

[0062] FIGURE 4 illustrates an example UE, according to certain embodiments;

[0063] FIGURE 5 illustrates an example network node, according to certain embodiments;

[0064] FIGURE 6 illustrates a block diagram of a host, according to certain embodiments;

[0065] FIGURE 7 illustrates a virtualization environment in which functions implemented by some embodiments may be virtualized, according to certain embodiments;

[0066] FIGURE 8 illustrates a host communicating via a network node with a UE over a partially wireless connection, according to certain embodiments;

[0067] FIGURES 9a through 9c illustrate a method performed by a wireless device, according to certain embodiments;

[0068] FIGURES 10a through 10c illustrate a method performed by a wireless device according to certain embodiments;

[0069] FIGURES I la through 11c illustrate a method performed by a wireless device according to certain embodiments;

[0070] FIGURES 12a through 12c illustrate a method performed by a wireless device according to certain embodiments;

[0071] FIGURES 13a through 13c illustrate a method performed by a wireless device according to certain embodiments; and

[0072] FIGURE 14 illustrates a block diagram of a wireless device, according to certain embodiments.DETAILED DESCRIPTION

[0073] As described above, certain challenges currently exist with configuring communication modems to meet the communication reliability requirements of various software applications. There is thus a need for a system to manage the network connectivity performance of wireless devices (e.g. UEs) to ensure that network reliability requirements of various software applications that are installed on an OS are met.

[0074] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. For example, methods and systems are provided to expose all or a part of the available network capability associated with a UE to an OS of the UE, and configure the modem entity of the UE to be able to meet the network reliability requirements imposed by a variety of software applications according to the exposed available network capability. The disclosed methods and systems improve the management of network connectivity performance for UEs, and ensure that the network reliability requirements of diverse software applications installed on an OS are successfully met.

[0075] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

[0076] The present disclosure contemplates the use of a network connectivity module. The network connectivity module may be configured to establish a functional block, module, and / or bridge between the modem entity and OS of a device (e.g., a UE) to be able to expose all or a part of the modem entity’s available network reliability capability to the OS so that the network reliability requirements of software applications that are to be installed, currently running, and / or currently being installed on the OS can be met.

[0077] The modem entity is associated with one or more network configurations, where each network configuration may be dynamically adapted to satisfy the network reliability requirement of one or more software applications. For example, one or more modem device driver(s) of the modem entity may dynamically update the network configuration of the modem entity if it determines that a certain target network communication reliability is required to satisfy the network reliability requirement of a software application. In this example, the modem device driver may dynamically reconfigure a network configuration of the modem entity by adding additional network resources, adding one or more additional radio units (e.g., RF transceivers), and / or allocating one or more additional antennas to the respective network configuration that is tasked with providing network resources to the software application. In the same or another example, the modem device driver may reconfigure a network configuration of the modem entity by reducing network resources allocated to one or more network configurations so that a selected network configuration can be allocated with prescribed additional network resources. This, in turn, may establish network load balancing among the software applications to satisfy the network reliability requirement(s) of the software application(s).

[0078] Figure la illustrates an embodiment of an apparatus 10 (e.g., a UE) configured to expose all or a part of available network capability associated with the apparatus to an OS 20 of the apparatus 10, according to certain embodiments. In some embodiments, the apparatus 10 of Figure la may be an instance of the UE described in relation to Figure 4 herein. In the illustrated embodiment, the apparatus 10 comprises software applications 12a-n, OS 20, a network connectivity module 30, a modem entity 40, and a power management module 50. The components of the apparatus 10 may be operably coupled to each other by wires and / or wireless communication. In other embodiments, the apparatus 10 may include additional components and / or some of those described herein.

[0079] Each software application 12a-n may be any software application that is executable by the OS 20. The OS 20 includes application programming interfaces (APIs) 22 and a task scheduler 24. The APIs 22 serve as a set of protocols, tools, and / or definitions configured to allow differentapplications 12 to communicate with each other and with the OS 20. The APIs 22 may allow an application 12 to access certain OS functions and services, such as hardware interaction, data management, and network communications to facilitate the operations of the application 12. The task scheduler 24 may be implemented in software and configured to manage and schedule the execution of tasks or processes of the OS 20 and the applications 12, such as application 12’s installation, and software update, among others.

[0080] As can be seen in Figure la, to support high reliable communication, the modem entity 40 generally includes redundant hardware circuits. The hardware circuits may include multiple RF transceivers (for example, TRX 42a, TRX 42b, etc.), and / or multiple baseband subsystems so that the modem entity 40 can perform data communication on different RF bands simultaneously. Each baseband subsystem may comprise, for example, a combination of processors, hardware acceleration, and application-specific blocks, among others. For even further uncorrelated communication paths and more supported frequency bands, each apparatus 10 may have subscriptions to different operators. Furthermore, one or all the RF transceivers may be equipped with multiple antennas so that the modem entity 40 can transmit / receive signal in various spatial directions simultaneously.

[0081] The network connectivity module 30 may abstract various network configurations (for example, modem config 32a, modem config 32b, modem config 32k, etc.). In each network configuration, various software parameter settings in the modem entity 40 and / or combinations of one or more hardware circuits in the modem entity 40 may be enabled. For example, in one network configuration (e.g., modem config 32a), all the RF transceiver TRX circuits (e.g., TRX 42a, TRX 42b, etc.) are enabled so that the apparatus 10 can keep connected to the network in all possible RF bands and all possible spatial directions. In another network configuration (e.g., modem config 32b), only TRX 42a is enabled while TRX 42b is disabled. As a result, the apparatus 10 can be connected to the network in a certain RF band or a certain range of spatial directions. In addition, certain modem software features may also be included in the network configurations. For example, the UE power saving feature in a hardware circuit may be enabled or disabled in a network configuration. This leads to a tradeoff between communication performance and power consumption. In another network configuration, the modem may be configured to operate with multiple data streams, e.g. that each data packet communicated via the modem entity is duplicated and transmitted separately for increased data communication redundancy. In another network configuration, a software radio access protocol functionality for communication may be enabled, such as for example a usage of carrier aggregation, a dual mode operation, a high redundancyencoding level or similar is utilized. Based on the hardware and software features of a network configuration, the corresponding network reliability capabilities of each network configuration may be estimated and extracted (e.g., as available network capability data associated with the modem entity). The available network capability data may include wireless data communication latency, wireless communication data throughput, data error rate, statistics or measurements of out-of-connection or disabled communication due to software (SW) and / or hardware (HW) failures, etc. The network reliability capabilities may be related to measured or historically stored associated radio conditions at certain locations.

[0082] The network configurations and corresponding network reliability capabilities may be further abstracted and reported to the device’s OS 20. In some embodiments, the abstraction may be in the form of Look-Up Table (LUT). The OS 20 may map a network configuration to an application 12 (e.g., any of the applications 12a to 12n) or a combination of applications 12a-n according to the network reliability requirement of an application 12 or combinations of application 12a-n. When an application (e.g., application 12a) is starting on top of the OS 20, the OS 20 may send a request for the corresponding network configuration to the modem entity 40, to meet the network reliability requirement(s) of the new application 12a together with the already running applications 12b-n. Optionally, in some cases the modem entity 40 may further check with the network to determine if the request is feasible from the network side. Then modem entity 40 may enable the requested network configuration(s) and set its hardware and software accordingly (e g., via modem device drivers). In some cases, the one or more modem device drivers may be regarded as a part of the modem entity 40. In some embodiments, a modem device driver may be regarded as part of the application entity, e g installed in the OS 20 (e g., installed into the lower part of the OS 20). In some embodiments, a modem device driver may be a separate entity between the OS 20 and the modem entity 40. In some embodiments, a modem device driver may provide an interface of the modem entity 40, in other words, act as an interface of the modem entity 40.

[0083] In some embodiments, when a user is going to install an application (e.g., application 12a) in the apparatus 10 (e.g., UE), the OS 20 may first extract the application 12a’s network reliability requirement and then check the network configurations of modem entity 40. The OS 20 may show the user a message if no network configuration can meet the application 12a’ s network reliability requirement.

[0084] In some embodiments, when multiple applications 12 are running on the device (i.e., apparatus 10), the OS 20 may combine the requested network configurations. The OS 20 mayshow the user a message that one or more identified applications 12 may not run together with the other applications 12, and stop running the identified applications 12.

[0085] In some embodiments, the method may include application layer, OTT signaling between the device (i.e., apparatus 10) and a network server, e.g., to store application-specific network reliability performance level on multiple devices (i.e., multiple apparatuses 10), or to gather the network reliability performance requirements for a specific application 12. Such network reliability performance statistics collection may be combined with device specific parameters such as its geographical location or other sensor data (e g., indicative of mobility).

[0086] The power management module 50 may be implemented in software and / or hardware, and is configured to manage and supply power signals (e.g., in form of voltage and / or current signals) to the components of the apparatus 10 so that each component is capable of performing its respective tasks. For example, the power management module 50 may monitor and regulate the voltage and current signals supplied to the components of the apparatus 10 and provide the voltage and current signals to each component based on the power consumption demand of the component.

[0087] Figure lb illustrates an embodiment of an apparatus 10 configured to expose all or a part of available network capability associated with an apparatus 10 (e.g., a UE) to an OS 20 of the apparatus 10, according to certain embodiments. In Figure lb, the network connectivity module 30 is shown according to certain embodiments. Some aspects of the apparatus 10 are described in the description of Figure la and additional aspects are described in the description of Figure lb. As discussed above, the network connectivity module 30 may act as a functional bridge between the modem entity 40 and the OS 20. Thus, in some embodiments, the network connectivity module 30 may be implemented in any suitable manner. In some embodiments, the network connectivity module 30 may be in signal communication with the OS 20 and the modem entity 40 in any suitable manner, such as through wires and / or wireless communication. In some embodiments the network connectivity module or parts of the functionality described in the network connectivity module may be implemented within any of the blocks or functions in the wireless device, e g. implemented as a functionality within the modem entity 40, the operating system 20 the task scheduler 24, or others.

[0088] Figure 2 illustrates an example flow chart of a method for exposing all or a part of available network capability associated with a UE (e.g., the apparatus 10 of Figures la-b) to an OS 20 of the UE, according to one example embodiment. Figure 2 illustrates a proposed method for implementing the techniques described herein, but it should be understood that otherimplementations are possible. In the example of Figure 2, the details of different sub-functions and hardware and software blocks in the device have been omitted for easier illustration.

[0089] At a high level, at step 60, the network connectivity module 30 collects information from the modem entity 40 (e.g., network configuration data associated with the first wireless device). The network configuration data associated with the first wireless device may be indicative of the supported network capabilities and / or current network configurations with relation to communication reliability and resilience. At step 62, the network connectivity module 30 may determine available network capability data associated with the modem entity 40 based on the obtained network configuration data. In certain embodiments, network connectivity module 30 may abstract the capabilities and network configurations of modem entity 40 into one or more supported levels of reliability (“network reliability levels”). In some examples, at step 64, all or a part of the supported, available network reliability levels are exposed to the OS 20 by the network connectivity module 30. At step 66, the OS 20 may extract the reliability requirement of an application 12 or a combination of applications 12. At step 68, the OS 20 may transmit requests to the network connectivity module 30 upon, for example, installing or using certain application(s) 12 that may require a specific network reliability level. Such a request may require a change in the network configuration in order to support the network reliability requirement of certain applications 12 (and other applications 12 that are currently being run on the UE), as illustrated in Figure 2. At step 70, the network connectivity module 30 may transmit information / instructions regarding implementation of a network configuration to support the required network reliability requirement to the modem entity 40 (e.g., to a modem device driver (i.e., modem device driver 720 of Figures 9a-c, lOa-c, l la-c, 12a-c, and 13a-c)). The modem entity 40 and / or the modem device driver may send an acknowledgment message of the support for the required network reliability requirement to the network connectivity module 30 if it is determined that the requested reliability requirement can be met by any one of, or any combination of, the network configurations. At step 72, the modem entity 40 (e.g., using one or more modem device driver(s)) may dynamically update / adjust a configuration of the modem entity according to one or more network configurations (e.g., network config 32a-k of Figures la-b) based on the received instructions. At step 74, the network connectivity module 30 may send an acknowledgment for the support of the required reliability level to the OS 20. At step 76, the OS may expose the supported reliability level to the application(s) 12. Various embodiments of the operations illustrated in Figure 2 are described in detail with respect to Figures 9a-c, lOa-c, 1 la-c, 12a-c, and 13a-c herein. While Figure 2 illustrates one example signal flow for implementing the disclosed techniques, thepresent disclosure contemplates different signal flows may be used. For example, in some embodiments, a negative response may be sent from the network connectivity module 30 to the OS 20 in case the requested reliability level cannot be supported.

[0090] In some embodiments, the network connectivity module 30 may be a stand-alone component that establishes a bridge between the modem entity 40 and the OS 20. In some embodiments, the network connectivity module 30 may reside within the modem entity 40. For example, the function of obtaining the network configuration data associated with the modem entity 40, determining the available network capability data associated with the modem entity 40, and exposing all or a part of the available network capability data to the OS 20 and / or the software application(s) 12 may be implemented by one or more control command signals within the modem entity 40. In some embodiments, the network connectivity module 30 may be implemented by one or more APIs that are configured to transmit data between the modem entity 40 and the OS 20.

[0091] In some embodiments, some or all of the functionality of the network connectivity module 30 may be implemented as a service in the cloud. For example, the cloud-based implementation of a network connectivity module may gather network configuration information associated with various software applications and share this information among the UEs.

[0092] In some embodiments, the network connectivity module 30 may be implemented within a UE (e.g., the UE described in relation to Figure 4 herein).

[0093] In some embodiments, the network connectivity module 30 may collect the network configuration information associated with one or more software applications 12 from one or more UEs periodically (e.g., every five seconds, every ten minutes, etc.), actively, or on demand (e.g., in response to detecting that a software application 12 is requested to be run or installed on the OS 20 in a UE).

[0094] In some embodiments, the network configuration information may include a selected network configuration and / or network parameters (such as an operation mode (e g., power on or off), a number of antennas, a number of transceivers, an RF frequency band, etc.) used by a given UE to support the software application in question at a specific location.

[0095] In some embodiments, a machine learning algorithm may be implemented in conjunction with the network connectivity module 30 to determine the network reliability requirement of a software application 12 based at least on network configuration information. For example, the machine learning algorithm may analyze the usage patterns of various software applications 12, network reliability demand of those software applications, and / or network configuration information implemented by one or more UEs to support the network reliabilityrequirement of those software applications 12. This analysis may enable the machine learning algorithm to predict and suggest a particular configuration to adapt a network configuration according to the particular configuration and satisfy the network reliability requirement of a given software application 12 in different scenarios. As an example, the machine learning algorithm may suggest an RF frequency bandwidth, a number of antennas, a number of transceivers, and / or other configurations to be used to update a network configuration accordingly to satisfy the network reliability requirement of a particular software application, e.g., at certain locations and / or times.

[0096] Subsequently, when another instance of the software application 12 is requested for use in the same or another UE, the machine learning algorithm (e.g., via the network connectivity module 30) may proactively predict and suggest a configuration for a network configuration to meet the anticipated network reliability requirement of the software application 12. In any scenario, the network reliability requirement of other software applications 12 currently running on the OS 20 may be taken into account so that the network reliability requirement of all software applications 12 is met.

[0097] This can lead to improving the network resource utilization and efficiency of the UE and the software application 12. This, in turn, can improve the underlying function of the UE to be able to provide network load balancing among the software applications 12. Furthermore, the implementation of machine learning improves the predictive capabilities of the network connectivity module 30 and the adaptability of network reliability management system.

[0098] In some embodiments, the network configuration information indicating which network configuration(s) and / or network parameter(s) are used to support a network reliability requirement of a software application 12 may depend on the geographical location where the software application 12 is used. Thus, a map of network configuration information with respect to various locations and network configurations may be gathered by the cloud-based network connectivity module 30 and shared among the UEs. Therefore, when a certain UE reaches a certain location and a certain software application 12 is requested to be run on the UE, the network connectivity module can leverage the pre-existing map of network configuration information associated with that location and software application 12, and dynamically assess the specific network demands of the software application 12 based on the identified location. The network connectivity module 30 may obtain the network configuration data associated with the UE, determine the available network capability data of the modem entity 40, and expose all or a part of the available network capability data to the OS 20 and the software application. In response, the OS 20 may extract the network reliability requirement of the software application 12 (and othersoftware application(s) 12) and obtain information indicating whether the network reliability requirement can be fulfilled by any of the network configurations. Optionally, in some embodiments, the OS 20 may send a request to satisfy the required network reliability of the software application 12 (and potentially other software application(s) 12) to the network connectivity module 30. In some embodiments, this information may be obtained by the network connectivity module 30 in other ways, e.g., reading a file. In some embodiments, the OS 20 may be provided with the map of software applications 12 associated with a respective network configuration that is historically implemented by one or more UEs at the identified location. Thus, in such embodiments, the OS 20 may identity the historically-implemented network configuration for the software application 12 from the map and send the request for the identified network configuration to the network connectivity module 30.

[0099] In response, the network connectivity module 30 may translate the received information into a set of instructions that the modem device driver can understand and implement. For example, the network connectivity module 30 may determine the set of instructions on how to configure the modem entity 40 according to the network reliability requirement of the software application 12 (and other application(s) 12) installed on the OS 20. For example, the set of instructions may include what RF frequency band to be used, how many antennas to be used, how many transceivers to be used, and / or instructions for other network parameters.

[0100] The network connectivity module 30 may send the set of instructions to the modem device driver associated with the modem entity 40. The modem device driver may dynamically update / adjust a configuration of one or more network configurations based on the received instructions. The network connectivity module 30 may determine whether the network configurations of the modem entity 40 can support the network reliability requirement of the software application 12. In some cases, if it is determined that the network reliability requirement of the software application 12 (and other software application(s) 12) cannot be satisfied by the available network capability of the modem entity 40, the network connectivity module 30 may send an alert message to the OS 20 and / or the software application 12, where the alert message indicates that the network reliability requirement of the software application 12 cannot be met.

[0101] In some cases, if it is determined that the network reliability requirement of the software application 12 (and other software application(s) 12) can be satisfied by the available network capability of the modem entity 40, the modem device driver associated with the modem entity 40 may configure / reconfigure the modem entity 40 according to the network reliability ofthe software application 12, while the network reliability of other software application(s) is also met.

[0102] In some embodiments, the network connectivity module 30 and / or the modem entity 40 may prioritize allocating network configurations and / or resources to a software application 12 that is associated with a higher priority compared to other software applications 12. Thus, the network configurations and / or resources may be allocated to the software application 12 with a higher priority level by reallocating at least a portion of network configurations and / or resources from a software application 12 with a lower priority to the software application 12 with the higher priority.

[0103] In some embodiments, the device may include one or more modem entities 40. In such embodiments, similar operations may be performed for each modem entity 40. For example, a network connectivity module 30 may expose all or a part of the available network capability data associated with one or more modem entities 40 to the OS 20, so that the network reliability requirements of all software applications 12 run by the OS 20 are satisfied by the one or more modem entities 40.

[0104] In some embodiments, the modem entity 40 of a UE may be capable of being configured according to two or more network configurations. Each network configuration may be dynamically updated according to a prescribed configuration to satisfy the network reliability requirements of the one or more software applications 12. In some embodiments, the process of updating a network configuration may be further based on statistics of network configurations (e g., network configuration information). For example, the modem device driver associated with the modem entity 40 and / or the network connectivity module 30 may learn from the historical performance of specific network configurations. For example, the network connectivity module 30 may gather insights from running particular network configurations and associate them with respective network reliability levels. As conditions change (e g., network conditions, location of the UE changes), over time, the modem entity 40 may learn to adapt a particular network configuration when the particular network configuration falls short in meeting a desired network reliability level.

[0105] In some embodiments, a prescribed or desired network configuration may be selected by any one of, and / or any combination of, the network connectivity module 30 and the OS 20.

[0106] In some embodiments, implementing a selected network configuration may include causing the modem entity 40 to be configured with the selected network configuration (e.g., with the indicated network parameters, etc.).

[0107] In some embodiments, the available network capability data may be divided into multiple data streams. In some embodiments, the available network capability data may include redundancies.

[0108] Figure 3 shows an example of a communication system 100 in accordance with some embodiments.

[0109] In the example, the communication system 100 includes a telecommunication network 102 that includes an access network 104, such as a radio access network (RAN), and a core network 106, which includes one or more core network nodes 108. The access network 104 includes one or more access network nodes, such as network nodes 110a and 110b (one or more of which may be generally referred to as network nodes 110), or any other similar 3rdGeneration Partnership Project (3 GPP) access node or non-3GPP access point. The network nodes 110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 112a, 112b, 112c, and 112d (one or more of which may be generally referred to as UEs 112) to the core network 106 over one or more wireless connections.

[0110] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0111] The UEs 112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 110 and other communication devices. Similarly, the network nodes 110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 112 and / or with other network nodes or equipment in the telecommunication network 102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 102.

[0112] In the depicted example, the core network 106 connects the network nodes 110 to one or more hosts, such as host 116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled tohosts. The core network 106 includes one more core network nodes (e.g., core network node 108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).

[0113] The host 116 may be under the ownership or control of a service provider other than an operator or provider of the access network 104 and / or the telecommunication network 102, and may be operated by the service provider or on behalf of the service provider. The host 116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0114] As a whole, the communication system 100 of Figure 3 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0115] In some examples, the telecommunication network 102 is a cellular network that implements 3 GPP standardized features. Accordingly, the telecommunications network 102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 102. For example, the telecommunications network102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC)ZMassive loT services to yet further UEs.

[0116] In some examples, the UEs 112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 104. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).

[0117] In the example, the hub 114 communicates with the access network 104 to facilitate indirect communication between one or more UEs (e.g., UE 112c and / or 112d) and network nodes (e g., network node 110b). In some examples, the hub 114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 114 may be a broadband router enabling access to the core network 106 for the UEs. As another example, the hub 114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 110, or by executable code, script, process, or other instructions in the hub 114. As another example, the hub 114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 114 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy loT devices.

[0118] The hub 114 may have a constant / persistent or intermittent connection to the network node 110b. The hub 114 may also allow for a different communication scheme and / or schedule between the hub 114 and UEs (e.g., UE 112c and / or 112d), and between the hub 114 and the core network 106. In other examples, the hub 114 is connected to the core network 106 and / or one or more UEs via a wired connection. Moreover, the hub 114 may be configured to connect to an M2M service provider over the access network 104 and / or to another UE over a direct connection.In some scenarios, UEs may establish a wireless connection with the network nodes 110 while still connected via the hub 114 via a wired or wireless connection. In some embodiments, the hub 114 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 110b. In other embodiments, the hub 114 may be a nondedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0119] Figure 4 shows a UE 200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rdGeneration Partnership Project (3 GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0120] A UE may support device-to-device (D2D) communication, for example by implementing a 3 GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to- everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e g , a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e g., a smart power meter).

[0121] The UE 200 includes processing circuitry 202 that is operatively coupled via a bus 204 to an input / output interface 206, a power source 208, a memory 210, a communication interface 212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 4. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0122] The processing circuitry 202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 210. The processing circuitry 202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field- programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 202 may include multiple central processing units (CPUs).

[0123] In the example, the input / output interface 206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc ), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0124] In some embodiments, the power source 208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 208 may further include power circuitry for delivering power from the power source 208 itself, and / or an external power source, to the various parts of the UE 200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 208 to make the power suitable for the respective components of the UE 200 to which power is supplied.

[0125] The memory 210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasableprogrammable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 210 includes one or more application programs 214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 216. The memory 210 may store, for use by the UE 200, any of a variety of various operating systems or combinations of operating systems.

[0126] The memory 210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 210 may allow the UE 200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 210, which may be or comprise a device-readable storage medium.

[0127] The processing circuitry 202 may be configured to communicate with an access network or other network using the communication interface 212. The communication interface 212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 222. The communication interface 212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 218 and / or a receiver 220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 218 and receiver 220 may be coupled to one or more antennas (e.g., antenna 222) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0128] In the illustrated embodiment, communication functions of the communication interface 212 may include cellular communication, Wi-Fi communication, LPWANcommunication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0129] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0130] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0131] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 200 shown in Figure 4.

[0132] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0133] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0134] Figure 5 shows a network node 300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (Aps) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)).

[0135] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and / or remote radio units (RRUs), sometimes referred to as RemoteRadio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[0136] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi -standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).

[0137] The network node 300 includes a processing circuitry 302, a memory 304, a communication interface 306, and a power source 308. The network node 300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 304 for different RATs) and some components may be reused (e g., a same antenna 310 may be shared by different RATs). The network node 300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 300.

[0138] The processing circuitry 302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 300 components, such as the memory 304, to provide network node 300 functionality.

[0139] In some embodiments, the processing circuitry 302 includes a system on a chip (SOC). In some embodiments, the processing circuitry 302 includes one or more of radio frequency (RF) transceiver circuitry 312 and baseband processing circuitry 314. In some embodiments, the radio frequency (RF) transceiver circuitry 312 and the baseband processing circuitry 314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 312 and baseband processing circuitry 314 may be on the same chip or set of chips, boards, or units.

[0140] The memory 304 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 302. The memory 304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 302 and utilized by the network node 300. The memory 304 may be used to store any calculations made by the processing circuitry 302 and / or any data received via the communication interface 306. In some embodiments, the processing circuitry 302 and memory 304 is integrated.

[0141] The communication interface 306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 306 comprises port(s) / terminal(s) 316 to send and receive data, for example to and from a network over a wired connection. The communication interface 306 also includes radio front-end circuitry 318 that may be coupled to, or in certain embodiments a part of, the antenna 310. Radio front-end circuitry 318 comprises filters 320 and amplifiers 322. The radio front-end circuitry 318 may be connected to an antenna 310 and processing circuitry 302. The radio front-end circuitry may be configured to condition signals communicated between antenna 310 and processing circuitry 302. The radio front-end circuitry 318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 320 and / or amplifiers 322. The radio signal may then be transmitted via the antenna 310. Similarly, when receiving data, the antenna 310 maycollect radio signals which are then converted into digital data by the radio front-end circuitry 318. The digital data may be passed to the processing circuitry 302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0142] In certain alternative embodiments, the network node 300 does not include separate radio front-end circuitry 318, instead, the processing circuitry 302 includes radio front-end circuitry and is connected to the antenna 310. Similarly, in some embodiments, all or some of the RF transceiver circuitry 312 is part of the communication interface 306. In still other embodiments, the communication interface 306 includes one or more ports or terminals 316, the radio front-end circuitry 318, and the RF transceiver circuitry 312, as part of a radio unit (not shown), and the communication interface 306 communicates with the baseband processing circuitry 314, which is part of a digital unit (not shown).

[0143] The antenna 310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 310 may be coupled to the radio front-end circuitry 318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 310 is separate from the network node 300 and connectable to the network node 300 through an interface or port.

[0144] The antenna 310, communication interface 306, and / or the processing circuitry 302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 310, the communication interface 306, and / or the processing circuitry 302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment

[0145] The power source 308 provides power to the various components of network node 300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 300 with power for performing the functionality described herein. For example, the network node 300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 308. As a further example, the power source 308 maycomprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0146] Embodiments of the network node 300 may include additional components beyond those shown in Figure 5 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 300 may include user interface equipment to allow input of information into the network node 300 and to allow output of information from the network node 300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 300.

[0147] Figure 6 is a block diagram of a host 400, which may be an embodiment of the host 116 of Figure 3, in accordance with various aspects described herein. As used herein, the host 400 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 400 may provide one or more services to one or more UEs.

[0148] The host 400 includes processing circuitry 402 that is operatively coupled via a bus 404 to an input / output interface 406, a network interface 408, a power source 410, and a memory 412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 2 and 3, such that the descriptions thereof are generally applicable to the corresponding components of host 400

[0149] The memory 412 may include one or more computer programs including one or more host application programs 414 and data 416, which may include user data, e.g., data generated by a UE for the host 400 or data generated by the host 400 for a UE. Embodiments of the host 400 may utilize only a subset or all of the components shown. The host application programs 414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in oron the edge of a core network. Accordingly, the host 400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.

[0150] Figure 7 is a block diagram illustrating a virtualization environment 500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 500 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized.

[0151] Applications 502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0152] Hardware 504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 508a and 508b (one or more of which may be generally referred to as VMs 508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 506 may present a virtual operating platform that appears like networking hardware to the VMs 508.

[0153] The VMs 508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 506. Different embodiments of the instance of a virtual appliance 502 may be implemented on one or more ofVMs 508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0154] In the context of NFV, a VM 508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 508, and that part of hardware 504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 508 on top of the hardware 504 and corresponds to the application 502.

[0155] Hardware 504 may be implemented in a standalone network node with generic or specific components. Hardware 504 may implement some functions via virtualization. Alternatively, hardware 504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 510, which, among others, oversees lifecycle management of applications 502. In some embodiments, hardware 504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 512 which may alternatively be used for communication between hardware nodes and radio units.

[0156] Figure 8 shows a communication diagram of a host 602 communicating via a network node 604 with a UE 606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 112a of Figure 3 and / or UE 200 of Figure 4), network node (such as network node 110a of Figure 3 and / or network node 300 of Figure 5), and host (such as host 116 of Figure 3 and / or host 400 of Figure 6) discussed in the preceding paragraphs will now be described with reference to Figure 8.

[0157] Like host 400, embodiments of host 602 include hardware, such as a communication interface, processing circuitry, and memory. The host 602 also includes software, which is storedin or accessible by the host 602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 606 connecting via an over-the-top (OTT) connection 650 extending between the UE 606 and host 602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 650.

[0158] The network node 604 includes hardware enabling it to communicate with the host 602 and UE 606. The connection 660 may be direct or pass through a core network (like core network 106 of Figure 3) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0159] The UE 606 includes hardware and software, which is stored in or accessible by UE 606 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 606 with the support of the host 602. In the host 602, an executing host application may communicate with the executing client application via the OTT connection 650 terminating at the UE 606 and host 602. In providing the service to the user, the UE’s client application may receive request data from the host’s host application and provide user data in response to the request data. The OTT connection 650 may transfer both the request data and the user data. The UE’s client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 650.

[0160] The OTT connection 650 may extend via a connection 660 between the host 602 and the network node 604 and via a wireless connection 670 between the network node 604 and the UE 606 to provide the connection between the host 602 and the UE 606. The connection 660 and wireless connection 670, over which the OTT connection 650 may be provided, have been drawn abstractly to illustrate the communication between the host 602 and the UE 606 via the network node 604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0161] As an example of transmitting data via the OTT connection 650, in step 608, the host 602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 606. In other embodiments, the user data is associated with a UE 606 that shares data with the host 602 without explicit human interaction. In step 610, the host 602 initiates a transmission carrying the user data towards the UE 606. The host 602 may initiate the transmission responsive to a requesttransmitted by the UE 606. The request may be caused by human interaction with the UE 606 or by operation of the client application executing on the UE 606. The transmission may pass via the network node 604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 612, the network node 604 transmits to the UE 606 the user data that was carried in the transmission that the host 602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 614, the UE 606 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 606 associated with the host application executed by the host 602.

[0162] In some examples, the UE 606 executes a client application which provides user data to the host 602. The user data may be provided in reaction or response to the data received from the host 602. Accordingly, in step 616, the UE 606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 606. Regardless of the specific manner in which the user data was provided, the UE 606 initiates, in step 618, transmission of the user data towards the host 602 via the network node 604. In step 620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 604 receives user data from the UE 606 and initiates transmission of the received user data towards the host 602. In step 622, the host 602 receives the user data carried in the transmission initiated by the UE 606.

[0163] One or more of the various embodiments improve the performance of OTT services provided to the UE 606 using the OTT connection 650, in which the wireless connection 670 forms the last segment. More precisely, the teachings of these embodiments may improve the efficiency and adaptability of configuring communication modems, and thereby provide benefits such as enhanced communication reliability across diverse software applications.

[0164] In an example scenario, factory status information may be collected and analyzed by the host 602. As another example, the host 602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 602 may store surveillance video uploaded by a UE. As another example, the host 602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. fromdata collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.

[0165] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 650 between the host 602 and UE 606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 602 and / or UE 606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 650 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 650 while monitoring propagation times, errors, etc.

[0166] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may beconfigured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0167] Figures 9a-c, lOa-c, l la-c, 12a-c, and 13a-c illustrate various embodiments of the method described in Figure 2. The modem entity 710 in any of Figures 9a-c, lOa-c, l la-c, 12a-c, and 13a-c may correspond to the modem entity 40 of Figure 2; the network connectivity module 730 in any of Figures 9a-c, lOa-c, l la-c, 12a-c, and 13a-c may correspond to the network connectivity module 30 of Figure 2; and the operating system 740 in any of Figures 9a-c, lOa-c, 1 la-c, 12a-c, and 13a-c may correspond to the OS 20 of Figure 2.

[0168] Figures 9a-c illustrate an example method 900 in a wireless device, according to certain embodiments. In particular embodiments, one or more steps of Figures 9a-c may be performed by UE 200 described with respect to Figure 4.

[0169] The method may begin at step 902, where the network connectivity module 730 of a first wireless device (e g., UE 200 of FIG. 4) obtains network configuration data associated with the first wireless device. The network configuration data may comprise information about one or more network configurations, where each network configuration represents a configuration of one or more transceivers. The one or more network configurations may be associated with a modem entity.

[0170] At step 904, the network connectivity module 730 of the first wireless device determines available network capability data associated with the modem entity based at least on the obtained network configuration data.

[0171] At step 906, the network connectivity module 730 exposes all or a part of the available network capability data to at least one of an operating system 740 and a software application 770 based at least on the one or more network configurations that can be configured by a modem device driver 720 associated with a modem entity 710.

[0172] At step 908, the operating system 740 detects an event. The event may be, for example, a software application being installed, changing a state, or being executed on the operating system 740.

[0173] At step 910, the operating system 740 extracts a network reliability requirement of the software application, in response to detecting the event.

[0174] At step 912, the operating system 740 obtains information indicating whether the network reliability requirement can be fulfilled by any of the one or more network configurations. The method may then proceed to step 914 in Figure 9b.

[0175] Referring now to Figure 9b, at step 914, the operating system 740 accesses a mapping table comprising at least one network configuration mapped to one or more respective software applications. The mapping table may be generated based at least on one or more network reliability requirements of one or more software applications.

[0176] At step 916, the operating system 740 identifies a network configuration mapped to the network reliability requirement of the software application, e.g., from the mapping table.

[0177] At step 918, the operating system 740 communicates information associated with the network configuration to the network connectivity module 730.

[0178] At step 920, the network connectivity module 730 evaluates the network reliability requirement with respect to the available network capability data.

[0179] At step 922, the network connectivity module 730 determines, based at least on the evaluation, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740.

[0180] If any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740, then at step 924, a network configuration selection associated with the network reliability requirement may be communicated to at least one modem entity 710, for example, using network connectivity module 730 and modem device driver 720. In particular embodiments, the network configuration selection may configure or reconfigure at least a portion of one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application. Otherwise, in response to determining that any of the one or more network configurations cannot support the network reliability requirement of the software application and other software applications installed on the operating system 740, the method proceeds to step 932, where the network connectivity module 730 communicates to the operating system 740, an alert message indicating that the network reliability requirement of the software application cannot be supported by the available network capability data. In particular embodiments, configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application comprises applying one or more of a modem baseband configuration,and allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application.

[0181] Referring now to Figure 9c, after the network configuration selection associated with the network reliability requirement is communicated to at least one modem entity 710, the method proceeds to step 926. At step 926, the modem device driver 720 configures or reconfigures the modem entity 710 according to the network configuration selection. For example, the modem device driver 720 may configure or reconfigure at least a portion of one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application(s).

[0182] In particular embodiments, configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application(s) may comprise updating the selected network configuration of the modem entity 710. This may, for example, include allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application(s). In some embodiments configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity 710 may include configuring the modem entity 710 to use or more radio link robustness configurations such as operating the modem entity with multiple simultaneous radio access technologies (RATs), using multiple radio links within one RAT (e.g., dual mode operation, carrier aggregation operation, etc ). In some examples, the configuring may be indicative of a redundancy utilization of a modem or a radio communication protocol, which may include configuring a number of parallel receive or transmit antennas, number of panels of antennas, number of power amplifiers, number of data decoders and / or data encoders, number or multiple data streams, number of radio protocols which are available or active for enabling reliable communication.

[0183] At step 928, the modem device driver 720 receives an acknowledgment message indicating that the network configuration selection is communicated. In particular embodiments, the acknowledgement message may further indicate that the network reliability requirement of the software application(s) is supported by the selected network configuration from among the one or more network configurations. Additionally in one or more examples, the acknowledgment message from the modem entity 710 may be indicative of that the update of the modem entity 710, e.g. the selection of a network configuration of the modem entity 710 has been applied.

[0184] At step 930, the modem device driver 720 communicates the acknowledgment message to the network connectivity module 730. In particular embodiments, the network connectivity module 730 may forward the acknowledgment message to the operating system 740.

[0185] In particular embodiments, the network reliability requirement comprises a first network reliability requirement extracted by the operating system from the software application.

[0186] In particular embodiments, the network reliability requirement may be associated with a network configuration information obtained from a second wireless device (e.g., another instance of UE 200 in FIG. 4). The network configuration information may comprise a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

[0187] In particular embodiments, the available network capability data may comprise at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous RATs or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0188] Modifications, additions, or omissions may be made to method of Figures 9a-c. Additionally, one or more steps in the method of Figures 9a-c may be performed in parallel or in any suitable order.

[0189] Figures lOa-c illustrate an example method 1000 in a wireless device, according to certain embodiments. In particular embodiments, one or more steps of Figures lOa-c may be performed by UE 200 described with respect to Figure 4.

[0190] Turning to Figure 10a, the method begins at step 1002. In the example of Figure 10a, steps 1002 to 1006 are substantially similar to steps 902 to 906 of method 900 in Figure 9a, respectively.

[0191] In the example embodiment of Figure 10a, at step 1008, the network connectivity module 730 obtains a network reliability requirement of a software application being installed, is changing a state, or being executed on operating system 730.

[0192] The method then proceeds to step 1010 in Figure 10b. Referring now to Figure 10b, at step 1010, the network connectivity module 730, determines based at least on the obtained network reliability requirement, whether any of the one or more network configurations can support thenetwork reliability requirement of the software application and other software applications installed on the operating system 740.

[0193] In response to determining that none of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740, the method proceeds to step 1022. At step 1022, the network connectivity module 730 communicates that to the operating system 740 (e.g. in the form of an alert message).

[0194] In response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740 at step 1010, the method proceeds to step 1012. At step 1012, the network connectivity module 730 determines an instruction on how to configure the modem entity according to the network reliability requirement of the software application and other software applications installed on the operating system 740. For example, the instruction may include what RF frequency band to be used, how many antennas to be used, how many transceivers to be used, and / or instructions for other network parameters. The network reliability requirement of the software application and other software applications installed on the operating system 740 may comprise the current network reliability requirements of the software application and the other software applications.

[0195] At step 1014, the network connectivity module 730 communicates the instruction to a modem entity 710, e.g., via a modem device driver 720.

[0196] Thereafter, the method proceeds to step 1016 in Figure 10c. Steps 1016 to 1020 shown in Figures 10c may be similar to steps 926 to 930 of the method 900 in Figure 9c, respectively, according to particular embodiments. In particular embodiments, in step 1016, the modem device driver 720 may configure or reconfigure the modem entity 710 according to the instruction. In particular embodiments, configuring or reconfiguring the modem entity according to the instruction may include configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application(s). In particular embodiments, configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity 710 according to the network reliability requirement of the software application(s) may comprise applying one or more of a modem baseband configuration, and allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application(s). In particular embodiments, the network connectivitymodule 730 may communicate a network configuration selection associated with the network reliability requirement of the software application(s) to at least one modem entity 710, e.g., via the modem device driver 720. In particular embodiments, the network configuration selection may configure or reconfigure the modem entity 710 according to the instruction.

[0197] In step 1018, the modem device driver 720 may receive, from the modem entity 710, an acknowledgment message indicating that the instruction has been received. Additionally in one or more examples, the acknowledgment message from the modem entity 710 may be indicative of that the update of the modem entity 710, e.g. the selection of a network configuration of the modem entity 710 has been applied. In step 1020, the modem device driver 720 may communicate the acknowledgment message to the network connectivity module 730. The acknowledgment message may be communicated to the operating system 740.

[0198] In particular embodiments, the network reliability requirement may comprise a first network reliability requirement extracted by the operating system from the software application.

[0199] In particular embodiments, the network reliability requirement may be associated with a network configuration information obtained from a second wireless device (e.g., another instance of UE 200 in FIG. 4). The network configuration information may include a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

[0200] In particular embodiments, the available network capability data may comprise at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous RATs or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0201] Modifications, additions, or omissions may be made to method of Figures lOa-c. Additionally, one or more steps in the method of Figures lOa-c may be performed in parallel or in any suitable order.

[0202] Figures l la-c illustrate an example method 1100 in a wireless device, according to certain embodiments. In particular embodiments, one or more steps of Figure l la-c may be performed by UE 200 described with respect to Figure 4.

[0203] The method 1100 begins at step 1102 of Figure I la. In the example embodiment of Figure I la, steps 1102 to 1111 are similar to steps 902 to 912 of method 900 in Figure 9a, respectively.

[0204] Once the operating system 740 obtains information indicating whether the network requirement can be fulfilled by any of the one or more network configurations in step 1111, the method proceeds to step 1112 in Figure 11b. Referring now to Figure 11b, at step 1112, the operating system 740 communicates information associated with the network configuration to the network connectivity module 730.

[0205] At step 1114, the network connectivity module 730 obtains, from a second wireless device 760, a network configuration information. The network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device 760 to support the software application at a specific location.

[0206] At step 1116, the network connectivity module 730 determines a location of the first wireless device 750.

[0207] At step 1118, the network connectivity module 730 determines, based at least on the extracted network reliability requirement, the network configuration information, and the location of the first wireless device, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740. If not, the method proceeds to step 1130 where the network connectivity module 730 informs the operating system 740 of that fact (e.g. via an alert message).

[0208] If the network connectivity module 730 determines that any of the network configurations can support the network reliability requirement of the software application and other software applications, the method proceeds to step 1120. In the example embodiment of Figure 1 lb- 11c, steps 1120 to 1130 are substantially similar to steps 1012 to 1022 of the method 1000 shown in Figures 10b and 10c, respectively.

[0209] In particular embodiments, the instruction sent by the network connectivity module 730 at step 1120 may be associated with a network configuration selection that indicates which network configuration(s) to use for configuring the modem entity 710, similar to that described in step 924 in method 900 of Figure 9b. In particular embodiments, the network connectivity module 730 may communicate the network configuration selection associated with the network reliability requirement of the software application(s) to at least one modem entity 710, e.g., via the modem device driver 720. In particular embodiments, the network configuration selection may configureor reconfigure the modem entity 710 according to the instruction, similar to that described with respect to steps 1012 and 1014 of method 1000.

[0210] In particular embodiments, the network reliability requirement may comprise a first network reliability requirement extracted by the operating system 740 from the software application.

[0211] In particular embodiments, the network reliability requirement may be associated with a network configuration information obtained from a second wireless device (e.g., another instance of UE 200 in FIG. 4). The network configuration information may comprise a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

[0212] In particular embodiments, the available network capability data may comprise at least one of information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous RATs or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0213] Modifications, additions, or omissions may be made to method of Figures l la-c. Additionally, one or more steps in the method of Figures l la-c may be performed in parallel or in any suitable order.

[0214] Figures 12a-c illustrate an example method 1200 in a wireless device, according to certain embodiments. In particular embodiments, one or more steps of Figures 12a-c may be performed by UE 200 described with respect to Figure 4.

[0215] The method 1200 begins at step 1202. In the example embodiment of Figure 12a, steps 1202 to 1206 are similar to steps 902 to 906 of method 900 in Figure 9a.

[0216] After the network connectivity module 730 exposes all or a part of the available network capability data at step 1206, the method proceeds to step 1208. At step 1208, the network connectivity module 730 receives a request for a particular network reliability requirement from a software application 770 (e.g., that is being installed and or run on operating system 740).

[0217] The method then proceeds to step 1210 of Figure 12b. Referring now to Figure 12b, in response to receiving the request, at step 1210, the network connectivity module 730 determines whether any of the one or more network configurations can support the network reliabilityrequirement of the software application and other software applications installed on an operating system 740.

[0218] The method then proceeds to steps 1212 or 1222 depending on the outcome of the determination at step 1210. In the example embodiment of Figures 12b-12c, steps 1212 to 1222 shown in Figures 12b and 12c are similar to steps 1012 to 1022 of method 1000 shown in Figures 10b and 10c.

[0219] In particular embodiments, the network connectivity module 730 may communicate a network configuration selection associated with the network reliability requirement of the software application(s) to at least one modem entity 710, e.g., via the modem device driver 720. In particular embodiments, the network configuration selection may configure or reconfigure the modem entity 710 according to the instruction, similar to that described with respect to steps 1012 and 1014 of method 1000.

[0220] In particular embodiments, the network reliability requirement may comprise a first network reliability requirement extracted by the operating system from the software application.

[0221] In particular embodiments, the network reliability requirement may be associated with a network configuration information obtained from a second wireless device (e.g., another instance of UE 200 in FIG. 4). The network configuration information may comprise a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

[0222] In particular embodiments, the available network capability data may comprise at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous RATs or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0223] Modifications, additions, or omissions may be made to method of Figures 12a-c. Additionally, one or more steps in the method of Figures 12a-c may be performed in parallel or in any suitable order.

[0224] Figures 13a-c illustrate an example method 1300 in a wireless device, according to certain embodiments. In particular embodiments, one or more steps of Figure 13a-c may be performed by UE 200 described with respect to Figure 4.

[0225] The method 1300 begins at step 1302. In the example embodiment of Figure 13a, steps 1302 to 1306 are similar to steps 902 to 906 of method 900 in Figure 9a described above.

[0226] In the example embodiment of Figure 13a, after the network connectivity module 730 exposes all or a part of the available network capability data to the operating system 740 at step 1306, the method proceeds to step 1308. At step 1308, the network connectivity module 730 receives a request for a particular network reliability requirement for a software application from the operating system 740.

[0227] At step 1310, the network connectivity module 730 accesses a mapping table comprising at least one network configuration mapped to one or more respective software applications. The mapping table may be generated based at least on one or more network reliability requirements of one or more software applications.

[0228] At step 1312, the network connectivity module 730 identifies a network configuration mapped to a combination of the network reliability requirement of the software application and the network reliability requirement of other software applications on the operating system 740.

[0229] The method then proceeds to step 1314 shown in Figure 13b. Referring now to Figure 13b, at step 1314, the network connectivity module 730 evaluates the network reliability requirement with respect to the available network capability data.

[0230] At step 1316, the network connectivity module 730 determines, based at least on the evaluation, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740. If not, the method proceeds to step 1328, where the network connectivity module communicates that information to the operating system 740 (e g., using an alert message).

[0231] In response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system 740, the method proceeds to step 1318. At step 1318, the network connectivity module 730, determines an instruction on how to configure the modem entity according to the network reliability requirement of the software application and other software applications installed on the operating system 740. The instruction may indicate to select one or more network configurations that are determined to be able to support the network reliability requirement of the software application and other software applications installed on the operating system 740. The network reliability requirements may comprise the current network reliability requirements of the software application and the other software applications installed on the operating system 740.

[0232] At step 1320, the network connectivity module 730 communicates the instruction to the modem entity 710, e.g., via a modem device driver 720. The method then proceeds to step 1322 in Figure 13c. In the example embodiment of Figure 13c, steps 1322 to 1328are similar to steps 1016 to 1022 in Figures 10b and 10c described above, respectively.

[0233] In particular embodiments, the network connectivity module 730 may communicate a network configuration selection associated with the network reliability requirement of the software application(s) to at least one modem entity 710, e.g., via the modem device driver 720. In particular embodiments, the network configuration selection may configure or reconfigure the modem entity 710 according to the instruction, similar to that described with respect to steps 1012 and 1014 of method 1000.

[0234] In particular embodiments, the network reliability requirement may comprise a first network reliability requirement extracted by the operating system from the software application.

[0235] In particular embodiments, the network reliability requirement may be associated with a network configuration information obtained from a second wireless device (e.g., an instance of UE 200 in FIG. 4). The network configuration information may comprise a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

[0236] In particular embodiments, the available network capability data may comprise at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous RATs or a second configuration for using multiple radio links within one RAT, information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; and / or information associated with radio conditions at various locations.

[0237] Modifications, additions, or omissions may be made to method of Figures 13a-c. Additionally, one or more steps in the method of Figures 13a-c may be performed in parallel or in any suitable order.

[0238] Figure 14 illustrates a schematic block diagram of a wireless device (for example, the wireless device illustrated in Figure 4). The apparatus 1400 includes a wireless node (e.g., network device 200 illustrated in Figure 4). Apparatus 1400 is operable to carry out the example methods described with reference to Figures 1-13 and possibly any other processes or methods disclosed herein. It is also to be understood that the methods of Figures 9a to 13c are not necessarily carriedout solely by apparatus 1400. At least some operations of any of the method may be performed by one or more other entities.

[0239] Virtual apparatus 1400 may comprise processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments.

[0240] In some implementations, the processing circuitry may be used to cause obtaining module 1402, determining, module 1404, and exposing module 1406, and any other suitable units of the apparatus 1400 to perform corresponding functions according to one or more embodiments of the present disclosure. Obtaining module 1402, determining, module 1404, and exposing module 1406 may be associated with, reside within, and / or in signal communication with any of the network connectivity module, operating system, modem device driver, and the modem entity of the apparatus 1400.

[0241] As illustrated in Figure 10, apparatus 1000 includes obtaining module 1402 that is configured to obtain network configuration data associated with the first wireless device, wherein the network configuration data comprises information about one or more network configurations, each network configuration representing a configuration of one or more transceivers, wherein the one or more network configurations are associated with a modem entity according to any of the embodiments and examples described herein. The determining module 1404 is configured to determine available network capability data associated with the modem entity based at least on the obtained network configuration data. The exposing module 1406 is configured to expose all or a part of the available network capability data to at least one of an operating system and a software application based at least on the one or more network configurations that can be configured by a modem device driver associated with the modem entity according to any of the embodiments and examples described herein. The determining module 1404 is further configured to perform any operation described in any of the methods 900, 1000, 1100, 1200, and 1300 according to any of the embodiments and examples described herein.

[0242] The term unit may have conventional meaning in the field of electronics, electrical devices and / or electronic devices and may include, for example, electrical and / or electronic circuitry, devices, modules, processors, memories, logic solid state and / or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and / or displaying functions, and so on, as such as those that are described herein.

[0243] Modifications, additions, or omissions may be made to the systems and apparatuses disclosed herein without departing from the scope of the invention. The components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses may be performed by more, fewer, or other components. Additionally, operations of the systems and apparatuses may be performed using any suitable logic comprising software, hardware, and / or other logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.

[0244] Modifications, additions, or omissions may be made to the methods disclosed herein without departing from the scope of the invention. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order.

[0245] Some portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of transactions on data bits within a computer memory. These algorithmic descriptions and representations are ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consi stent sequence of transactions leading to a desired result. The transactions are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0246] It should be appreciated, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or the like, refer to actions and processes of a computer system, or a similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage, transmission or display devices.

[0247] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method transactions. The required structure for a variety of these systems will appear from the description above. In addition, embodiments of the present disclosure are not described with reference to any particular programming language. It should be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the present disclosure as described herein.

[0248] An embodiment of the present disclosure may be an article of manufacture in which a non-transitory machine-readable medium (such as microelectronic memory) has stored thereon instructions (e g., computer code) which program one or more data processing components (generically referred to here as a “processor”) to perform the operations described above. In other embodiments, some of these operations might be performed by specific hardware components that contain hardwired logic (e.g., dedicated digital filter blocks and state machines). Those operations might alternatively be performed by any combination of programmed data processing components and fixed hardwired circuit components.

[0249] In the foregoing detailed description, embodiments of the present disclosure have been described with reference to specific example embodiments thereof. It will be evident that various modifications may be made thereto without departing from the spirit and scope of the present disclosure as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

[0250] Throughout the description, some embodiments of the present disclosure have been presented through flow diagrams. It should be appreciated that the order of transactions and transactions described in these flow diagrams are only intended for illustrative purposes and not intended as a limitation of the present disclosure. One having ordinary skill in the art would recognize that variations can be made to the flow diagrams without departing from the spirit and scope of the present disclosure as set forth in the following claims.

Claims

CLAIMS:

1. An apparatus (1400) for managing network connectivity performance of a first wireless device (200), comprising: an operating system (740); a modem entity (710); and a network connectivity module (730) comprising processing circuitry, the network connectivity module configured to: obtain network configuration data associated with the first wireless device, wherein the network configuration data comprises information about one or more network configurations, each network configuration representing a configuration of one or more transceivers, wherein the one or more network configurations are associated with the modem entity; and determine available network capability data associated with the modem entity based at least on the obtained network configuration data.

2. The apparatus of claim 1, wherein the network connectivity module is further configured to expose all or a part of the available network capability data to at least one of the operating system and a software application based at least on the one or more network configurations that can be configured by a modem device driver (720) associated with the modem entity.

3. The apparatus of claim 1, wherein the operating system is configured to: detect an event, the event comprising a software application being installed, changing a state, or being executed on the operating system; and in response to detecting the event: extract a network reliability requirement of the software application; and obtain information indicating whether the network reliability requirement can be fulfilled by any of the one or more network configurations.

4. The apparatus of claim 3, wherein the operating system is further configured to: access a mapping table comprising at least one network configuration mapped to one or more respective software applications; and identify a network configuration mapped to the network reliability requirement of thesoftware application.

5. The apparatus of claim 3, wherein the network connectivity module is further configured to: determine whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicate a network configuration selection associated with the network reliability requirement to at least one modem entity.

6. The apparatus of claim 5, wherein the network configuration selection is communicated using a modem device driver.

7. The apparatus of any of claims 5-6, wherein the network configuration selection configures or reconfigures at least a portion of one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application.

8. The apparatus of any of claims 5-7, wherein the network connectivity module is further configured to receive an acknowledgment message indicating that the network configuration selection is communicated.

9. The apparatus of any of claims 7-8, wherein configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application comprises applying one or more of a modem baseband configuration, and allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application.

10. The apparatus of claim 5, wherein the network connectivity module is further configured to: in response to determining that any of the one or more network configurations cannotsupport the network reliability requirement of the software application and other software applications installed on the operating system: communicate, to the operating system, an alert message indicating that the network reliability requirement of the software application cannot be supported by the available network capability data.

11. The apparatus of claim 1, wherein the network connectivity module is further configured to: obtain network reliability requirement of a software application being installed on the operating system; determine, based at least on the obtained network reliability requirement, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: determine an instruction on how to configure the modem entity according to the network reliability requirement of the software application and other software applications installed on the operating system, wherein said network reliability requirement of the software application and other software applications installed on the operating system comprises current network reliability requirements of the software application and the other software applications; and communicate the instruction to a modem entity.

12. The apparatus of claim 11, wherein the modem device driver is configured to: configure or reconfigure the modem entity according to the instruction; receive an acknowledgment message indicating that the instruction has been received; and communicate the acknowledgment message to the operating system.

13. The apparatus of claim 11, wherein the network reliability requirement comprises a first network reliability requirement extracted by the operating system from the software application.

14. The apparatus of claim 11, wherein the network reliability requirement is associated with a network configuration information obtained from a second wireless device (760), the network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

15. The apparatus of claim 3, wherein the network connectivity module is further configured to: obtain, from a second wireless device, a network configuration information, wherein the network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location; determine a location of the first wireless device; determine, based at least on the extracted network reliability requirement, the network configuration information, and the location of the first wireless device, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicate an instruction indicating to select the network configuration to a modem entity.

16. The apparatus of claim 15, wherein the communication is performed via a modem device driver.

17. The apparatus of any of claims 15-16, wherein the network configuration selection: configures or reconfigures the modem entity according to the instruction.

18. The apparatus of any of claims 15-17, wherein the network connectivity module is further configured to receive an acknowledgment message indicating that the instruction indicating to select the network configuration is received; and communicate the acknowledgment message to the operating system.

19. The apparatus of claim 1, wherein the available network capability data comprises at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous radio access technologies (RATs) or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; or information associated with radio conditions at various locations.

20. The apparatus of claim 1, wherein the network connectivity module is further configured to: receive a request for a particular network reliability requirement from a software application; and in response to receiving the request: determine whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicate an instruction indicating to select the network configuration to the modem entity.

21. The apparatus of Claim 20, wherein the communication is performed via a modem device driver.

22. The apparatus of claim 3, wherein the network connectivity module is further configured to: access a mapping table comprising at least one network configuration mapped to one or more respective software applications; andidentify a network configuration mapped to a combination of the network reliability requirement of the software application and the network reliability requirement of other software applications on the operating system.

23. The apparatus of claim 3, wherein the network connectivity module is further configured to: determine whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicate an instruction indicating to select the network configuration to a modem entity.

24. The apparatus of Claim 23, wherein the communication is performed via a modem device driver.

25. The apparatus of claim 4, wherein the mapping table is generated based at least on one or more network reliability requirements of one or more software applications.

26. A method for managing network connectivity performance of a first wireless device, comprising: obtaining (902), by a network connectivity module, network configuration data associated with the first wireless device, wherein the network configuration data comprises information about one or more network configurations, each network configuration representing a configuration of one or more transceivers, wherein the one or more network configurations are associated with a modem entity; and determining (904), by the network connectivity module, available network capability data associated with the modem entity based at least on the obtained network configuration data.

27. The method of claim 26, further comprising exposing (906), via the network connectivity module, all or a part of the available network capability data to at least one of anoperating system and a software application based at least on the one or more network configurations that can be configured by a modem device driver (720) associated with the modem entity (710).

28. The method of claim 26, further comprising: detecting (908), by an operating system, an event, the event comprising a software application being installed, changing a state, or being executed on the operating system; and in response to detecting the event: extracting (910), by the operating system, a network reliability requirement of the software application; and obtaining (912), by the operating system, information indicating whether the network reliability requirement can be fulfilled by any of the one or more network configurations.

29. The method of claim 28, further comprising: accessing (914), by the operating system, a mapping table comprising at least one network configuration mapped to one or more respective software applications; and identifying (916), by the operating system, a network configuration mapped to the network reliability requirement of the software application.

30. The method of claim 28, further comprising: determining (922) whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicating (924) a network configuration selection associated with the network reliability requirement to at least one modem entity.

31. The method of claim 30, wherein the network configuration selection is communicated using a modem device driver.

32. The method of any of claims 30-31, wherein the network configuration selection configures or reconfigures at least a portion of one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application.

33. The method of any of claims 30-32, further comprising receiving an acknowledgment message indicating that the network configuration selection is communicated.

34. The method of any one of claims 32-33, wherein configuring or reconfiguring at least the portion of the one or more radio access parameters associated with the modem entity according to the network reliability requirement of the software application comprises applying one or more of a modem baseband configuration, and allocating or reallocating at least a portion of the one or more transceivers to satisfy the network reliability requirement of the software application.

35. The method of claim 30, further comprising: in response to determining that any of the one or more network configurations cannot support the network reliability requirement of the software application and other software applications installed on the operating system: communicating (932), by the network connectivity module, to the operating system, an alert message indicating that the network reliability requirement of the software application cannot be supported by the available network capability data.

36. The method of claim 26, further comprising: obtaining (1008), by the network connectivity module, network reliability requirement of a software application being installed on an operating system; determining (1010), by the network connectivity module, based at least on the obtained network reliability requirement, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: determining (1012), by the network connectivity module, an instruction on how to configure the modem entity according to the network reliability requirement of thesoftware application and other software applications installed on the operating system, wherein said network reliability requirement of the software application and other software applications installed on the operating system comprises current network reliability requirements of the software application and the other software applications; and communicating (1014) the instruction to a modem entity.

37. The method of claim 36, further comprising: configuring or reconfiguring (1016) the modem entity according to the instruction; receiving (1018) an acknowledgment message indicating that the instruction has been received; and communicating (1020) the acknowledgment message to the operating system.

38. The method of claim 36, wherein the network reliability requirement comprises a first network reliability requirement extracted by the operating system from the software application.

39. The method of claim 36, wherein the network reliability requirement is associated with a network configuration information obtained from a second wireless device (760), the network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location.

40. The method of claim 28, further comprising: obtaining (1114), by the network connectivity module, from a second wireless device, a network configuration information, wherein the network configuration information comprises a particular network configuration or at least one network parameter used by the second wireless device to support the software application at a specific location; determining (1116), by the network connectivity module, a location of the first wireless device; determining (1118), by the network connectivity module, based at least on the extracted network reliability requirement, the network configuration information, and the location of the first wireless device, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; andin response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicating (1122), by the network connectivity module, an instruction indicating to select the network configuration to a modem entity.

41. The method of claim 40, wherein the communication is performed via a modem device driver.

42. The method of any one of claims 40-41, wherein the network configuration selection configures or reconfigures the modem entity according to the instruction.

43. The method of any of claims 40-42, further comprising: receiving (1120) an acknowledgment message indicating that the instruction indicating to select the network configuration has been received; and communicating (1122) the acknowledgment message to the operating system.

44. The method of claim 26, wherein the available network capability data comprises at least one of: information indicative of one or more available communication reliability operation modes; information indicative of a radio link robustness configuration, comprising a first configuration for operating the modem entity with multiple simultaneous radio access technologies (RATs) or a second configuration for using multiple radio links within one RAT; information associated with one or more expected radio performance metrics, comprising wireless data latency, wireless communication data throughput, or data error rate; or information associated with radio conditions at various locations.

45. The method of claim 26, further comprising: receiving (1208), by the network connectivity module, a request for a particular network reliability requirement from a software application; and in response to receiving the request: determining (1210), by the network connectivity module, whether any of the oneor more network configurations can support the network reliability requirement of the software application and other software applications installed on an operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicating (1214), by the network connectivity module, an instruction indicating to select the network configuration to the modem entity.

46. The method of Claim 45, wherein the communication is performed via a modem device driver.

47. The method of claim 28, further comprising: accessing (1310), by the network connectivity module, a mapping table comprising at least one network configuration mapped to one or more respective software applications; and identifying (1312), by the network connectivity module, a network configuration mapped to a combination of the network reliability requirement of the software application and the network reliability requirement of other software applications on the operating system.

48. The method of claim 28, further comprising: determining (1316), by the network connectivity module, whether any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system; and in response to determining that any of the one or more network configurations can support the network reliability requirement of the software application and other software applications installed on the operating system: communicating (1320) an instruction indicating to select the network configuration to a modem entity.

49. The method of Claim 48, wherein the communication is performed via a modem device driver.

50. The method of claim 29, wherein the mapping table is generated based at least on one or more network reliability requirements of one or more software applications.

Citation Information

Patent Citations

  • Diagnostic monitoring by a wireless device

    WO2009067509A2

  • Media profiles for configuring a transceiver within a modem

    WO2014041392A1