Systems and methods for allocating services in limited resource scenarios

The client-server model in wireless communication networks optimizes service allocation by providing detailed service information, enabling server nodes to select optimized service subsets based on available resources and dependencies, addressing inefficiencies in existing full acceptance/rejection methods.

WO2025227418A1PCT designated stage Publication Date: 2025-11-06TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/091076
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-03
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

In existing wireless communication networks, components requesting services and transport network controllers lack detailed service and resource information, leading to full acceptance or rejection of service requests without considering alternatives, resulting in inefficient resource management.

Method used

A client-server model is implemented where client nodes provide detailed service information, allowing server nodes to respond with rejection, acceptance, partial acceptance, or information for reformulating requests, enabling optimized service subset selection based on available resources and dependencies.

Benefits of technology

This approach enables efficient allocation and traffic management by allowing server nodes to select optimized service subsets, reducing repeated attempts and maximizing acceptance probabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024091076_06112025_PF_FP_ABST
    Figure CN2024091076_06112025_PF_FP_ABST
Patent Text Reader

Abstract

Systems and method are described for efficiently allocating services in limited resource scenarios. For example, in response to receipt of a first request message indicating a first plurality of services and first resource requirements associated with the first plurality of services from a first node, a transport network controller is to determine a set of resources needed to admit the first plurality of services to the transport network based, at least in part, on the first resource requirements associated with the first plurality of services. When the set of resources cannot be allocated from the set of available resources, then either the transport network controller or the first node are to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services based on information related to the set of available resources.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR ALLOCATING SERVICES IN LIMITED RESOURCE SCENARIOSTECHNICAL FIELD

[0001] Embodiments of the invention relate to the field of computer systems; and more specifically, to systems and methods for allocating services in limited resource scenarios.BACKGROUND

[0002] In a typical wireless communication network, wireless devices, also known as wireless communication devices, mobile stations, stations (STA) and / or user equipment (UE) , communicate via a Radio Access Network (RAN) to one or more core networks (CN) . Each RAN covers a geographical area which is divided into service areas or cell areas, which may also be referred to as a beam or a beam group, with each service area or cell area being served by a radio access node, e.g., a Wi-Fi access point or a radio base station (RBS) , which in some networks may also be denoted, for example, a “NodeB, ” “eNodeB, ” “gNB, ” or Base Transceiver Station (BTS) , depending on the technology and terminology used. A service area or cell area is a geographical area where radio coverage is provided by the radio access node, which communicates over an air interface operating on radio frequencies.

[0003] A gNB includes a RAN with at least one radio unit (RU) coupled to an antenna array to establish wireless channels with UEs. The RU is also coupled to at least one distributed unit (DU) via a fronthaul transport network using eCPRI (evolved Common Public Radio Interface) . In these implementations, the fronthaul transport network is sometimes referred to as the lower layer split (LLS) to indicate the functional split between the DUs and RUs, which can be a Layer 1 (physical layer) split between a high-PHY in the DU and a low-PHY in the RU (e.g., allowing RUs with native eCPRI to implement lower PHY functions) .

[0004] The DU, in turn, connects to at least one centralized unit (CU) over another transport network, sometimes referred to as a midhaul. In some implementations, the midhaul includes separate high layer split (HLS) channels for control signaling (with a CU-CP unit) and user data (with a CU-UP unit) . In other implementations, there is a single channel between the DU and CU. The CU communicates with the core network over a backhaul transport network.

[0005] Each of the transport networks relied on by the RANs, CUs, and core network includes a controller to manage network access, responding to service requests from the respective RAN, CU, and core network to provide connectivity using the appropriate protocols. From the  perspective of a client-server model, the components of the gNB and core network requesting transport network services are client nodes and the transport network controllers are server nodes.

[0006] In existing implementations, however, the components of the wireless communication network which request services and the transport network controllers which admit services do not have sufficiently detailed service information and / or associated resource information needed to determine alternatives if the available resources on the transport network are insufficient to satisfy a service request. As such, requests are either accepted in full if sufficient resources are available or rejected in full if resources are insufficient, without consideration of alternatives.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:

[0008] Figure 1 illustrates an example embodiment in which a client node sends a request for network services to a server node, which generates a response.

[0009] Figure 2A illustrates one embodiment in which transport network controllers allocate services on transport networks.

[0010] Figure 2B illustrates an embodiment in which the transport network controllers are integral to a central a service management controller.

[0011] Figure 3 illustrates an embodiment in which transport network controllers are integrated within components of a each respective access network to manage corresponding services.

[0012] Figure 4A illustrates a method in which an alternate service subset and / or service parameters are determined by a client node or a server node.

[0013] Figure 4B illustrates a method in which an alternate service subset and / or service parameters are selected by a server node in accordance with some embodiments.

[0014] Figure 4C illustrates a method in which an alternate service subset and / or service parameters are selected by a client node in accordance with some embodiments.

[0015] Figure 5 illustrates a dependency of a first service on a second service.

[0016] Figure 6 illustrates a co-dependency between a first service and a second service.

[0017] Figure 7 illustrates a dependency of a first service on a second service and a dependency of the second service on a third service.

[0018] Figure 8 illustrates dependencies of a first service on a second service and a third service.

[0019] Figure 9 illustrates a first service and a second service both dependent on a third service.

[0020] Figure 10 illustrates three services assigned three respective priorities.

[0021] Figure 11 illustrates one embodiment of an access network with a plurality of network nodes and a core network with core network node.

[0022] Figure 12 illustrates one example of a user equipment (UE) device.

[0023] Figure 13 illustrates one example of a network node.

[0024] Figure 14 illustrates an example of a virtualization environment including a plurality of virtual machines.

[0025] Figure 15 illustrates an example embodiment including a UE connecting to a host via a network node.DETAILED DESCRIPTION

[0026] Embodiments of this disclosure operate in accordance with a client-server model in which a client node sends a message requesting transport network services to a server node and the server node responds with a response message indicating an acceptance, rejection or partial acceptance. As used herein, a “node” may be a function, a logical or physical entity, or an independent subsystem. A “client node” is the node which requests transport network services and the “server node, ” sometimes implemented as a transport network controller, is the node which admits the transport network services or rejects the request. In some embodiments, the client node is aware of the services and service characteristics that are supported by a set of transport network resources controlled by the server node, which manages the set of transport network resources and determines which services should be admitted by allocating resources to them. In some embodiments, in response to a client node request for admission of services, the server node responds with a message indicating: (i) a rejection of the request (e.g., if insufficient resources are available) , (ii) an acceptance of the request (e.g., if all required resources are available) , (iii) a partial acceptance of the request (e.g., indicating an alternative set of services and / or alternative resource allocations for servicing the request) , or (iv) information related to the available set of transport network resources which can be used by the client node to formulate a second request message. In some implementations described herein, both (i) the rejection of the request, and (iv) the information related to the available set of transport network resources are provided in a single response message to the client node. In other implementations, (i) the rejection of the request and (iv) the information related to the available set of transport network resources are sent in separate response messages to the client node.

[0027] In some embodiments, a Radio Access Network (RAN) node or component thereof (such as a radio unit and / or a distributed unit) is the client node, which requests connectivity services from a transport network controller (the server node) . In these embodiments, the transport network controller communicates with the RAN node to manage how specific services, which consume certain resources and which translate into traffic flows, are to be allocated to the RAN and served over the transport network.

[0028] As mentioned, in existing implementations, the nodes which request services and the transport network controllers which admit services do not have sufficiently detailed service information and / or associated resource information needed to determine alternatives if the available resources on a given transport network are insufficient to satisfy a service request. As such, requests are either accepted in full if sufficient resources are available or rejected in full if resources are insufficient, without consideration of alternatives. In these implementations, the nodes requesting the services may be the only entities with access to full service information (e.g., required parameter ranges, service dependencies, service priorities, etc) , while the nodes allocating the services, such as the transport network controllers for the various transport networks, may be the only entities with access to the complete resource information (e.g., available bandwidth capacity, current latency conditions, and current error rates associated with the transport network or specific paths across the transport network) . The service requests transmitted and corresponding responses do not provide the additional information needed to make complex decisions related to service allocations (e.g., such as a partial, modified, or conditional acceptance including allocations of alternate services / resources for servicing the corresponding request) .

[0029] Thus, where the transport network in question is between different parts of a RAN infrastructure (e.g., such as the fronthaul transport network) , the transport network controller does not have visibility into the detailed service characteristics and traffic requirements such as relationships between services and parameter ranges, which would be needed to appropriately manage the transport network resources when performing allocations of resources to such services. The lack of availability of such information prevents the efficient allocation and traffic management of specific services. It is therefore not possible using existing techniques, to manage admissions of services in a manner which can adapt to the dynamic constraints of the transport network.

[0030] Embodiments of the invention provide various technical advantages over these prior implementations. In accordance with these embodiments, a client node requests connectivity services from a server node, which has access to the relevant service / resource information needed to respond with a message indicating: a rejection of the request (e.g., if insufficient  resources are available) , an acceptance of the request (e.g., if all required resources are available) , a partial acceptance of the request (e.g., indicating an alternative set of services and / or alternative resource allocations for servicing the request) , or information related to the available set of transport network resources which can be used by the client node to formulate a second request message. For example, in some implementations described herein, a message indicating a partial acceptance of the request indicates an alternative subset of services and / or alternative resource allocations for servicing the request. Alternatively, or additionally, the message sent by the server node may include information which the client node can use to identify the alternative subset of services and / or resource allocations (e.g., information related to the available set of resources on the transport network) . Additional details associated with each of these embodiments are provided below.

[0031] In some embodiments, the service request message sent by the client node indicates not only a list of services but also includes service information (e.g., acceptable parameter ranges, dependencies between services, service priorities, etc) to allow the server node to autonomously determine a service subset to be admitted and served by allocation of available resources (assuming the available resources are insufficient to fulfill the full request) . If the server node is not able to admit and serve all services according to their nominal requirements, then a subset of services may still be admitted if they will be useful for the client node. For example, if a first service depends on a second service, and the second service cannot be admitted, then it would be inefficient to admit the first service (which would only waste system resources while running) . If a space of alternative subsets exist, the service information included in the request message allows the server node to maximize the subset value with optimization techniques as described herein. Alternatively, or additionally, if the server node cannot serve all requested services according to their requirements, then the server node may reject the entire request and reply to the client node with information outlining the reason of the admission failure and / or detailed information related to resource availability. This allows the client node to reformulate a service request in accordance to the information, which will have a significantly increased likelihood of being accepted given that it was formulated in view of the resource availability.

[0032] By providing service structuring information in the client node request message, a server node can perform the selection of a useful and optimized subset of services / resources when limited resources are available to satisfy the full request. This avoids the need for repeated attempts, providing an efficient and useful response to the client node’s request. In addition, by providing information related to the cause of a service admission rejection, the client node is able to re-formulate a service admission request in accordance with the status of the server (e.g.,  the services / resources which are available) , hence maximizing the chances of the request being accepted.

[0033] Figure 1 illustrates an example embodiment including a client node 101 and a server node 100. In some embodiments described herein, the client node 101 and server node 100 are integral to a telecommunications network infrastructure. Service allocation logic 110 of the server node 100 determines whether a service request message 190 from the client node can be fulfilled and sends a response message 191 indicating an acceptance, a rejection, a partial acceptance, or information which the client node 101 can use to reformulate an alternate service request message 192. In some embodiments, a resource monitor 115 tracks current allocations of resources 136A-C to services 126A-C on the transport network and provides the service allocation logic 110 with an indication of the current resource availability 114. The service allocation logic 110 can then use this information to determine whether to transmit an acceptance, rejection, partial acceptance, or additional information in the response message 191 as described herein.

[0034] If the response message 191 indicates an acceptance, then one or more requested services 126A-C are admitted to the transport network and corresponding resources 136A-C are allocated for the services. The client node 101 may then use the services for accessing the transport network. In the case of a rejection, the client node 101 is not provided with access to the requested services, but the response message 191 may include an indication of the reasons for the rejection (e.g., due to a lack of resources, problems on the transport network, etc) . In the case of a partial acceptance, the response message 191 may indicate an alternative subset of services and / or resources for servicing the request, selected by the service allocation logic 110 based on the service / resource availability data 114. In some cases, the service allocation logic 110 does not identify the alternative subset of services and / or resources, but provides information in the response message 191 related to available resources, which the client node 101 can use to identify an alternative subset of services and / or resources. Once the client node 101 identifies the alternative subset, it transmits an alternate service request message 192 indicating the modified service / resource selections which the service allocation logic 110 can then accept (or reject if resource conditions have changed between the time of sending the response message 191 and receiving the alternate service request message 192) .

[0035] As mentioned, in one particular embodiment, a RAN controller (the client node) requests connectivity services from a packet switched transport network controller (the server node) . When determining if a request for services can be fulfilled, the transport network controller may evaluate characteristics and requirements of the requested services, the associated resources, and relationships between the services to identify the resources required and how the  service allocation translates into traffic flows. When some of the services cannot be allocated as requested (e.g., because of insufficient resources) , either the transport network controller or the RAN controller may determine a partial satisfaction of the request using a subset of the services based on the characteristics and requirements of the services and the availability of the corresponding resources. Thus, by understanding the characteristics of the services and relationships between services and resources, the server node 100 and / or the client node 101 can select a subset of services which (i) are consistent and include only useful components; (ii) are preferable to alternative subsets, in terms of both component value and resource cost; and (iii) can be allocated using the available resources.

[0036] Figure 2A illustrates an embodiment in which different transport network controllers 212, 222, and 232 are configured to manage service requests as described herein for different transport networks 215, 225, and 235, respectively, at different levels of a telecommunications network infrastructure to provide service to one or more UEs 290. In particular, transport network 215 comprises a fronthaul transport within a RAN 250, e.g., for traffic between a radio unit (RU) 210 and distributed unit (DU) 220; transport network 225, sometimes referred to as a midhaul transport, couples the DU 220 to a centralized unit (CU) 230, including a CU control component (CU-CP) 233 and a CU user data component (CU-UP) 234; and transport network 235 is a backhaul transport between the CU 230 and the core network 240. In this embodiment, each level of the network infrastructure may include a controller operating as a client node to transmit service requests as described herein to a corresponding transport network controller. For example, the RAN 250 transmits requests to transport network controller 212 for services on transport network 215, the RAN 250 and / or CU 230 transmit service requests to transport network controller 222 for services on transport network 225, and the CU 230 and / or core network 240 transmit requests to transport network controller 232 for services on transport network 235. Although not illustrated for simplicity, in some embodiments, each level of the network infrastructure includes a dedicated controller for transmitting the request messages to the respective transport network controller and processing the corresponding response messages (e.g., a dedicated transport network controller or agent to request services on behalf of its respective network infrastructure level) .

[0037] Figure 2B illustrates an embodiment in which the individual transport network controllers 262, 264, and 266 are integrated within a central service management controller 260 which manages traffic across all transport networks of the network infrastructure. One benefit of this embodiment is that service allocation decisions for a given transport network can be made in view of current conditions across the entire network infrastructure (e.g., including conditions on other transport networks) . For example, even though the resources for a particular service may  be available on a first transport network (e.g., 215) , the resources needed on one or more of the other transport networks (225 and / or 235) to support the service may not be available. As such, one or more alternate service options may be provided as described herein.

[0038] Figure 3 illustrates an embodiment in which the client nodes requesting services and the server nodes providing the services are integrated within components of the network infrastructure. For example, the RU 210 transmits request messages and receives response messages from a transport network controller 314 integral to or coupled to the DU 220 (or other component of the RAN 250) to request / allocate services over the fronthaul transport network 215; similarly, the DU 220 (or other RAN component) transmits request messages and receives response messages from transport network controllers 322 and 324 associated with the CU-CP 233 and CU-UP 234, respectively, to request / allocate services over a second transport network 225; and the CU 230 transmits request messages and receives response messages from a transport network controller 332 integral to or coupled to the core network 240 to request / allocate services over the backhaul transport network 235. Note that the various transport network controllers may be configured differently than as shown in Figure 3. For example, in some implementations, a single transport network controller may be configured in the CU 230 to perform the functions of the two illustrated transport network controllers 322 and 324.

[0039] While specific configurations are illustrated in Figures 2A-B and 3, the underlying principles described herein may be used to regulate access to services on any transport network at any level of a network infrastructure.

[0040] Examples are provided below for implementations in which an alternative service subset and / or alternative resource allocations are selected by the client node 101 and implementations in which the service subset is selected by the server node 100. The client nodes and / or server nodes referenced below may be the various controllers described above, but are not limited to this particular implementation.

[0041] Service subset selected by client node

[0042] As described briefly above, the server node 100 may reject the initial service request message 190 and send information to the client node 101 in the response message 191 (or in a separate, subsequent response message) . Such information may include, by way of example and not limitation, indications of current resource availability, congestion or overload of resources in the transport network or a different transport network, failures in one or more parts of the network infrastructure, and / or associating specific resources to the specific type (s) of service (s) requested.

[0043] The information related to resource availability can include, for example, indications of one or more of the following:

[0044] · available bit per second capability in the overall network,

[0045] · available bit per second capability per subsets of the network such as per possible network paths,

[0046] · available bit per second capability per service type,

[0047] · available bit per second capability per queue or per resource partition within the network,

[0048] · achievable maximum packet delay in the overall network,

[0049] · achievable maximum packet delay per subsets of the network such as per possible network paths,

[0050] · achievable maximum packet delay per service type,

[0051] · achievable maximum packet delay per queue or per resource partition within the network,

[0052] · achievable maximum packet delay jitter in the overall network,

[0053] · achievable maximum packet delay jitter per subsets of the network such as per possible network paths,

[0054] · achievable maximum packet delay jitter per service type,

[0055] · achievable maximum packet delay jitter per queue or per resource partition within the network,

[0056] · achievable maximum packet error rate in the overall network,

[0057] · achievable maximum packet error rate per subsets of the network such as per possible network paths,

[0058] · achievable maximum packet error rate per service type, and

[0059] · achievable maximum packet error rate per queue or per resource partition within the network.

[0060] With the above information (or portions thereof) the client node 101 can determine that the characteristics and requirements of the services initially requested to be admitted are not compatible with the status of the transport network and can derive a new service admission formulation, where the characteristics and requirements for the services to be admitted are compatible with the status and resource availability of the transport network. Once formulated, the client node 101 transmits an alternate service request message 192 potentially indicating a different set of services and / or including previously requested services but with reduced resource consumption attributes and therefore a higher admission probability. Thus, in this embodiment, the response message 191 or a subsequent message sent by the server node 100 provides to the  client node 101 the resource information needed to formulate a new service request with a higher acceptance probability.

[0061] Service subset selected by server

[0062] As mentioned, in some embodiments, in response to the initial service request message 190 sent by the client node 101, the response message 191 transmitted by server node 100 may be a partial acceptance message which indicates a partial satisfaction of the service request and / or alternate service options. The partial acceptance message may, for example, indicate an alternate set of services, potentially including a subset of the services in the request message 190, which can be admitted and corresponding service parameters. In order for the server node 100 to identify the alternate set of services, the initial service request message 190 includes additional information related to the services requested to allow the most efficient or logical selection of the alternate set of services by the server node 100.

[0063] To enable the server node 100 to identify the alternate set of services for admission, the services may be characterized in the initial service request message 190 with one or more of: a service priority, service dependencies, service requirement parameter ranges, service groups, priorities for service dependencies, group dependencies, and a service value function, each of which is described directly below. In addition, the initial service request message 190 may indicate parameters associated with the services, such as minimum and maximum acceptable bandwidth, latency, and / or error rate values.

[0064] A service priority, if specified in the service request message 190, may be indicated by a metric (e.g., a numerical value) defining how important the service is in comparison to other services. This metric allows the server node 100 to factor in the relative priorities of services when determining an appropriate partial acceptance message to be sent as response message 191.

[0065] Service dependencies may be indicated when the successful operation of a particular service depends on the successful operation of one or more other services. In this case, the particular service is dependent on the one or more other services. This information allows the server node to avoid providing a service that depends on another service that cannot itself be provided (e.g., due to resource constraints) .

[0066] Service requirement parameter ranges may be indicated for service parameters that have an impact on the amount of resources needed to meet the requirements of the corresponding service. Such parameter ranges may be associated with different service characteristics, such as packet delay, packet delay variation, and service data rate, and can range from a preferred or maximum value (e.g., requiring a maximum allocation of resources) , down  to a minimal acceptable value (e.g., requiring a minimum allocation of resources) , below which the service is no longer considered usable.

[0067] Service groups may be specified by indicating logical groupings of different services. A service group may be complemented by attributes indicating whether all services in the group must be admitted according to their requirements in order for all services in the group to function properly, or whether certain services in the group are not required for the other services to function properly. The latter case is related to the “Priority for Service Dependencies” attribute described below. Within a service group, requirement parameters may be specified at the group level, to allow the definition of service groups requiring, e.g., a minimal amount of services or resources. For a service group in which all services should be served as a whole, this requirement may be specified in requirement parameters / attributes which instruct the server node to avoid serving only portions of the services in the group, which would lead to resource wastage.

[0068] Priorities for service dependencies may be indicated to specify a relative priority for each service in a group with respect to all other services in the group with which there is a dependency relationship. This characterization can also be seen in combination with service grouping. Namely, all services that interdepend with each other (i.e. services whose correct functioning requires the correct functioning of other services, or services that need to function correctly to allow other services to properly function) can be grouped together and optionally they can be assigned a group priority. Within such a group, services can receive relative priority scores that enable the server to understand the importance of each service within the context of the group. The server can, therefore, decide, for example, to not admit some of the low priority services within a group, assuming that the high priority services can work correctly if admitted.

[0069] Group dependencies may be defined in a similar manner to service dependencies. For example, a group dependency indication may specify that a service is dependent on a particular service group or may specify that a service group is dependent on another service group. In these examples, the successful operation of the service or group depends on the successful operation of a defined group of other services, possibly with group parameters indicating required limits for the service group.

[0070] A service value function used in some embodiments is an objective function which provides an optimization calculation with the goal of maximizing the value associated with the admitted services. Additional details of a service value function are provided further below.

[0071] When the client node 101 sends a request message 190 to the server node 100 with one or more of the service characterizations described above along with the list of services being requested, the server node can make an informed and potentially optimal decision regarding  which services to admit and which resources 136A-C to allocate to each service 126A-C, based on the specified characterizations of each service. In some embodiments, the server node 100 sends the response message 191 to the client node indicating the result of the admission, including the admitted services and / or corresponding resource allocations. In one embodiment, the response message 191 may include a list of services admitted and / or a list of services that failed to be admitted; and for each service that was not admitted, information related to the cause of failure of admission and / or the corresponding resource status. This information can include, for example, an indication of specific resources that are overloaded or operating near maximum load, failures in one or more parts of the network infrastructure, and / or insufficient resources for the requested service (s) .

[0072] For each service to which the client node 101 was admitted, information concerning whether each service requirement was fulfilled in full or not may be included in the response message or a subsequent message. If requirements were not fulfilled in full, information may be included in the response message 191 (sometimes referred to as a partial acceptance message) to quantify how the service requirements were fulfilled. For example, if a service was requested at a given bit rate, a given packet delay and a given delay variation, and if this service was not granted these requested parameters, then the response message 191 or a subsequent message may indicate the granted bit rate, packet delay and delay variation for the service. In one embodiment, services that have been admitted and to which the full required resources were granted, need not be explicitly listed in the response message 191 or subsequent message.

[0073] The examples provided below focus on an implementation in which a service request message 190 to admit specific services with specific service requirements, signaled by the client node 101 to the server node 100 in a first message, is partially accepted by the server node 100, and the response message 191 indicates details associated with the partial acceptance (e.g., specific services, parameters, resources, etc, admitted to the client node 101) . In some embodiments, the request message 190 is generated by a client function of the client node 101 and processed by a server function of the server node 100. The service request message 190 generated by the client node 101 may include a service description including one or more service parameters. For example, in a telecommunication connectivity request, a first service parameter indicate the requested connectivity bandwidth and a second service parameter can indicate a maximum permitted error rate.

[0074] Figure 4A illustrates a method in accordance with an embodiment in which either the client node or the server node selects an alternate service subset and / or alternate service parameters if a service request from the client node cannot be accepted in full.

[0075] At 401, a first request message is received from the first node requesting a first plurality of services for admission to a transport network, the first request message indicating the first plurality of services and first resource requirements associated with the first plurality of services (e.g., desired bitrate, latency values, error rates, etc) and / or service characterizations (e.g., dependencies, priorities, etc) .

[0076] At 402, a set of resources are determined which are required to admit the first plurality of services to the transport network based, at least in part, on the first resource requirements associated with the first plurality of services. If the required resources can be allocated from the set of available resources, determined at 403, then at 405, a first response message is transmitted to the first node indicating that the first plurality of services are admitted to the transport network. If the required resources cannot be allocated from the set of available resources, then operation depends on whether the client node will determine alternatives, determined at 404. If so, then at 405, a second response message is transmitted to the first node with information related to the set of available resources which can be used by the first node to formulate a second request message based on the set of available resources.

[0077] If the first node does not determine alternatives, then at 406, the first plurality of services and the first resource requirements are evaluated (e.g., by the server node / transport network controller) in view of the set of available resources to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services to allow for admission to the transport network. In some embodiments described herein, a service value function is determined for each candidate service of a plurality of candidate services being considered. A group of the candidate services which maximize the sum of the value functions of individual services (i.e., a cumulative value function for the combination of the second plurality of services) are then selected to be the second plurality of services. In some embodiments, are selected to be the second plurality of services. Once the second plurality of services are identified, a third response message is then transmitted to the first node indicating the admission of the second plurality of services to the transport network.

[0078] Figure 4B illustrates a method in accordance with an embodiment in which the server node (e.g., a transport network controller) selects an alternate service subset and / or alternate service parameters if a service request from a client node cannot be accepted in full.

[0079] At 411, a service request message is generated by a client node of a telecommunications network infrastructure, the service request message requesting admission to one or more services and indicating corresponding service parameters (e.g., desired bitrate, latency values, error rates, etc) and / or service characterizations (e.g., dependencies, priorities, etc) . At 412, the server node evaluates the service request message in view of current service  and / or resource availability. If full admission to the requested services is possible, determined at 413, then at 417, a response message is sent to the client node indicating admission to the requested services and at 418, the client node accesses the services in accordance with the first request message.

[0080] If full admission is not possible at 413 (e.g., due to insufficient resources, congestion or overload on the transport network, failures in one or more parts of the transport network, insufficient resources for the type of service (s) requested) , then at 414, the server node evaluates the requested services and associated service parameters and / or other service characterizations in view of current resource availability to identify an alternate service subset and / or using alternate service parameters. To identify the alternate subset of services, the server node may perform its evaluation based on one or more service characteristics included in the request message (e.g., such as service priority, service dependencies, service requirement parameter ranges, service groups, priorities for service dependencies, group dependencies, and / or service value functions) . As mentioned, in some embodiments, the server node may determine a service value function for each candidate service of a plurality of candidate services being considered for the alternate subset of services and selects a subset of the plurality of candidate services which maximize the sum of the value functions of individual services (i.e., a cumulative value function for the combination of the second plurality of services) . In some embodiments, the value function for each service may be determined based on one or more of the service characteristics described herein including, but not limited to, service priority, service dependencies, service parameter ranges (e.g., bandwidth ranges, latency ranges, error rate ranges, etc) , service groupings, priorities for service dependencies, and group dependencies.

[0081] Based on its analysis, at 415, the server node transmits a response message indicating admission to the alternate service subset and / or using alternate service parameters and at 416 the client node accesses the services in accordance with the response message (e.g., using the alternate service subset and / or alternate service parameters) .

[0082] Figure 4C illustrates a method in accordance with an embodiment in which the client node selects an alternate service subset and / or alternate service parameters if a service request from a client node cannot be accepted in full.

[0083] At 421, a first service request message is generated by a client node of a telecommunications network infrastructure, the first service request message requesting admission to one or more services and indicating corresponding service parameters and / or service characterizations. At 422, the server node evaluates the service request message in view of current resource availability. If full admission to the requested services is possible, determined at 423, then at 427, a response message is sent to the client node indicating  admission to the requested services and at 428 the client node accesses the services in accordance with the first request message.

[0084] If full admission is not possible at 423 (e.g., due to insufficient resources, congestion or overload on the transport network, failures in one or more parts of the transport network, insufficient resources for the type of service (s) requested) , then at 424, the server node transmits a response message indicating a rejection of the service request message and also indicating information related to the rejection, which the client node can use to formulate a subsequent service request message. For example, the information related to the rejection may include resource information, such as the available bandwidth (e.g., in bits / second) , packet delay values, and / or error rates which may be provided for the overall network, for each service type, for certain network paths, and / or per queue or resource partition.

[0085] At 425, the client node evaluates the information related to the rejection to identify an alternate service subset and / or service parameters to be included in a second service request message transmitted to server node. Once the second service request is received, the process returns to 423, but with a significantly greater likelihood of acceptance because of the evaluation by the client node 101 of the information related to the initial rejection.

[0086] Different services and different service parameters (e.g., requested data rate, requested packet error rate, etc. ) generally require different types and amounts of resources within the transport network. For example, a service with a higher bandwidth consumes a higher share of the transport network capacity, leaving less room for additional services. Given two similar connectivity services with different bandwidth requirements, the available resources may be sufficient to accommodate only the service with the lower bandwidth requirement. As previously mentioned, services may be structured and organized in accordance with one or more of the following parameters, examples of which are described below in greater detail:

[0087] · Service priority

[0088] · Service dependencies

[0089] · Service requirement parameter ranges

[0090] · Service groups

[0091] · Priorities for Service dependencies

[0092] · Group dependencies

[0093] · Service value function

[0094] Service priority

[0095] A service may be assigned an absolute priority value and, in cases of limited resources, the services with lower priorities may be discarded first (unless a different result is dictated based on dependencies between services or other variables described below) . A service priority  may be implemented as an integer value, e.g., from a value of “0” (lowest priority) to a value of “15” .

[0096] Service dependencies

[0097] Services may depend on other services. If the proper functioning of service A depends on the proper functioning of service B and if service B cannot be admitted due to lack of resources, then serving service A would be a waste, since, due to the dependency, service A will be unusable. In this case, the server may decide to reject service A as well.

[0098] Figure 5 illustrates a dependency in which a first service, service A, depends on a second service, service B. The expected server node 100 decision in response to a service request message from a client node 101 is therefore not to serve service A if service B cannot also be served. The server node 100 could admit and serve service B but not admitting service A. This would still enable service B to properly function, assuming that the functioning of service B without service A is useful to the client. In some embodiments, the service request message sent by the client node 101 indicates whether admitting only service B would be useful.

[0099] Figure 6 illustrates a mutual dependency between service A and service B, which depend on each other. That is, service A depends on service B and service B depends on service A. Knowing of such mutual dependency, the expected server node 100 decision is to serve either both or none of service A and service B.

[0100] Figure 7 illustrates a chained dependency in which service A depends on service B, which depends on service C. The expected server node 100 decision is consistent with a two service dependency –i.e., do not serve service A if service B is not served, which in turn shall not be served if service C is not served. The server node 100 could admit and serve services B and C and not admit service A (assuming the service request message from the client node 101 indicates that services B and C would be useful without service A) . Alternatively, the server node 100 can admit and serve service C and not admit services B and A (assuming again that the request message indicates that this would be a useful allocation) . This would still enable service C to properly function, assuming that the functioning of service C without service A or without services A and B is useful to the client node 101.

[0101] Figure 8 illustrates a double dependency in which a first service depends on two or more other services. In this case, service A depends on services B and C. The expected server node 100 decision is not to serve service A if services B and C cannot be both served. The server node 100 could admit and serve Service B or C or both but not admitting Service A. This would still enable service B and / or service C to properly function, assuming that the functioning of service B and / or service C without service A would be useful to the client node 101 (e.g., as indicated in the corresponding service request message 190) .

[0102] Figure 9 illustrates an example double dependency in which multiple services are dependent on the same other service. In this case, services B and C both depend on service A. If service A is served, but services B and C cannot be both served, one possible decision at the server node 100 could be to admit service A and not admit Service B and / or C. This would still enable Service A to properly function, assuming that the functioning of service A without Service B and / or C is useful to the client (e.g., which may be indicated in the corresponding service request message 190) . A possible behavior at the server node 100 is not to admit and serve services B and C if service A is not admitted and served.

[0103] Up to this point, the illustrated dependency structures have not provided additional information (beyond dependencies) . When only a subset of services can be admitted (e.g., due to resource constraints) , the server node 100 may evaluate other service parameters such as priority, or it can make an arbitrary decision (e.g., randomly select the service subset) .

[0104] Relationship between priority and dependency

[0105] In some implementations, the dependency structure and the priority assignment are independent, complement each other, and may provide only partial information needed to determine the subset of services to be served. In various embodiments, priority and dependency parameters can be independently assigned. However, in case of a contradiction, a dependency is a stronger indication of which service must take precedence.

[0106] Figure 10 illustrates an example in which priority and dependency information are combined for three services. Service B (priority 5) depends on service A (priority 3) and no dependencies are specified for service C (priority 4) . If there are resources for only one service, service B would have highest priority, but cannot be satisfied as it would also need service A to be present. Among the “self-standing” services, service A and service C, service C has the highest priority and could therefore be selected by the server node 100.

[0107] If there are instead resources for two services, the pair service B and service A may be selected, as B has higher priority than C. If it is useful for the client node that service A is served without service B being served, the choice at the server node 100 could be to serve services B and A with top priority, service C with second priority and then, if possible, service A alone. As previously described, the client node 101 may indicate in the service request message 190 as to whether service A alone would be useful.

[0108] Parameter ranges

[0109] A service may have associated parameters, e.g., a bandwidth in a connectivity service. In the service request message 190, the parameters can be specified with a range between two values, where the highest value is the preferred one and the lowest is the minimum acceptable to make the service useful. By way of example, and not limitation, a connectivity service may be  requested with a possibly guaranteed 10 Mbps bandwidth, and a minimum acceptable guaranteed bandwidth of 2 Mbps. The server node 100 may be configured to provide the maximum available parameter in the specified range, depending on the current resource status. If the maximum requested value for the parameter cannot be provided, the server node 100 may provide the closest value to the maximum, given its current resource status. If the maximum possible is lower than the minimum declared by the client node 101 for the parameter, the service request may be rejected (e.g., including information related to the reasons for the rejection, which the client can use to reformulate a new request) .

[0110] For certain parameters, it is possible that a lower value is preferred. Without loss of generality, the range can be formally expressed in the same way by using a function of the parameter, e.g., the opposite or the reciprocal. For example, in a telecommunication connectivity application, the connectivity may allow a maximum error rate and a maximum delay. In this case, these paramters can be expressed with the opposites, Eneg and Dneg, so that the highest value is zero for both (ideally the best possible value, impossible in practice) and the minimum is the negative of the maximum, so that if the range for the error is between 0 and max, the parameter is transformed in the negative of the delay ranging between -max and 0. In some embodiments, these types of parameters may be mapped to a normalized numerical range which is consistent between parameter types (e.g., 0 to 15, where 15 is the best and 0 is the worst) .

[0111] Service groups

[0112] A set of services may be declared as group. In some embodiments, parameters can be assigned at the group level, possibly using parameter ranges as described herein. Alternatively, parameters can be individually assigned to each service in the group. When grouping services, at least two possible characterizations are possible. In one characterization, if a group parameter cannot be satisfied, or if any of the services cannot be satisfied according to its requested parameters, then the server node 100 will reject all the services in the group. In another characterization, if a group parameter cannot be satisfied, or if any of the services cannot be satisfied according to their requested parameters, the server node 100 may admit some services within the group and reject others (e.g., based on resource availability) . The latter characterization may be achieved through priorities for service dependencies as described below. A simple example is a group of N services where at least M must be satisfied, otherwise the group is useless. Fewer than M services should be all rejected. More complex group parameters may also be defined. For example, a group parameter may be defined as a function of the parameters of all its satisfied member services.

[0113] Priorities for Service dependencies

[0114] Services that are requested to be admitted and served by the server node 100 may depend on each other. At the same time, services may be organized in groups, where there are dependency rules within the group. In this case, in order to allow the server node 100 to make clear and optimal decisions on how to admit services according to its available resources, one or more of the following can be provided as part of the service request message 190 to the server node 100:

[0115] · Grouping rules for the services, by which the server node 100 can deduce which services are part of each group.

[0116] · For each group, information of whether services in the group can be admitted and served in full (i.e., all services in the group shall be admitted and served, otherwise all services in the group shall be rejected) or in part (i.e., some services in the group may be admitted and served, while other services in the group may be rejected) .

[0117] · For each group, a group priority. This parameter enables the server node 100 to understand which group to prioritize when deciding which group of services to admit and serve.

[0118] · In case services in the group can be admitted and served in part, for each service in the group, a sub-priority value can be included to indicate the priority the service has within the group. This parameter allows the server node 100 to, e.g., reject the services within the group that have lower sub-priority values, while admitting and serving services with relatively higher sub-priority values.

[0119] With the parameters above, the server node 100 can optimally handle groups of services, even in cases where dependencies exist between services in the group and cases where different services in the group have different relative priorities to other services in the group.

[0120] Group dependencies

[0121] A service may depend on a service group. As one example, service A depends on at least one of service B and service C to be served and service B and service C are members of group G, with a group parameter counting the members that shall be greater than or equal to 1.

[0122] Service A depends on the existence of services providing a certain combined amount of a derived resource. Then service A can depend on group G with an arbitrary number of member services Si, each one with a parameter par instantiated with value vi. Group G has a group parameter pg equal to the sum of vi, which is required to be greater than or equal to a certain threshold needed for service A to function properly.

[0123] Service value function

[0124] A service value function can be defined for each service of a group of candidate services (i.e., potential services to be selected) , which is an objective function defined to specify a “value” associated with the service. For example, the service value function may be defined using the service parameter instantiations as argument of the service value function. For example, if service S has values p1, …pn, assigning values v1, …vn respectively, the service value function for service S can be a function svfS (v1, …vn) . While different services may have different service value functions, the resulting values are of the same data type (e.g., real numbers) , to allow sums and comparisons.

[0125] Any function may be used as a service value function to convey the relative value of the service. The function can be arbitrary, even non-linear and / or non-monotonic, depending on the interesting value to be monitored. In a telecommunication embodiment, for example, a connectivity service may have a minimal value with the minimal accepted bandwidth, quickly increasing up to an intermediate value, then increasing more slowly up to the preferred value.

[0126] A common value for a service value function is a real number, so that different instantiations of a service can be compared to allow direct comparison and selection of the service with the highest value of the value function. This would allow the formulation of the problem as an optimization problem, where the sum of the values of all the service instantiations can be used as objective.

[0127] More complex service combinations can also be used, for example, based on group parameters, rather than a simple value sum. Vector valued functions may also be used, where several independent values may be interesting in different scenarios (e.g., based on current conditions on the network) . In this implementation, a multi-objective optimization can be formulated, and the result can be a Pareto front of alternative possible solutions instead of a single satisfaction. Based on existing resource conditions or other variables, one or more of the alternatives may be considered more important than others.

[0128] Examples of Formal statements

[0129] The following are specific examples of how the first service request message and any subsequent service request messages sent from the client node 101 to the server node 100 may be formulated. Note, however, that these specific details are not required for complying with the underlying principles of this disclosure.

[0130] Example of formal constraints and service value

[0131] In some embodiments, a service request message 190 may indicate:

[0132] A set of services Sr = {S1, …Sn}

[0133] A priority for each service (S, p) , service S has priority p

[0134] A set of dependencies D = { (S1, S2) , …} , where a dependency is an ordered pair of services (S1, S2) meaning that service S1 depends on service S2

[0135] A set of parameter specifications Ps = { (par, S, l, u) , …} , the parameter specification states that service S has parameter ‘par’ that must have value between l and u

[0136] A set of group membership specifications M = { (S, G) , …} , each specification states that service S is member of group G

[0137] A set of group parameter specifications G = { (pg, G, par, f, l, u) , …} , each specification states that each service S in group G has a parameter ‘par’ and group G has parameter pg to be calculated as a function f of the par in all S in G, and the result must have value between l and u

[0138] A set of group dependencies Gd = { (S, G) , …} , each specification states that service S depends on group G

[0139] A value function svfS (par_1, …par_n) for each service S, with zero or more parameters of the service S as arguments.

[0140] In these implementations, an example server node 100 response message 191 (e.g., providing an alternate service subset and / or parameters) may indicate:

[0141] A set of services

[0142] A set of parameter instantiations Pi = { (par, S, v) , …} , stating that in service S, parameter par is instantiated with value v

[0143] The resources can be represented by a vector R of values. An implementation of a service instantiation reduces some values of R of a certain amount. The same service instantiation may be implemented by multiple resource reductions. The mapping of a service instantiation to a specific set of resources may be based on the service configuration. For example, in a telecommunication application, a connectivity service may consume link bandwidth on different paths. It can therefore be implemented by reducing the available transmission capacity and buffer size on the links and ports of one of a set of alternative paths, possibly partially overlapping.

[0144] In some implementations, the server node 100 response satisfies various constraints, including one or more of: resource constraints, dependency constraints, priority constraints, service parameter constraints, group parameter constraints, and / or group dependency constraints. These constraints are defined as follows for some implementations:

[0145] Resource constraint –In some embodiments, the union of the resources used by all the services in Ss with their parameter instantiations as stated in Pi must be a subset of the resources that are available when the server node 100 calculates the service response.

[0146] Dependency constraint –If service S1 is in Ss and dependency (S1, S2) is in D, then S2 must also be in Ss.

[0147] Priority constraint –Services shall not be excluded from Ss to allow other services at lower priority, unless the lower priority service is the second element of a dependency pair with a higher or equal priority service as first element.

[0148] Service parameter constraint –If service S1 is in Ss, instantiation (par, S, v) is in Pi and specification (par, S, l, u) is in Ps, then it must hold true l ≤ v ≤ u.

[0149] Group parameter constraint –If {S1, …Sn} is the set of all the services Si in Ss for which (Si, G) is in M, (pg, G, par, f, l, u) is in G and (par, S1, v1) , … (par, Sn, vn) are in Pi, then it must hold true that l ≤ f (v1, …vn) ≤ u.

[0150] Group dependency constraint –If service S is in Ss and dependency (S, G) is in Gd, then also G must be satisfied by its member services in Ss with their parameter instantiations in Pi.

[0151] With service value functions, it is possible to define an objective function, so that finding a service instantiation becomes a constraint-based optimization, where the constraints have been defined above and the objective function is: ∑S∈SssvfS (v1, …vnS)

[0152] Example of how to achieve service dependency

[0153] In some embodiments, service dependency information is represented in a nested list data structure, such as shown in Table A below:

[0154] TABLE A

[0155] The table above shows how for each listed service in the initial service request message 190 sent to the server node 100, the other services directly depending on it can be listed. Each of the other services may similarly list additional services on which they depend, and so on.

[0156] Determining and signaling outcome of requirements fulfilments

[0157] Once the client node 101 transmit the service request message 190 to the server node 100 including the list of services to be admitted and served and one or more service characterizations, the server node 100 can make an informed and potentially optimal decision on which services to admit and what resources to allocate to each service, in accordance with the characterization of each service.

[0158] After performing its evaluation, the server node 100 generates the response message 191 to the client node 101 with the result of the admission and resource allocations for the services. The response message 191 therefore may include one or more of:

[0159] A list of services which have been admitted and / or a list of services that failed to be admitted.

[0160] For each service that was not admitted, an indication of the cause of failure of admission and / or information about resource status. This information can be the same as that described above for causes for the rejection of the request and information about available resources.

[0161] For each service that was admitted, the response message 191 can include information concerning whether each service requirement was fulfilled in full or not. In case service requirements were not fulfilled in full, information is included to quantify how the service requirements were fulfilled. For example, if the service request message 190 requested a given bit rate, a given packet delay and a given delay jitter, and if an alternate set of parameters were granted, then the response message 191 indicates the granted bit rate, granted packet delay and granted delay jitter for the service. In one variant, services that have been admitted and to which the full required resources were granted, do not need to be listed in the response message 191.

[0162] Alternative Embodiments

[0163] While some embodiments of the invention have been described with respect to transport networks within a telecommunications network infrastructure and specifically within a RAN, between a RAN and a CU, and between a CU and a core network, embodiments of the invention are not limited to these specific implementations. In addition, while some embodiments of the invention have been described in relation to specific sets of parameters and service characterization data, various alternate and / or additional parameters and service characterizations may be used in accordance with other embodiments of the invention.

[0164] While the flow diagrams in Figures 4A-B show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc. ) .

[0165] The description is thus to be regarded as illustrative instead of limiting.

[0166] Figure 11 shows an example of a communication system 1100 in accordance with some embodiments. In the example, the communication system 1100 includes a telecommunication network 1102 that includes an access network 1104, such as the radio access network (RAN) 205 shown in Figures 2A-B and 3, and a core network 1106, such as core network 240 shown in Figures 2A-B and 3, which includes one or more core network nodes 1108. The access network 1104 includes one or more access network nodes, such as network nodes 1110a and 1110b (one or more of which may be generally referred to as network nodes 1110) , or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion  are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 1102 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 1102 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 1102, including one or more network nodes 1110 and / or core network nodes 1108.

[0167] Examples of an ORAN network node include an open radio unit (O-RU) , an open distributed unit (O-DU) (e.g., such as RU 210 and DU 220, respectively, in Figures 2A-B and 3) , an open central unit (O-CU) , including an O-CU control plane (O-CU-CP) or an O-CU user plane (O-CU-UP) (e.g., such as CU 230, CU-CP 233 and CU-UP 234 in Figures 2A-B and 3) , a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp) , or any combination thereof (the adjective “open” designating support of an ORAN specification) . The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1, F1, W1, E1, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes 1110 facilitate direct or indirect connection of user equipment (UE) , such as by connecting UEs 1112a, 1112b, 1112c, and 1112d (one or more of which may be generally referred to as UEs 1112) to the core network 1106 over one or more wireless connections.

[0168] 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 1100 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 1100 may  include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0169] The UEs 1112 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 1110 and other communication devices. Similarly, the network nodes 1110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 1112 and / or with other network nodes or equipment in the telecommunication network 1102 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 1102.

[0170] In the depicted example, the core network 1106 connects the network nodes 1110 to one or more host computing systems, such as host 1116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 1106 includes one more core network nodes (e.g., core network node 1108) 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 1108. 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) .

[0171] The host 1116 may be under the ownership or control of a service provider other than an operator or provider of the access network 1104 and / or the telecommunication network 1102. The host 1116 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.

[0172] As a whole, the communication system 1100 of Figure 11 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.

[0173] In some examples, the telecommunication network 1102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 1102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 1102. For example, the telecommunications network 1102 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)  / Massive IoT services to yet further UEs.

[0174] In some examples, the UEs 1112 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 1104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 1104. 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) .

[0175] In the example, the hub 1114 communicates with the access network 1104 to facilitate indirect communication between one or more UEs (e.g., UE 1112c and / or 1112d) and network nodes (e.g., network node 1110b) . In some examples, the hub 1114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 1114 may be a broadband router enabling access to the core network 1106 for the UEs. As another example, the hub 1114 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 1110, or by executable code, script, process, or other instructions in the hub 1114. As another example, the hub 1114 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 1114 may be a content source. For example, for a UE that is a VR device, display, loudspeaker, or other media delivery device, the hub 1114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a  network node, which the hub 1114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 1114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy IoT devices.

[0176] The hub 1114 may have a constant / persistent or intermittent connection to the network node 1110b. The hub 1114 may also allow for a different communication scheme and / or schedule between the hub 1114 and UEs (e.g., UE 1112c and / or 1112d) , and between the hub 1114 and the core network 1106. In other examples, the hub 1114 is connected to the core network 1106 and / or one or more UEs via a wired connection. Moreover, the hub 1114 may be configured to connect to an M2M service provider over the access network 1104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 1110 while still connected via the hub 1114 via a wired or wireless connection. In some embodiments, the hub 1114 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 1110b. In other embodiments, the hub 1114 may be a non-dedicated hub –that is, a device which is capable of operating to route communications between the UEs and network node 1110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0177] Figure 12 shows a UE 1200 in accordance with some embodiments. The UE 1200 presents additional details of some embodiments of the UE 1112 of Figure 1. 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 / playback device, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , an Augmented Reality (AR) or Virtual Reality (VR) device, wireless customer-premise equipment (CPE) , vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP) , including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0178] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP 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) .

[0179] The UE 1200 includes processing circuitry 1202 that is operatively coupled via a bus 1204 to an input / output interface 1206, a power source 1208, a memory 1210, a communication interface 1212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 12. 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.

[0180] The processing circuitry 1202 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 1210. The processing circuitry 1202 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 1202 may include multiple central processing units (CPUs) .

[0181] In the example, the input / output interface 1206 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 1200. 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.

[0182] In some embodiments, the power source 1208 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 1208 may further include power circuitry for delivering power from the power source 1208 itself, and / or an external power source, to the various parts of the UE 1200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 1208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 1208 to make the power suitable for the respective components of the UE 1200 to which power is supplied.

[0183] The memory 1210 may be or be configured to include memory such as random access memory (RAM) , read-only memory (ROM) , programmable read-only memory (PROM) , erasable programmable 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 1210 includes one or more application programs 1214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 1216. The memory 1210 may store, for use by the UE 1200, any of a variety of various operating systems or combinations of operating systems.

[0184] The memory 1210 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 1210 may allow the UE 1200 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 1210, which may be or comprise a device-readable storage medium.

[0185] The processing circuitry 1202 may be configured to communicate with an access network or other network using the communication interface 1212. The communication interface 1212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 1222. The communication interface 1212 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 1218 and / or a receiver 1220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth) . Moreover, the transmitter 1218 and receiver 1220 may be coupled to one or more antennas (e.g., antenna 1222) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0186] In the illustrated embodiment, communication functions of the communication interface 1212 may include cellular communication, Wi-Fi communication, LPWAN communication, 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.

[0187] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 1212, 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) .

[0188] 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.

[0189] A UE, when in the form of an Internet of Things (IoT) 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 IoT 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 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 IoT device comprises circuitry and / or software in dependence of the intended application of the IoT device in addition to other components as described in relation to the UE 1200 shown in Figure 12.

[0190] As yet another specific example, in an IoT 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.

[0191] 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.

[0192] Figure 13 shows a network node 1300 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) ) , O-RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU) .

[0193] 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, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs) , sometimes referred to as Remote Radio 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) .

[0194] 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) .

[0195] The network node 1300 includes a processing circuitry 1302, a memory 1304, a communication interface 1306, and a power source 1308. The network node 1300 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 1300 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 1300 may be configured to support multiple radio access technologies (RATs) . In such embodiments, some components may be duplicated (e.g., separate memory 1304 for different RATs) and some  components may be reused (e.g., a same antenna 1310 may be shared by different RATs) . The network node 1300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 1300, 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 1300.

[0196] The processing circuitry 1302 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 1300 components, such as the memory 1304, to provide network node 1300 functionality.

[0197] In some embodiments, the processing circuitry 1302 includes a system on a chip (SOC) . In some embodiments, the processing circuitry 1302 includes one or more of radio frequency (RF) transceiver circuitry 1312 and baseband processing circuitry 1314. In some embodiments, the radio frequency (RF) transceiver circuitry 1312 and the baseband processing circuitry 1314 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 1312 and baseband processing circuitry 1314 may be on the same chip or set of chips, boards, or units.

[0198] The memory 1304 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 1302. The memory 1304 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 1302 and utilized by the network node 1300. The memory 1304 may be used to store any calculations made by the processing circuitry 1302 and / or any data received via the communication interface 1306. In some embodiments, the processing circuitry 1302 and memory 1304 is integrated.

[0199] The communication interface 1306 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 1306 comprises port (s)  / terminal (s) 1316 to send and receive data, for  example to and from a network over a wired connection. The communication interface 1306 also includes radio front-end circuitry 1318 that may be coupled to, or in certain embodiments a part of, the antenna 1310. Radio front-end circuitry 1318 comprises filters 1320 and amplifiers 1322. The radio front-end circuitry 1318 may be connected to an antenna 1310 and processing circuitry 1302. The radio front-end circuitry may be configured to condition signals communicated between antenna 1310 and processing circuitry 1302. The radio front-end circuitry 1318 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 1318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 1320 and / or amplifiers 1322. The radio signal may then be transmitted via the antenna 1310. Similarly, when receiving data, the antenna 1310 may collect radio signals which are then converted into digital data by the radio front-end circuitry 1318. The digital data may be passed to the processing circuitry 1302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0200] In certain alternative embodiments, the network node 1300 does not include separate radio front-end circuitry 1318, instead, the processing circuitry 1302 includes radio front-end circuitry and is connected to the antenna 1310. Similarly, in some embodiments, all or some of the RF transceiver circuitry 1312 is part of the communication interface 1306. In still other embodiments, the communication interface 1306 includes one or more ports or terminals 1316, the radio front-end circuitry 1318, and the RF transceiver circuitry 1312, as part of a radio unit (not shown) , and the communication interface 1306 communicates with the baseband processing circuitry 1314, which is part of a digital unit (not shown) .

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

[0202] The antenna 1310, communication interface 1306, and / or the processing circuitry 1302 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 1310, the communication interface 1306, and / or the processing circuitry 1302 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.

[0203] The power source 1308 provides power to the various components of network node 1300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component) . The power source 1308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 1300 with power for performing the functionality described herein. For example, the network node 1300 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 1308. As a further example, the power source 1308 may comprise 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.

[0204] Embodiments of the network node 1300 may include additional components beyond those shown in Figure 13 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 1300 may include user interface equipment to allow input of information into the network node 1300 and to allow output of information from the network node 1300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1300. In some embodiments providing a core network node, such as core network node 1108 of FIG. 11, some components, such as the radio front-end circuitry 1318 and the RF transceiver circuitry 1312 may be omitted.

[0205] Figure 14 is a block diagram illustrating a virtualization environment 1400 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 1400 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. In some embodiments, the virtualization environment 1400 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2  interface. Virtualization may facilitate distributed implementations of a network node, UE, core network node, or host.

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

[0207] Hardware 1404 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 1406 (also referred to as hypervisors or virtual machine monitors (VMMs) ) , provide VMs 1408a and 1408b (one or more of which may be generally referred to as VMs 1408) , and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 1406 may present a virtual operating platform that appears like networking hardware to the VMs 1408.

[0208] The VMs 1408 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1406. Different embodiments of the instance of a virtual appliance 1402 may be implemented on one or more of VMs 1408, 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.

[0209] In the context of NFV, a VM 1408 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 1408, and that part of hardware 1404 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 1408 on top of the hardware 1404 and corresponds to the application 1402.

[0210] Hardware 1404 may be implemented in a standalone network node with generic or specific components. Hardware 1404 may implement some functions via virtualization. Alternatively, hardware 1404 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 1410, which, among others, oversees lifecycle management of applications  1402. In some embodiments, hardware 1404 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 1412 which may alternatively be used for communication between hardware nodes and radio units.

[0211] Figure 15 shows a communication diagram of a host 1502 communicating via a network node 1504 with a UE 1506 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 1112a of Figure 11 and / or UE 1200 of Figure 12) , network node (such as network node 1110a of Figure 11 and / or network node 1400 of Figure 14) , and a host will now be described with reference to Figure 15.

[0212] Embodiments of host 1502 include hardware, such as a communication interface, processing circuitry, and memory. The host 1502 also includes software, which is stored in or accessible by the host 1502 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 1506 connecting via an over-the-top (OTT) connection 1550 extending between the UE 1506 and host 1502. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 1550.

[0213] The network node 1504 includes hardware enabling it to communicate with the host 1502 and UE 1506. The connection 1560 may be direct or pass through a core network (like core network 1106 of Figure 11) 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.

[0214] The UE 1506 includes hardware and software, which is stored in or accessible by UE 1506 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 1506 with the support of the host 1502. In the host 1502, an executing host application may communicate with the executing client application via the OTT connection 1550 terminating at the UE 1506 and host 1502. 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 1550 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 1550.

[0215] The OTT connection 1550 may extend via a connection 1560 between the host 1502 and the network node 1504 and via a wireless connection 1570 between the network node 1504 and the UE 1506 to provide the connection between the host 1502 and the UE 1506. The connection 1560 and wireless connection 1570, over which the OTT connection 1550 may be provided, have been drawn abstractly to illustrate the communication between the host 1502 and the UE 1506 via the network node 1504, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0216] As an example of transmitting data via the OTT connection 1550, in step 1508, the host 1502 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 1506. In other embodiments, the user data is associated with a UE 1506 that shares data with the host 1502 without explicit human interaction. In step 1510, the host 1502 initiates a transmission carrying the user data towards the UE 1506. The host 1502 may initiate the transmission responsive to a request transmitted by the UE 1506. The request may be caused by human interaction with the UE 1506 or by operation of the client application executing on the UE 1506. The transmission may pass via the network node 1504, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 1512, the network node 1504 transmits to the UE 1506 the user data that was carried in the transmission that the host 1502 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 1514, the UE 1506 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 1506 associated with the host application executed by the host 1502.

[0217] In some examples, the UE 1506 executes a client application which provides user data to the host 1502. The user data may be provided in reaction or response to the data received from the host 1502. Accordingly, in step 1516, the UE 1506 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 1506. Regardless of the specific manner in which the user data was provided, the UE 1506 initiates, in step 1518, transmission of the user data towards the host 1502 via the network node 1504. In step 1520, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 1504 receives user data from the UE 1506 and initiates transmission of the received user data towards the host 1502. In step 1522, the host 1502 receives the user data carried in the transmission initiated by the UE 1506.

[0218] 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 be configured 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.

[0219] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.

Claims

1.A method, performed by a transport network controller within a telecommunications network infrastructure to manage access to a transport network by a first node, the method comprising:receiving a first request message from the first node requesting a first plurality of services for admission to the transport network, the first request message indicating the first plurality of services and first resource requirements associated with the first plurality of services;determining a set of resources needed to admit the first plurality of services to the transport network based, at least in part, on the first resource requirements associated with the first plurality of services; andwhen the set of resources cannot be allocated from a set of available resources, then the transport network controller is to either:reject the first request message and transmit a second response message with information related to the set of available resources, the information usable by the first node to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services to be included in a second request message, orevaluate the first plurality of services and the first resource requirements in view of the set of available resources to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services to provide for admission to the transport network, and transmit a third response message to the first node indicating the admission to the transport network.2.The method of claim 1, wherein the second plurality of services includes one or more services from the first plurality of services and one or more services not from the first plurality of services.3.The method of claims 1 or 2, wherein the second plurality of services includes one or more services from the first plurality of services but with the second resource requirements instead of the first resource requirements.4.The method of claim 3, wherein the information related to the set of available resources includes indications of available bandwidth, packet delay values, and / or error rates.5.The method of claim 4, wherein the indications of available bandwidth, packet delay values, and / or error rates are provided for: the transport network, individual services of the first plurality of services, certain paths on the transport network, and / or specific queues or resource partitions of the transport network.6.The method of any of claims 1 to 5 wherein to identify the second plurality of services, the transport network controller is to:determine priorities associated with one or more of a plurality of candidate services;determine dependencies between services of the plurality of candidate services; andidentify the second plurality of services from the plurality of candidate services based, at least in part, on the priorities and the dependencies in view of the set of available resources.7.The method of claim 6 wherein a first service is not to be included in the second plurality of services unless one or more services on which it depends can also be included in the second plurality of services and admitted based on the set of available resources.8.The method of claim 7 wherein the first service is associated with a higher priority value than a second service of the plurality of candidate services, and wherein the second service is to be included in the second plurality of services to be admitted rather than the first service when the set of available resources are sufficient to support the second service but are insufficient to support a combination of the first service and the one or more services on which it depends.9.The method of claim 7 wherein the first service is associated with a higher priority value than a second service of the plurality of candidate services, and wherein the first service is to be included in the second plurality of services rather than the second service when the set of available resources are sufficient to support a combination of the first service and the one or more services on which it depends but are insufficient to support the second service in addition to the combination of the first service and the one or more services on which it depends.10.The method of any of claims 6 to 9 wherein to identify the second plurality of services, the transport network controller is to determine a value function for each candidate service of the plurality of candidate services based, at least in part, on the priorities and the dependencies, the  transport network controller to select a subset of candidate services which maximizes a cumulative value function to be included in the second plurality of services.11.The method of claim 10 wherein the transport network controller is to determine the value function for each candidate service of the plurality of candidate services further based on one or more of: parameter ranges associated with each of the plurality of candidate services, service groupings associated with each of the plurality of candidate services, priorities for service dependencies associated with each of the plurality of candidate services, and group dependencies associated with each of the plurality of candidate services.12.A system within a telecommunications network infrastructure comprising:a first node to transmit a first request message requesting a first plurality of services for admission to a transport network, the first request message indicating the first plurality of services and first resource requirements associated with the first plurality of services;a transport network controller to responsively determine a set of resources needed to admit the first plurality of services to the transport network based, at least in part, on the first resource requirements associated with the first plurality of services; andwhen the set of resources cannot be allocated from a set of available resources, then either:the transport network controller is to evaluate the first plurality of services and the first resource requirements in view of the set of available resources to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services to provide for admission to the transport network, and is to transmit a third response message to the first node indicating the admission to the transport network; orthe first node is to identify a second plurality of services and / or second resource requirements of one or more of the first plurality of services to be included in a second request message based on information related to the set of available resources provided by the transport network controller in a second response message.13.The system of claim 12, wherein the second plurality of services includes one or more services from the first plurality of services and one or more services not from the first plurality of services.14.The system of claims 12 or 13, wherein the second plurality of services includes one or more services from the first plurality of services but with the second resource requirements instead of the first resource requirements.15.The system of claim 14, wherein the information related to the set of available resources includes indications of available bandwidth, packet delay values, and / or error rates.16.The system of claim 15, wherein the indications of available bandwidth, packet delay values, and / or error rates are provided for: the transport network, individual services of the first plurality of services, certain paths on the transport network, and / or specific queues or resource partitions of the transport network.17.The system of any of claims 12 to 16 wherein to identify the second plurality of services, the transport network controller or the first node is to:determine priorities associated with one or more of a plurality of candidate services;determine dependencies between services of the plurality of candidate services; andidentify the second plurality of services from the plurality of candidate services based, at least in part, on the priorities and the dependencies in view of the set of available resources.18.The system of claim 17 wherein a first service is not to be included in the second plurality of services unless one or more services on which it depends can also be included in the second plurality of services and admitted based on the set of available resources.19.The system of claim 18 wherein the first service is associated with a higher priority value than a second service of the plurality of candidate services, and wherein the second service is to be included in the second plurality of services to be admitted rather than the first service when the set of available resources are sufficient to support the second service but are insufficient to support a combination of the first service and the one or more services on which it depends.20.The system of claim 19 wherein the first service is associated with a higher priority value than a second service of the plurality of candidate services, and wherein the first service is to be included in the second plurality of services rather than the second service when the set of available resources are sufficient to support a combination of the first service and the one or  more services on which it depends but are insufficient to support the second service in addition to the combination of the first service and the one or more services on which it depends.21.The system of any of claims 17 to 20 wherein to identify the second plurality of services, the transport network controller is to determine a value function for each candidate service of the plurality of candidate services based, at least in part, on the priorities and the dependencies, the transport network controller to select a subset of candidate services which maximizes a cumulative value function to be included in the second plurality of services.22.The system of claim 21 wherein the transport network controller is to determine the value function for each candidate service of the plurality of candidate services further based on one or more of: parameter ranges associated with each of the plurality of candidate services, service groupings associated with each of the plurality of candidate services, priorities for service dependencies associated with each of the plurality of candidate services, and group dependencies associated with each of the plurality of candidate services.

Citation Information

Patent Citations

  • Connection admission control in packet-oriented, multi-service networks

    US20050163103A1

  • Systems and Methods for Resource Booking for Admission Control and Scheduling Using DRX

    US20130155852A1

  • Systems and methods for application-aware admission control in a communication network

    US20130272121A1