The present disclosure is related to wireless communications networks and describes network architecture, wireless devices, and wireless network nodes suitable for industrial applications, using a fifth-generation (5G) or other wireless communications network.
The fifth generation of mobile technology (5G) will be able to provide wider range of services than the existing 3G/4G technologies. Three main use cases of 5G are: Enhanced Mobile Broadband (eMBB), Massive Machine Type of Communication (mMTC) and Ultra Reliable Low Latency Communication (URLLC). A key objective of the 5G system is to be able to support the stringent system requirements from vertical markets. Those requirements include simultaneously supporting multiple combinations of reliability, latency, throughput, positioning, and availability, as well as, local deployments with local survivability, local data/routing, local managements, security, data integrity and privacy.
An industrial network perspective of 5G system is illustrated in
Specifications for 5G are under development by members of the 3rd-Generation Partnership Project (3GPP). The document “Service Requirements for Cyber-Physical Control Applications in Vertical Domains, Stage 1,” 3GPP TS 22.104, v. 16.0.0 (January 2019), specifies the requirements that provide various sets of performance criteria that need to be met to satisfactorily support different use cases of cyber-physical control applications used by various vertical markets.
In the industrial applications space, requirements include support for mixed services in factory and manufacturing environments, including support for different service levels, such as massive Machine-Type Communications (mMTC), enhanced Mobile Broadband (eMBB), and ultra-reliable low-latency communications (URLLC) traffic in the same deployment. Support for industrial deterministic service is needed. Integration between the 5G System (5 GS) and existing industrial networks is also required. Interoperability, including support for non-public networks and interoperability with the public land mobile network (PLMN) is required.
With respect to system availability and reliability, the 5G system as a communication service provider shall comply with the 3GPP definition of availability and reliability. Communication service availability is defined as the percentage value of the amount of time the end-to-end communication service is delivered according to an agreed quality of service (QoS), divided by the amount of time the system is expected to deliver the end-to-end service according to the specification in a specific area. Required availability is to be determined by business aspects considering the trade-off between monetary loss at times the system is not available vs. complexity to increase the availability, e.g. by increasing redundancy. It will be appreciated that availability beyond 99.95% usually requires an extra power source to prevent the public energy grid (99.9-99.99% availability in Europe) from becoming the weakest component.
Communication service reliability is defined as the ability of the communication service to perform as required for a given time interval, under given conditions. These conditions include aspects that affect reliability, such as: mode of operation, stress levels, and environmental conditions. Reliability may be quantified using appropriate measures such as mean time to failure, or the probability of no failure within a specified period of time.
The use of 5G in industrial applications must meet safety requirements, where safety is defined as the condition of being protected from or unlikely to cause danger, risk, or injury. Safe systems thus should be designed to be functionally safe from the start. Automatic protection functions can be built into the system to ensure safety for the system while in operation. Safety aspects to be considered in system design to ensure automatic protection should, for example, include human errors, hardware and software failures, and operational and environmental stress factors.
Many industries today are in full control of their local network deployments. Thus, local deployment aspect regarding local survivability, local data/routing and local management become requirements for industrial networks. In short, the factory network should run normally even when the connection to the outside world is lost. Furthermore, there may be requirements around data not leaving the premises as well as local IT staff being able to manage and change the network deployment on demand.
Security, data integrity and privacy are important requirements for the industries as well. Business critical information on processes and data from the manufacturing process should not be leaked.
Described herein in detail are various techniques for enhancing performance in Industrial Internet-of-Things (IIoT) scenarios, including techniques for time-sensitive networking (TSN) and 5G wireless network integration. Corresponding devices and nodes are also described in detail.
An example method, performed by a wireless device comprises receiving system information (SI) from a radio base station (RBS) of a radio access network (RAN), the SI being indicative of support for TSN through the RBS, and establishing at least one TSN stream with an external data network, through the RBS. The example method further includes receiving a first timing signal from the wireless communications network, via the RBS, receiving a second timing signal from the external TSN data network to which the wireless device is connected, comparing the first timing signal to the second timing signal to determine an offset, and transmitting the offset to the wireless communications network.
Another example method is performed in one or more nodes of a core network associated with a radio access network (RAN) and is for handling a time-sensitive data stream associated with a user equipment (UE) and an external network. This example method comprises receiving, from the external network, a transmission schedule associated with a time-sensitive data stream and sending, to the RAN, a request to allocate radio resources for communication of the data stream between the RAN and a first UE, wherein the request further comprises information related to the transmission schedule. The method further comprises receiving, from the RAN, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the data stream. The method still further comprises obtaining configuration information for the data stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the data stream which are to remain static, initiating transmission of the configuration information to the first UE, receiving a data packet associated with the data stream from the external data network, removing the one or more fields from the data packet to generate a compressed data packet, and initiating transmission of the compressed data packet to the first UE.
Another example method is performed by a wireless device associated with a wireless communications network and is for transport of data packets associated with a data stream in an external data network. This example method comprises receiving SI from an RBS of a RAN, the SI being indicative of support for TSN through the RBS, and establishing at least one TSN stream with the external data network, through the RBS. This method further comprises obtaining configuration information for the TSN stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the TSN stream which are to remain static, receiving, from the RBS, a data packet associated with the TSN stream, and adding the one or more fields to the data packet to generate a decompressed data packet.
Another example method is performed by a wireless device configured for communication with a RAN and is for scheduling resources in the RAN according to a transmission schedule associated with an external network. This example method comprises receiving SI from an RBS of the RAN, the SI being indicative of support for TSN through the RBS, and establishing at least one TSN stream with the external data network, through the RBS. This example method further comprises receiving, from the external network, a transmission schedule associated with the TSN stream, sending, to a network associated with the RAN, a request to allocate radio resources for communication of the TSN stream between the wireless device and the RAN, wherein the request further comprises information related to the transmission schedule, and receiving, from the network, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the TSN stream
Still another example method, performed by a wireless device, comprises receiving SI from an RBS of a RAN, the SI being indicative of support for TSN through the RBS, and establishing at least one TSN stream with an external data network, through the RBS. This method further comprises obtaining configuration information for the TSN stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the TSN stream which are to remain static. The method further comprises receiving, from the RBS, a data packet associated with the TSN stream, and adding the one or more fields to the data packet to generate a decompressed data packet.
Yet another example method is performed by a first device, and is for assisting enrollment of a second device to an Internet of Things (IoT) environment and using the second device. This example method comprises obtaining a representation of an enrollment function associated with the second device, wherein the enrollment function is associated with at least one serialized enrollment application comprising enrollment information associated with the first and second device, deserializing the enrollment application such that enrollment information associated with the first device is separated from enrollment information associated with the second device, and transmitting the enrollment information associated with the second device to the second device for initiating execution by the second device of the enrollment process of the second device by configuring the second device based on the enrollment information associated with the second device. This method further comprises receiving, from the second device, configuration information associated with the second device, and using a first runtime environment executing on the first device to transfer a code module to a second runtime environment executing on the second device, where the code module is configured to execute within the second runtime environment and expose a function of the second device, supported by the second runtime environment, to the first device. The method further comprises executing an application within the first runtime environment, the application remotely invoking the function of the second device via the transferred code module and the second runtime environment.
A corresponding method is carried out by a second device and is for executing an enrollment process to an IoT environment assisted by a first device and providing the first device with access to a function of the second device. This example method comprises receiving, from the first device, enrollment information associated with the second device, executing the enrollment process by configuring the second device based on the enrollment information, and transmitting configuration information associated with the second device to the first device. The method further comprises receiving a code module from a first runtime environment executing on the first device, to a second runtime environment executing on the second device, to expose a function of the second device supported by the second runtime environment to the first device, and using the second runtime environment to control performance of the function of the second device responsive to a remote invocation of the function received via the code module from an application executing within the first runtime environment.
These and other methods are described in detail below and illustrated in the attached figures. Corresponding devices, network nodes, and the like are also described in detail, as are the network arrangements and environments in which these techniques may be advantageously used.
Following are detailed descriptions of concepts, system/network architectures, and detailed designs for many aspects of a wireless communications network targeted to address the requirements and use cases for 5G. The terms “requirement,” “need,” or similar language are to be understood as describing a desirable feature or functionality of the system in the sense of an advantageous design of certain embodiments, and not as indicating a necessary or essential element of all embodiments. As such, in the following each requirement and each capability described as required, important, needed, or described with similar language, is to be understood as optional.
Operation Technology Communication System and 5G
A variety of technologies are today used in industrial communication systems. For manufacturing systems in factories, a hierarchical communication structure is used (often referred to as the automation pyramid), as depicted on the left side of
A broader digitalization of the manufacturing system is foreseen to provide increased flexibility and efficiency, by transforming manufacturing to a cyber-physical production system. Such a transition is also referred to as the fourth industrial revolution, or Industry 4.0. It is envisioned that the entire production system can be modeled, monitored, evaluated and steered with a digital twin. To that end, a full connectivity throughout the factory is desired, avoiding isolated connectivity islands on the shop floor level, as shown on the right side of
Wireless connectivity can bring great value to a manufacturing system. It can provide cost savings by avoiding extensive cabling, it can support new use cases that cannot be realized with wires (e.g. connecting mobile components). But in particular, it provides significant flexibility in redesigning the shop floor—which is a major trend towards Industry 4.0. Today the use of wireless technology on the shop floor is very limited and focused on non-critical communication provided via various different technologies. For critical communication services there is today no wireless technology that can provide reliable and deterministic low latency.
5G promises to provide reliable deterministic low latency services, while at the same time supporting eMBB and mMTC. (Note that 5G mMTC is based on LTE-M and NB-IoT, which can be embedded into an NR carrier. Eventually an NR-based mMTC mode is expected.) To this end it may play a similar role on the wireless side to what TSN does for wired connectivity. It provides a universal, globally standardized technology that converges all service types and can spread wireless connectivity into much larger fields of the shop floor communication.
TSN has an additional role to play for 5G. Industrial networks are long-living installations and the large majority of factories are already deployed. Introduction of new technology is slow and cumbersome into existing brownfield installations. TSN is expected to trigger a redesign of building practices, which is expected to enter even industrial brownfield networks when feasible. By linking 5G to TSN as the wireless equivalent, TSN provides an opening market opportunity to help in transforming the brownfield market. This motivates a need for the 5G architecture solution to be largely aligned with TSN.
The integration of 5G has to address a number of requirements:
System Architecture
A 5G network integrated into an industrial system, as shown in
A 5G system can be deployed in different variants. In cases where local access to dedicated spectrum can be obtained by an industrial user, a standalone local 5G system can be deployed, as depicted in
A local 5G system can also be realized as a non-public network service, that is provided by public mobile network operator at the industrial location, as depicted in
A combination of a standalone local network and a public MNO network can also be used as basis for providing a non-public network service across the two network domains. An industrial user might deploy a local network on-site, which together with the public network infrastructure provides the non-public network service via federated network slicing. For example, the local deployment may be deployed to “harden” the public network, in terms of local coverage, availability, capacity and computing resources.
A local network can also provide neutral-host capabilities, by extending a public network on site in addition to providing a local standalone network. For this purpose, network sharing solutions such as multi-operator core network (MOON) or multi-operator radio access network (MORAN) can be applied. In shared network approaches, a resource management solution is needed that can provide guaranteed resources and performance for the different supported networks (or network slices). A network sharing solution may be well motivated for both local and public network providers. The local provider can provide a free local site for the MNO, while the MNO may provide its spectrum resources for the network. Since the same base stations can support public and private services, some improved coexistence between the local and the public network should be possible. Further, a shared solution may be motivated by different services. For example, a public MNO may provide conventional enterprise services on the industrial site, e.g., telephony, mobile broadband and IT connectivity, while the private standalone local network is used for local industrial OT connectivity.
Network Slicing for Industrial Internet-of-Things (IoT)
Network slicing is considered as one approach to enable or realize Industrial IoT network solutions. Network slicing can provide separate and isolated logical networks on a common shared infrastructure. It can e.g. be used, to
Network slicing is a conceptual way of viewing and realizing the provider network. Instead of the prevailing notion of a single and monolithic network serving multiple purposes, technology advancements such as Virtualization and SDN allows us to build logical networks on top of a common and shared infrastructure layer.
These “logical networks”, which may be called “network slices” are established for a particular business purpose or even a particular customer (of the provider). They are end-to-end and complete in the context of the intended business purpose. They are and behave like a network of its own, including all the required capabilities and resources. This extends all the way from the share of the infrastructure resources, through configured network functions to network management or even OSS/BSS capabilities. It encompasses both mobile and fixed network components. One expectation is that different slices are independent and isolated, even if they share common physical resources, and thus provide a separation of concerns. Network slices may be defined to span across multiple physical network infrastructures, which is sometimes referred to a federated network slicing. This can provide even enable an alternative network realization to roaming.
Just as existing networks are built to realize services, so are network slices. They are not services in themselves, but they are built to realize one or several services. As a special case, a service (or instance thereof) maps one-to-one with a network slice, allowing, for example, wholesale type of services. Resources (physical or logical) can be dedicated to a slice, i.e. separate instances, or they could be shared across multiple slices. These resources are not necessarily all produced within the provider, some may in fact be services consumed from other providers, facilitating e.g. aggregation, roaming etc.
Network slices may be defined as comprising a set of resources, as shown in
As slices can be created to address a new business requirement or customer and may need to adapt to changes, they require a new type of life cycle management functions, which has the role of creating, changing (e.g., upgrading) or removing them. Network slicing allows for different network architectures which are optimized for the specific use case that the slice is being used for. This optimization for different network slices may include both optimizations in the functional domain and in the geographical deployment of different functionality in the network. This can be seen in
The definition for network slicing is twofold. For the general definition the one from GSMA is used: “From a mobile operator's point of view, a network slice is an independent end-to-end logical network that runs on a shared physical infrastructure, capable of providing a negotiated service quality”. Besides this general definition, several implementations realizing the above exist and are often meant when “network slicing” is mentioned. The most prominent one comes from the 5G Core specification, “System Architecture for the 5G System (5GS), Stage 2,” 3GPP TS 23.501, v. 15.4.0 (December 2108): “Network Slice: A logical network that provides specific network capabilities and network characteristics [ . . . ] A Network Slice is defined within a PLMN and shall include: the Core Network Control Plane and User Plane Network Functions [ . . . ]”. Methods at least partly realizing above definition are not limited to 5G but also available in 4G networks.
With these definitions the basic network slice can be explained according to
Once network slices have been defined, a first question is how a data traffic flow is assigned to or routed through the corresponding network slice. In many cases, a single device is making only use of a single slice, so the allocation can be made by assigning each UE to a specific network slice. However, in some cases a device may serve traffic for multiple slices.
A baseline in mobile networks for service treatments to provide specific service performance and QoS are dedicated bearers; they are often a solution to fulfill the requirements of specific use cases or service. In the radio access network (RAN), the dedicated bearers map to radio bearers that can be used by the scheduler to deliver bearer-specific QoS. Specific resources may be reserved for certain dedicated bearers. At the network edges, bearers can be identified and treated individually based on filter on the packet headers, like the 5-tuple source IP address, destination IP address, source port number, destination port number, and protocol (UDP or TCP).
The second solution relies on Access Point Names (APNs) configured in the UE. In this case, one PLMN ID is announced by the RAN but user plane traffic is routed to the right Core network based on the APN. A UE can even have multiple APNs configured resulting in multiple IP addresses (multi-homing) when PDN sessions are established. Assuring the right source IP address is used when transmitting in the uplink is not straight forward. Setting more than one APN in the same UE for internet applications might not be supported by every device. This solution requires no changes to RAN but must be supported in the Core networks.
3GPP had a study item named DECOR, now described in standards document as dedicated core network (DCN), which allows for the selection of a slice based on configuration in the network, rather than a preferred PLMN ID or APN settings, as done for the previous solutions. The feature must be supported in RAN and Core, and information from the home subscriber server (HSS) is used to determine the “UE usage type” and, by this, attaching it to the right slice. There is no UE impact in this solution.
A concept known as eDECOR further enhances this by allowing the UE to submit a DCN-ID to select the slice. To utilize this approach, the RAN, Core, and UE need to support the feature.
Both DECOR and eDECOR, only allow one slice per UE but assure that UEs of different types are served by different slices. Within each dedicated core, multiple dedicated bearers and APNs can be used.
For Release 15 and beyond, 5G Slicing extends this feature to a theoretically unlimited number of slices, but implementation and resource dependent constraints in UE, RAN and Core will likely apply. As for 4G, several sub-options to realize slicing in 5G exist, but they will not be further distinguished in this document.
Once traffic has been assigned to the corresponding slice, the next question is on how service performance can be provided. In many Industrial IoT use cases, guaranteed service performance for prioritized traffic is required. In a normal (i.e., unsliced) 5G network, or within a single network slice, different traffic flows can be separated according to traffic flow separation, as shown in
For resource partitioning between slices, the reservation of resources in the physical infrastructure is not per individual traffic flow, but instead based on the sum of critical traffic flows within a slice. This total requirement needs to be defined in the network slice SLA. The resource partitioning does not need to be static. Better efficiency can be achieved if unused resources of one slice can be used by another slice. This can be seen in
Industrial Applications
Following is a discussion of several applications and activities that connect to industry technologies. This discussion includes a discussion of cloud robotics, which is a new technology that provides many additional benefits, compared to previous technologies.
In Chapter 5.3.2 of “Study on Communication for Automation in Vertical Domains,” 3GPP TR 22.804, v. 16.2.0 (December 2018), motion control is introduced as a use case for factories of the future. Motion control is essential for any automation application and, for example, is also fundamental for industrial robots. A robot's motion or a printing machine's functionality is basically just a coordinated motion control of multiple actuators.
Motion control refers to the task of driving an actuator (or a group of actuators) in a way (and ensure that it is doing so) an application requires. Electronic motors are the most common actuators in industries. There are diverse ways to classify electrical motors (e.g. AC-DC (brushed/brush-less), stepper-servo-hybrid stepper). Nevertheless, the motion control principles are similar for each motor class. Communication technologies are used to coordinate and synchronize multiple actuators and for higher layer control. Motion control applications with requirements on accuracy or precision are always implemented as a closed-loop control.
There is a common logical split in motion control systems:
Typical communication patterns in the motion control architecture (numbers as in
A single motion controller might control multiple actuators, if for example several motors are used in the same machine. In the technical report mentioned above, the requirements for motion control applications (there the closed-loop is addressed: motion controller-driver-encoder) are listed—these requirements are reproduced in Table 1, below.
In 3GPP TR 22.804, it is further mentioned that two consecutive packet losses are not acceptable and a very high synchronicity between all devices involved (with a jitter below 1 usec) is required. The latter is mandatory to be able to take samples from distributed encoders and also apply new set points from the motion controller to drivers at common sampling points. This is referred to as isochronous communication, which means that applications (so the motion control program as well an all actuators and encoders) are in sync to the communication cycle timings given by the communication technology (for example, of Profinet). This also ensures minimal and deterministic latencies using timed channel access.
Several vendors of motion control equipment, such as motion control manufacturer Lenze, also combine functionalities into single physical entities. On an upper “control level,” they use a combined PLC+motion controller (Logic & Motion), next to a human-machine interface. This controller takes input from IO-devices (3) and feeds its set points to e.g. the servo-inverter (2) over EtherCat (“Field Level”).
Another trend is to integrate encoder and/or driver and/or motion controller into the motor. This is also sometimes referred to as an integrated motor or a smart motor.
Furthermore, it is possible that multiple motion controllers are used for the same application; each motion controller controls a subset of drivers. Coordinated motor movement requires communication between separated motion controllers. In 3GPP TR 22.804, this is referred to as ‘Controller-to-Controller’ (C2C) communication. Cycle times between 4 to 10 ms are assumed. The requirements for synchronization are equally strict, with a jitter below 1 usec also on the C2C level. Payload sizes may be up to 1 kB.
For safety reasons there may be an additional functional safety control deployed in wireless motion control applications. Functional safety is implemented as an additional closed-loop, next to the one used for motion control itself. This is done through additional hardware or integrated safety functions in the motion control components. Communication protocols like ProfiSafe are used. One safety restriction is, for example Safe Torque Off (STO) (from IEC 61800). STO defines, that in case any error/safety issue is detected by the PLC or an additional safety PLC, power delivery to the motor need to be stopped. An STO can for example be triggered by pressing an emergency button. In 3GPP TR 22.804, it is explained that for functional safety, a strictly cyclic data communication service is required between both ends. If connectivity is disturbed, an emergency stop is triggered, even if no real safety event has occurred. There are different requirements (4 ms to 12 ms cycle time, packet size 40-250 byte, tolerable jitter in transmission according to 3GPP TR 22.804) for different use cases. Safety functions might be implemented in different components of the motion control architecture.
To sum up, there are four different types of communication for motion control:
The requirements for the communication system regarding latency are decreasing from 1 to 4. Whether it makes sense to establish links 1.-4. over a wireless communication technology is application dependent. In most cases it might be most relevant to establish wireless links for 2), 3) and 4), but perhaps not for 1).
Cloud Robotics
In industrial robotics research and robotics in general, cloud robotics is a major topic. It describes how different cloud technologies can be used to provide additional benefits for various robotics tasks and thereby improving the flexibility and the capabilities of the whole system. Several studies have already shown the benefits of connecting robots to a cloud:
High flexibility is indeed a key requirement for Industry 4.0. It is needed to realize cost effective and customized production by supporting fast reconfiguration of production lines, as well as, easy application development. Typical industrial applications are time-sensitive and require highly reliable communication end-to-end. Therefore, 5G URLLC and edge cloud are necessary technologies to address the requirements. Although some cloud robotics applications don't require real-time communication, still some do heavily, especially if the cloud's processing is relevant for the immediate motion of the robot. In the following, some of the major challenges with industrial applications that can be addressed with cloud robotics are listed:
In the following, briefly described are some cloud robotics scenarios that involve (real or emulated) 4G/5G connections and cloud technologies for industrial robotics applications.
One application of cloud robotics is to replace the hardware Programmable Logic Controller (PLC) in a robot with a software version (soft-PLC) and run that in a virtualized environment/cloud on commodity HW components. A concept study of this involved a real robot cell with two large robot arms, a conveyor belt and some other industry devices. For the communication, ProfiNet was used.
One issue is what level of robot control can be shifted to the cloud over LTE. This is illustrated in
From the cloud platform perspective, one of the main challenges that virtualized control brings in is the execution of real-time applications. An application might use a soft-PLC that uses Windows 7 as a base OS, next to a real-time OS that is responsible for executing the PLC code. Both run in parallel and communicate via inter-process communication (IPC). The control logic implementation is always executed by the RTOS and Windows is often used as a user interface. The RTOS typically has some specific requirements to ensure the necessary performance such as precise timers and specific network interface cards. A virtualized environment that can host the software PLC platform and execute the same control logic as the one that was running on the hardware PLC can be created.
In a real factory environment, placing the PLC-level of control logic from dedicated HW into an edge-cloud platform is feasible, and works adequately even over LTE. However, if we investigate applications such as trajectory planning, inverse kinematics and control loops that accurately steer the speeds, accelerations or positions of the actuators, significantly lower latency in the range of 1-5 ms is required. To support those applications, the ultra-reliable and low-latency service of 5G is essential, as shown in
One motivation behind moving motion control of robots to the cloud is again to increase flexibility. For instance, much easier to rearrange production lines with cloud-controlled devices, since only the devices need to be moved (no controller boxes), easier to manage, reprogram, do failover, or software updates in such an environment. However, some functionalities should remain inside/close to the robot (using cables), for instance, some safety mechanisms in case of connectivity problems. The requirements on the network are lowered if the robot could also perform its task without connectivity. In case of temporarily connectivity loss or reduced performance (due to for example extended robot mobility on the shop floor) the robot could reduce its working speed or activate other mechanisms to ensure safety or process targets while being independent from the network. The robot controller as an additional entity next to the robot itself should be removed from the shop-floor. An architecture for this type of deployment is shown in
Another approach could be that the motion control is done inside the robot autonomously and the connectivity is used only to enable new use-cases such as cooperative robot control. For cooperative control, one control entity may still need quick access to the actual state of the other control processes. This option is valid in some scenarios when, for example, the motion control has 5 ms control loop inside the robot, but it needs to coordinate with another instance only in every ˜100 ms.
A robot controller including trajectory planning and execution, has been implemented, with the performance of a robot arm control application from a local cloud over a modelled wireless channel being evaluated. The application under evaluation included the closed-loop control of a industrial robot arm, where control was connected to the robot arm through a modelled 5G link.
The effect of the link delay on the performance of the robot arm movement quality can be measured by specific key performance indicators (KPIs). The industrial robot arm has an externally accessible velocity control interface that accepts velocity commands for each joint (servo) and publishes joint state information with 8 ms update time. KPIs may be response time and precision of trajectory execution, i.e., spatial and temporal deviations from the planed trajectory. Measurements have shown that network delays below 4 ms have no significant performance impact in this application. This is because (1) the internal operation of the robot ends in about 2 ms standard deviation in response time due to the internal sampling used in the robot, and (2) the ticks of the robot and the controller are unsynchronized. The impact of network delays below 4 ms is masked by the background “noise” of the measurement setup.
Several other conclusions can be reached:
The internal mechanisms of a robot arm can also put requirements on the network delay. In general, a system with low update time requires lower network delay. For instance, the control of a robot arm with 20 ms update time, tolerates higher network delay than a more precise and faster robot arm with 1 ms update time. In addition to this, providing ultra-low latency connection for a system with relatively high update time has limited performance advantage.
Performance requirements of trajectory execution can also put requirements on the network delay. Faster robot movements require lower network delay for accurate movement. On the other hand, if only a higher latency connection is available then using lower robot speed can compensate increased network delay to some extent. Performance optimization can also give guidelines for the required network delay. Choosing a proper required accuracy can improve the execution time. For example, if less accurate movement is enough, then relaxed accuracy can shorten the refinement time.
New robotic concepts and applications include massively collaborative robot control, as well as the use of digital twins in cyber-physical production systems. These are briefly discussed in the below sections.
Hexapod
When introducing higher collaboration and adaptation capabilities into industrial applications such as robot arms and robot cell control, collaboration of a massive number of servos may be required, making the use case even more challenging. The hexapod robot is a useful application for evaluating a wide spectrum of challenges arising in an Industry 4.0 robot cell, e.g., servo control, collaboration, etc.
The hexapod can be considered as six 3-degree of freedom robotic arms connected via a base link. For evaluating 5G requirements, the servos at the 18 joints may be controlled separately from a computer residing a wireless network hop away from the hexapod. This way the hexapod proves to be an appropriate choice for visualizing the effect of synchronized collaboration. Well-synchronized collaboration should result in a stable center position, while any glitch in the system results in jiggling of the platform. Results of an evaluation of wireless control of the hexapod have been reported in Geza Szabo, Sandor Racz, Norbert Reider, Jozsef Peto, “QoC-aware Remote Control of a Hexapod Platform,” ACM Sigcomm, Budapest, 2018.
Digital Twin
The Digital Twin (DT) concept is useful for analyzing the effects of network on the control of a real robot, where its DT runs in a complex robot cell executing agile robot tasks. A realizable DT may be implemented in the Gazebo simulation environment and evaluated against a fully simulated scenario solving the Agile Robotics for Industrial Automation Competition (ARIAC). This evaluation deals with issues of the different command frequencies, control loops and handling of dynamics of the real and simulated robot. An evaluation of the architecture in a hardware agnostic Gazebo plugin shows that the simulation of the network controlling a simulated robot can be used in low-delay scenarios. In high-delay scenarios the simulated latency provides approximately ˜10% more room regarding the delay size till the complete failure occurs in the robot cell. These results are reported in Ben Kehoe, Sachin Patil, Pieter Abbeel, Ken Goldberg, “Survey of Research on Cloud Robotics and Automation,” IEEE Transactions on Automation Science and Engineering (T-ASE): Special Issue on Cloud Robotics and Automation. Vol. 12, no. 2. April 2015.
Positioning
Positioning is recognized as an important functionality in industry and manufacturing scenarios, with use cases such as personnel tracking (e.g., in mines), safety (e.g., when working close to forklifts), locating tools in manufacturing/assembly floors, supply chain optimization, operation of automatic guided vehicles, etc. Most use-cases require only relative positioning, e.g., where all positions are defined relative to a common reference point in a factory hall.
The required positioning accuracy, as well as the environment and radio conditions where positioning is to be performed, vary significantly between different use cases. However, most manufacturing use cases are indoor, like for example a factory hall or the tunnels in a mine. This implies that global navigation satellite system (GNSS) based solutions are difficult to use because of the very low signal strength levels received indoors from satellite transmissions, resulting in no or bad coverage.
The limitations of GNSS systems indoors have opened for cellular based positioning solutions. Commonly used positioning solutions in industries and factory floors today are based on Wi-Fi, radio-frequency identification (RFID), Bluetooth low energy (BLE), ultra-wide band (UWB) and LTE. Narrowband (NB)-IoT and CAT-M are 3GPP LTE technologies to address low complexity, low power, low cost devices, and are therefore the only realistic 3GPP positioning solution for use cases where the asset to be positioned doesn't already contain a 3GPP modem for communication needs. Radio solutions, such as RADAR, and non-radio solutions, like LIDAR and computer vision systems, are also important especially when positioning with high (sub-meter) accuracy is required.
Multipath propagation is often a critical error source for positioning. In industry halls, the delay spread of the paths is typically relatively short, but these are still critical given the requirements for accurate positioning in such environments. Most positioning algorithms work under the assumption of availability of line-of-sight measurements and there are no straightforward ways to distinguish between line-of-sight (LoS) and non-line-of-sight (nLoS). If an nLoS path is mistakenly used instead of a LoS path for positioning, both the time-of-flight and the angle of arrival might be misleading. The time-of-flight of the nLoS path will be an upper bound of the time-of-flight of the LoS path, while the angle of arrival can be completely wrong. Therefore, nLoS paths may greatly degrade the performance of positioning algorithms. Future industrial positioning schemes need to tackle this issue satisfactorily.
Another obstacle to precise positioning is network synchronization errors. Practical network synchronization algorithms can imply network synchronization errors of up to 360 ns, which corresponds to ±110m of positioning error. A promising alternative to improve the positioning accuracy is radio-interface-based-monitoring (RIBM). This solution is based on base station timing measurements of positioning reference signals from neighboring base stations and estimates the synchronization offset between base stations so that “virtual synchronization” with much better accuracy can be provided. Alternatively, positioning techniques that don't require network synchronization, e.g. techniques based on round-trip time and/or angle of arrival measurements, can be considered. Note that any estimates of positioning accuracy stated herein assume that good network synchronization has been achieved, e.g. using RIBM.
Positioning accuracy, especially between time instants where measurements are performed, can be significantly improved by considering the trajectory of movement. Furthermore, inertial measurement units (IMUs) are becoming increasingly widely adopted in terminals as a means of updating position estimates. They use accelerometers and gyroscopes (and sometimes also magnetometers) to track movement of the terminal.
Deployment Aspects
To reduce cost and simplify deployment, solutions where one system is used both for communication and positioning are preferred. This is especially important in environments where deployment of a separate positioning system is difficult and costly, for example in mines where the installation cost of each node is often high. However, if the communication deployment, which may comprise one or a few micro base stations, for example, doesn't provide sufficiently good positioning accuracy, a separate or complimentary positioning system added on top of the communication system may be the best solution, since high-precision positioning typically requires a much denser deployment than communication.
The positioning accuracy that can be achieved depends to great extent on how dense the deployment is and the characteristics of the radio environment. Densification of the communication network may thus be a means to achieve improved positioning accuracy. A dense deployment is especially important in environments with severe multipath propagation, especially if the multipath propagation is dynamically changing, since there may otherwise not be sufficiently many LoS paths available to estimate the position. A dense deployment may also be necessary to ensure that hidden objects with high signal attenuation can be localized.
The density of the network is a key aspect for providing good enough positioning accuracy in manufacturing scenarios. Another deployment aspect to consider is how simple it is to install the anchor nodes. Installation may for example include manually providing the exact position of the anchor, which may be difficult, time consuming and error prone. To avoid this, a simultaneous localization and mapping (SLAM) algorithm may be used to estimate the position of each anchor in the initialization phase.
To make dense deployments cost effective, the cost of each anchor must be kept low. However, the cost of each anchor/base station for technologies providing both communication and positioning is naturally higher than for technologies only providing positioning, e.g. RFID and UWB. One way to reduce the cost involved in densification of the communication network to achieve high-precision positioning may be to develop simple anchors, using the same technology as the costlier base stations, with reduced capability that only provides positioning. For example, only one or a few highly capable NR base stations mounted in the ceiling of a factory hall may be sufficient to provide communication coverage. Less capable NR positioning nodes/anchors can then be used for densification to achieve positioning with high accuracy.
Another way to reduce the need for a very dense deployment may be to combine the advanced beamforming capability of NR with reflectors. In this way, every pair of transmit beam and reflector may act as a virtual anchor, thereby achieving the benefits of a very dense deployment with only a few NR base stations. One challenge with such a solution is stability, since the reflectors should be stationary or at least only slowly changing to ensure a stable positioning accuracy.
Spectrum Aspects
It is well-known that positioning accuracy improves with increased bandwidth. Furthermore, higher signal bandwidth enables greater resolution of the LoS leading edge from the nLoS dominant received signal and it is therefore easier to accurately detect the LoS paths. On the other hand, using higher carrier frequency may reduce the detectability of the LoS path due to increased signal attenuation.
Frequency bands for local usage are currently being defined, e.g., the 3.7-3.8 GHz band in Germany and Sweden. Nation-wide spectrum and/or unlicensed spectrum may be used for industries as well. 100 MHz bandwidth should be sufficient to achieve sub-meter positioning accuracy. To improve performance further, different spectrum chunks may be combined.
Accuracy Requirements
Positioning accuracy requirements range from millimeter to several tenths-of-meters level. For example, drilling and blasting in mines as well as automated manufacturing (alignment, assembly) may benefit from millimeter-to-centimeter accuracy. Other examples where centimeter-to-decimeter accuracy is desired include locating tools in manufacturing/assembly floors and tracking of automated guided vehicles. Decimeter-to-meter accuracy is required for some safety solutions, for example tracking of personnel and real-time warnings for personnel working close to a forklift, but also when considering for example supply chain optimization and asset tracking (e.g. tools, machines).
3GPP have documented positioning requirements for 5G positioning services in TS22.104, Section 5.7, “Positioning performance requirements.” Table 2 excerpts some of these requirements. According to 3GPP, depending on the use case, the 5G system should support the use of 3GPP and non-3GPP technologies to achieve higher-accuracy positioning.
Overview of Positioning Technologies
Below, an overview of positioning technologies that may be useful for manufacturing is given, with some focus on how they can be applied in a manufacturing scenario. The focus lies on 3GPP techniques, but a number of other techniques are considered here as well. Positioning using RFID and BLE beacons has not been included in this overview, but it will be appreciated that many of the same principles apply there, and that the various technologies described herein may be combined with these and other positioning technologies.
LTE OTDOA
Since Release 9, LTE supports observed time-difference of arrival (OTDOA) positioning, which is based on reference-signal time difference (RSTD) measurements that are described in 3GPP TS 36.305. The UE receives positioning reference signals (PRSs) from neighboring cells, estimates time of arrival (TOA) for each cell using RSTD measurements, and reports back the TOA with respect to a reference cell. Afterwards, the evolved serving mobile location centre (E-SMLC) estimates the position of the UE based on known eNB positions. The time difference of arrival (TDOA) is used with respect to a reference cell instead of TOA, because this removes requirement that the UE be time-synchronized, although the network needs to be synchronized. In principle, a minimum of 3 cells are needed for 2D positioning and a minimum of 4 cells are needed for 3D positioning.
In LTE, RSTD can be estimated based on cell-specific signals or based on optionally defined PRSs. However, the TDOA estimation procedure typically uses PRSs because other cell-specific reference signals cannot guarantee high enough probability of detection of neighbouring cells at low (sub −6 dB) signal to interference and noise ratio (SINR). The PRSs are defined from Gold sequences initialized by time variables (slot number within a frame and OFDM symbol number within a slot) and PRS ID, and allocated in a diagonal pattern that is shifted in subcarrier. Essentially, three main factors contribute to high PRS detectability:
The RSTD is drawn from the power delay profile (PDP) generated by cross-correlating the received downlink baseband signal with the PRS. The challenge here is to detect the earliest peak in the PDP which is not a noise peak and then take the peak delays in terms of multiples of samples. A major source of TOA error is nLoS conditions where the LoS path is not detected due to blocking or shadowing.
The positioning accuracy that can be achieved with LTE OTDOA in practical deployments is in the order of 50-100m for Release 9. In LTE Release 14, the report resolution to the E-SMLC was changed from Ts to Ts/2, where Ts is the basic time unit in LTE (32.55 ns), to improve the relative distance resolution from 9.8m to 4.9m. It is however still unclear what accuracy can be achieved in practice. In addition, OTDOA requires network synchronization and any synchronization error reduces the positioning accuracy that can be achieved. For LTE, there are mobile broad band (MBB) UE chipsets available that cover most of the positioning methods standardized up to Release 14.
The scenario assumes 6 gNBs (a total of 12 gNBs) separated by 20 meters. (“gNB” is the 3GPP terminology for an NR base station.) The results show that the positioning accuracy is improved significantly when increasing the bandwidth from 5 MHz to 10 MHz and as much when further increasing the bandwidth to 50 MHz. However, it can also be seen that the 100 MHz and 50 MHz results do not differ much, with around 8 meters accuracy at the 80% percentile. The 100 MHz case can be further improved by using a more advanced peak search algorithm for time-of-arrival (TOA) estimation. In the current simulations, the earliest peak in the PDP that is at least half as high as the highest peak is taken as the LOS peak. If the signal-to-noise ratio (SNR) is increased, the probability of detecting a peak above the noise floor can be improved. Furthermore, errors larger than the inter-site distance (ISD) of 20m can in practice be compensated by combining with a simple cell-ID (CID) estimate if the OTDOA becomes unreasonable, which is not done here.
Narrowband (NB)-IoT and CAT-M are 3GPP LTE technologies to address low complexity, low power and low-cost devices. The availability of such low-cost devices makes this the only realistic 3GPP solution for use cases where the asset to be positioned doesn't already contain a 3GPP modem for communication needs. However, the positioning accuracy is significantly worse when using IoT devices, mainly because of the narrow bandwidth used. A simulation study demonstrated 100m positioning error at the 70% percentile for NB-IoT in an indoor deployment, while LTE using 50 PRBs for positioning gave ˜23m at the 70% percentile in the same scenario.
The narrow bandwidth of NB-IoT devices is compensated partly by enabling longer PRS occasions in time. However, the correlation properties are poor since the PRS is repeated every frame (10 ms). NB-IoT devices also have lower sampling rates to reduce power consumption, which reduces the accuracy of RSTD measurements.
Chipsets for LTE IoT-devices are not as readily available as for LTE MBB. However, development is ongoing, and the availability is slowly improving.
IoT positioning for NR is not defined as of December 2018, but one enabler for better IoT positioning accuracy is to improve the time-correlation properties of the PRS, e.g. by increasing the PRS repetition interval. Carrier-aggregation for NB-IoT has also been discussed and the increased bandwidth may in this case be another enabler for improved IoT positioning. Another alternative may be to modify the phase of the eNB PRS, thereby ensuring that the NB-IoT devices can sample at low rates and still detect the phases of the PRSs.
LTE Enhanced Cell-ID Positioning
Enhanced Cell ID, or E-CID, was introduced in LTE Release 9. The UE reports to the network the serving cell ID, the timing advance and the IDs, estimated timing and power of the detected neighbor cells. The eNB may report extra information to the positioning server, like the angle of arrival, cell portion, round-trip time, etc. The positioning server estimates the UE position based on this information and its knowledge of the cell's locations.
The accuracy of E-CID depends mainly on the deployment density. For outdoor deployments, the accuracy of E-CID may be in the order of 100m, for urban environments with ISD of less than a few hundred meters, or in the order of 3000m, for rural environments with ISD up to several kilometers. The accuracy of E-CID for manufacturing-like environments has not been studied, but the accuracy is expected to be in the order of the ISD, since the environment contains many multipaths and for example angle-of-arrival data may be misleading, due to reflections. On the other hand, even in such a challenging scenario, RF fingerprinting should be able to give an accuracy of a few meters if the radio propagation is stable and a calibration/training phase is feasible.
NR Positioning Features
As of December 2018, there is no defined concept for NR positioning. One can envision NR features which enable improved positioning accuracy over LTE OTDOA. Some of these features come with new challenges as well:
Expectations are that the solutions standardized for NR Rel-16 will provide the tools needed to achieve sub-meter accuracy. Link-level simulations showing the technology potential of NR indicate that sub-decimeter accuracy could be possible in theory. The Release 16 NR positioning 3GPP study item started in October 2018.
Positioning Using the Radio Dot System
Ericsson's Radio Dot System (RDS) is well suited for communication in indoor industry and manufacturing scenarios. However, with RDS products available as of December 2018, only cell-ID based positioning is available, since it is not possible to distinguish DOTs connected to the same IRU from each other. Furthermore, an RDS is often deployed with large cells since up to 8 DOTs can be connected to the same IRU. With the digital 5G DOT, up to 16 DOTs can be connected to the same IRU.
Improvement of the positioning accuracy, making per DOT positioning possible, has been proposed. UE position is calculated using an uplink time difference of arrival (UTDOA) algorithm combined with DOT level power. Simulations have shown that positioning errors of less than 1 meter can be achieved with good SNR and good DOT geometry layout. However, positioning errors in the order of 1-5 meters are likely, when taking various error sources, like the accuracy of DOT positions and DOT cable length delays, into account.
For typical manufacturing scenarios with severe multipaths, it appears that the radio dot system (RDS) is the most suitable solution for providing combined communication and positioning, due to dense deployment and low cost of the nodes.
Wi-Fi Positioning
Wi-Fi is already commonly deployed in industries and is therefore often used for positioning as well. One commonly deployed Wi-Fi solution is the ARUBA solution, which can achieve, with access point received signal strength indicator (RSSI) alone, around 5-10m accuracy, depending on shadowing and antenna patterns. To achieve better positioning accuracy, the ARUBA solution can be combined with Bluetooth low energy (BLE) battery powered ARUMBA beacons. With this specialized positioning solution, very good accuracy of <3m is likely to be achieved, and even accuracy of <1m can be possible when the device to be positioned is located close to a beacon.
The leading industrial Wi-Fi positioning solution achieves 1m to 3m average accuracy in office environments. This positioning solution includes an additional WiFi radio, with a specialized antenna array, that is included in the same unit as the WiFi radio used for communication. The positions are estimated using a combination of RSSI and angle-of-arrival (AoA) measurements.
A difference between Wi-Fi positioning and 3GPP based OTDOA positioning is that Wi-Fi positioning (IEEE 802.11mc) may be based on round-trip time (RTT). In contrast to the OTDOA algorithm described above, the advantage of using RTT is that there is no need for network time synchronization.
UWB
Ultra-wide-band (UWB) techniques have become increasingly popular in positioning solutions, since the inherent high time resolution in UWB signals enable precise positioning. There are several UWB-based positioning products available. Many of them are based on DecaWave UWB technology, but there are also proprietary solutions (e.g., Zebra).
UWB can be used in multiple algorithms. It can support downlink or uplink TDOA, angle of arrival using multiple antennas, as well as direct range measurements, where network time synchronization is not needed at all.
Due to the nature of the very short transmission pulses used in UWB techniques, UWB can detect and eliminate problems due to multipath propagation, since reflections are individually detected and can be filtered. This is a clear advantage compared to narrow band systems, where such discrimination is not possible. The precision of time of flight is in the range of 2-5 cm. When applied in a real environment, the positioning accuracy with UWB is on the scale of 10 cm.
One advantage of UWB is the potential for cheap devices, compared to 3GPP modules. Commercial UWB transceivers are available for approximately 3-4 USD. This enables increased installation density, flexible choice of algorithms to support various use-cases and cloud platform to support a global ecosystem that can serve various segments globally.
Lidar
Some positioning techniques estimate the distance by measuring the round-trip delay of an ultrasonic or electromagnetic wave to the object. Ultrasonic waves suffer large losses in air and cannot reach distances beyond a few meters. Radars and lidars use electromagnetic waves in radio and optical spectra, respectively. The shorter wavelengths of the optical waves compared to the radio frequency waves translates into better resolution and lidar solutions are therefore a favorable choice for high accuracy positioning. As in radar solutions, the main components of a typical lidar include a transmitter and a receiver and the distance is measured based on the round-trip delay of light to the target. This is achieved by modulating the intensity, phase, and/or frequency of the waveform of the transmitted light and measuring the time required for that modulation pattern to appear back at the receiver.
Popular lidar architectures include pulsed and frequency-modulated continuous-wave (FMCW) schemes. Pulsed lidars rely on the particle properties of light and can provide moderate precision over a wide window of ranges, while FMCW lidars rely on the wave properties of the light. In these lidars, the modulation is applied to the frequency of the light field and the large frequency bandwidth in the optical domain becomes accessible and can be exploited to achieve very high precision localization with accuracy in the nano-meter range.
Summary of Positioning Techniques
Important properties of the positioning techniques discussed in this section are summarized in Table 3. Note that the accuracy numbers stated are only for indicative purpose. The actual positioning accuracy depends on various factors, including but not limited to the network deployment, cell planning, radio environment, etc.
Hybrid Positioning
Many devices in the market today are equipped with sensors such as an inertial measurement unit (IMU). The IMU may contain a 3-axis gyroscope and a 3-axis accelerometer, for example. Data provided by the IMU can enable the location server to estimate the UE trajectory between, after, or during an OTDOA/E-CID positioning session, and can reduce the need for frequent OTDOA/E-CID measurements. A hybrid positioning solution using IMU may also be beneficial in scenarios where the device may move out of positioning coverage part of the time, thereby increasing the positioning reliability. An example use of IMU data together with position estimates is illustrated in
Note that a positioning system solely based on IMU is a relative positioning system, i.e., it can estimate the position of a UE relative to a known coordinate. For example, the pressure difference over a period translates to an altitude change, and an acceleration during a period indicates a change of speed.
In order to fuse the radio measurements with IMU data, it is required that the data reported from the IMU equipped UE is aligned with a standardized earth bounded coordinate system. Or, that the UE reported IMU measurements can enable the location server to translate the measurements into an earth-bounded coordinate system. To get the UE position in earth-coordinates, the orientation of the device is needed. A common method to determine the orientation is to use gyroscope, magnetometer and accelerometer. After the orientation is estimated, one can use the orientation and accelerometer to estimate the acceleration relative the coordinate system (accelerometer minus gravity). By having the relative acceleration, it is possible to estimate the relative displacement of the device by, for example, double integration.
LTE Rel-15 includes support for IMU positioning and specification of the signaling and procedure to support IMU positioning over the Location Positioning Protocol (LPP), as well as hybrid positioning that includes IMU related estimates.
Network Synchronization Accuracy
For OTDOA as well as uplink time-difference of arrival (UTDOA), which is the positioning method supported in LTE, network synchronization errors leading to errors in the TDOA estimates may dominate the overall positioning error. It is therefore important to understand what network synchronization accuracy that can be achieved. The synchronization errors can in principle be directly translated to positioning errors by considering the distance light travels during the timing error caused by the synchronization error, that is, a synchronization error of 1 ns corresponds to a positioning error of 0.3m.
The synchronization error mainly consists of four additive parts:
When considering manufacturing scenarios, we have the following situation for each of the four parts:
The discussion above assumes the RBS is time locked to the reference. When the RBS goes to time holdover, the accuracy may decrease.
The numbers above can be significantly improved by radio-interface based monitoring (RIBM), where the phase difference between an RBS antenna and a reference is measured and reported. The reported phase difference can then be accounted for when calculating the position of an object. The synchronization error remains, but the part of the error which is accounted for will not affect the OTDOA positioning accuracy. This is a promising method, since RIBM may achieve a virtual synchronization accuracy of about 20 ns between RBSs. Thereby, the external synchronization reference error 1) does not affect the OTDOA positioning and can be ignored.
For RDS, the synchronization between the DOTs connected to the same indoor radio unit (IRU) is in the order of 6 ns, under the assumption that the IRU contains common DOT hardware. This holds for both the legacy DOT available today and the digital 5G DOT that will be available in 2019. RIBM may be a solution to achieve synchronization between DOTs connected to different IRUs but may require a specialized feature to operate, since the standard RIBM algorithm require the node to be synchronized to receive when not transmitting, which DOTs do not.
In summary, practical network synchronization algorithms can imply network synchronization errors of up to 360 ns, when locked to the GNSS reference, which corresponds to a positioning error of up to ±110m (3 sigma). If the RBS is in time holdover, the accuracy can be even worse. In the future, RIBM may provide virtual synchronization accuracy of about 20 ns, which corresponds to a positioning error of 6 m. For RDS, positioning using DOTs connected to the same IRU is affected by synchronization errors of about 6 ns, which corresponds to a positioning error of around 2 m. If DOTs connected to different IRUs are utilized to estimate the position, RIBM may in the future be applied to provide virtual synchronization accuracy of about 20 ns.
Improving Accuracy in Severe Multipath Scenarios
LTE OTDOA, as well as other positioning algorithms, suffer severe penalties in terms of positioning accuracy if there is no way to handle the problem of multipath. In essence, OTDOA assumes that the RSTD represents the LoS path, but it is in general hard to determine whether or not the LoS-path is blocked or very damped. At the very least, one can say that an nLoS path represents an upper bound on the distance between transmitter and receiver. The multipath problem is significant in typical industry environments, especially for high frequencies. Some approaches which address the multipath problem include:
In summary, we can conclude that selection of the most suitable positioning system for manufacturing must take several different aspects into account, including:
When it comes to accuracy, there are industry use cases with positioning requirements ranging from mm-level accuracy to several tenths of meters. In an environment with a high probability of LoS and few blocking obstacles, it may be possible to estimate position within ten meters to a few tenths of meters accuracy in deployments with only one or a few micro base stations mounted, for example, in the ceiling of a factory hall. However, in many manufacturing scenarios, the reality is an environment with multipaths, reflections and many blocking obstacles. In such scenarios, it seems like the radio dot system (RDS) is the most suitable solution for providing combined communication and positioning, due to dense deployment and low cost of the nodes.
The accuracy numbers stated for different positioning techniques often assume that network synchronization is sufficiently good. However, in many cases network synchronization errors in the order of 10-20 ns, corresponding to 3-6m positioning error, is very difficult to achieve. For positioning needs, virtual network synchronization achieved through RIBM is the most promising solution.
UWB solutions are becoming increasingly popular in industry and manufacturing use-cases due to the high accuracy and relatively cheap devices. However, one drawback is that the UWB solutions are not integrated with a communication system, which is the case for the 3GPP-based solutions, for example. In the future, NR may replace UWB, since NR will also use very wide bandwidth.
Positioning latency requirements in manufacturing are relaxed for most use cases. For example, keeping track of tools and assets don't require very frequent positioning updates. The most demanding manufacturing use cases in terms of positioning latency may be safety related. One example is a real-time alarm to warn workers when a forklift is close. The trade-offs between high accuracy and positioning latency for such a use-case have not been thoroughly studied yet.
The relation between device and anchor is also important to consider. For LTE and NR, both devices and anchors are complex and costly, and solutions built on these techniques are therefore not suitable for use cases where many small objects should be tracked, since each object must have their own LTE or NR device. In this case, UWB or RFID may be more suitable since most of the complexity lies in the anchor node and the device/tag is therefore cheap. 3GPP-based technology with cheap devices, such as NB-IoT or CAT-M, can be also be considered for this type of use cases, but since these techniques are narrowband, the positioning accuracy that can be achieved is low.
Spectrum
For industrial applications, some particular issues relating to spectrum include:
Recent regulation has designated bands for “local or regional use” (e.g., 3700-3800 MHz in Germany and Sweden, 3300 MHz in China). Such actions are not a global radio solution for Industrial IoT. Still, the introduction of these bands is a good first step for private use licenses of spectrum. It is not anticipated that these regulatory actions will spread across all markets immediately. Therefore, it is clear that additional access to globally harmonized spectrum will require opportunities derived from spectrum licensed to mobile network operators (MNOs), essentially through business arrangements that allow leasing of spectrum, or of capacity under well-defined Service Level Agreements (SLA).
The availability of mmW spectrum does pose challenges for Industrial IoT, mainly due to the time needed to establish products in the market, and the complexity of semiconductor manufacturing at such high frequencies. Building practices for equipment are not established, with significant challenges remaining on cost effective solutions for devices. Millimeter wave equipment may also offer some advantages: the propagation characteristics of narrow-beam transmitters can enable better reuse with transmit power control and beamforming, and coexistence can likewise be easier. The frequency bands are also suitable for wider bandwidth signals, although uncertainties remain in the amount of spectrum that may be made available for industrial wireless.
The fourth Industrial Revolution, known in literature as Industry 4.0, is an opportunity for 5G wireless technologies in manufacturing, exploration and process control situations within factories, mines, process industries etc. The exploitation of these opportunities will require access to spectrum, either unlicensed, shared or exclusively licensed. Indeed, there are clear indications from industry that lack of access to high-quality licensed spectrum is a key roadblock that has to be overcome. Access to licensed spectrum for Industrial IoT can be provided in one of three ways.
1. Service Level Agreements (SLA): Agreements with an MNOs can fulfill these requirements, with MNO-provided or provisioned service; e.g.,
The regulatory situation for spectrum leasing is summarized below. The regulation for spectrum leasing is of interest for possible business models for 5G use-cases
Regarding local licenses, such licenses are presently non-existing for private/public use. Some 5G use cases, especially when associated with addressing industrial automation, would benefit from local licensing; 5G introduction offers an opportunity in this regard. Planned auctions of the first 5G band in Europe (3.4-3.8 GHz) have triggered regulatory activity in two countries (Germany and Sweden) by defining a particular realization of local licensing. In China, industry has shown interest in dedicated spectrum.
In order to give a complete view of possible solutions, unlicensed bands suitable for industrial applications are also mentioned. The unlicensed bands are generally unsuitable for URLLC due to the possibility of interference due to contention-based operation; the variation in access performance creates uncertainty in throughput and delay performance.
Evolved LSA (eLSA) is a solution, currently being specified, to support leasing and local licensing within regulations by the means of a database/controller architecture. The eLSA is supposed to support any band and be technology neutral. Similarly, the Citizens Broadband Radio Service (CBRS) in US, to be first used in 3550 to 3700 MHz band, will use a Spectrum Access System (SAS) to handle the regulatory requirements for that band. This is also a database/controller architecture that provides leasing opportunities for local area use while the actual licensing is covering larger areas as per FCC regulations. The SAS can be used for other bands as well given appropriate regulatory requirements. The eLSA and the CBRS would cater for co-existence between different deployments according to the required regulatory requirements in a country or region. However, the way in which coexistence is ensured differs between eLSA and CBRS.
Many different spectrum bands are identified for 5G. Here, only bands that are likely to use NR technology are discussed. For example, the 700 MHz band is identified as a 5G band within the European Conference on Postal and Telecommunications Administrations (CEPT), but will likely implement 4G. The same applies for APAC regarding the 700 MHz band. Also, the 2.3 GHz band has been discussed, for example in Sweden, but presently mainly in the context of 4G.
There are currently no 5G 3GPP harmonized bands valid and allocated in all countries of the world, but harmonized spectrum ranges, like 3400-3800 MHz, 24.25-29.5 GHz, do exist. Several 3GPP bands will be defined within each range. Many mmW bands pending allocation are dependent of the outcome from WRC-19.
Europe
The 3400-3800 MHz band is identified as a “pioneer band” for 5G in CEPT. The plans for different countries vary a lot, depending on incumbents with very different license expire dates. There are countries that plan to auction the full band and then usually 100 MHz blocks are proposed, like in Sweden. Others only have the upper or lower e.g. 200 MHz available presently, due to incumbent usage. This results in more narrow band licenses like in the UK. When the remaining spectrum becomes available new auctions will take place. This will result in non-consecutive spectrum holdings for the operators, if nothing is done, such as a re-allocation of the band. Re-allocation might not happen, since “carrier aggregation exists”.
Most countries promote national licenses, except Germany and Sweden who propose to set aside 100 MHz (3700-3800 MHz) for local services according to existing plans. The block is generally available in Sweden 2023.
In the “5G action plan” from EC (European Commission) it is defined that all countries shall have:
The 26 GHz band (24.25-27.5 GHz) is also identified for 5G. The exact definition is to large extent depending on the outcome of WRC-19. In most countries, the range 26.5-27.5 GHz is empty and can be auctioned now. In some countries auctions have already started.
United States
In the United States, there are several bands targeting 5G on mmW (24/28/37/39 GHz), and it is only recently that the Federal Communications Commission (FCC) has started to consider mid-band spectrum (e.g., the 3.7-4.2 band). Operators have identified portions of the existing bands for deploying NR, e.g., T-Mobile on 600 MHz and Sprint on 2600 MHz.
There are upcoming FCC auctions of mmW spectrum at 28/39 GHz which are not owned by existing licensees.
On mid band, 5G will be allowed in the CBRS band (3550-3700 MHz). The band has licensed (PAL) and general authorized (GAA) blocks, based upon 10 MHz blocks. On 37-37.6 GHz it is proposed that licenses for local use is defined.
Asia-Pacific
Several of the major countries in the Asia-Pacific region are planning auctions during 2018/2019.
Korea auctioned 3.5 GHz (3420-3700 MHz) and 28 GHz (26.5-28.9 GHz) in June 2018 to operators.
China are planning to allocate additional frequencies on 2.6 GHz (160 MHz in total) and 4.9 GHz (100 MHz) to CMCC during 2018. Auctions for 3.5 GHz (3300-3600 MHz) is planned for 2019, where 3300-3400 MHz is planned for indoor usage. Presently 2300 MHz is mainly 4G indoor, but so far, no indication of allowing 5G.
Japan is planning a contest for band 3.6-4.1 GHz, 4.5-4.8 GHz (200 MHz for private operation) and 27-29.5 GHz (900 MHz for private operation) during 2019. Note that parts of 3400-3600 MHz are already allocated to LTE and will eventually be converted to 5G, but in Japan the band allocation is defined by law and can take long time to change.
Australia is planning the 5G auction on 3400-3700 MHz during late 2018.
Other countries that are in the process to plan 5G auctions are India, Indonesia, Pakistan, Thailand and Vietnam.
Middle East
Countries like UAE, Saudi Arabia and Qatar have concrete auction plans 2019-2021 for 3.5 GHz and 26 GHz. Other countries have also indicated upcoming auctions, but no detailed are known yet.
Summary of Spectrum
A summary of 4G/5G spectrum bands in different countries is shown in Table 4. The items that are shaded can be used can be used for local service and for industrial automation.
1WRC-19 (World Radio Conference 2019), Agenda Point 1.13: Additional allocations to the mobile services between 24.25 and 86 GHz for IMT-2020 and beyond
Regulatory Methods to Control Access to Local Spectrum
There are two other regulatory methods to get access to local spectrum:
These methods are applicable if the operator accedes to customer control over spectrum, or if regulators establish local licensing as a viable policy.
Under the spectrum lease approach, a Licensee/Lessor lease parts of his license to a Lessee, with or without a fee. The Lessee can lease parts of the frequency band, a portion of the spectrum to a particular geographical area, or both. A sublease is when the Lessee leases out spectrum to a secondary lessee. A regulatory view of spectrum leasing is shown in
Regulations for leasing of spectrum differ from country to country. Numerous aspects can be regulated:
The following is an overview of the regulatory situation regarding spectrum leasing:
Spectrum leasing of mobile bands from operators has primarily been done towards other operators in order to fulfill coverage and other requirements from the regulator. Volume-wise, this is almost exclusively in the US.
In higher bands (>10 GHz), fixed services are a use-case which involves leasing from operators by service providers. This is established in both US and Europe.
With the arrival of 5G, verticals provide use-cases in need of dedicated (mobile) spectrum. One question is which actor is going to be Lessee.
The operators' reactions long term on the possibility of leasing out mobile spectrum to verticals are not known. There are opportunities and issues for both the Lessor and Lessee for such a leasing agreement to take place, for example:
The introduction of 5G will cause a widespread change in the ability of operators to provide SLAs through network slicing. While network slicing is supported to various extents with all 3GPP based networks, the 5G CN will provide operators with a framework that enables programming network slices to effect separation between use cases, QoS classes as well as service providers. It would then be possible to have a deployment case where slicing can enable the leasing of network capacity. This would allow the local user to be in control of end-to-end SLAs and even control the behavior of the RAN, including, for example, QoS, within limits. The MNO would deploy and integrate the RAN with the CN according to the SLA of the leasing without losing overall control over planning and administration
Bands possible for spectrum leasing must comply with certain requirements. Leasing of the band must be allowed in the regulation in the specific country/region. Removing China, Africa and Japan from Table 4 above results in the following table:
Local Licensing
The majority of licenses use pre-defined administrative boundaries for defining the area for a license, such as:
The next level of granularity could be property. With this approach, property and land usage rights can be used the administrative definition to be used for local licenses. If local spectrum is needed from a larger area spectrum license, one solution to increase the granularity would be to use leasing of sub-areas. This solution can define areas bigger than property, if needed.
Presently when a regulator defines a local license for an area that is smaller than a region/municipal, the definition has been a coordinate and a radius, an event name, an address, coordinates defining an area, etc. This has not been a problem since the number of such licenses has been low. However, with the arrival of 5G use-cases, this will change. It is work in progress for regulators.
If the number of local licenses grows with the 5G use-cases, the coordination needs also grow:
While national and regional licenses for commercial services exist, local licenses exist for non-commercial purposes, such as test labs and test plants. Possibly licenses for some program-making and special events (PMSE) services could be seen as local. The arrival of 5G, with new types of use-cases, will require local licenses for factories, for example, and puts new requirements on the regulation.
The primary band for 5G services in Europe is 3.4-3.8 GHz, and the auctions of this band triggers regulative activity regarding local licenses. Higher bands, for example 24.25-27.5 GHz (pioneer band for early implementation in Europe), are suitable for local use in the sense that their propagation characteristics are less likely to cause coexistence problems, especially when being used indoor. Presently, regulatory discussions regarding local licenses for these bands are largely out of scope or may just be entering the realm of possibility, but this is expected to change with industry interest.
Certain indoor environments are amenable to reuse of spectrum across multiple uses, especially if the networks are separated by floors in modern buildings. It is well known that the loss across multiple stories of a building can be many tens of dB, even at mid-band frequencies like 3.5 GHz.
Industry in China has shown interest in local licenses in standards fora, pointing to the proposal for 3.7-3.8 GHz in Germany.
An example of a license assigned to industry is the allocation from 1800-1830 MHz that was provided to the Canadian hydroelectric power industry in the 1990s.
Europe: 3.7-3.8 GHz (part of 3.4-3.8 GHz, primary band for 5G services)
Several countries have auctioned the spectrum and more to follow. Two countries have had consultations including local licenses and are following each other.
USA: 3.4-3.55 GHz (possible extension to CBRS)
In the US, the National Telecommunications and Information Administration (NTIA) is evaluating spectrum sharing between military radar and mobile broadband in this band. The incumbent systems differ here in comparison to the existing CBRS range. If CBRS rules apply, licensed operation would be across counties, and the third tier would be comprised by General Authorized Access. The large area sizes in the CBRS band make it unsuitable for industrial use as verticals are unlikely to participate in the auction market.
Bands for Local Licensing
Bands possible for local licensing must comply with certain requirements. Local licensing must be allowed by the regulator
Keeping the local initiatives in Table 4 above results in the following table:
Technological Support for Leasing and Local Licensing
In Europe, eLSA is a continuation of the ETSI specified system Licensed Shared Access that manages access to spectrum in IMT bands where the incumbents cannot be evacuated within a reasonable foreseeable time. The access can be managed in time and geographical area. The system creates geographical protection and exclusion zones which incumbents does not allow others to use. In eLSA, allowance zones are introduced to enable also local licensee handling where the process of granting and managing the many local access licenses can be automated. It would also include the handling of leasing of frequencies to local area users from established licenses such as MNOs.
The specification work on the eLSA system has started in ETSI (Europe) and is based on the ETSI Technical Report “Feasibility study on temporary spectrum access for local high-quality wireless networks”. The technical specification on System Requirements is assumed to be ready end of 2018 and to be followed by specifications on Architecture & Procedural Flows, and then followed by a protocol specification. In Asia-Pacific information related to “local area” services have been shared and starting work on a technical report has been approved.
The eLSA system is based on a Database/Controller concept. It supports licensing and leasing but not unlicensed/license-exempt operation with e.g. granted access such as white space or licensed-by-rule access, as this will not provide the necessary interference protection requirements.
The database is named eLSA Repository and assumed to be in the Regulatory domain. The controller is named eLSA controller and ensures that the eLSA licensee's system would have the needed configurations to operate according to the licensing conditions, thereby readily supporting high quality needs to support the URLLC use cases. The controller will get the required regulatory sharing and co-existence requirements from the eLSA repository.
In the US, the Federal Communications Commission (FCC) has defined the Citizens Broadband Radio Service (CBRS) in the 3550-3700 MHz band, in regulations codified in the FCC rules.
The CBRS band is in use by naval radar and by the Fixed Satellite System (FSS) service, both services constituting Tier 1 incumbent primary use. Grandfathered Wireless Broadband Service Users, such as Wireless Internet Service Providers (WISP), operating under the rules of 47 CFR Part 90, Subpart Z, are also protected from interference from the CBRS until April 2020. The two remaining tiers respectively allow the issue of Priority Access Licenses (PAL) and General Authorized Access (GAA) in the band for wireless broadband use. PAL users benefit from licenses to spectrum based on the acquired licensed area and bandwidth. GAA users are allowed access any spectrum not utilized by higher tiers based on authorized access.
Radio devices are registered as Citizens Broadband Radio Service Devices (CBSD) based on their location and their operating parameters. Any eligible radio device may request access to Priority Access License (PAL) and GAA spectrum. Since the FCC does not confer any regulatory protection for GAA spectrum users, it is left to industry agreements to create solutions for GAA coexistence. While the Wireless Innovation Forum (WInnForum) is specifying technology agnostic protocols that are mostly geared towards regulatory compliance, the CBRS Alliance is seeking to improve the performance of LTE networks operating in the CBRS.
The CBRS Alliance was chartered as an industry trade organization seeking to promote and improve the operation of LTE in the band, for a variety of use cases, including operator-deployed small cell networks associated with public service, fixed wireless service for last mile replacement and Industrial Wireless. The Alliance is specifying changes to network architecture to allow both the traditional operator deployed operation and private network operation including neutral hosts and has provided a platform to establish the impetus for contributions in 3GPP for defining Bands 48 and 49 for LTE-TDD and LTE-eLAA operation in the band. The CBRS Alliance will also introduce 5G NR into the band in 2019. The focus of 5G on Industrial wireless applications fits with the mission of the CBRS Alliance.
The Spectrum Access System (SAS), a geolocation database and policy manager, authorizes access to CBRS spectrum by CBSDs. The SAS primarily protects higher tier users from lower tier operation in accordance with the FCC regulations. The logical relationships in the CBRS are described by the SAS-CBSD and the SAS-SAS interface, as shown in
Each PAL is 10 MHz and is limited to a maximum of seven licenses confined within the first 100 MHz of the CBRS band, i.e., 3550-3650 MHz. New rules have based license areas on counties, which number 3142 in the United States. There are seven PALs in each license area, the license terms are ten years with a guarantee of renewal, and licenses can be partitioned and disaggregated. Single operators are capped at a maximum of four PAL licenses. The ability to lease spectrum under geographical constraints and the ability to disaggregate licenses will support a secondary market in spectrum use for industries. In this way, PAL licenses can likely support URLLC without significant encumbrance.
The WInnForum is defining technology-neutral mechanisms for administering the band, including protection of incumbents, and PALs. Additional requirements for coexistence between GAA users is being developed, with much debate about whether coexistence should be engineered by the central authority of the SAS, or by local action by CBSDs arising from knowledge of the radio environment.
GAA users may use PAL spectrum so long as actual PAL deployments in PPAs are protected from aggregate interference that exceeds −80 dBm within the PPA. This is illustrated for PPA C in the figure, where two GAA CBSDs are allowed to operate on the same channel as the PAL user so long as the aggregate interference from their transmissions does not exceed −80 dBm over most of the PPA boundary. PPAs from different operators that overlap or are in close enough proximity will obviously use exclusive spectrum allocations. Thus, GAA users are guaranteed access to all of the 150 MHz of spectrum if the band is unencumbered by higher tiers.
While GAA users are not protected from mutual interference or interference from higher tiers, the WInnForum, and the CBRS Alliance have been engaged in attempting to specify methods of creating higher quality of experience for GAA users. The CBRS Alliance procedure reallocates the spectrum assigned by the SAS to the CBRS Alliance Coexistence group, creates local interference graphs based on environmental modelling, and optimizes spectrum allocation from a Coexistence Manager (CxM) that advises networks of CBSDs. In addition, the CxM manages Uplink-Downlink coordination for the TDD signal. LTE-TDD networks are all expected to be cell-phase synchronized and the CBRS Alliance coexistence specification details how this is to be achieved, independent of the SAS or CxM. The WInnForum and CBRS Alliance will try to guarantee at least 10 MHz of spectrum per CBSD. This is likely to be inconsiderate of eMBB service in congested areas.
Both PAL and GAA spectrum can address URLLC requirements, but URLLC quality cannot be guaranteed in all GAA situations. An operator would therefore not be able to enter into SLAs that would promise a customer that capacity or latency performance would not degrade, unless the facility being covered were physically isolated from other interferers.
The CBRS has several disadvantages:
On the other hand, there are things to like about the CBRS:
Coexistence
In general, coexistence problems will exist when industrial networks using cellular or RLAN technologies share spectrum with other services, e.g., satellite. It is possible for industries to gain access to spectrum that is globally designated for use by radio navigation, satellite services, or fixed services, provided there is sufficient isolation in geography or through path loss between such services. For example, indoor factory use of spectrum can easily occur in satellite bands. It is desirable that such bands be close to bands allocated for RLAN use or IMT so that there is an incentive for manufacturers to include such bands within radio equipment. The CBRS band is one such band having close association with bands already designated for mobile use in most markets around the world.
Another aspect of industrial use of spectrum is the problem of spectrum utility. While cellular technologies have the advantage of high spectral efficiency, it is also necessary that regulation enable a high degree of reuse of spectrum. In many cases, this will involve understanding the extent to which spectrum can be reused in license areas that are in close proximity.
There are cases when co-existence in reality is not problematic. Indoor spectrum for use-cases for industry can benefit from unusable spectrum (including not mobile allocation) for others, for example satellites, FS, FFS, radar (not indoor only). However, use-cases for outdoor spectrum for industry must also be considered
While it is true that indoor industrial use cases can benefit from secondary use spectrum that may be designated for other services, e.g., satellites, FS, FSS, radar etc., it is just as important to designate local spectrum for outdoor use by industries.
Shared Spectrum—Market Considerations
The philosophy behind shared spectrum regulations differs between the USA and Europe. The FCC has been willing to define the CBRS in a manner that places high value on spectrum utility, while the EU has tended towards spectrum quality and stability.
In Europe, the support of industrial IoT is focused on licensed bands since the level of interference from others can be contained to a certain level. It is expected that there will be many licenses and leasing contracts in a country.
An evolved LSA system is being designed in ETSI to handle deployment and coexistence issues in an efficient manner. Depending on the country the co-existence scenarios with co-channel possibilities can be local indoor to local indoor, local indoor and overlapping regional coverage and local indoor to local outdoor. The regulatory sharing conditions needed to handle this in, for example, the frequency domain (and possible need of reuse pattern), guard distance (if needed), wall loss assumptions, and by setting a permissible maximum signal strength level at the border that would secure a predictability of interference to neighbors. This would facilitate the deployment of the network with known expected interference levels to secure the wanted network quality levels.
Unlicensed & licensed exempt bands which has unpredictable interference behavior can be used for services that does not require high QoS and can be simultaneously be used together with the licensed network.
In the US, it is most likely that leasing and private use of spectrum will happen within the CBRS. The PAL regulations are oriented towards protecting actual deployments. Areas within a license definition that are not covered by a licensee's radios are available to GAA users, provided established PPAs are not interfered with. The licensee is however free to monetize their license by allowing private PPAs to lease the license. This is likely to improve utility of the spectrum.
GAA use is open to private deployments and will have mixed quality of experience depending on a variety of factors: urbanization, population density, commercial interests, indoor vs outdoor deployments, outdoor deployments of small cells vs. large cells (low power vs. high power).
The WInnForum and the CBRS Alliance are engaged in defining coexistence principles for GAA that can reduce the interference impact to GAA users from cochannel use of allocated spectrum. The development of the procedures for coexistence are contentious and generally involve orthogonalizing spectrum allocations between neighboring CBSDs that are deemed to interfere with one another. This has the disadvantage of reducing the individual spectrum allocations to CBSDs under some circumstances. This is particularly worrisome for NR use in the band, especially in cases where eMBB coverage is anticipated.
Unlicensed Spectrum
Industrial use of wireless can overlap either cellular or radio local-area network (RLAN) technologies. Indeed, it is not necessary to classify all industrial use of spectrum as derivative of highly reliable or pertaining to critical communication. Certain characteristics of the industrial automation environment are a high level of importance to spectrum availability, ease of deployment and low regulation, and opportunities for developing trustworthy and secure networking. However, many use cases, and perhaps the majority of use cases for industrial use may also avail of license-exempt spectrum. The development of Multefire and LAA as technologies for license-exempt operation provide an avenue for the cellular industry to enter into the RLAN domain.
The key disadvantages of unlicensed spectrum include the necessity to operate in the presence of interference and the low reliability caused by shared use of spectrum based on distributed intelligence. This typically means that radio nodes use collision avoidance and listen-before-talk etiquette to access the channel instantaneously. This is not amenable for KPI guarantees. Therefore, unlicensed spectrum is usually not suitable for mission critical applications.
Unlicensed spectrum bands of interest for industrial applications span a wide variety of spectrum bands. The FCC in the United States has been the most aggressive in recent years in expanding the availability of unlicensed spectrum.
Table 7 lists unlicensed bands in various countries, where underlined text refers to bands that are under consideration. The bands in the table are those listed for broadband use and do not include several bands designated to be short range device communication bands. The unlicensed bands are generally unsuitable for URLLC due to the possibility of interference.
5.925-6.425 GHz
USA
U-NII 5 band proposed, AFC required (database)
6.425-6.525 GHz
USA
U-NII 6 proposed, indoor only
6.525-6.875 GHz
USA
U-NII 7 proposed, AFC required
6.875-7.125 GHz
USA
U-NII 8 proposed, indoor only
66-71 GHz
USA
Proposed for unlicensed by the FCC
Spectrum leasing in Europe and US is not a regulatory problem, but the interest and business for the operators is to be seen. In Asia and Africa, spectrum leasing discussions has just begun.
Indoor spectrum for use-cases for industry can benefit from unusable spectrum (including not mobile allocation) for others, for example satellites, FS, FFS, radar (not indoor only). However, use-cases for outdoor spectrum for industry must also be considered
While it is true that indoor industrial use cases can benefit from secondary use spectrum that may be designated for other services, e.g., satellites, FS, FSS, radar etc., it is just as important to designate local spectrum for outdoor use by industries.
The eLSA is agnostic to bands and technology for spectrum leasing and local licensing. CBRS is going to be the best opportunity for industrial use of spectrum in the United States. CBRS is being specified in a spectrum range that is globally accessible by IMT, making economy of scale possible, and allows leasing as well as disaggregation of licenses. Allowing disaggregation does not mean that CBRS will enable local licensing.
Global harmonization of IMT and MBB spectrum has been a desire that has never been adequately realized. The consequence of diverse regulatory action on spectrum for mobile services over the years will make it difficult to achieve harmonization for industrial use cases. However, there is an interest in the telecommunications industry towards assigning portions of the spectrum ranges 3400-4200 MHz and 24.25-29.5 GHz for industrial use.
The 3400-4200 MHz will likely be the first frequency range, outside China and US, where buildout of 5G will start. The limited regulatory support for local licensing in this range will create delays for non-MNO dependent spectrum usage. For example, in Sweden, local licensing can at the earliest be available after 2023 for use by 5G, and in most other European countries regulatory action is not yet considered. Therefore, leasing will likely be the sole option for access to spectrum, except for an MNO-provided service, in that time frame. The mmW spectrum can be of interest to enable availability of local licensing in a timelier manner, but that will to some degree depend of the allocation of mobile bands in WRC-19.
Security
It is often said that security of a system is only as strong as the weakest link. However, depending on which part of the system that is, breaking (or neglecting) it can have very different consequences. When talking about a system involving more than one entity, the secure identities used, and the handling and protection of them, are building blocks that a big part of other security functionality relies on. The identities are used for authenticating the entities, for granting access and authorizing actions, and for establishing secure sessions between the entities. This means that a device needs to have a secure identity and to provide hardware (HW) and software (SW) based mechanisms that protect and isolate the identity and the credentials of the device. It is also not only the identities that need to be protected, but also the devices themselves should be secured, e.g. through proper control of what SW is being run on the device. All the aforementioned things are enabled by having a HW root of trust (RoT) in the device, basically a trust anchor to base security on.
Identity
An identity of a device is used to identify the device to a communicating party. The identity typically consists of an identifier and credentials such as a key, key pair, or password that is used for the authentication of the device. An authenticated identity enables the communicating party (such as network, service or peer device) to make well-founded security policy decisions for network/resource access control, service use, charging, quality of service settings, etc.
Identities based on a shared secret rely on the fact that all communicating endpoints, and only them, know a secret value. The randomness of the shared secret is one key characteristic. It is typically quite weak for a username-password pair, the most basic form of a shared-secret-based identity. In addition to randomness, the length of the secret and that the secret is handled securely, both at the device and the server side, are important.
With asymmetric keys, the identifier of an entity is the public key of the asymmetric key pair and the corresponding private key acts as the authentication credential. A signature generated using the private key can be verified by anyone having access to the corresponding public key. This is perhaps the main strength of asymmetric compared to symmetric (shared secret) keys.
To give additional value to the asymmetric key-based identity, it is possible to get the identity certified by a Certificate Authority (CA). The CA verifies the identity of the entity owning the key pair and issues a certificate certifying the link between owner and public key. The drawbacks with certificates include the size of the certificate (or certificate chain), which could be an issue in constrained environments, and the added cost of getting and maintaining (renewing) the certificate. To reduce costs, an enterprise can also set up its own CA.
Raw Public Key (RPK) mechanisms make a compromise between the simplicity of pre-shared keys and benefits of asymmetric cryptographic solutions. An RPK is a minimalistic certificate, significantly smaller than a typical certificate, containing only the public key in a specific format. An RPK is like self-signed certificates: there is no trusted entity that vouches for the provided identity, i.e., the peer receiving this identity needs to use an out-of-band mechanism to trust that it is the identity of the entity it wants to communicate with.
For all Public Key Infrastructures (PKI), it is recommended to have a way of revoking compromised keys. A Certificate Revocation List (CRL) that can be fetched from a Certificate Authority (CA) or checking the certificate status online using the Online Certificate Status Protocol (OCSP) are common ways.
3GPP cellular systems are a prime example of where shared-secret-based identities are used. A 3GPP identity consists of the IMSI, a 15-digit identifier, and its associated credential, a 128-bit shared secret. This information is stored in the subscriber database (e.g., HLR or HSS) in the 3GPP core network and on the UICC or SIM card installed in the User Equipment (UE). The UICC acts both as a secure storage and a TEE for the 3GPP credentials. For IoT devices, permanently integrated embedded UICCs (eUICC) can be used instead. eUICC has a smaller footprint and allows remote updates of the subscription data.
For 5G, 3GPP is also considering alternatives to traditional SIM credentials, namely so called “alternative credentials”. TR 33.899 looks at different identity solutions, including certificates. In specifications, support for certificates is described e.g. in 33.501 where EAP-TLS is defined as an alternative to AKA. EAP-TLS implies certificates are being used for authentication. For identifying the network, the use of certificates is partly available through the definition of the concealed identifier (SUCI), which is the private identifier (SUPI) of the UE encrypted with the public key of its home network, i.e. the network already has an asymmetric key pair for which the public key is part of the subscriber profile. The SUPI is defined in 3GPP TS 23.501; there, network address identifier (NAI) is given as one possible format of the identifier, which would support the use of certificates as well.
End-to-End (E2E) Security
In most cases, protecting the communication of a device is important. Both to protect against the information leaking to some unauthorized third party and against having the third party modify the data on the path. This can be achieved by applying confidentiality (encryption) and integrity (signing of data) protection. The exact security need for the data is very much use case dependent and relates to the data, its use, sensitivity, value, and risk associated with misuse of the data. However, as a rule of thumb, integrity protection should always be applied, while the need for confidentiality protection should be evaluated case by case. In general, a single key should be used for only one purpose (encryption, authentication, etc.).
For protecting the data, there are many standardized protocols available, including “regular” Internet security solutions such as TLS, IPsec and SSH. IoT optimized solutions include DTLS as a TLS variant for IoT and the ongoing work to profile IoT friendly IPsec. Also, application layer security solutions, such as OSCORE defined in IETF, are available and especially useful for constrained devices. The benefits compared to TLS include that end-to-end security can be provided even through transport layer proxies, e.g. for store-and-forward type of communication used with sleepy devices. The protocol overhead is also optimized.
3GPP also provides tools for protecting traffic end-to-end to a service, even outside the 3GPP network. The Generic Bootstrapping Architecture (GBA), 3GPP TS 33.220, uses the SIM credentials for authenticating the UE/subscription to a network service, called Network Application Function (NAF) in GBA lingo. GBA requires that there is a trust relationship between the service/NAF and the operator. Using that trust, the NAF can request session keys from the network, which are based on the SIM credentials of the UE. Those session credentials can be used for authentication and secure session establishment between the UE and the service.
Hardware Root of Trust
The concept of a hardware root of trust (HW RoT) includes the following aspects:
HW security is also extended to the environment where devices are manufactured such as protection of interfaces and mechanisms used during manufacturing and development, the use of secure key provisioning, key generation, secure configurations of devices, code signing, etc.
The base for securing that a device behaves as intended is to be able to ensure that only authorized firmware/software is running on the device. This requires a secure boot mechanism that originates from a hardware Root of Trust. The secure boot mechanism verifies during device boot-up that all loaded software is authorized to run. A HW RoT is an entity that is inherently trusted, meaning that its data, code and execution cannot be altered from the outside of its trust boundaries. It consists of functions that must operate as expected (according to its design), no matter what software is executing on the device.
A device must also have a secure storage mechanism to protect device sensitive data such as cryptographic keys while stored in (off-chip) non-volatile memory. Such a mechanism also relies on a HW RoT, e.g., a chip individual key stored in on-chip non-volatile memory or OTP memory.
In order to be able to recover from malware infections, and to minimize the risk of loss of sensitive data or changed behavior of the device, the security related parts of the firmware and software should be separated (and run in isolation) from other software. This is achieved using a Trusted Execution Environment (TEE) created using HW isolation mechanisms.
Device Hardening
A device typically contains interfaces and mechanisms for debugging and HW analysis with the goal to find issues of a given device discovered during ASIC production, device production, or in field. Joint Test Action Group (JTAG), IEEE standard 1149.1, is a common interface for debugging and various HW analyses. These mechanisms and interfaces must be protected such that they cannot be used by unauthorized persons for retrieving or modifying FW/SW and/or device data. This can be achieved by permanently disabling the interface, only allowing authorized entities to use the interface, or limiting what can be accessed with the interface. Also, for authorized access it must be guaranteed that sensitive data belonging to the owner/user of the device such as keys cannot be accessed by the person performing the debugging/fault analysis.
SW security is one of the most important building blocks of device security. Both HW and SW security complement each other. While it is not possible to build a secure device without HW security as a foundation, same also applies to SW security.
While IoT GWs with application processors commonly run Linux based OS, MCU based IoT devices mainly run light weight OSes such as mbed OS and Zephyr OS. There are also other highly security certified OSes being used on devices that have to meet high availability and security requirements. Choosing the right OS is important and security hardening of that OS is also equally important. Hardening entropy, user space components and network functionality can also be considered as a part of the OS security hardening process. Other aspects to consider relating to device hardening include
Security for Safety
However, these security mechanism/tools (maybe excluding non-repudiation) should be implemented in any secure system, regardless of whether the aim is making a safe system or not. The safety requirement is maybe more of an indication of the level of security required and that the configuration of security needs to be double checked as any error might have larger consequences than in a system without the safety requirement. The security configuration is also about choosing the right level of security/algorithms/keys used in the system. In addition to security, an (at least) equally relevant part for safety is e.g. the availability/reliability of the system, relating to both communication channels and services making up the system, or the correct operation of the components (values that are reported are accurate, time synchronization etc.).
Jamming
Like safety, jamming is also a topic that has one foot in the security domain. Jamming is a form of Denial of Service (DoS) attack. Some DoS countermeasures apply also for jamming, e.g. load balancing and rerouting traffic, which on the air interface would mean load balancing and rate limiting, backup base stations, and additional frequencies.
Industrial Devices
Industrial devices range from small simple one purpose sensors to large complex sets of devices such as robot cells and paper mills. Thus, one very relevant question we address here is what is a device? IoT devices are often categorized in two main ways: sensing devices and actuating devices. Sensing devices are equipped with some sort of sensor that measures a specific aspect such as temperature, light level, humidity, switch, etc. Actuating devices are such that receive a command and change state accordingly, e.g., a light bulb that can be on or off or air conditioning fan speed. More complex devices have a set of sensors and actuators combined but still only one communication interface. Even more complex machines may consist of several smaller devices made up of several sensors and actuators. Typically, even for a small device, a microcontroller or small computer is in place to host the communication stack as well as processing capabilities, memory and so on. In essence, a very complex device is in fact a small network in itself comprising of several parts that may or may not need to interact with each other and that may or may not communicate through the same communication module.
The range of requirements put on the communication itself varies depending on the purpose and criticality of the task the device in question is aimed for. These requirements can include throughput, latency, reliability, battery life and extended coverage. For instance, a simple sensor reporting temperature changes can be seen having relaxed communication requirements, whereas controlling robots wirelessly from the cloud requires an URLLC service. Networks need to be able to support a mix of devices and services in the same deployment. In case the device in question is in fact a complex thing with different sets of sensors and actuators that communicate through the same interface, networks may also need to support a mix of services, i.e., different types of traffic, from the same device. This could be for instance, a robot with a video camera for monitoring purposes (mobile broadband traffic stream) and manipulation arm (URLLC traffic), or a harbour straddle crane with remote control functionality.
In order to enter vertical industrial markets, it is necessary to address different use cases described above and answer a few crucial research questions regarding devices. How to combine devices with different URLLC requirements, how to combine different URLLC streams within a device and how to combine non-URLLC streams with URLLC streams within a device. How to monitor QoS metrics within the device and timely send this information to the BS or to the network controller? How to ensure redundancy within the device (UEs, carriers, etc)?
Finally, the device is not an isolated part of the network, especially if it has high processing capabilities. Rather, the device is part of the system and may host system functions, e.g., part of the edge cloud, or application of federated machine learning algorithms, what may be beneficial both from computational and privacy points of view.
Distributed Cloud
The following discussion introduces the concept of a distributed cloud designed specifically to meet the requirements of industrial scenarios—the industrial cloud. Moreover, an information management system is described that is able to collect, store, and manage large amounts of data from the manufacturing site. Access to stored information is handled through a well-defined API that allows developers to focus entirely on what to do with the data rather than trying to figure out how to get hold of specific data of interest.
For traditional (IT) centralized computing in the cloud offers many benefits over local hosting. The technical merits include ubiquitous on-demand access to compute resources (CPU, storage, network, applications, services), elasticity (scaling in and out of resources), and metering (monitor and pay for actual use). The service provider's resources are pooled to service multiple consumers simultaneously. By utilizing remote hardware that is deployed, managed, and maintained by a service provider much work can be offloaded from the local IT department. All these properties translate into a lower overall cost for the individual consumers.
A centralized cloud model has many advantages but does not solve all industrial requirements. There are two major problems to consider. First, signaling over large distances add to the overall latency. For (hard) real time processes with strict timing constraints, the round-trip delay to the cloud may be detrimental to the performance or even make certain use cases impossible to implement. Delay jitter may also become a big problem as the communication to and from the cloud can involve many external links over which little control is possible. Second, the computational tasks related to industrial production tend to put quite strict requirements on availability, robustness, and security. Even though cloud-native applications and services can and should be designed and set up in redundant and failsafe way, the communication is not easily guaranteed. For instance, fiber cables may break due to construction work, routing tables can become corrupted, and power outages happen. Regardless of the reason, any interruption of the network connectivity might become catastrophic for the production. In particular, anything relying on a closed-loop control algorithm that is executed in a central cloud must be made such that communication losses are handled with great care. Whether that means on-site replication of the control algorithm, a graceful degradation, or something else has to be decided case by case.
To mitigate the problems described above while still retaining the benefits of cloud computing, a distributed approach is proposed. The principle is depicted in
The functional requirements (i.e., the specified behaviors and what to do) and non-functional requirements (quality attributes relating to the system's operation) determines where to deploy certain tasks. Keeping data close to where it is used is advantageous for time constrained tasks. In other use cases bandwidth restrictions might necessitate temporary storage where the data is produced. Consequently, there is need for local (on-site) compute and storage resources. However, there are also plentiful of less time critical tasks that are better handled in the central cloud. For instance, predictive maintenance and anomaly detection often depend on long and complete time series of log and sensor data. Storing this information in the data center simplifies a posteriori analysis and training of deep learning algorithms.
Real-Time Manufacturing Software Platform
On-site edge cloud deployments are seen as enablers for new and improved applications that reduce cost of deployment and management, including the possibility of parts of equipment to be replaced by software-only solutions. A typical example is the robot controller, which in existing legacy deployments is a hardware box, essentially an industry-grade PC, installed next to each manufacturing robot. This equipment is responsible for real-time control of the robot, like motion control, requiring millisecond-scale control loops. The first step in cloudification of such brownfield technology is the movement of the software from the controller to the on-site cloud, thus simplifying the installation by removing the extra hardware element.
The next step towards a fully software-defined factory is decomposing the functionality of today's software controllers into more fine-grained functions to take advantage of per-function reliability, scaling, state data externalization, and ease of management like updating and version control that are the benefits of executing programs in the cloud. Each such function encapsulates a specific part of the overall domain-specific program that makes up the actual business logic controlling each manufacturing process, and ideally, they are reusable across different such programs. In the 5G manufacturing context, the programs are envisioned to be developed in and run on top of the Manufacturing Software Platform (MSP) which provides commonly used functionality, like object recognition, motion control, or real-time analytics in a function-as-a-service (FaaS) way, reusing the concepts, tool set, and experience of the web-scale IT industry. The provider of the MSP enables high flexibility and programmability of the physical devices via components that stack on top of each other and provide an increasing level of abstraction of reality. Such abstractions are both used on detection/sensing/input and when commanding/actuating/output.
Such high-level concepts are for example observations synthetized from low level sensory input, often combining information from several sources. For example, “unit #32 has reached its destination” is a trigger that can be calculated from indoor localization triangulation, a database of destinations and maybe camera verification. Each piece of raw input is likely to be processed first in an input device specific component, such as localization system or image recognition system. Using the result of these higher-level components may correlate the AGV location to end up with more precise coordinates. Finally, even higher-level of components may correlate it with the target database and the overall goal of the system. Processing the input is thus done by the stack of components each raising the level of abstraction by a little and adding more context.
Similarly, high-level commands are like ones that would be given to a human worker, such as “hand over this object to that robot,” “paint it white,” or “drill 2 holes there.” The exact procedure to carry out such commands is then calculated by the stack of components going down, from task scheduling, trajectory planning, motor control all the way to raw commands to servos.
This approach eventually allows programming of manufacturing processes using high-level concepts humans easily understand, simplifying or hiding the complexity the distributed nature of cloudified applications altogether. It also supports re-use and saves on development time, as the low-level components are likely application agnostic and can be used in many contexts, whereas high-level components are easier to develop them working with high-level concepts.
Both the execution environment and the MSP platform can be added value provided by components in and connected to the 5G network, especially if they are bundled with connectivity solutions, both wired and wireless, to provide a strong concise industry control vision. For this to happen, an ecosystem of robotics vendors and manufacturing companies has to be on-board and use such components. Collaboration at an early stage is essential.
Data/Information Management
To take care of all data produced within an industrial plant, an information management system is needed. Important characteristics for such a system is that it is distributed (for robustness and accessing data where it is needed), scalable (doing this for one or one hundred machines should have the same degree of complexity), and reusable (adding data management of yet another manufacturing site to an existing instance should be simple), and secure (honor confidentiality and privacy, ensure data integrity, provide means for data ownership and access control). The task of this system is to collect, manage, store, filter, extract and find data of interest. Clearly, the system must cater for different types of data (e.g., time series, streaming data, events of interest, alarms, log files, et cetera) with quite different requirements on time to live, latency, storage and availability, bandwidth and so forth. Moreover, it must handle a mixture of both sensitive and open data. Storage requirements for data varies, but a solution based on the concept of a distributed cloud with “safe” storage is needed to cope with the wide range of different requirements that is anticipated. The safety aspect includes privacy concerns and implementation of access rights, both in-flight (i.e., while data being in transfer) and in storage.
A rich set of production data is the basis for all further processing and analysis. Collecting more data facilitates new use cases with respect to planning, flow control within the production, efficient logistics, predictive maintenance, information sharing, control and actuation of individual machines, anomaly detection, quick response to alarms, distribution of work orders, remote monitoring, daily operations, and much more. The more data being collected, the more challenging become the task of managing it. For a large industrial site, the total number of sensors and actuator that can be read, monitored and controlled can easily exceed 10 000. The sampling rate varies a lot, but over time the aggregated amount of collected data becomes substantial. Even finding the data of interest tend to become problematic.
Production is often less static than it appears to be. Clearly, changes in settings or a slightly different set of work stages might be needed for product variations concerning shape, material, size, surface polish, placement of drill holes, et cetera. Moreover, the same set of tools and machines can be used for entirely different products in different production batches. When a new product is to be manufactured it could even require a completely new production line to be set up. Variations in production will have an impact on what data to look at with respect to operation and analysis. As new sensors and actuators are utilized, the data management must be able to adapt to changed conditions.
Often the same data can be useful for multiple purposes (e.g., both for the monitoring of productions and for quality assurance after the product is finished), and, as discussed above, entirely new parameters become of interest when production changes. When sensor data is collected it is advantageous to annotate it with additional information (a.k.a. metadata) for future use. A simple example of this is adding a timestamp to every sensor reading, something that not always exist from start. Other useful metadata are information about location, product id, specifics about used tools, and/or batch number. In general, this kind of metadata simplifies searching and improves on traceability. Specifically, it can be used for filtering and extracting particular information that is needed for analytics and machine learning purposes.
Some sensor data that is collected may be used for other things than the industrial process that is being run in the factory. For instance, it might be readings that relate to monitoring the condition or status of certain equipment that is used in production but is owned by someone else. The owner is interested in monitoring the equipment to plan maintenance and service, but also to collect statistics for improving future generations of the equipment. This data can be sensitive and should not be visible to the factory owner. On the other hand, the factory owner may not want to reveal data that relates to the quality or quantity of the products leaving the production line. Consequently, there is a need to define ownership of and provide means to restrict access of data only to authorized parties. The information management system should cater for this while still handling all data in the same way regardless of its purpose or two whom it belongs.
The set-up is an example of a distributed cloud where data is handled both in the factory and in the central cloud. With the obvious exception of available resource capacity, the local set-up and its functionality can be made very similar to the corresponding set-up and functionality of the data center. Doing so will greatly simplify deployment, operation, and life cycle management of the applications running at both locations.
In addition to annotating, storing, and processing data, an information management system must also handle data provenance. In short, this is the process of keeping track of data origin, where it moves over time, who uses it, for what purpose, and when it is used. Keeping records of these parameters facilitates auditing, forensic analysis, traceback off and recovery from use of erroneous data series. Provenance gives the administrator of the information management system a way to obtain a detailed view of data dependencies and derived results. For instance, a faulty or uncalibrated sensor might go unnoticed for some time if it does not cause immediate havoc in production. Then, if its sensor data is used for training purpose in a machine learning algorithm, the resulting model might become flawed which will negatively impact its usage. With proper provenance in place, it is possible to find out where and when the potentially flawed model has been used and take appropriate actions to mitigate problems caused by this.
In order to simplify for developers, it is important that the information management platform provides a well-defined API to find and access all data. This is true both for “raw” sensor data that is collected in real time, and for historical records of older data. In particular, it can be noted that the distributed cloud model implies that data of interest can be stored at geographically different locations and its placement can vary over time. This fact follows from different needs (e.g., tolerance for variations in latency), overall robustness (e.g., handling link failure to the data center), and requirements on long term availability. Applications that use the data should not need to keep track of the storage location themselves; the underlying information management platform does this allowing developers to focus on more important things.
A prototype of an information-management system is now being deployed at one of SKF's roller bearing factories in Gothenburg. This work is part of the SGEM II research project that is running June 2018-September 2019. The software is based on both open source projects (e.g., Calvin for handling data flow from factory to data center, and Apache Pulsar and VerneMQ for pub-sub messaging handling) as well as internal proprietary code. The information management platform is for data what Kubernetes is for containers. Clearly, not all functionality is in place yet, but we iterate and update frequently. The work is done using a modern continuous integration/continuous deployment development methodology. This means changes to the code will be automatically tested, and deployment to the distributed system can be made with a single command. The overall design is deliberately made such that most system updates can be done without interrupting the running applications. Thus, production does not have to be stopped for deploying software updates to the platform. This property is particularly important at the factory site as updates can then be made also outside of the scheduled maintenance windows for the production site. Usually a production stop is very expensive for the manufacturer which means planned maintenance windows are very few and separated with in time as much as possible.
A distributed cloud retains all properties of a central cloud such as elasticity, on-demand compute, resource pooling, measured services, and network access. In addition, the ability to place processing closer to where results are used facilitates more robust solutions, decentralization, and implementation of low-latency use cases.
With an adequate information management system in place, developers can build new applications and access data produced at the factory without physical access to the manufacturing site and without detailed knowledge of how data is collected or where it is stored. Different types of data are handled and stored both on-site and within the data centre. A well-defined API exposes services and allows for efficient searching and filtering based on any parameters and metadata that is available. Access rights to data can be defined based on user and/or role of said user. Advanced logging features facilitate audits and traceability of the usage of the collected data.
Operations and Management
The term operations and management (O&M) refers to the act of operating and managing the network and the devices in a factory deployment. Operations Support System (OSS) refers to the software used to accomplish this task.
The factory floor consists of machinery used to produce and manufacture goods. The machines are organized often into an assembly line through which the goods flow with or without human intervention and depending on the level of automation. The different tools and machines used for the production may or may not be connected. If connected, typically some kind of data is gathered from the machinery to either for predictive maintenance of the tools and machinery itself or to aid in the quality assurance process of the goods being manufactured. This is called the operational technology (OT) part of the factory floor.
Most enterprises, factories included, also have communication infrastructure in place for the work force comprising of wired and wireless communications (typically Ethernet and Wi-Fi), computers, mobile phones, etc. This equipment is used to access Intranet and internet, email, and other typical office applications. This is called the information technology (IT) part of the factory floor.
The merger of OT and IT has been identified as an emerging trend. In practice, this means a single interface to operate and manage both the devices, connectivity, the data generated by these devices, and the network infrastructure in a factory. Research questions related to the OT/IT merge in factories include:
Digital twin concept is very popular in the industry setting. Here the idea is to bring the data gathered to a digital data model of the physical asset or the whole factory and then apply analytics on the data to predict, describe and prescribe the past, current and future behavior of the asset or process. Research questions around the digital twin concept include:
All of this should be achieved with an easy to use system that can bring increased reliability and availability, reduce risks, lower maintenance costs and improve production. Solutions where an operator exposes/delegates only a small portion of its O&M to its customer may be desirable. The customer should get a simple interface. Solutions should be possible to scale down to just a handful of devices, such that even households can use it.
Finally, augmented reality and virtual reality in conjunction with the digital twin ideas may have a large impact on future network management in the merge IT and OT space. Equipment management may be done remotely with the feel of being present in the same space. Also, technical documentation and guidance on equipment use or repair can be provided remotely to a person on site through smart glasses, tablets, etc.
Time-Sensitive Networking
Following a general idea and initial overview of Time-Sensitive Networking (TSN), where the material presented will help to get a good starting point in TSN. Also provided are certain details of 5G-TSN integration.
TSN is envisioned to improve wired IEEE 802.3 Ethernet communication, to enable support for the very demanding domain of industrial applications (and others). TSN stands for Time-Sensitive Networks (or Networking). It is an ongoing IEEE standardization initiative by the TSN task group. They define TSN as a set of individual features. Most TSN features are extensions to the IEEE 802.1Q standard. A TSN network comprises Ethernet end stations (sometimes also called end points), Ethernet cables and bridges (also called switches). An Ethernet bridge becomes a TSN bridge if it supports a certain (not-defined) set of TSN features.
The different features in the TSN standard in general aim at:
Communication in TSN happens in TSN streams. One specific feature in TSN, to give an example, is that streams are subject to an agreement, as arranged between the transmitters (end stations called Talkers) and the network till the receivers (end stations called Listeners), that ensures low latency transmissions without unforeseen queueing.
In the following, TSN is introduced from a high-level perspective. Afterwards are technical details of what a TSN and 5G interworking will look like and how certain TSN features can be supported in 5G.
The TSN standardization arose from a standardization initiative that was found to define an Ethernet-based communication standard for Audio and Video communication called Audio-Video Bridging (AVB). TSN is based on AVB and is enhanced with features to make it suitable for industrial usage. Up to now, the TSN community focuses on the following industrial use cases:
TSN communication is another kind of packet service that is based on a best effort Ethernet packet network but enhanced though TSN features. An agreement is used between devices involved in communication, to achieve determinism. The agreement limits the transmitter of a TSN stream to a certain bandwidth and the network, in return, reserves the needed bandwidth, reserving buffering mechanisms and scheduling resources. The resources can be exclusively used by the specific stream. Compared to other packet services such as CBR (Constant Bit Rate) and best effort type of packet services, certain observations can be made.
A best effort packet service is perhaps the most known one, where packets are being forwarded and delivered as soon as possible. There are no guarantees, however, on the timely delivery of the packets. The end-to-end latency and the variation of the latency is rather large, and thus a statistical language is preferred to express the overall performance (loss, end-end-latency and jitter). The top part of
On the contrary, there is also the CBR packet service that offers fixed latencies and jitter (latency variation) close to zero as seen in the application layer. CBR is typically offered by multiplexing in the time domain with typical examples being SDH (synchronous digital hierarchy networks) or OTN (optical transport networks). Typical performance of CBR can be seen in the middle part of
TSN aims at supporting all type of traffic classes (Quality of Service (QoS) and non-QoS) over the same infrastructure. Therefore, the TSN network sits somewhere between a CBR and a best effort type of packet service, where the latency is typically larger compared to a CBR network, but the latency variation and the jitter are bounded—no tails. In other words, TSN offers a guarantee that the network will not perform worse than a specific agreed end-to-end latency and jitter, as seen in the bottom part of
A core feature of TSN is the “stream concept,” where a stream comprises dedicated resources and API. A TSN stream can be seen as the unicast or multicast from one end station (talker) to another end station or multiple end stations (listener(s)) in a TSN capable network. Each stream has a unique StreamID. The Stream ID is created of talker source MAC address and a unique stream identifier. Bridges will use the StreamID plus the priority code (PCP) field and VLAN ID (VID) that is included inside an 802.1Q VLAN tag in the Ethernet header for internal frame handling. In that sense, TSN streams are standard 802.1Q Ethernet frames that are given more privileges than regular Ethernet non-TSN frames. Before a talker starts sending any packet in a TSN stream, the specific stream has to be registered in the network and certain TSN features to be configured. Next to TSN streams with guaranteed QoS, also best-effort traffic can be sent in a TSN network by peers—but of course without or just limited guarantees on QoS. TSN streams are sent in TSN domains. A TSN domain can be seen as a continuous domain, where all devices are in sync and continuously connected through TSN capable ports. a TSN domain is defined as a quantity of commonly managed devices; the grouping is an administrative decision.
Stream management is defined in IEEE 802.1Qcc, Qat, Qcp and CS. It defines the network discovery and the management of network resources and TSN features in a network as for example the creation of the required protected channels for TSN streams. Moreover, stream management offers users and network administrators functions to monitor, report and configure the network conditions. In TSN, there are three configuration models: a distributed, a centralized and a fully centralized one. In the latter two models a Central Network Controller (CNC) is used similar to a Software Defined Networking (SDN) controller to manage TSN switches. In the fully centralized model, a Central User Controller (CUC) is used in advance as a central interface for end stations and users. In the distributed model, there is no central control, so bridges and end stations need to negotiate on TSN requirements; in this model some TSN features that require a central instance for coordination are not applicable. A lot of TSN features also aim at a common protocol and language standard for interactions between CNC/CUC, end stations and bridges (i.e. YANG, Netconf, Restconf, LLDP, SNMP etc.).
Time synchronization is used to establish a common time reference that is shared by all TSN enabled network entities. The time synchronization is based on the exchange of packets containing time information as defined in IEEE 802.1AS-rev; it defines some amendments to the Precision Time Protocol PTP, widely used in industrial context, that is then called gPTP (generalized PTP). gPTP is an advanced version of PTP in a sense that it supports also redundant grandmaster deployments as well as also the establishment of multiple time domains in a single PTP network and some other enhancements and also restrictions to the broader PTP. The ambition of gPTP is to achieve a sub-microsecond accuracy in synchronization. The precise time synchronization is used for some TSN features (for example IEEE 802.1Qbv), as well as provided to applications relying on a common notion of time (like distributed motion control).
Stream control, which provides for bounded low latency, specifies how frames belonging to a prescribed TSN stream are handled within TSN enabled bridges. It enforces rules to efficiently forward and appropriately queue frames according to their associated traffic classes. All existing stream controls follow similar principles, namely, certain privileges are associated with TSN streams while frames not from prioritized TSN streams might be queued and delayed. Relevant features for industrial networking are IEEE 802.1Qbv (introduces “time-gated queueing,” i.e. time-coordinated handling of frames) and IEEE 802.1Qbu plus IEEE 802.3br for frame pre-emption. 802.1Qbv relies on precise time synchronization and is only applicable if a CNC is used to schedule frame forwarding in bridges similar to a time-division multiplexing manner. Using Qbv, a CNC tells each bridge alongside a path in the network exactly when to forward frames. An alternative to Qbv is Credit-Based Shaping (802.1Qav) originating from AVB, likely not used for strict industrial use cases as it is not as deterministic. An additional feature called Asynchronous Traffic Shaping (802.1Qcr) is in an early stage of development. An argument against Qbv, which is maybe the best suited to achieve guaranteed latency bounds, is the complexity it requires in terms of scheduling and time synchronization. Qbv and frame preemption (Qbu and br) can might be used separately or also combined.
Stream integrity is important for providing ultra reliability. Apart from delivering packets with ultra-low latency and jitter, TSN streams need to deliver their frames regardless of the dynamic conditions of the network, including transmission errors, physical breakage and link failures. Stream integrity provides path redundancy, multipath selection, as well as queue filtering and policing. One main feature therefore is IEEE 802.1CB, including Frame Replication and Elimination Redundancy (FRER).
A visual summary of the TSN features described above is given in
Interworking between 5G and TSN is discussed here. Since both systems provide diverse ways for ensuing QoS and for network management, new solutions are required. The basic idea according to some of the techniques described here is that the 5G-System (5GS) adapts to the network settings of the TSN network. It should be noted that ongoing TSN standardization defines a set of features. and not all features need to be supported for every use case. Announcements about which set of TSN features are relevant for which use cases have not been done yet. An ongoing initiative to address this issue is the joint project IEC/IEEE 60802: “TSN Profile for Industrial Automation”. It is under development and updated frequently. Publication is planned for 2021.
Real-time Ethernet is one of the established wireline communication technologies for vertical applications. For wireless communication technologies, 3GPP TS 22.104 specifies 5G system requirements to support real-time Ethernet. When some sensors, actuators and motion controller are connected using a 5G system and others are connected using industrial (i.e. real-time) Ethernet, the interconnection between real-time Ethernet and 5G is realized using gateway UEs connected to Ethernet switches or a device is connected directly to a data network using an Ethernet adapter.
Potential baseline system requirements are:
A TSN network consists of four types of components: bridges, end stations, network controller(s) and cables (minor notice: it is common in industrial context that end stations are switches as well to enable daisy-chaining and ring topologies for example). A 5G network will in most cases need to act like one or more TSN bridges if a seamless integration into a TSN network is envisioned. Therefore, in many cases the 5G network will take part in the TSN network configuration as a usual TSN bridge.
Connecting two TSN domains on the same shop floor (5G for horizontal TSN links) is one possible scenario. In this case, the 5GS replaces a single hop on the shopfloor. Because NR does not presently support a device-to-device (D2D) capability, this would be a two-hop (UE A-gNB/Core-UE B) connection in 5G.
For TSN used inside machines (intra-machine communication), an interworking with 5G is obviously of less relevance as introduced above. Two nodes inside a (possibly metallic) machine will likely not rely on a central connection to a 5G base station to communicate wirelessly. A typical example, is a printing machine where different motors must be controlled very precisely to achieve an accurate result.
A further option is that a legacy 5G device (i.e., a device without TSN feature support, or maybe not even an Ethernet device) is connected to a 5GS that is connected to a factory backbone TSN network. As the 5G device is not aware of any TSN features or capable to support them itself, the 5GS might act as a virtual endpoint that configures TSN features on behalf of the 5G device to be able to communicate to a TSN endpoint with seamless QoS end-to-end. A virtual endpoint function could be part of a UPF in the 5GS. From a TSN network point of view it looks like the virtual endpoint is the actual endpoint—the 5G endpoint is covert.
Some TSN features introduce challenges to the 5GS. In the following, it is highlighted how some key TSN features might be supported by the 5GS, to enable a seamless 5G TSN interworking.
Network-Wide Reference Time (IEEE 802.1AS-Rev)
In TSN, reference time is provided by the IEEE 802.1AS-rev synchronization protocol that allows local clocks in the end stations and switches to synchronize to each other. More specifically, the so-called Generalized Precision Time Protocol (gPTP) described therein employs a hop-by-hop time transfer between the different TSN capable devices of the network. The protocol supports the establishment of multiple time domains in a TSN network and a redundant grandmaster setup as well as other features. A 5GS should be able to take part in the gPTP processes, allowing the same clock accuracy and synching capabilities as in TSN. The gPTP processes must always run periodically to compensate clock drifts. The clock information received by the 5GS over cable from a grandmaster in the TSN network need to be carried over the air from a basestation (BS) to a UE or maybe as well the other way around. Different options are currently discussed how that could be done and it is an ongoing topic in standardization. In the following and in general, a grandmaster is a device that carries a source clock used for gPTP.
A simple example of TSN time synchronization across a 5G network is illustrated in
Internally, the 5GS might use any signaling not related to gPTP to carry the grandmasters time signal. In that case the ingress points in the 5GS (at UE and User Plane Function (UPF)) need to act as gPTP slaves. They get synched themselves to the grandmaster from the gPTP signals arriving and forward that notion of time on the RAN. Of course, the requirements on time synchronization accuracy are defined by the application and need to be satisfied. In LTE Release 15, a signaling mechanism for accurate time synchronization with sub-microsecond accuracy has been introduced and might been reused for NR.
For industrial use cases the support of multiple time domains might be relevant, as depicted in
The concept to use a common reference time to support multiple other time domains in general is illustrated in
In
Timed Transmission Gates (IEEE 802.1Qbv)
The TSN feature IEEE 802.1Qbv provides scheduled transmission of traffic controlled by transmission gates. Each egress port in an Ethernet bridge is equipped with up to eight queues and each queue with a separate gate. This is illustrated in
Ingress traffic is forwarded to the queue at the egress port it is destined to; the egress queue is for example identified by the priority code point (PCP) in a frame's VLAN-header field. A regular cycle (“periodic window”) is established for each port, and at any particular time in that window, only certain gates are open and thus only certain traffic classes can be transmitted. The queue coordination is done by the CNC. The CNC gathers information about the topology, streams and also individual delay information from all switches and creates a Gate Control List (GCL). The GCL controls the timing of the opening and closing of queues at each switch, but not the order of frames in the queue. If the order of frames in the queue, i.e. the queue state, is not deterministic, the timely behavior of the two streams may oscillate and lead to jitter for the overall end-to-end transmission. By opening and closing gates in a time-coordinated manner it is possible to achieve a deterministic latency across a TSN network, even if indeterministic best-effort type of traffic is present on the same infrastructure. Best effort traffic is simply held back by closing its queue and let priority traffic pass from another queue. It is important to mention that a timely delivery does not just mean to not sent a frame to late from one bridge to the next but also prohibits to send it too early as this might lead to a buffer congestion at the consecutive hop.
The 5GS should be able to transmit frames in a way that the 802.1Qbv standard expects, i.e., according to a GCL created by a CNC in case the 5GS acts as one or multiple TSN switches from a TSN network perspective. This means keeping specific time windows for ingress and egress TSN traffic at UE and UPF respectively. So, data transfer in the 5GS has to happen within a specific time budget, to make sure that the packets are forwarded at the configured point in time (not earlier or later) to the next TSN node in both uplink and downlink. As the biggest part of the latency in the 5GS is probably added in the RAN it seems reasonable to use the timing information from a CNC at gNBs to improve the scheduling of radio resources. It might be possible to exploit the information about transmission timings according the Qbv scheduling for an efficient scheduling of radio resources at a BS using mechanisms like configured grants and semi-persistent scheduling. As a BS anyhow needs to be time aware to be able to forward the time signal to UE(s) it just might need to get aware about the transmission schedules in advance. The Qbv mechanism ensures frames arrive at the 5GS from the TSN network with minimum jitter.
The Application Function (AF) in the 5GS might be an option to interface the CNC. There, a topology could be announced, as well as latency figures could be provided to the CNC as if the 5GS would be a regular TSN switch or any TSN switch topology. The AF then could also accept a time schedule from the CNC and translate it into meaningful parameters for the 5GS to support the time gated queuing happening in the external TSN network. It is important to understand that in the current way the CNC is specified it will accept only fixed numbers to define the delay that is added through a typical TSN switch. Therefore, some new methods are required to allow also the 5GS to be a more “flexible” TSN switch regarding the latency numbers that need to be reported to the CNC.
One way of achieving a timely delivery of packets might involve the use of playout-buffers at the egress points of the 5G network (i.e. at a UE and the UPF for downlink or uplink). Those playout buffers need to be time aware and also aware of the time schedule used for Qbv and specified by the TSN network's CNC. The use of playout buffers is a common way to reduce jitter. In principle for downlink for example the UE or any function following the UE will hold back packets until a certain defined point in time has come to forward it (“play it out”). Same would be possible in uplink, probably in the UPF or after the UPF as an additional function for TSN traffic.
Frame Preemption (IEEE802.1Qbu)
The IEEE 802.1Qbu amendment, “Frame Pre-emption”, and its companion IEEE 802.3br, “Specification and Management parameters for Interspersing Express Traffic,” add the capability of interrupting a frame transmission to transmit a frame of higher priority. Because they do not have to wait for the lower-priority transmission to fully finish, any express frames have shorter latency. The eight priority levels are split into two groups: express and preemptable. The queues assigned to priority levels belonging to the express group are referred to as express queues. The transmission of the pre-empted frame resumes after the express traffic is finished, and the receiver is able to reassemble the pre-empted frame from the fragments.
The 5G network already supports pre-emption techniques with the existing mechanisms. Whether there is additional effort needed to fully support frame pre-emption is not clear yet. It should be noted that there is an important difference between IEEE frame pre-emption and 5G pre-emption techniques. IEEE frame pre-emption is just interrupting transmission and after forwarding express frame(s) the pre-empted frame transmission is continued. There is no retransmission.
Frame Replication and Elimination for Reliability—FRER (IEEE 802.1CB)
The IEEE 802.1CB standard introduces procedures, managed objects and protocols for bridges and end systems that provide identification and replication of packets for redundant transmission. One of these procedures is Frame Replication and Elimination for Reliability (FRER), which is provided to increase the probability that a given packet will be delivered—in case one Ethernet plug is removed for any reason, or a cable is cut accidentally the communication should continue.
A 5GS might need to support end-to-end redundancy as defined in FRER for TSN as well, for example by using dual connectivity to a single UE or also two PDU sessions to two UEs deployed in the same industrial device (can be called “Twin UEs”). Anyway, redundancy in the 5GS might not base on exact the same principles as a TSN network (which means complete physical end-to-end redundancy using separate equipment). The latter ones rely on fixed wired links, while 5G relies on a dynamic radio environment. Nevertheless, redundancy as defined by FRER is rather pointing at failures in the equipment (such as an error in a gNB that leads to a connection loss, etc.), but obviously also helps to overcome influences of changing radio conditions and connection losses due to handovers.
If “Twin UEs” are used they should be connected to two BSs anytime to supports full redundancy and in case of a handover, not perform it both at a time and not to the same BS.
It is an open discussion whether a physical redundancy needs to be implemented in the 5GS or whether traffic can be carried over for example a single User Plane Function (UPF) or server hardware respectively. If for example some 5GS functions are so reliable that it is not required to be deployed in a redundant way, then it might be sufficient to just use physical redundancy for some parts of the 5GS.
Some inventions have been worked on describing how this FRER type of redundancy can be supported in the 5GS, both on the RAN and on the core. As a configuration point for redundancy we also suggest using the Application Function (AF). The 5GS could announce different redundant paths to the TSN network and internally in the 5GS could support the redundancy in a way it is sufficient with or without physical redundancy of certain components. So, the actual 5G interpretation of redundancy can be hidden from the CNC/TSN definition of redundancy this way.
5G and TSN—Network Configuration
In TSN, the IEEE 802.1Qcc extension supports the runtime configuration and reconfiguration of TSN. At first, it defines a user network interface (UNI). This interface enables the user to specify stream requirements without knowledge of the network, thereby making the network configuration transparent to the user. This of course as well relevant to achieve a plug-and-play behavior as it is common for home and office networking but especially not in today's industrial Ethernet networks.
There are three models that enable this transparency. Specifically, the fully distributed model, where stream requirements propagate through the network originating from the talker till the listener. Therein the UNI is between an end station and its access switch. The fully distributed model is illustrated in
The centralized network/distributed user model introduces an entity, called the centralized network configurator (CNC), with complete knowledge of all streams in the network. All configuration messages originate in the CNC. The UNI is still between the end station and access switch, but in this architecture, the access switch communicates directly with the CNC.
Finally, the fully centralized model allows a central user configurator (CUC) entity to retrieve end station capabilities and configure TSN features in end stations. Here, the UNI is between the CUC and the CNC. This configuration model might be most suitable for the manufacturing use cases, where listener and talker require a significant number of parameters to be configured. The CUC interfaces and configures end stations, while the CNC still interfaces bridges. The fully centralized model is illustrated in
CUC and CNC
The CUC and CNC, at the fully centralized model, are part of a configuration agent (e.g., a PLC in a factory automation context) that executes both tasks, as shown in
The communication between talker and listener happens in streams as introduced above. A stream has certain requirements in terms of data rate and latency given by an application implemented at talker and listener. The TSN configuration and management features are used to setup the stream and guarantee the stream's requirements across the network. The CUC collects stream requirements and end station capabilities from the devices and communicates with the CNC directly.
The steps to setup a TSN stream in the TSN network in the fully centralized model are as follows:
The 5GS Application Function (AF) is seen as the potential interface for the 5GS to interact with TSN control plane functions (i.e., CNC and CUC). The AF, according to 3GPP TS 33.501, can influence traffic routing, interact with the policy framework for policy control for 5G links and also further interact with 3GPP core functions to provide services, which can be utilized to setup and configure TSN streams in the 5G TSN interworking scenario.
The FRER setup sequence stream in a TSN network is shown in
As introduced in the FRER part above, the AF could implement the interface that signals redundancy support towards the CNC and accepts redundant path computations from it. This is illustrated in
TSN is now in a research and development phase. Early products are available on the market that support only a subset of TSN features listed in here. Also, the TSN standardization is ongoing and some features are not yet finalized. Especially it is not clear which features will be relevant for industrial use cases and which not. IEC/IEEE 60802 is an ongoing effort to define a TSN profile for industrial usage. Nevertheless, it is a wide spread vision that TSN will be the major communication technology for wired industrial automation in the next years.
In the preceding paragraphs, the concept of the Time Sensitive Networks (TSN) was introduced and the vision of improving Ethernet communication for industrial applications was explained. Then the technical introduction provided some of the performance goals of a TSN that needs to handle not only best effort type of traffic but also critical priority streams. These critical streams require very low bounded latencies that TSN must support. This allows TSN to enable new use-cases in the area of industrial automation.
Then, more details on the TSN operating principles were provided, to explain how TSN can provide deterministic communication. The issue of integrating 5G with TSN core features, was also discussed. This integration requires the support of a specific set of TSN features from a 5G network. This feature set was explained and also some inventive techniques were described, for enabling a smooth interworking between the two networks.
Core Network
The core network is the part of the system that resides between the Radio Access Network (RAN) and one or more Data Networks (DN). A data network could be Internet or a closed corporate network. We assume the core network to be fully virtualized, running on top of a cloud platform. Tasks of the core network include: subscriber management; subscriber authentication, authorization and accounting; mobility management; session management including policy control and traffic shaping; lawful interception; network exposure functions. The 5G core network is described in the 3GPP document “System Architecture for the 5G System (5GS),” 3GPP TS 23.501, v. 15.4.0 (December 2018).
In today's Mobile Broadband (MBB) deployments, core network functions are often deployed on large nodes serving millions of subscribers. The nodes are often placed in few centralized data centers, giving an economy of scale.
In 5G, many other use cases will arise besides MBB. These new use cases may require different deployments and different functionalities. For example, in manufacturing, lawful intercept and many charging and accounting function may not be needed. Mobility can be simplified or, in case of small factory sites, may not be needed at all. Instead new functions are needed including support for native Ethernet or Time-Sensitive Networking (TSN). Preferably, new functions can be added quickly without having to go through a lengthy standardization process.
For reasons of latency, data locality and survivability, a core network for manufacturing should not necessarily need to run in a large centralized data center. It should instead be possible to deploy a small-scale core network at the factory site. What is needed for 5G, and for manufacturing, is a core network that is flexible in terms of deployment and in terms of functionality.
These issues can be addressed by decomposing the user plane of the core network into a small function called a micro user plane function (μUPFs). Depending on the use case, different sets of μUPFs are re-composed into a user plane service for a subscriber. The service may change over time, and the μUPFs are hosted on execution nodes, depending on service requirements like latency. The control plane of the core network requests a service by describing it on an abstract level. A chain controller translates this high-level service description into a set of μUPFs and instantiates those μUPFs on the correct execution nodes.
This approach gives flexibility in terms of deployment and functionality and can be used as a basis for use cases like manufacturing. As an important aspect of flexibility, this approach allows implementations that can scale down to very small footprints.
One core network deployment alternative for the core network in manufacturing is a local, possibly stand-alone, deployment at the factory. Another deployment alternative is to run parts of the core network at a more centralized cloud. Such cloud could be at an operator site or at some corporate site. If the core network is provided by an operator, then such deployment could give an economy-of-scale advantage. Processes for this manufacturing customer could be hosted on nodes that are also used for other customers. The same management systems may be used to serve multiple customers.
In the latter deployment, special care needs to be taken for latency, data locality and local survivability. Parts of the user plane will always need to run on the local factory cloud for latency. But the control plane may very well run remotely, since this device control plane signaling is mainly for authentication (not frequent and not time-critical), session setup (typically only once for factory devices), and mobility across base stations (which may not happen at all for small deployments).
Signaling is mainly for authentication (not frequent and not time-critical), session setup (typically only once for factory devices), and mobility across base stations (which may not happen at all for small deployments).
Some core network functions used for MBB are not needed in manufacturing. This imposes a requirement on a core network for industrial applications to scale down to a very minimum of features. Some new features will be needed. New features that will be required are basic Ethernet support (native Ethernet PDU sessions), and more advanced Ethernet features (for example, TSN).
It must be possible to differentiate traffic within a factory. For example, production-critical devices require a different service then “office” devices. There are several techniques to achieve such differentiation; including PLMNs, slicing, APNs or μUPF chaining.
More features can be envisioned in the following areas:
New features for manufacturing will impact several interfaces to the core network. For example, running production-critical core network services requires a production-critical cloud to run on. Or, a network deployment with some parts running locally under the responsibility of the factory owner, and some parts running centrally under the responsibility of the operator will require changes in management systems. Furthermore, additional network exposure interfaces will be needed if the 5G (core) network system is modelled as a single logical TSN switch.
Radio Access Network
In recent years, the cellular radio access capabilities necessary for enabling support for Industrial IoT have been greatly improved, resulting in both LTE and NR becoming suitable technologies for providing this support. Several architecture options supporting reliable delivery as well as new MAC and PHY features to enable URLLC have been added to the specifications in LTE and NR Release 15. Additional URLLC enhancements are being studied for NR Release 16 with a goal to achieve 0.5-1 ms latency and reliability up to 1-10−6. Furthermore, improvements especially targeting support for Ethernet PDU transport and TSN by the NR RAN are envisaged for Release 16.
The following describes the specified LTE and NR URLLC features introduced in 3GPP Release 15 as well as our proposed RAN concept for NR Release 16. First, how 5G RAN architecture options may be used to support data duplication for achieving higher reliability is discussed. Then, layer-1 and layer-2 features for URLLC are described, including features that are currently being considered in Rel-16 work on NR-Industrial IoT and enhanced URLLC (eURLLC). The following continues to describe how LTE and NR deliver precise time references to UEs as well as how Ethernet compression works when Ethernet PDUs are delivered through the 5G RAN. For industrial IoT use cases such as factory automation, reliability needs to be ensured for both data and control planes. Further, a description of how reliable control plane and reliable mobility can be achieved. A technology roadmap is described, highlighting the feature sets specified in Release 15 LTE and Release 15 NR as well as planned for Release 16 NR, and is concluded with a summary.
5G RAN Architecture Options
This sub-section introduces the 5G RAN architecture on which the subsequent description of features to support Industrial IoT is based on.
The 5G standardization work in 3GPP concluded for Release 15 for NR, for LTE, and for Multi-Connectivity including both NR and LTE. Release 15 is the first release for the newly developed radio access technology 5G NR. In addition, several LTE features necessary to enable 5G use cases have been specified. These new Rel-15 NR and LTE standards support integration of both technologies in multiple variants i.e. LTE base stations (eNBs) interworking with NR base stations (gNBs) with E-UTRA core network (EPC) and 5G core network (5GC), respectively. In such integration solutions, the user-equipment (UE) connects via different carriers with two radio base stations, of LTE or NR type, simultaneously, which is generally denoted Dual Connectivity (DC) and in the case of LTE+NR denoted EN-DC/NE-DC. The network architectures allowing for LTE and NR interworking are illustrated in
The protocol architecture for the radio access in LTE and NR is largely the same and consists of the physical layer (PHY), medium access control (MAC), radio link control (RLC), packet data convergence protocol (PDCP), as well as (for QoS flow handling from 5GC for the NR) the service data adaption protocol (SDAP). To provide low latency and high reliability for one transmission link, i.e. to transport data of one radio bearer via one carrier, several features have been introduced on the user plane protocols for PHY and MAC, as we will see further in the respective sections below. Furthermore, reliability can be improved by redundantly transmitting data over multiple transmission links. For this, multiple bearer type options exist.
In
In the split bearer type operation, data is split or duplicated in PDCP and transmitted via RLC entities associated with both MCG and SCG cell groups. Also, the split bearer may be terminated in MN or SN. Data can be conveyed to the UE via one more multiple of those bearers. Duplication of data is possible for MCG or SCG bearer when additionally employing CA within a cell group, or by employing the split bearer for duplication among cell groups; which is further described below. Furthermore, redundancy can also be introduced by transmitting the same data over multiple bearers, e.g. MCG terminated bearer and SCG terminated bearer, while handling of this duplication happens on higher layer, e.g. outside of RAN.
URLLC Enablers in User Plane
For the operation of URLLC services, i.e. provisioning of low latency and high-reliability communication, several features have been introduced for both LTE and NR in Rel-15. This set of features constitutes the foundation of URLLC support, e.g. to support 1 ms latency with a 1-10{circumflex over ( )}-5 reliability.
In the RAN concept described, these URLLC features are taken as a baseline, with enhancements developed for both Layer 1 and Layer 2. These are on the one hand serving the purpose of fulfilling the more stringent latency and reliability target of 0.5 ms with 1-10{circumflex over ( )}-6 reliability, but on the other hand also allowing more efficient URLLC operation, i.e., to improve the system capacity. These enhancements are also particularly relevant in a TSN scenario, i.e. where multiple services of different (mostly periodic) traffic characteristics must be served with a deterministic latency.
In this section, URLLC enablers for user plane data transport, i.e. the Layer 1 and Layer 2 features, are described. This is one part of the overall RAN concept only; to support the 5G TSN integration from RAN, further aspects are considered, such as reliability in the control plane and mobility, as well as accurate time reference provisioning.
Note that in most cases, the main descriptions herein are based on NR, although in certain cases LTE descriptions are provided as baseline while the features are conceptually also applicable to NR. Further below, a table is provided identifying whether the features are specified for LTE/NR. Whether a feature is required depends on the specific URLLC QoS demand in terms of latency and reliability. Furthermore, some of the features can be seen not as enablers for URLLC itself but enabling more efficient realization of URLLC requirements by the system, i.e., features that enhance capacity will result in an increased number of URLLC services that can be served. Therefore, these features can be roughly grouped as essential features for low latency, essential features for high reliability, and others, as follows.
Essential features for low latency:
Essential features for high reliability:
Furthermore, the following features have been considered as well:
The following discussion will review these features as specified in Release 15, a description of enhancements suitable for Release 16, as well as new feature descriptions suitable for Release 16, starting with Layer 1 and continuing with Layer 2.
URLLC Enablers in User Plane
In NR, a slot is defined to be 14 OFDM-symbols and a subframe is 1 ms. The length of a subframe is hence the same as in LTE but, depending on OFDM numerology, the number of slots per subframe varies. (The term “numerology” refers to the combination of carrier spacing, OFDM symbol duration, and slot duration.) On carrier frequencies below 6 GHz (FR1) the numerologies 15 kHz and 30 kHz SCS (Sub-Carrier Spacing) are supported while 60 kHz SCS is optional for the UE. 15 kHz SCS equals the LTE numerology for normal cyclic prefix. For frequency range 2 (FR2) the numerologies 60 and 120 kHz SCS are supported. This can be summarized in Table 8.
The possibility of using different numerologies has the benefit of adapting NR to a wide range of different scenarios. The smallest 15 kHz subcarrier spacing simplifies co-existence with LTE and gives long symbol duration and also long cyclic prefix length, making it suitable for large cell sizes. Higher numerologies have the benefit of occupying a larger bandwidth, being more suitable for higher data rates and beamforming, having better frequency diversity, and, important for URLLC, having a low latency thanks to the short symbol duration.
The numerology itself can thus be considered as a feature for URLLC, since transmission time is shorter for high SCS. However, one needs to consider signalling limitations per slot, such as PDCCH monitoring, UE capabilities, and PUCCH transmission occasions, which can be a limiting factor, since UE is less capable per slot basis at high SCS.
NR provides support for mini-slots. There are two mapping types supported in NR, Type A and Type B, of PDSCH and PUSCH transmissions. Type A is usually referred to as slot-based while Type B transmissions may be referred to as non-slot-based or mini-slot-based. Mini-slot transmissions can be dynamically scheduled and for Release 15:
Note that the last bullet means that transmissions may not cross the slot-border which introduces complications for certain combinations of numerology and mini-slot length.
Mini-slots and short TTI both reduce the maximum alignment delay (waiting time for transmission opportunity) and transmission duration. Both the maximum alignment delay and the transmission duration decrease linearly with a decreased TTI and mini-slot length, as can be seen in
A drawback with mini-slot is that a more frequent PDCCH monitoring needs to be assigned. The frequent monitoring can be challenging for the UE, and also uses up resources that otherwise could be used for DL data. In NR Rel-15 the number of monitoring occasions that can be configured will be limited by the maximum number of blind decodes per slot and serving cell the UE can perform and the maximum number of non-overlapping control channel elements (CCEs) per slot and serving cell.
To maintain efficiency for data symbols we can expect higher L1 overhead with mini-slots due to the higher fraction of resources used for DMRS. Even if only a fraction of the OFDM symbols is used for DMRS, it could be one symbol out of e.g. 4 instead of 2 symbols out of 14 for a slot.
Based on formulated drawbacks, the following challenges related to mini-slots are being addressed in NR Release 16:
Release 16 solutions for these challenges are described below.
With regards to min-slot repetitons, since URLLC traffic is very latency sensitive, the most relevant time allocation method is type B, where one can start transmission at any OFDM-symbol within a slot. At the same time the reliability requirements can lead to very conservative link adaptation settings, hence, lower MCSs may be selected which requires more RBs. Instead of having wider allocation in frequency, gNB can decide to allocate longer transmission in time which can help to schedule more UEs at the same time. Unfortunately, due to restrictions in Release-15 NR, the transmission must be delayed in time if it overlaps with the slot border. The illustration of this issue is presented in
To illustrate the latency gains possible by allowing scheduling of a transmission to cross the slot border using mini-slot repetition we look at the average latency gains compared to scheduling transmissions that are constrained to fit in one slot. One way of using mini-slot repetitions to achieve this is illustrated in
Given an assumption that data packets are equally likely to arrive at the UE at any symbol within a slot, Tables 9-11 show the worst case latency for different combinations of transmission durations and SCS for non-cross-border and cross-border scheduling respectively, considering UL configured grant with HARQ-based retransmissions. Since there are 14 symbols in a slot and we typically target very low block error probabilities, we need to ensure that the latency bound can be achieved when data arrives at the symbol that gives the worst-case latency. We evaluate the latency assuming capability 2 UE, and that the gNB processing time is the same as the processing time at the UE. We assume that the gNB uses half of the processing time for decoding, i.e., if the transport block is decoded correctly it can be delivered to higher layers after half the processing time. Since allowing HARQ retransmissions can lower the amount of resources used considerably by targeting a higher BLER in the first transmission we evaluate the latency after the initial transmission, 1st, 2nd, and 3rd HARQ retransmission, taking into account the time needed to transmit PDCCH scheduling the retransmission and the time needed to prepare the PUSCH retransmission. We assume that any retransmissions use the same length as the initial transmission.
In Tables 9-14 we show the worst case latency for HARQ-based retransmission achievable with Release 15 (transmission not crossing the slot border) and the worst case latency when using mini-slot repetition to allow crossing the slot border. We consider SCS=15, 30, or 120 kHz, and a total PUSCH length of 2 to 14 symbols, counting any repetitions, i.e., a 2-symbol mini-slot repeated 4 times shows up in the tables as a length 8 transmission. To make the tables easier to interpret, they focus on target latencies of 0.5, 1, 2, and 3 ms respectively. In the tables showing the worst-case latencies using mini-slot repetitions, the shaded cases show cases where one of these target latency bounds can be met using mini-slot repetitions but cannot be achieved using Release 15.
In comparison to Release 15 scheduling, the following gains can be reached:
The mini-slot repetition in UL can be used together with other features, enabling higher reliability, such as frequency hopping according to certain pattern or precoder cycling across repetitions.
PUCCH enhancements include the use of Short PUCCH. For DL data transmission, the UE sends HARQ feedback to acknowledge (ACK) the correct reception of the data. If the DL data packet is not received correctly, the UE sends a NACK and expects a retransmission. Due to strict latency constraint of URLLC, short PUCCH format with 1-2 symbols (e.g., PUCCH format 0) are expected to be of high relevance. Short PUCCH can be configured to start at any OFDM symbol in a slot and therefore enables fast ACK/NACK feedback suitable for URLLC. However, there exists a trade-off between low latency and high reliability of HARQ feedback. If more time resources are available, it is also beneficial to consider a long PUCCH format which can have a duration of 4 to 14 symbols. With the use of longer time resources, it is possible to enhance PUCCH reliability.
Another enhancement is UCI multiplexing with PUSCH. For a UE running mixed services with both eMBB and URLLC, the reliability requirements on UCI transmitted on PUSCH can differ significantly from the PUSCH data. The reliability requirement on the UCI can either be higher than the requirement on the PUSCH data, e.g., when transmitting HARQ-ACK for DL URLLC data at the same time as eMBB data, or lower, e.g., when transmitting CQI reports meant for eMBB at the same time as URLLC data. In the case where UCI has lower requirement than PUSCH data, it may be preferable to drop some or all of the UCI.
The coding offset between UCI and PUSCH data is controlled through beta factors for different types (HARQ-ACK, CSI) of UCI. An offset larger than 1.0 means that corresponding UCI is coded more reliable than data. The beta factors defined in Release 15 have a lowest value of 1.0. This value might not be low enough when considering URLLC data together with eMBB UCI. The better solution would be an introduction of special beta-factor value allowing to omit UCI on PUSCH to ensure URLLC reliability. This approach is illustrated in
Other enhancements are in the area of power control. When UCI is transmitted on PUCCH the reliability requirement can differ significantly if UCI is related to eMBB or URLLC/eURLLC. For Format 0 and Format 1, the number of PRBs equals one and an attempt to increase reliability by using more PRBs makes PUCCH sensitive to time dispersion. Therefore, for Format 0 and Format 1, different reliability can be achieved by different number of symbols and/or power adjustment.
The number of symbols can be dynamically indicated in downlink DCI using the field “PUCCH resource indicator,” wherein two PUCCH resources are defined with different number of symbols. Power adjustments are however limited to a single TPC table and/or possibly using the PUCCH spatial relation information wherein multiple power settings (such as P0) and up to two closed-components can be defined. But, the different PUCCH power settings can only be selected using MAC CE signaling. This is clearly too slow in a mixed services scenario where the transmitted HARQ-ACK may be changed from related to eMBB to related to URLLC/eURLLC between two consecutive PUCCH transmission opportunities. As a solution for this issue, PUCCH power control enhancements can be introduced in NR Release 16 to enable larger power difference between PUCCH transmission related to eMBB and PUCCH transmission related to URLLC:
Further enhancements regard HARQ-ACK transmission opportunities. For URLLC with tight latency requirements there is a need to have several transmission opportunities within a slot when using mini-slot based PDSCH transmissions and hence also a need for several opportunities for HARQ-ACK reporting on PUCCH within a slot. In Release 15, at most one PUCCH transmission including HARQ-ACK is supported per slot. This will increase the alignment time for sending the HARQ-ACK and therefore the DL data latency. To reduce the downlink data latency, it is necessary to increase the number of PUCCH opportunities for HARQ-ACK transmission in a slot, especially if multiplexing of eMBB and URLLC traffic is supported on the downlink. While a UE processing capability gives the minimum number of OFDM symbols from the end of a PDSCH transmission until the beginning of the corresponding HARQ-ACK transmission on a PUCCH, the actual transmission time of HARQ-ACK is further limited by the allowed number of PUCCHs within the slot.
In Release 15, a UE can be configured with maximum four PUCCH resource sets where each PUCCH resource set consisting of a number of PUCCH resources, can be used for a range of UCI sizes provided by configuration, including HARQ-ACK bits. The first set is only applicable for 1-2 UCI bits including HARQ-ACK information and can have maximum 32 PUCCH resources, while the other sets, if configured, are used for more than 2 UCI bits including HARQ-ACK and can have maximum 8 PUCCH resources. When a UE reports HARQ-ACK on PUCCH it determines a PUCCH resource set based on the number of HARQ-ACK information bits and the PUCCH resource indicator field in last DCI format 1_0 or DCI format 1_1 that have a value of PDSCH-to-HARQ feedback timing indicator indicating same slot for the PUCCH transmission. When the size of the PUCCH resource set is to at most 8, the PUCCH resource identity is explicitly indicated by the PUCCH resource indicator field in the DCI. If the size of PUCCH resource set is more than 8, the PUCCH resource identity is determined by the index of first CCE for the PDCCH reception in addition to the PUCCH resource indicator field in the DCI.
For URLLC with tight latency requirements, there is a need to have several transmission opportunities within a slot for PDSCH transmission and hence also a need for several opportunities for HARQ-ACK reporting on PUCCH within a slot as mentioned earlier.
This means that a UE needs to be configured with several PUCCH resources to enable the possibility for multiple opportunities of HARQ-ACK transmissions within a slot although that only one of them may be used in each slot. For example, a UE running URLLC service may be configured with possibility of receiving PDCCH in every second OFDM symbol e.g. symbol 0,2, 4, . . . , 12 and PUCCH resources for HARQ-ACK transmission also in every second symbol, e.g. 1, 3, . . . , 13. This means that UE need to be configured with a set of 7 PUCCH resources just for HARQ-ACK reporting for URLLC for a given UCI size range. Since there may be a need to have other PUCCH resources for other needs the list of at most 8 PUCCH resources that can be explicitly indicated by PUCCH resource indicator in the DCI may likely be exceeded. If there are more than 8 PUCCH resources in the set in case of 1-2 HARQ-ACK bits the index of first CCE will control which PUCCH resource is indicated. Hence, the locations where the DCI can be transmitted may be limited to be able to reference an intended PUCCH resource. Consequently, this may impose scheduling restrictions where the DCI can be transmitted and may also cause “blocking” if the DCI cannot be sent on desired CCE (due to that it is already used for some other UE). Therefore, instead of configuring 7 PUCCH resources in the example above, one can assume one PUCCH resource with a periodicity for transmission opportunity of every 2 symbols within a lot. This approach is illustrated in
The solution and problem described above apply for FDD as well as TDD. However, for fixed “mini-slot” TDD pattern 8 PUCCH resources that can be explicitly indicated may be enough since only the UL part of the slot can comprise PUCCH resources.
With regards to PDCCH enhancements, with high reliability requirement for URLLC, it is important that transmission of downlink control information (DCI) is sufficiently reliable. It can be achieved by several means including improved UE/gNB hardware capabilities, enhanced gNB/UE implementation, and good NR PDDCH design choices.
In terms of design choices, NR PDCCH includes several features which can enhance reliability. These include:
NR supports two main DCI formats, namely the normal-sized DCI formats 0-1 and 1-1 and the smaller-size fall-back DCI formats 0-0 and 1-0. Although scheduling flexibility can be limited, it may still be reasonable to consider fall-back DCI for data scheduling to obtain PDCCH robustness due to lower coding rate for a given aggregation level. Moreover, it can be noted that normal DCI contains several fields which are not relevant for URLLC such as bandwidth part indicator, CBG-related fields, and the second TB related fields.
One possible enhancement is a URLLC specific DCI format. Both aggregation level (AL) and DCI size can have impact on PDCCH performance. Aggregation levels have different channel coding rate and are used in link adaptation for PDCCH, while DCI payload size is rather fixed for configured connection. To make PDCCH transmission more robust, one can use high AL and/or small DCI payload size to lower PDCCH code rate. PDCCH performance comparison between different DCI sizes is summarized in Table 15. Here, DCI size 40 bits serves as a reference for the Release 15 fallback DCI size, while DCI sizes 30 and 24 may be referred to as compact DCI sizes. One can see that the gains of reducing DCI size from 40 to 24 bits are small especially at high AL, the gain is even smaller when reducing DCI size from 40 to 30 bits. The gain essentially depends on the level of code rate reduction.
With high reliability requirement for URLLC, it is important that transmission of downlink control information (DCI) is sufficiently reliable. It can be achieved by several means including improved UE/gNB hardware capabilities, enhanced gNB/UE implementation, and good NR PDDCH design choices.
In terms of design choices, NR PDCCH includes several features which can enhance reliability. These include:
NR supports two main DCI formats namely the normal-sized DCI formats 0-1 and 1-1 and the smaller-size fall-back DCI formats 0-0 and 1-0. Although scheduling flexibility can be limited, it may still be reasonable to consider fall-back DCI for data scheduling to obtain PDCCH robustness due to lower coding rate for a given aggregation level. Moreover, it can be noted that normal DCI contains several fields which are not relevant for URLLC such as bandwidth part indicator, CBG-related fields, and the second TB related fields.
When a URLLC UE operates with good channel condition, it is reasonable to use low AL for PDCCH. It was argued that compact DCI can have positive impact on PDCCH multiplexing capacity as more UEs with good channel conditions can use low AL, and thus reducing blocking probability. To check this, the impact of using compact DCI on PDCCH blocking probability is studied as a function of DCI size, number of UEs, and CORESET resources. Number of URLLC UEs in a cell is considered from 4 to 10. CORESET resources are determined based on CORESET duration and bandwidth. CORESETs are assumed to occupy 1 or 2 OFDM symbols with 40 MHz BW.
Additionally, due to demodulation and decoding complexity constraint at the UE, there exists a budget on the number of DCI sizes UE should monitor per slot, i.e., 3 different sizes for DCI scrambled by C-RNTI and 1 additional for other RNTI as agreed in Release 15. So, introducing another DCI format with smaller size will be even more challenging for satisfying the DCI size limitation.
An alternative to compact DCI for PDCCH enhancement in Release 16 may be considered. In NR Release 15, there are two main DCI formats for unicast data scheduling, namely the fall-back DCI formats 0-0/1-0, and the normal DCI formats 0-1/1-1. The fall-back DCI supports resource allocation type 1 where the DCI size depends on the size of bandwidth part. It is intended for a single TB transmission with limited flexibility, e.g., without any multi-antenna related parameters. On the other hand, normal DCI can provide flexible scheduling with multi-layer transmission.
Due to high reliability requirement of URLLC, we see that it is beneficial to use a small size fallback DCI for good PDCCH performance. At the same time, it can be beneficial to have parameters such as multi-antenna related ones to support high reliability transmission. This can motivate a new DCI format having the same size as the fallback DCI but improved from the fallback DCI to swap in some useful fields, e.g., some fields that exist in the normal DCI but are absent in fallback DCI. By having the new DCI formats with the same size as existing DCI formats, blind decoding complexity can be kept the same. It can be noted that its use may not be limited to URLLC. Any use cases which require high PDCCH reliability with reasonable scheduling flexibility should be able to leverage the new DCI format as well.
Another area for improved performance regards limits on the number of blind decodes and CCE. As discussed above, PDSCH/PUSCH mapping type B (mini-slot with flexible starting position) is a key enabler for URLLC use cases. To achieve the full latency benefits of type B scheduling, it is necessary to have multiple PDCCH monitoring occasions within a slot. For example, to get the full benefits of 2 OFDM symbol transmissions, it is preferable to have PDCCH monitoring every 2 OFDM symbols. The limits in Release 15 on the total number of blind decodes (BD) and non-overlapping CCEs for channel estimation in a slot strongly restricts the scheduling options for these kinds of configurations, even when limiting the number of candidates in a search space.
Current limits for 15 kHz SCS in NR coincide with limits for 1 ms TTI in LTE, while these limits were extended after introduction of short TTI in LTE. These Release 15 limits as shown in the first row of Table 9 and 10 can be expected to be revised in NR Release 16 in scope of URLLC framework. For example, with the current number of CCE limits, there are only at most 3 transmission opportunities per slot if AL16 is used.
Rather than specifying multiple new UE capability levels, it is proposed to specify one additional level of support for PDCCH blind decodes, for which the numbers are doubled compared to Release 15. For this additional level of support, instead of simply defining it per slot basis, it makes more sense to take into account how the BDs/CCEs are distributed in a slot for mini-slot operation. One possible choice is to define the BD/CCE limit for each half of the slot. For the first half of the slot, it is natural to assume the same number as the other cases. For the second half of the slot, assuming that UE has finished processing PDCCH in the first half of the slot, the UE should have the same PDCCH processing capability in the second half of the slot. Therefore, it is reasonable to assume the same number as in the first slot.
Considering all of the above, the corresponding increase in the BD limits can be summarized in Table 16
Similarly, a corresponding increase in the CCE limits can be summarized in Table 17.
As an alternative solution to Tables 16 and 17, one can consider introducing a limitation per sliding window, where sliding window size and number of blind decodes or CCE per window can be further defined in specification.
A consequence of increases in numbers of blind decodes and CCE limits is more PDCCH occasions in a slot, and thus a UE has higher chance of eventually being scheduled. Table 18 shows the PDCCH blocking probability after certain number of PDCCH occasions for different number of UEs per cell. (DCI size=40 bits, CORESET duration=1 symbol.) It is evident that the PDCCH blocking probability within a slot can be reduced significantly with more PDCCH occasions.
While limits on PDCCH can improve alignment delay, the processing delay reduction can additionally contribute to total latency decrease. Thus, UE processing capabilities are addressed in the following.
The downlink data transmission timeline is illustrated in
TUE,proc is an important latency component to improve. In Release 15, UE processing time capability #1 and #2 have been defined, where capability #1 is defined for SCS of 15/30/60/120 kHz, and capability #2 defined for SCS of 15/30/60 kHz. The more aggressive capability #2 is still inadequate for the 1 ms latency constraint. Since the latency requirements for eURLLC are in order of 1 ms (e.g., 0.5 ms), a new UE capability #3 can be defined in Release 16 NR to fulfil the latency requirements. The proposed UE capability #3 is summarized in Table 19. The impact of the proposed capability can be seen in
Another delay component TDL,align is significantly influenced by PDCCH periodicity. The worst case TDL,align is equal to the PDCCH periodicity. In Release 15, PDCCH periodicity is affected by several constraints, including: (a) blind decoding limits, (b) # CCE limits), (c) DCI sizes. To provide shorter PDCCH periodicity for eURLLC, it is necessary that the number of blind decoding limits and CCE limits be relaxed in Release 16.
Another important UE capability is related to time of CSI report generation. The faster UE can provide the CSI report the more accurate a scheduling decision will be from link adaptation perspective. In Release 15 specification there are two key values defined:
In Release 15, there exists no “advanced CSI processing capability”, that is, there is only a baseline CSI processing capability defined that all UEs must support. There was a discussion to include such an advanced CSI processing capability in Release 15, but it was not included due to lack of time.
Three “latency classes” for CSI content are defined in Release 15.
For each of these three classes, different requirements on (Z, Z′) are defined (according to CSI computation delay requirement 2). There also exist a more stringent CSI requirement, CSI computation delay requirement 1, which is only applicable when the UE is triggered with a single Low Latency CSI report without UL-SCH or UCI multiplexing and when the UE have all its CSI Processing Units unoccupied (i.e., it is not already calculating some other CSI report).
In NR Release 15, the mandatory UE CSI processing capability requires a UE to support calculation of 5 simultaneous CSI reports (which may be across different carriers, in the same carrier or as a single report with multiple CSI-RS resources).The values of (Z,Z′) is CSI processing requirement 2 where thus determined so that all UEs should be able to calculate 5 CSI reports within this timeframe. As some UE implementations calculate multiple CSI reports in a serial fashion, this implies that, roughly speaking, the CSI requirement 2 is about 5× longer than what it would be if the requirement were that only a single CSI report would need to be computed.
In a typical URLLC scenario, and indeed, in many typical deployments and scenarios, the gNB is only interested in triggering a single CSI report at the time. It is thus a bit unfortunate that the timing requirement is 5× longer than it has to be for that case. This excessively long CSI calculation time puts additional implementation constraints for the scheduler, as the N2 requirement for data triggering and data to HARQ-ACK delay (K1) requirement is much lower than the CSI processing requirement.
Further improvements are possible. For CSI processing timeline enhancements for eURLLC, the introduction of a new CSI timing requirement (“CSI computation delay requirement 3”) is beneficial for sporadic traffic for the purpose to quickly get channel state at gNb. It may be sued when the UE is triggered with a single CSI report. A starting position could be to take the values defined for CSI timing requirement 2 and divide by a factor 5.
Another possible CSI processing timeline enhancement is to introduce an advanced CSI processing capability. That is, to introduce a new set of tables for the two existing CSI timing requirements (as well as for the third one just proposed). A UE could then similarly to the advanced processing capabilities for PDSCH/PUSCH indicate in its capability that is supports the more aggressive CSI timeline.
Fast HARQ is another improvement. The faster processing and UE capabilities discussed in the previous sections enable faster HARQ re-transmissions. We assume that gNB can operate with similar processing speed as the UE. To operate with HARQ re-transmissions and keep latency low there need to be frequent PDCCH monitoring occasions but also PUCCH occasions where the HARQ-ACK can be transmitted. For simplicity reasons we will be assuming zero timing advance although that cannot be assumed in reality. With non-zero timing advance the latency values may change.
Here one can focus on comparison between Release 15 and Release 16. The evaluation results are shown below. For Release 15 capability #2 we assume a PDCCH periodicity of 5 OFDM symbols (os). Note that with the CCE limit per slot of 56, it is allowed up to 3 PDCCH monitoring occasions per slot where each occasion contains at least one AL16 candidate. For Release 16 we assume improved values of N1 and N2 (capability #3 which was discussed in previous sections) and PDCCH periodicity of 2 symbols as a consequence of potential improvement on the limits of number of blind decodes and CCEs.
Inter-UE pre-emption is another improvement. Dynamic multiplexing of different services is highly desirable for efficient use of system resources and to maximize its capacity. In the downlink, the assignment of resources can be instantaneous and is only limited by the scheduler implementation, while in the uplink, standard specific solutions are required. Below, the existing solutions in Release 15 and additional solutions for Release 16 are discussed.
Dynamic multiplexing of different services is highly desirable for efficient use of system resources and to maximize its capacity. In the downlink, the assignment of resources can be instantaneous and is only limited by the scheduler implementation. Once low-latency data appears in a buffer, a base station should choose the soonest moment of time when resources could be normally allocated (i.e. without colliding with the resources allocated for an already ongoing downlink transmission for that UE). This may be either beginning of the slot or a mini-slot where the mini-slot can start at any OFDM symbol. Hence, downlink pre-emption may happen when long term allocation(s) (e.g. slot based) occupy resources (particularly wideband resources) and there is no room for critical data transmission which can by typically mini-slot. In this case a scheduler can send DCI to critical data UE and override ongoing transmission in downlink. When slot eMBB transmission is pre-empted, the pre-empted part of the original message pollutes the soft buffer and should be flushed to give good performance in retransmissions, which will likely happen. NR Release 15 specification allows to indicate about the pre-emption by explicit signalling, which is carried either:
Option 1 gives an indication as a 14-bits bitmap, which addresses to reference downlink resource domains in between two pre-emption indication messages. Highest resolution of this signaling in time is 1 OFDM symbol and in frequency ½ of BWP (BandWidth Part), but not at the same time. The longer periodicity of messages, the coarser resolution. Since this is a group common signaling, all UEs within the BWP may read it.
Option 2 is a user specific way of signaling. The HARQ retransmission DCI, which contains a set of CB/CBGs, may have a special bit to indicate that the UE must first flush related parts of the soft-buffer and then store retransmitted CB/CBGs in the soft buffer.
During 3GPP discussions of Release 15 URLLC, the uplink pre-emption feature was down-scoped due to lack of time in 3GPP URLLC working item. However, the feature is under discussion of Release 16. UL pre-emption may happen where a longer eMBB UL transmission is interrupted with urgent URLLC UL transmission. Further, it can have two flavors:
Given two enabling mechanism based on power control and muting, the pre-emption would be achieved at the cost of 1) additional signalling and complexity both at UE and gNB due to changing ongoing or planned UL transmissions and 2) impact to the performance of eMBB traffic. For the cost to be worth investing, it is important to adopt a mechanism that ensures best the required quality of the URLLC transmissions. Both approaches can be illustrated by
A drawback with power control-based schemes is that the URLLC transmissions would suffer from the interference originating from transmissions controlled by the serving gNB where in fact those transmissions could have been de-prioritized. Moreover, power boosting of URLLC transmissions would not only increase the interference for neighbouring cells, but also impact the performance of eMBB traffic. Hence, with pre-emption-based schemes, by cancelling the on-going or pre-scheduled eMBB UL transmissions on the suitable resources that the gNB intends to use for URLLC transmissions, the gNB at least avoids possible degradation of the URLLC traffic performance due to its self-inflicted interference. It should be noted that the discussion here relates to PUSCH transmissions where other options are more suitable for controlling reliability. For PUCCH the options are more limited.
The performance of power control-based scheme is shown in
Based on above discussion, the indication-based scheme can ensure URLLC reliability, while power control-based scheme can be considered as backward compatible solution in Release 15/16 interworking scenario. However, the former comes with an extensive signalling cost.
This implies that although the UL pre-emption indication is in fact effective in a UE-specific manner, it is a better design choice to consider a group common UL pre-emption indication with the flexibility to adjust the group size depending on the scenario, from a single UE to multiple UEs, as needed. This approach preserves the properties for the single UE case while reducing signalling overhead and blocking probability in case multiple UEs need to be pre-empted.
Aiming to reuse the already existing mechanism, when possible, the two following options are mainly considered for group common signalling of UL pre-emption:
In option 1, it is proposed to use the existing dynamic SFI and define a new (or extended) UE behaviour as follows. When a UE detects an assignment flexible (or DL) for the symbols that have already scheduled by UE specific signalling for UL transmissions, the UE completely cancels the UL transmissions. This design choice is based on two assumptions, i.e., for the purpose of UL pre-emption, 1) dynamic SFI overrides UE specific signalling and 2) the pre-empted UL transmission is not delayed and resumed but simply cancelled. This approach is simple and requires less processing time at the UE due to the need for only cancelling UL transmissions. However, it requires the defining of a new behavior, which is based on the assumption that a later SFI over-riding a prior UE-specific DCI which by itself is contradictory with the design philosophy used in Release 15. Moreover, relying on the existing SFI regime for the simplicity reasons implies that the specified SFI table for Release 15 should be used. With careful examining the entries of this table, one can observe limitations on where the UL transmission cancellation can occur as compared to a bit map pattern that provide full flexibility.
In option 2, the DL pre-emption mechanism can be adopted for the UL pre-emption indication. This approach enables a gNB to indicate to a UE with finer granularity which resources are needed to be pre-empted by using a bit map pattern. This mechanism is flexible in the sense that depending on how the UE behaviour is defined or its capability, the bit map pattern can be used to indicate when the UL transmission should be stopped without resuming transmission afterwards. Or alternatively, it can be used to indicate to the UE when to stop and then resume the UL transmission if the UE is capable of such operation in reasonable time.
Lower MCS and CQI for lower BLER target are additional issues. Based on the evaluation presented above, it can be observed that depending on a latency requirement for URLLC there could be time only for one radio transmission. In this example an air interface must be able to guarantee very low BLER required for URLLC service. For this purpose, there were several enhancements in Release 15:
As an example, we consider TBS=256 bits (=32 bytes), transmission duration of 4 OFDM symbols with 1 DMRS symbol overhead. PDSCH BLER for different MCSs supported within 40 MHz BW are given in
The network can configure highlighted MCS tables semi-statically by RRC. Moreover, dynamic signalling for MCS table is also supported by configuring UE with MCS-C-RNTI in addition to regular C-RNTI where MCS-C-RNTI is always associated with Low SE MCS table. UE always applies Low SE MCS table when it detects MCS-C-RNTI scrambled with PDCCH CRC and it applies semi-statically configured MCS table (64QAM or 256QAM) otherwise. As an alternative, the MCS table can be configured semi-statically when UE has only URLLC traffic, while the dynamic way is preferable in case when UE is eMBB and URLLC capable at the same time. A drawback of dynamic MCS-table signalling is higher PDCCH CRC false alarm rate due to new MCS-C-RNTI introduction.
It must be noted that CQI and MCS tables can be configured independently, e.g., legacy 64QAM MCS table can be used with new 64QAM CQI table 10{circumflex over ( )}-5 BLER reporting.
Multi-antenna techniques are another issue. There is a well-known trade-off between increased data rates (multiplexing) and increased reliability (diversity). This means that increases in one necessarily come at the cost of some degradation of the other. In mobile broadband, MIMO techniques are typically used to increase the data rates and the spectrum efficiency of the network. On the other hand, for URLLC, it may be better to spend the degrees of freedom afforded by MIMO to increase reliability. Thus, instead of using the throughput as a metric to be optimized, the network can optimize reliability metrics such as the outage probability. For example, UL performance can be improved by both UL pre-coding and intra-site UL CoMP (joint reception) as shown in
Cyclic-delay diversity (CDD) or space-time codes can also be considered to provide additional frequency diversity in a spec-transparent manner. Multiple receive antennas provide receive diversity and provide means to maximize the received signal-to-interference-noise-ratio (SINR) after reception combining at the receiver. Diversity schemes has the benefit that they require less channel knowledge than precoding does.
Multiple antenna elements can also be used to create directional antenna beams at the transmitter and/or receiver side to increase the received SINR and thus reliability. Clearly, improved SINR is provided that the beam is pointing in correct direction and hence beamforming requires at least some channel knowledge to determine the correct direction of the beam.
L2 Features
In this section, Layer 2 features in the RAN are described to support the provisioning of URLLC. While multiple features for LTE and NR have been introduced for Release 15, providing the fundamental URLLC support, current studies for Release 16 standardization seek for enhancements to improve the system's efficiency when providing URLLC and also in particular targeting the support of TSN integration i.e. support of multiple traffic flows of different QoS requirements. Assumed here is that not only should non-critical traffic be efficiently transmitted, other critical traffic flows should be served with a deterministic latency. In a TSN scenario, these traffic flows are typically periodical but not necessarily. In general, we address scenario where full knowledge of when, which size and with which pattern/period traffic arrives at the gNB or UE is not available a-priori. We investigate the Release 15 baseline and enhancements in the following sections on SR and BSR, Pre-scheduling for cyclic traffic, UE multiplexing, as well as PDCP duplication.
It shall be noted that the L2 features are generally independent of whether FDD or TDD is used.
Buffer Status Reports (BSR) and Scheduling Requests (SR) are the two methods which the UE can use to indicate that data is available in the transmission buffer. These indications may result in that the network provides a grant, i.e., UL-SCH resources to the UE to allow data transmissions. This is commonly known as dynamic scheduling. An example of SR and BSR operation is shown in
In a nutshell, one of the major differences between SR and BSR is that the SR is a one-bit indication in PUCCH which signals that the UE has data for transmission, while the BSR explicitly provides an approximate value of the amount of data that the UE has in its buffer on a per logical channel group basis. The BSR is transmitted in a MAC Control Element (CE) which is transmitted in the PUSCH.
In NR Release 15, one SR configuration can be configured per each logical channel, and several logical channels may be configured with the same SR configuration. The SR is transmitted in the PUCCH. In one bandwidth part (BWP), an SR may be configured with, at most, one PUCCH resource. This means that, in NR, the network may configure multiple SR configurations which could, potentially, be used for different types of traffic.
The procedure can be summarized as follows:
Dynamic scheduling introduces a delay to the data transmissions, as shown in
Some Industrial IoT services and traffic may need to meet tight delay requirements. “Multiple SR configurations” as specified in Release 15, is thus a feature which can play a key role to ensure traffic differentiation and to ensure that delay requirements are met. An example is depicted in
Buffer Status Report (BSR), as specified, is transmitted by the UE in the PUSCH. The BSR is transmitted as a MAC Control Element in the MAC PDU. The purpose of the BSR is to indicate the approximate amount of data in the buffers. This report is indicated per Logical Channel Group (LCG). Each logical channel will be associated to a LCG. There are 8 LCG. In scenarios in which there is a need to differentiate among a limited set of traffic profiles (DRBs), the number of LCG may be sufficient to provide a 1-to-1 mapping between logical channels and LCG.
There are 4 different BSR formats and depending on the selected format, the UE may be able to indicate the buffer status of one or more logical channels groups.
The BSR can be triggered by one of the following mechanisms:
SR and BSR will play an important role to assist Industrial IoT traffic to meet the different requirements of each traffic, especially when the traffic periodicity and size is unpredictable.
“Multiple SR configuration” may be a key feature to differentiate traffic which has strict delay requirements and dynamic scheduling as the preferred method to allocate UL network resources. A specific SR configuration could be mapped to a specific Logical Channel (which could carry traffic with specific requirements e.g. very low latency requirement). When the network receives this specific SR (which can be identified by the specific resources allocated to it), the network can identify that there is traffic with low latency requirements waiting for transmission. Then, the network may prioritize the allocation of resources to this traffic.
One possibility is that predictable Industrial IoT traffic (known periodicity/packet sizes) is mapped to a specific SR configuration. The SR configuration would then identify the traffic which would allow the network to allocate the appropriate resources for that specific traffic. On the other hand, LCHs with non-predictable traffic (packet sizes are unknown) would then be mapped to a generic SR configuration, a generic SR shared by a number of other LCH. In this case, the SR configuration cannot assist the network to identify the traffic and, therefore, the LCH needs to rely on the BSR indications to provide relevant information to the network which could assist to the scheduling decisions. Thus, Buffer Status Reporting will also be a key feature especially in scenarios in which non-predictable traffic is expected.
It is expected that Industrial IoT is based on the SR procedure designed in Release 15, but minor enhancements might be introduced in Release 16. For example, it is up to the UE to decide which SR configuration is used when there are several pending SRs. This UE behavior could be changed so that the SR configuration linked to the highest priority logical channel is selected by the UE. However, this was discussed during Release 15 without reaching any possible agreement. Furthermore, currently even though a frequent PUCCH resource is allocated for allowing quick SR transmissions when critical data arrives, when a long PUSCH transmission is ongoing, the SR can only be sent at the PUCCH resource after this long PUSCH duration, as PUCCH and PUSCH cannot overlap according to current specification. BSR might be transmitted in this case instead via PUSCH, but given the PUSCH is long (slot length, low OFDM numerology), it may also be associated with a long decoding/processing delay. This is shown in
BSR for Industrial IoT will also be based on Release 15 and minor enhancements might be also introduced. During the development of Release 15, it was proposed that new data would always trigger a BSR. This behavior was not accepted and the LTE behavior was adopted. That means that new data coming to a logical channel does not trigger a regular BSR if the logical channel group already had buffered data, or the new data belongs to a lower priority logical channel. Nevertheless, for Industrial IoT Release 16, it has been discussed again whether new data would always trigger a BSR, which would have the advantage that otherwise required frequent periodical BSR transmissions can be avoided.
Another aspect not discussed in these SR/BSR sections is the priority of the MAC CE for BSR in the logical channel prioritization procedure. MAC CE for BSR, with exception of padding BSR, has a higher priority than data from any DRB. In other words, MAC CE for BSR is transmitted before any user data per current operation. However, some optimizations targeted for NR Industrial IoT are possible:
In the following, we address pre-scheduling grants which is used in both Release 15 and 16. Such grants removes the delay introduced by waiting for SR transmission occasions and the corresponding response (i.e. grant).
In Release 15, when a UE does not have UL resources allocated and data becomes available, the UE needs to undergo the scheduling request procedure, i.e., request UL resources from the gNB, which are then granted. This comes with an additional UL access delay, unwanted for transmission of critical traffic, such as TSN stream data. Pre-scheduling of grants is a technique to avoid the extra latency resulting from SR-to-grant procedures when using dynamic scheduling, as illustrated in
Pre-scheduling can be done by implementation by the gNB pro-actively sending out multiple UL grants for potential UL transmissions. The standard in LTE and NR Release 15 supports this concept by allowing pre-scheduling of multiple, periodically recurring UL grants. It builds on the semi-persistent scheduling concept (SPS) originally introduced for LTE VOIP. In NR, such pre-scheduling scheme is called semi-persistent scheduling in the downlink (DL), whereas it is called configured grant (Type 1 and Type 2) in the uplink (UL).
The NR DL SPS assignment is the same as in LTE, which is a configured assignment provided by PDCCH/L1 signal (can also be deactivated/activated).
The NR UL configured grant (CG) has been specified in two variants, configured grant type 1 and type 2. In both variants gNB pre-allocates the resources of the grants (via different signaling) including:
Both configured grants type 1 and type 2 share several commonalities, such as:
One difference between Type 1 and Type 2 is the setting up procedures. The procedures of Type 1 CG are illustrated in
A disadvantage of configured grant is the low utilization of granted resources when used to serve unpredictable yet critical traffic, because gNB will allocate resources without knowing if the traffic will arrive or not.
TSN traffic handling will be an important issue in Release 16. Several approaches to support multiple traffic flows, i.e., TSN streams are discussed here, where each stream has specific characteristics, i.e., periodicity, time offset, target reliability, latency, etc., as illustrated in
Each of the TSN stream characteristics plays a major role in scheduling the users. For instance, a TSN stream with periodical data yet ultra-low latency requirement can be best accommodated (with minimum possible network resources) if the network knows exactly the periodicity and arrival of such TSN stream data. However, if the network does not know such characteristics it will over dimension the grant to avoid violating the tight latency requirement, thereby potentially resulting in inefficient radio resource management. Furthermore, it is assumed a target reliability of the UE's TSN data stream can be reached with specific MCS index and number of repetitions. Only if the radio network accurately knows such requirements it will not over or under allocate the resources. It is assumed in the following that these traffic characteristics are not necessarily known, especially when it comes to multiple overlapping TSN streams and other non-critical traffic. Therefore, features are investigated in the following, giving the gNB the possibility to still efficiently as well as robustly schedule the traffic mix.
In Release 15, a single CG configuration within a cell/BWP can support industrial streams/flows with similar periods and other requirements (such as, latency, reliability, jitter, etc.). However, in industrial networks, as targeted in Release 16, multiple streams (data flows) generated at a node is a very common use-case, e.g., robot arm with several actuators, sensors and monitoring devices.
As a result, such multiple streams differ in its characteristics, e.g., arrival time, and payload size as shown in
Furthermore, multiple streams can be characterized by different periodicity, latency and reliability requirements, as shown in
Since gNB is responsible to allocate the CG's configurations, any overlap among the configurations occurs with the knowledge of the radio network. gNB might allocate overlapping configurations to address several scenarios: 1) overcoming the mis-alignment of critical data arrival 2) accommodating multiple TSN streams with different characteristics. Depending on the characteristics of the configurations, the overlaps can be divided into several cases:
A problem in overlapping configurations is the undefined UE decision basis for selecting which of the overlapping configurations. Assume a gNB allocates similar overlapping configuration with different offset in time to overcome the mis-alignment in critical data arrival, as shown in
Industrial applications raise additional considerations related to logical channel prioritization (LCP) restrictions and multiplexing. Following, the baseline LCP procedures are described. Then, techniques to enhance multiplexing for industrial mixed services scenarios are described.
Mixed services communication systems should address both Inter-UE and Intra-UE scenarios, however, in this section we focus on the Intra-UE one. In such systems a UE is assumed to have several traffic types that are categorized as critical and non-critical traffic. It is assumed that critical traffic is served better with configured grants, because this traffic requires very low latency high reliability in the uplink. It is further anticipated that gNB would overprovision configured grant resources to serve such traffic, because of uncertainty about traffic pattern. On the other hand, non-critical traffic has loose latency and reliability requirement and does not benefit from too robust transmissions; on the contrary: system resources might be wasted transmitting large volumes of non-critical traffic with robust grants in a capacity limited scenario. A common use-case that represents and motivates such mixed services case is an industrial robot arm that has actuators, sensors, and cameras integrated and connected to the same communication device/UE. Several RAN1/2 issues surface when such critical traffic overlaps with non-critical one.
The LCP procedures are applied whenever a new transmission is to be performed, and it is mainly used to specify how and what LCHs are going to fill the MAC PDU which is going to be sent over the PUSCH via PHY. There are mainly two parts in LCP procedures, one focuses on selecting the LCHs to be included in the MAC PDU, the other one focuses on the prioritization and the amount of each LCH's data (among the selected ones) to fill the MAC PDU.
The selection of LCHs is called LCP restriction procedures. Such procedure is controlled by several restrictions configured via RRC. Each of these restrictions allow/forbid the LCH to be included in the constructed MAC PDU. The following are the existing LCP restrictions in Release 15:
Logical channel priority is configured per MAC entity per logical channel. RRC configures the LCP parameters to control the multiplexing of the uplink LCH's data within the MAC. Such LCP parameters are expressed as,
An example of how LCP multiplexing occurs is illustrated in
Below, several scenarios that result from intra-UE mixed-services assumption are addressed. In such scenario, we assume that a single UE has to serve both critical and non-critical traffic. The critical traffic may be a-periodic or periodic and require more robust coding with relatively small size grant, compared to the non-critical traffic grant requirement. A requirement of the critical data is that it be scheduled using a periodic, robustly coded configured grant to avoid the latency induced from SR and its response procedure.
We further assume that no perfect knowledge of critical data arrival is present at the scheduler. This means that the critical traffic is a-periodic or not entirely periodic, i.e., the periodic arrival of the traffic may be affected by some jitter, or some periodic transmission opportunities may simply be skipped (due to unavailable data). In such cases, the network/scheduler cannot ideally align scheduling of periodic configured grants to the packet arrival occurrences, which results in the problems described in the next sub-sections.
Furthermore, if short periodicities of the configured grant are required to cater for very low latency-requirements of critical traffic, the short periodicity configured grant will result in imposing scheduling limitations on other non-critical traffic in the UE. Examples of such imposed scheduling limitations are 1) only short dynamic grant duration can be allocated in-between the configured grants, 2) dynamic grant has to be overlapping with the configured grant.
Problem 1: Non-Critical Traffic Sent on Robust Configured Grant
In this sub-section, we address the problem that arises when non-critical traffic is accommodated using a robust configured grant (i.e. intended for critical traffic). We assume the existence of non-critical traffic with sporadic available. Such traffic would be scheduled on robust configured grant resources that needed to be provided for sporadic critical traffic with short periodicity. As illustrated in
New LCH restrictions on the logical channel (LCH) holding non-critical traffic, as shown in
Problem 2: Critical Traffic on Non-Robust Dynamic Grants
Another arises when a gNB needs to schedule a spectrally efficient dynamic grant for non-critical traffic in addition to robust configured grants intended for sporadic critical traffic. This is shown in
To overcome such issue, a new LCH restriction, i.e., “DynamicGrantAllowed”* or “minimumReliabilityRequired” can be introduced. Such restriction will block the critical LCH from being sent on non-robust dynamic grant, as illustrated in
Problem 3: Issues on Dynamic Grant Overriding Configured Grant
According to the current specification a configured grant is always overridden if an overlapping dynamic grant was allocated. In some scenarios a non-robust dynamic grant might overlap with a robust configured grant, as illustrated in
To solve this problem, a configured grant may be conditionally prioritized, i.e. if critical data is available for transmission over the robust configured grant when there is an overlapping dynamic grant, then critical data is always prioritized as illustrated in
Problem 4: Intra-UE UL Pre-Emption Between Grants of Different PUSCH Durations
In the industrial mixed traffic scenario, in order to enable high spectral efficiency, gNB may want to allocate longer grants to accommodate non-critical traffic. This will increase the delay of sending any sporadic critical data, as illustrated in
PDCP duplication is another issue to be discussed. As a method to improve reliability in LTE, NR and EN-DC, multi-connectivity within the RAN is considered. While these features previously focused on improving the user throughput, by aggregating resources of the different carriers, the focus in 3GPP has shifted recently and new features are developed for LTE (and likewise for NR) to improve the transmission reliability.
3GPP introduced carrier aggregation (CA) in Release 10, as a method for the UE to connect via multiple carriers to a single base station. In CA, the aggregation point is the medium access control (MAC) entity, allowing a centralized scheduler to distribute packets and allocate resources e.g. according to the channel knowledge among all carriers, but also requiring a tight integration of the radio protocols involved. With DC or Multi-Connectivity resource aggregation happens at PDCP. This way, two MAC protocols with their separate scheduling entities can be executed in two distinct nodes, without strict requirements on their interconnection while still allowing for realizing increased user throughput.
In 3GPP Release 15 LTE and NR, both architecture concepts of CA and DC are reused to help improve reliability as a complement to the reliability enhancements provided by PHY features. This is achieved by packet duplication, which has been decided to be employed on PDCP layer. An incoming data packet, e.g. of an URLLC service, is thereby duplicated on PDCP and each duplicate undergoes procedures on the lower layer protocols RLC, MAC, PHY, and hence individually benefits from e.g. their retransmission reliability schemes. Eventually the data packet will thus be transmitted via different frequency carriers to the UE, which ensures un-correlated transmission paths due to frequency diversity, and in case of DC transmissions from different sites thereby providing macro diversity. The method is illustrated in
Frequency diversity among carriers goes beyond diversity schemes offered by the physical layer on the same carrier. Compared to time-diversity, e.g. repetition schemes, it has the advantage of mitigating potential time-correlations of the repetitions, which could e.g. occur on a carrier by temporary blocking situations. Furthermore, carrier-diversity allows, as shown in
Multi-connectivity with packet duplication on PDCP has the advantage of relying less on utilizing lower layer retransmission schemes (hybrid automated repeat request (HARQ), and RLC-retransmission) to achieve the target reliability metric, and by this lowering the latency to be guaranteed with a certain reliability. For example, let us assume the PHY achieves for each HARQ transmission a residual error probability of 0.1%. In 0.1% of the cases a retransmission is required, increasing the transmission latency by an extra HARQ round trip time (RTT). With packet duplication, the probability that both un-correlated HARQ transmissions fail is 0.1%*0.1%. That means that in 1-10{circumflex over ( )}-6 of the cases the low latency without the extra HARQ RTT is achieved, since simply the first decodable packet duplicate is accepted and delivered, while the second is discarded (at PDCP). An illustration of this relation can be found in
Packet duplication is considered to be applicable to both user plane and control plane, meaning that also RRC messages can be duplicated on PDCP layer. This way, latency/reliability of the RRC message transferal can be improved, which is e.g. important for handover-related signaling to avoid radio link failures.
Furthermore, multi-connectivity has the potential to enable reliable handovers without handover interruptions for user plane data. Thereby, the handover can be done in two steps, i.e. one carrier is moved at a time from source to target node, and hence the UE maintains always at least one connection. During the procedure, packet duplication may be employed, so that packets are available at both nodes for interruption-free transmission to the UE.
To support PDCP duplication in CA, a secondary RLC entity is configured for the (non-split) radio bearer used in support of duplication. See
Furthermore, to allow using PDCP duplication as a “scheduling tool” i.e. allowing to activate and deactivate duplication only when necessary, i.e. dynamically be the scheduler, MAC control elements had been specified.
In Release 16, within NR-Industrial IoT, enhancements to PDCP duplication in NR are envisaged, which allow duplication over more than two links, i.e. DC-based and CA-based duplication may be used together, or CA-based duplication with more than two carriers are considered. Furthermore, enhancements regarding the duplication efficiency are investigated: instead of always duplicating, the transmitter may defer from sending the duplicate if the original had been in flight already for a certain time. The reasoning is that a duplicate serves its purpose of increasing the reliability of reaching a latency bound only if both original and duplicate are received within this latency bound. One could envisage also a scenario where duplicates are only transmitted together with a retransmission, i.e., NACK-based. I.e. retransmission reliability is improved, while initial transmission reliability remains the same.
Table 20 illustrates for which bearer options, UP, CP, etc., duplication is supported.
Reference Time Provisioning
An NR-Industrial IoT feature of interest is that of providing UE based applications (e.g. residing in Industrial IoT devices connected to a UE via ethernet ports) with clock information derived from source clocks residing in networks external to the 5G network. The external source clocks can be provided in addition to the 5G system clock which is internal to the 5G system. The clocks derived from external sources can be viewed as working clocks corresponding to working domains that reside within the context of a “universal domain” as indicated by
The “universal domain” is based on the 5G system clock and is used to align operations and events chronologically within a factory (the universal domain). The working clocks are used for supporting local working domains within the universal domain wherein each local working domain consists of a set of machines. Different working domains may have different timescales and synchronization accuracy thereby requiring support for more than one working clock within the universal domain.
Within the scope of Release 15 RAN2 has focused primarily on the method by which a single reference time value can be delivered over the radio interface from a gNB to a UE and has not been concerned about or aware of any use cases wherein multiple reference time vales would need to be conveyed to a UE. The ongoing discussion within SA2/RAN3 regarding the potential need for delivering multiple reference time/working clock values to a UE continues to drive further enhancements in this area.
A 5G system supports an internal 5G clock which can be based on a very accurate and stable clock source (e.g. a GPS time) and distributed throughout the 5G network as needed, including delivery to eNBs and UEs as reference time information. It is also possible for a 5G system to acquire reference time information from an external node (not further considered herein). LTE Release 15 supports a method for delivering a single instance of reference time information (assumed to be available at an eNB) to UEs using both RRC message and SIB based methods as follows and as illustrated in
For NR Release 16 a method similar to LTE Release 15, as described above, is expected to be used for sourcing and delivering reference time information from a gNB to one or more UEs. However, NR Release 16 is also expected to introduce support for one or more working clocks (sourced by external nodes in the TSN network) as supplemental clock information (i.e. supplemental to the reference time provided for the universal time domain).
The internal 5G clock (shown as a 5G Grand Master) is used for serving radio related functions and is therefore delivered to both the gNB and UE (but not made available to the UPF). Once the gNB acquires the internal 5G clock (implementation specific) it can convey it to the UEs using either broadcasting (e.g. SIB) or RRC unicasting methods. The SFNs sent over the Uu interface will be synchronized to 5G internal clock and in this sense the UE will always be synchronized to the 5G internal clock even if it is not explicitly conveyed to the UEs.
The gNB receives working clock information from different external TSN nodes (i.e. directly from the TSN nodes controlling the TSN work domain clocks), thereby requiring the gNB to support PTP signalling and multiple PTP domains (multiple PTP clock instances) for communicating with TSN network. The gNB then conveys the working clocks (as standalone clocks or as offsets relative to the main internal 5G clock) to the corresponding UEs using one of two methods as follows:
For methods 1 and 2 above, the frequency with which a UE distributes working clocks to End Stations can be seen as implementation specific. When performed it makes use of PTP sync message exchange as performed in the TSN network. In other words, the UE acts as master clock to the TSN end stations using the (g)PTP protocol and decides when working clock values need to be refreshed in the End Stations. The UE forwards all working clocks it receives to all end stations it manages (i.e., the end stations determine which working clocks they are interested in).
For NR Release, a UPF Continuous PTP Chain Method may be used. For this method, which is illustrated in
The UPF transparently relays the working clocks (e.g. green clock on the right hand side of
Ethernet Header Compression
For traditional IP transport over 3GPP systems header compression has been specified, i.e. robust header compression (RoHC) to reduce the volume of data sent over the radio interface, thereby RoHC is applied to the UDP/TCP/IP layers, and RoHC compression/decompression is performed by PDCP layer at UE and gNB.
In the TSN, where Ethernet transport is envisaged, header compression could potentially also be applied. This would be the case for the Ethernet PDU session type, where Ethernet frames should be conveyed between gNB and UE.
Generally, given that robust transmissions with a very low residual error rate are required for URLLC, used code rates are naturally very low, meaning that URLLC transport is resource-costly over the radio interface. Therefore, removal of unnecessary redundancy such as potentially Ethernet headers, is important to be studied as part of the Release 16 NR-Industrial IoT 3GPP study. In the following, an analysis of the Ethernet/TSN header structure and gains from compressing them is done.
Forwarding in Layer 2 (L2) networks is usually based on information available in L2 frame headers. Each Ethernet frame starts with an Ethernet header, which contains destination and source MAC addresses as its first two fields. Further header fields of an Ethernet frame are constructed quite simply using tagging. Some of the header fields are mandatory some are optional, and they depend on network scenario.
There are multiple formats of Ethernet frames (e.g., 802.3, 802.2 LLC, 802.2 SNAP). They are identified based on the value of the EtherType vs. Length field.
Regarding Ethernet frame transmission over 3GPP networks, some parts of the Ethernet frame do not need transmission (e.g., Preamble, SFD (Start of Frame Delimiter), FCS (Frame Check Sum), see also existing specification for PDU session type, TS 23.501). Fields of the Ethernet header can be compressed but the gain achieved by compression are dependent on the network scenario. The Ethernet link can be either an access link or a trunk link. For a trunk link, the number of sessions is significantly larger and can be affected by Ethernet topology change that results in temporary flooding. On the other hand, an access link is more stable from L2 session perspective. Ethernet header compression must be L2 link specific, i.e., covering a single L2 hop (a.k.a. link-by-link basis), as illustrated above.
We consider the following fields for Ethernet header compression: MAC source and destination address (6 bytes each), tag control information (6 bytes), holding information such as VLAN-tag and Ethertype. Ethernet frame transmission over 3GPP networks does not need forwarding of some parts of the Ethernet frame (i.e., Preamble, SFD, FCS). So, in total 18 bytes can be compressed.
Assuming the 5G system is used as an Ethernet access link, only a limited number of L2 sessions would exist, and compression down to 3-5 bytes (conservative assumption) is possible, which leads to significant gains for small packet sizes (as typical in URLLC) as shown in
Regarding how and where header compression for Ethernet can be supported, the following questions may be raised.
Reliable Control Plane
In this section, methods for reliable control plane provisioning i.e. for robustly maintaining the radio resource control (RRC) connection between UE and gNB, are described.
First of all, control plane, i.e. RRC signalling (SRB) transmission is handled the radio protocols as user plane data transmission, i.e. RRC signalling robustness can be established with the same features as describe for Layer 1 and Layer 2 above. Furthermore, also PDCP duplication, in the case of the split bearer in DC, as well as for CA, is also applicable to RRC signalling (SRB).
As we will see in the following, beside SRB signalling robustness, also resilience against node failures and handling of radio link failure (RRC) can be addressed: In case of a failure of the network node terminating RRC, the UE would lose its connection. Furthermore, in current Release 15 LTE and NR the radio link failure handling is not symmetrically handled, i.e. in case of failure related to the primary cell, radio link failure (RLF) is triggered, leading to a connection interruption, where the UE disconnects and searches for a new node to connect to. In case of failure related to the primary cell of the secondary cell group (SCG), however, only a failure indication is sent to RRC, while the connection continues. A similar procedure is also implemented for a secondary cell failure in case of CA duplication.
There are two failure cases that can be handled with RRC diversity today (Release 15). Specifically, for a DC architecture with PDCP duplication, both in case of secondary radio link failure, as well as in case of entire SgNB outage, the connectivity with the UE can be maintained. In case of primary cell failure or MgNB failure, this would however not be the case. These failure cases in Release 15 are illustrated in
To enable “True RRC diversity”, therefore, further enhancements need to be considered, i.e. either a fast/pro-active handover or failover of the RRC context to another node, in case of node failure, and generally symmetrical handling of radio link failures independent of in which cell the failure happened. This symmetrical handling of RLF is considered within NR WI DC in Release 16. The approach contemplated here is that instead of triggering a failure and UE interrupting data and control signaling when a failure associated with a primary cell occurs, the UE informs the network via a secondary cell, and continues its communication of data and control via this secondary cell, until reconfigured by the network.
An alternative, however costly, method would be an approach where multiple companion UEs are used for the same industrial device. Duplication and duplicate elimination would in this case happen on higher layers of the UEs. On the network side, the UEs would (as a configuration option) be connected to different eNBs/gNBs so that in case of link failure, UE failure or also node failure, the connection could be maintained via the independent companion UE.
Handover and Mobility Enhancements
For a UE in RRC-connected mode, the NR mobility mechanisms in Release 15 follow its LTE baseline, which is illustrated in
For the handover to be interruption-free, i.e., in order to achieve 0 ms handover interruption time, the switching time by the UE must be minimized. For this, in LTE Release 15 (not NR), it was agreed that a dual Tx-Rx UE shall be capable of performing an enhanced make-before-break solution to ensure 0 ms handover interruption time. In this solution the UE maintains the connection to the source gNB until the UE starts to transmit/receive data from the target eNB. The details of how the dual protocol stacks are handled at the UE were left to UE implementation.
For Release 16, both in LTE and NR, some further mobility enhancements are envisaged. For reducing the handover interruption time in NR, there are several solutions under discussion for dual Tx-Rx UEs. One of which is the LTE-like enhanced make-before-break approach (described above). Other approaches, relying on the DC architecture consider a role switch operation between MN and SN and thus enabling 0 ms ‘handover’, i.e. maintaining always a connection to one of the nodes while undergoing handover. For scenarios where UEs do not have dual Tx-Rx functionalities, other approaches are envisaged such as improved i.e. faster RACH-less handover based on an improved TA calculation approach, or also faster fall-back possibilities to the source node. To improve the general handover robustness (applicable to various scenarios from URLLC or aerials domain), a solution is foreseen based on a conditional handover command (performing handover execution when a certain network configured condition is met) which reduces the handover failure/ping-pong possibility traded for higher network resource usage overhead.
One way to provide mobility without increasing latency due to handover and without requiring any capability enhancements at the UE is to deploy so-called combined cells. Combined cell is a feature that is commercially available in Ericsson's LTE networks. In a combined cell, multiple remote radios are connected to the same baseband digital unit, and serve the same cell. It allows multiple sector carriers to belong to the same cell. Combined cell can be used to extend the coverage of a cell, and provides the following additional advantages:
URLLC benefits from all of the advantages listed above. Shadowing can be a problem in factory floors, due e.g. to the presence of large metal surfaces. Combined cell can help decrease or eliminate this problem, by careful selection of the antenna sites. Increasing the signal strength at the UE is clearly beneficial for increased reliability, as is macro diversity. Avoiding or reducing the need of handovers, is also greatly beneficial for moving UEs, as handovers typically result in significant latency increase. Furthermore, combined cell provides seamless coverage in transition areas between indoor-outdoor, or indoor-indoor (e.g. multi-story halls), which would otherwise require (more) handovers. It provides a robust mechanism to grow the coverage area of the network, desirable e.g. when the factory floor is expanded.
Finally, combined cell can be used together with carrier aggregation, which provides its own benefits.
URLLC feature introduction in 3GPP Release 15 and 16 is summarized in Table 21 Table. The shading indicates features that are needed for supporting industrial IoT use cases that have stringent URLLC requirements, and the ones without shading are considered as features for efficiency optimization or scheduling flexibility.
Release 15 establishes core URLLC features enabling LTE FDD and NR, both FDD and TDD, to fulfill the IMT-2020 URLLC requirements of 99.999% reliability with 1 ms latency. For LTE, essential features for industrial IoT consist of short TTI, automatic repetitions without HARQ feedback, UL semi-persistent scheduling (SPS), reliable PDCCH, RRC diversity for achieving control-plane reliability, as well as high-precision time synchronization for allowing isochronous operation between multiple devices in the network. Although LTE FDD achieves the IMT-2020 URLLC requirements, LTE TDD however does not due to the limitation of TDD configuration. The lowest one-way user-plane latency for data transmission is limited to 4 ms in LTE TDD.
Release 15 NR meets IMT-2020 URLLC requirements with higher efficiency than LTE. One key enhancement is the scalable OFDM numerology used in NR, which combined with short TTI substantially shortens the transmission time. Another key enhancement in NR is dynamic TDD and faster DL and UL switching. NR TDD can achieve one-way user-plane latency as short as 0.51 ms.
The evolution of industrial IoT support continues in NR Release 16. One major enhancement is TSN integration, which enables NR to work with established industrial Ethernet protocols. NR Release 16 will also introduce URLLC enhancements to enable NR to meet even more stringent requirements, e.g. 99.9999% reliability with 0.5 ms latency.
In summary, NR has been designed with clear objectives of achieving low latency and ensuring high reliability from the outset. An array of layer-1 and layer-2 features in Release 15 enables URLLC:
In addition, RAN architecture options are available to enhance reliability beyond the beforementioned features, i.e. by duplicating data through multiple gNBs and/or through multiple carriers.
Release 15 NR thus lays a solid foundation for supporting URLLC services. It has been also verified in the work of 3GPP IMT-2020 self-evaluation that Release 15 NR fully fulfils the IMT-2020 URLLC requirements, 99.999% reliability with 1 ms latency.
Building on the solid URLLC foundation in Release 15, Industrial IoT is in focus now in Release 16. The prioritized use cases include factory automation, electrical power distribution, and transport. Although the requirements of these prioritized use cases vary, the most demanding use cases call for 99.9999% reliability with latency as small as 0.5 ms. Furthermore, a key aspect of NR Industrial IoT is to enable NR to work with established industrial Ethernet protocols. As TSN emerges as the foundation of the industrial Ethernet protocols, a flagship Release 16 feature is “NR and TSN integration”.
With TSN integration and further URLLC enhancements, NR Release 16 will make great strides toward enabling smart wireless manufacturing and ushering in a new era in industry digitalization and transformation.
Industrial Communication Technologies and Protocols Alongside TSN and 5G
It is a widely accepted thinking that TSN and 5G will be the fundamental connectivity technologies for future factories and other industrial use cases. Nevertheless, most industrial players do not start their industrial IoT story from scratch in a greenfield deployment. Rather, many industrial processes already involve connected devices using their own industry defined connectivity mechanisms. These deployments are commonly referred to as brownfield. While most brownfield deployments (94%) are wired, also many wireless solutions exist, especially for data collection. Industry is conservative and already made investments are guarded. Thus, many times a new technology needs to be introduced as a complementary solution to the already existing infrastructure at the industrial site unless significant added value can be shown.
The protocol stack for industrial IoT can look very different depending on choices on different protocol layers.
To get a complete picture, this chapter introduces both wired and wireless communication technologies that are used today. Regarding the use of 4G and 5G for brownfield deployments, two aspects are important and covered:
With regards to the physical and medium access layers, many wired communication technologies dedicated to industrial usage have been developed in the past. Initially so-called Fieldbus technologies have been used as e.g. standardized in IEC 61158. Nowadays a shift towards industrial Ethernet solutions has happened and Profinet is one example of such. A main trait of these technologies is that they are designed to deliver data under tight time constraints, 1 ms or less. A disadvantage of Fieldbuses and some industrial Ethernet variants is a general incompatibility with each other and the need for special hardware to run these technologies beyond standard office-Ethernet equipment. Time-sensitive networking (TSN) is a set of IEEE standards, which add reliability and deterministic low latency capabilities on top of standardized Ethernet (IEEE 802.3). It is the ambition to establish a common standard into the splintered wired communication technology market for industries. A lot of industrial equipment vendors right now have started or at least indicated to move to TSN for their portfolio.
Industrial Ethernet has become quite popular and gains market share over legacy fieldbus technologies as Ethernet has also become a major communication standard in other domains. One reason might be the cheap and common parts and cables etc. It was already mentioned that different industrial Ethernet technologies are incompatible and don't allow an interworking without the use of special gateways or similar additional equipment. This is because they use different concepts to satisfy the requirements for industrial use cases. Nevertheless, there are some common facts for industrial Ethernet:
As can be seen in
The network management in case of Profinet (as well as for other technologies) is manually pre-configured and usually no devices can be added on-the-fly—so plug-and-play is mostly not possible, but instead there is some expertise needed to set up these networks which is definitely a pain-point for industries.
Industrial Ethernet equipment differs from standard Ethernet as well:
Some of the industrial Ethernet technologies will probably disappear and being replaced sooner or later by TSN products. Nevertheless, the product life cycles are very long in industries. TSN adopts many features also used in existing industrial Ethernet technologies. Furthermore, organizations behind Profinet and EtherCat already published whitepapers explaining how an operation alongside TSN will work. They might see TSN as a common infrastructure where Profinet and other technologies might coexist on.
The way industrial Ethernet is nowadays deployed is similar to islands. High QoS can only be guaranteed within such an island. One island is deployed using one communication technology, e.g. Profinet. Usually a Programmable Logic Controller (PLC) is used as a master of an island (e.g. a Profinet master). An island usually consists of a few devices on the same shopfloor only. The interworking of e.g. Profinet and cellular is especially relevant if one of these devices (e.g. the PLC) is virtualized (central link) or if one device (device-to-island) or a group of devices using a gateway (inter-island link) is separated from the island on the shopfloor. The interworking of Profinet and for example LTE has been showed already in some research proof-of-concept studies—it is possible if the applications cycle time is above a certain limit (e.g. 32 ms as an example), depending upon the configuration of the LTE network.
Requirements for the cellular network in terms of latency and packet error rate (PER) are not set by the communication technology like e.g. Profinet but the applications using them, or the application cycle times used respectively. Usually the lowest supported network cycle time is a KPI for industrial communication technologies. Although Profinet IRT supports network cycle times down to 31.25 usec it is also being used for applications with much lower requirements (i.e. application cycle times much higher that this). Profinet IRT can be used for application cycle times up to 4 ms. In case of Profinet, the RT version that supports only higher network cycle times seems anyway more relevant, at least was always used in any trials with industrial partners.
Other wireless solutions are trying to enter the field at the same time with 5G. One interesting technology is MulteFire, which is marketed heavily for industrial connectivity. MulteFire as a technology is very similar to LTE but only runs on unlicensed spectrum, so the benefits of scheduling and mobility within the system are there. Device availability is a challenge for MulteFire at current time. WiMAX has partly been used as wireless technology in industrial but is challenged due to the low economy of scale.
Industrial grade Wi-Fi has a small footprint in connecting industrial devices. Reliability and latency issues are addressed through implementation. No global certification exists, but rather the solutions are vendor specific and do not interoperate. More commonly, regular Wi-Fi is deployed in industrial spaces to allow employee Internet access from laptops, tablets and mobile phones. This connectivity is valuable and important for shop floor personnel.
Wireless sensor networks are used to collect sensor data and monitor machinery. Industrial Bluetooth implementations exist as vendor specific solutions. Typically, Bluetooth is used as a connectivity for personnel to acquire reading from machinery when at close distance. There is increasing interest in deploying gateways for continuous connectivity. Also, many different variants of the IEEE802.15.4 protocol exist for industrial use. Most well-known are WirelessHART and ISA100.11a, which are defined and certified by industry players. 6TiSCH is being standardized by the IETF to bring determinism and reliability into the IEEE802.15.4 radio interface.
10-Link Wireless standard might be interesting as well, as it is said to achieve a PER of 10{circumflex over ( )}-9 and can support down to 5 ms cycle time. It has a limited scalability, however, and is limited in communication range.
MulteFire is LTE based technology which fully operates in the unlicensed spectrum. The main goal of MulteFire is to provide LTE-like performance with Wi-Fi-like ease of deployment in unlicensed spectrum. Compared to eLAA, the MulteFire RAN was designed to have independent operation. In particular, MulteFire performs all the control signaling and data signaling in unlicensed spectrum. Today MulteFire also includes eMTC-U and NB-IoT-U as Radio Access Technology (RAT) to support a wide range of applications from mobile broadband to machine type communication.
MulteFire (MF) uses principles of carrier selection, discontinuous transmission and listen before talk (LBT) that are based on 3GPP release 13 and 14 LAA. MulteFire targets 5.0 GHZ global spectrum and utilizes the Release-13 LBT procedure with some additions. Compared to LTE protocol stack, MF is unique in UL, DL physical layer, DRS transmission, SIB-MF broadcasts and its content, RACH procedures and has additional S1, X2 information signaling.
MulteFire 1.0 was further extended with additional features such as Grant Uplink Access, Wideband Coverage Extension (WCE), Autonomous Mobility (AUM), sXGP 1.9 GHZ support, eMTC-U and NB-IoT functionality. These features target more industrial deployments and support for machine type communications.
Grant Uplink Access further reduces UL control signaling overhead, which works very well in low load scenarios. This feature is based on the 3GPP feature Autonomous UL as defined in 3GPP Release 15. The WCE feature aims to increase coverage with up to 8 dB compared to legacy MF MBB operations. Compared to licensed spectrum, LBT and few measurements for RRM and RLF makes mobility very challenging. To address this, MF has specified AUM to deal with fast changing channel quality and handover, in which UE and potential eNBs can be pre-configured with handover related parameters. In particular, UEs may be configured with AUM related mobility assistance information for up to 8 AUM cells. These cells are basically potential candidate target cells, which have been prepared with potential UE context. Parameters which are shared to the UE includes frequency and physical Cell ID (PCI) of the candidate target cells.
To support massive IoT use cases, MF adapted the 3GPP Rel-13 eMTC technology based on 1.4 MHZ carrier bandwidth applied to the 2.4 GHZ frequency band. However, in the 2.4 GHZ frequency band, regulations are unique to USA, Europe, Japan and China. Among this, ETSI in Europe has strict rules and to adhere the regulations, frequency hopping mechanism was adopted. To enable eMTC-like performance, a new time-frequency frame structure is defined which has two fixed time-periods, first time-period being anchor channel and second being a data channel dwell. The data channel usually contains UL/DL transmission which are preceded by LBT and it always starts with a DL transmission. The anchor channel always remains on the same channel, several anchor channels are defined out of which eNB can select one of them to transmit. Data channel dwells transmission using frequency hopping, it is done by splitting 82.5 MHZ into 56 channels, with spacing of 1.4 GHZ between hoping channels. Specifications are currently being finalized to further extend Rel-13 NB-IoT support in unlicensed bands.
The IEEE 802.11 technology family, commonly referred to as Wi-Fi, is a popular technology to provide wireless Internet access in our homes. The industrial grade Wi-Fi solutions listed in the previous section are typically modifications to the IEEE 802.11 Wi-Fi. Industrial grade Wi-Fi is usually based on IEEE 802.11 Wi-Fi certified chipsets, with primarily stripped-down MAC layer. In particular, the LBT mechanism in Wi-Fi, albeit necessary for spectrum regulations, is often removed. The problem with the industrial grade Wi-Fi is interoperability as each industrial grade Wi-Fi is developed independently of the others. In contrast, IEEE 802.11 is a well-known standard, and you can expect products from different vendors to operate well between each other. We will in this section briefly consider a few mechanisms: channel access (largely impacts latency), quality of service (impacts priorities), and link adaptation (spectrum efficiency).
To understand the channel access of Wi-Fi, we must understand the background to some of the design principles in unlicensed bands. In unlicensed bands, as opposed to licensed bands, there is typically no physical controlling entity. There are a set of spectrum rules, but anyone adhering to these rules have the same right and priority to access the wireless medium. Therefore, a major design principle in unlicensed bands is the uncoordinated, competition-based channel access. This is called CSMA/CA—Carrier Sense Multiple Access with Collision Avoidance. The fundamental idea is that there is a random number associated with each channel access, the random number deciding a backoff time. For each failed channel access, this random number becomes larger. The result of this channel access is that round-trip latencies contain a random factor. When the wireless medium is to a large extent unused, the latency is very low, but when the wireless medium is very occupied, the latency can become very large. In industrial scenarios this uncertainty in latency is a concern. We show a typical channel access and data transmission in
In addition to the random backoff, there is in Wi-Fi an interframe spacing time (IFS). There are 3 main interframe spacing times: short IFS (SIFS), PCF (Point Coordination Function) IFS (PIFS), DCF (Distributed Coordination Function) IFS (DIFS). In summary, IFS<PCF<DIFS, where IFS are used for special response frames, i.e. ACK. PCF is used for certain priority frames, and DIFS for standard frames.
Wi-Fi has a quality of service (QoS) mechanism called Enhanced Distributed Channel Access (EDCA). EDCA is mainly based on adjusting the random backoff time when performing channel access, but it also introduces a new IFS, called arbitration IFS (AIFS). A higher priority will in average get priority access due to reduced backoff times. However, note that there is still randomness in each channel access, and no guarantees can be provided. There are 4 priority classes introduced in EDCA: voice, video, best effort, and background. An illustration of how the different priority classes may obtain channel access is shown in
The link adaptation in Wi-Fi is based on full data re-transmissions. If a packet fails to be decoded, the packet is sent again (possibly with another coding and modulation). Note that the data packets in Wi-Fi are self-contained, and if a packet fails all information is typically trashed. This is a main disadvantage compared to LTE or NR, where the soft information received during the initial transmission is combined with the soft information received during the retransmission. The gain by soft combining is in the order of 3-6 dB, depending on if the retransmission is a repetition of the previous coded bits (called Chase combining) or if additional parity bits are transmitted (called incremental redundancy).
The coding and modulation chosen is typically selected by the Minstrel algorithm. The Minstrel algorithm works by keeping trial and error statistics over packets sent with different coding and modulations and attempts to maximize the throughput. The algorithm works well in static environments with little to no interference but suffers when channel characteristics change fast. This results in that Minstrel is typically slow to adopt to an improved channel, as shown in
Industrial services above the IP/Ethernet layer use a variety of protocols to accomplish the tasks at hand. The reference introduces protocols such as Constraint Application Protocol (CoAP), Hypertext Transfer Protocol (HTTP) and HTTP/2, Message Queue Telemetry Transport (MQTT), Open Connectivity Foundation (OCF), Data Distribution Service (DDS) for real-time systems, etc. In the following we give a short introduction to one of the main protocols in the industrial area that is OPC UA. Finally, we take a brief look at SECS/GEM used in the semiconductor industry.
As introduced above, usually an interworking between legacy industrial communication technologies is not possible. As a result, end customers and device manufacturers are faced with a multitude of technologies that need to be produced, run, diagnosed, maintained and kept in stock. While the availability of products and services is largely satisfactory, dealing with multiple solutions generates prohibitive costs and limits IoT capability. The OPC-UA (Open Platform Communication-Unified Architecture) tries to address these problems. OPC-UA is the next generation of OPC technology. It should provide better security and a more complete information model than the original OPC, “OPC Classic.” OPC Classic is a well-established protocol for automation from (primarily) Microsoft. OPC-UA is said to be a very flexible and adaptable mechanism for moving data between enterprise-type systems and the kinds of controls, monitoring devices and sensors that interact with real-world data. OPC-UA is platform independent and ensures the seamless flow of information among devices from multiple vendors. The OPC Foundation is responsible for the development and maintenance of this standard.
For the use in TSN, the OPC-UA standard is adapted to be more deterministic and support certain TSN features.
OPC-UA is also assumed to be used as a configuration-protocol in TSN.
Regarding the time line of OPC-UA and TSN: in Q4 2018 there was an announcement that most industrial automation suppliers (incl. Siemens, Bosch, Cisco, ABB, Rockwell, B&R, TTTEch etc.) are supporting the ‘OPC UA including TSN down to field level’ initiative. It is said that the work will be closely aligned to the work in IEC/IEEE 60802, which defines a common profile for TSN for industrial automation. It is currently planned to conclude the work in 60802 during 2021 which might be probably the same date to publish some final documents describing OPC-UA and TSN.
SEMI (previously known as Semiconductor Equipment and Materials International) standards define the SEMI Equipment Communications Standard/Generic Equipment Model (SECS/GEM) that in turn provides a protocol interface for equipment to host data communications. SEMIs purpose is to serve the manufacturing supply chain for electronics production in semiconductor fabrication plants, aka, fabs.
SECS/GEM is an alternative to OPC UA used in the semiconductor industry. The specification defined how equipment communicates with host in the factory.
Specific Applications to Industrial IoT
Following are detailed discussions of several applications of the technology and techniques described above in the Industrial IoT context. It will be appreciated, of course, that these applications are not limited to this context. Several different applications are described, including techniques for scheduling resources, handling time-sensitive data streams in a 5G network, detecting system support for TSN, handling different timings from different, and data compression and decompression. Further, a few combinations of these techniques are described. It should be appreciated, however, that any of these techniques may be combined with any of the other techniques, as well, as with any one or more of the other techniques and technologies described above, to address the special needs of a factor or other industrial setting.
Scheduling Resources in the RAN
As discussed above, while 5G is based on wireless communications using Long-Term Evolution (LTE) and/or New Radio (NR) technologies, TSN is based on the IEEE 802.3 Ethernet standard, a wired communication standard that is designed for “best effort” quality of service (QoS). TSN describes a collection of features intended to make legacy Ethernet performance more deterministic, including time synchronization, guaranteed low-latency transmissions, and improved reliability. The TSN features available today can be grouped into the following categories (shown below with associated IEEE specifications):
The configuration and management of a TSN network can be implemented in different ways, as illustrated in
The communication between Talker and Listener is in streams. Each stream is based on data rate and latency requirements of an application implemented at both Talker and Listener. The TSN configuration and management features are used to set up the stream and to guarantee the stream's requirements across the network. In the distributed model from
Nevertheless, some TSN features may require a central management entity called Centralized Network Configuration (CNC), as shown in
In the distributed configuration model as illustrated in
3GPP-standardized 5G networks are one solution for connecting wireless devices and/or end stations to an 802.1 TSN network. In general, the 5G network architecture consists of a Next Generation radio access network (NG-RAN) and a 5G core network (5GC). The NG-RAN can comprise a set of gNodeB's (gNBs, also referred to as base stations) connected to the 5GC via one or more NG interfaces, whereas the gNBs can be connected to each other via one or more Xn interfaces. Each of the gNBs can support frequency division duplexing (FDD), time division duplexing (TDD), or a combination thereof. Devices—also referred to as user equipment (UE)—communicate wirelessly with the 5G network via the gNBs.
Even so, there are several challenges and/or issues needing to be solved for the proper interworking of 5G and TSN networks. In particular, there are several challenges related to configuring a 5G network to handle data communications to/from an external network (e.g., a TSN network) that are subject to a time-critical schedule determined by the external network rather than the 5G network.
Both 5G and TSN networks utilize specific procedures for network management and configuration, and specific mechanisms to achieve deterministic performance. To facilitate end-to-end deterministic networking for industrial networks, these different procedures and mechanisms must work together cooperatively.
As described in IEEE 802.1Qbv-2015, TSN provides specific time-aware traffic scheduling to facilitate deterministic low latency for industrial application, where cycle time is known in advance. This traffic scheduling is based on time-aware gates that enable transmissions from each queue according to a predefined time scale.
Furthermore, each transmission gate relates to a traffic class associated with a specific queue, with potentially multiple queues associated with a given port. At any instance of time, a gate can be either turned on or off. This mechanism is time-aware and can be based on, e.g., a PTP application within a TSN bridge or a TSN end station. This mechanism allows execution of a gate control list to be precisely coordinated across the network, facilitating tightly-scheduled transmissions for a given class of traffic. Herein, a transmission schedule can be defined as a schedule that indicates when transmissions are to occur in time. Also, a time-critical transmission schedule can be defined as a schedule that indicates when transmissions of a Time-Sensitive Network (TSN) are to occur in time.
As described above in relation to
Nevertheless, these features are specific to TSN networks and do not take into account interworking 5G network architecture, such as illustrated in
Exemplary embodiments of the present disclosure address these and other problems and/or shortcomings of prior solutions by providing novel techniques for predefined time scheduling for specific users and/or QoS flows based on time-aware transmission schedules (e.g., from external networks) to meet specific bounded latency requirements. For example, these techniques can provide mechanisms for a UE (or network node, e.g., gNB) to be informed of such a transmission time schedule and to inform the network node (or UE) of the schedule. In this manner, such novel techniques can provide various benefits including cooperative interworking between cellular (e.g., 5G) and TSN networks that utilize different schedulers and/or scheduling mechanisms, thereby facilitating bounded latency of time-critical transmissions between Talker/Listener endpoints via 5G networks.
In operation 11, the CUC sends to the CNC a join request for a user to join the TSN network. For example, this request can be based on and/or in response to a programmable logic control (PLC) application requesting to schedule a TSN stream between a sensor (Talker) and a PLC controller (Listener). In operation 12, the CNC computes a transmission schedule based on the specific requirements of the TSN stream identified in operation 11.
In operation 13, the CNC configures managed objects of TSN switches that are in the path between the sensor and PLC controller. Exemplary managed object to be configured for enhanced time-aware scheduling are described in IEEE 802.1Qbv-2015 § 12. In exemplary embodiments, the CNC treats the 5G network as a TSN switch in the path, and therefore requests the 5G core network (5GC) to configure resources for this TSN stream. For example, this can be done by the CNC sending to an access management function (AMF, see
In operation 14, the receiving entity (e.g., AMF) in the 5GC can translate the requested TSN stream requirements (e.g., cycle time, gate control list, etc.) to QoS requirements for the UE that is connected to the TSN Talker/Listener (e.g., sensor). In addition, the AMF can translate the requested TSN stream requirements into a time window and periodicity for the gNB(s) to which the UE will transmit and/or receive this TSN stream.
In some embodiments, operation 14 can involve various sub-operations. For example, the UE and a PDU session corresponding to the TSN stream can be identified, and a mapping between traffic classes within this TSN stream and QoS flows of the UE can be identified. For each QoS flow (which can correspond to one or multiple traffic classes), a certain QoS requirement can be indicated to the gNB. In some embodiments, this indication to the gNB can include an indicator of a time-window during which a packet of the QoS flow should be guaranteed to be transmitted. This time window can be indicated, e.g., by providing an absolute time reference for the time window start together with a length of the window (e.g., as a latency bound). For example, the absolute time reference can be indicated as an offset to a certain absolute reference time such gNB subframe (SFN) timing or a universal time coordinate (UTC), such as provided by a global navigation satellite system (GNSS, e.g., GPS). In some embodiments, the indication to the gNB can also include a periodicity (or period) of the time window. This can be included, e.g., if the TSN stream comprises multiple transmission events that occur according to a periodic schedule.
By indicating this time-window information per QoS flow of the UE, multiple traffic classes of a TSN stream or multiple TSN streams can be independently served. In other words, this information facilitates the affected gNB(s) to reserve radio resources for each of the QoS flows during the respective time windows associated with those QoS flows. For example, this can facilitate the gNB(s) to map the various QoS flows to different radio bearers and to apply the resource allocation/reservation per radio bearer. Herein, a radio bearer takes the usual definition from the 3rd Generation Partnership Project (3GPP).
In operation 14, after determining the information as discussed above, the AMF sends an indication and/or request the gNB(s) to confirm that the QoS, time window, and/or periodicity requirements can be met. In operation 15, after receiving the request/indication sent in operation 14, the gNB (or gNBs, as the case may be) determines whether it can serve this additional QoS flow with the indicated time-window requirement. For example, in making this determination, the gNB can consider resources used for current and estimated traffic load, capabilities of the UE (e.g., spectral efficiency, supported transmission/reception modes, etc.), channel quality between the RAN and the UE, and whether (and/or how many) additional guaranteed resources need to be allocated for the UE. After making this determination, the gNB responds to the 5GC function (e.g., AMF) by accepting the request (“yes”) or declining the request (“no”). In some embodiments, when declining the request, the gNB can indicate an alternative time window (e.g., by an offset to the requested time window) during which the gNB could accept a corresponding request. In situations where the gNB accepts the request, the gNB can also reserve any additional resources identified as required to meet the requested transmission schedule.
In operation 16, after receiving the response from the gNB(s), the 5GC function may then translate this response—which is based on per QoS flow mapping—to a traffic flow/TSN stream level of granularity, and provides a response to the TSN CNC. The response may be in a format that can be decoded by the TSN CNC. In operation 17, after receiving this response, the CNC provides to the CUC a corresponding response to the join request received in operation 11. In operation 18, after receiving the join response from the CNC, the CUC further configures all Talker and Listener end station associated with the original request. In some embodiments, the CUC can also request the 5GC to initiate a connection to the UE, whereas in other embodiments, the 5GC or it might use a default and/or already-existing PDU session.
In operation 21, the CNC calculates the transmission schedule based on the requirements provided by CUC and sends it to the TSN interface of the 5G network, which is in this case the UE. In operation 22, the UE creates and sends a message requesting uplink (UL) radio resources according to the transmission schedule provided by the CNC, which can be included in the message. For example, the UE can send the message to the AMF in the 5GC. In operation 23, after receiving this message, the AMF retrieves the UE profile from a user data management (UDM) function in the 5GC and, based on this information, determines to which gNB(s) the UE is connected. In operation 24, the AMF sends a request to the gNB(s) to enable the TSN QoS feature towards the UE based on the transmission schedule, which can be included in the request. In some embodiments, the AMF can also send a modified time reference to the other Talker/Listener (e.g., a virtualized controller) connected to the 5G network (operation 24a).
In operation 25, the receiving gNB(s) can perform operations substantially similar to those described above with reference to operation 15 of
As can be understood from the above description, these and other exemplary embodiments facilitate time-aware scheduling of transmissions in a cellular network (e.g., a 5G network) according to the time-sensitive (e.g., bounded latency) requirements of an external network, such as a TSN network. The exemplary embodiments facilitate such features through novel techniques for collecting (either via the UE or a network function such as an AMF) information about timing and periodicity associated with traffic provided an external network and forwarding such information to one or more base stations (e.g., gNBs) in the cellular network. In such case, the base station(s) can determine whether the external time-sensitive requirements of the requested traffic can be supported and, if so, utilize such information for scheduling uplink or downlink transmissions between the UE and the base station(s).
The exemplary method and/or procedure illustrated in
The exemplary method and/or procedure can also include the operations of block 1220, in which the network node can send, to the RAN, a request to allocate radio resources for communication of the data stream between the RAN and a user equipment (UE), wherein the request further comprises information related to the transmission schedule. In some embodiments, the information related to the transmission schedule includes one or more of the following: an identifier of the UE; identifiers of one or more quality-of-service (QoS) flows associated with the data stream; and a QoS requirement associated with each of the QoS flows. In some embodiments, each QoS requirement can comprise one or more time windows during which the data stream is required to be transmitted. In some embodiments, each QoS requirement comprises an initial time window and a periodicity that identifies subsequent time windows.
The exemplary method and/or procedure can also include the operations of block 1230, in which the network node can receive, from the RAN, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the data stream. In some embodiments, according to sub-block 1235, if the response indicates that radio resources cannot be allocated to meet the transmission schedule of the data stream, the response further comprises an indication of one or more further time windows during which radio resources can be allocated.
In some embodiments, the response can indicate whether the QoS requirement associated with each of the QoS flows can be met. In such embodiments, the exemplary method and/or procedure can also include the operations of block 1240, in which the network node can determine whether the transmission schedule can be met based on the indication of whether the QoS requirement associated with each of the QoS flows can be met. In some embodiments, the exemplary method and/or procedure can also include the operations of block 1250, in which the network node can send, to the external network, an indication of whether the transmission schedule can be met.
In some embodiments, the method can be performed by an access management function (AMF) in a 5G core network (5GC). In some embodiments, the transmission schedule can be received from the external network; and the radio resources are for downlink communication from the RAN to the UE. In some embodiments, the transmission schedule is received from the UE; and the radio resources are for uplink communication from the UE to the RAN.
The exemplary method and/or procedure illustrated in
In some embodiments, the information related to the transmission schedule includes one or more of the following: an identifier of the UE; identifiers of one or more quality-of-service (QoS) flows associated with the data stream; and a QoS requirement associated with each of the QoS flows. In some embodiments, each QoS requirement can comprise one or more time windows during which the data stream is required to be transmitted. In some embodiments, each QoS requirement comprises an initial time window and a periodicity that identifies subsequent time windows.
The exemplary method and/or procedure illustrated in
In some embodiments, if it is determined in block 1320 that radio resources cannot be allocated to meet the transmission schedule associated with the data stream, the exemplary method and/or procedure includes the operations of block 1330, where the network node can determine one or more further time windows during which radio resources can be allocated. In some embodiments, if it is determined in block 1320 that radio resources can be allocated to meet the transmission schedule associated with the data stream, the exemplary method and/or procedure includes the operations of block 1340, where the network node can map the one or more QoS flows to at least one radio bearer between the RAN and the UE, and reserve transmission resources for the at least one radio bearer.
The exemplary method and/or procedure also includes the operations of block 1350, in which the network node can send, to the core network, a response indicating whether the radio resources can be allocated to meet the transmission schedule. In some embodiments, if it is determined in block 1320 that radio resources cannot be allocated to meet the transmission schedule, the response sent in block 1350 can also include an indication of the one or more further time windows determined in optional subblock 1330. This is illustrated by optional subblock 1355.
The exemplary method and/or procedure illustrated in
The exemplary method and/or procedure can also include the operations of block 1420, in which the UE can send, to a core network associated with the RAN, a request to allocate radio resources for communication of the data stream between the UE and the RAN, wherein the request further comprises information related to the transmission schedule. In some embodiments, the information related to the transmission schedule comprises the transmission schedule.
The exemplary method and/or procedure can also include the operations of block 1430, in which the UE can receive, from the core network, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the data stream. In some embodiments, if the response from the core network indicates that radio resources cannot be allocated to meet the transmission schedule of the data stream, the response further comprises an indication of one or more further time windows during which radio resources can be allocated. This is illustrated by optional subblock 1435. In some embodiments, the request (block 1420) can be sent to, and the response (block 1430) can be received from, an access management function (AMF) in a 5GC.
In some embodiments, the exemplary method and/or procedure can also include the operations of block 1440, in which the UE can send, to the external network, an indication of whether the transmission schedule can be met. In some embodiments, if the response received in block 1430 comprises an indication of one or more further time windows during which radio resources can be allocated (subblock 1435), the indication sent to the external network further includes information related to the one or more further time windows. This is illustrated by optional subblock 1445.
The cellular communications network 1500 can also include some number of low power nodes 1506-1 through 1506-4 that control corresponding small cells 1508-1 through 1508-4. The low power nodes 1506-1 through 1506-4 can be small base stations (such as pico or femto base stations), Remote Radio Heads (RRHs), or the like. Notably, while not illustrated, one or more of the small cells 1508-1 through 1508-4 may alternatively be provided by the base stations 1502. The low power nodes 1506-1 through 1506-4 are generally referred to herein collectively as low power nodes 1506 and individually as low power node 1506. Likewise, the small cells 1508-1 through 1508-4 are generally referred to herein collectively as small cells 1508 and individually as small cell 1508. The base stations 1502 (and optionally the low power nodes 1506) are connected to a core network 6150.
The base stations 1502 and the low power nodes 1506 provide service to wireless devices 1512-1 through 1512-5 in the corresponding cells 1504 and 1508. The wireless devices 1512-1 through 1512-5 are generally referred to herein collectively as wireless devices 1512 and individually as wireless device 1512. The wireless devices 1512 are also sometimes referred to herein as UEs. Wireless devices 1512 can take on various forms, including those compatible with MTC and/or NB-IoT.
As used herein, a “virtualized” radio access node is an implementation of the radio access node 2200 in which at least a portion of the functionality of node 2200 is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on a physical processing node(s) in a network(s)). As illustrated, in this example, the radio access node 2200 includes the control system 2202 that includes the one or more processors 2204 (e.g., CPUs, ASICs, FPGAs, and/or the like), the memory 2206, and the network interface 2208 and the one or more radio units 2210 that each includes the one or more transmitters 2212 and the one or more receivers 2214 coupled to the one or more antennas 2223, as described above. The control system 2202 is connected to the radio unit(s) 2210 via, for example, an optical cable or the like. The control system 2202 can be connected to one or more processing nodes 2300 coupled to or included as part of a network(s) 2302 via the network interface 2308. Each processing node 2300 can include one or more processors 2310 (e.g., CPUs, ASICs, FPGAs, and/or the like), memory 2306, and a network interface 2308.
In this example, functions 2310 of the radio access node 2200 described herein are implemented at the one or more processing nodes 2300 or distributed across the control system 2202 and the one or more processing nodes 2300 in any desired manner. In some particular embodiments, some or all of the functions 2310 of the radio access node 2200 described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) 2300. As will be appreciated by one of ordinary skill in the art, additional signaling or communication between the processing node(s) 2300 and the control system 2202 is used in order to carry out at least some of the desired functions 2310. Notably, in some embodiments, the control system 2202 may not be included, in which case the radio unit(s) 2210 communicate directly with the processing node(s) 2300 via an appropriate network interface(s).
In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of radio access node 2200 or a node (e.g., a processing node 2300) implementing one or more of the functions 2310 of the radio access node 2200 in a virtual environment according to any of the embodiments described herein is provided. In some embodiments, a carrier comprising the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as memory).
In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the UE 2500 according to any of the embodiments described herein is provided. In some embodiments, a carrier comprising the aforementioned computer program product can be provided. The carrier can be one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as a physical memory).
Transport of Data Flows Over Cellular Networks
In NR PDCP, header compression is used. The protocol is based on the Robust Header Compression (ROHC) framework defined in IETF RFC 5795: “The Robust Header Compression (RoHC) Framework.” The basic idea is to utilize the redundancy in protocol headers of new packets, i.e., use the fact that they are similar or the same as previously received packets. Therefore, subsequent packets do not need to include the full protocol header information since it is already known from previously received packets. A compression/decompression context is maintained to keep track of that information. Several different RoHC profiles with different header compression algorithms/variants exist and are defined/referred to in the NR PDCP specification.
The UE undergoes a handover procedure when it changes its primary cell. The source and target cell may be belonging to different gNBs. Focusing on the user plane protocol stack involved in this procedure: the UE resets MAC with HARQ processes, as well as re-establishes (flushes) the RLC entities. The PDCP protocol serves as the handover anchor, meaning that PDCP will in acknowledged mode do retransmissions of not yet acknowledged data, that might have been lost due to MAC/HARQ and RLC flushing at handover.
In dual connectivity, beside handover, a radio bearer might be changed from MCG type to/from SCG type or to/from Split type. This can be realized with the handover procedure including PDCP re-establishment, or alternatively with the PDCP data recovery procedure.
Support for Ethernet PDU sessions over 5G networks was introduced in 3GPP TS 23.501 and TS 23.502 (see, for example, versions 15.2.0 of both those specifications).
Time Sensitive Networking (TSN) is a set of features that allow deterministic networking in Ethernet based wired communication networks. Within a TSN network the communication endpoints are called Talker and Listener. All the switches (e.g., bridges) in between Talker and Listener need to support certain TSN features, like e.g. IEEE 802.1AS time synchronization. All nodes that are synchronized in the network belong to a so-called TSN domain. TSN communication is only possible within such a TSN domain. To allow for deterministic communication, TSN communication happens in streams, that are setup across the TSN domain before the data communication takes place. In the TSN network, there are different possibilities as to how frames are identified and mapped to a TSN stream, as defined in IEEE 802.1CB. The identification might be based on MAC addresses and VLAN-headers and/or IP headers. But as the TSN standard is under development now, other aspects (e.g. the Ether-Type field) might also be introduced therein to identify frames. After a TSN stream has been established in the TSN network, frames are identified in the whole TSN network based on the specific stream identifiers.
There is currently no header compression defined for Ethernet frames for a 5G network. This would lead to transmission of uncompressed Ethernet frames, which entails a significant overhead given the typically small payload sizes for certain types of traffic, such as industrial IoT/URLLC traffic.
During handover re-establishment and data recovery, RoHC performance cannot be guaranteed, which is problematic for services relying on guaranteed transmission success. Counteracting this issue by provisioning more resources for the service (e.g. not using RoHC) is likely to lead to unacceptable resource wastage.
A protocol for Ethernet header compression aligned with RoHC may sometimes be able to lead to good compression ratios but not deterministically, e.g. in the above handover situation. This leads to the disadvantage of radio access nodes (e.g., gNB) also being unable to reserve minimum-needed resources deterministically, i.e. such nodes may need to reserve more resources for the case that header compression does not lead to full compression, coming with additional resource wastage.
A RoHC compression context loss (e.g., due to a handover) will lead to delays in packet forwarding at the receiver which may be unacceptable for URLLC traffic.
Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges.
The present disclosure is described within the context of 3GPP NR radio technology (e.g., 3GPP TS 38.300 V1.3.0). However, it will be understood by those skilled in the art that embodiments of the disclosure also apply to other cellular communication networks. Embodiments of the disclosure enable the efficient transport of data flows (e.g., time-sensitive data flows, such as those for time-sensitive networking (TSN)) over a cellular (e.g., 5G) network by compressing redundant information. This is achieved by making one or more core network nodes TSN-aware, supporting the handling of the TSN flows while reducing unnecessary overhead.
Methods are outlined in this disclosure for header compression of Ethernet/TSN stream-based transmissions in a 5G network. Compared to known methods like RoHC for IP header compression, the methods outlined herein rely on specific properties of the Ethernet/TSN stream to enable a deterministic compression ratio.
There are, proposed herein, various embodiments which address one or more of the issues disclosed herein.
Certain embodiments may provide one or more of the following technical advantage(s). Ethernet header compression in cellular networks generally lowers resource usage, increasing capacity. Embodiments of the disclosure may lead to a deterministic compression ratio, i.e. enabling deterministic minimum-needed resource reservations for the flow/UE instead of needing to account for situations where this optimum compression ratio cannot be met. In this way, the capacity of the system is improved.
As described below, embodiments of the disclosure assume that values for one or more fields in a data packet header (e.g., an Ethernet header) are static for an established data stream such as a TSN stream. In this context, a value may be considered “static” if it remains the same for multiple data packets in sequence within the data stream. Thus, this does not preclude embodiments in which the values for the fields in the header are updated as necessary (i.e. semi-static). The values for the fields may or may not remain the same for the lifetime of the data stream.
TSN streams are established and a configuration is applied across all nodes involved in the TSN stream before any data packet is transmitted. This includes also, that TSN stream identifiers are announced.
According to one embodiment of the disclosure, one or more fields within a header for the data packet are configured for the UE and/or the gNB or UPF before data transmission takes place. For example, the one or more fields may comprise the Ethernet header and maybe also other header fields as for example parts of an IP-header in case they are used for TSN stream identification.
The values for the fields in the header for packets received or transmitted in a QoS flow may be configured per QoS flow. Additionally or alternatively, the values for the fields in the header for packets received or transmitted in a PDU session may be configured per PDU session.
The procedure for downlink is illustrated in
For TSN streams in the Downlink the 5G CN (e.g., a core network node, such as the AMF or UPF, or a combination of both) may use information from a TSN network regarding TSN stream identification and which fields can be treated as static or not, or it might use a pre-configuration for this.
An identifier might be added to data packets inside of PDU sessions or QoS Flows to differentiate multiple TSN/Ethernet streams within the same session or flow (thus the identifier is for a particular TSN/Ethernet stream). For example, the identifier may be used instead of the Ethernet header fields removed statically for transmission; an 8-bit header might be sufficient to separate TSN streams inside sessions or flows.
For header compression between UPF and UE (initiated by 5G CN), NAS signaling is used. This comprises to signal the header content that is statically mapped to the UE and optionally also a stream identifier that is used within a PDU session or within a QoS Flow to differentiate between different TSN streams. The 5G CN configures the UPF for the static mapping.
For Downlink transmissions for header compression between gNB and UE, RRC signaling can be used, i.e. when a new QoS flow is established for the UE, the UE is instructed to utilize the configured header for packets received on this QoS flow. In an alternative embodiment, PDCP control signaling is employed to indicate updates to the otherwise static header context (i.e. providing the UE with a new header context), allowing a semi-static header configuration for the UE.
Furthermore, in all cases above, when an update of the static header is indicated, or the new static header is indicated, a sequence number may be indicated alongside, identifying the packet from which onwards the new header should be used for decompression.
In a further embodiment, in the receiving entity (e.g., UE in DL), reordering of received packets according to a sequence number should be applied prior to header decompression. This way, when indicating new configured headers alongside with a sequence number, the first packet for which a new configured header is valid is identified.
The procedure for uplink is illustrated in
For TSN streams in the Uplink the UE might get information from a TSN network regarding TSN stream identification and which fields can be treated as static or not and inform the 5G CN accordingly (e.g., by forwarding the request from the TSN network to the 5G CN).
An identifier might be added to data packets inside of PDU sessions or QoS Flows to differentiate multiple TSN/Ethernet streams within the same session or flow (thus the identifier is for a particular TSN/Ethernet stream). For example, the identifier may be used instead of the Ethernet header fields removed statically for transmission; an 8-bit header might be sufficient to separate TSN streams inside sessions or flows.
For header compression between UE and UPF (initiated by UE), again NAS signaling is used. The UE might request a static header compression from the SGCN by signaling the request over NAS alongside any TSN configuration data it has received from a TSN network regarding the TSN stream packet headers. The SGCN may then configure the static mapping in the UPF and possibly also assign a stream identifier that is used within a PDU session or within a QoS Flow to differentiate between multiple TSN streams. The SGCN may use NAS signaling to inform the UE about the static mapping, as well as a potential identifier to use. The SGCN configures the UPF for the static mapping.
Furthermore, in all cases above, when an update of the static header is indicated, or the new static header is indicated, a sequence number may be indicated alongside, identifying the packet from which onwards the new header should be used for decompression.
For Uplink transmissions, the UE is configured to remove the Ethernet header fields before transmission. The configuration may be indicated via RRC signaling or NAS signaling. The header removal function may be implemented in an SDAP or PDCP transmission algorithm. A sequence number may be indicated identifying the first packet from which onwards the removal of Ethernet header fields applies.
For Uplink transmissions, the UE indicates the (removed) header to the 5G network prior to any data transmission, so that the 5G network can consider the header when receiving packets from the UE. Also, in this case the header can be configured per QoS flow or per PDU session. Furthermore, a sequence number may be indicated identifying the first packet for which the header had been removed and the configured header should be applied to.
In a further embodiment, in the receiving entity (gNB or UPF in UL), reordering of received packets according to a sequence number should be applied prior to header decompression. This way, when indicating new configured headers alongside with a sequence number, the first packet for which a new configured header is valid for is identified.
To handle TSN streams over radio, radio resources may be pre-allocated using e.g. semi-persistent scheduling (SPS) or instant-uplink access (IUA). Resource pre-allocation benefits from a known payload size for transmission. In the RoHC framework the worst-case payload size is still the whole packet including all headers; as it cannot be determined when it is necessary to transmit the full context, it would be necessary to reserve resources for the worst-case. This is not the case for the static header compression method outlined above.
TSN is based on timely delivery of packets. Packets that have to be retransmitted or buffered because of a context unawareness lead to packet latencies that are most likely unacceptable. It would be better to either discard the packet or reuse an old (or as introduced in this disclosure, statically configured) context instead.
The method begins at step VV102, in which the core network node(s) obtains configuration information for a data stream in an external data network. The configuration information indicates respective values for one or more fields within a header of data packets associated with the data stream which are to remain static. The core network node(s) may receive such configuration information from the external data network directly (e.g., in a request message to establish the data stream), or be pre-configured with the information. The one or more fields for which values may be static may comprise one or more Ethernet header fields, such as one or more (or all) of: destination address field; source address field; virtual LAN tag field; and type/length field. The one or more fields may additionally or alternatively comprise one or more fields in the IP header.
In step VV104, the core network node(s) initiates transmission of the configuration information to a wireless device which is to receive the data stream. For example, the configuration information may be transmitted via NAS signalling.
The core network node(s) may establish an identifier for the data stream to enable it to be distinguished from other data streams. In embodiments where data packets are transmitted to the wireless device as part of a PDU session or QoS flow, the identifier may be unique within the PDU session or QoS flow (and therefore in such embodiments an identifier value may be re-used for different data flows outside the PDU session or QoS flow). The configuration information may additionally include the identifier for the associated data stream.
In step VV106, the core network node(s) receives a data packet associated with the data stream from the external data network. The data packet may be identified as being associated with, or belonging to, the data stream via any suitable mechanism. The identification might be based on MAC addresses and VLAN-headers and/or IP headers. Alternatively or additionally, other aspects (e.g. the Ether-Type field) might also be introduced therein to identify data packets.
In step VV108, the core network node(s) removes the one or more fields from the data packet to generate a compressed data packet. That is, the core network node(s) removes the one or more fields which were identified in the configuration information obtained in step VV102. Optionally, the core network node(s) may add the identifier for the data stream to the compressed data packet. It will be understood that the identifier may be added to the data packet before or after the one or more fields have been removed.
In step VV110, the core network node(s) initiates transmission of the compressed data packet to the wireless device. For example, the core network node(s) may send the compressed data packet to a radio access node (such as a gNB or other base station) for onward transmission to the wireless device.
In further embodiments of the disclosure, the configuration information for the data stream may become updated after the configuration above has been established. In such embodiments, updated configuration information may be obtained for the data stream (e.g., from the external data network), comprising an indication of respective updated values for one or more fields within the header of data packets associated with the data stream which are to remain static. The one or more fields which have static values may be the same as or different to the one or more fields identified originally. The updated configuration information can then be transmitted to the wireless device (e.g., via NAS signalling) to enable the wireless device to decompress data packets which have had header information removed according to the updated configuration. The updated configuration information may comprise a sequence number, indicating the data packet in the sequence of data packets associated with the data stream from which the updated configuration is to apply.
The method begins at step VV202, in which the core network node(s) obtains configuration information for a data stream in an external data network. The configuration information indicates respective values for one or more fields within a header of data packets associated with the data stream which are to remain static. The core network node(s) may receive such configuration information from the external data network directly (e.g., in a request message to establish the data stream), from a wireless device which is to transmit data packets associated with or belonging to the data stream (e.g., in a request message from the external data network forwarded by the wireless device over signalling such as NAS signalling) or be pre-configured with the information. The one or more fields for which values may be static may comprise one or more Ethernet header fields, such as one or more (or all) of: destination address field; source address field; virtual LAN tag field; and type/length field. The one or more fields may additionally or alternatively comprise one or more fields in the IP header.
An identifier for the data stream may be established to enable it to be distinguished from other data streams. In embodiments where data packets are transmitted by the wireless device as part of a PDU session or QoS flow, the identifier may be unique within the PDU session or QoS flow (and therefore in such embodiments an identifier value may be re-used for different data flows outside the PDU session or QoS flow). The configuration information may additionally include the identifier for the associated data stream. Alternatively, where the core network node(s) establish the identifier for the data stream, the identifier may be transmitted by the core network node(s) to the wireless device.
Optionally, the method may further comprise a step (not illustrated) of sending the configuration information to the wireless device which is to transmit data packets associated with or belonging to the data stream. This step may particularly apply when the configuration information in step VV202 is not received from the wireless device, or when the wireless device is unable to process and obtain the configuration information itself (e.g., from a request message received from the external data network). The configuration information may be sent via NAS signalling, for example.
In step VV204, the core network node(s) receives a data packet associated with the data stream from the wireless device. The data packet is compressed by the removal of one or more fields in the header (e.g., by the wireless device following the method set out below in
In step VV206, the core network node(s) adds the one or more fields from the data packet to generate a decompressed data packet. That is, the core network node(s) adds the one or more fields which were identified in the configuration information obtained in step VV202.
In step VV208, the core network node(s) initiates transmission of the decompressed data packet over the external data network.
In further embodiments of the disclosure, the configuration information for the data stream may become updated after the configuration above has been established. In such embodiments, updated configuration information may be obtained for the data stream (e.g., from the external data network or the wireless device), comprising an indication of respective updated values for one or more fields within the header of data packets associated with the data stream which are to remain static. The one or more fields which have static values may be the same as or different to the one or more fields identified originally. The updated configuration information transmitted to the wireless device (e.g., via NAS signalling), particularly if the updated configuration information is received from the external data network directly. Additionally or alternatively, the updated configuration information is utilized to decompress received data packets in future which have been compressed by the wireless device according to the updated configuration. The updated configuration information may comprise a sequence number, indicating the data packet in the sequence of data packets associated with the data stream from which the updated configuration is to apply. Thus the core network node(s) may add header fields according to the updated configuration for all data packets which follow the sequence number indicated in the updated configuration information. Optionally, the core network node(s) may re-order received data packets according to their respective sequence numbers to facilitate this processing.
The method begins at step XX102, in which the wireless device obtains configuration information for a data stream in an external data network. The configuration information indicates respective values for one or more fields within a header of data packets associated with the data stream which are to remain static. The wireless device may receive such configuration information from the external data network directly (e.g., in a request message to establish the data stream), or from one or more core network nodes (e.g., via a transmission from a radio access network node, such as a gNB or other base station, via NAS signalling). The one or more fields for which values may be static may comprise one or more Ethernet header fields, such as one or more (or all) of: destination address field; source address field; virtual LAN tag field; and type/length field. The one or more fields may additionally or alternatively comprise one or more fields in the IP header.
An identifier for the data stream may be established to enable it to be distinguished from other data streams. In embodiments where data packets are received by the wireless device as part of a PDU session or QoS flow, the identifier may be unique within the PDU session or QoS flow (and therefore in such embodiments an identifier value may be re-used for different data flows outside the PDU session or QoS flow). The configuration information may additionally include the identifier for the associated data stream.
In step XX104, the wireless device receives a data packet associated with the data stream from the radio access network node. The data packet is compressed by the removal of one or more fields in the header (e.g., by the core network node(s) or the radio access network node itself following the method set out above), according to the configuration information obtained in step XX102.
In step XX106, the wireless device adds the one or more fields from the data packet to generate a decompressed data packet. That is, the wireless device adds the one or more fields which were identified in the configuration information obtained in step XX102. Optionally, the decompressed data packet may be transmitted onwards over the external data network.
In further embodiments of the disclosure, the configuration information for the data stream may become updated after the configuration above has been established. In such embodiments, updated configuration information may be obtained for the data stream (e.g., from the core network node), comprising an indication of respective updated values for one or more fields within the header of data packets associated with the data stream which are to remain static. The one or more fields which have static values may be the same as or different to the one or more fields identified originally. The updated configuration information is then utilized to decompress received data packets in future which have been compressed by the core network node(s) or radio access network node according to the updated configuration. The updated configuration information may comprise a sequence number, indicating the data packet in the sequence of data packets associated with the data stream from which the updated configuration is to apply. Thus the wireless device may add header fields according to the updated configuration for all data packets which follow the sequence number indicated in the updated configuration information. Optionally, the wireless device may re-order received data packets according to their respective sequence numbers to facilitate this processing.
The method begins at step XX202, in which the wireless device obtains configuration information for a data stream in an external data network. The configuration information indicates respective values for one or more fields within a header of data packets associated with the data stream which are to remain static. The wireless device may receive such configuration information from the external data network directly (e.g., in a request message to establish the data stream), or from one or more core network nodes (e.g., via NAS or RRC signalling). The one or more fields for which values may be static may comprise one or more Ethernet header fields, such as one or more (or all) of: destination address field; source address field; virtual LAN tag field; and type/length field. The one or more fields may additionally or alternatively comprise one or more fields in the IP header.
An identifier for the data stream may be established (e.g., by the one or more core network nodes) to enable it to be distinguished from other data streams. In embodiments where data packets are received by the wireless device as part of a PDU session or QoS flow, the identifier may be unique within the PDU session or QoS flow (and therefore in such embodiments an identifier value may be re-used for different data flows outside the PDU session or QoS flow). The configuration information may additionally include the identifier for the associated data stream.
In step XX204, the wireless device obtains a data packet associated with or belonging to the data stream. For example, the data packet may be received from the external data network, or generated by the wireless device (e.g., in response to some user interaction or by execution of an application on the wireless device).
In step XX206, the wireless device removes the one or more fields from the data packet to generate a compressed data packet. That is, the wireless device removes the one or more fields which were identified in the configuration information obtained in step XX202. Optionally, the wireless device may add the identifier for the data stream to the compressed data packet. It will be understood that the identifier may be added to the data packet before or after the one or more fields have been removed. The header removal function may be implemented in an SDAP or PDCP transmission algorithm.
In step XX208, the wireless device initiates transmission of the compressed data packet over the external data network. For example, the wireless device may send the compressed data packet in a transmission to a radio access network node (such as a gNB or other base station) for onward transmission to one or more core network nodes and thereafter the external data network. The one or more core network nodes are enabled to decompress the compressed data packets prior to their transmission over the external data network, e.g., by following the methods set out above).
In further embodiments, the configuration information for the data stream may become updated after the configuration above has been established. In such embodiments, updated configuration information may be obtained for the data stream (e.g., from the external data network), comprising an indication of respective updated values for one or more fields within the header of data packets associated with the data stream which are to remain static. The one or more fields which have static values may be the same as or different to the one or more fields identified originally. The updated configuration information can then be transmitted by the wireless device (e.g., via NAS signalling) to one or more core network nodes to enable those core network nodes to decompress data packets which have had header information removed according to the updated configuration. The updated configuration information may comprise a sequence number, indicating the data packet in the sequence of data packets associated with the data stream from which the updated configuration is to apply.
It will be appreciated that the methods shown in
Combination of Resource-Scheduling and Header-Compression Techniques
As indicated above, the various techniques described herein may be combined with each other, to provide advantages with respect to latency, reliability, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for scheduling resources and the techniques described for compressing headers of TSN frames.
Thus, for example, the method illustrated in
The method further comprises the step of obtaining configuration information for the data stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the data stream which are to remain static; this step is shown at block VV102 of
It will be appreciated that any of the variations discussed above for these techniques may apply here, for the combined technique. Thus, for example, the external network comprises a Time-Sensitive Network (TSN), in some embodiments, and the data stream comprises a TSN stream. Here, the transmission schedule may comprise cycle times and gate control lists for one or more traffic classes comprising the TSN stream.
In some embodiments, the information related to the transmission schedule includes one or more of the following: an identifier of the first UE; identifiers of one or more quality-of-service, QoS, flows associated with the data stream; and a QoS requirement associated with each of the QoS flows. In some of these embodiments, each QoS requirement comprises one or more time windows during which the data stream is required to be transmitted and/or an initial time window and a periodicity that identifies subsequent time windows. In some of these latter embodiments, if the response indicates that radio resources cannot be allocated to meet the transmission schedule of the data stream, the response further comprises an indication of one or more further time windows during which radio resources can be allocated. In some embodiments, the response indicates whether the QoS requirement associated with each of the QoS flows can be met, and the method further comprises determining whether the transmission schedule can be met based on the indication of whether the QoS requirement associated with each of the QoS flows can be met.
In some embodiments, the method further comprises sending, to the external network, an indication of whether the transmission schedule can be met. In some of these and in other embodiments, the method is performed by an access management function (AMF) in a 5G core network (5GC). The transmission schedule may be received from the external network and the radio resources may be for downlink communication from the RAN to the first UE, in some embodiments, or the transmission schedule may be received from the first UE and the radio resources may be for uplink communication from the first UE to the RAN, in other embodiments or instances.
In some embodiments, the step of obtaining configuration information comprises receiving the configuration information from the external data network. In others, the configuration information is pre-configured in the one or more nodes of the core network.
In some embodiments, the compressed data packet comprises an identifier for the data stream. The identifier may be added by the one or more nodes of the core network node.
In some embodiments, the compressed data packet is transmitted to the first UE as part of a protocol data unit (PDU) session or a quality of service (QoS) flow. In some of these embodiments, the identifier mentioned above may be unique within the PDU session or QoS flow.
In some embodiments, the configuration information is transmitted to the first UE using non-access stratum (NAS) signaling. In some, the configuration information comprises an identifier for the data stream.
In some embodiments, the method further comprises obtaining updated configuration information for the data stream, the updated configuration information comprising an indication of respective updated values for one or more fields within the header of data packets associated with the data stream which are to remain static, and initiating transmission of the updated configuration information to the first UE. This updated configuration information further may comprise an indication of a sequence number identifying a data packet associated with the data stream from which the respective updated values apply.
In any of the preceding embodiments, the data packet may comprise user data, and the step of initiating transmission of the compressed data packet to the first UE may comprise forwarding the user data to the first UE via a transmission to a base station.
The decompression techniques described above may also be combined with these techniques. Thus, some methods carried out by one or more nodes of the core network may comprise receiving a data packet associated with the data stream from a second UE; adding the one or more fields to the data packet to generate a decompressed data packet; and initiating transmission of the decompressed data packet over the external data network, as shown at blocks VV204, VV206, and VV208 of
In some embodiments, the method may further comprise initiating transmission, to the second UE, of an indication of the respective values for one or more fields within the header of data packets associated with the data stream which are to remain static. The data packet may comprise user data, and the step of initiating transmission of the decompressed data packet over the external data network may comprise forwarding the user data to a host computer over the external data network.
TSN Over a RAN
At least some units of factory automation, such as autonomous, multifunctional, and/or mobile machinery and robots, require networking by means of wireless radio communication. However, a factory unit acting as a mobile terminal of the RAN, e.g., a 3GPP user equipment (UE), would have to establish a radio connection with a radio base station of the RAN just to find out that this particular radio base station does not support TSN.
Accordingly, there is a need for a technique that enables TSN over wireless radio communication. An alternative or more specific object is to enable a mobile terminal to specifically select a radio base station that supports TSN, preferably prior to establishing a radio connection between the mobile terminal and the radio base station.
The method 500 comprises a step 502 of transmitting SI from a RBS of the RAN. The SI is implicative or indicative as to support for TSN through the RBS. The SI may be RBS-specific. The method 500 further comprises a step 504 of supporting, according to the transmitted SI, at least one TSN stream of the TSN through the RBS. The method 500 may be performed by the RBS of the RAN, for example.
The method 600 may be performed by the CN and/or the using a network component of the CN, the AMF or MME, and/or using a TSN function. The TSN function may be a Centralized Network Configuration (CNC) or a Centralized User Configuration (CUC).
The step 404 of establishing or initiating to establish, depending on the received SI, the at least one TSN stream may comprise selectively (e.g., conditionally) establishing or selectively (e.g., conditionally) initiating to establish the at least one TSN stream. The selectivity (e.g., conditionality) may be dependent on the received SI. The UE may decide, based on the SI from the RBS, whether to attempt establishing the TSN stream, e.g., prior to accessing or connecting with the base station, or not.
The step 404 of establishing or initiating to establish the at least one TSN stream may comprise selectively performing or selectively initiating to perform at least one of a random access procedure with the RBS of the RAN; a radio resource control (RRC) connection setup with the RBS of the RAN; and a network attach procedure with a CN connected to the RAN. The selectivity may be dependent on the received SI.
The establishing step 404 may comprise performing or initiating to perform a TSN application that uses the at least one established TSN stream. The TSN application or a client of the TSN application may be performed at the UE. The selectivity (e.g., the conditionality) in the step 404 may be fulfilled if the received SI is indicative of TSN features required by the TSN application.
The step 402 of receiving the SI is performed with respect to each of a plurality of RBSs of the RAN. The step 404 of establishing or initiating to establish the at least one TSN stream may comprise selecting, among the plurality of RBSs, the RBS the SI of which is indicative of TSN features required by the TSN application.
The RBS which best fulfills the required TSN features according to the respective SI may be selected (e.g., if none of the plurality of RBSs fulfills the required TSN features). Alternatively or in addition, the RBS which SI is indicative of the most preferably TSN features may be selected (e.g., if more than one of the plurality of RBSs fulfills the required TSN features).
The method 400 may further comprise a step of sending a control message to the CN. The control message may be indicative of TSN features required by the TSN application. The control message may be a non-access stratum (NAS) message.
The control message may be indicative of a request for the TSN. The control message may be forwarded to the CUC.
The SI may be implicative or indicative of at least one TSN feature supported by or through the RBS. The SI may be RBS-specific. The selectivity (e.g., the conditionality) in the step 404 may be dependent on the at least one supported TSN feature. Alternatively or in addition, the TSN stream may be established over the RAN depending on the at least one supported TSN feature. For example, the establishing of the at least one TSN stream may comprise performing or initiating to perform the random access with the RBS depending on the at least one supported TSN feature.
Herein, the TSN feature may encompass any feature or functionality available at the RBS for the TSN. The at least one TSN feature supported through the RBS may also be referred to as TSN capability of the RBS.
The at least one TSN feature may comprise at least one of a time-synchronization, a latency bound for the at least one TSN stream, and a reliability measure for the at least one TSN stream. The time-synchronization may be a time-synchronization of RBSs and/or network components processing (e.g., transporting) the at least one TSN stream.
Alternatively or in addition, the SI may be indicative of a TSN configuration (also, TSN configuration scheme) for the TSN through the RBS. For example, the establishing 404 of the at least one TSN stream may comprise performing or initiating a TSN setup according to the TSN configuration. The TSN configuration may be indicative of an availability or unavailability of at least one of a CNC and a CUC.
The SI may be broadcasted from the RBS in the step 502. The SI may be a broadcast message. The SI may be comprised in one or more system information blocks (SIBs).
The method 500 may further comprise a step of receiving a configuration message indicative of the support for TSN from the CN at the RBS. The SI transmitted by the RBS may be derived from the received configuration message.
The SI may be implicative or indicative of at least one TSN feature supported by or through the RBS. The SI may be broadcasted in one or more SIBs. The method 500 may further comprise any feature and/or step disclosed in the context of the UE and the method 400, or any feature or step corresponding thereto.
The configuration message may be sent from the AMF of the CN. The configuration message may be implicative or indicative of at least one TSN feature supported or supposed to be supported by or through the RBS.
The method 600 may further comprise any feature or step of the methods 400 and 500, or any feature or step corresponding thereto.
Embodiments of the technique maintain compatibility with the 3GPP document TS 23.501, version 15.1.0, specifying “System Architecture for the 5G System” (Stage 2), or a successor thereof.
A network (e.g., a 5G network comprising the RAN providing NR access as defined by 3GPP) is configured to support TSN transmissions through at least some RBSs. For a UE to become attached to such a TSN network over the RAN (e.g., 5G radio or NR), there is no existing way to get information as to whether the network in general, and the RBS (e.g., a gNB) specifically, supports TSN transmissions or not. In embodiments of the technique, the SI enables the UE to determine if and/or how certain TSN features are supported, before getting into radio resource control (RRC) connected mode and further signaling with the 5G network. Thus, the technique enables the UE and, therefore, also a TSN application the UE is connected to, to be aware of whether, which and/or how TSN features are supported by the network, specifically the RAN and/or the RBS transmitting the SI.
The SI may be implicative or indicative as to the support of TSN features. The TSN features may comprise at least one of time synchronization, redundancy, reliability, and latency (e.g., an estimated end-to-end latency).
Embodiments of the technique enable the UE to receive necessary TSN-related information in the SI before getting attached to the 5G network. In this way, the UE is aware of which TSN features are supported by the 5G network. Furthermore, the 5G network may inform one or more UEs in the same way about configuration details of the TSN network and/or how to, for example, perform time synchronization and network management.
For example, not all RBSs (e.g., gNBs) covering an area (e.g., deployed in a factory hall) support TSN traffic. The technique may be implemented to block those UEs (also: TSN-UEs) that require TSN traffic from certain RBSs (e.g., gNBs), e.g., from those RBSs that do not support TSN or not the TSN features required by the UE.
The SI may be implemented by one or more System Information Blocks (SIBs).
An overall functionality and structure of a Master Information Block (MIB) and SIBs for NR may be essentially the same as for LTE. A difference between NR and LTE is that in NR provides two different types of SIBs. A first type of SIBs is transmitted periodically, e.g., equal or similar to SIB transmissions in LTE. A second type of SIBs is transmitted only when there is the request from the UE.
The SIBs are broadcasted by the RBS (e.g., a gNB) and include the main part of the system information the UE requires to access a cell served by the RBS and other information on cell reselection. SIBs are transmitted over a Downlink Shared Channel (DL-SCH). The presence of the system information on the DL-SCH in a subframe is indicated by the transmission of a corresponding Physical Downlink Control Channel (PDCCH) marked with a special system-information Radio Network Temporary Identifier (SI-RNTI).
A number of the different SIBs are defined by 3GPP for LTE and NR, e.g., characterized by the type of the information included in the SIBs. This system information informs the UE about the network capabilities. Not all SIBs are supposed to be present. SIBs are broadcasted repeatedly by the RBS (e.g., the gNB).
Within a TSN network, i.e., a network supporting TSN, the communication endpoints are called TSN talker and TSN listener. At least one of the TSN talker and the TSN listener is an UE. For the support of TSN, all RBSs and network components (e.g., switches, bridges, or routers) between the TSN talker and the TSN listener support certain TSN features, e.g. IEEE 802.1AS time synchronization. All nodes (e.g., RBSs and/or network components) that are synchronized in the network belong to a so-called TSN domain. TSN communication is only possible within such a TSN domain.
TSN for a RAN or a RAN configured for TSN may comprise features for deterministic networking, which are also referred to as TSN features. The TSN features may comprise at least one of time synchronization, guaranteed (e.g., low) latency transmissions (e.g., an upper bound on latency), and guaranteed (e.g., high) reliability (e.g., an upper bound on packet error rate). The time synchronization may comprise a time synchronization between components of the RAN (e.g., the RBSs) and/or network components (e.g., in a backhaul domain and/or the CN).
Optionally, the SI is indicative of the TSN features supported through the respective RBS.
The supported TSN features may comprise or be compatible with at least one of the following group of categories. A first category comprises time synchronization, e.g. according to the standard IEEE 802.1AS. A second category comprises bounded low latency, e.g. according to at least one of the standards IEEE 802.1Qav, IEEE 802.1Qbu, IEEE 802.1Qbv, IEEE 802.1Qch, and IEEE 802.1Qcr. A third category comprises ultra-reliability, e.g. according to at least one of the standards IEEE 802.1CB, IEEE 802.1Qca, and IEEE 802.1Qci. A fourth category comprises network configuration and management, e.g. according to at least one of the standards IEEE 802.1Qat, IEEE 802.1Qcc, IEEE 802.1Qcp and IEEE 802.1CS.
The configuration and/or management of a TSN network including the RAN can be implemented in different manners, e.g., in a centralized or in a distributed setup as defined by the standard IEEE 802.1Qcc. Examples of different configuration models are described with reference to
The SI 712 is broadcasted by the RBS 200 to the UE 100 according to the steps 402 and 502. The RBS 200 is configured to broadcast the SI 712 according to the step 502 and to support the TSN stream according to the step 504 responsive to the configuration message 722-1 received from or through the network component 300-1.
In a scheme for distributed TSN configuration, which is illustrated by the first example in
In a first scheme for centralized TSN configuration, which is schematically depicted in
The SI 712 is broadcasted by the RBS 200 to the UE 100 according to the steps 402 and 502. Alternatively or additionally to the configuration message 722-1, the RBS 200 is configured to broadcast the SI 712 according to the step 502 and to support the TSN stream according to the step 504 responsive to the configuration message 722-2 received from or through the CNC 300-2.
In a second scheme for centralized TSN configuration (also: fully centralized TSN configuration), which is schematically depicted in
The SI 712 is broadcasted by the RBS 200 to the UE 100 according to the steps 402 and 502. Alternatively or additionally to the configuration message 722-1 and/or the configuration message 722-2, the RBS 200 is configured to broadcast the SI 712 according to the step 502 and to support the TSN stream according to the step 504 responsive to the configuration message 722-3 received from the CUC 300-3.
Optionally, e.g. in any of the three examples for the communication system 700, the SI 712 is transmitted on a broadcast channel of the RAN 710. The SI 712 may (e.g., positively) indicate the support of the TSN, e.g., without user and/or network configuration information. The UE 100 may receive the user and/or network configuration information on a downlink control channel from the RBS 200, by TSN-specific protocols and/or from the CN 710 (e.g., the device 300-1) using a non-access stratum (NAS) protocol. Alternatively or in combination, the SI 712 may comprise (at least partly) the user and/or network configuration information.
The TSN communication between TSN talker (as an embodiment of the device 100) and TSN listener (which may or may not be a further embodiment of the device 100) happens in TSN streams. A TSN stream is based on certain requirements in terms of data rate and latency given by an application (TSN application) implemented at the TSN talker and the TSN listener. The TSN configuration and management features are used to setup the TSN stream and to guarantee the requirements of the TSN stream across the network.
In the distributed scheme (e.g., according to the first example in
The technique enables connecting TSN listener 100 and TSN talker 100 wirelessly to a TSN network, e.g., using a 5G network as defined by 3GPP. The 5G standard defined by 3GPP addresses factory use cases through a plurality of features, especially on the RAN (e.g., providing 5G NR) to make it more reliable and reduce the transmit latency compared to an evolved UMTS radio access network (E-UTRAN, i.e., the radio access technology of 4G LTE).
The 5G network comprises the UE 100, the RAN 730 instantiated as the gNB 200 and nodes 300-4 within the core network (5G CN). An example for the 5G network architecture is illustrated on the left-hand side in
Both technologies, the 5G network and the TSN network, define own methods for network management and/or configuration. Different mechanisms to achieve communication determinism are arranged to enable end-to-end deterministic networking to support TSN streams, e.g., for industrial networks. A study item for upcoming 3GPP release 16 has been initiated in the 3GPP document RP-181479 to support TSN, e.g., for factory automation use cases.
Here, the UE 100 being the radio device connected to the RAN 710 (and thus to the 5G network) may also be referred to as a 5G endpoint. A device connected to the TSN network (also, TSN domain) may be referred to as a TSN endpoint.
Despite what is shown in
The control plane of the 5G network may comprise at least one of a Network Repository Function (NRF), the AMF 300-4, a Session Management Function (SMF), a Network Exposure Function (NEF), a Policy Control Function (PCF), and a Unified Data Management (UDM).
A data plane of the 5G network comprises a User Plane Function (UPF), at least one embodiment of the RBS 200, and/or at least one embodiment of the UE 100.
A TSN listener 1002 may be embodied by or performed (e.g., as an application) at the UE 100. While the UE 100 operates as or is used by the TSN listener 1002 in the fourth example of the communication system 700 shown in
The step 604 of the method 600 may be implemented according to at least one of the following variants (e.g., in the context of any of the four examples of the communication system 700 in
Alternatively or in addition, the CNC 300-2 sends the configuration message 722-2 to the network component 300-1 (e.g., a switch or a router) and, thereby, configures the gNB 200. For example, the network component 300-1 forwards the configuration message 722-2 to the gNB 200 or derives the configuration message 722-1 from the configuration message 722-2.
While the technique is described herein with embodiments in the context manufacturing and factory automation for clarity and concreteness, the technique may further be applicable to automotive communication and home automation.
The steps for the TSN Stream Configuration (e.g., according to the signaling diagram 1100) may be performed after the UE 100 has decided to access (e.g., radio-connect and/or attach to) the RBS 200 (not shown in
Each UE 100 implementing a TSN talker or a TSN listener is radio-connected through an embodiment of the RBS 200 to at least one of the network component 300-1, the CNC 300-2 and the CUC 300-3. The UEs 100 may be radio-connected through the same RBS 200 or different RBSs 200. The TSN Stream Configuration may be compatible or consistent with IEEE 802.1Qcc.
The TSN Stream Configuration (i.e., setting up the at least one TSN stream in the TSN network) according to the fully centralized configuration scheme comprises at least one of the following steps.
In a first step 1102, the CUC 300-3 may take input from e.g. an industrial application or engineering tool (e.g. a programmable logic controller, PLC), which specifies for example the devices, which are supposed to exchange time-sensitive streams (i.e., TSN streams). The PLC may be adapted to control manufacturing processes, such as assembly lines, or robotic devices, or any activity that requires high reliability control and/or ease of programming and process fault diagnosis.
In a second step 1104, the CUC 300-2 reads the capabilities of end stations and applications in the TSN network, which includes period and/or interval of user traffic and payload sizes.
In a third step 1106, based on this above information, the CUC 300-3 creates at least one of a Stream ID as an identifier for each TSN stream, a Stream Rank, and UsertoNetwork Requirements.
In a fourth step 1108, the CNC 300-2 discovers the physical network topology using, for example, a Link Layer Discovery Protocol (LLDP) and any network management protocol.
In a fifth step 1110, the CNC 300-2 uses a network management protocol to read TSN capabilities of bridges (e.g., IEEE 802.1Q, 802.1AS, 802.1CB) in the TSN network.
In a sixth step 1112, the CUC 300-3 initiates join requests to configure the at least one TSN stream in order to configure network resources at the bridges 300-1 for a TSN stream from one TSN talker 100 to one TSN listener 100.
In a seventh step, a group of the TSN talker 100 and the TSN listener 100 (i.e., a group of elements specifying a TSN stream) is created by the CUC 300-3, e.g., as specified in the standard IEEE 802.1Qcc, clause 46.2.2.
In an eighth step 1114, the CNC 300-2 configures the TSN domain, checks physical topology and checks if the time sensitive streams are supported by bridges in the network, and performs path and schedule computation of streams.
In a ninth step 1116, the CNC 300-2 configures TSN features in bridges along the path in the TSN network.
In a tenth step 1118, the CNC 300-2 returns status (e.g., success or failure) for resulting resource assignment for the at least one TSN stream to the CUC 300-3.
In an eleventh step 1120, the CUC 300-3 further configures end stations (wherein a protocol used for this information exchange may be out of the scope of the IEEE 802.1Qcc specification) to start the user plane traffic exchange, as defined initially between the TSN listener 100 and the TSN talker 100.
In the TSN network, the streamID is used to uniquely identify stream configurations. It is used to assign TSN resources to the TSN stream of a TSN talker. The streamID comprises the two tuples MacAddress and UniqueID. The MacAddress is associated with the TSN talker 100. The UniqueID distinguishes between multiple streams within end stations identified by the same MacAddress.
Any embodiment and implementation of the technique may encode the SI 712 in dedicated information elements in one or more SIBs. According to the step 402 and 502, a UE 100 is enabled to detect TSN features that are supported by the RBS 200 of the network and/or how they are supported. The UE 100 receives the SI 712 before it attaches to the network, and can check first by listening to an SIB message comprising the SI 712. The received SI 712 may be forward to the TSN application 1002 or 1004 the UE 100 is serving, and/or the UE 100 uses the SI 712 to setup a connection to the 5G network.
Any embodiment of the RBS 200 may implement the technique by including one or more SIBs and/or information elements in SIBs for indicating to the UE 100 the TSN features and/or TSN configuration details supported by the 5G network, e.g., specifically be the RBS 200.
Any embodiment of the UE 100 may implement the step 402 by reading the one or more SIBs and/or the information element included therein. Optionally, the included information as to supported TSN features and/or TSN configuration are forwarded to the TSN applications it is serving. Conditionally, i.e., depending on the features indicated as supported in the SI 712, the information is used to establish a connection to the RBS (e.g., to the 5G network).
An (e.g., expandable) example of a SIB block structure for the SI 712 in the steps 402 and 502 is outlined below using Abstract Syntax Notation One (ASN.1). The same information may also be included in the configuration message 722 of the method 600.
Furthermore, the SIB blocks may be adapted to future versions of TSN features by, for example, introducing reserved fields to be defined in the future.
For end-to-end time synchronization (e.g., provisioning of an absolute time reference) multiple ways of implementation are possible. The SI 712 may comprise information about how the time synchronization is treated by the RAN (e.g., the 5G network).
The “FRER” parameter refers to the redundancy features that are supported by the 5G network. In case the network does not support redundancy, there is no need to establish, e.g., redundant protocol data unit (PDU) sessions.
The TSN configuration may include the presence of the CUC 300-3 and/or the CNC 300-2 in the TSN network and/or specific TSN configuration schemes that are supported.
The “Max. Latency added by 5G network” parameter may be used to signal a QoS level in terms of latency and/or reliability that can be supported by the 5G network to the UE 100. A field representing this parameter may comprise a latency value (e.g., in milliseconds) that can be guaranteed with a sufficient reliability or a classification value (e.g., non-real-time, real-time, hard-real-time or similar). The value may be indicated by a predefined index value. This information may be used by the UE 100 (or the endpoint 1002 or 1004 of the TSN network behind the UE 100) to find out before connection establishment if a connection to the RBS 200 (or the 5G network) will be able to support the requirements of the TSN application 1002 or 1004, or not.
The RBS 200 (e.g., a gNB) may further include a current cell load and/or other metrics into the calculation of that field. Optionally, the SI 712 is indicative of a traffic shaper support, which refers to a quality of service (QoS) that may be guaranteed by the RBS (e.g., the 5G network). For example, the SI 712 may be indicative of whether the shaper is based on credit (e.g., data volume per time and UE) or a time aware shaper (TAS) for TSN.
The implementations of the methods 400, 500 and 600 enable the UE 100 to get aware of TSN features supported by the network and/or specifically by the RBS 200 over the one or more SIBs including the SI 712.
In the step 604, a 5G core function (e.g., the AMF 300-4) indicates by sending the configuration message 722 to specific RBSs 200 (e.g., gNBs) which TSN features (e.g., according to above non-exhaustive list) are supported or supposed to be enabled (e.g., only a subset of all gNBs might support TSN) and how these TSN features are supported.
Responsive to the reception of the configuration message 722 (e.g., any of the above implementations 722-1 to 722-4), the RBS 200 (e.g., a gNB) generates the SI 712 (e.g., the SIB block information as outlined above) and starts broadcasting the SI 712, e.g. over the DL-SCH, in the step 502.
The UE 100 receives and/or reads the SI 712 in the SIB in the step 402. Optionally, the UE 100 transfers at least some of the information in the SI 712 to the TSN application 1002 or 1004, e.g., a list of the TSN features supported by the RBS 200. The TSN application 1002 or 1004 may request a TSN connection towards the UE 100, if the supported list of TSN features is sufficient, as an example for the conditionality or selectivity in the step 404.
For initiating the TSN stream in the step 404, the UE 100 goes into RRC connected mode if not already in that mode and requests a PDU session, which may be of Ethernet type. UE may further provide information by means of NAS signaling on which TSN features are required.
A TSN controller (e.g., the CNC 300-2) receives a confirmation from the CN 730 and performs path computation and time scheduling. TSN stream communication starts, wherein the RBS 200 supports the TSN stream according to the step 504.
In any embodiment, the UE 100 may defer or refrain from requesting the RRC connection setup in the step 404, if the TSN application requires certain TSN features and the UE 100 did not receive in the SIB broadcast 402 that one or more of these features are supported, as an example for the conditionality or selectivity in the step 404.
In same or another embodiment, the UE 100 reads the SI 712 (i.e., the TSN information included in the one or more SIBs) of multiple RBSs 200 (e.g., gNBs) and selects the RBS 200, which best fulfills the TSN requirements of the UE 100. If all RBS 200 fulfill the requirements, the UE 100 may act according to a selection rule, e.g. selecting the RBS 200 indicating the lowest latency.
In any embodiment, the UE 100 may store the SI 712 received in the step 402. The technique may be implemented as described up until and including the step 402. When the TSN application 1002 or 1004 requests a TSN communication (i.e., one or more TSN streams), the UE 100 uses the stored SI 712 to either setup the at least one TSN stream in the supported way or declines the TSN request if it is not supported.
The UE 100 may further use the SI 712 from the SIB, e.g., to initialize packet filtering of packets coming in for TSN transmission. Furthermore, the received SI 712 may be used to establish a default PDU session with the 5G network
Combination of TSN Support Detection and Header-Compression Techniques
Once more, as indicated above, the various techniques described herein may be combined with each other, to provide advantages with respect to latency, reliability, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for detecting support for TSN and the techniques described for compressing headers of TSN frames.
Thus, for example, the method illustrated in
In some embodiments, the SI is comprised in one or more system information blocks (SIBs). In some embodiments, the step of obtaining configuration information comprises receiving the configuration information from a network node of the wireless communications network. The data packet may comprise an identifier for the TSN stream; in some embodiments, this identifier is added by the core network node.
In some embodiments, the compressed data packet is received as part of a protocol data unit (PDU) session or a quality of service (QoS) flow. In some of these embodiments, the identifier for the TSN stream is unique within the PDU session or QoS flow.
In some embodiments, the configuration information is transmitted to the wireless device using non-access stratum (NAS) signaling. The configuration information may comprise an identifier for the TSN stream.
The method may further comprise, in some embodiments, obtaining updated configuration information for the TSN stream, where the updated configuration information comprises an indication of respective updated values for one or more fields within the header of data packets associated with the TSN stream which are to remain static. In these embodiments, the method may further comprise the step of utilizing the updated configuration information to add the respective updated values for one or more fields to data packets received from the RBS. In some of these embodiments, the updated configuration information further comprises an indication of a sequence number identifying a data packet associated with the TSN stream from which the respective updated values apply.
Some embodiments may further include steps of the method shown in
The step of obtaining configuration information may comprise receiving the configuration information from a core network node of the wireless communications network, in some embodiments, or receiving the configuration information from the external data network, in others. In some embodiments, the method further comprises initiating transmission, to a core network node of the wireless communications network, of an indication of the respective values for one or more fields within the header of data packets associated with the TSN stream which are to remain static, to enable the core network node to decompress the compressed data packet prior to its transmission over the external data network.
In some of these embodiments, the data packet comprises user data, and wherein the step of initiating transmission of the compressed data packet over the external data network comprises forwarding the user data to a host computer over the external data network.
Combination of TSN Support Detection and Resource Scheduling Techniques
Once more, as indicated above, the various techniques described herein may be combined with each other, to provide advantages with respect to latency, reliability, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for detecting support for TSN and the techniques described for compressing headers of TSN frames.
Thus, for example, the method illustrated in
In some embodiments, the transmission schedule comprises cycle times and gate control lists for one or more traffic classes comprising the TSN stream. In some embodiments, if the response from the network indicates that radio resources cannot be allocated to meet the transmission schedule of the data stream, the response further comprises an indication of one or more further time windows during which radio resources can be allocated. In some embodiments, the method further comprises, based on the response from the network, sending, to the external network, an indication of whether the transmission schedule can be met. In some of these embodiments, if the response comprises the indication of one or more further time windows, the indication sent to the external network further includes information related to the one or more further time windows.
In some embodiments, the network comprises a 5G core network (5GC), and the request is sent to and the response is received from an access management function (AMF) of the 5GC.
Support for Multiple Time Domains in 5G to Support TSN Transmission
The inter-working of 5G and TSN is illustrated in
Despite what is shown in
It should be noted that the UPF of
The method by which the UPF subsequently forwards clock information (derived from the GrandMaster clock) to a gNB is considered to be implementation specific.
The gNB can, if needed, send multiple instances of clock information derived from multiple sources (e.g. GPS based, GrandMaster based) to UEs using 5G network based methods.
Further distribution of clock information from a UE to one or more endpoints is possible (e.g. a UE in possession of clock information can serve as a source clock for one or more endpoints).
The UPF that interfaces with the TSN switch is assumed to support the reception and transmission of ethernet PDUs that do not carry IP packets as higher layer payload. Upon receiving an ethernet PDU from the TSN switch the UPF must have a method for associating the destination MAC address with a specific IP address and then relay the ethernet PDU to the appropriate node (e.g. PDN-GW) in the 5G network. The appropriate 5G network node uses the IP address to identify a specific UE and its corresponding RNTI so that the ethernet PDU can then be forwarded to the appropriate gNB for delivery using the identified RNTI.
The gNB sends the ethernet PDU to the UE using a data radio bearer (DRB) with reliability and latency attributes appropriate for supporting ethernet PDU transmission. The UE recovers the ethernet PDU (e.g. from the PDCP layer) and sends it to the endpoint associated with the destination MAC address (i.e. a UE may support one or more ethernet connected endpoints).
In summary, the original ethernet PDU received by the UPF from the TSN switch is delivered transparently through the 5G network.
For the uplink direction the 5G network is expected to determine when a RNTI is associated with ethernet operation thereby allowing uplink payload (i.e. an ethernet PDU) associated with such a RNTI to be routed to a UPF. The UPF then simply sends the received ethernet PDU to a TSN switch.
A second scenario is Ethernet PDUs terminated at the 5G network. This scenario assumes the case where a single UE supports a single endpoint in which case there is no need for the UE to support any ethernet ports. The UPF that interfaces with the TSN switch is assumed to support the reception and transmission of ethernet PDUs that carry IP packets as higher layer payload.
Upon receiving an ethernet PDU from the TSN switch the UPF extracts the IP packet from the ethernet PDU and sends it to the appropriate 5G network node for further routing. The 5G network uses the destination IP address to identify a specific UE and its corresponding RNTI so that the IP packet can be forwarded to the appropriate gNB for delivery using the identified RNTI.
The gNB sends the IP packet to the UE using a data radio bearer (DRB) with reliability and latency attributes appropriate for supporting ethernet PDU transmission (i.e. even though the ethernet PDU terminates at the UPF the 5G network must support ethernet like QoS attributes when delivering the IP packets carried by ethernet PDUs). The UE recovers the IP packet (e.g. from the PDCP layer) and sends it to the IP layer application.
In summary, the ethernet protocol layer is terminated when the ethernet PDU is received by the UPF from the TSN switch but its IP packet payload is delivered transparently through the 5G network.
For the uplink direction the 5G network is expected to determine when a RNTI is associated with ethernet operation thereby allowing uplink payload (i.e. an IP packet) associated with such a RNTI to be routed to a UPF. The UPF must then have a method by which it can map source and destination IP addresses to source and destination MAC addresses (e.g. using ARP) so that it can construct an ethernet PDU containing those MAC addresses and the IP packet as payload for transmission to the TSN switch.
Many TSN features are based on precise time synchronization between all peers. As introduced above this is achieved using e.g. IEEE 802.1AS or IEEE 802.1AS-rev. Within the TSN network it is therefore possible to achieve a synchronization with sub-microsecond error. To achieve this level of accuracy a hardware support is mandatory; e.g. for timestamping of packets.
In a network, a grandmaster (GM) is a node that transmits timing information to all other nodes in a master-slave architecture. It might be elected out of several potential nodes, by certain criteria that makes the selected grandmaster superior.
In a TSN-extension of 802.1AS, it has been defined that next to a main GM also a redundant backup GM can be configured. In case the first GM fails for any reason, devices in the TSN domain can be synched to the second GM. The redundant GM might work in a hot-standby configuration.
In TSN based on IEEE 802.1AS-rev (also called gPTP, generalized Precise Timing Protocol) there are multiple time domains supported in a TSN network. One time domain could be a global time domain based on for example the PTP epoch, and other might be local time domains with an arbitrary epoch. There are two timescales which are supported by gPTP,
Devices in a TSN network can be synched to multiple time domains. A local arbitrary time domain is also referred to as a working clock. Working clocks are used in industrial networks for TSN functions.
One of the initial steps for setting up the TSN stream is establishing of a TSN domain by the CNC, by grouping endpoints (talkers and listeners) that are supposed to exchange time-sensitive streams. This list is provided by CUC to the CNC. The CNC further configures the bridges connecting these endpoints such that each TSN domain (talkers, listeners and bridges) has its own working clock. Technically this can be done according to IEEE 802.1AS-rev, by configuring external port role configuration, mechanism.
Multiple time domains in industrial application scenario is now described. As introduced above, a TSN domain works with different clocks (global and working clocks). Furthermore, the clocks of each TSN domain are not necessarily synchronized and a factory network might comprise of several TSN domains. Therefore, across a factory network it there might be several independent TSN domains with arbitrary timescales where different maybe overlapping subsets of devices need to be synchronized to. As shown in
To satisfy time synchronization requirements for TSN in manufacturing use cases, a cellular network is required to provide a time reference to which all machines (sensor or actuators) can be synchronized.
Currently in 3GPP standardization, efforts are seen to realize a time synchronization over the LTE radio access in Release 15.
In one possible approach, two Information Elements (IE) are added into SIB 16, i.e., a time reference with 0.25 μs granularity and uncertainty value, and the DL RRC message UETimeReference to inform GPS time to the UE with three IEs added in RRC message. The main purpose of this procedure is to transfer GPS based time reference information to UEs along with inaccuracy of that information.
LTE defines several system information blocks (SIBs), related to timing information in SIB 16, which contains information related to GPS time and coordinated universal time (UTC). SIBs are transmitted over Downlink shared channel (DL-SCH). The presence of a SIB in the subframe is indicated by the transmission of a corresponding PDCCH marked with a special system-information RNTI (SI-RNTI). The IE SIB 16 contains information related to GPS time and UTC. The UE uses the parameter blocks to obtain the GPS and the local time.
This is the structure of a SIB 16 message:
The information elements are defined in Table 22
The time reference information message in RRC signaling may also be used to transmit the GPS time to the UE.
Certain problems exist. For example, as per the state-of-art, a UE can only be synchronized to one clock that is supported by the BS (e.g. eNB) to which it is connected. The main issue here is, that the clock used to provide time reference over 3GPP radio can be different than working clock (arbitrary GM clock) used to provide a time reference to a TSN domain. Currently there is no such mechanism to provide a TSN domain time clock that is not synchronized with a clock being used for time reference transmission from BS to UE.
Also, another issue is, if the UE is used as a TSN-Cellular gateway it might further be possible that an independent clock grandmaster is present on the UE-side of the cellular network. The TSN application is then connected to the time-synchronization source instead of the BS for the TSN network to work. In this scenario also, currently there is no way the UE might transfer this timing information to other peers within the cellular network.
Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges. For example, according to certain embodiments, a method is provided to allow the establishment of multiple time domains on both, BS or UE sides based on a precise cellular network synchronization. The cellular network is thereby able to support, for example, two or more different time domains (e.g. a global clock and a working clock) towards a TSN application residing in a UE i.e. an application which is based on the receiving time synchronization information from a BS. Furthermore, the current invention provides a method whereby, in a cellular network, the UE can signal a time to the BS if a working clock GM is present on the UE-side and whereby the UE might be required to connect (i.e. provide precise cellular network synchronization information to) other TSN equipment located in the same TSN domain.
Certain embodiments may provide one or more of the following technical advantages. For example, one technical advantage may be that certain embodiments allow end-to-end time synchronization with multiple time-domains based on a single precise time reference signaling over the air. The efforts to support the additional time-domains are reduced due to the methods proposed herein.
In some embodiments, a more general term “network node” may be used and may correspond to any type of radio network node or any network node, which communicates with a UE (directly or via another node) and/or with another network node. Examples of network nodes are NodeB, MeNB, ENB, a network node belonging to MCG or SCG, base station (BS), multi-standard radio (MSR) radio node such as MSR BS, eNodeB, gNodeB, network controller, radio network controller (RNC), base station controller (BSC), relay, donor node controlling relay, base transceiver station (BTS), access point (AP), transmission points, transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS), core network node (e.g. MSC, MME, etc), O&M, OSS, SON, positioning node (e.g. E-SMLC), MDT, test equipment (physical node or software), etc.
In some embodiments, the non-limiting term user equipment (UE) or wireless device may be used and may refer to any type of wireless device communicating with a network node and/or with another UE in a cellular or mobile communication system. Examples of UE are target device, device to device (D2D) UE, machine type UE or UE capable of machine to machine (M2M) communication, PDA, PAD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, UE category M1, UE category M2, ProSe UE, V2V UE, V2X UE, etc.
Additionally, terminologies such as base station/gNodeB and UE should be considered non-limiting and do in particular not imply a certain hierarchical relation between the two; in general, “gNodeB” could be considered as device 1 and “UE” could be considered as device 2 and these two devices communicate with each other over some radio channel. And in the following the transmitter or receiver could be either gNB, or UE.
According to certain embodiments, a method is provided by which a UE can synchronize to one or multiple TSN domain working clocks based on a time synchronization solution. Further, the solution is extended to support a device (which is connected to a TSN domain over a cellular link) getting synchronized with a working clock of the TSN domain running behind the UE (here UE acts as a TSN gateway). Also, in case a relevant GM clock is deployed on the UE side, the UE might be able to signal this clock signal to the cellular network such as, for example, a base station (BS). The cellular network might forward this info to a TSN endpoint or network it is connected to.
Herein, it is assumed that there is a mechanism to synchronize UEs to a BS in a cellular network with a sufficient precision. For a TSN end-to-end synchronization that is required by TSN features (for e.g. time aware traffic scheduler) this error might be in the order of 1 microsecond. Usually, the synchronization in the cellular network based on a common global clock from a trusted source available such as a GPS signal.
It is assume herein that the error for the 5G synchronization signal is sufficiently small to support the desired working clock accuracies for TSN communication.
According to certain embodiments, the methods introduced are exemplified by three scenarios described below and shown in
Specifically,
To address the challenges exemplified in the three scenarios above, this invention defines two methods as embodiments:
Method 1: A method at BS to measure the timing offset and deviations between a common cellular reference timing signal (e.g. based on GPS) and various other timing signals (like e.g. working clocks of a TSN GM). This offset might be mapped to a TSN domain. The offset can be transmitted to a UE over dedicated RRC signaling or can be broadcasted using SIB blocks information elements (in case of broadcast over SIB, offset value need to be mapped with TSN domain identification parameter). A UE will use this offset to re-establish the original time signal based on the common cellular reference time. The UE might then provide this time to a TSN application.
Method 2: A UE method to measure the timing offset and deviations between a common cellular reference timing signal (e.g. based on GPS) it is receiving from a cellular network and various other timing signals like different working clocks it is receiving from different TSN domains or from a single TSN domain that it is a part of. Here the UE acts as a gateway between a TSN network (including a TSN clock grandmaster) and the cellular network. The UE will transmit this offset to a BS e.g. over RRC signaling. The BS uses this offset to re-establish the original time signal (i.e. corresponding to the TSN network the UE is a part of) based on the common cellular reference time. The BS then might provide this additional time signal to applications operating with same TSN domain.
Both methods consider a periodic signaling of time-offsets to communicate to other side of the cellular network about the timing offsets to be able to support multiple time domains.
Method one will now be described in more detail. The base assumption of the procedure of method 1 is that, the epoch of the working clock and 5G time reference are the same or negotiated between UE and BS beforehand or the epoch of the additional time signals are arbitrary. Furthermore, the clocks used at UE and BS are of sufficient precision to support the time signals. Also, the UE is sufficiently synchronized to the BS to the common cellular reference time. Both, UE and BS might be equipped with multiple clocks and relevant functionality to support different time signals in parallel.
According to certain embodiments, the embodiment of method 1 allows the definition of multiple time domains for the cellular UEs. As such, a cellular reference time (e.g. based on GPS) is broadcasted to all UEs.
Additionally, TSN domain specific working times are established between BS and UEs by transmission of time offsets to individual UEs. The offsets will be calculated at the BS based on the common broadcasted cellular reference time.
According to a particular embodiment, the BS transmits by broadcasts or unicast the offsets along with TSN domain identifiers to the UEs in the given domain. The UEs identify their required TSN domain (or are configured to use a specific TSN domain) and, thus, consider the time offset corresponding to that TSN domain to tune their clocks to the specific TSN domain working time/local reference time i.e. considering the cellular reference time plus the specific time offset.
In
Method 2 is based on the same assumptions as method 1.
In
According to certain other embodiments, receiver-side offset calculation using timestamps may be performed. Specifically, the described solution may be used, for example, to transmit a PTP time information from an external grandmaster between UE and gNB in a time-aware manner. Therefore, a common reference time is used to evaluate the variable time t_d it took to transmit the packet from one layer at one of both nodes, to another layer at the other node.
The common reference time between UE and gNB is used to estimate t_d. As already explained above PTP is often used in industrial context to synchronize systems. This mechanism of course also works the other way around where the UE is synched to a PTP grandmaster. This transmission of ptp packets could be done transparently to the external PTP devices or by letting the UE and gNB jointly act like a boundary clock. Important to mention is that the timestamping in this case is not required in a round-way fashion as done in PTP to calculate the roundtrip delay—it can happen at a higher layer and only the one way delay t_d is required as both UE and gNB already have a sufficiently synchronization as a baseline
This is illustrated in
In view of the detailed explanation just provided, it will be appreciated that
Virtual Apparatus 2700 may comprise processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In some implementations, the processing circuitry may be used to cause first receiving module 2710, second receiving module 2720, comparing module 2730, transmitting module 2740, and any other suitable units of apparatus 2700 to perform corresponding functions according one or more embodiments of the present disclosure.
According to certain embodiments, first receiving module 2710 may perform certain of the receiving functions of the apparatus 2700. For example, first receiving module 2710 may receive a first timing signal from a cellular network.
According to certain embodiments, second receiving module 2720 may perform certain other of the receiving functions of the apparatus 2700. For example, second receiving module 2720 may receive a second timing signal from at least on TSN to which the wireless device is connected.
According to certain embodiments, comparing module 2730 may perform certain of the comparing functions of the apparatus 2700. For example, comparing module 2730 may compare the first timing signal to the second timing signal to determine an offset.
According to certain embodiments, transmitting module 2740 may perform certain of the transmitting functions of the apparatus 2700. For example, transmitting module 2740 may transmit the offset to a network node.
The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.
Virtual Apparatus 2900 may comprise processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In some implementations, the processing circuitry may be used to cause first transmitting module 2910, receiving module 2920, determining module 2930, and second transmitting module 2940, and any other suitable units of apparatus 2900 to perform corresponding functions according one or more embodiments of the present disclosure.
According to certain embodiments, first transmitting module 2910 may perform certain of the transmitting functions of the apparatus 2900. For example, first transmitting module 2910 may transmit, to a wireless device, a first timing signal for a cellular network.
According to certain embodiments, receiving module 2920 may perform certain of the receiving functions of the apparatus 2900. For example, receiving module 2920 may receive, from the wireless device, an offset measured by the wireless device. The offset is based on a difference between the first timing signal for the cellular network and a second timing signal associated with at least on time sensitive network (TSN) to which the wireless device is connected.
According to certain embodiments, determining module 2930 may perform certain of the determining functions of the apparatus 2900. For example, determining module 2930 may determine a third timing signal for the cellular network based on the offset received from the wireless device.
According to certain embodiments, second transmitting module 2940 may perform certain other of the transmitting functions of the apparatus 2900. For example, second transmitting module 2940 may transmit, to the wireless device, the third timing signal network node.
The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.
Virtual Apparatus 3100 may comprise processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In some implementations, the processing circuitry may be used to cause first receiving module 3110, second receiving module 3120, third receiving module 3130, using module 3140, and any other suitable units of apparatus 3100 to perform corresponding functions according one or more embodiments of the present disclosure.
According to certain embodiments, first receiving module 3110 may perform certain of the receiving functions of the apparatus 3100. For example, first receiving module 3110 may receive a first timing signal from a cellular network.
According to certain embodiments, second receiving module 3120 may perform certain other of the receiving functions of the apparatus 3100. For example, second receiving module 3120 may receive a second timing signal from at least on time sensitive network (TSN).
According to certain embodiments, third receiving module 3130 may perform certain other of the receiving functions of the apparatus 3100. For example, third receiving module 3130 may receive, from a network node associated with the cellular network, an offset measured by the network node. The offset is based on a difference between the first timing signal for the cellular network and the second timing signal from the TSN.
According to certain embodiments, using module 3140 may perform certain of the using functions of the apparatus 3100. For example, using module 3140 may use the offset to reduce a deviation between the first time signal and the second time signal.
The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.
Virtual Apparatus 3300 may comprise processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In some implementations, the processing circuitry may be used to cause receiving module 3310, performing module 3320, determining module 3330, and transmitting module 3340, and any other suitable units of apparatus 3300 to perform corresponding functions according one or more embodiments of the present disclosure.
According to certain embodiments, receiving module 3310 may perform certain of the receiving functions of the apparatus 3300. For example, receiving module 3310 may receive a second timing signal from at least on time sensitive network (TSN).
According to certain embodiments, performing module 3320 may perform certain of the performing functions of the apparatus 3300. For example, performing module 3320 may perform a comparison the second timing signal to a first time signal for a cellular network.
According to certain embodiments, determining module 3330 may perform certain of the determining functions of the apparatus 3300. For example, determining module 3330 may an offset comprising a difference between the first timing signal for the cellular network and a second timing signal from the TSN based on the comparison.
According to certain embodiments, transmitting module 3340 may perform certain of the transmitting functions of the apparatus 3300. For example, transmitting module 3340 may transmit the offset to a wireless device connected to the TSN.
Combination of TSN Detection and Support for Multiple Time Domains
Again, as indicated above, the various techniques described herein may be combined with each other, to provide advantages with respect to latency, reliability, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for detecting support for TSN and the techniques described just above for supporting multiple time domains.
Thus, for example, the method illustrated in
In some of these embodiments, the SI is comprised in one or more system information blocks (SIBs). In some embodiments, the first timing signal comprises a cellular time reference. In some embodiments, the second timing signal comprises a working clock time reference. In some embodiments, the offset is a measurement of a difference in time between the first timing signal and the second timing signal. In some embodiments, the offset is transmitted to the wireless communications network via RRC signaling.
Some embodiments may further comprise the step of receiving, from the RBS, a third timing signal from the wireless communications network, the third timing signal being an adjusted time signal of the first timing signal.
In some embodiments, the method further comprises adjusting a local time reference based on the offset. In some embodiments, the method further comprises transmitting the offset to the external TSN data network. The method may further comprise transmitting at least one of an epoch, a TSN domain number, a time domain identifier to at least one of the RBS and the external TSN data network.
Prioritizing Grants
Uplink (UL) traffic can be scheduled with dynamic UL grants or configured UL grants. In case of dynamic grants, the gNB provides an UL grant to the UE for each UL transmission. Configured grants are pre-allocated, i.e. provided once to the UE, thereafter the configured UL grant is valid for usage for UL transmissions according to a configured periodicity. The UE does not need to transmit padding on those UL resources if no UL data is available for transmission, i.e. may skip an UL transmission on such grants.
A typical NR-IoT device would handle communication for multiple service types, e.g. periodic Ultra-reliable low latency communication (URLLC) type robot control messages, URLLC type of occasional alarm signals, for which periodic resources would need to be configured, occasional sensor data transmission, other mobile broadband (MBB) type traffic such as occasional video transmissions or software updates. It would lead to a traffic mix to be multiplexed by the UE for UL transmissions, i.e. on media access control (MAC) multiple logical channels with different priorities would need to be configured.
Periodic URLLC traffic must be delivered within a deterministic latency, i.e., robust transmissions must be guaranteed which is costly in terms of resource usage. On the other hand, sensor/MBB type of traffic must be served as well, for which resources should be used as efficient as possible, i.e. less robust. It is currently unclear how UE multiplexing of both traffic types with their different requirements can be efficiently handled in the NR system.
In particular, according to current standards, for example dynamic UL grants, e.g. less robust and large for MBB, or other UL grants, override configured UL grants, e.g. very robust for URLLC transmissions, either destroying the determinism for the URLLC transmissions or leading to a high complexity for the gNB to avoid those overriding, i.e. by scheduling “around” the configured UL grants, which in some resource situations may not be feasible. This may thus result in a reduced or limited performance of the wireless communication network.
According to embodiments herein a radio network node, such as a gNB or other radio base station (RBS) configures a UE with a configured grant and/or a dynamic grant for UL transmissions. The decision on whether dynamic or configured grant is used for an UL transmission by the UE is conditional on whether UL data has been obtained to transmit on the configured grant UL resources according to the logical channel prioritization decision, i.e. in particular whether a MAC Protocol data unit (PDU) is obtainable from the MAC multiplexing/assembly entity, i.e. whether the uplink grant is skipped due to no data available on logical channels allowed to transmit on the configured UL grant.
It is assumed that according to a logical channel restriction condition, which is configurable, data transmission of some logical channels is not permitted on a configured UL grant. i.e. for the MBB type non-critical logical channels. This way, valuable robust resources are not wasted by sending MBB type traffic that does not require robust resources, but could rather wait/be delayed some time more and be transmitted on more efficient, less robust dynamically scheduled resources.
More specifically, according to embodiments herein, for a configured UL grant (with wanted frequent and robust but small allocation intended for reliably transmitted data such as URLLC data):
Note that requested retransmissions may always be prioritized, i.e. in another embodiment, the retransmission of a MAC PDU sent on a previous configured grant is prioritized over a later configured grant. In more detail, if the dynamic UL grant is for a retransmission of the configured grant, i.e., scrambled with CS-RNTI and a New Data Indicator (NDI) in the received hybrid automatic repeat request (HARQ) information is 1, this dynamic grant overrides the configured UL grant, irrespective of whether a MAC PDU has obtained or not.
In another embodiment, when prioritizing the UL configured grant according to the above, the following exception is considered: do not prioritize the UL configured grant if an LCH which is restricted to be transmitted only over the dynamic grant, is of higher priority than another LCH, for which restriction to transmit only on configured UL grant is configured.
In one embodiment, the gNB expecting transmission on either dynamic UL grant or configured UL grant, i.e. blindly decoding both possibilities.
The UE uses configured UL even if dynamic UL grant is received for overlapping resources, under the condition that UL data would be transmitted on the configured grant resources according to a logical channel prioritization procedure.
Note that in a general scenario the term “radio network node” can be substituted with “transmission point”. Distinction between the transmission points (TPs) may typically be based on CRSs or different synchronization signals transmitted. Several TPs may be logically connected to the same radio network node but if they are geographically separated, or are pointing in different propagation directions, the TPs may be subject to the same mobility issues as different radio network nodes. In subsequent sections, the terms “radio network node” and “TP” can be thought of as interchangeable.
Action 201: The radio network node 12 may configure the UE 10 to prioritize UL transmission of configured periodic UL grant over UL transmission of a dynamic UL grant under a condition that there is UL data to be transmitted on the configured grant according to a logical channel prioritization procedure. The configured periodic UL grant may be for a first type of transmissions e.g. critical data transmissions such as URLLC transmissions, and the dynamic UL grant may be for a second type of transmissions e.g. non-critical data transmissions such as MBB transmissions.
Action 202: The radio network node 12 may schedule the UE 10 with a dynamic grant for UL transmissions of the second type e.g. non-critical data transmissions such as non-latency sensitive transmissions e.g. for a broadband service or similar. This may mean that the radio network node transmits a dynamic UL grant to the UE 10. The UE 10 may thus send a scheduling request for an UL transmission and may subsequently receive a dynamic UL grant for the UL transmission.
Action 203: The UE 10 prioritizes UL transmission of the configured periodic UL grant over UL transmission of the dynamic UL grant under the condition that there is UL data to be transmitted on the configured periodic UL grant according to a logical channel prioritization procedure. The configured periodic UL grant may be for the first type of transmissions such as URLLC transmission, and the dynamic UL grant may be for the second type of transmissions such as MBB transmission.
Action 204: When the UE 10 has prioritized periodic UL grant in action 203, the UE may transmit a transmission of the first type of transmissions such as URLLC transmission.
Action 205: When the UE 10 has prioritized dynamic UL grant in action 203, the UE may transmit a transmission of the second type of transmissions such as MBB transmission.
The UE 10 may comprise a prioritizing unit 803. The UE 10, the processing circuitry 801, and/or the prioritizing unit 803 may be configured to prioritize UL transmission of the configured periodic UL grant over UL transmission of the dynamic UL grant under the condition that there is UL data to be transmitted on the configured periodic UL grant according to a logical channel prioritization procedure. The UE 10 may comprise a transmitting unit 804, e.g. a transmitter or a transceiver. The UE 10, the processing circuitry 801, and/or the transmitting unit 804 may be configured to prioritize UL transmission of the configured periodic UL grant over UL transmission of the dynamic UL grant under the condition that there is UL data to be transmitted on the configured periodic UL grant according to a logical channel prioritization procedure. In some examples, the prioritizing unit 803 performs the prioritization. Therefore, in these examples, the UE 10, the processing circuitry 801, and/or the transmitting unit 804 may be configured to transmit transmission of the first type or transmission of the second type as prioritized by the UE 10, the processing circuitry 801, and/or the prioritizing unit 803.
The UE 10 further comprises a memory 807. The memory comprises one or more units to be used to store data on, such as RSs, strengths or qualities, UL grants, indications, requests, commands, applications to perform the methods disclosed herein when being executed, and similar. The UE 10 comprises a communication interface comprising one or more antennas.
The methods according to the embodiments described herein for the UE 10 are respectively implemented by means of e.g. a computer program product 805 or a computer program, comprising instructions, i.e., software code portions, which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the UE 10. The computer program product 805 may be stored on a computer-readable storage medium 806, e.g. a universal serial bus (USB) stick, a disc or similar. The computer-readable storage medium 806, having stored thereon the computer program product, may comprise the instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the UE 10. In some embodiments, the computer-readable storage medium may be a non-transitory or a transitory computer-readable storage medium.
The radio network node 12 may comprise a configuring unit 1002. The radio network node 12, the processing circuitry 1001 and/or the configuring unit 1002 is configured to configure the UE 10 with an UL grant for UL transmission over a logic channel. The radio network node 12 may comprise a scheduling unit 1003, such as a scheduler. The radio network node 12, the processing circuitry 1001 and/or the scheduling unit 1003 may further be configured to schedule the UE 10 with a dynamic grant for UL transmission of a broadband service or similar.
The radio network node 12 may comprise a receiving unit 1004, e.g. a receiver or transceiver. The radio network node 12, the processing circuitry 1001 and/or the receiving module 1004 is configured to receive from the UE 10 data on a radio resource. The radio network node 12 further comprises a memory 1005. The memory comprises one or more units to be used to store data on, such as strengths or qualities, grants, scheduling information, applications to perform the methods disclosed herein when being executed, and similar. The radio network node 12 comprises a communication interface comprising transmitter, receiver, transceiver and/or one or more antennas.
The methods according to the embodiments described herein for radio network node 12 are respectively implemented by means of e.g. a computer program product 1006 or a computer program product, comprising instructions, i.e., software code portions, which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the first radio network node 12. The computer program product 1006 may be stored on a computer-readable storage medium 1007, e.g. a USB stick, a disc or similar. The computer-readable storage medium 1007, having stored thereon the computer program product, may comprise the instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the radio network node 12. In some embodiments, the computer-readable storage medium may be a non-transitory or transitory computer-readable storage medium.
Combination of TSN Detection and Grant Prioritization
Once more, as indicated above, the various techniques described herein may be combined with each other, to provide advantages with respect to latency, reliability, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for detecting support for TSN and the techniques described just above for prioritizing grants.
Thus, for example, the method illustrated in
In some embodiments, the SI is comprised in one or more system information blocks (SIBs). In some embodiments, the logical channel prioritization procedure prevents transmission of some logical channels on the configured periodic uplink grant. In some of these latter embodiments, the logical channel prioritization procedure may restrict transmission using the configured periodic uplink grant to ultra-reliable low latency communication (URLLC) messages. In some embodiments, the dynamic uplink grant is for a mobile broadband (MBB) transmission.
Device Enrollment in an IoT Environment
The Internet of things (IoT) is commonly known as a network of physical devices, vehicles, home appliances, and/or other items embedded with electronics, software, sensors, actuators, and connectivity which typically enable the devices to connect and exchange data. As discussed herein, the Industrial IoT is simply the IoT as applied to an industrial setting, such as in a factory.
Adding a new device to an IoT system or IoT environment (the terms may be used interchangeably in this disclosure), or deploying an entire IoT system for the very first time typically includes: physically installing the devices, i.e. sensors, actuators, etc., at their respective physical location; configuring the devices with identity and other attributes, such as e.g. geographical location, owner, purpose, etc.; setting up communication parameters, e.g. Wi-Fi access points and passwords, encryption keys and certificates; and enrollment of the devices, registering them with (cloud) services that will make use of them, and that they will make use of.
A typical example is installing a new surveillance system (either residential or commercial). Each device is preconfigured with its functionality, but typically requires specific configuration which may vary based on situation, context and/or intended usage, such as location (e.g. the living room) and communication (e.g. how to contact the communications hub of the IoT system). The communication hub should typically be configured with contact details to the owner, such as phone number (for GSM/GPRS communication) or network address (for IP-based communication), and password for services. Typically, some of the parameters can be configured en masse (e.g. during manufacture), and some of them should be configured after installment.
There exist various ways of handling the enrollment of the devices. Common ways typically include:
Hence, the conventional approaches for enrollment of devices to IoT environments are typically insecure and/or inflexible. Therefore, there is a need for providing secure and flexible means for device enrollment in IoT systems.
As just mentioned, adding a new device to a system, or deploying an IoT system for the very first time, typically includes
A typical example is adding a new controller to a factory automation system. The controller typically needs to know who is allowed to configure/reconfigure control loops, and where and how to send warnings/errors. It furthermore typically requires private keys for encrypting communication, and it typically requires knowing how to communicate with other devices and services (i.e., receive information on certificates, keys, etc.).
However, as previously mentioned, conventional enrollment processes may typically lead to insecure systems, since the configuration of the devices may be performed again by using the same default password, or enrollment is inhibited by the fact that Internet connection is required.
It is typically known that any computer application can be serialized in some form. Computer serialization is typically the process of translating data structures or object states into a format that can be stored or transmitted and reconstructed later (possibly in a different computer environment). The opposite operation, extracting a data structure from a series of bytes, is typically known as deserialization. The serialization, however, may have to be complex and detailed, and thus requiring more storage space, unless the environment the application will be executing in has support for high-level abstractions of even quite complex functionality.
The serialization/deserialization described herein may be done according to any suitable method for serializing/deserializing data.
According to some embodiments herein, the application may be an enrollment application comprising enrollment information for assisting/enabling execution of enrollment of a device to the IoT environment.
For example, encoding the enrollment application using a limited format such as QR codes or barcodes adds some restrictions on the available space (even a high-density format such as HCCB is limited to approx. 300 bytes/cm2).
However, using a high-level description of the enrollment application, it is possible to encode the application, complete with internal state, parameters etc., as a string, barcode or QR Code using a limited amount of space by using serialization.
According to some embodiments, this fact may be utilized in order to provide a secure encoded enrollment process which does not require Internet connection.
For example according to some embodiments herein, an enrollment application may be distributed over several devices, or several enrollment applications may in some embodiments be running on different devices where one device may be used for assisting in enrollment of another device, and may retrieve information on geographical & organizational location, ownership, encryption keys, communication parameters (e.g. Wi-Fi access point, login credentials and address to gateway or web service, etc.) from the assisting device, storing it persistently on e.g. one or more of the devices being enrolled. Furthermore, it may in the state of the application(s) be included all information necessary to assume ownership of the device from which information has been retrieved such as e.g. keys for communication and identity.
These enrollment applications are then serialized and supplied together with one or more IoT devices e.g. by means of a note inside the package, or printed on the side of the device, or generated and printed on the receipt, or downloaded from the manufacturer's website, or distributed in some other form.
Obtaining the code e.g. by means of an assisting device e.g. a mobile phone, or otherwise retrieving it, and then de-serializing by e.g. using an application or function in the mobile phone gives a digital representation of the enrollment application, which can then be deployed on a system consisting of at least the IoT-device and (for example) the mobile phone used for enrollment.
It should be noted that the assisting device does not necessarily have to be a mobile phone but could also in some embodiments be another IoT device, or other suitable device for deserializing the enrollment information.
The enrollment application may be distributed over the at least two devices (the IoT device(s) to be enrolled, and the mobile phone assisting the enrollment) and starts executing an enrollment process by delivering all relevant information to the IoT device as well as the mobile phone.
The enrollment application may also comprise enrollment information pertaining to steps of the enrollment that may in some embodiments need to be performed by either or both of the assisting device (e.g. the mobile phone) and the IoT device to be enrolled.
The IoT device stores the enrollment information persistently, terminates the application and then resumes its intended operation.
The IoT device could optionally burn a fuse or something similar to prevent tampering or changing the data, thus making ownership permanent. The mobile phone could optionally forward the result of the registration to a server.
In an IoT framework, using fairly high-level abstractions to describe functionality, i.e. functionality is described on a semantically high level using high level descriptions such as “trigger alarm” rather than detailed and low level commands such as “set_pin(18, 0)”, it is possible to encode even quite large and complex applications as bar codes or QR codes which can be interpreted by e.g. a mobile device. The application itself can be either a distributed application covering several devices, or separate applications exchanging data.
The encoded application can then e.g. in some embodiments be either:
Other options for delivering the encoded application are of course possible.
The technician or operator installing the IoT device may then use a mobile device as an assisting device to obtain the barcode/barcodes (e.g. by scanning the code) and deploy the application or applications. The application (or parts of an application) executing on the mobile phone then fills in configuration data such as location, purpose, ownership, credentials and other important information, whereas the application (or parts of an application) on the device to be enrolled stores this information persistently.
After the configuration/enrollment has completed, the application is disposed of, and the IoT device resumes normal operation, using the supplied configuration/enrollment data.
This approach allows for straightforward automated registration, configuration and enrollment of e.g. IoT devices without the devices requiring access to the Internet, or any other connectivity other than a means of communicating with a registration device (Bluetooth, NFC, Wi-Fi, etc.)
The first device may e.g. be wireless communication device such as a mobile phone. The first device may be any device capable of deserializing high level abstractions, such as a handheld computer, lap top or surf pad. Although a mobile device is preferable it is not excluded that the first device is a stationary device, such as e.g. a stationary computer.
The second device may e.g. be a robot, physical device, sensor, camera or any other device suitable for an IoT system.
In some embodiments, the second device is an Internet of Things (IoT) device. In some embodiments the first device is a wireless communication device.
The method 100 starts in 110 with obtaining 110 a representation of an enrollment function associated with the second device, wherein the enrollment function is associated with at least one serialized enrollment application comprising enrollment information associated with the first and second device.
The representation of the enrollment function may e.g. be obtained by means of scanning the representation or otherwise capture the representation using e.g. a camera or other sensor.
The representation of the enrollment function may be a QR code printed on the second device, or supplied in the packaging of the second device or similar. The representation of the enrollment function could additionally or alternatively be e.g. a bar code or an RF-ID chip capable of analogue or digital storing of the serialized enrollment function. Other representations are possible.
The enrollment information associated with the first and second device comprised in the serialized enrollment application may e.g. comprise one or more of instructions for setting up communication between the first and second device, an indication of that an enrollment process is to be carried out, steps of an enrollment process, information associated with one or more of geographical location, organizational location, ownership, encryption keys, communication parameters, communication keys and identity, and information on what parameters should be exchanged between the devices such as credentials etc.
For example, the above parameters may represent a mix of information flowing between both devices. Additional data, originating in the first device, such as e.g. geographical location, organizational location, and ownership may be data sent by the first device to the second device and stored by the latter.
Encryption and communication keys/parameters may further be sent in either direction (e.g. during handshake, negotiation of means of communication etc.) during the deployment of the enrollment application, i.e. during the enrollment process.
Identity could be either sent from second device to first device (in the case of serial number or unique identifier set during manufacturing) or from first device to second device (in the case of human readable name, or identifier within organization
The method 100 then continues in step 120 with deserializing the enrollment application such that enrollment information associated with the first device is separated from enrollment information associated with the second device.
Hence, the first and the second device may not necessarily receive the same enrollment information. The enrollment information associated with the first device may e.g. comprise instructions on which parameters the first device should supply to the second device. In the same manner, the enrollment information associated with the second device may comprise instructions that an enrollment is to take place, and directives on what parameters and/or information associated with the second device which the second device should supply the first device with.
It is to be noted that the parameters may comprise the same data as the information, i.e. the parameters may be the information or vice versa, hence in this disclosure the term parameter may be replaced by the term information if not explicitly stated otherwise.
In some embodiments, the method 100 may optionally comprise the step of connecting 130 to the second device in order to enable communication between the first and second device.
The connection may e.g. be established by means of e.g. BlueTooth, Wi-Fi, NFC, and physical connection or cable between the devices. However, this step may also be integrated into the next step of transmitting 140 the enrollment information associated with the second device to the second device for initiating execution by the second device of the enrollment process of the second device by configuration of the second device based on the enrollment information associated with the second device.
Hence, the deserialized enrollment information associated with the second device is transmitted from the first device to the second device, in order to initiate the enrollment process and enable the second device to execute the enrollment process as indicated by the (with the second device) associated enrollment information.
According to some embodiments, the enrollment information associated with the second device is unknown to the second device. Hence, enrollment cannot take place unless the first device supplies the second device with the enrollment information comprised in the deserialized enrollment application associated with the second device.
Furthermore, in some embodiments, the enrollment information associated with the second device comprises at least one of public encryption keys for communicating with the IoT system, software systems, capabilities and functions of the IoT-environment.
The method then continues with receiving 150 from the second device configuration information associated with the second device.
As elaborated on above, the enrollment information associated with the second device may comprise instructions that the second device should supply the first device with certain configuration information/parameters associated with the second device that is unknown to the first device.
Such configuration information associated with the second device may e.g. be physical identity of the second device, and public encryption keys for communication with the second device. The information associated with the second device may also in some embodiments comprise an acknowledgement of successful enrollment of the second device.
The first device may e.g. store the received configuration information and may in some embodiments relay it to the IoT system in order to enable connection of the second device to the IoT system.
For instance, according to some embodiments, for IoT-systems depending on a central cloud service, the necessary communication details (such as public keys, and identity) may to be forwarded to the cloud service in order to enable (secure) communication.
In some embodiments, the enrollment function may comprise or represent at least two serialized enrollment applications. In such case, one application may be intended for the first device, and one application may be intended for the second device.
The method may hence in some embodiments further comprise deserializing the at least two serialized enrollment applications into at least one enrollment application comprising enrollment information associated with the first device and at least one enrollment application comprising enrollment information associated with the second device. The first device may then transmit the at least one enrollment application associated with the second device to the second device.
Hence, according to some embodiments, the enrollment function may contain one application (i.e. one split application for both devices, or just one for the second device) or two applications (one for the first device and one for second device) and may also in some embodiments comprise specific configuration data (address, etc., that might not be part of any of the applications).
In some embodiments, the method may further comprise determining that the second device has successfully enrolled and terminating 160 the at least one enrollment application on the first device.
The determination of that the second device has successfully enrolled may e.g. be based on an indication received from the second device of successful enrollment. In some embodiments, the indication of successful enrollment may be comprised in the information received from, and associated with, the second device.
Hence, the method 100 describes steps for initiating and assisting e.g. an IoT device to enroll to an IoT system according to some embodiments.
Furthermore,
The first and second device may e.g. be the first and second device as described in conjunction with
The method 200 starts in 210 with receiving 210, from the first device, enrollment information associated with the second device (compare with step 140 of the method 100). The enrollment information may originate from at least one deserialized enrollment application, which enrollment application may have been deserialized by the first device according to the method 100.
In some embodiments, the method 200 may further comprise determining 220 that the enrollment information is for executing the enrollment process.
The second device may e.g. comprise different functions and processes which may be initiated when specific instructions or signals are received. The second device may e.g. comprise a function for enrollment which is utilized only when the correct enrollment information for executing the enrollment process is received.
This step may however also be performed automatically when the second device receives the enrollment information, i.e. the reception of the enrollment information may automatically trigger the enrollment process, and the step 220 may hence be seen as implicit in the method 200.
The method 200 then continues with executing 230 the enrollment process by configuring the second device based on the enrollment information.
The second device may e.g. already at least in part have access to the enrollment process but may lack certain information or parameters which may be supplied by the first device. The second device may e.g. have, as mentioned above, been configured at manufacture with a function for enrollment, this function may comprise some steps that should be taken by the device during enrollment but may e.g. lack information on certain necessary parameters or steps.
The enrollment information may hence comprise information which is unknown to the second device until the enrollment process is being deployed. Such information may e.g. pertain to information originating in the first device, such as e.g. geographical location, organizational location, gateway credentials, and (public) encryption keys for communication with the IoT system and ownership which may sent from the first device to the second device and stored by the latter.
In some embodiments, the enrollment information associated with the second device comprises at least one of public encryption keys, software systems, capabilities and functions of the IoT-environment.
In some embodiments, the enrollment information associated with the second device is unknown to the second device. Hence enrollment cannot take place unless initiated by the first device.
The method 200 may then continue with transmitting 240 configuration information associated with the second device to the first device (compare with step 150 of the method 100).
The configuration information associated with the second device transmitted to the first device may e.g. be one or more of physical identity of the second device and public encryption keys for communication with the second device. The configuration information associated with the second device may also in some embodiments comprise an acknowledgement of successful enrollment of the second device.
In some embodiments, the method 200 may further comprise determining that the enrollment is successful, and possibly terminating 250 the enrollment application e.g. by deleting the enrollment information from the second device.
In order to further strengthen security of the enrollment process and hinder future tampering of the data, the second device may e.g. blow a fuse, or in other manners delete the possibility to reconfigure it.
Furthermore, the information associated with the second device transmitted to the first device may also in some embodiments comprise an acknowledgement of successful enrollment of the second device.
A representation of an enrollment function 330 comprises at least one serialized enrollment application 300 which in turn comprises enrollment information 301, 302 associated with a first device 310 and a second device 320 respectively. The first and the second device may e.g. be the first and second device as described in conjunction with any of
In this example, the representation of the enrollment function is a QR-code. But other representations are possible, such as bar codes, numeric sequences, RF-ID chips, etc.
The first device obtains the representation of the enrollment function, e.g. by scanning using a scanner or camera, or other means for detecting, acquiring or capturing the representation.
The first device 310 may then deserialize the enrollment application such that enrollment information 301 associated with the first device 310 is separated from enrollment information 302 associated with the second device 320 (compare with step 120 of the method 100).
In some embodiments, the first device may further obtain additional configuration information pertaining to the second device from an external data base 311, and may further in some embodiments be prompted by the enrollment application to obtain said additional configuration data from said external storage data base 311.
The first device keeps the enrollment information 301 associated with the first device and transmits the enrollment information 302 associated with the second device 320 to the second device 320 (compare with steps 140 and 210 of the methods 100 and 200 respectively).
It should be noted that the enrollment function may comprise more than one serialized application. In the case of more than one serialized applications, the first device and the second device may be associated with one application each, and the first device may deserialize the applications into one application for the first device and one application for the second device.
In the case of a single serialized application, the first device may deserialize it into information pertaining to the first device, and into information pertaining to the second device, i.e. split the application on the two devices. In some embodiments, in the case with one serialized application, the single application may be intended for the second device only.
The second device may in turn comprise a number of functions which may be associated with different processes. In this example, the second device may comprise function #1-#4, 321, 322, 323, and 324 respectively. These functions may have been configured/added to the second device during manufacture.
In this particular example the representation of the enrollment function information 330 corresponds to function #3, 223. Hence, when the second device receives the deserialized information it will determine that function #3 is to be initiated. In this case, function #3 is the enrollment process (compare with step 220 of the method 200).
Function #3 may comprise some enrollment steps but may lack information which may be provided in the enrollment information obtained from the deserialized enrollment application and received by the second device 320, compare e.g. with the methods 100 and 200.
The second device may then perform the enrollment according to the received enrollment information. In some embodiments, also the first device may use the enrollment information associated with the first device as well as the information received from and associated with the second device in order to configure itself.
It should be noted that also the other functions of the second device may be used for enrollment. Hence, it should be understood that the enrollment function does not comprise of a single function (e.g. function #3) but may also be instructions involving one or more of the other functions on the second device. E.g., the enrollment information may e.g. comprise instructions telling the second device to execute function #1 using parameters a, b and execute function #4 using parameters x, y etc., with functions #1 and #4 being pre-existing functions.
It should be noted that the methods 100 and 200 are closely related as they are performed respectively by a first device and a second device in order to enable enrollment of the second device. Hence, the method 100 and 200 may in some embodiments be combined into one method 400 as illustrated by
In
The method 400 starts in 410 where the first device 401 obtains a representation of an enrollment function associated with the second device 402 (compare with step 110 of the method 100). The representation may e.g. be one or more of a QR-code, barcode or similar. The representation may e.g. be obtained through scanning or NFC reader other suitable means.
The representation of the enrollment function comprises or is associated with at least one serialized enrollment application, which enrollment application may comprise enrollment information associated with the first device and with the second device respectively. The serialization enables large amounts of data to be stored in the representation using limited space.
The representation may in some embodiments be stored on the second device. The barcode may e.g. be printed onto the housing of the second device, or it could be supplied on e.g. a piece of paper and be part of the packaging of the second device. It may also be possible in some embodiments to retrieve the representation from e.g. the Internet.
When the first device has obtained the representation of the enrollment function, the method continues in 411 where the first device deserializes the serialized enrollment application in order to extract the digital representation of the information as well as separate the enrollment information which is associated with the first device from the enrollment information which is associated with the second device (compare with step 120 of the method 100).
The enrollment function may in some embodiments comprise a single serialized enrollment application which is deserialized into different blocks of information pertaining to the first or second device. In some embodiments, the enrollment function may comprise more than one serialized enrollment applications, which may be deserialized into one or more applications intended for the first device and one or more applications intended for the second device.
In some embodiments, in the case of a single application, the single application may be intended entirely for one of the devices.
After obtaining, the method 400 may comprise establishing a connection between the first device and the second device for communication (as indicated by the dashed arrow between the first and second device, compare with step 130 of the method 100). The connection may e.g. be established through a Bluetooth connection, NFC, Wi-Fi, or by cable and does not necessarily require Internet or network access.
The connection may be initiated as a separate step of the method, or it may be automatically performed or triggered after having obtained the representation. It may hence be integrated as an implicit action into the next step 412 of transmitting the enrollment information associated with the second device extracted from the deserialized enrollment application to the second device (compare with step 140 of the method 100).
The enrollment information comprised in the enrollment application may to some extent be unknown to the devices prior to deployment of the enrollment process. Hence, the representation of the enrollment function may comprise enrollment information associated with e.g. the second device, which the second device is not aware of as it has not been previously configured with the information.
Such enrollment information may e.g. be credentials associated with e.g. the first device or the IoT system into which the second device is to enroll. Such as e.g. credentials necessary for communicating with other devices or services in the IoT system, as well as ownership, location (e.g. GPS coordinates or address), a human readable name of the second device, or other information that is not known before the time of the enrollment. Other such information may e.g. be geographical location of the second device, organizational location and ownership.
In step 420 of the method 400 the second device receives the enrollment information associated with the second device comprised in the deserialized enrollment application (compare with step 210 of the method 200). This reception may trigger the second device to initiate an enrollment process (compare e.g. to
Hence in step 421 of the method 400 the second device executes the enrollment process based on the received enrollment information (compare with step 230 of the method 200).
During the enrollment process additional data may be exchanged between the first and second device, such data may e.g. be encryption keys, credentials, identity of the devices etc.
The second device may e.g. transmit in step 422 information associated with the second device to the first device (compare with step 240 of the method 200). Such information may e.g. be public encryption keys, software versions, capabilities and functions associated with the second device, etc.
The second device may also transmit an indication or acknowledgement to the first device that enrollment has been successful.
In step 413 of the method 400, the first device receives from the second device the information associated with the second device (compare with step 150 of the method 100). The first device may e.g. store this information and relay it to the IoT system in order to enable connection of the second device to the IoT system.
Then, after successful enrollment, in step 414 and 423 the first and second device may terminate the enrollment application at their own end respectively (compare with steps 160 and 250 of the methods 100 and 200 respectively). In order to further strengthen security once the enrollment has been completed, the second device may e.g. burn a fuse which hinders further tampering of data, or completely delete the enrollment functionality.
It is contemplated that the enrollment information may comprise instructions to the second device on what actions should be taken when the enrollment is complete, or the second device may already be preconfigured with these steps.
It is also contemplated that the first device may be configured during the enrollment process of the second device. This may be the case when the first device is a part of the IoT system and should maintain knowledge of the second device. The first device may in such case configure itself based on the enrollment information comprised in the serialized enrollment application and the information received from the second device during execution of the enrollment process. This would be the case when, for example, the first device acts as a gateway which the second device utilizes for communication with the IoT system.
The first and second devices described herein are typically physical devices, however in some embodiments the first device comprises more computing resources than the second device. It should however be noted that both the first and the second device may be IoT devices.
It is to be noted that in this disclosure, the term arrangement is to be interpreted as a system of aggregated components such as e.g. a circuit board with integrated or removeably attached components. The term arrangement may e.g. be replaced by the term system.
The first device may e.g. be the first device as described in conjunction with any of the
The arrangement 500 may be further configured to carry out the methods as described in conjunction with any of
The arrangement 500 comprises a controlling circuitry (CNTR; e.g. a controller) 520 and a transceiver circuitry (RX/TX; e.g. a transceiver) 510. In some embodiments, the controlling circuitry may further comprise an obtaining circuitry (OB; obtaining module) 523, a deserializing circuitry (DESER; e.g. a derserializer) 522 and a determination circuitry (DET; e.g. a determiner) 521.
The transceiver circuitry 510 may in some embodiments be a separate transmitter and a separate receiver.
The controlling circuitry 520 may be configured to cause obtaining, e.g. by causing the obtaining circuitry 523, of a representation of an enrollment function associated with the second device, wherein the enrollment function is associated with at least one serialized enrollment application comprising enrollment information associated with the first and second device (compare with step 110 of the method 100).
The obtaining circuitry may e.g. comprise a camera, supplied on a mobile phone. The obtaining circuitry 523 may in some embodiments be any suitable circuitry/means for obtaining or capturing information comprised in an image or on a chip or similar.
The controlling circuitry 520 may be further configured to cause deserializing, e.g. by causing the deserializing circuitry 522, of the enrollment function information such that enrollment information associated with the first device is separated from enrollment information associated with the second device (compare with step 120 of the method 100).
The controlling circuitry 520 may be further configured to cause connection, e.g. by causing the transceiver circuitry to signal the second device, to the second device, such that communication between the first and second device is enabled (compare with step 130 of the method 100).
The controlling circuitry 520 may be further configured to cause transmission, e.g. by causing the transceiver circuitry 510 to signal the second device, of the enrollment information associated with the second device to the second device for initiating execution by the second device of the enrollment process of the second device by configuration of the second device based the enrollment information associated with the second device (compare with step 140 of the method 100).
During and/or after execution of the enrollment process, the controlling circuitry may be further configured to cause, e.g. by causing the transceiver circuitry to receive, reception from the second device of configuration information associated with the second device (compare with step 150 of the method 100).
In some embodiments, the controlling circuitry 520 may be further configured to cause determination, e.g. by causing the determination circuitry 521, that the enrollment process is being executed or has been completed e.g. based on the reception of the information from the second device. The controlling circuitry may then be configured to cause the storage (e.g. in a memory not shown in
In some embodiments, the controlling circuitry 520 may further configured to cause the termination of the enrollment application e.g. when it has been determined that the enrollment of the second device has been completed and/or when the first device has performed a configuration of itself based on the deserialized enrollment application comprising enrollment information associated with the first device (compare with step 160 of the method 100).
The arrangement 500 may e.g. be comprised in a wireless communication device. A wireless communication device may e.g. be a mobile phone, smart phone, surf pad, laptop, hand held computer, or similar. The arrangement 500 may also in some embodiments be comprised in an IoT device such as a camera, robot, sensor etc.
The first and second devices may e.g. be the first and second device respectively described in conjunction with any of the
It should be noted that the arrangement 600 may further be combined with or comprise the same or similar features as those described in conjunction with
The arrangement 600 may e.g. be configured to carry out the methods as described in conjunction with any of the
The arrangement 600 may comprise a controlling circuitry (CNTR; e.g. a controller) 620 and a transceiver circuitry (RX/TX; e.g. a transceiver) 610. The transceiver circuitry 610 may in some embodiments be a separate transmitter and a separate receiver and/or comprise multiple antennas.
The controlling circuitry 620 may in some embodiments further comprise a functionality circuitry (FUNC; e.g. a functionality module) 622 and a determination circuitry (DET; e.g. a determiner) 621.
The controlling circuitry 620 may in some embodiments be configured to cause reception, e.g. by causing the transceiver circuitry 610, from the first device, enrollment information associated with the second device (compare with step 210 of the method 200).
In some embodiments, the controlling circuitry 620 may be further configured to cause determination, e.g. by causing the determination circuitry 621, of that the enrollment information is for executing the enrollment process (compare with step 220 of the method 200).
In some embodiments, the controlling circuitry 620 may further be configured to cause execution, e.g. by causing the functionality circuitry 622, of the enrollment process by configuring the second device based on the enrollment information (compare with step 230 of the method 200) and cause transmission of configuration information associated with the second device to the first device, e.g. by causing the transceiver circuitry 610 to transmit to the first device (compare with step 240 of the method 200).
In some embodiments, the controlling circuitry 620 may be further configured to terminate the enrollment application when enrollment/configuration has been completed (compare with step 250 of the method 200).
The arrangement 600 may in some embodiments be comprised in an Internet of Things (IoT) device. Such a device may e.g. be a robot, kitchen appliance, camera, sensor, traffic light, machine etc.
An advantage with the embodiments described herein is that an executable application is encoded e.g. as a QR-code and distributed together with an IoT device. When registering the IoT device, the application is decoded and deployed as a distributed application on the IoT device as well as on another device, e.g. a mobile phone used for enrollment of the IoT device. The embodiments disclosed herein do hence not rely on central server/repository for software.
Furthermore, the embodiments herein allows for straight forward automated registration, configuration and enrollment of devices without requiring access to e.g. the Internet or any other connectivity other than means of communicating with a registration device (such as e.g. Bluetooth, NFC, Wi-Fi, etc.).
Furthermore since the device to be enrolled is not preconfigured with all necessary information for the enrollment, security is enhanced.
The described embodiments and their equivalents may be realized in software or hardware or a combination thereof. They may be performed by general-purpose circuits associated with or integral to a communication device, such as digital signal processors (DSP), central processing units (CPU), co-processor units, field-programmable gate arrays (FPGA) or other programmable hardware, or by specialized circuits such as for example application-specific integrated circuits (ASIC). All such forms are contemplated to be within the scope of this disclosure.
Embodiments may appear within an electronic apparatus (such as a wireless communication device) comprising circuitry/logic or performing methods according to any of the embodiments. The electronic apparatus may, for example, be a portable or handheld mobile radio communication equipment, a mobile radio terminal, a mobile telephone, a base station, a base station controller, a pager, a communicator, an electronic organizer, a smartphone, a computer, a notebook, a USB-stick, a plug-in card, an embedded drive, or a mobile gaming device.
Secure Device Operation Using Transferred Code Modules
To make use of the functions of a device, whether locally or over the network, a user must typically authenticate with that device. Once authenticated, the user is then able to use the device to perform one or more functions.
Authentication is often performed by providing certain credentials recognized by the device. For example, a user may provide a password, or an application may provide a digital key. If the password or key are stolen or forged, the security of the device may be compromised. Once such a device is compromised, any number of its functions may be exploited. In general, the increasing sophistication of malicious users has created a continuing pressure on developers to devise new and better techniques for securing devices.
Embodiments of the present disclosure invoke device functions differently than traditional approaches. As just one example, a smart lock executes a runtime environment that supports an unlocking function. To gain access to the unlocking function, another device (e.g., a user's smart phone) obtains authorization to transfer a code module to the smart lock. The code module is configured to execute within the smart lock's runtime environment and expose the unlocking function to the user's smart phone (e.g., via wireless communication). Once the unlocking function is exposed to the user's device, an application running within the runtime environment on the user's device can invoke the unlocking function via the code module.
According to particular embodiments, such a system is resilient against intrusion. For example, even if the above-discussed smart lock is compromised in some way, without the code module, there may be no way to readily invoke the unlocking function. Additionally or alternatively, malicious software agents downloaded to the user's device may be unable to intercept the credentials exchanged between the smart lock and user device runtime environments. Other advantages will discussed below, or will be apparent to those skilled in the relevant arts, along with other embodiments in which a first device makes use of a second device.
Consistent with the above, particular embodiments include a method, implemented by a first
Embodiments of the present disclosure include a code module that exposes a function of a device to another device. The code module is securely transferred via wireless communication between runtime environments so that the function may be remotely invoked. This transfer may be triggered by the devices coming within proximity of one another. Authorization to transfer the code module is handled between the runtime environments, such that the remote application need not support any particular security scheme used by the devices. The function may be inaccessible via remote invocation without the code module, and the code module may be deleted or returned after the function has been invoked and/or once the devices are no longer in proximity, e.g., to prevent other devices from invoking the function without authorization.
In some embodiments, the devices are part of a distributed Internet-of-Things (IoT) system. An example of such a system may be based on the Calvin application environment. In such a Calvin-based system, applications may be built from functional blocks (sometimes referred to as actors) that execute on runtimes that are tied to devices. According to embodiments, the actors may move between runtimes as needed in order to execute their functionality on particular devices.
The first and second devices 110, 115 execute first and second runtime environments 120, 125, respectively. The first runtime environment 120 of the first device 110 is configured to transfer a code module 140 to the second runtime environment 125 of the second device 115, e.g., by controlling a wireless transmitter of the first device 110. Correspondingly, the second device 115 is configured to transfer the code module 140 from the first runtime environment 120 to the second runtime environment 125, e.g., by actively controlling a wireless receiver of the second device 115, or by passively allowing a memory of the second device 115 to be written to by the first device 110 (e.g., using a circuit that converts RF transmissions from the first device 110 into memory write instructions, such a circuit being powered, in some embodiments, by the RF energy of those transmissions).
The code module 140 is configured to execute within the second runtime environment 125 and expose a function of the second device 115, supported by the second runtime environment 125, to the first device 110. As will be discussed further below, an application 130 executing within the first runtime environment 120 of the first device 110 invokes the function of the second device 115 via the transferred code module 140 and the second runtime environment 125.
Typical examples of the first device 110 include (but are not limited to) a mobile device, such as a smartphone, a user equipment, a laptop computer, a tablet computer, and/or a wearable computer. Typical examples of the second device 115 include (but are not limited to) a computer and/or a smart appliance. Other examples of the first and second devices 110, 115 include other types of computing devices.
The network 105 includes one or more physical devices and/or signaling mediums capable of exchanging communication signals with the first and/or second devices 110, 115. Examples of such a network 105 include (but are not limited to) one or more of: the Internet (or a portion thereof); one or more local area networks; one or more wireless networks; one or more cellular networks; one or more Internet Protocol-based networks; one or more Ethernet networks; one or more optical networks; and/or one or more circuit switched networks. Such a network 105 may comprise any number of networking devices such as routers, gateways, switches, hubs, firewalls, and the like (not shown) supporting the exchange of such communication signals.
The remote device 145 may be any computing device communicatively coupled to the first and/or second device 110, 115 via the network 105. The remote device 145 may, for example, act as a first device 110 except in a different capacity. For example, the remote device 145 may be an administrator workstation that has secure access to the second device 115 via the network 105, e.g., via a physically secured or encrypted network connection to the second device 115. Accordingly, a user of the remote device 145 may be able to invoke the same and/or different functions of the second device 115 by also transferring a code module 140 to the second device and invoking particular functions, e.g., to assist a user of the first device 110. A typical example of the remote device 145 includes (but is not limited to) a workstation, personal computer, laptop computer, and/or tablet computer.
Consistent with the general discussion of
According to the example illustrated in
In response to detecting each other, the mobile and smart lock runtime environments 220, 225 participate in an authentication procedure (step 252). This authentication procedure may include the exchange of one or more credentials by which the smart lock runtime environment 225 may determine whether or not the mobile device 210 is permitted to use certain protected functions of the smart lock 215 (e.g., the unlock function). In particular, by performance of this authentication procedure may establish a trust relationship between the mobile and smart lock runtime environments 220, 225.
After successful authentication, the mobile runtime environment 220 transfers a code module 140 to the smart lock runtime environment 225 (step 254). The code module 140 is configured to execute within the smart lock runtime environment 225 and expose the unlock function of the smart lock 215 to the mobile device 210.
The lock control software 230 then invokes the unlock function of the smart lock 215 via the transferred code module 140, e.g., using an appropriate function call to an Application Programming Interface (API) of the code module 140, as represented in
The code module 140 executes within the smart lock runtime environment 225 to handle the “module.unlock( )” function call by correspondingly invoking an API supported by the smart lock runtime environment, represented in
After the unlocking has been performed, the smart lock runtime environment 225 detects that one or more criteria for deleting the code module 140 have been satisfied (step 266). In this particular example, the code module 140 is not permitted to remain loaded on the smart lock 215 indefinitely. Accordingly, the smart lock runtime environment has one or more criteria for determining when the code module 140 is to be deleted. The criteria for deleting the code module 140 may include whether or not the mobile device 210 can be detected and/or whether or not a threshold period of time has passed since the code module 140 was transferred.
For example, while the code module 140 exists on the smart lock 215, the smart lock 215 may be vulnerable to some other device (not shown) invoking protected functions of the smart lock 215 via the code module 140, e.g., without authenticating and/or by spoofing characteristics of the mobile device 210. Accordingly, after a threshold period of time has passed since the code module 140 was transferred and/or if the mobile device 210 is no longer in proximity to the smart lock 215, the smart lock runtime environment 225 may determine that the code module 140 should be deleted. In particular, the smart lock runtime environment 225 may determine that the mobile device 210 has left the area around the smart lock 215 by failing to detect certain RF energy from the mobile device 210.
Having detected that certain module deletion criteria has been met, the smart lock runtime environment 225 deletes the code module 140 (step 268). In some embodiments, the smart lock runtime environment 225 also transfers the code module 140 back to the mobile device 210 (e.g., to the mobile runtime environment 220). Thus, in some embodiments, the code module 140 may act as a token that limits how the lock control software 230 is used. That is, while the code module 140 is transferred to the smart lock 215, the lock control software 230 may be prevented from sending a module.unlock( ) command to a different device, for example.
In some embodiments, the smart lock runtime environment 225 supports other functions that do not require the code module 140. Such functions may, for example, be public and/or read only functions that may be invoked without the need for authorization. Accordingly, in some embodiments, the mobile runtime environment 220 and/or the lock control software 230 may invoke functions of the smart lock 215 by communicating directly with the smart lock runtime environment 225. In the example of
For example, a user of the mobile device 210 may encounter difficulty in attempting to unlock the smart lock 215. In such a scenario, the user may use the lock control software 230 to obtain information on how to contact an administrator who can use a remote device 145 to transfer a code module 140 to the smart lock runtime environment 225 and unlock the smart lock 215 themselves, or enable the user of the mobile device 210 to do it using their lock control software 230. One example of such an administrator may be a hotel manager, who can help guests having trouble using the system enter their rooms remotely, though there are myriad embodiments that may include other devices, contexts, and/or user roles.
It should further be noted that although the actions performed in steps 254, 256, 258, 262, and 264, and 268 are illustrated as being unidirectional actions, one or more of these steps may trigger a corresponding response in which a value is returned, e.g., to indicate a result of the illustrated action. For example, the smart lock runtime environment 225 may respond to the runtime.unlock( ) function call with a zero or non-zero value based respectively on whether or not the smart lock has successfully unlocked.
Consistent with the above, embodiments of the present disclosure include a method 300 of using a second device 115 implemented by a first device 110, such as the method 300 illustrated in
Other embodiments include a method 400 of providing a first device 110 with access to a function of the second device 115 implemented by the second device 115, as shown in
Combination of Device Enrollment and Secure Device Operation Using Transferred Code Modules
Once more, as indicated above, the various techniques described herein may be combined with each other, to provide advantages with reliability, security, etc. For example, one particular combination that is advantageous is the combination of the techniques described above for device enrollment in an IoT environment and secure device operation using transferred modules.
Thus, for example, the method illustrated in
This example still further comprises, as shown at block 310 of
The second device may be an Internet of Things (IoT) device, in some embodiments, and the first device may be a wireless communication device. The representation of the enrollment function may be one or more of a QR-code, a bar code and a RF-ID chip, for example. The enrollment information associated with the second device may comprise at least one of public encryption keys, software systems, capabilities, steps pertaining to the enrollment process and functions of the IoT-environment, in some embodiments. The enrollment information may comprise information associated with one or more of geographical location, organizational location, ownership, encryption keys, communication parameters, communication keys and identity, in some embodiments.
In some embodiments, the enrollment function comprises at least two serialized enrollment applications, and the method further comprises deserializing the at least two serialized enrollment applications into at least one enrollment application comprising enrollment information associated with the first device and at least one enrollment application comprising enrollment information associated with the second device, and transmitting the at least one enrollment application associated with the second device to the second device.
In some embodiments, the method further comprises determining that the second device has successfully enrolled and terminating the at least one enrollment application on the first device.
In some embodiments, the method further comprises authenticating the first runtime environment with the second runtime environment to obtain authorization to transfer the code module to the second runtime environment for execution within the second runtime environment, and/or communicating directly with the second runtime environment to invoke a different function of the second device.
In some embodiments, the transfer of the code module to the second runtime environment is performed over a wireless point-to-point connection between the first device and the second device. The second device may be an electronic lock, for example, where the function supported by the second runtime environment locks or unlocks the electronic lock.
Similarly, the method shown in
In some embodiments, the method further comprises determining that the enrollment is successful and deleting the enrollment information from the second device. In some embodiments, the enrollment information associated with the second device comprises at least one of public encryption keys, software systems, capabilities, steps pertaining to the enrollment process and functions of the IoT-environment.
In some embodiments, the method further comprises authenticating the first runtime environment with the second runtime environment to authorize the transferring of the code module to the second runtime environment for execution within the second runtime environment. In some embodiments, the method further comprises using the second runtime environment to control performance of a different function of the second device responsive to a direct communication from the first device to the second runtime environment.
The transferring of the code module from the first runtime environment may be performed over a wireless point-to-point connection between the first device and the second device, in some embodiments. The second device may be an electronic lock, for example, where the function supported by the first runtime environment locks or unlocks the electronic lock.
Querying Federated Databases in Conformance with Jurisdictional Privacy Restrictions
Companies and organizations in many business sectors such as healthcare, e-commerce, government, and retail are entrusted with identifiable information (e.g., personal information, private information, confidential information, or the like) that makes preserving the privacy of this information of utmost concern to these entities. Most often, these entities specify and define how the privacy of this information is to be preserved.
The authors of a white paper entitled “Hippocratic Database: A Privacy-Aware Database” proposed a database architecture that uses metadata consisting of privacy policies and privacy authorizations stored in a respective privacy-policies table and privacy authorization table. N. Ghani, Z. Sidek, Hippocratic Database: A Privacy-Aware Database, Intl J. Computer Info. Engineering, vol. 2, No. 6 (2008). The authors describe a framework in which the database performs privacy checking during query processing. For instance, the database checks whether the user who issued the query is authorized to access the database. It also checks whether the query accessed only attributes that are explicitly listed in the privacy-authorization table. Also, the database only allows access to information in the database whose purpose attribute includes the purpose of the query. Accordingly, only users that are authorized for an intended purpose can access information in the database. However, this privacy-aware database does not consider privacy restrictions of the jurisdiction that it is located. Further, this database does not protect identifiable information that can be inferred from responses to a query from multiple databases.
A federated database system is a meta-database management system that maps constituent databases into a single federated database. As such, a federated database is a virtual database this is a composite of the constituent databases that it represents. The federated database system is perceived to be one database system by sending a query to each constituent database and then combining the responses to the query received from each constituent database. Further, each constituent database may be an autonomous database with the ability to independently communicate with other databases, execute and control its operations, or associate (or dissociate) itself with other databases. However, current federated database systems do not consider privacy restrictions of the jurisdiction(s) that it represents and do not protect identifiable information that can be inferred from responses to a query from multiple databases in the same or different jurisdiction.
As previously discussed, current privacy-aware databases and federated database systems do not consider privacy restrictions of the jurisdiction(s) that they represent. However, database users typically want to combine responses to a query from databases in the same or different jurisdictions. By doing so, identifiable information contained in or inferred by the responses may not be protected in conformance with the privacy laws of the jurisdiction of each accessed database. In one example, a query related to counting the number of persons that have an income in a specific range and a certain range of education from two different databases requires combining the responses to the query based on the personal identifiable information (e.g., name, social security number, address, or the like), which may violate the privacy restrictions in the jurisdiction of each database. In another example, a query related to a list of persons (e.g., user identifier) in a first database and a log of visited webpages indexed by visitors (e.g., user identifier) may not be combined in violation of the privacy restrictions of the jurisdiction of each database (e.g., a EU citizen whose surfing habits are stored in a US database). In yet another example, a query related to linking like expectancy to food habits may be able to combine a first response from a database with grocery shopping receipts from grocery store chains, a second response from a database with restaurant receipts from credit card companies, and a third response from a database with life duration from government tax offices based on the identifiable information in the responses in violation of the privacy restrictions of the jurisdiction of each database.
Accordingly, there is a need for improved techniques for querying a federated database in conformance with jurisdictional privacy restrictions. In addition, other desirable features and characteristics of the present disclosure will become apparent from the subsequent detailed description and embodiments, taken in conjunction with the accompanying figures and the foregoing technical field and background.
This disclosure includes describing systems and methods of querying a federated database in conformance with jurisdictional privacy restrictions. Further, this disclosure describes novel techniques of composing or combining responses to a query received from databases located in the same or different jurisdictions while honoring the integrity of personal data stored in these databases. For example,
In
The client node 101 may be user equipment, a mobile station (MS), a terminal, a cellular phone, a cellular handset, a personal digital assistant (PDA), a smartphone, a wireless phone, an organizer, a handheld computer, a desktop computer, a laptop computer, a tablet computer, a set-top box, a television, an appliance, a game device, a medical device, a display device, a metering device, or the like. Each network node 121, 141 may be a computer-implemented node that is a communication redistribution point or a communication endpoint in a network such as a computer server, a base station, a core network node, a handheld computer, a desktop computer, a laptop computer, a tablet computer, a set-top box, a television, an appliance, a medical device, or some other like terminology.
The identifiable information may be any information that is associated with a particular person, place, or thing. Further, the identifiable information may include personal information associated with a person, business, organization, government entity, or the like. The identifiable information may also include secret or confidential information. Confidential information includes information that is shared with the expectation that it will not be disclosed to unauthorized third parties. A jurisdiction may represent the authority granted to a particular body to administer certain privacy restrictions within a defined field of responsibility (e.g., U.S. federal law, Michigan tax law, Internal Review Service, Environmental Protection Agency, and the like). Further, a jurisdiction may be associated with a particular territory such as a federation (e.g., EU), country, state, province, city, county, municipality, township, and the like). The privacy restrictions are associated with the laws, rules, or regulations of a jurisdiction. For instance, the privacy restrictions may restrict or limit the ability to share personal information such as a name, address, phone number, financial record, medical record, location, personal attribute, or the like.
In
In this embodiment, the autonomous network node 241a receives the query and salt and obtains a response to the query from the first autonomous database, as represented by block 243a. The autonomous network node 241a then anonymizes the identifiable information of the response based on the salt, as represented by block 245a. In one example, the identifiable information and the salt are processed with a cryptographic hash function to obtain the anonymized information. The autonomous network node 241a sends the response having the anonymized information to the federated network node 221, as represented by reference 265a. The federated network node 221 composes an adapted response to the query based on the response and its anonymized information, as represented by block 227. In addition, the federated network node 221 sends the adapted response to the client node 201, as represented by reference 271.
In another embodiment, the federated network node 221 sends the same query and salt to each autonomous network node 241a, 241b, as represented by references 263a, 263b. The autonomous network nodes 241a, 241b may be in the same jurisdiction or in different jurisdictions. Each autonomous network node 241a, 241b receives the query and salt and obtains a corresponding response to the query via its autonomous database. Further, each autonomous network node 241a, 241b anonymizes the identifiable information of the corresponding response based on the salt. Each autonomous network node 241a, 241b sends the corresponding response having the anonymized information to the federated network node 221, as represented by respective reference 265a, 265b. The federated network node 221 then combines the responses to the queries from the first and second autonomous databases based on the anonymized information received in each response.
Note that the apparatuses described above may perform the methods herein and any other processing by implementing any functional means, modules, units, or circuitry. In one embodiment, for example, the apparatuses comprise respective circuits or circuitry configured to perform the steps shown in the method figures. The circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and/or one or more microprocessors in conjunction with memory. For instance, the circuitry may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory may include program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In embodiments that employ memory, the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein.
In another embodiment, these functional means, units, modules, or circuits may include for instance: the obtaining unit 413 for obtaining a query that is related to identifiable information stored in at least one autonomous database or that is determinable from a combination of responses to the query received from at least two autonomous or sub-federated databases; a salt determining unit 419 for determining a randomized salt for the query; a sending unit 421 for sending, to each autonomous or sub-federated database, the adapted query for that database; a receiving unit 411 for receiving, from each autonomous or sub-federated database, a response to the corresponding adapted query; and a combining unit 425 for combining the responses to the adapted query from the autonomous or sub-federated databases based on the anonymized information received in each response.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, an identifying unit 417 for identifying one or more data fields of the query that correspond to the identifiable information based on one or more privacy restrictions 431 for the jurisdiction of that database.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, the receiving unit 411 for receiving, from each autonomous or sub-federated database, an authorization key 433 from that database that authorizes the federated database to query that database in conformance with one or more privacy restrictions 431 for the jurisdiction of that database.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, the receiving unit 411 for receiving, from each autonomous or sub-federated database, one or more privacy restrictions 431 for a corresponding jurisdiction of that database.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, the sending unit 421 for sending, to a client device, the adapted response.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, a deleting unit 427 for deleting the salt for the query responsive to combining the responses so that an ability to determine the identifiable information from the anonymized information only occurs between receiving the anonymized information from each autonomous or sub-federated database and deleting the salt.
In another embodiment, these functional means, units, modules, or circuits may include, for instance, a restriction obtaining unit 431 for obtaining one or more privacy restrictions for a jurisdiction.
In
In another embodiment, these functional means, units, modules, or circuits may include for instance: a key obtaining unit 721 for obtaining an authorization key 733 that authorizes the federated or sub-federated database to query the autonomous database 735 in conformance with the one or more privacy restrictions for the jurisdiction; the sending unit 717 for sending, to the federated or sub-federated database, the authorization key 733; the receiving unit 711 for receiving, from the federated or sub-federated database, a query, a randomized salt for the query and a key; an authorization determining unit 719 for determining whether the federated or sub-federated database is authorized to query the autonomous database 735 based on the received key and the authorization key 733.
In another embodiment, these functional means, units, modules, or circuits may include for instance: a restriction obtaining unit 723 for obtaining one or more privacy restrictions 731 for the jurisdiction of the autonomous database 735; and the sending unit 717 for sending, to the federated or sub-federated database, the one or more privacy restrictions 731 for the jurisdiction.
In
In
In another embodiment, the federated network node 901 sends the query and optional key to the autonomous network nodes 941a, 941b. The autonomous network nodes 941a, 941b may be located in the same jurisdiction or different jurisdictions. Each autonomous network node 941a, 941b receives the query and optional key and may determine whether the query is authorized based on the received key and an authorization key stored in that autonomous network node 941a, 941b. Each autonomous network node 941a, 941b obtains a response to the query from its autonomous database and sends the response to the federated network node 901. The federated network node 901 receives each response and combines the responses to the query, as represented by respective blocks 905, 909. The federated network node 901 may then send the combined response such as to a client device, as represented by block 909.
In
Furthermore, the sub-federated network node 1021 receives the response and composes a response based on the received response (or combines received responses if from more than one network node having an autonomous database), as represented by block 1029. The sub-federated network node 1021 may perform other functions that are allowed by the jurisdiction such as updating another database, applying a relational database model (e.g., ML model), sending an indication (e.g., text message, e-mail), or the like, as represented by block 1031. The sub-federated network node 1021 sends the response to the federated network node 1001, as represented by block 1033. The federated network node 1001 receives the response 1063 and then composes a response based on the received response 1063 (or combines received responses if from more than one network node having an autonomous database). The federated network node 1001 may send the composed response (or the combined response).
In
In another embodiment, the federated network node 1101 sends the query, the randomized salt, and the optional key to the autonomous network nodes 1141a, 1141b. The autonomous network nodes 1141a, 1141b may be located in the same jurisdiction or different jurisdictions. Each autonomous network node 1141a, 1141b receives the query, the randomized salt, and the optional key and may determine whether the query is authorized based on the received key and the authorization key stored in that autonomous network node 1141a, 1141b. Each autonomous network node 1141a, 1141b obtains the response to the query from its autonomous database. Further, each autonomous network node 1141a, 1141b anonymizes the identifiable information in its response based on the received salt. Each autonomous network node 1141a, 1141b then sends the response having the anonymized information to the federated network node 1101. The federated network node 1101 receives each response and combines the responses to the query based on the anonymized information, as represented by respective blocks 1105, 1107. The federated network node 1101 may then send the combined response such as to a client device, as represented by block 1109.
In one embodiment, the federated database 1201 represents a first sub-federated database 1211 having one or more first autonomous databases 1215-1217 that are located in a first jurisdiction 1213 with one or more first privacy restrictions.
Additionally or alternatively, the federated database 1201 represents a second sub-federated database 1223 having one or more second autonomous databases 1225-1227 that are located in a second jurisdiction 1223 with one or more second privacy restrictions.
In another embodiment, the federated database 1201 represents a single autonomous database 1215 that is located in a certain jurisdiction 1213 with one or more privacy restrictions.
In another embodiment, the federated database 1201 represents a plurality of autonomous databases 1215-1217 that are located in a same jurisdiction 1213 with one or more privacy restrictions.
In another embodiment, the federated database 1201 represents a plurality of autonomous databases 1215-1217, 1225-1227 that are located in different jurisdictions 1213, 1223 with one or more different privacy restrictions.
In
In
In this embodiment, the RAM 1317 may be configured to interface via the bus 1303 to the processor 1301 to provide storage or caching of data or computer instructions during the execution of software programs such as the operating system, application programs, and device drivers. The ROM 1319 may be configured to provide computer instructions or data to the processor 1301. For example, the ROM 1319 may be configured to be invariant low-level system code or data for basic system functions such as basic input and output (I/O), startup, or reception of keystrokes from a keyboard that are stored in a non-volatile memory. The storage medium 1331 may be configured to include memory such as RAM, ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, floppy disks, hard disks, removable cartridges, flash drives. In one example, the storage medium 1331 may be configured to include an operating system 1333, an application program 1335 such as a web browser application, a widget or gadget engine or another application, and a data file 1337.
In
In another example, the communication subsystem 1351 may be configured to include one or more transceivers used to communicate with one or more remote transceivers of another network node or client device according to one or more communication protocols known in the art or that may be developed, such as IEEE 802.xx, CDMA, WCDMA, GSM, LTE, NR, NB IoT, UTRAN, WiMax, or the like. Each transceiver may include a transmitter 1353 or a receiver 1355 to implement transmitter or receiver functionality, respectively, appropriate to the RAN links (e.g., frequency allocations and the like). Further, the transmitter 1353 and the receiver 1355 of each transceiver may share circuit components, software, or firmware, or alternatively may be implemented separately.
In the current embodiment, the communication functions of the communication subsystem 1351 may include 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. For example, the communication subsystem 1351 may include cellular communication, Wi-Fi communication, Bluetooth communication, and GPS communication. The network 1343b may encompass wired and wireless communication networks such as a local-area network (LAN), a wide-area network (WAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof. For example, the network 1343b may be a cellular network, a Wi-Fi network, and a near-field network. The power source 1313 may be configured to provide an alternating current (AC) or direct current (DC) power to components of the network node 1300.
In
The functionality of the methods described herein may be implemented in one of the components of the network node 1300 or partitioned across multiple components of the network node 1300. Further, the functionality of the methods described herein may be implemented in any combination of hardware, software or firmware. In one example, the communication subsystem 1351 may be configured to include any of the components described herein. Further, the processor 1301 may be configured to communicate with any of such components over the bus 1303. In another example, any of such components may be represented by program instructions stored in memory that when executed by the processor 1301 performs the corresponding functions described herein. In another example, the functionality of any of such components may be partitioned between the processor 1301 and the communication subsystem 1351. In another example, the non-computative-intensive functions of any of such components may be implemented in software or firmware and the computative-intensive functions may be implemented in hardware.
Those skilled in the art will also appreciate that embodiments herein further include corresponding computer programs. A computer program comprises instructions which, when executed on at least one processor of an apparatus, cause the apparatus to carry out any of the respective processing described above. A computer program in this regard may comprise one or more code modules corresponding to the means or units described above. Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
In this regard, embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of an apparatus, cause the apparatus to perform as described above. Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device. This computer program product may be stored on a computer readable recording medium.
Additional embodiments will now be described. At least some of these embodiments may be described as applicable in certain contexts and/or wireless network types for illustrative purposes, but the embodiments are similarly applicable in other contexts and/or wireless network types not explicitly described.
As previously mentioned, current federated, sub-federated, and autonomous databases do not consider jurisdictional laws when performing queries. Accordingly, this disclosure describes embodiments to this problem, including using different methods of performing statistical queries for when data needs to be combined based on personal identifiable information between database systems within or between jurisdictions.
In one exemplary embodiment, queries are sent to a modified federated database system that adapts the queries and responses based on formalized jurisdictional regulations, including any other adaption needed to combine the database systems. The autonomous databases annotate the data with the type of information it contains such as with tags like “identifying information,” “sensitive information,” “general information,” “export restriction to jurisdiction X,” “only non-commercial use,” “reduced resolution may be exported” (e.g., location, images, numbers like income), and the like. These tags formalize the processing/transactions by the federated or sub-federated databases for the associated data. Accordingly, the federated or sub-federated database receives these tags from the autonomous databases to inform the federated or sub-federated database how to adapt the queries.
In another embodiment, for queries that require statistical operations within a database system having a federated or sub-federated database that represents one more autonomous databases that are located in the same or different jurisdictions and each identifying information is in one of the autonomous databases, the federated or sub-federated database sends the query to each autonomous database. Further, the federated or sub-federated database receives the results from each autonomous database and then combines the results based on one or more statistical operations. For instance, for a query associated with counting visits to a web-page based on data from several autonomous databases (e.g., with a log of identity, time, and web page), the federated or sub-federated database performs the counting in each response to the query and then combine the counts. These statistical operations may be associated with median, average, sum, advanced filtering utilizing several databases, or the like. Further, these statistical operations may be associated with vectors, tables, columns, or the like.
In another embodiment, for a query that receives responses from different jurisdictions, including from a jurisdiction that requires combining responses from autonomous databases in that jurisdiction and that allow such combining, a database hierarchy may be used comprising of a federated database having one or more sub-federated databases in different jurisdictions, with each sub-federated database representing one or more autonomous databases in the same jurisdiction. For example, this hierarchy may be used to count visits to a web-page from persons in different jurisdictions (e.g., different rural areas). Further, each sub-federated database combines the responses to the query received from each autonomous database that is in the same jurisdiction. The federated database then combines the responses from each sub-federated database.
In another embodiment, the federated database sends the query to each sub-federated database. Each sub-federated database divides the query to extract any identifying information. For instance, for a query associated with counting visits to a webpage from rural addresses based on data from a sub-federated database that represents a first autonomous database with webpage visits, a log of the identity of each webpage visitor and the time of each webpage visit, and a second autonomous database, in the same jurisdiction as the first autonomous database, with the identity of each webpage visitor, the address of each webpage visitor, and an indication of whether each address is a rural address, the sub-federated database will divide the query to extract the identifying information from each count that has visited the webpage. As such, the sub-federated database sends the divided query to the second database and receives the identities of the rural addresses. Further, the sub-federated database adds the individual counts from the rural addresses into a sub-total count, which is sent to the federated database. The federated database adds the sub-total counts from each sub-federated database to obtain a total count.
Additionally or alternatively, for a federated database that combines responses from autonomous or sub-federated databases in different jurisdictions, the autonomous or sub-federated databases may anonymize the responses to queries before the federated database combines the responses. A one-way cryptographic hash function that uses a random salt may be utilized, with a new salt used for each query to generate the anonymized information. Further, any and all records of the salt may be destroyed at the completion of processing each query (one query may contain e.g. several SQL statements, not limited to only one statement) by the federated or sub-federated database. Accordingly, only during the processing of the query is it possible to derive the identifiable information from the anonymized information. Further, given the computationally complexity of deriving the identifiable information from the anonymized information, it is unlikely that the identifiable information could be derived during this brief query processing duration.
Furthermore, the federated database creates the random salt and sends it with each query or sub-query to the autonomous or sub-federated database. Further, the database hierarchy of federated, sub-federated, and autonomous databases uses the same one-way cryptographic hash function with the salt to anonymize the identifiable information that is sent with each response. Hence, the federated database receives responses from the autonomous or sub-federated databases that have the same anonymized information that corresponds to the same identifiable information, allowing, for instance, counting visits to a webpage for each rural address based on the anonymized information for that rural address.
In one example, a query related to counting the number of visits to a webpage that result in buying from that webpage is processed by a federated database. The federated database represents a first autonomous database with webpage visit logs, with the first database being in a jurisdiction where the identifying information is not allowed to be exported from that jurisdiction. Further, a second autonomous database has credit card information, with the second database being in a different jurisdiction from the first database, and the identifiable information is not allowed to be exported from that jurisdiction. Also, the first and second databases contain the same identifiable information. The federated database generates a randomized salt for a first query and sends the first query and the randomized salt to the first database. The first database receives the first query and salt, obtains a response to the first query associated with the webpage visit logs, anonymizes the identifiable information (e.g., visitor's name) of the response based on the randomized salt and a one-way cryptographic hash function, and sends the response with the anonymized information to the federated database.
In addition, the federated database sends a second query and the randomized salt to the second database. The second database receives the second query and salt, obtains a response to the query associated with the credit card information, anonymizes the identifiable information (e.g., credit card owner) of the response based on the randomized salt and a one-way cryptographic hash function, and sends the response with the anonymized information to the federated database. The federated database combines the received responses based on the anonymized information.
The one-way cryptographic hash function may be applied to data categories other than identifiable information, which may also be combined by the federated database. Further, this combining process may be applied to category-based data. For instance, category-based data may include medical diagnosis data, reduced-resolution location, city, or the like. In addition, the federated database system may cluster or combine the category-based data so that the particular diagnosis or city cannot be identified from the cluster or combination.
In another embodiment, homomorphic encryption schemes may be used for other one-way functions for sensitive scalar information. This allows responses with this sensitive encrypted scalar information to be compared (e.g., greater than, less than, equivalent to, and the like) by the federated database. This requires the autonomous databases to use the same homomorphic encryption schemes and keys. A randomized salt may be provided by the federated database system to the autonomous or sub-federated databases in the same manner as previously described.
A query should be understood to include a structured query language (SQL) query, non-SQL (NOSQL) query, graph database query, relational database query, analytic query (e.g., Spark or Hadoop), machine learning query, deep learning query, web-based front-end to information query, and the like.
The annotation could be done manually or automatically based on the actual data. One example of the latter is a name or an address may automatically be recognized as identifying information, medical records or location information could be identified as sensitive information, images that show faces could be annotated only non-commercial use, etc.
Interworking Between Wireless and Wired Communication Networks
As discussed above, an ongoing research challenge is the inter-working of 5G and TSN. Both technologies define own methods for network management and configuration and different mechanisms to achieve communication determinism that must somehow be arranged to enable end-to-end deterministic networking for industrial networks.
One way of 5G-TSN interworking is to let the 5G system act as a TSN bridge. The 5G network needs to offer some control interfaces towards the TSN network depending upon the TSN configuration model chosen as explained above. In the central configuration model, the central control entities CUC/CNC might occur on both sides of the 5G network. Furthermore, TSN networks of various topologies could be deployed on both sides in contrast to
In 3GPP TS 23.501 section 5.6.10.2, the support of Protocol Data Unit (PDU) sessions of type Ethernet in a 5G network is explained. On the N6 interface between PDU Session Anchor (PSA) UPF and a Data Network (DN), two potential options are explained for PDU sessions of type Ethernet. At first it is possible to have a one-to-one mapping between an N6 interface and a PDU session and as a second option a mapping based on MAC addresses of multiple PDU sessions to a N6 interface. The solution explained herein can be applied to any configuration option.
There are no methods available to allow a connection of devices using 5G, supporting no or just a limited set of TSN-features to a TSN network over a 5G network.
Any traffic bridged to a TSN network without being registered (as explained above) in the TSN domain as a TSN stream will be handled as best-effort traffic without guarantees on quality-of-service (QoS). This way, end-to-end QoS may not be guaranteed.
Therefore it is an object of embodiments herein to provide a method for enabling end-to-end connectivity with guaranteed QoS between a wireless communication network, e.g. a 5G network and a wired communication network, e.g. a TSN network.
According to embodiments herein, a solution defines a function in the 5G user plane, that handles certain TSN features for devices being connected over 5G to a TSN network. The solution therefore allows an interworking between the 5G and TSN network with end-to-end guaranteed QoS. This function may be called a Virtual Endpoint (VEP). The VEP may be realized as virtual listener and/or virtual talker depending upon the role of a 5G device, for example a UE or an application running on top respectively.
The VEP may be used in any TSN configuration mode, so either distributed, centralized or fully centralized, as introduced above.
In the case of distributed TSN configuration model, the VEP may directly communicate to the nearest switch in the TSN network. In the fully centralized model it may be a reference point to CUC.
Multiple VEP instances may be implemented in the 5G network. In TSN, one endpoint is able to communicate using multiple TSN streams. A VEP from an TSN perspective is a single endpoint. In the most common scenario, a VEP also corresponds to one 5G device with one PDU session in the 5G network. Traffic from one TSN stream will be mapped at the VEP to one QoS Flow and vice-versa. Traffic from multiple TSN streams will be mapped to multiple QoS Flows within the same PDU session.
Multiple benefits may be achieved by introducing the Virtual Endpoint (VEP) function in the 5G user plane:
According to embodiments herein, a solution to connect 5G endpoints to a TSN network is to introduce a new 5G user plane feature. The new 5G user plane feature enables end-to-end QoS-guaranteed connectivity in a network comprising of a 5G and a TSN part. The function or feature introduced may be called Virtual Endpoint (VEP).
A generic example where an VEP may be used from the industrial domain is given in
The VEP is implemented in the 5G user plane close to or as part of the User Plane Function (UPF). It is responsible to map QoS in the 5G network and in the TSN network and is involved in the configuration.
A VEP may be used for PDU sessions of Type Ethernet or IP. In the most common scenario a VEP may be used to map traffic from one QoS Flow to one TSN stream and vice versa. Nevertheless, it may also be possible to map traffic between one or more TSN streams and one or more QoS Flows using one VEP instance. This means using one VEP instance for one PDU session. In addition, it may also be possible to combine traffic from multiple PDU sessions in a single VEP.
Multiple VEP instances may be used within one UPF. If one VEP instance is used for one PDU session then multiple TSN streams may be connected to that VEP and for example one-to-one mapped to multiple QoS Flows within the PDU session as explained above.
The main functionalities of a VEP are:
A VEP maps one or more TSN streams to one or more PDU sessions or QoS Flows as explained above. It therefore maintains a mapping table internally. For mapping purposes, the VEP may use the TSN stream ID or PDU session ID or QoS Flow IDs (QFIs) respectively. In case of one-to-one mapping of e.g. one QoS Flow to one TSN stream this mapping is of course much simpler.
In case a PDU session of type IP is used, the VEP will use a Medium Access Control (MAC) address from a local MAC address pool or from another source, like e.g. a manually assigned MAC address. Ethernet forwarding of the IP packets from an IP PDU session is then possible to an external Ethernet DN network. This MAC address will be advertised towards the DN and also populated towards the TSN control instances.
For mapping purposes, it is further necessary that the VEP may also support various TSN features like 802.1AS, 802.1Qbv, 802.1Qcc etc.
To be able to create or modify PDU sessions, the VEP may need to interface the SMF in the 5G network. This interfacing may be done using the existing N4 interface if a VEP is implemented as part of the UPF. Furthermore, below are the two embodiment methods, describing the sequence of the communication between a VEP and the 5G endpoint acting as Talker i.e. transmitter of data, or Listener, i.e. receiver of data.
Procedure if 5G endpoint is a talker:
According to one embodiment, when estimating the required QoS for the TSN stream in step 3), the VEP considers the internal communication performance parameters within the 5G network, i.e. between the VEP and the end-device. e.g. one way or round-trip latency, packet error rate or reliability indicator, etc. When the VEP communicates QoS requirements to the TSN network, it considers those internal performance parameters, since the TSN network “thinks” that the VEP and the endpoint are the same. Therefore, when it comes for example to a required end-to-end latency value to be communicated to the TSN network, instead of indicating the real requirement of X ms, a harder requirement of X ms-(VEP to end-device delay) is indicated. To find out the internal communication performance parameters, communication protocols within the 5G network may be used, such as:
Procedure if 5G endpoint is a listener:
According to an embodiment, in step 3), in order to be able to decide whether the QoS of the TSN stream can be fulfilled, the VEP considers measurements or estimates of the 5G internal communication performance between the VEP and the end-device. Those measurements may be obtained as described above for step 3) for the talker procedure.
Specific features a VEP may support are for-example time synchronization to an external grandmaster clock as explained in IEEE 802.1AS-rev to support for example time-aware scheduling as defined in IEEE 802.1Qbv. The VEP will be involved in the setup of a time-aware TSN communication and forward packets to/from a 5G endpoint that is not time-aware accordingly.
In the future it is envisioned that 5G network will interwork with TSN enabling industrial use case. In such situation, implementing complex TSN features on UE side will become a cumbersome task. The embodiments herein proposes a new feature to the 5G user plane called Virtual Endpoint (VEP) which enables interworking of TSN and 5G network. It further allows also connection of non-TSN devices and also non-Ethernet devices to a TSN network using 5G.
Example Embodiments of methods for enabling end-to-end connectivity between a wireless communication network, e.g. 5G and a wired communication network, e.g. TSN network, will be described in the following.
A method in a communication network for enabling end-to-end connectivity between a wireless communication network, e.g. 5G and a wired communication network, e.g. TSN network. The method comprising:
According to some embodiments, the VEP may be implemented in the 5G network user plane close to or as a part of User Plane Function, UPF.
According to some embodiments, mapping data traffic between a device in the wireless communication network and a device in the wired communication network based on QoS may comprise establishing or modifying TSN streams or Protocol Data Unit, PDU sessions or QoS Flows and translating different QoS domains correspondingly.
A method performed in a Virtual Endpoint, VEP implemented in a wireless communication network for enabling end-to-end connectivity to a wired communication network. The method comprising:
The wireless communication network may be a 5th generation, 5G, network and the wired communication network may be a Time Sensitive Networking, TSN, network. The communication session is a Protocol Data Unit, PDU, session, the data stream is a TSN stream.
A method performed in a Virtual Endpoint, VEP implemented in a wireless communication network for enabling end-to-end connectivity to a wired communication network. The endpoint or device in the wireless communication network is a talker, the method comprising:
The wireless communication network may be a 5th generation, 5G, network and the wired communication network may be a Time Sensitive Networking, TSN, network. The communication session may be a Protocol Data Unit, PDU, session, the data stream is may be a TSN stream.
According to some embodiments herein, establishing a data stream based on the required QoS comprising mapping to an existing data stream or initiating a data stream setup in the wired communication network.
According to some embodiments herein, estimating a required QoS may be performed by one or a combination of:
A method performed in a Virtual Endpoint, VEP implemented in a wireless communication network for enabling end-to-end connectivity to a wired communication network. The endpoint or device in the wireless communication network is a listener, the method comprises:
According to some embodiments herein, establishing a communication session based on the QoS of the data stream comprising establishing a new communication session or using an existing communication session or modify an existing communication session to meet the QoS of the data stream.
Performing Operations Based on Distributed Stored Data
In data storage, data is often replicated to several nodes, e.g., to obtain swift data availability and/or prevent data corruption/loss. Thus, several representations of the same data may be kept in different storage entities. For example, in cloud-based systems and in edge compute systems, storage is often distributed over several nodes (e.g., computers, servers, storage units, etc.) and over several tiers of performance (e.g., cache, dynamic random-access memory-DRAM, flash disk, spinning disk, etc.).
Performing a set of operations based on data stored as several representations kept in different storage entities may be time consuming, and the latency until a result of performing the operations is provided may be unacceptably high in some situations.
Therefore, there is a need for alternative approaches for performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities. Preferably, such approaches provide a reduction of the latency from sending of a data query until a result of performing the set of operations is provided.
It is an object of some embodiments to solve or mitigate, alleviate, or eliminate at least some of the above or other disadvantages.
A first aspect is a method of a controller for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The method comprises (for each of two or more storage entities of the plurality of storage entities) sending—to the storage entity—a respective query relating to the data, and receiving—from the storage entity—a response comprising the representation of the data kept in the storage entity.
The method also comprises (for each of at least two of the two or more storage entities) initiating an activity of performing the set of operations based on the representation of the data comprised in the response.
Furthermore, the method comprises determining (based on the representations of the data comprised in the responses) one of the initiated activities—a conclusive activity—as being based on a conclusive representation of the data, and causing provision of a result of the conclusive activity as result for performing the set of operations based on the data.
In some embodiments, activities of performing the set of operations are initiated only for storage entities for which the representation of the data comprised in the response differs from representations of the data comprised in previously received responses.
In some embodiments, the method further comprises determining the conclusive representation of the data by taking a majority, or weighted majority, decision among the representations of the data comprised in the responses.
In some embodiments, the determination of the conclusive activity is performed before all initiated activities are completed.
In some embodiments, the activities are initiated before the determination of the conclusive activity.
In some embodiments, the conclusive representation coincides with the representation of the data kept in the storage entity for at least one of the two or more storage entities.
In some embodiments, the method further comprises, in response to determining the conclusive activity, canceling initiated activities that are not based on the conclusive representation.
In some embodiments, the method further comprises, in response to determining the conclusive activity, canceling all initiated activities, except for one that is based on the conclusive representation.
In some embodiments, the method further comprises, before determining the conclusive activity, canceling or pausing initiated activities for which a probability of being based on the conclusive representation of the data falls below a probability threshold value.
In some embodiments, at least two of the two or more storage entities have differing signaling delay between the controller and the storage entity.
Having differing signaling delay may be interpreted as having different signaling delay according to some embodiments.
In some embodiments, a storage client comprises the controller and one of the two or more storage entities, and the one storage entity keeps a representation of the data which is a default representation or a last known representation.
A second aspect is a method of a controller for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The method comprises (for each of two or more storage entities of the plurality of storage entities) sending—to the storage entity—a respective query relating to the data, thereby causing initiation of an activity of performing the set of operations based on the representation of the data kept in the storage entity, and receiving—from the storage entity—a response comprising an indicator of the representation of the data kept in the storage entity.
The method also comprises determining (based on the indicators comprised in the responses) one of the initiated activities—a conclusive activity—as being based on representation of the data corresponding to a conclusive indicator, and causing provision of a result of the conclusive activity as result for performing the set of operations based on the data.
In some embodiments, the method further comprises determining the conclusive indicator by taking a majority, or weighted majority, decision among the indicators comprised in the responses.
In some embodiments, the determination of the conclusive activity is performed before all initiated activities are completed.
In some embodiments, the activities are initiated before the determination of the conclusive activity.
In some embodiments, the representation of the data corresponding to the conclusive indicator coincides with the representation of the data kept in the storage entity for at least one of the two or more storage entities.
In some embodiments, the method further comprises, in response to determining the conclusive activity, canceling initiated activities that are not based on the representation of the data corresponding to the conclusive indicator.
In some embodiments, the method further comprises, in response to determining the conclusive activity, canceling all initiated activities, except for one that is based on the representation of the data corresponding to the conclusive indicator.
In some embodiments, the method further comprises, before determining the conclusive activity, canceling or pausing initiated activities for which a probability of being based on representation of the data corresponding to the conclusive indicator falls below a probability threshold value.
In some embodiments, at least two of the two or more storage entities have differing signaling delay between the controller and the storage entity.
Having differing signaling delay may be interpreted as having different signaling delay according to some embodiments.
In some embodiments, a storage client comprises the controller and one of the two or more storage entities, and wherein the one storage entity keeps a representation of the data which is a default representation or a last known representation.
The first and second aspects may be described as a method of a controller for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The method comprises (for each of two or more storage entities of the plurality of storage entities) sending—to the storage entity—a respective query relating to the data, and receiving—from the storage entity—a response comprising information relating to the representation of the data kept in the storage entity (the information comprising, e.g., the representation, or an indicator of the representation).
The method also comprises (for each of at least two of the two or more storage entities) causing initiation of an activity of performing the set of operations based on the representation of the data (wherein the initiation may be caused, e.g., by sending of the query or by performing the initiation).
Furthermore, the method comprises determining (based on the information relating to the representations of the data comprised in the responses) one of the initiated activities—a conclusive activity—as being based on representation of the data corresponding to conclusive information relating to the representation of the data (wherein the conclusive information may, e.g., be a conclusive representation of the data or a conclusive indicator), and causing provision of a result of the conclusive activity as result for performing the set of operations based on the data.
Generally, the conclusive activity is one of the initiated activities of performing the set of operations. The initiated activities of performing the set of operations are also referred to as speculative activities later herein. Thus, in that terminology the conclusive activity is one of the speculative activities. The conclusive activity is typically chosen among the initiated activities based on a data consistency decision.
The data consistency decision may, for example, determine one of the representations of the data as a conclusive representation and the conclusive activity may be chosen as an activity that was initiated based on the conclusive representation. For example, a majority decision among the representations of the data comprised in the received responses may provide the conclusive representation.
Alternatively or additionally, the data consistency decision may, for example, determine one of the indicators of representations of the data as a conclusive indicator and the conclusive activity may be chosen as an activity that was initiated based on a representation of the data that corresponds to the conclusive indicator. For example, a majority decision among indicators comprised in the received responses may provide the conclusive indicator.
A third aspect is a computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions. The computer program is loadable into a data processing unit and configured to cause execution of the method according to any of the first and second aspects when the computer program is run by the data processing unit.
A fourth aspect is an apparatus for a controller and for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The apparatus comprises controlling circuitry configured to cause (for each of two or more storage entities of the plurality of storage entities) sending—to the storage entity—of a respective query relating to the data, and reception—from the storage entity—of a response comprising the representation of the data kept in the storage entity.
The controlling circuitry is also configured to cause (for each of at least two of the two or more storage entities) initiation of an activity of performing the set of operations based on the representation of the data comprised in the response.
Furthermore, the controlling circuitry is configured to cause determination (based on the representations of the data comprised in the responses) of one of the initiated activities—a conclusive activity—as being based on a conclusive representation of the data, and provision of a result of the conclusive activity as result for performing the set of operations based on the data.
A fifth aspect is an apparatus for a controller and for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The apparatus comprises controlling circuitry configured to cause (for each of two or more storage entities of the plurality of storage entities) sending—to the storage entity—of a respective query relating to the data, thereby causing initiation of an activity of performing the set of operations based on the representation of the data kept in the storage entity, and reception—from the storage entity—of a response comprising an indicator of the representation of the data kept in the storage entity.
Furthermore, the controlling circuitry is configured to cause determination (based on the indicators comprised in the responses) of one of the initiated activities—a conclusive activity—as being based on representation of the data corresponding to a conclusive indicator, and provision of a result of the conclusive activity as result for performing the set of operations based on the data.
The fourth and fifth aspects may be described as an apparatus for a controller and for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
The apparatus comprises controlling circuitry configured to cause the method steps of any of the first and second aspects, or of the method combining the first and second aspects.
A sixth aspect is a storage client comprising the apparatus of any of the fourth and fifth aspects.
A seventh aspect is a client node comprising the apparatus of any of the fourth and fifth aspects and/or the storage client of the sixth aspect.
In some embodiments, any of the above aspects may additionally have features identical with or corresponding to any of the various features as explained above for any of the other aspects.
An advantage of some embodiments is that alternative approaches are provided for performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
Another advantage of some embodiments is that a reduction of the latency—from sending of a data query until a result of performing the set of operations is provided—may be achieved.
Yet an advantage of some embodiments is that reduced power consumption and/or reduced utilization of operation-performing resources may be achieved.
Yet a further advantage is that the result of the performing of the set of operations corresponds to the result achieved when data consistency is obtained before any activity of performing the set of operations is initiated.
As mentioned above, there may be latency issues when a set of operations are to be performed based on data stored in several representations, each kept by a respective storage entity.
When a set of operations are to be performed based on data stored in several representations, two or more of the representations are typically obtained and a data consistency decision (e.g., a majority decision) is taken to determine which representation of the data to use when the set of operations is performed. The representation of the data that is used for performing the set of operations may be termed a conclusive representation of the data.
For example, if there are seven representations of the data, wherein four of the representations are identical (coincide), that representation is selected as the conclusive representation if a majority decision is applied. To further illustrate this example, assume that four of the seven representations have a first value “a”, that two of the seven representations have a second value “b” and that one of the seven representations has a third value “c”. Then, the conclusive representation has the first value “a” if a majority decision is applied since the representations having the first value “a” are in majority among the seven representations.
There is typically a delay, after sending a data query, before the representations of the data can be obtained. The delay may be more prominent in some cases, e.g., when there is a relatively large geographical distance between the device sending the query and the storage entity keeping the representation of the data, and/or when the storage entity keeping the representation of the data is a slow-access storage entity. Furthermore, the delay may be different for different storage entities.
For example, the first response (comprising a representation of the data) may arrive relatively fast after the query has been sent; for example, if that representation of the data is kept locally and maybe even in a memory/cache comprised in the same apparatus as the querying party. Other responses (comprising a representation of the data) that are needed to obtain data consistency may arrive several orders of magnitude later; e.g., approximately 100 milliseconds or more after the query has been sent for geo-distributed systems.
Thus, the representations of the data may arrive with different delay; at different points in time. These delay issues postpone the majority decision (and thereby the performing of the operations based on the conclusive representation of the data and the provision of a result thereof) until all representations have been obtained.
In the following, embodiments will be described for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities.
A controller (e.g., controlling circuitry or a control entity/module) may be managing the performing of the set of operations. The controller may, for example, be comprised in a storage client.
The plurality of representations of the data provide several sources of truth for the data. The plurality of representations of the data may, for example, be for one or more of: consistency handling, redundancy, reliability, validity, error protection, error detection, error correction, etc.
One or more of the plurality of representations of the data may differ from other representations of the same data. For example, some representations may have undergone an update via a write operation while other representations have not yet undergone the update (e.g., due to signaling delay).
The data can have any suitable form, including (but not limited to) one or more scalar or complex values, one or more vectors, one or more matrices, one or more other data structures, one or more documents, one or more data file, one or more images, one or more videos, one or more audio tracks, etc.
The plurality of storage entities may, for example, comprise storage at different (physical or virtual) nodes and/or storage in different tiers at the same (physical or virtual) node. In some embodiments, different tiers may be comprised in the same storage arrangement (e.g., an arrangement of several computers in a same data center or a same rack of computers).
Generally, different tiers may refer to a lower numbered tier keeping some partial set of data stored in a higher numbered tier, wherein the lower numbered tier has lower latency than the higher numbered tier. For example, tier 0 may be a dynamic random-access memory (DRAM), tier 1 may be a solid-state drive (SSD) disk, and tier 2 may be spinning hard disk.
Furthermore, one or more of the storage entities may apply cloud-based storage. One or more—but not all—of the storage entities may be a local storage entity (e.g., a cache memory or a register) of the controller managing the performing of the set of operations. For example, a storage client may comprise the controller and one storage entity that keeps a representation of the data which is a default representation or a last known representation.
Thus, the storing of the plurality of representations of the data is distributed (e.g., over one or more of: different tiers, different nodes, different geographical locations, etc.)
According to some embodiments, activities of performing the set of operations is initiated before the data consistency decision has been made. Typically, this means that performing of the set of operations is initiated in several instances; each of which may be seen as a speculative activity of performing the set of operations. For example, a speculative activity of performing the set of operations may be initiated based on each of a number of representations of the data (e.g., a number of unique representations of the data).
When used herein, the term “activity of performing the set of operations” may, for example, refer to an activity comprising (or consisting of) performing of the set of operations.
A speculative activity of performing the set of operations may be defined as performing (at least part of) the set of operations before the data consistency decision has been made. Typically, all initiated speculative activities comprise performing of the same set of operations, while the representation of the data that the set of operations are performed based on may differ between initiated speculative activities of performing the set of operations.
Then, when a data consistency decision has been made, some embodiments comprise cancelling speculative activities of performing the set of operations that are not based on a representation of the data corresponding to the data consistency decision (and possibly cancelling duplicate speculative activities of performing the set of operations that are based on a representation of the data corresponding to the data consistency decision). Some embodiments may comprise letting one or more of the speculative activities continue after the data consistency decision has been made, even if they are duplicates and/or are not based on a representation of the data corresponding to the data consistency decision.
Generally, cancelling activities of performing the set of operations may be seen as aborting, stopping, or prematurely ending the activities of performing the set of operations.
In any case, when the data consistency decision has been made, a result of a speculative activity of performing the set of operations that is based on a representation of the data corresponding to the data consistency decision may be provided as result for performing the set of operations based on the data.
The data consistency decision will be referred to herein as providing a conclusive (consistent) representation of the data and/or a conclusive (consistent) indicator of the representation of the data. The conclusive representation of the data may, for example, correspond to one of the representations of the data. The data consistency decision may be a consensus-based decision; e.g., a majority, or weighted majority, decision among, e.g., obtained representations of the data or obtained indicators of the representation of the data.
Performing a set of operations in a speculative activity may, for example, comprise executing a software code portion. The set of operations may comprise an executable, or a software artefact. Alternatively or additionally, the set of operations may comprise execution in hardware. Examples of an executable, or a software artefact, include a software function, a method, a script, a binary executable module, an executable context, a software code portion, etc. Any of these, and/or other, examples of sets of operations may be performed in a speculative activity. A speculative activity of performing the set of operations may, in some scenarios, be termed a speculative execution.
In step 110, a respective query is sent to each storage entity of a collection of storage entities of the plurality of storage entities. How the collection of storage entities are selected from the plurality of storage entities may be in accordance with any suitable approach. Numerous such suitable approaches are known in the art.
The query is related to the data. For example, the query may comprise a request or prompt for the data (the representation of the data kept in the storage entity).
In steps 120, a response (e.g., a query response) is received from two or more storage entities of the collection of entities. The response comprises the representation of the data kept in the storage entity from which the response is received. Typically, the responses are received at different points in time due to different delays, for the different storage entities, between storage entity and the controller. As mentioned before, the different delays may, for example, be due to different signaling delays (e.g., due to different geographical distances) and/or different storage access times.
In
In some embodiments, a response is received from all storage entities in the collection of storage entities (i.e., the collection of storage entities consists of the two or more entities). In some embodiments, a response is received from less than all storage entities in the collection of storage entities (i.e., the collection of storage entities consists of the two or more entities and one or more other storage entities). In any case, the collection of storage entities comprises the two or more entities. Thus, sending a respective query to each storage entity of the collection of storage entities comprises sending a respective query to each of the two or more storage entities.
For example, a response may be received from seven storage entities; thus providing seven representations of the data wherein, for example, four of the representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”.
Activities of performing the set of operations is then initiated for at least two of the two or more storage entities as illustrated by steps 130. Typically, each initiation is performed directly responsive to the reception of the corresponding response. Then, if the responses are received at different points in time, the initiations will be performed at different point in time.
The set of operations may be performed in the controller itself or in an apparatus connected to, or otherwise associated with, the controller. For example, the set of operations may be performed in the storage client, or may be distributedly performed (e.g., cloud-based execution).
The initiated activity is based on the representation of the data comprised in the response.
Typically, activities of performing the set of operations are initiated only for storage entities for which the representation of the data comprised in the response differs from representations of the data comprised in previously received responses (related to the same request for performing the set of operations). Thus, activities of performing the set of operations are initiated only for unique representations of the data. This has the advantage of not unnecessarily utilizing resources (processing hardware, power consumption, etc.) for performing of the set of operations.
For example, an activity of performing the set of operations is typically initiated for the first storage entity (illustrated by a solid line for the corresponding step 130). Then, for each new response it is determined whether the representation of the data comprised in the response coincides with the representation of the data comprised in an already received response.
If so, it may be decided to not initiate any activity of performing the set of operations for that storage entity (illustrated for the n:th and x:th storage entities by a dashed line for the corresponding steps 130).
If the representation of the data comprised in the response does not coincide with any of the representations of the data comprised in already received responses (i.e., if the representation of the data comprised in the response is unique), an activity of performing the set of operations is initiated for that storage entity (illustrated for the p:th storage entities by a solid line for the corresponding step 130).
For the example with seven received responses wherein four of the representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”, three (speculative) activities of performing the set of operations may be initiated—one based on the value “a”, one based on the value “b” and one based on the value “c”.
In step 150, one of the initiated activities of performing the set of operations is determined as being based on a conclusive representation of the data. This activity is termed the conclusive activity. Thus, the conclusive activity is one of the initiated activities of performing the set of operations. The determination of the conclusive activity is based on the representations of the data comprised in the responses. For example, step 150 may comprise determining the conclusive representation of the data by taking a majority, or weighted majority, decision among the representations of the data comprised in the responses, and selecting the conclusive activity as an initiated activity of performing the set of operations that is based on a representation of the data that corresponds to (e.g., coincides with) the conclusive representation of the data.
Determining the conclusive representation of the data and/or determining the conclusive activity may be seen as comprised in a data consistency decision.
Thus, the conclusive activity is chosen among the initiated activities based on a data consistency decision, wherein the data consistency decision determines one of the representations of the data as a conclusive representation and the conclusive activity is chosen as an activity that was initiated based on the conclusive representation.
Step 150 may be performed when responses have been received from all storage entities of the collection of storage entities. Alternatively, step 150 may be performed before responses have been received from all storage entities of the collection of storage entities, e.g., when a certain number of responses have been received (e.g., the number exceeding a threshold value), or when a certain number of responses comprising the same representation of the data have been received (e.g., the number exceeding a threshold value).
Typically, step 150 is performed before all initiated activities of performing the set of operations are completed.
In response to determining the conclusive activity, initiated activities that are not based on the conclusive representation may be cancelled as illustrated by optional step 160. Alternatively or additionally, all initiated activities, except for one that is based on the conclusive representation, may be cancelled in response to determining the conclusive activity as also illustrated by optional step 160.
This may have the advantage of not unnecessarily utilizing resources (processing hardware, power consumption, etc.) for performing the set of operations.
It should be noted that, in some embodiments, also initiated activities other than the conclusive activity (e.g., all initiated activities) are allowed to be completed even after the conclusive activity is determined. This may be beneficial, for example, if it is computationally and/or signal-wise cheaper to allow continued performance of operations than to cancel performance of operations.
In some embodiments, some initiated activities may be cancelled or paused even before the conclusive activity is determined as illustrated by optional step 140. For example, initiated activities may be cancelled or paused for which a probability of being based on the conclusive representation of the data falls below a probability threshold value.
The threshold value may be equal to zero (cancelling/pausing only for representations that cannot become the conclusive representation), or may be larger than zero but less than one (cancelling/pausing for representations that cannot become the conclusive representation and for representations that are unlikely to become the conclusive representation).
The probability of being based on the conclusive representation may be estimated via intermediate data consistency decisions. For example, if ten responses are needed for determining the conclusive representation and if eight responses have been received which comprises a first representation of the data once, a second representation of the data thrice, and a third representation of the data four times, it is clear that the first representation of the data cannot become the conclusive representation. Then the initiated activity of performing the set of operations based on the first representation of the data may be cancelled.
This may have the advantage of not unnecessarily utilizing resources (processing hardware, power consumption, etc.) for performing the set of operations.
In step 170, a result of the conclusive activity is provided (or is caused to be provided) as result for performing the set of operations based on the data.
Since the conclusive activity is initiated (as one of the speculative activities of performing the set of operations) before the data consistency decision, the overall latency may be decreased compared to when the data consistency decision is taken before performing the set of operations.
Continuing the example with seven received responses wherein four of the representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”, the conclusive representation has the value “a” if a majority decision is applied. The two (speculative) activities that were initiated based on the value “b” and based on the value “c” may be cancelled when the conclusive representation is determined, and the result of the (speculative) activity that was initiated based on the value “a” may be provided as result for performing the set of operations based on the data.
For example, seven representations of the data may be kept in different storage entities wherein, for example, four of the representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”.
In step 110, a respective query is sent to each storage entity of a collection of storage entities of the plurality of storage entities. How the collection of storage entities are selected from the plurality of storage entities may be in accordance with any suitable approach. Numerous such suitable approaches are known in the art.
The query is related to the data. For example, the query may comprise a request or prompt for the data (the representation of the data kept in the storage entity), or a request for an indicator of the representation of the data. The indicator may be more easily conveyed than the data (e.g., it may be more compact). The indicator may be derived from the (representation of the) data. For example, the indicator may be a compressed version of the data, a hash-function of the data, a checksum of the data, a data fingerprint, a cryptographic hash-function of the data, etc.
Furthermore, the query is configured to cause initiation of an activity of performing the set of operations based on the representation of the data kept in the storage entity as illustrated by sub-steps 135 for four example storage entities denoted as a first storage entity, an n:th storage entity, a p:th storage entity, and an x:th storage entity. This may, for example, be achieved by including an operation request, a software function identifier, an executable, or similar in the query. The initiated activity is based on the representation of the data kept in the storage entity. Typically, each initiation is performed directly responsive to the reception of the query.
The set of operations may be performed at the corresponding storage entity. The set of operations may be performed in the storage entity itself or in an apparatus connected to, or otherwise associated with, the storage entity. For example, the set of operations may be distributedly performed (e.g., cloud-based execution).
For example, an SQL (structured query language) query can cause activities of performing a set of operations to be initiated before returning a response. Examples of such activities includes simple processing (e.g., summing) and advanced processing (e.g., execution of registered software function).
For the example with seven representations of which four representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”, seven (speculative) activities of performing the set of operations may be initiated—four based on the value “a”, two based on the value “b” and one based on the value “c”.
In steps 125, a response (e.g., a query response) is received from two or more storage entities of the collection of entities. The response comprises an indicator of the representation of the data kept in the storage entity from which the response is received. Typically, the responses are received at different points in time due to different delays, for the different storage entities, between storage entity and the controller. As mentioned before, the different delays may, for example, be due to different signaling delays (e.g., due to different geographical distances) and/or different storage access times.
In some embodiments, a response is received from all storage entities in the collection of storage entities (i.e., the collection of storage entities consists of the two or more entities). In some embodiments, a response is received from less than all storage entities in the collection of storage entities (i.e., the collection of storage entities consists of the two or more entities and one or more other storage entities). In any case, the collection of storage entities comprises the two or more entities. Thus, sending a respective query to each storage entity of the collection of storage entities comprises sending a respective query to each of the two or more storage entities.
Typically, the responses are received before the initiated activities of performing the set of operations are completed.
In step 150, one of the initiated activities of performing the set of operations is determined as being based on representation of the data corresponding to a conclusive indicator. This activity of performing the set of operations is termed the conclusive activity. Thus, the conclusive activity is one of the initiated activities of performing the set of operations.
The determination of the conclusive activity is based on the indicators of the representations of the data comprised in the responses. For example, step 150 may comprise determining the conclusive indicator by taking a majority, or weighted majority, decision among the indicators comprised in the responses, and selecting the conclusive activity as an initiated activity of performing the set of operations that is based on a representation of the data that corresponds to the conclusive indicator.
Determining the conclusive indicator and/or determining the conclusive activity may be seen as comprised in a data consistency decision.
Thus, the conclusive activity is chosen among the initiated activities based on a data consistency decision, wherein the data consistency decision determines one of the indicators of representations of the data as a conclusive indicator and the conclusive activity is chosen as an activity that was initiated based on a representation of the data that corresponds to the conclusive indicator.
Preferably, the conclusive activity is selected among the initiated activities that are based on representations corresponding to the conclusive indicator, as the initiated activity that is expected to be completed first.
Step 150 may be performed when responses have been received from all storage entities of the collection of storage entities. Alternatively, step 150 may be performed before responses have been received from all storage entities of the collection of storage entities, e.g., when a certain number of responses have been received (e.g., the number exceeding a threshold value), or when a certain number of responses comprising the same indicator have been received (e.g., the number exceeding a threshold value).
Typically, step 150 is performed before all initiated activities of performing the set of operations are completed.
In response to determining the conclusive activity, initiated activities of performing the set of operations that are not based on a representation corresponding to the conclusive indicator may be cancelled as illustrated by optional step 160. Alternatively or additionally, all initiated activities of performing the set of operations, except for one that is based on a representation corresponding to the conclusive indicator, may be cancelled in response to determining the conclusive activity as also illustrated by optional step 160.
This may have the advantage of not unnecessarily utilizing resources (processing hardware, power consumption, etc.) for performing the set of operations.
It should be noted that, in some embodiments, also initiated activities other than the conclusive activity (e.g. all initiated activities) are allowed to be completed even after the conclusive activity is determined. This may be beneficial, for example, if it is computationally and/or signal-wise cheaper to allow continued performance of operations than to cancel performance of operations.
In some embodiments, some initiated activities of performing the set of operations may be cancelled or paused even before the conclusive activity is determined as illustrated by optional step 140. For example, initiated activities may be cancelled or paused for which a probability of being based on the representation corresponding to the conclusive indicator of the data falls below a probability threshold value.
The probability threshold value may be equal to zero (cancelling/pausing only for representations that correspond to an indicator that cannot become the conclusive indicator), or may be larger than zero but less than one (cancelling/pausing representations that correspond to an indicator that cannot become the conclusive indicator and for representations that correspond to an indicator that is unlikely to become the conclusive indicator).
The probability of being based on a representation that corresponds to the conclusive indicator may be estimated via intermediate data consistency decisions as explained above in connection to
This may have the advantage of not unnecessarily utilizing resources (processing hardware, power consumption, etc.) for performing the set of operations.
In step 170, a result of the conclusive activity is provided (or is caused to be provided) as result for performing the set of operations based on the data.
Since the conclusive activity is initiated (as one of the speculative activities of performing the set of operations) before the data consistency decision, the overall latency may be decreased compared to when the data consistency decision is taken before performing the set of operations.
Continuing the example with seven representations of which four representations have a value “a”, two of the representations have a value “b” and one of the representations has a value “c”, seven responses may be received wherein four comprise an indicator having the value “al” (derivable from the representation having value “a”), two comprise an indicator having the value “b1” (derivable from the representation having value “b”) and one comprises an indicator having the value “c1” (derivable from the representation having value “c”). Then, the conclusive indicator has the value “a1” (corresponding to the representation having the value “a”) if a majority decision is applied. The two (speculative) activities that were initiated based on the value “b” and the (speculative) activity that was initiated based on the value “c” may be cancelled when the conclusive representation is determined, as well as three of the four (speculative) activities that were initiated based on the value “a”. The result of the non-cancelled (speculative) activity that was initiated based on the value “a” may be provided as result for performing the set of operations based on the data.
The storage client and/or the storage client library may be interpreted as comprising the controller configured to perform the method 100 of
The process of
In step 210 (compare with step 110 of
In steps 220a-e (compare with steps 120 of
First, in step 220a, a response 282a is received from the local storage entity 204. An activity of performing the set of operations—based on the representation of the data kept in the local storage entity 204 and comprised in the response 282a—is initiated responsive to the reception of the response 282a, as illustrated by step 230a (compare with steps 130 of
Later, in step 220b, a response 282b is received from the storage entity 294. It is checked whether the representation of the data comprised in response 282b differs from the representation of the data comprised in response 282a. If so, an activity of performing the set of operations—based on the representation of the data kept in the storage entity 294 and comprised in the response 282b—is initiated responsive to the reception of the response 282b, as illustrated by step 230b (compare with steps 130 of
Even later, in steps 220c-e, responses 282c-e are received from the storage entities 295, 296, 297. For each response, it is checked whether the representation of the data comprised in the response differs from the representation of the data comprised in any previously received response. If so, an activity of performing the set of operations—based on the representation of the data kept in the storage entity and comprised in the response—is initiated responsive to the reception of the response (compare with steps 130 of
For example, the responses 282c and 282e may comprise representations of the data that coincide with the representation of the data comprised in the response 282a, and the response 282d may comprise a representation of the data that coincides with the representation of the data comprised in the response 282b.
In step 250 (compare with step 150 of
In the example of
In response to determining the conclusive activity 231a, the initiated activity 231b is cancelled as illustrated by step 260 (compare with step 160 of
When the conclusive activity is completed, the result 285 thereof is provided to the application 201 as result for performing the set of operations based on the data, as illustrated by step 270 (compare with step 170 of
The storage client and/or the storage client library may be interpreted as comprising the controller configured to perform the method 105 of
The process of
In step 310 (compare with step 110 of
The queries 381b-e are related to the data. For example, the queries 381b-e may comprise a request for a hash-function of the data. Furthermore, the queries 381b-e are configured to cause initiation (compare with sub-steps 135 of
In steps 320b-e (compare with steps 125 of
For example, the responses 382b, 382c and 382e may comprise the same indicator value (hash-value), and the response 382d may comprise another indicator (hash-value).
In step 350 (compare with step 150 of
In the example of
In response to determining the conclusive activity 331b, the initiated activities 331c-e are cancelled as illustrated by step 360 (compare with step 160 of
When the conclusive activity is completed, the result 385 thereof is provided to the application 301 as result for performing the set of operations based on the data, as illustrated by step 370 (compare with step 170 of
Some examples of the triggering (compare with triggering signals 280, 380) of the above-described methods will now be given. Such triggering may, for example, be implemented in an application interface.
Typically, the application sends an instruction to the storage client for triggering speculative performance of a set of operations (e.g., speculative execution). The instruction typically includes an operation request, a software function identifier, an executable, or similar.
An executable could be represented in many different ways, e.g., by reference to a symbol or position in the executable image (of the application), by a copy of an executable blob, by interpretable code or script, by a copy of—or reference to—bytecode, etc.
The instruction may also comprise a scheduling policy for scheduling of the speculative executions. An example scheduling policy might be to schedule initiations of speculative executions on resources with successively lower processing speed (to allow the first-initiated execution(s) to finish as early as possible).
The instruction may also comprise context, e.g., data structures declared before any call to the executable, software functions or libraries declared elsewhere, etc.
The instruction may further comprise the query. The query could be formulated in many ways, e.g., as a key to value lookup, as an SQL query, as a graph query, etc.
An example of a direct application interface may be expressed in pseudo code as:
Here myfunc denotes an executable, value denotes representation of data, and mykey denotes a query. In the more evolved application interface, the executable is the expression after the spawn keyword.
The apparatus comprises controlling circuitry (CNTR; e.g., a controller) 400 for management of performing a set of operations based on data, wherein a plurality of representations of the data are kept in respective ones of a plurality of storage entities. The controlling circuitry may, for example, be configured to cause execution of (e.g., execute) one or more of the method steps as described above in relation to
The controlling circuitry is configured to cause (for each of two or more storage entities of the plurality of storage entities) sending, to the storage entity, of a respective query relating to the data (compare with 110, 210, 310).
The controlling circuitry is also configured to cause (for each of the two or more storage entities of the plurality of storage entities) reception, from the storage entity, of a response to the query (compare with 120, 125, 220a-e, 320b-e). The response may comprise the representation of the data kept in the storage entity or an indicator of the representation of the data kept in the storage entity.
To this end the controlling circuitry may be associated with (e.g., connected—or connectable—to) a communication interface (I/O) 420. The communication interface may be configured to, for storage entities other than the local storage entity, send the respective query relating to the data and receive the response to the query.
Furthermore, the controlling circuitry is configured to cause (for each of at least two of the two or more storage entities) initiation of activities of performing the set of operations based on the representation of the data (compare with 130, 135, 230a-b, 310).
To this and, the communication interface 420 may be configured to send initiation signals according to some embodiments. Alternatively, the controlling circuitry may be configured to perform the set of operations itself.
The controlling circuitry is also configured to cause determination, based on the representations of the data or the indicators comprised in the responses, of one of the initiated activities of performing the set of operations (called the conclusive activity) as being based on a conclusive representation of the data or on representation of the data corresponding to a conclusive indicator (compare with 150, 250, 350).
To this end the controlling circuitry may comprise, or be otherwise associated with (e.g., connected—or connectable—to), a determiner (DET; e.g., determination circuitry) 401. The determiner may be configured to determine the conclusive activity.
The controlling circuitry is further configured to cause provision—e.g., to the application 440—of a result of the conclusive activity as result for performing the set of operations based on the data. To this and, the communication interface 420 may be configured to provide the result of the conclusive activity as result for performing the set of operations based on the data.
Generally, when an arrangement is referred to herein, it is to be understood as a physical product; e.g., an apparatus. The physical product may comprise one or more parts, such as controlling circuitry in the form of one or more controllers, one or more processors, or the like.
The described embodiments and their equivalents may be realized in software or hardware or a combination thereof. The embodiments may be performed by general purpose circuitry. Examples of general purpose circuitry include digital signal processors (DSP), central processing units (CPU), co-processor units, field programmable gate arrays (FPGA) and other programmable hardware. Alternatively or additionally, the embodiments may be performed by specialized circuitry, such as application specific integrated circuits (ASIC). The general purpose circuitry and/or the specialized circuitry may, for example, be associated with or comprised in an apparatus such as a client node (e.g., server, computer, etc.).
Embodiments may appear within an electronic apparatus (such as a client node) comprising arrangements, circuitry, and/or logic according to any of the embodiments described herein. Alternatively or additionally, an electronic apparatus (such as a client node) may be configured to perform methods according to any of the embodiments described herein.
Configuration of Redundant Paths
As discussed in depth above, future mobile communication systems aim to support communications in fields such as the industrial manufacturing domain. Compared to typical use cases of mobile communication traffic, such as phone calls and internet data, industrial manufacturing applications/service require higher reliability, availability, and low and deterministic latency. Other use cases may have similar requirements, such as remote surgery, autonomous vehicles, etc.
Such communication will typically travel via paths which traverse both wireless networks (e.g., cellular networks, such as those standardized by 3GPP: LTE, NR, etc) and wired networks (e.g. Ethernet networks, etc). Various efforts have been made to achieve high reliability, availability and low and deterministic in wired and wireless communication networks.
IEEE 802.1 time-sensitive networking (TSN) is based on the IEEE 802.3 Ethernet standard, so it is a wired communications standard. TSN describes a collection of features for, e.g., time synchronization, guaranteed low latency transmissions and high reliability to make Ethernet deterministic, which was used previously mostly for best-effort communications. The features can be grouped into the following categories:
TSN uses the concept of streams (or flows) for exchange of data between one or more talkers and one or more listeners. The talkers and listeners may also be called “end devices”, i.e., the source and destination devices of the TSM streams. To configure a TSN stream, the listeners and talkers provide requirements to the TSN network which are used for scheduling and configuration decisions, e.g., how bridges (also known as switches or Ethernet switches) should behave between a listener and a talker.
The IEEE 802.1Qcc standard specifies three TSN configuration models: the fully distributed model; the centralized network and distributed user model; and the fully centralized model. For the industrial manufacturing use case, the fully centralized configuration model might be the most suitable. However, embodiments of the disclosure may alternatively use the fully distributed model or the centralized network and distributed user model.
For the fully centralized configuration model, the Central User Configuration (CUC) and Central Network Configuration (CNC) are logical functions rather than actual physical nodes in the network. The CUC is the entity which is responsible for configuration of the listeners and the talkers. The CNC is the entity that configures the TSN features in the bridges in the network.
The description of wireless communication networks is in the context of 5G networks, using Long Term Evolution (LTE) and/or New Radio (NR). Embodiments of the disclosure may alternatively relate to other wireless communication networks, particularly cellular networks such as those standardized by 3GPP.
The 5G system (5GS) architecture as described in TS 23.501, v 15.3.0 specifies the support of Ethernet protocol data unit (PDU) sessions. The medium access control (MAC) address for this PDU session is not provided by the 5G system.
For Ethernet PDU session setup, the session management function (SMF) and the user plane function (UPF) act as PDU session anchors. Also, based on the configuration, the SMF may request the UPF acting as the PDU session anchor to redirect address resolution protocol (ARP) traffic from UPF to the SMF. Also, UPF is supposed to store MAC addresses received from UE, and associate those with the appropriate PDU session.
Moreover, for quality of service (QoS) provisioning, the SMF provides Ethernet Packet Filter Set and forwarding rules based on the Ethernet frame structure and user equipment MAC address.
The Application Function (AF) in 3GPP system architecture is a functional node, which interacts with the 3GPP core network to provide services as for example:
Further, the AF can trigger particular services towards UE, for example PDU session modification. Further details on application triggering services is described in 3GPP TS 23.501, v 15.3.0, clause 4.4.5.
Currently there is no mechanism on how to configure redundant TSN streams over 5GS. The current 3GPP standards support different ways to increase reliability of transmissions, such as dual or multi connectivity (DC), carrier aggregation (CA) and packet duplication. However, there is no interfacing or communication defined between the 5GS and the TSN network about how to set up redundancy (which might use those methods of increasing transmission reliability).
As a use case example, interworking between 5GS and TSN networks is highly relevant for an industrial network deployment. Unfortunately, this type of seamless internetworking is not feasible with current networks.
Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges.
For example, in one aspect the disclosure provides a method in a core network node for a wireless communication network. The method comprises: receiving a configuration message via an interface with a configuring node associated with a wired communication network, the configuration message comprising settings for a plurality of paths between a first node coupled to the wired communication network and a second node coupled to the wireless communication network, the plurality of paths carrying a plurality of data streams between the first and second nodes, the plurality of data streams comprising at least one redundant data stream; and configuring the plurality of paths within the wireless communication network according to the settings.
In another aspect, the disclosure provides a method in a configuring node for a wired communication network. The method comprises: transmitting a request message via an interface with a core network node for a wireless communication network, the request message comprising a request for information related to a topology of the wireless communication network; and receiving an information message via the interface with the core network node, the information message comprising information related to the topology of the wireless communication network.
Certain embodiments may provide one or more of the following technical advantage(s): End-to-end deterministic packet transport over TSN and 5GSs; TSN stream redundancy features configuration over 5GS; and seamless integration into the architecture of the 5G core network
In the future, it is envisioned, that 5G will support TSN features and will transport TSN streams, over 5G wireless links. This is highly relevant for industrial use cases, as TSN is expected to become a major communication technology in this sector. With the support of TSN traffic in the 5G network, wireless communication can be used, as a cable replacement, for industrial networks deployed with TSN. One of the important features of TSN is IEEE 802.1CB—Frame Replication and Elimination for Reliability, which enables redundant transmissions to increase reliability in case of failures in one of the transmitted paths appear.
This scenario is illustrated in
According to embodiments of the disclosure, an interface is proposed in the 5GS that enables such interactions with the TSN network. This interface at the 5G side can be part of the Application Function (AF) or another network entity (such as another core network node or function). One role of this new proposed interface is to interact with one or more nodes within a TSN network, such as for example the CNC, that configures the redundant paths of frames through the network, and to convert the requirements for the TSN streams into the relevant features over the 5GS.
The configuration of two independent data paths in TSN depends on the requirements from the application software (e.g., a programmable logic controller, PLC). The relevant configuration parameter may be “NumSeamlessTrees”, specified in IEEE 802.1Qcc 46.2.3.6.1. If the value of this parameter is greater than one, then CNC needs to calculate and set-up maximally disjoint trees (for a value of 2 there are two almost disjoint trees).
In one embodiment of the disclosure, a 5G core network function (interacting with AF) determines if two independent paths (seamless trees) can be set up within the 5G network. To do this, a request might be sent to RAN, e.g. to a single gNB, or multiple gNBs. The 5G network can support redundancy of the transmitted packets (e.g., to increase reliability) by using one or multiple techniques from the 5G network. Suitable examples may include dual connectivity, carrier aggregation and duplication. In order to use redundant paths or multiple paths for TSN streams in a 5GS, two or more UEs can be attached to the same Ethernet network or device and used as an alternative to or in combination with other features for redundancy.
For example, in the simplest case both incoming redundant streams are forwarded over the same UPF, gNB and UE. The UE might forward them to multiple redundant TSN nodes.
This scenario might be applicable if the 5GS is assumed to be reliable enough without using physical redundancy. Another option would be to use redundancy only in the radio network but using a single UPF in the core network—or a single UE but dual connectivity. Those skilled in the art will appreciate that there are multiple options.
According to some embodiments of the disclosure, how redundancy is supported in the 5GS is not exposed to the external TSN network; in such embodiments, the only thing that is communicated through the AF may be whether and to what degree redundancy is supported (e.g., how many redundant paths or what the redundant topology looks like).
As noted above, embodiments of the disclosure provide a new interface that enables the functionality to set up and enable end-to-end redundancy between a wired communication network (such as a TSN network) and a wireless communication network (such as a 5G network).
The scenario in
The description above has focused on the interactions between the CNC, the CUC and the AF (or other core network node or function). In embodiments where the TSN network does not use central coordination (i.e., no CNC and no CUC are present), the methods described in this disclosure can be applied in a similar manner, but the AF will talk to the switches (e.g., TSN switches) connected to the 5GS directly.
In step 700, the core network node receives request message from a configuring node associated with a wired communication network (e.g., a CNC or a TSN switch as described above). The request message may be configured according to LLDP, SNMP, NETCONF, RESTCONF or any suitable network management protocol. The request message may comprises a request for information related to a topology of the wireless communication network, e.g., identities of one or more nodes in the wireless communication network, the links between those nodes, the capabilities of those nodes to enable redundant paths, etc.
In step 702, the core network node transmits an information message to the configuring node comprising information related to the topology of the wireless communication network. For example, the information message may comprise an indication of the ability of the wireless network to provide redundant paths. The information message may comprise an indication of a number of paths which can be configured in the wireless communication network to a particular end point or device (which may have been identified in the request message). The information message may also be configured via LLDP, SNMP, NETCONF, RESTCONF or any suitable management protocol.
In step 704, the core network node receives a configuration message from the configuring node. The configuration message comprises settings for a plurality of paths between a first node coupled to the wired communication network and a second node coupled to the wireless communication network. For example, the settings may include a set of associations between an input port and an output port for each of the plurality of paths, i.e. instructions for which output port data from respective input ports is to be forwarded to. See
In one embodiment, the plurality of paths comprise a first path and a second path which have at least one element in common with each other in the wireless communication network. For example, in one embodiment the first path and the second path are identical in the wireless communication network.
In another embodiment, the plurality of paths comprise a third path and a fourth path (which may be in addition to or as alternatives to the first and second paths disclosed above) which have at least one element not in common with each other in the wireless communication network. For example, the third path and the fourth path may be disjoint paths in the wireless communication network, or maximally disjoint paths in the wireless communication network. The at least one element not in common between the third and fourth paths may comprise one or more of: a user equipment; a radio access network node; and a core network node or function. The third and fourth paths may utilize a dual connectivity mechanism between a user equipment and multiple radio access network nodes, and/or a carrier aggregation mechanism between a user equipment and one or more radio access network nodes.
The paths may comprise one or more physical paths and/or one or more virtual paths.
In step 706, the core network node coverts the settings in the configuration message into one or more of: a packet filter set and one or more forwarding rules. For example, the AF may perform this function or, alternatively, it may forward the settings to another core network node or function, such as the policy control function (PCF) to perform this function. The AF or PCF may be configured with information as to how redundancy is to be supported in the wireless communication network (e.g., using any of the techniques described above). The PCF or AF may request this information (i.e. how those redundant paths are actually setup in the wireless communication network—from a CNC point of view this is irrelevant. Internally some wireless network functions might only be virtually redundant, e.g. only one UPF is used).
In step 708, the core network node configures the plurality of paths within the wireless communication network according to the settings. Optionally, particularly where the settings have been converted into one or more of a packet filter set and forwarding rules in step 706, this may comprise forwarding the packet filter set and/or the forwarding rules to a second core network node (e.g., an SMF). For example, the AF (or PCF) may signal to the SMF to set up modify PDU sessions if that is required, to support the redundancy based on the AF input and the information about how redundancy is supported in the 5GS. The SMF will then modify PDU sessions in UPF(s) accordingly.
In further embodiments, the AMF is informed how redundancy has to be setup in the RAN according to the input from AF and the 5GS internal information about how redundancy is supported.
In step 800, the configuring node transmits a request message to a core network node associated with a wireless communication network (e.g., an AF as described above). The request message may be configured according to LLDP, SNMP, NETCONF, RESTCONF or any suitable network management protocol. The request message may comprise a request for information related to a topology of the wireless communication network, e.g., identities of one or more nodes in the wireless communication network, the links between those nodes, the capabilities of those nodes to enable redundant paths, etc.
In step 802, the configuring node receives an information message from the core network node comprising information related to the topology of the wireless communication network. For example, the information message may comprise an indication of the ability of the wireless network to provide redundant paths. The information message may comprise an indication of a number of paths which can be configured in the wireless communication network to a particular end point or device (which may have been identified in the request message). The information message may also be configured via LLDP, SNMP, NETCONF, RESTCONF or any suitable management protocol.
In some embodiments, the redundant paths through the wireless communication network may not themselves be made known in the information message. That is, the configuring node may be unaware of how the redundant paths are established in the wireless communication network, or of the redundancy techniques which are employed in the wireless network to achieve that redundancy and increase in reliability (e.g., dual connectivity, packet duplication, carrier aggregation, etc). However, the information message may comprise an indication of the number of redundant paths which can be supported in the wireless communication network, for example.
In step 804, the configuring node determines a plurality of paths for redundant data streams between a first node coupled to the wired communication network and a second node coupled to the wireless communication network. The plurality of paths carry a plurality of data streams between the first and second nodes, comprising at least one redundant data stream.
In one embodiment, where the configuring node is unaware of the precise paths within the wireless communication network, this step may assume that the entire wireless communication network is equivalent to one or more TSN bridges.
In step 806, the configuring node transmits a configuration message to the core network node, comprising settings for each of the plurality of paths. For example, the settings may include a set of associations between an input port and an output port for each of the plurality of paths, i.e. instructions for which output port data from respective input ports is to be forwarded to. See
Handling Precise Timing Protocol Signaling from a Time Sensitive Network
Time Sensitive Networking (TSN) is based on the IEEE 802.3 Ethernet standard. TSN provides deterministic services through IEEE 802.3 networks, such as e.g. time synchronization, guaranteed low latency transmissions and high reliability to make legacy Ethernet, designed for best-effort communication, deterministic. The TSN features available today may be grouped into the following categories:
The configuration and management of the TSN network may be implemented in different manners, either in a centralized or in a distributed setup as defined in IEEE 802.1Qcc. The different configuration models are shown in
The communication endpoints inside the TSN are referred to as Talker and Listener. A TSN network consist of multiple entities and features. All the switches, which are referred to as bridges in the
The steps performed to setup an TSN stream in the TSN network in fully centralized configuration mode are the following:
In the TSN network, the streamID may be used to uniquely identify stream configurations. It is used to assign TSN resources to a user's stream. The streamID consists of two tuples, namely:
In the distributed configuration model as illustrated in
In the centralized model as depicted in
To connect devices wirelessly to a TSN network, 5G is a promising solution. The 5G standard also addresses factory use cases through a lot of new features, especially on the RAN to make it more reliable and reduce the transmit latency compared to 4G. The 5G network comprises three main components, which are the UE, the RAN instantiated as the gNB and nodes, such as a User Plane Function (UPF) within the 5G core network (SGCN). The 5G network architecture is illustrated in
An ongoing research challenge is the inter-working of 5G and TSN as illustrated in
Despite what is shown in
In the following an example of how Ethernet transport in a 5G system (5GS) according to the scenario shown in
Many TSN features are based on precise time synchronization between all peers. Also, a lot of industrial applications rely on a precise synchronization. As introduced above this is achieved using e.g. IEEE 802.1AS or IEEE P802.1AS-rev. Within the TSN network it is therefore possible to achieve a synchronization with sub-microsecond error. In order to achieve this level of accuracy a hardware support might be required; e.g. for timestamping of packets.
In the network, a grandmaster (GM) is a node that transmits timing information to all other nodes in a master-slave architecture. The GM might be elected out of several potential nodes, by certain criteria that makes the selected grandmaster superior.
In a TSN-extension of 802.1AS (i.e. P802.1AS-rev), it has been defined that next to a main GM also a second redundant backup GM may be configured. In case the main GM fails for any reason, devices in the TSN domain may be synched to the second redundant GM. The redundant GM might work in a hot-standby configuration.
In TSN based on IEEE P802.1AS-rev, which is also referred to as generalized Precise Timing Protocol (gPTP) there can be multiple time domains and associated gPTP domains supported in a TSN network. The gPTP supports two timescales:
Devices in the TSN network may be synched to multiple time domains. A local arbitrary time domain may also be referred to as a working clock.
One of the initial steps for setting up the TSN stream, as explained above, and shown in
As per IEEE P802.1AS-Rev/D7.3, it is specified that the destination address of announce and signaling messages shall be reserved a multicast address 01-80-C2-00-00-0E. Furthermore, also the destination MAC address of SYNC, Follow-Up, Pdelay_Request, Pdelay_Response and Pdelay_Response_Follow_Up which are all used for peer-to-peer synchronization shall be reserved the multicast address 01-80-C2-00-00-0E. It shall be noted that as per IEEE802.1Q, frames with this address can never be forwarded (non-forwardable address) but must be terminated by the bridge. As Source address they shall use the MAC address of any egress physical port.
As introduced above, the TSN domain works with different clocks, such as e.g. global and working clocks. Furthermore, the clocks of each TSN domain are not necessarily synchronized and a factory network might comprise of several TSN domains. Therefore, across a factory network there might be several independent TSN domains with arbitrary timescales where different maybe overlapping subsets of devices need to be synchronized. As shown in
To satisfy time synchronization requirements for TSN in manufacturing use cases, a cellular network is required to provide a time reference to which all machines, such as e.g. sensors or actuators, can be synchronized.
Currently in 3GPP standardization release 15 for LTE radio, a mechanism has been developed that allows time synchronization between Base Stations (BSs) and UEs with a sub-microseconds accuracy.
It has been proposed in 3GPP RAN 2, to add two Information Elements (IE) into SIB 16, such as e.g. time reference with a certain granularity, e.g. 0.25 μs, and an uncertainty value, and the DL Radio Resource Control (RRC) message UETimeReference to transmit a GPS time to the UE with three IEs added in an RRC message.
The main purpose of this procedure is to transfer GPS based time reference information to UEs along with inaccuracy of that information.
LTE defines several system information blocks (SIBs), related to timing information in SIB 16, which contains information related to GPS time and coordinated universal time (UTC).
SIBs are transmitted over a Downlink Shared Channel (DL-SCH). The presence of a SIB in a subframe is indicated by the transmission of a corresponding Physical Downlink Control Channel (PDCCH) marked with a special system-information RNTI (SI-RNTI).
The Information Element (IE) SIB 16 contains information related to GPS time and UTC. The UE may use the parameter blocks to obtain the GPS and the local time.
Another way of providing time synchronization may be to use a time reference information message in RRC signaling to transmit the GPS time to the UE.
The release 16 work is ongoing and different options are discussed to address the needs for time synchronization as required by TSN and industrial applications. Especially the support of multiple time domains in 5G is an open topic.
For the purposes of this present discussion, it is assumed that 5GS internal signaling is used to transport time information. In this case the 5GS may act as a gPTP time-aware device (which is defined to be compliant with an IEEE1588 boundary clock)—it may use ingress gPTP frames to get time aware itself or may have separate gPTP instances handling the 5G system clock and external TSN clocks. An internal signaling in the RAN and Core may be used to transport the relevant gPTP information internally and when received by the UE it may then act as a gPTP master at the UE egress. The 5GS in this case must support and participate in all Best Master Clock Algorithms (BMCAs) (one gPTP instance per gPTP domain must operate in this case) or being configured to its gPTP role by an external entity. A simplified option is possible where a static BMCA is implemented. The actual operation of the BMCA is out of the scope of this disclosure, but the solutions identified herein support the transfer of the related information received via Announce messages. Generation of Announce messages may also be required at the 5GS interfaces or at the internal interfaces of the 5GS nodes, if cascaded time-aware systems are implemented.
gPTP messages are sent to synchronize slaves to a master. In gPTP, for example domain numbers are used to establish multiple time domains in parallel in a network. These numbers help a slave to synchronize its clock to a certain time domain master. Until now, there is no way a 5G system can efficiently support multiple time domains as required by industrial automation applications. This is particularly important in case a large number of domains need to be supported, such as e.g. 32 domains, and large number of UEs are connected.
Depending on how time signals are transported in the 5GS, and especially what transmission type (Broadcast, Multicast, Unicast) is chosen at the RAN, RAN knowledge about which UE needs which time domain signal may be very important. This is however not supported today.
The communications network 100 comprises a Radio Access Network (RAN) and a Core Network (CN). The communication network 100 may use a number of different technologies, such as Long Term Evolution (LTE), LTE-Advanced, 5G, Wideband Code Division Multiple Access (WCDMA), Global System for Mobile communications/Enhanced Data rate for GSM Evolution (GSM/EDGE), Worldwide Interoperability for Microwave Access (WiMax), Wi-Fi, or Ultra Mobile Broadband (UMB), just to mention a few possible implementations. In the communication network 100, one or more UEs 120 may communicate via one or more Access Networks (AN), e.g. RAN, to one or more CNs. The UE 120 may e.g. be a wireless device (WD), a mobile station, a non-access point (non-AP) STA, a STA, and/or a wireless terminal. It should be understood by those skilled in the art that “wireless device” is a non-limiting term which means any terminal, wireless communication terminal, user equipment, Machine Type Communication (MTC) device, Device to Device (D2D) terminal, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a base station communicating within a cell.
The RAN comprises a set of radio network nodes, such as radio network nodes 110, 111 each providing radio coverage over one or more geographical areas, such as a cell 130, 131 of a radio access technology (RAT), such as 5g, LTE, UMTS, Wi-Fi or similar. The radio network node 110, 111 may be a radio access network node such as radio network controller or an access point such as a wireless local area network (WLAN) access point or an Access Point Station (AP STA), an access controller, a base station, e.g. a radio base station such as a gNB, a NodeB, an evolved Node B (eNB, eNodeB), a base transceiver station, Access Point Base Station, base station router, a transmission arrangement of a radio base station, a stand-alone access point or any other network unit capable of serving a wireless device within the cell, which may also be referred to as a service area, served by the radio network node 110, 111 depending e.g. on the first radio access technology and terminology used.
The CN further comprises a core network node 140 which is configured to communicate with the radio network nodes 110, 111, via e.g. an S1 interface. The core network node may e.g. be a Mobile Switching Centre (MSC), a Mobility Management Entity (MME), an Operations & Management (O&M) node, an Operation, Administration and Maintenance (OAM) node, an Operations Support Systems (OSS) node and/or a Self-Organizing Network (SON) node. The core network node 140 may further be a distributed node comprised in a cloud 141.
The UE 120 is located in the cell 130 of the network node 110, which is referred to as the serving cell, whereas the cell 131 of the network nodes 111 are referred to as neighboring cells. Although, the network node 110 in
Note that although terminology from 3GPP 5G has been used in this disclosure to exemplify the embodiments herein, this should not be seen as limiting the scope of the embodiments herein to only the aforementioned system. Other wireless systems, including WCDMA, WiMax, UMB, GSM network, any 3GPP cellular network or any cellular network or system, may also benefit from exploiting the ideas covered within this disclosure.
In the following, the embodiments herein will be described in further detail.
According to the embodiments herein the 5GS may receive gPTP messages from an external network in which a grandmaster is deployed. The gPTP messages from the GM may be received either on a UE or UPF side of the 5GS. As multiple time domains are used in industrial networks as introduced above, there may be multiple signals arriving at the 5GS. One example of multiple time domain support in the 5GS for a scenario in which the grandmaster is located on the UPF-side of the 5GS is illustrated in
This embodiments herein assume a non-transparent transport of gPTP frames in the 5GS is used, in other words the information is extracted from gPTP frames and relayed through the 5GS using 3GPP signalling. The information about the time domains and which UE belongs to which time domain is particularly important for cases where a large number of UEs are connected and a significant number of gPTP domains need to be supported, such as e.g. more than two gPTP domains.
One scenario is where the Grandmaster is on UPF side of the 5GS—downlink: Either the UPF or the gNB may receive gPTP messages and may act as a slave to an external TSN network. Hence, one specific gPTP instance, such as e.g. an instantiation of a gPTP application, implemented in either the UPF or in a gNB may handle the gPTP messages belonging to that specific gPTP domain, as indicated by the domainNumber attribute, and, as a result of for example a BMCA for the specific gPTP domain, lock to the related GM. In case the UPF provides the instantiation, the UPF will forward the time information extracted from the gPTP message to one or more gNB(s) plus the information about the time domain it belongs to. The UPF may e.g. be configured with a set of ethernet MAC multicast addresses for which it will relay corresponding time information and time domain information to one or more gNBs. Note that when the UPF acquires the timing information, such as e.g. an external TSN working clock value and a corresponding time domain, from gPTP messages it relays it to the gNB for further distribution to the UE, the actual gPTP messages are not relayed. Different options are available for transmitting timing information in RAN, in particular, not necessarily requiring involvement of the gNB. For example, in case a distributed time-aware approach is implemented, only the devices at the edges of the 5GS may need to handle and process the gPTP messages. However, the embodiments herein focus on the case where RAN is necessarily involved and uses SIB based or RRC based methods for conveying timing information to UEs.
If a radio broadcast (for example SIB messages) is used in the RAN: The UEs need to know which broadcasted signal belongs to which time domain. Each time domain may be broadcasted individually, or one broadcast signal might carry information for multiple time domains.
If a radio multicast or unicast (using e.g. RRC signaling) is used: The gNB or gNBs in general needs to know which UE or UEs requires which time signal from which time domain.
At the egress of the 5GS, i.e. when the message leaves the 5GS, the UE may act as a gPTP master to any device connected to it. This may involve a creation or re-creation of various gPTP frames, such as e.g. Sync, Follow_up, Pdelay_request, Pdelay_response, PDelay_Response_Follow_up, Announce etc., based on the timing and other information, such as e.g. domainNumbers, from a gNB. This is similar to action 1202 described with regards to the method performed by the receiving device in
For all the embodiments mentioned above it is not important how the time signals are transported in the RAN (i.e. which signals are used and how these signals are designed to achieve a sufficient accuracy), besides whether it is unicasted, multicasted or broadcasted.
For all embodiments mentioned above it might further be relevant to also transmit other gPTP information to/from the UE, such as e.g. information related to the handling of BMCA and related information required to generate the outgoing PTP messages, such as e.g. a clock identifier. This may be the case in all three cases described above, i.e. broadcast, multicast, and unicast, either as dedicated RRC or SIB signaling next to the time signal transmission or as part of the time signaling in RRC or SIB messages.
Furthermore, an Internet Protocol (IP) may be used for transporting the gPTP frames. All methods in here might be applicable in a similar manner in this case where IP is used above Ethernet on Layer 3 (L3).
Another scenario is when the grandmaster on the UE side of the 5GS—Uplink: When the grandmaster is on the UE side of the 5GS, then the UE needs to forward time information to the gNB. The UE may receive gPTP messages and is therefore time aware. The 5GS needs to be informed about which time domain a transmitted signal belongs to. Only unicast, such as e.g. using RRC signaling, is possible in uplink.
In one embodiment, the 5G network may be informed about the time domain by means of a dedicated RRC signaling from the UE to the gNB that indicates the time domain number. When multiple time domains are present the dedicated RRC signaling may comprise multiple time domain numbers. The gNB may receive this information and either forward it to the UPF or may use it itself in order to forward the timing information from the UE to the correct time domain, in order to ultimately re-establish gPTP frames with the correct domainNumber. The RRC signaling may be performed as part of the time signaling or may be negotiated beforehand. If it is negotiated that the UE will signal time from multiple time domains an identifier might be used to distinguish the time domains within the time signals.
According to a further embodiment the time domains may also be pre-configured (UE #12345 may be configured to only uplink a time domain signal belonging to time domain i). If it is pre-configured that the UE will signal time from multiple time domains, an identifier might be used to distinguish them. A pre-configuration may also be performed as described in the embodiments above, based on input from an external TSN CNC e.g. through the AF as explained for the downlink embodiments.
The embodiments herein have the benefit that they allow end-to-end time synchronization with multiple time-domains. Thereby the 5GS system is now able to forward time signals from multiple time domains efficiently.
Additional embodiments of techniques for handling precise timing protocol signaling from a time sensitive network are described below.
According to the embodiments herein the 5GS may receive gPTP messages from an external network in which a grandmaster (GM) is deployed. The gPTP messages from the GM may be received either on a UE or UPF side of the 5GS. As multiple time domains are used in industrial networks as introduced above, there may be multiple signals arriving at the 5GS. In the embodiments below it is assumed that the gPTP frames are transparently transported in the 5GS. In this case it is particularly important to know about which nodes require which time domain signals, (i.e. gPTP frames carrying to a certain domainNumber), for cases where a large number of UEs are connected and a significant number of gPTP domains need to be supported, such as e.g. more than two gPTP domains. Solutions for both uplink and downlink transmission of time signals are introduced. The information about the time domains and which UE belongs to which time domain is particularly important for cases where a large number of UEs are connected and a significant number of gPTP domains need to be supported, such as e.g. more than two gPTP domains.
Grandmaster on UPF side of the 5GS—Downlink: The 5GS forwards gPTP frames end-to-end (i.e. TSN source node supporting a given working clock exchanges gPTP frames with a UE or with an end station associated with that UE) which gPTP frames carry time information. Each gPTP frame may comprise the domainNumber header field which indicates the time domain the gPTP frame belongs to. The gPTP frames may need to be transported in PDU sessions to a UE or to a plurality of UEs. The details of the related solutions depend on the specific mechanism that is implemented in order to “transparently” carry the PTP time information across the 5GS, such as e.g., acting as a distributed transparent clock, or equalizing the delays on both direction so as to create a symmetric channel. In this case there is no need for the 5GS to participate in the BMCA.
If a broadcast of gPTP frames is used in the 5GS: In case a broadcast of gPTP frames is performed in the 5GS instead, e.g. by means of the gNB, then the UE or UEs need to decide whether they are listening to a certain broadcast or not. This may be performed in a similar manner as in the first embodiment above by checking whether any device connected to the UE sends Announce messages belonging to a specific PTP domain. The UE may not listen to the specific gPTP time domain broadcast any longer or not forward any gPTP frames if the connected end stations or end stations is/are not operating in this PTP domain. This is illustrated in
If a unicast or multicast of gPTP frames is used in the 5GS: Ingress frames to the 5GS will carry a multicast destination MAC address—the 5G network (for example the UPF) needs to decide to which UE (i.e. PDU sessions) it will forward gPTP frames to; gPTP frames might be detected by the PTP-specific Ethertype field.
In one embodiment, an end station connected to a UE will generate Announce messages carrying information on the gPTP domain (domainNumber carried in the PTP header) it is operating or a 5GS node might use for example Announce messages to detect the interests of end stations. A node in the 5GS, like for example the UPF could learn which UE, respectively end stations behind a UE are interested in which gPTP messages and establish for example rules for routing incoming gPTP frames accordingly.
Any follow up/sync messages are only transmitted to UEs interested in these gPTP packets (which are these ones that operate in that specific gPTP domain); a UE will transparently forward gPTP messages from an end station or end stations it is connected to, to for example the UPF to learn about end-stations' needs.
Example of this embodiment:
According to another embodiment it may be pre-configured in the 5G network, which UEs will receive frames from a specific time domain; the frames may be forwarded in UPF to PDU sessions based on the domainNumber. The SMF may be an entity configuring filters in UPF at setup or modification of PDU sessions. In one way, the 5GS will obtain information from the TSN network about which time domain signal need to be directed to which UE i.e. UE identifier, or MAC address of an end station connected to the UE respectively. This may e.g. obtained from the external TSN CNC towards the Application Function (AF) when the CNC sets up TSN domains in the TSN network. The CNC may announce which time domain signals need to be forwarded to which port, i.e. UE or MAC address. AF might trigger any other core network function to set the right filter or rules in UPF to forward gPTP frames to the right PDU sessions using domainNumbers.
This is illustrated in
For all embodiments described above (such as e.g. unicast or broadcast) it is further not relevant how the gPTP are transported in the 5GS, besides whether the gPTP frame is unicasted, multicasted or broadcasted to the UE. This may comprise time stamping of gPTP frames in the 5GS ingress and egress to calculate a correction time and compensate varying delays in the 5GS. This is shown in
Furthermore, it is also possible that an Internet Protocol (IP) is used as for transporting the gPTP frames. All embodiments described herein may be applicable in a similar manner in the case where IP is used above Ethernet on Layer 3 (L3). The translator function as illustrated in
Grandmaster on the UE side of the 5GS—Uplink: If the grandmaster is located on the UE side of the 5GS, then the UE needs to forward the time information to the gNB. In this case the UE may be the transmitting device, and the gNB and/or the UPF may be the receiving device. The UE may receive gPTP messages from the TSN and will therefore be time aware. The 5GS may require information regarding the time domains in order to be aware about to which time domain the time information forwarded from the UE belongs to.
The UE always uses unicast to forward gPTP frames to the 5G network. Based on the gPTP frame headers, the network is able to determine the time domain. According to one embodiment herein it might not be necessary to transmit all gPTP frames but only a subset and filter others at the UE side. The 5G network, for example at the UPF, may recreate any not transmitted gPTP frames.
According to a special case it may be necessary to forward the time signal to another UE instead of to an external TSN network, such as a Data Network. In this case the 5GS may use one of the methods introduced above in relation to the embodiments related to Downlink, obtaining the information regarding the time domain number from the frame headers it receives.
The embodiments herein have the benefit that they allow end-to-end time synchronization with multiple time-domains. Thereby the 5GS system is now able to forward time signals from multiple time domains efficiently.
It will be appreciated that the methods described above may be carried out by various ones of the nodes described elsewhere in this document. Likewise, any combinations of the above, as implemented by appropriate nodes, are possible and are contemplated by the present disclosure.
Wireless Devices/UEs
Many of the techniques described above are carried out, in whole or in part, by a wireless device, or UE. As used herein, the terms “wireless device,” “user equipment,” and “UE” are used interchangeably, unless the context of a specific use clearly indicates otherwise, and refer to a device capable, configured, arranged and/or operable to communicate wirelessly with network equipment and/or another wireless device. In the present context, communicating wirelessly involves transmitting and/or receiving wireless signals using electromagnetic signals. In particular embodiments, wireless devices may be configured to transmit and/or receive information without direct human interaction. For instance, a wireless device may be designed to transmit information to a network on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the network. Generally, a wireless device may represent any device capable of, configured for, arranged for, and/or operable for wireless communication, for example radio communication devices. Examples of wireless devices include, but are not limited to, user equipment (UE) such as smart phones. Further examples include wireless cameras, wireless-enabled tablet computers, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), USB dongles, and/or wireless customer-premises equipment (CPE).
As one specific example, a wireless device may represent a UE configured for communication in accordance with one or more communication standards promulgated by the 3rd Generation Partnership Project (3GPP), such as 3GPP's GSM, UMTS, LTE, and/or 5G standards. As used herein, a “user equipment” or “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 that may not initially be associated with a specific human user. It should also be appreciated that in the previous detailed discussion, the term “UE” is used, for convenience, even more generally, so as to include, in the context of 5G, any type of wireless device that accesses and/or is served by the 5G network, whether or not the UE is associated with a “user” per se. Thus, the term “UE” as used in the above detailed discussion includes machine-type-communication (MTC) devices (sometimes referred to as machine-to-machine, or M2M devices), for example, as well as handsets or wireless devices that may be associated with a “user.”
Some wireless devices may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, and may in this case be referred to as D2D communication devices.
As yet another specific example, in an Internet of Things (IOT) scenario, a wireless device 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 wireless device and/or a network equipment. A wireless device may in this case be a machine-to-machine (M2M) device, which may in a 3GPP context be referred to as a machine-type communication (MTC) device. As one particular example, a wireless device may be a UE implementing the 3GPP narrow band internet of things (NB-IoT) standard. Particular examples of such machines or devices are sensors, metering devices such as power meters, industrial machinery, or home or personal appliances, e.g. refrigerators, televisions, personal wearables such as watches etc. In other scenarios, a wireless device may represent a vehicle or other equipment that is capable of monitoring and/or reporting on its operational status or other functions associated with its operation.
A wireless device as described above may represent the endpoint of a wireless connection, in which case the device may be referred to as a wireless terminal. Furthermore, a wireless device as described above may be mobile, in which case it may also be referred to as a mobile device or a mobile terminal.
Although it will be appreciated that specific embodiments of the wireless devices discussed herein may include any of various suitable combinations of hardware and/or software, a wireless device configured to operate in the wireless communications networks described herein and/or according to the various techniques described herein may, in particular embodiments, be represented by the example wireless device 1000 shown in
As shown in
Radio front-end circuitry 1010, which may comprise various filters and amplifiers, for example, is connected to antenna 1005 and processing circuitry 1020 and is configured to condition signals communicated between antenna 1005 and processing circuitry 1020. In certain alternative embodiments, wireless device 1000 may not include radio front-end circuitry 1010, and processing circuitry 1020 may instead be connected to antenna 1005 without radio front-end circuitry 1010. In some embodiments, radio-frequency circuitry 1010 is configured to handle signals in multiple frequency bands, in some cases simultaneously.
Processing circuitry 1020 may include one or more of radio-frequency (RF) transceiver circuitry 1021, baseband processing circuitry 1022, and application processing circuitry 1023. In some embodiments, the RF transceiver circuitry 1021, baseband processing circuitry 1022, and application processing circuitry 1023 may be on separate chipsets. In alternative embodiments, part or all of the baseband processing circuitry 1022 and application processing circuitry 1023 may be combined into one chipset, and the RF transceiver circuitry 1021 may be on a separate chipset. In still alternative embodiments, part or all of the RF transceiver circuitry 1021 and baseband processing circuitry 1022 may be on the same chipset, and the application processing circuitry 1023 may be on a separate chipset. In yet other alternative embodiments, part or all of the RF transceiver circuitry 1021, baseband processing circuitry 1022, and application processing circuitry 1023 may be combined in the same chipset. Processing circuitry 1020 may include, for example, one or more central processing units (CPUs), one or more microprocessors, one or more application specific integrated circuits (ASICs), and/or one or more field programmable gate arrays (FPGAs).
In particular embodiments, some or all of the functionality described herein as relevant to a user equipment, MTC device, or other wireless device may be embodied in a wireless device or, as an alternative, may be embodied by the processing circuitry 1020 executing instructions stored on a computer-readable storage medium 1025, as shown in
The processing circuitry 1020 may be configured to perform any determining operations described herein. Determining as performed by processing circuitry 1020 may include processing information obtained by the processing circuitry 1020 by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the wireless device, 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.
Antenna 1005, radio front-end circuitry 1010, and/or processing circuitry 1020 may be configured to perform any transmitting operations described herein. Any information, data and/or signals may be transmitted to a network equipment and/or another wireless device. Likewise, antenna 1005, radio front-end circuitry 1010, and/or processing circuitry 1020 may be configured to perform any receiving operations described herein as being performed by a wireless device. Any information, data and/or signals may be received from a network equipment and/or another wireless device
Computer-readable storage medium 1025 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, code, tables, etc. and/or other instructions capable of being executed by a processor. Examples of computer-readable storage medium 1025 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by processing circuitry 1020. In some embodiments, processing circuitry 1020 and computer-readable storage medium 1025 may be considered to be integrated.
Alternative embodiments of the wireless device 1000 may include additional components beyond those shown in
As another example, wireless device 1000 may include power supply circuitry 1030. The power supply circuitry 1030 may comprise power management circuitry. The power supply circuitry may receive power from a power source, which may either be comprised in, or be external to, power supply circuitry 1030. For example, wireless device 1000 may comprise a power source in the form of a battery or battery pack which is connected to, or integrated in, power supply circuitry 1030. Other types of power sources, such as photovoltaic devices, may also be used. As a further example, wireless device 1000 may be connectable to an external power source (such as an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power supply circuitry 1030.
Power supply circuitry 1030 may be connected to radio front-end circuitry 1010, processing circuitry 1020, and/or computer-readable storage medium 1025 and be configured to supply wireless device 1000, including processing circuitry 1020, with power for performing the functionality described herein.
Wireless device 1000 may also include multiple sets of processing circuitry 1020, computer-readable storage medium 1025, radio circuitry 1010, and/or antenna 1005 for different wireless technologies integrated into wireless device 1000, such as, for example, GSM, WCDMA, LTE, NR, WiFi, or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chipsets and other components within wireless device 1000.
Wireless device 1000, in various embodiments, is adapted to carry out any of a variety of combinations of the features and techniques described herein. Several non-limiting examples are described below.
In a first example, a wireless device comprises transceiver circuitry configured to communicate with a wireless communications network and processing circuitry operatively coupled to the transceiver circuitry. The processing circuitry is configured (e.g., using program code stored in a memory) to control the transceiver circuitry and to receive system information (SI) from a radio base station (RBS) of a radio access network (RAN), the SI being indicative of support for time-sensitive networking, TSN, through the RBS, establish at least one TSN stream with the external TSN data network, through the RBS, and receive a first timing signal from the wireless communications network, via the RBS. The processing circuitry is further configured to receive a second timing signal from the external TSN data network to which the wireless device is connected, compare the first timing signal to the second timing signal to determine an offset, and transmit the offset to the wireless communications network. All of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein.
Another example wireless device configured for use in a wireless communications network likewise comprises transceiver circuitry configured to communicate with a wireless communications network and processing circuitry operatively coupled to the transceiver circuitry and configured to control the transceiver circuitry. The processing circuitry in this example wireless device is further configured to receive SI from an RBS of a RAN, the SI being indicative of support for TSN through the RBS, establish at least one TSN stream with the external data network, through the RBS, and obtain configuration information for the TSN stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the TSN stream which are to remain static. The processing circuitry is further configured to receive, from the RBS, a data packet associated with the TSN stream, and add the one or more fields to the data packet to generate a decompressed data packet. Again, all of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein.
Another example wireless device configured for communication with a RAN also comprises transceiver circuitry configured to communicate with a wireless communications network and processing circuitry operatively coupled to the transceiver circuitry and configured to control the transceiver circuitry. The processing circuitry in this example is configured to receive SI from an RBS of the RAN, the SI being indicative of support for TSN through the RBS, establish at least one TSN stream with the external data network, through the RBS, and receive, from the external network, a transmission schedule associated with the TSN stream. The wireless device is further configured to send, to a network associated with the RAN, a request to allocate radio resources for communication of the TSN stream between the wireless device and the RAN, wherein the request further comprises information related to the transmission schedule, and receive, from the network, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the TSN stream. Once more, all of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein.
Still another example wireless device configured for use in a wireless communications network comprises transceiver circuitry configured to communicate with a wireless communications network and processing circuitry operatively coupled to the transceiver circuitry and configured to control the transceiver circuitry. The processing circuitry is configured to receive SI from an RBS of a RAN, the SI being indicative of support for TSN through the RBS, establish at least one TSN stream with the external TSN data network, through the RBS, receive configuration information configuring periodic uplink grants indicating uplink resources to use for uplink transmissions to the wireless communications network, and receive a dynamic uplink grant for an uplink transmission to the wireless communications network. The processing circuitry is further configured to prioritize uplink transmission using the configured periodic uplink grant over uplink transmission using the dynamic uplink grant, on the condition that there is uplink data to be transmitted on the configured periodic uplink grant, according to a logical channel prioritization procedure. Again, all of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein.
Other examples include a first device configured to assist enrollment of a second device to an Internet of Things (IoT) environment, the first device comprising transceiver circuitry configured to communicate with the second device and processing circuitry operatively coupled to the transceiver circuitry and configured to control the transceiver circuitry. The processing circuitry is configured to obtain a representation of an enrollment function associated with the second device, where the enrollment function is associated with at least one serialized enrollment application comprising enrollment information associated with the first and second device, deserialize the enrollment application such that enrollment information associated with the first device is separated from enrollment information associated with the second device, and transmit the enrollment information associated with the second device to the second device for initiating execution by the second device of the enrollment process of the second device by configuring the second device based on the enrollment information associated with the second device. The processing circuitry is further configured to receive, from the second device, configuration information associated with the second device, use a first runtime environment executing on the first device to transfer a code module to a second runtime environment executing on the second device, wherein the code module is configured to execute within the second runtime environment and expose a function of the second device, supported by the second runtime environment, to the first device, and execute an application within the first runtime environment, the application remotely invoking the function of the second device via the transferred code module and the second runtime environment. Once more, all of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein
Yet another example is a corresponding second device configured to execute an enrollment process to an IoT environment assisted by a first device, the second device comprising transceiver circuitry configured to communicate with the first device and processing circuitry operatively coupled to the transceiver circuitry and configured to control the transceiver circuitry. The processing circuitry in this second device is configured to receive, from the first device, enrollment information associated with the second device, execute the enrollment process by configuring the second device based on the enrollment information, and transmit configuration information associated with the second device to the first device. The processing circuitry is further configured to receive a code module from a first runtime environment executing on the first device, to a second runtime environment executing on the second device, to expose a function of the second device supported by the second runtime environment to the first device, and use the second runtime environment to control performance of the function of the second device responsive to a remote invocation of the function received via the code module from an application executing within the first runtime environment. Yet again, all of the variations described above for the methods that correspond to this wireless device embodiment may apply to this example wireless device, in various embodiments, and embodiments of this wireless device may be configured to carry out additional techniques described herein
Network Equipment and Methods
As used herein, the term “network equipment” or “network node” refers to equipment capable, configured, arranged and/or operable to communicate directly or indirectly with a wireless device and/or with other equipment in the wireless communication network that enable and/or provide wireless access to the wireless device. Examples of network equipment include, but are not limited to, access points (APs), in particular radio access points. Network equipment may represent base stations (BSs), such as radio base stations. Particular examples of radio base stations include Node Bs, and evolved Node Bs (eNBs). Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power levels) and may then also be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. “Network equipment” also includes one or more (or all) parts of a distributed radio base station such as centralized digital units and/or remote radio units (RRUs), sometimes referred to as 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 stations may also be referred to as nodes in a distributed antenna system (DAS).
As a particular non-limiting example, a base station may be a relay node or a relay donor node controlling a relay.
Yet further examples of network equipment include multi-standard radio (MSR) radio 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), core network nodes (e.g., MSCs, MMEs), O&M nodes, OSS nodes, SON nodes, positioning nodes (e.g., E-SMLCs), and/or MDTs. More generally, however, network equipment may represent any suitable device (or group of devices) capable, configured, arranged, and/or operable to enable and/or provide a wireless device access to the wireless communication network or to provide some service to a wireless device that has accessed the wireless communication network.
As used herein, the term “radio network equipment” is used to refer to network equipment that includes radio capabilities. Thus, examples of radio network equipment are the radio base stations and radio access points discussed above. It will be appreciated that some radio network equipment may comprise equipment that is distributed—such as the distributed radio base stations (with RRHs and/or RRUs) discussed above. It will be appreciated that the various references herein to eNBs, eNodeBs, Node Bs, and the like are referring to examples of radio network equipment. It should also be understood that the term “radio network equipment” as used herein may refer to a single base station or a single radio node, in some cases, or to multiple base stations or nodes, e.g., at different locations. In some cases, this document may refer to an “instance” of radio network equipment, to more clearly describe certain scenarios where multiple distinct embodiments or installations of radio equipment are involved. However, the lack of reference to an “instance” in connection with a discussion of radio network equipment should not be understood to mean that only a single instance is being referred to. A given instance of radio network equipment may alternatively be referred to as a “radio network node,” where the use of the word “node” denotes that the equipment referred to operate as a logical node in a network, but does not imply that all components are necessarily co-located.
While radio network equipment may include any suitable combination of hardware and/or software, an example of an instance of radio network equipment 1100 is illustrated in greater detail by
Radio front-end circuitry 1110, which may comprise various filters and amplifiers, for example, is connected to antenna 1105 and processing circuitry 1120 and is configured to condition signals communicated between antenna 1105 and processing circuitry 1120. In certain alternative embodiments, radio network equipment 1100 may not include radio front-end circuitry 1110, and processing circuitry 1120 may instead be connected to antenna 1105 without radio front-end circuitry 1110. In some embodiments, radio-frequency circuitry 1110 is configured to handle signals in multiple frequency bands, in some cases simultaneously.
Processing circuitry 1120 may include one or more of RF transceiver circuitry 1121, baseband processing circuitry 1122, and application processing circuitry 1123. In some embodiments, the RF transceiver circuitry 1121, baseband processing circuitry 1122, and application processing circuitry 1123 may be on separate chipsets. In alternative embodiments, part or all of the baseband processing circuitry 1122 and application processing circuitry 1123 may be combined into one chipset, and the RF transceiver circuitry 1121 may be on a separate chipset. In still alternative embodiments, part or all of the RF transceiver circuitry 1121 and baseband processing circuitry 1122 may be on the same chipset, and the application processing circuitry 1123 may be on a separate chipset. In yet other alternative embodiments, part or all of the RF transceiver circuitry 1121, baseband processing circuitry 1122, and application processing circuitry 1123 may be combined in the same chipset. Processing circuitry 1120 may include, for example, one or more central CPUs, one or more microprocessors, one or more ASICs, and/or one or more field FPGAs.
In particular embodiments, some or all of the functionality described herein as being relevant to radio network equipment, radio base stations, eNBs, gNBs, etc., may be embodied in radio network equipment or, as an alternative may be embodied by the processing circuitry 1120 executing instructions stored on a computer-readable storage medium 1125, as shown in
The processing circuitry 1120 may be configured to perform any determining operations described herein. Determining as performed by processing circuitry 1120 may include processing information obtained by the processing circuitry 1120 by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the radio network equipment, 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.
Antenna 1105, radio front-end circuitry 1110, and/or processing circuitry 1120 may be configured to perform any transmitting operations described herein. Any information, data and/or signals may be transmitted to any network equipment and/or a wireless device. Likewise, antenna 1105, radio front-end circuitry 1110, and/or processing circuitry 1120 may be configured to perform any receiving operations described herein as being performed by a radio network equipment. Any information, data and/or signals may be received from any network equipment and/or a wireless device.
Computer-readable storage medium 1125 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, code, tables, etc. and/or other instructions capable of being executed by a processor. Examples of computer-readable storage medium 1125 include computer memory (for example, RAM or ROM), mass storage media (for example, a hard disk), removable storage media (for example, a CD or a DVD), and/or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by processing circuitry 1120. In some embodiments, processing circuitry 1120 and computer-readable storage medium 1125 may be considered to be integrated.
Alternative embodiments of the radio network equipment 1100 may include additional components beyond those shown in
As another example, radio network equipment 1100 may include power supply circuitry 1130. The power supply circuitry 1130 may comprise power management circuitry. The power supply circuitry 1130 may receive power from a power source, which may either be comprised in, or be external to, power supply circuitry 1130. For example, radio network equipment 1100 may comprise a power source in the form of a battery or battery pack which is connected to, or integrated in, power supply circuitry 1130. Other types of power sources, such as photovoltaic devices, may also be used. As a further example, radio network equipment 1100 may be connectable to an external power source (such as an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power supply circuitry 1130.
Power supply circuitry 1130 may be connected to radio front-end circuitry 1110, processing circuitry 1120, and/or computer-readable storage medium 1125 and be configured to supply radio network equipment 1100, including processing circuitry 1120, with power for performing the functionality described herein.
Radio network equipment 1100 may also include multiple sets of processing circuitry 1120, computer-readable storage medium 1125, radio circuitry 1110, antenna 1105 and/or communication interface circuitry 1140 for different wireless technologies integrated into radio network equipment 1100, such as, for example, GSM, WCDMA, LTE, NR, WiFi, or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chipsets and other components within radio network equipment 1100.
One or more instances of the radio network equipment 1100 may be adapted to carry out some or all of the techniques described herein, in any of various combinations, including the methods and techniques described herein as carried out by a radio base station, a gNB, or the like. It will be appreciated that in a given network implementation, multiple instances of radio network equipment 1100 will be in use. In some cases, several instances of radio network equipment 1100 at a time may be communicating with or transmitting signals to a given wireless device or group of wireless devices. Thus, it should be understood that while many of the techniques described herein may be carried out by a single instance of radio network equipment 1100, these techniques may be understood as carried out by a system of one or more instances of radio network equipment 1100, in some cases in a coordinated fashion. The radio network equipment 1100 shown in
Others of the network equipment or network nodes described herein are not radio network equipment, in that they lack radio transceivers for communicating with one or more wireless devices, but are instead configured to communicate with one or more other network nodes in the communication system, typically via standardized interfaces. These other network nodes may be understood as comprising many of the same features shown in the example radio network equipment 1100 illustrated in
Network nodes like those described above may be configured to carry out one or several of the methods described herein. In one non-limiting example, a network node configured for use in a core network associated with a RAN, for handling a time-sensitive data stream associated with a user equipment UE and an external network, comprises communication interface circuitry configured to communicate with one or more other network nodes and processing circuitry operatively coupled to the communication interface circuitry. The processing circuitry is configured to receive, from the external network, a transmission schedule associated with a time-sensitive data stream, send, to the RAN, a request to allocate radio resources for communication of the data stream between the RAN and a first UE, wherein the request further comprises information related to the transmission schedule, and receive, from the RAN, a response indicating whether radio resources can be allocated to meet the transmission schedule associated with the data stream. The processing circuitry is further configured to obtain configuration information for the data stream, the configuration information indicating respective values for one or more fields within a header of data packets associated with the data stream which are to remain static, initiate transmission of the configuration information to the first UE, receive a data packet associated with the data stream from the external data network, remove the one or more fields from the data packet to generate a compressed data packet, and initiate transmission of the compressed data packet to the first UE. All of the variations described above for the methods that correspond to this network node embodiment may apply to this example network node, in various embodiments, and embodiments of this network node may be configured to carry out additional techniques described herein.
Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include Digital Signal Processor (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as Read Only Memory (ROM), Random Access Memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
Application of the Presently Disclosed Techniques to a Network Comprising a Host Computer
In the detailed discussion and examples provided above, several techniques have been described with respect to operations carried out in a wireless device, a radio access network, or a wireless telecommunications core network node, for example. It will be appreciated, however, that these techniques may be understood as being carried out in a broader context of a communication system that encompasses, but is not limited to, these wireless network components. This communication system may thus further comprise fixed (wired) networks, application servers, server farms, user computers accessing services related to a wireless network, etc. Likewise, the techniques described herein may encompass or be utilized by services and/or applications that transcend the wireless network itself. Consequently, the advantages described herein for many of the disclosed techniques, such as improved latency, reliability, security, etc., may accrue to these services and/or applications.
The telecommunication network 610 is itself connected to a host computer 630, which may be embodied in the hardware and/or software of a standalone server, a cloud-implemented server, a distributed server or as processing resources in a server farm. The host computer 630 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. The connections 621, 622 between the telecommunication network 610 and the host computer 630 may extend directly from the core network 614 to the host computer 630 or may go via an optional intermediate network 620. The intermediate network 620 may be one of, or a combination of more than one of, a public, private or hosted network; the intermediate network 620, if any, may be a backbone network or the Internet; in particular, the intermediate network 620 may comprise two or more sub-networks (not shown).
The communication system of
Example implementations, in accordance with an embodiment, of the UE, base station and host computer discussed in the preceding paragraphs will now be described with reference to
The communication system 700 further includes a base station 720 provided in a telecommunication system and comprising hardware 725 enabling it to communicate with the host computer 710 and with the UE 730. The hardware 725 may include a communication interface 726 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 700, as well as a radio interface 727 for setting up and maintaining at least a wireless connection 770 with a UE 730 located in a coverage area (not shown in
The communication system 700 further includes the UE 730 already referred to. Its hardware 735 may include a radio interface 737 configured to set up and maintain a wireless connection 770 with a base station serving a coverage area in which the UE 730 is currently located. The hardware 735 of the UE 730 further includes processing circuitry 738, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. The UE 730 further comprises software 731, which is stored in or accessible by the UE 730 and executable by the processing circuitry 738. The software 731 includes a client application 732. The client application 732 may be operable to provide a service to a human or non-human user via the UE 730, with the support of the host computer 710. In the host computer 710, an executing host application 712 may communicate with the executing client application 732 via the OTT connection 750 terminating at the UE 730 and the host computer 710. In providing the service to the user, the client application 732 may receive request data from the host application 712 and provide user data in response to the request data. The OTT connection 750 may transfer both the request data and the user data. The client application 732 may interact with the user to generate the user data that it provides.
It is noted that the host computer 710, base station 720 and UE 730 illustrated in
In
The wireless connection 770 between the UE 730 and the base station 720 is in accordance with the teachings of the embodiments described throughout this disclosure. The various techniques have the potential to improve data rate, capacity, latency, reliability, security, and/or power consumption for the network and UE 730 using the OTT connection 750, as described above in connection with each of the described techniques, and thereby provide benefits such as reduced user waiting time, more capacity, better responsiveness, and better device battery time.
A measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 750 between the host computer 710 and UE 730, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection 750 may be implemented in the software 711 of the host computer 710 or in the software 731 of the UE 730, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 750 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 711, 731 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 750 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the base station 720, and it may be unknown or imperceptible to the base station 720. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling facilitating the host computer's 710 measurements of throughput, propagation times, latency and the like. The measurements may be implemented in that the software 711, 731 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 750 while it monitors propagation times, errors etc.
It will be appreciated that the methods illustrated in
Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present inventive concepts. All such variations and modifications are intended to be included herein within the scope of present inventive concepts. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of present inventive concepts. Thus, to the maximum extent allowed by law, the scope of present inventive concepts is to be determined by the broadest permissible interpretation of the present disclosure including the examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.