SYSTEM AND METHOD OF ROUTING TRAFFIC FOR A CLUSTER OF DEVICES SERVICED BY A BASE STATION

A device may receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station. A device may add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device. A device may identify a second machine-to-machine identifier of a second mobile device served by the base station. A device may transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device. The base station can notify a network node of the local traffic routing for charging purposes.

FIELD OF THE INVENTION

The present disclosure relates to packet routing and more specifically to a new routing procedure for a cluster of devices serviced by a base station in which routing between the devices of the cluster of devices is handled by the base station and not a core network infrastructure. The routing can be called a “RAN” or radio-access network-based routing.

BACKGROUND

Latency and bandwidth are critical factors in critical/Industrial Internet-of-Things (IoT) devices and applications. These devices often use a communication protocol such as 5G of another 3GPP (3rd Generation Partnership Project) cellular technology. The 3GPP is an umbrella term for a number of standards organizations which develop protocols for mobile telecommunications. There are typically two types of communication used by Internet-of-Things (IoT) devices: Machine-to-Machine flows and Machine-to-Application server flows.

Given the mobile communication infrastructure, when a device communicates with another device through the mobile communication infrastructure, there are often latency issues and bandwidth constraints that may reduce the quality of service for a respective device.

DETAILED DESCRIPTION

Overview

As noted above, using the traditional mobile communication infrastructure can cause latency or bandwidth issues that can reduce the quality of service. Currently, 3GPP does not define the method to allow a base station such as a gNB (a next generation node B for 5G mobile communications or any base station) to route the traffic locally even if the IoT devices are within the same gNB coverage. As per the current implementation, if there is traffic between the two machines, that are served by the same access point and data network (as identified by an access point name and a data network name (APN/DNN)) and even under the same radio cell, the traffic will be sent to the core network or user plane function (UPF) over GTP-U or general packet radio service (GPRS) tunneling protocol which carries user data between a radio access network (the base station or gNB) and the core network. Reference to a gNB here can refer to any base station, access point or any device configured to enable wireless communication for more than one mobile device.

There are known concerns with radio access network (RAN)-based routing and the proposal disclosed herein that will address these concerns: The gNB cannot open the user packet so it cannot see the destination routing information. Charging for data usage can be a concern when one bypasses the core network for user traffic. Further, lawful intercept will be a concern when one bypasses the core network for user traffic.

This disclosure introduces an approach to routing traffic between devices covered in the same gNB in which the traffic is routed from a first device to the gNB and then directly routed to a second device within the service area of the gNB. The traffic is not routed to core network. The local routing concept can be referred to as RAN-based routing, machine-to-machine identifier-based routing (or M2M_ID-based routing) or some other characterization. In general, the routing of traffic is managed by a base station which, when the proper flag is set and/or other conditions are in place, the traffic between two devices is routed through the base station and not a core network node beyond the base station in the network. The base station can report the local routing of traffic for charging purposes of an AMF or access and mobility management function.

In some aspects, the techniques described herein relate to a method including: receiving, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; adding the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identifying a second machine-to-machine identifier of a second mobile device served by the base station; and transmitting, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In some aspects, the techniques described herein relate to a system for accessing local routing of traffic, the system including: at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In some aspects, the techniques described herein relate to a system for accessing local routing of traffic, the system including: means for receiving, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; means for adding the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; means for identifying a second machine-to-machine identifier of a second mobile device served by the base station; and means for transmitting, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In some aspects, the techniques described herein relate to a computer-readable storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In some aspects, the techniques described herein relate to a method including: creating, via an application function, a cluster of devices under coverage area of a base station; assigning a respective identifier for each device of the cluster of devices; transmitting the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and routing traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

In some aspects, the techniques described herein relate to a system for providing local routing of traffic, the system including: at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

In some aspects, the techniques described herein relate to a system for providing local routing of traffic, the system including: means for creating, via an application function, a cluster of devices under coverage area of a base station; means for assigning a respective identifier for each device of the cluster of devices; means for transmitting the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and means for routing traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

In some aspects, the techniques described herein relate to a computer-readable storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

Example Embodiments

As noted above, the proposed solution described herein enables local routing of traffic between two devices that are each communicating with or in the coverage area a base station such as a gNB. Examples of such traffic can include any two or more devices in the coverage area of the base station and can include, but are not limited to, mobile devices, computers, non-mobile devices, Internet-of-Things devices such as robots, slow moving devices, vehicles, drones, devices in connection with production lines, mines, conveyer belts and so forth.

As noted above, there are latency issues with the traditional traffic routing approach. The proposed approach addresses these concerns by introducing RAN-based routing and also addresses issues where the base station cannot open a user packet so it cannot see the destination routing information. Other issues addressed include dealing with charging for data use where the approach bypasses the core network for user traffic. Further, the issue of how to handle a lawful intercept of the user traffic is also addressed as this will be a concern when the new local routing approach bypasses the core network for user traffic.

One example use case would be a warehouse or manufacturing facility which uses many robots or other devices which need to communicate with each other. A cluster of these devices can be created or identified, and each device can be assigned a machine-to-machine identifier and a flag can be set such that traffic between the devices can be handled at the base station (rather than other network routers, applications or other components of the network). To achieve this goal, changes can be made to the packet core policy function (PCF) of a network such as a 5G network and with the help of an application function, can create or identify a cluster of two or more devices under the same coverage of a base station such as a gNB. Each device is assigned a temporary machine-to-machine identifier (M2M_ID).

FIG. 1 illustrates a set of user plane protocol stacks 100 including a user equipment (UE) protocol stack 102 for a UE 101 that includes a data layer 106, and the new M2M_ID layer 108 that stores the M2M_ID. In FIG. 1, the UE 101 represents any device that can communicate wirelessly with the gNB or the base station 103 which can represent any base station, access point, or other type of device no matter what type of wireless communication protocol is used, such as 5G, 6G, WiFi, BlueTooth, near-field communication (NFC) and so forth. While the example wireless protocol is a 3GPP 5G or 6G protocol, any wireless protocol or network can utilize the principles disclosed herein.

Currently, the base station only sees up to the SDAP (Service Data Adaptation Protocol) layer (e.g., SDAP layer 110) and everything above the SDAP layer 110 is invisible to the base station. The base station 103 currently forwards the information associated with the layers above the SDAP layer 110. Other layers for the UE 101 include the PDCP (Packet Data Convergence Protocol) layer 112, the RLS (Radio Link Control) layer 114, the MAC (Medium Access Control) layer 116 and the Physical layer 118. The base station 103 (such as a gNB) includes corresponding layers in a new base station stack 104 as well including a data layer 120, a new M2M_ID layer 122, an SDAP layer 124, a PDCP layer 126, an RLC layer 128, a MAC layer 130 and a physical layer 132.

The approach is to utilize the new M2M_ID layer 108, 122 for local packet routing. The base station 103 can use embedded functionality already existing to extract data from the M2M_ID layer 108 and implement local routing. Alternatively, a packet interceptor function could be added to the base station 103 to intercept or to obtain, understand and implement local traffic routing at the base station 103. In one aspect, the M2M_ID layer 108, 122 that is added above the SDAP layer 110, 124 can include the M2M_ID for a destination device for traffic.

The M2M_ID can be temporarily assigned to the UE 101 and managed by a core network function such as an application function. Neighboring devices (i.e., in the same industry site, plant, warehouse, store, etc.) can learn the nearby IoT device M2M_ID from the application function. A source device that transmits traffic destined for a destination device can include the M2M_ID (of one or more of the source device and the destination device) when routing the traffic to the destination device. The gNB or the base station 103 uses the M2M_ID (again, of one or more of the source device and the destination device) to route the traffic to the destination device, as long as the devices remain in communication with the gNB or the base station 103.

One example of use could be a production line and scanner that performs defect analysis. The production line would send a picture to the scanner (in communication with the base station 103) directly, without going to the network UPF (User Plane Function) and back. In this manner, two devices can experience reduced latency and significantly improving performance as GTP encapsulation and de-encapsulation is not needed and traffic stays local. GTP stands for GPRS Tunneling Protocol which is an IP/UDP (Internet Protocol/User Datagram Protocol)-based protocol used in GSM (Global System for Mobile Communication), UMTS (Universal Mobile Telecommunications System) and LTE (Long-Term Evolution) core networks. It is used to encapsulate user data when passing the data through the core network and also carries bearer specific signaling traffic between core network entities.

FIG. 2 illustrates the standard logic 200 for the new process. The UE 101 transmits UE traffic 204 to a base station 103. When the UE 101 is capable of machine-to-machine routing (i.e., can include the M2M_ID in its user plane protocol stack), then a flag is set and the base station 103 detects or identifies whether the M2M flag is set 208. If yes 210, then the base station 103 uses M2M_ID-based local routing 212. If the flag is not set 214, then the base station 103 uses legacy UPF-based routing 216. The UE 101 can therefore maintain the same legacy path (via GTPU/UPF) when M2M_ID-based local routing 212 is not available, such as when the other device does not have the capability or the programming to enable M2M_ID-based local routing 212.

A new signaling procedure is also added for charging or tracking the local routing traffic. When M2M_ID-based local routing 212 is used, then the base station 103 can transmit or report M2M data usage to a network node such as, for example, an SMF (Session Management Function), an AMF (Access and Mobility Management Function) or an AMF/SMF node.

FIG. 3 illustrates a registration process 300 for establishing or enabling M2M_ID-based local routing 212. In a first step, the UE 101 transmits a NAS registration request 306 in which it reports to the AMF 304 that the UE 101 has the capability of M2M_ID-based local routing 212 or that the is M2M local routing support in the NGAP (Next-Generation Application Protocol). The NGAP is found on an N2 reference point between the base station 103 and the AMF 304.

The AMF 304 and the UE 101 then communicate to provide authentication and NAS security establishment 308 and the AMF 304 response with a NAS registration accept signal 310 which confirms, in another step, 5GS network features support to allow for M2M local routing and that there is M2M local routing support in the NGAP.

The UE 101 sends the NAS registration request 306 to the AMF 304 where the UE 101 include its RAN-based M2M routing feature support in the NAS UE capability layer as shown in FIG. 1. Once this is established, when messages arrive at the gNB or the base station 103, the gNB or the base station 103 will add an additional information element (IE) in the NGAP layer to advertise the gNB or base station support for M2M_ID-based local routing 212. The negotiation and new features that are introduced herein are in the control plane protocol stack.

FIG. 4 illustrates the control plane protocol stack 400 that includes the UE stack 402 and the AMF stack 406. The AMF stack 406 can include a Non-Access Stratum (NAS) layer such as NAS layer 404. The NAS layer 404 on the UE stack 402 negotiates the setting of an M2M Routing Flag with the NAS layer 408 of the AMF stack 406. The two novel features of these protocol stacks include a new flag in UE capability in the NAS layer 404 to indicate UE capability regarding M2M_ID-based local routing 212. Another novel feature is a new IE in the NGAP layer 410 of the AMF 304 to indicate gNB support for the local routing feature. In 3GPP, the UE network capability is defined in TS 24.301, section 9.9.3.34, incorporated herein by reference. This disclosure adds a new flag “M2M” in UE network capability to indicate the UE's capability to support RAN-based routing or local routing as described herein. M2M routing flag can, in one example, the M2M can be binary and be set to either a “1” or “0”. The bit indicates the UE support for M2M RAN-based. UE is capable in this case of adding the M2M_ID on the top of SDAP layer 110 whenever needed as shown in FIG. 1.

FIG. 5 illustrates an information element identifier (IEI) table 500 with various UE network capability information element identifiers. The NAS layer is invisible to the gNB or the base station 103 and thus a new IE (information element is added in the NGAP layer to indicate gNB support for RAN-based routing. With this NAS layer and NGAP novel IEs, the AMF 304 can understand the UE 101 and base station 103 capability to support the feature. The M2M information element identifier or the new IE 502 is shown where it can be added to this table.

A registration request message as introduced above has content defined in 3GPP TS 24.501 Table 8.2.6.1.1, incorporated herein by reference. FIG. 6 illustrates an example of the IEI message 600 that is numbered, by way of example, as IEI 32 with a definition of an “M2M Routing Support” as an IE and a type/reference as gNB support for M2M routing. The presence can be a “0” for no presence or a “1” indicating a presence of the feature. The format is “TV” and the length is one bit. The data may also vary from this structure such as being a two-bit length with more options related to RAN-based routing. Table 602 shows an M2M routing support indication, and some spare fields and an M2MSI or MSM support indicator field.

The new IE for advertising M2M routing support at the gNB is introduced. The IE has in one example a one-octet length. In an example structure, the first four bits represent the IE ID 32 to represent “M2M routing support indication” and out of the last 4 bits, the last bit can be used to represent the gNB support for M2M routing and can be called M2MSI (M2M support indicator) M2MSI I/O: By setting this flag indicate gNB support for the feature. Other structures for indicating such support can be provided as well.

Further, in the registration accept process, the AMF 304 can confirm 5G core support for the RAN-based routing in the NAS layer 404 for the UE 101 and the NAS layer 408 for the AMF 304. The AMF 304 can advertise the availability of the RAN-routing feature support in the NGAP layer 410, 412 to make sure the gNB or the base station 103 is aware of the capabilities. In some aspects, the registration and notification process can occur, for example, when a plurality of devices can utilize RAN-based routing. In may not make sense to establish the routing capabilities with only one device such as the UE 101 in the service area of a base station 103. Thus, the notification in the NGAP layer 410, 412 may occur only after multiple devices in the service are of a base station 103 have registered as being capable of RAN-based routing.

Thus, this disclosure introduces a new flag in a network which can be a 5GS (5G System) network feature support flag in the NAS layer 404 for the UE 101 and the NAS layer 408 for the AMF 304 to indicate that the network support the RAN-based routing. The core network can restrict/allow the M2M routing feature via the new flag in 5GS network feature support flag. The 5GS network feature support IE is defined in TS 24.501, section 9.11.3.5, incorporated herein by reference. The new flag indicates whether the network allows the feature. If the flag is a “restrict” flag, it may be called: “RestrictM2M” I/O. In this case, by setting the flag, the AMF 304 indicates that the core network will not allow (i.e., restrict) M2M RAN-based routing.

A new IE 502 is also introduced in the NGAP layer 410, 412 to inform the gNB or the base station 103 that network support for the feature. As noted above, the NAS layer 404 for the UE 101 and the NAS layer 408 for the AMF 304 is invisible to the gNB or the base station 103. Therefore, a new IE 502 is added in the NGAP layer 410, 412 to inform that there is 5G core feature support to the gNB or the base station 103. When RestrictM2M is not set (i.e., when the core network supports the feature), the AMF 304 will add the new IE (i.e., IEI 32 in IEI message 600) RAN-routing support in the NGAP layer 410, 412 so that the gNB or the base station 103 is aware of core capability of the M2M feature.

FIG. 7 shows an example network 700 including a first device 702 and a second device 704 that are to communicate with each other. In one step, the first device 702 and/or the second device 704 connects (via connection 706 and/or connection 712, respectively) to an application function (AF) such as AF 710 over UPF 708 and using an established PDU (protocol data unit) session. The AF 710 using the location features groups the first device 702 and/or the second device 704 based on cell coverage. The AF 710 can thus be a network node that creates a cluster of devices such as the first device 702 and/or the second device 704. The cluster of devices are generally determined to each have the RAN-routing capability (with the proper flags set, etc.) and that are registered with the network. Two devices are shown but the principles apply to a cluster or group of devices that can be three or more. All the first device 702 and/or the second device 704 obtain IP connectivity and start to contact the AF 710 (for example, a centralized controller, V2X server, virtual reality (VR) servers, etc.). The first device 702 and/or the second device 704 can share the MAP location and cell details of the base station 103 to the AF 710 over the IP connectivity.

The AF 710 can then have the opportunity to group or cluster the first device 702 and/or the second device 704 based on the gNB cell coverage. The AF 710 can assign a unique M2M_ID for each of the first device 702 and/or the second device 704 inside same gNB coverage area.

In another step, the AF 710 allocates the unique M2M_ID generated for this purpose to each of the first device 702 and/or the second device 704 (and others if they exist) inside the same gNB or the base station 103 coverage area. Based on the cell ID and the M2M_ID received from the AF 710, each of the first device 702 and/or the second device 704 can identify its nearby devices. Each of the first device 702 and/or the second device 704 will have its own assigned M2M_ID and also be able to learn or obtain the other respective M2M_ID's for neighboring devices.

Another step can include the AF 710 providing a notice for authorization to create a policy that is transmitted to a policy control function (PCF) such as PCF 714. The structure can be similar to the following which includes the M2M_ID: Npcf_POLICY_AUTHORIZATION_CREATE (Application ID, flow description, QoS, M2M_ID). In one example, a network slice can be created and intended for use by the group of devices such as the first device 702 and/or the second device 704 and the AF 710 will create (through the function listed above) the QoS (quality of service) flows inside the existing PDU session. The result can be standard call flow but enhanced with the M2M_ID capability.

During call flow creation between the AF 710 and the PCF 714, the AF 710 uses the novel IE or the M2M_ID feature in the Npcf_POLICY_AUTHORIZATION_CREATE message.

The PCF 714 pushes the information about the M2M_ID to the SMF, and in turn from the SMF to the AMF 304 (generally represented as a network node 716 that can include the AMF 304 and an SMF 718 in FIG. 7) as part of standard core signaling or a session modify procedure). The general signaling previously existed but passing the M2M_ID IE is new.

The SMF can verify if the first device 702 and/or the second device 704 is lawful intercept activated and whether RAN (the base station 103) is not supporting RAN-based routing. If either of these two conditions is met, then the session modify procedure should be executed without using the M2M_ID and the normal traffic flow should be used.

At the end of this step, each of IoT devices is aware of their own M2M_ID and new traffic flow is created inside the GTP-U tunnel with AF-provided QFI (QOS flow identifier). The GTP-U tunnel is a used for carrying the GPRS core network data between the radio access network (i.e., including the base station 103) and the core network. FIG. 8 illustrates a protocol stack 800 that includes a data layer 802, QFI layer 804, a GTP-vi-U layer 806, a UPD layer 808, an IP layer 810 and lower layers 812.

FIG. 9 illustrates a signal flow 900 between the device such as the UE 101 and the AF 710. In one example, assume that a first device 702 tries to connect to a second device 704. In this case, the AF 710 will send to the PCF 714 a novel IE (M2M_ID) in the Npcf_POLICYAUTHORIZATION_CREATE message 908 together with other information like flow description, Applicant ID, etc. Included as shown can be a source M2M_ID (srcM2M_ID) and a destination M2M_ID (dstM2M_ID). The PCF 714 can send a Npcf_PolicyControl_Update Notify message 910 with the srcM2M_ID and the dstM2M_ID. For reference, PolicyAuthorization specific data structure is defined in 3GPP TS 29.514, Table 5.6.1-1, incorporated herein by reference. This disclosure adds a new Data Type “src/dst M2M_ID”. M2M_ID is the temporary ID allocated to each of the first device 702 and the second device 704 by the AF 710.

FIG. 10 illustrates a first table 1000 and a second table 1002 that include the proposed structure which references the srcM2M_ID and the dstM2M_ID, the types, description of what the data contains (i.e., the M2M_ID of the source device or the destination device) and applicability with respect to RAN-based routing.

The session modification procedure of FIG. 9 next creates at the PCF 714 a new PCC (policy and charging control) rule with an AF-provided flow description and QoS. The step here can follow the standard procedure, except that SMF 718 will include the novel IE M2M_ID in the NI and N2 layer to deliver the M2M_ID to the first device 702 and the second device 704 and the gNB or the base station 103. The SMF 718 can include in its message 912 to the AMF 304 n1MessageContent with srcM2M_ID and dstM2M_ID n2InfoContainer with srcM2M_ID.

The message 914 transmitted from the AMF 304 can be provided to the gNB or the base station 103 and include an N2 PDU session request and the srcM2M_ID and the dstM2M_ID. The gNB or the base station 103 will save the srcM2M_ID of the first device 702 and after this step, the first device 702 and/or the second device 704 will have its own M2M_ID and the respective M2M_ID of peer devices.

Note that in some aspects, the M2M_ID will not share in the N4 interface. The SMF 718 can ignore the M2M_ID in a PDU session resource modify request if (1) the subscriber is lawful to intercept activated or (2) if the RAN does not support the M2M local routing. In essence, a new traffic flow is created inside the GTPU tunnel with AF-provided QFI via UPF.

In a next step, traffic starts to flow, and for traffic that is destined to a “peer” M2M device, there are two potential paths for that traffic. First, the traditional GTPU path (which may be required for handovers or other mobility scenarios) and the new novel path via the gNB or the base station 103 and bypassing core network. Via novel path, the first device 702 and/or the second device 704 can set the M2M flag in the SDAP layer 110, 124. In one aspect, the system can use the reserved bit in the SDAP layer 110, 124 for this purpose. Specifically, the source device or the first device 702 can add the destination device or the second device 704 M2M_ID above the SDAP layer in the M2M_ID layer 108 and/or the M2M_ID layer 122 as shown in FIG. 1.

When an uplink SDAP packet arrives, the packet will be more useful if the system specifics in a SDAP layer that above SDAP there is an M2M layer. Header 1004 illustrates an example specification that the M2M layer exists. Header 1004 shows a reserve bit R in the SDAP UL packet for such use. One advantage to this approach is that an IoT device can still be allowed to use a legacy path during M2M connection problem, even if the M2M capability is negotiated by IoT device. In a traditional use of the reserved bit, its value is 0 and can be ignored. According to this disclosure, what is introduced is the ability to negotiate the use of M2M capability by an IoT device. Then, the R bit can be used to track the presence of M2M layer above SDAP Uplink packet. This way, the IoT device can still use a backup UPF path if there is some problem with M2M routing.

FIG. 11 illustrates a network 1100 that includes such features as a first device 702, a second device 704, a first protocol stack 1102 with the layer for the M2M_ID and a second protocol stack 1104 with the M2M_ID. As shown, when the configuration and the flags are set, then data from a first device 702 which can have an M2M ID of M2M_ID_A can communicate with the base station 103 or cell site. The base station 103 can include an interceptor function or functionality embedded into the gNB or the base station 103 can cause a change in the traffic path to the novel data path 1108 in which the base station 103 does not forward to the traffic back into the core network to other network nodes such as the UPF 708, which is the traditional data path 1110. The novel data path 1108 enables the first device 702 to be able to communicate with the second device 704 in a more efficient path with less latency than the traditional data path 1110.

As noted above, charging for data usage is important so another aspect of this disclosure is the M2M data usage report 1106 which can be provided to the network node 716 to enable the suer to be charged for the transmitted data.

FIG. 12 illustrates a reporting framework 1200 in which the gNB or the base station 103 will periodically report the M2M data suage until the M2M flow ends. The M2M data usage report 1106 is transmitted to the AMF 304.

FIG. 13 is a flowchart illustrating a process 1300 for enabling a new traffic pattern or a RAN-based traffic flow. The process 1300 can be performed by one or more of a computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof.

At block 1302, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does create, via an application function, a cluster of devices under coverage area of a base station. Each device of the cluster of devices can include an Internet-of-Things device.

At block 1304, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or a base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does assign a respective identifier for each device of the cluster of devices.

At block 1306, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or a base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices.

At block 1308, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device. The route can be a novel data path 1108 that does not pass through a user plane function (UPF) such as UPF 708 of a mobile core infrastructure system architecture.

In some aspects, the respective identifier can include a machine-to-machine identifier that is configured both in a respective first user plane protocol stack on each device and a second user plane protocol stack on the base station.

The process 1300 can further include the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) that can and does transmit a notice associated with the routing of the traffic to a network node for charging purposes. The notice can be the M2M data usage report 1106 shown in FIG. 11.

The application function (e.g., the AF 710) can include a core network function and the base station 103 can be a gNB or any other type of wireless communication device of various protocols.

In some aspects, the respective identifier can include a respective temporary identifier.

In some aspect, the process 1300 can further include the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) being configured to set a flag associated with machine-to-machine routing when assigning the respective identifier such that, when the flag associated with machine-to-machine routing is set, the computing system uses the respective identifier for local routing of traffic and, when the flag associated with machine-to-machine routing is not set, the computing system uses user plane function-based routing of the traffic.

In some aspect, the process 1300 can further include the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) being configured to receive a respective initial registration request from each device of the cluster of devices indicating that each device of the cluster of devices is capable of local routing through the base station. The respective initial registration request can be received at an access and mobility management function in a non-access stratum (NAS) layer.

In some aspects, a system for providing local routing of traffic can include at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

In another aspect, a system for providing local routing of traffic can include one or more of: means for creating, via an application function, a cluster of devices under coverage area of a base station; means for assigning a respective identifier for each device of the cluster of devices; means for transmitting the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and means for routing traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

In some aspects, a computer-readable storage medium stores instructions which, when executed by at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

FIG. 14 is a flowchart illustrating a process 1400 for enabling a new traffic pattern or a RAN-based traffic flow. The process 1400 can be performed by one or more of a computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof. The focus of FIG. 14 however is the processing from the standpoint of the first device 702 and/or the second device 704 which can be a user equipment (UE).

At block 1402, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station.

At block 1404, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device.

At block 1406, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does identify a second machine-to-machine identifier of a second mobile device served by the base station.

At block 1408, the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) can and does transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

The first machine-to-machine identifier and the second machine-to-machine identifier can both be temporarily assigned by the application function such as AF 710. The application function can include a core network function and manages use of the first machine-to-machine identifier and the second machine-to-machine identifier to enable local routing through the base station and not through a core network.

In some aspects, the first machine-to-machine identifier is configured both in a first user plane protocol stack on the first mobile device and a second user plane protocol stack on the base station.

In some aspects, the base station 103 transmits a notice regarding the use of local traffic routing from the base station to a network node for charging purposes. The transmission can be periodic or triggered based on a triggering event and can occur during the traffic flow from a first device 702 to a second device 704.

The application function can include a core network function and wherein the base station 103 comprises a gNB or some other wireless communication device of any protocol.

The process 1400 can further cause the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) to be configured to set a flag associated with first machine-to-machine identifier, the flag being configured to be read by the base station with respect to whether or not to implement local routing.

The process 1400 can further cause the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) to be configured to, when the flag associated with the first machine-to-machine identifier is set, the cause the base station to use the first machine-to-machine identifier for local routing of traffic. When the flag associated with machine-to-machine identifier is not set, the base station can use user plane function-based routing of the traffic.

The process 1400 can further cause the computing system (i.e., the computing system 1500, a first device 702, a second device 704, a gNB or the base station 103, a UPF 708, an AF 710, a PCF 714, a network node 716 that can include the AMF 304 and the SMF 718, a core network node, and/or any combination thereof) to be configured to transmit an initial registration request from the first mobile device to an access and mobility management function indicating that the first mobile device is capable of local routing through the base station. The initial registration request can be received at the access and mobility management function in a non-access stratum (NAS) layer.

In some aspects, a system for accessing local routing of traffic can include at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In another aspect, a system for accessing local routing of traffic can include one or more: means for receiving, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; means for adding the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; means for identifying a second machine-to-machine identifier of a second mobile device served by the base station; and means for transmitting, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

In some aspects, a computer-readable storage medium stores instructions which, when executed by at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

FIG. 15 illustrates an example computing system 1500 includes at least one processing unit (CPU or processor) such as processor 1510 and connection 1505 that couples various system components including system memory 1515, such as read-only memory (e.g., ROM 1520) and random access memory (e.g., RAM 1525) to processor 1510. Computing system 1500 can include a cache 1512 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 1510.

Processor 1510 can include any general purpose processor and a hardware service or software service, such as services 1532, 1534, and 1536 stored in storage device 1530, configured to control processor 1510 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 1510 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

To enable user interaction, computing system 1500 includes an input device 1545, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc. Computing system 1500 can also include output device 1535, which can be one or more of a number of output mechanisms. In some instances, multimodal systems can enable a user to provide multiple types of input/output to communicate with computing system 1500. Computing system 1500 can include communications interface 1540, which can generally govern and manage the user input and system output.

The communication interface may perform or facilitate receipt and/or transmission wired or wireless communications using wired and/or wireless transceivers, including those making use of an audio jack/plug, a microphone jack/plug, a universal serial bus (USB) port/plug, an Apple® Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, a BLUETOOTH® wireless signal transfer, a BLUETOOTH® low energy (BLE) wireless signal transfer, an IBEACON® wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer, Visible Light Communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), Infrared (IR) communication wireless signal transfer, Public Switched Telephone Network (PSTN) signal transfer, Integrated Services Digital Network (ISDN) signal transfer, 3G/4G/5G/LTE cellular data network wireless signal transfer, ad-hoc network signal transfer, radio wave signal transfer, microwave signal transfer, infrared signal transfer, visible light signal transfer, ultraviolet light signal transfer, wireless signal transfer along the electromagnetic spectrum, or some combination thereof.

One of ordinary skill will appreciate that the less than (“<”) and greater than (“>”) symbols or terminology used herein can be replaced with less than or equal to (“≤”) and greater than or equal to (“>”) symbols, respectively, without departing from the scope of this description.

The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, firmware, or combinations thereof. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

Claim clauses for the first embodiment are as follows:

Clause 1. A method comprising: receiving, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; adding the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identifying a second machine-to-machine identifier of a second mobile device served by the base station; and transmitting, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

Clause 2. The method of clause 1, wherein the first machine-to-machine identifier and the second machine-to-machine identifier are both temporarily assigned by the application function.

Clause 3. The method of clause 1, wherein the application function comprises a core network function and manages use of the first machine-to-machine identifier and the second machine-to-machine identifier to enable local routing through the base station and not through a core network.

Clause 4. The method of clause 3, wherein the first machine-to-machine identifier is configured both in a first user plane protocol stack on the first mobile device and a second user plane protocol stack on the base station.

Clause 5. The method of clause 1, wherein the base station transmits a notice regarding the use of local traffic routing from the base station to a network node for charging purposes.

Clause 6. The method of clause 1, wherein the application function comprises a core network function and wherein the base station comprises a gNB.

Clause 7. The method of clause 1, further comprising: setting a flag associated with first machine-to-machine identifier, the flag being configured to be read by the base station with respect to whether or not to implement local routing.

Clause 8. The method of clause 7, wherein: when the flag associated with the first machine-to-machine identifier is set, the base station uses the first machine-to-machine identifier for local routing of traffic; and when the flag associated with machine-to-machine identifier is not set, the base station uses user plane function-based routing of the traffic.

Clause 9. The method of clause 1, further comprising: transmitting an initial registration request from the first mobile device to an access and mobility management function indicating that the first mobile device is capable of local routing through the base station.

Clause 10. The method of clause 9, wherein the initial registration request is received at the access and mobility management function in a non-access stratum (NAS) layer.

Clause 11. A system for accessing local routing of traffic, the system comprising: at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

Clause 12. The system of clause 11, wherein the first machine-to-machine identifier and the second machine-to-machine identifier are both temporarily assigned by the application function.

Clause 13. The system of clause 11, wherein the application function comprises a core network function and manages use of the first machine-to-machine identifier and the second machine-to-machine identifier to enable local routing through the base station and not through a core network.

Clause 14. The system of clause 13, wherein the first machine-to-machine identifier is configured both in a first user plane protocol stack on the first mobile device and a second user plane protocol stack on the base station.

Clause 15. The system of clause 11, wherein the base station transmits a notice regarding the use of local traffic routing from the base station to a network node for charging purposes.

Clause 16. The system of clause 11, wherein the application function comprises a core network function and wherein the base station comprises a gNB.

Clause 17. The system of clause 11, wherein the computer-readable storage medium stores instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: set a flag associated with first machine-to-machine identifier, the flag being configured to be read by the base station with respect to whether or not to implement local routing.

Clause 18. The system of clause 17, wherein: when the flag associated with the first machine-to-machine identifier is set, the base station uses the first machine-to-machine identifier for local routing of traffic; and when the flag associated with machine-to-machine identifier is not set, the base station uses user plane function-based routing of the traffic.

Clause 19. The system of clause 11, further comprising: transmitting an initial registration request from the first mobile device to an access and mobility management function indicating that the first mobile device is capable of local routing through the base station.

Clause 20. The system of clause 19, wherein the initial registration request is received at the access and mobility management function in a non-access stratum (NAS) layer.

Clause 21. A system for accessing local routing of traffic, the system comprising: means for receiving, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; means for adding the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; means for identifying a second machine-to-machine identifier of a second mobile device served by the base station; and means for transmitting, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

Clause 22. A computer-readable storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to be configured to: receive, from an application function, a first machine-to-machine identifier at a first mobile device being served by a base station; add the first machine-to-machine identifier to a user plane protocol stack of the first mobile device; identify a second machine-to-machine identifier of a second mobile device served by the base station; and transmit, in connection with traffic from the first mobile device to the second mobile device, the second machine-to-machine identifier to the base station to enable local traffic routing through the base station to the second mobile device.

Clause 23. A method comprising: creating, via an application function, a cluster of devices under coverage area of a base station; assigning a respective identifier for each device of the cluster of devices; transmitting the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and routing traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

Clause 24. The method of clause 23, wherein each device of the cluster of devices comprises an Internet-of-Things device.

Clause 25. The method of clause 23, wherein the routing does not route traffic through a user plane function of a mobile core infrastructure system architecture.

Clause 26. The method of clause 25, wherein the respective identifier comprises a machine-to-machine identifier that is configured both in a respective first user plane protocol stack on each device and a second user plane protocol stack on the base station.

Clause 27. The method of clause 23, further comprising: transmitting a notice associated with the routing of the traffic to a network node for charging purposes.

Clause 28. The method of clause 23, wherein the application function comprises a core network function and wherein the base station comprises a gNB.

Clause 29. The method of clause 23, wherein the respective identifier comprises a respective temporary identifier.

Clause 30. The method of clause 23, further comprising: setting a flag associated with machine-to-machine routing when assigning the respective identifier; when the flag associated with machine-to-machine routing is set, using the respective identifier for local routing of traffic; and when the flag associated with machine-to-machine routing is not set, using user plane function-based routing of the traffic.

Clause 31. The method of clause 23, further comprising: receiving a respective initial registration request from each device of the cluster of devices indicating that each device of the cluster of devices is capable of local routing through the base station.

Clause 32. The method of clause 31, wherein the respective initial registration request is received at an access and mobility management function in a non-access stratum (NAS) layer.

Clause 33. A system for providing local routing of traffic, the system comprising: at least one processor; and a computer-readable storage medium storing instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

Clause 34. The system of clause 33, wherein each device of the cluster of devices comprises an Internet-of-Things device.

Clause 35. The system of clause 33, wherein the routing does not route traffic through a user plane function of a mobile core infrastructure system architecture.

Clause 36. The system of clause 35, wherein the respective identifier comprises a machine-to-machine identifier that is configured both in a respective first user plane protocol stack on each device and a second user plane protocol stack on the base station.

Clause 37. The system of clause 33, wherein the computer-readable storage medium stores instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: receive a notice from the base station regarding the traffic for charging purposes.

Clause 38. The system of clause 33, wherein the application function comprises a core network function and wherein the base station comprises a gNB.

Clause 39. The system of clause 33, wherein the respective identifier comprises a respective temporary identifier.

Clause 40. The system of clause 33, wherein the computer-readable storage medium stores instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: set a flag associated with machine-to-machine routing when assigning the respective identifier; when the flag associated with machine-to-machine routing is set, using the respective identifier for local routing of traffic; and when the flag associated with machine-to-machine routing is not set, using user plane function-based routing of the traffic.

Clause 41. The system of clause 33, wherein the computer-readable storage medium stores instructions which, when executed by the at least one processor, cause the at least one processor to be configured to: receive a respective initial registration request from each device of the cluster of devices indicating that each device of the cluster of devices is capable of local routing through the base station.

Clause 42. The system of clause 41, wherein the respective initial registration request is received at an access and mobility management function in a non-access stratum (NAS) layer.

Clause 43. A system for providing local routing of traffic, the system comprising: means for creating, via an application function, a cluster of devices under coverage area of a base station; means for assigning a respective identifier for each device of the cluster of devices; means for transmitting the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and means for routing traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.

Clause 44. A computer-readable storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to be configured to: create, via an application function, a cluster of devices under coverage area of a base station; assign a respective identifier for each device of the cluster of devices; transmit the respective identifier for each device to the cluster of devices so that each device of the cluster of devices learns the respective identifier for other devices of the cluster of devices; and route traffic from a first device of the cluster of devices to a second device of the cluster of devices through the base station based on the respective identifier for each of the first device and the second device.