Application-based network slice selection in wireless communication systems

By identifying the application category of the data packet in the user equipment and requesting corresponding network connections, the problem of being unable to select network slices in the wireless communication system is solved, communication performance and battery life are optimized, and network support for multiple application categories is realized.

CN115426268BActive Publication Date: 2024-12-13MOTOROLA MOBILITY LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210931834.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-02-23
Filing Date
2017-02-23
Publication Date
2024-12-13
Estimated Expiration
2037-02-23

AI Technical Summary

Technical Problem

The lack of effective methods in existing wireless communication systems enables user equipment (UE) to select and connect to specific network slices based on standards, resulting in the inability to optimize communication performance and improve battery life for different application categories.

Method used

By implementing processors and transceivers in user equipment, identifying application categories associated with data packets, and requesting network connections corresponding to the application category, determining appropriate network slices using category selection strategies, supporting networks of multiple application categories Connections, including mission-critical, infrequent messaging, and common applications.

Benefits of technology

It realizes selecting appropriate network slices according to application categories, optimizing communication performance, reducing device battery consumption, improving user experience, and increasing network performance and battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115426268B_ABST
    Figure CN115426268B_ABST
Patent Text Reader

Abstract

The present invention relates to network slice selection based on application category in a wireless communication system. A device, method and system for supporting network slicing based on application category are disclosed. A UE device includes: a processor, which receives a data packet to be transmitted via a mobile communication network, identifies an application category associated with the data packet, and requests a network connection corresponding to the identified application category. Requesting a network connection corresponding to the identified application category may include: transmitting a connection establishment message indicating the identified application category. Identifying the application category associated with the data packet includes: applying a category selection policy to the data packet, the category selection policy including one or more rules for selecting an application category based on data packet characteristics. In various embodiments, the device includes a transceiver that communicates with the mobile communication network that supports multiple application categories.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese invention patent application "Network slicing selection based on application category in wireless communication system" with PCT application number PCT / US2017 / 019088, international application date February 23, 2017, and Chinese application number 201780005823.5, which entered the Chinese national phase on July 5, 2018. Technical Field

[0002] The subject matter disclosed herein generally relates to wireless communications, and more particularly, to supporting network slicing in a wireless communications system. Background Art

[0003] The following abbreviations are defined herein, at least some of which are referred to in the following description.

[0004] 3GPP Third Generation Partnership Project

[0005] ANDSF Access Network Discovery and Selection Function

[0006] AP Access Point

[0007] APN Access Point Name

[0008] AS Access Layer

[0009] CIoT Cellular Internet of Things

[0010] DCN Dedicated Core Network

[0011] DL Downlink

[0012] eNB Evolved Node B

[0013] EPC Evolved Packet Core

[0014] ETSI European Telecommunications Standards Institute

[0015] H-PLMN Home Public Land Mobile Network

[0016] HSS Home Subscriber Server

[0017] IMS IP Multimedia Subsystem

[0018] IP Internet Protocol

[0019] IoT

[0020] ISP Internet Service Provider

[0021] LAN Local Area Network

[0022] LTE Long Term Evolution

[0023] MBB Mobile Broadband

[0024] MME Mobility Management Entity

[0025] MMS Multimedia Messaging Service

[0026] MTC Machine Type Communication

[0027] NAS Non-Access Stratum

[0028] NFV Network Function Virtualization

[0029] OFDM Orthogonal Frequency Division Multiplexing

[0030] PDCP Packet Data Convergence Protocol

[0031] PDU Protocol Data Unit

[0032] PGW Packet Data Network Gateway

[0033] PLMN Public Land Mobile Network

[0034] RAN Radio Access Network

[0035] RCS Rich Communication Service

[0036] RRC Radio Resource Control

[0037] SC-FDMA Single Carrier Frequency Division Multiple Access

[0038] SGW Service Gateway

[0039] SUPL Secure User Plane Location

[0040] TCP Transmission Control Protocol

[0041] UE User Entity / Equipment (mobile terminal)

[0042] UL Uplink

[0043] WAN Wide Area Network

[0044] WiMAX Worldwide Interoperability for Microwave Access

[0045] WLAN Wireless Local Area Network

[0046] In wireless communication networks, next generation wireless networks (e.g., fifth generation or "5G" networks) are expected to support different network slices. Each network slice can be considered as an independent network partition optimized to support the performance requirements of a specific application class. For example, a wireless communication network can contain a network slice optimized for mobile broadband services (characterized by high data rates and medium latency), a network slice optimized for autonomous driving (characterized by low latency and high reliability), a network slice optimized for massive Internet of Things ("IoT") or Machine Type Communications ("MTC") (characterized by low mobility and low data rates), etc. Note that all network slices are deployed within the same public land mobile network ("PLMN").

[0047] Different network slices can be utilized to support different application categories, with each network slice being optimized to support its corresponding application category. One slice can be designed to support the "enhanced mobile broadband" application category, a second slice can be designed to support the "ultra-reliable and low latency communications" application category, and a third slice can be designed to support the "massive machine type communications" application category. A specific type of network slice can be deployed multiple times within the same PLMN (i.e., with multiple instances). For example, a network operator can deploy multiple IoT / MTC slice instances to support multiple IoT customers, such as utility companies, automotive companies, etc.

[0048] It is expected that network slices will be created and managed via the Network Function Virtualization ("NFV") process. In a typical scenario, a network operator defines different virtual network templates, each of which specifies a collection of compute, storage, and / or network resources and their configuration. Such a template is essentially a representation of a network slice. When an operator wants to create a new slice, the operator instructs the NFV platform to construct a new virtual network based on a given template. The template may also contain rules for automatically scaling the resources of a slice in order to efficiently handle workload variations in the time domain.

[0049] To support several 5G application classes, it will be necessary for the same mobile device (e.g., user equipment ("UE")) to connect to multiple network slices. There is no existing solution that enables the UE to select a desired network slice (based on some criteria) and attach to the selected network slice. Summary of the invention

[0050] An apparatus for supporting network slicing is disclosed. The method and system also perform the functions of the apparatus. In one embodiment, the apparatus includes: a transceiver that communicates with a mobile communication network that supports multiple application categories; and a processor that is configured to: receive a data packet to be transmitted via the mobile communication network; identify an application category associated with the data packet; and request, via the transceiver, a network connection corresponding to the identified application category. In some embodiments, the application category is selected from the group consisting of: mission-critical applications, infrequent messaging applications, and general-purpose applications.

[0051] In one embodiment, requesting a network connection corresponding to the identified application class includes: transmitting a connection establishment message indicating the identified application class. In another embodiment, transmitting a connection establishment message indicating the identified application class may include: transmitting a radio resource control ("RRC") message including an application class parameter corresponding to the identified application class. In a certain embodiment, transmitting the RRC message includes: determining whether an RRC connection is required based on the application class associated with the data packet; in response to determining that an RRC connection is required, transmitting an RRC connection establishment message to a mobile communication network, the RRC connection establishment message including the application class parameter. In one embodiment, in response to determining that an RRC connection is not required, the device transmits a non-establishment RRC message including the application class parameter to the mobile communication network.

[0052] In some embodiments, the apparatus includes a storage device that stores the class selection policy. In such embodiments, the processor may access the class selection policy via the storage device. In various embodiments, identifying the application class associated with the data packet includes: applying the class selection policy to the data packet, the class selection policy including one or more rules for selecting the application class based on data packet characteristics. In some embodiments, the class selection policy is provided by an access network discovery and selection function ("ANDSF") of the mobile telecommunications network.

[0053] In one embodiment, receiving a data packet includes: receiving a network connection request including an application class parameter. In such an embodiment, identifying an application class associated with the data packet may include: parsing the network connection request for the application class parameter. In yet another embodiment, the processor may be configured to search a class selection policy for a rule that is specific to an overlay application class parameter of the network connection request, the class selection policy including one or more rules for associating the network connection request with an application class. In such an embodiment, identifying an application class associated with the data packet further includes: in response to the class selection policy including a rule that is specific to the overlay application class parameter of the network connection request, identifying the overlay application class in the class selection policy, and wherein the processor is further configured to: in response to the class selection policy including a rule that is specific to the overlay application class parameter of the network connection request, request a network connection corresponding to the overlay application class.

[0054] In some embodiments, the device includes a user equipment ("UE"), and the network connection corresponding to the identified application class includes a connection to a network slice supporting the identified application class. In another embodiment, the UE can be configured to simultaneously support multiple network connections, each network connection being to a different network slice of the mobile communication network.

[0055] In some embodiments, the processor is further configured to determine whether there is a network connection corresponding to the identified application class between the device and the mobile communication network. In such embodiments, in response to the absence of a network connection corresponding to the identified application class between the device and the mobile communication network, the processor may establish a new network connection with the mobile communication network for the identified application class via the transceiver.

[0056] In one embodiment, a method for supporting network slicing includes: receiving a data packet to be transmitted via a mobile communication network supporting multiple application categories; identifying, using a processor, an application category associated with the data packet; and requesting, using a transceiver, a network connection corresponding to the identified application category. In various embodiments, the application category may be selected from the group consisting of: mission-critical applications, infrequent messaging applications, and general applications.

[0057] In one embodiment, requesting a network connection corresponding to an identified application class includes: transmitting a connection establishment message indicating the identified application class. In another embodiment, transmitting a connection establishment message indicating the identified application class may include: transmitting a radio resource control ("RRC") message including an application class parameter corresponding to the identified application class. In certain embodiments, transmitting the RRC message includes: determining whether an RRC connection is required based on an application class associated with a data packet; and in response to determining that an RRC connection is required, transmitting an RRC connection establishment message to a mobile communication network, the RRC connection establishment message including the application class parameter. In one embodiment, the method includes: in response to determining that an RRC connection is not required, transmitting a non-establishment RRC message including the application class parameter to a mobile communication network, the non-establishment RRC message including the application class parameter.

[0058] In some embodiments, identifying the application class associated with the data packet includes applying a class selection policy to the data packet, the class selection policy including one or more rules for selecting the application class based on data packet characteristics. In some embodiments, the class selection policy is provided by an access network discovery and selection function ("ANDSF") of the mobile telecommunications network. In one embodiment, receiving the data packet includes receiving a network connection request including an application class parameter. In such an embodiment, identifying the application class associated with the data packet includes parsing the network connection request for the application class parameter.

[0059] In yet another embodiment, the method includes: searching a class selection policy for rules specific to network connection requests that override application class parameters, the class selection policy including one or more rules for associating network connection requests with application classes. In such an embodiment, identifying the application class associated with the data packet further includes: identifying the override application class in the class selection policy in response to the class selection policy including rules specific to network connection requests that override application class parameters, and wherein requesting a network connection corresponding to the identified application class includes: requesting a network connection corresponding to the override application class in response to the class selection policy including rules specific to network connection requests that override application class parameters.

[0060] In some embodiments, the network connection corresponding to the identified application class includes a connection to a network slice that supports the identified application class. In another embodiment, requesting a network connection corresponding to the identified application class includes: transmitting simultaneously on multiple network connections, each network connection being to a different network slice of the mobile communications network.

[0061] In some embodiments, the method includes determining whether a network connection corresponding to the identified application class exists between the device and the mobile communication network. In such embodiments, the method may include establishing a new network connection with the mobile communication network for the identified application class in response to the absence of a network connection corresponding to the identified application class between the device and the mobile communication network. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] A more particular description of the embodiments briefly described above will be presented by reference to specific embodiments illustrated in the accompanying drawings. Understanding that these drawings depict only some embodiments and, therefore, are not to be considered limiting in scope, the embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:

[0063] Figure 1 is a schematic block diagram illustrating one embodiment of a wireless communication system for supporting network slicing;

[0064] Figure 2 is a schematic block diagram illustrating one embodiment of an apparatus that may be used to support network slicing;

[0065] Figure 3 is a schematic block diagram illustrating another embodiment of an apparatus that may be used to support network slicing;

[0066] Figure 4 An embodiment of a network attachment process for supporting network slicing is illustrated;

[0067] Figure 5 Another embodiment of a network attachment process for supporting network slicing is illustrated;

[0068] Figure 6 illustrates yet another embodiment of a network attachment process for supporting network slicing;

[0069] Figure 7 is a schematic block diagram illustrating one embodiment of a protocol stack supporting network slicing; and

[0070] Figure 8 is a schematic flow chart illustrating another embodiment of a method for supporting network slicing. DETAILED DESCRIPTION

[0071] As will be appreciated by those skilled in the art, various aspects of the embodiments may be implemented as systems, devices, methods, or program products. Therefore, the embodiments may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or a combination of software and hardware embodiments that may be generally referred to herein as a "circuit," "module," or "system." In addition, the embodiments may take the form of a program product implemented in one or more computer-readable storage devices storing machine-readable code, computer-readable code, and / or program code (hereinafter referred to as code). The storage device may be a tangible storage device, a non-transitory storage device, and / or a non-transmitting storage device. The storage device may not embody a signal. In some embodiments, the storage device employs only a signal for accessing the code.

[0072] Some of the functional units described in this specification may be labeled as modules to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising a custom very large scale integration ("VLSI") circuit or gate array, an off-the-shelf semiconductor (such as a logic chip, transistor, or other discrete component). A module may also be implemented in a programmable hardware device, such as a field programmable gate array, programmable array logic, a programmable logic device, or the like.

[0073] Modules can also be implemented in code and / or software so that they are executed by various types of processors. The module of the identification of code can, for example, include one or more physical blocks or logical blocks of executable code, which can, for example, be organized as an object, process, or function. However, the executable file of the module of identification does not need to be physically located together, but can include different instructions stored in different locations, which include modules and realize the described purpose of modules when logically connected together.

[0074] In fact, code modules can be single instructions or many instructions, and can even be distributed on several different code segments, between different programs, and across several memory devices. Similarly, operational data can be identified and illustrated in the module herein, and operational data can be implemented in any suitable form and operational data can be organized in the data structure of any suitable type. Operational data can be collected as a single data set, or operational data can be distributed in different locations including different computer-readable storage devices. In the case of implementing a module or a part of a module in software, the software part is stored on one or more computer-readable storage devices.

[0075] Any combination of one or more computer readable media may be utilized. The computer readable medium may be a computer readable storage medium. The computer readable storage medium may be a storage device storing code. The storage device may be, for example but not limited to: an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, an infrared storage device, a holographic storage device, a micromechanical storage device, or a semiconductor system, device, or apparatus, or any suitable combination of the foregoing.

[0076] More specific examples of storage devices (a non-comprehensive list) would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory ("RAM"), a read-only memory ("ROM"), an erasable programmable read-only memory ("EPROM" or flash memory), a portable compact disk read-only memory ("CD-ROM"), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0077] The code for implementing the operation for the embodiment can be any number of circuits, and can be written with any combination of one or more programming languages ​​for implementing the operation for the embodiment, and the one or more programming languages ​​include: object-oriented programming languages ​​(such as, Python, Ruby, Java, Smalltalk, C++, etc.) and conventional process programming languages ​​(such as, "C" programming languages, etc.) and / or machine languages ​​(such as, assembly language). The code can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer by any type of network (including local area network ("LAN") or wide area network ("WAN")), or can be connected to an external computer (for example, by using the Internet ("ISP") of an Internet service provider.

[0078] Throughout this specification, references to "one embodiment," "an embodiment," or similar language are intended to include a particular feature, structure, or characteristic described in conjunction with the embodiment in at least one embodiment. Thus, unless expressly specified otherwise, throughout this specification, the phrases "in one embodiment," "in an embodiment," and similar language may, but do not necessarily, refer to the same embodiment, but rather to "one or more but not all embodiments." Unless expressly specified otherwise, the terms "including," "comprising," "having," and variations thereof mean "including but not limited to." Unless expressly specified otherwise, a list of enumerated items does not imply that any or all of the items are mutually exclusive. Unless expressly specified otherwise, the terms "a," "an," and "the" also refer to "one or more."

[0079] In addition, the features, structures, or characteristics of the description of the embodiments can be combined in any suitable manner. In the following description, a large number of specific details (such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc.) are provided to provide a thorough understanding of the embodiments. However, those skilled in the art will recognize that embodiments can be practiced without one or more of these specific details or using other methods, components, materials, etc. In other examples, well-known structures, materials, or operations are not shown or described in detail to avoid blurring the aspects of the embodiments.

[0080] The various aspects of the embodiment are described below with reference to the schematic flow chart and / or schematic block diagram of the method, equipment, system and program product according to the embodiment.It will be understood that each frame in the schematic flow chart and / or schematic block diagram and the combination of frames in the schematic flow chart and / or schematic block diagram can be realized by code.These codes can be provided to a general-purpose computer, a special-purpose computer or other programmable data processing equipment to produce a processor of a machine, so that the instruction executed via the processor of a computer or other programmable data processing equipment creates a device for realizing the function / action specified in the schematic flow chart and / or one or more schematic block diagram frames.

[0081] The code may also be stored in a storage device capable of directing a computer, other programmable data processing apparatus, or other apparatus to operate in a specific manner, so that the instructions stored in the storage device produce an article of manufacture including instructions for implementing the functions / actions specified in the schematic flowchart and / or one or more schematic block diagrams.

[0082] The code may also be loaded onto a computer, other programmable data processing device, or other apparatus to cause a series of operational steps to be performed on the computer, other programmable device, or other apparatus to produce a computer-implemented process, so that the code executed on the computer or other programmable device provides a process for implementing the functions / actions specified in the flowchart and / or one or more block diagram blocks.

[0083] The schematic flow charts and / or schematic block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the devices, systems, methods and program products according to various embodiments. In this regard, each box in the schematic flow charts and / or schematic block diagrams may represent a module of code, a segment of code, or a portion of code, which includes one or more executable instructions of the code for implementing (one or more) specified logical functions.

[0084] It should also be noted that in some alternative implementations, the functions mentioned in the blocks may not occur in the order mentioned in the drawings. For example, two blocks shown in succession may actually be performed substantially simultaneously, or the blocks may sometimes be performed in reverse order, depending on the functions involved. It is contemplated that other steps and methods are functionally, logically, or effectively equivalent to one or more blocks or portions thereof in the illustrated drawings.

[0085] Although various arrow types and line types can be adopted in flow chart and / or block diagram, they are understood to not limit the scope of corresponding embodiment.In fact, some arrows or other connectors can be used to only indicate the logical flow of the embodiment described.For example, an arrow can indicate the waiting or monitoring cycle of the unspecified duration between the steps listed in the embodiment described.It should also be noted that each frame in the block diagram and / or flow chart and the combination of the frames in the block diagram and / or flow chart can be realized by the system based on special hardware or the combination of special hardware and code that performs the specified function or action.

[0086] The description of an element in each figure may refer to the element in the figure being described. Like numbers refer to like elements in all figures, including alternative embodiments of like elements.

[0087] In order to support several 5G application categories simultaneously, the user equipment ("UE") is configured to connect to multiple network slices simultaneously. Each network slice is optimized for a specific application category. In order to optimize the communication performance in the application category and also potentially reduce the battery consumption of the UE, the UE can direct one type of traffic to the network slice dedicated to the application category and direct all other traffic to another network slice optimized to support general mobile broadband ("MBB") traffic. For example, a UE in a vehicle can behave as both an IoT gateway and a smart phone. The UE can have applications that retrieve data from the vehicle's electronic systems and report these data to a cloud server for analysis and diagnosis, and the UE can also have applications that enable a typical smart phone experience (dial-up service, web browsing, etc.). In order to optimize communication performance and also potentially reduce the battery consumption of the UE, the UE can direct IoT traffic to the IoT network slice and direct all other traffic to the MBB network slice optimized to support smart phone applications.

[0088] By enabling the UE to connect to different network slices that cater to different application categories, UE vendors are able to produce devices that can also be used in IoT application categories, and therefore, the value of the device will be increased and will bring more experience to the end user in a way that optimizes network performance and reduces UE battery consumption. Further, communication performance can be increased and battery life can be increased by allowing the UE to selectively connect to the appropriate network slice. In order to enable the UE to selectively connect to the appropriate network slice (and connect to multiple network slices simultaneously as needed), the UE must be able to (a) select the desired network slice (based on certain criteria) and (b) attach to the selected network slice. The present disclosure specifies such a UE.

[0089] The concept of network slicing is similar to the concept of dedicated core networks ("DCNs") supported in 3GPP Rel-13 specifications. A Rel-13 3GPP network may support multiple core networks, each dedicated to a specific use case. For example, a first DCN may serve smartphones and tablets, while a second and third DCN may serve smart flow meters reporting electricity and water consumption, respectively. Each UE is statically assigned to a DCN based on subscription information. Thus, when a UE attaches to a PLMN, a serving MME is selected based on the subscription information retrieved from the HSS, and, therefore, a serving DCN is selected.

[0090] All dedicated core networks have the same functional elements (MME, SGW, PGW, etc.), and they apply the same control and user plane procedures (e.g., the same RRC and S1 signaling procedures). In contrast, different network slices can have completely different network architectures and use different procedures. For example, a network slice for IoT can use many different RRC procedures from a network slice for MBB. Moreover, a network slice for IoT can use completely different radio technologies from a network slice for MBB (e.g., narrowband IoT vs. LTE-Advanced). Therefore, the key difference between network slicing and dedicated core networks is that different network slices can be based on different architectures and procedures, while different dedicated core networks are all based on the same architecture and procedures.

[0091] Figure 1 An embodiment of a wireless communication system 100 for supporting network slicing is depicted. In one embodiment, the wireless communication system 100 includes a remote unit 102, a base unit 104, and a wireless communication link 106. Even in Figure 1 A specific number of remote units 102, base units 104, and wireless communication links 106 are depicted in FIG. 1 , but those skilled in the art will recognize that any number of remote units 102, base units 104, and wireless communication links 106 may be included in the wireless communication system 100.

[0092] The base units 104 form a radio access network ("RAN") 108. The RAN 108 is communicatively coupled to a packet core network, such as a 5G packet core network, or an evolved packet core ("EPC") 110 as specified in the LTE specifications. Figure 1 The EPC is shown, but the present disclosure is not intended to be limited to any particular wireless communication system architecture or protocol implementation. Thus, in non-LTE implementations, the RAN 108 may be coupled to a different type of packet core network, such as a "5G" packet core network. The EPC 110 belongs to a single public land mobile network ("PLMN") and includes multiple network slices 112. Even in Figure 11 , but those skilled in the art will recognize that any number of network slices 112 may be included in the EPC 110. Each network slice 112 may be optimized for a particular application category. For example, a first network slice 112 may be optimized for mobile broadband services (high data rate, medium latency), a second network slice 112 may be optimized for autonomous driving (low latency, high reliability), and a second network slice 112 may be optimized for a large number of IoT / MTC (low mobility, low data rate). Each optimized service provided by a network slice 112 may correspond to an application category. Further, two or more network slices 112 may be optimized for the same application category (e.g., the EPC 110 may include multiple instances of a network slice 112 optimized for a particular application category).

[0093] In one embodiment, the remote unit 102 can include a computing device such as a desktop computer, a laptop computer, a personal digital assistant (“PDA”), a tablet computer, a smart phone, a smart TV (e.g., a TV connected to the Internet), a set-top box, a game console, a security system (including a security camera), a car computer, a network device (e.g., a router, a switch, a modem), etc. In some embodiments, the remote unit 102 includes a wearable device such as a smart watch, a fitness band, an optical head-mounted display, etc. In addition, the remote unit 102 can be referred to as a subscriber unit, a mobile device, a mobile station, a user, a terminal, a mobile terminal, a fixed terminal, a subscriber station, a UE, a user terminal, a device, or by other terminology used in the art. The remote unit 102 can communicate directly with one or more of these base units 104 via uplink (“UL”) communication signals. In addition, the UL communication signals can be carried by the wireless communication link 106.

[0094] The base unit 104 may be distributed over a geographic area. In some embodiments, the base unit 104 may also be referred to as an access point, an access terminal, a basic device, a base station, a node B, an eNB, a home node B, a relay node, a device, or by any other terminology used in the art. The base unit 104 is typically a portion of a radio access network (108) that includes one or more controllers that are communicatively coupled to one or more corresponding base units 104. The radio access network 108 is typically communicatively coupled to one or more core networks (such as, EPC 110), which may be coupled to other networks, such as the Internet and a public switched telephone network, and other networks. These and other elements of the radio access network and the core network are not shown, but these and other elements are generally known to those of ordinary skill in the art. For example, one or more base units 104 may be communicatively coupled to a mobility management entity ("MME"), a serving gateway ("SGW"), and / or a packet data network gateway ("PGW").

[0095] In one implementation, the wireless communication system 100 complies with the Long Term Evolution ("LTE") of the 3GPP protocol, wherein the base unit 104 transmits on the DL using an orthogonal frequency division multiplexing ("OFDM") modulation scheme, and the remote unit 102 transmits on the UL using a single carrier frequency division multiple access ("SC-FDMA") scheme. However, more generally, the wireless communication system 100 may implement some other open or proprietary communication protocol, such as WiMAX, among other protocols. The present disclosure is not intended to be limited to any particular wireless communication system architecture or protocol implementation.

[0096] A base unit 104 may serve several remote units 102 within a service area (eg, a cell or cell sector) via wireless communication links. The base unit 104 may communicate directly with one or more of the remote units 102 via communication signals.

[0097] The base unit 104 transmits downlink ("DL") communication signals in the time, frequency, and / or spatial domains to serve the remote units 102. In addition, the DL communication signals may be carried by the wireless communication link 106. The wireless communication link 106 may be any suitable carrier in the licensed or unlicensed radio spectrum. The wireless communication link 106 may communicate with one or more of the remote units 102 and / or one or more of the base units 104.

[0098] In one embodiment, a device (e.g., a UE, a remote unit 102) may determine an application class associated with a data packet and request a network connection to a network slice 112 corresponding to the identified application class. In such an embodiment, a class selection policy may be used to identify which application class is associated with the data packet. The class selection policy may include one or more rules for selecting an application class based on characteristics of the data packet. The device may then transmit the data packet and any subsequent data packets of the same application class through a network slice 112 optimized for the application class. Further, the device may receive one or more return data packets through the same network slice 112, the return packet being a response to the transmitted data packet. Therefore, by selecting and transmitting a network slice 112 optimized for the application class associated with the data packet, the device optimizes communication performance in the application class and potentially reduces battery consumption of the UE.

[0099] Figure 2 An embodiment of an apparatus 200 that can be used to support network slicing is depicted. The apparatus 200 includes an embodiment of a remote unit 102. In addition, the remote unit 102 may include a processor 202, a memory 204, an input device 206, a display 208, and a transceiver 210. In some embodiments, the input device 206 and the display 208 are combined into a single device, such as a touch screen. In a certain embodiment, the remote unit 102 may not include any input device 206 and / or display 208. In various embodiments, the remote unit 102 may include one or more of the processor 202, the memory 204, the transceiver 210, and may not include the input device 206 and / or the display 208.

[0100] In one embodiment, the processor 202 may include any known controller capable of executing computer-readable instructions and / or capable of performing logical operations. For example, the processor 202 may be a microcontroller, a microprocessor, a central processing unit (“CPU”), a graphics processing unit (“GPU”), an auxiliary processing unit, a field programmable gate array (“FPGA”), or a similar programmable controller. In some embodiments, the processor 202 executes instructions stored in the memory 204 to perform the methods and routines described herein. The processor 202 is communicatively coupled to the memory 204, the input device 206, the display 208, and the transceiver 210. In some embodiments, the processor 202 may identify an application class associated with a received data packet (received from an application executed on the processor 202) and control the transceiver 210 to request a network connection corresponding to the identified application class.

[0101] In one embodiment, memory 204 is a computer-readable storage medium. In some embodiments, memory 204 includes non-volatile computer storage media. For example, memory 204 may include RAM, including: dynamic RAM ("DRAM"), synchronous dynamic RAM ("SDRAM") and / or static RAM ("SRAM"). In some embodiments, memory 204 includes non-volatile computer storage media. For example, memory 204 may include a hard drive, flash memory, or any other suitable non-volatile computer storage device. In some embodiments, memory 204 includes both volatile computer storage media and non-volatile computer storage media. In some embodiments, memory 204 stores data related to the category selection strategy. In some embodiments, memory 204 also stores program code and related data, such as an operating system or other controller algorithms for operating remote unit 102.

[0102] In one embodiment, input device 206 may include any known computer input device, including: a touch panel, a button, a keyboard, a stylus, a microphone, etc. In some embodiments, input device 206 may be integrated with display 208, for example, as a touch screen or similar touch-sensitive display. In some embodiments, input device 206 includes a touch screen so that text can be entered using a virtual keyboard displayed on the touch screen and / or by handwriting on the touch screen. In some embodiments, input device 206 includes two or more different devices, such as a keyboard and a touch pad.

[0103] In one embodiment, the display 208 may include any known electronically controllable display or display device. The display 208 may be designed to output visual signals, auditory signals and / or tactile signals. In some embodiments, the display 208 includes an electronic display capable of outputting visual data to a user. For example, the display 208 may include, but is not limited to: an LCD display, an LED display, an OLED display, a projector, or a similar display device capable of outputting images, text, etc. to a user. As another non-limiting example, the display 208 may include a wearable display, such as a smart watch, smart glasses, a head-up display, etc. Further, the display 208 may be a component of a smart phone, a personal digital assistant, a television, a desktop computer, a notebook (laptop) computer, a personal computer, a vehicle dashboard, etc.

[0104] In some embodiments, the display 208 includes one or more speakers for producing sound. For example, the display 208 can produce an audible alarm or notification (e.g., a beep or ring). In some embodiments, the display 208 includes one or more tactile devices for producing vibration, motion, or other tactile feedback. In some embodiments, all or part of the display 208 can be integrated with the input device 206. For example, the input device 206 and the display 208 can form a touch screen or similar touch-sensitive display. In other embodiments, the display 208 can be located near the input device 206.

[0105] The transceiver 210 communicates with a mobile communication network supporting multiple application classes via multiple network slices, each network slice being associated with a particular application class. The transceiver 210 includes a transmitter 212 for providing UL communication signals to the base unit 104 and a receiver 214 for receiving DL communication signals from the base unit 104. In one embodiment, the transceiver 210 is used to request a network connection corresponding to the identified application class and to communicate with the base unit 104 in other ways. For example, the transmitter 212 may request a network connection associated with the application class by transmitting a radio resource control ("RRC") connection establishment message (such as an RRC connection establishment complete message) including an application class parameter corresponding to the identified application class.

[0106] Although only one transmitter 212 and one receiver 214 are illustrated, the transceiver 210 may include any suitable number of transmitters 212 and receivers 214. The transmitters 212 and receivers 214 may be any suitable type of transmitters and receivers. For example, in some embodiments, the transceiver 210 includes multiple transmitter 212 and receiver 214 pairs for transmitting on multiple wireless networks and / or radio frequency bands, each transmitter 212 and receiver 214 pair being configured to transmit on a different wireless network and / or radio frequency band than the other transmitter 212 and receiver 214 pairs.

[0107] Figure 3Another embodiment of an apparatus 300 that can be used to support network slicing is depicted. The apparatus 300 includes an embodiment of a base unit 104. In addition, the base unit 104 may include a processor 302, a memory 304, an input device 306, a display 308, a transmitter 310, and a network interface 312. As can be apparent, the processor 302, the memory 304, the input device 306, and the display 308 can be substantially similar to the processor 202, the memory 204, the input device 206, and the display 208 of the remote unit 102, respectively. In some embodiments, the processor 302 can be used to determine whether the base unit 104 applies a traffic steering rule for routing data traffic on a first route across a first access network and on a second route across a second access network.

[0108] In some embodiments, the processor 302 controls the radio transceiver 310 to transmit a DL signal to the remote unit 102. The processor 302 may also control the radio transceiver 310 to receive an UL signal from the remote unit 102. For example, the processor 302 may control the radio transceiver 310 to receive an RRC connection request and transmit an RRC connection establishment message. The processor 302 may further identify an application class parameter included in the received RRC connection establishment complete message, and select a network slice 112 based on the application class parameter. The processor 302 may then establish a connection between the remote unit 102 and the network slice 112, for example, via the radio transceiver 310 and the network interface 312.

[0109] In one embodiment, the radio transceiver 310 is configured to wirelessly communicate with the remote unit 102. In certain embodiments, the radio transceiver 310 includes a transmitter for transmitting DL communication signals to the remote unit 102 and a receiver for receiving UL communication signals from the remote unit 102. For example, the receiver may receive an RRC connection request and the transmitter may transmit an RRC connection setup message.

[0110] The radio transceiver 310 may communicate with multiple remote units 102 simultaneously. For example, a transmitter may transmit DL communication signals that are received by multiple remote units 102. As another example, a receiver may receive UL communication signals from multiple remote units 102 simultaneously. The radio transceiver 310 may include any suitable number and any suitable type of transmitters and receivers. After selecting a network slice 112 based on the received application class parameter, the base unit 104 may bridge the remote unit 102 to the selected network slice 112 via the radio transceiver 310 and the network interface 312.

[0111] In one embodiment, the network interface 312 is configured to communicate with the EPC 110. In one embodiment, the network interface 312 establishes a network connection with one or more network slices 112 within the EPC 110. For example, the processor 302 may control the network interface 312 to establish a network connection with one or more MMEs within the network slice 112 by using an S1 setup request message and an S1 setup response message. After selecting a network slice 112 based on the received application category parameter, the network interface 312 may use known signaling messages between the remote unit 102, the base unit 104, and the EPC 110 to bridge the remote unit 102 to the selected network slice 112.

[0112] Figure 4 One embodiment of a network attachment process 400 for supporting network slicing is illustrated. In the illustrated example, communications with a UE 402 and an eNode B (eNB) 416 are illustrated. In some embodiments, the UE 402 may be an embodiment of a remote unit 102. In some embodiments, the eNB 416 may be an embodiment of a base unit 104. In addition, communications between an application 404 running on the UE 402 and an operating system (OS) 406 running on the UE 402 are illustrated. The OS 406 may include a connectivity manager 408 and a cellular modem 410. The cellular modem 410 may include a non-access stratum ("NAS") layer 412 and a radio resource control ("RRC") layer 414 as part of an access stratum.

[0113] As shown, application 404 may request OS 406 to establish a network connection with certain characteristics. To do this, application 404 may send a "request network connection" message 420 to connectivity manager 408 of OS 406. In one embodiment, OS 406 is an ANDROID TM operating system, and the "request network connection" message 420 corresponds to a "requestNetwork()" API call. The "request network connection" message 420 indicates the type of service that should be accessible via the connection.

[0114] The "request network connection" message 420 includes an application category parameter 421 indicating how the requested network connection will be used by the application 404. For example, if the connection will be used to access general-purpose services (such as web browsing, email, video / audio streaming, etc.), the application category parameter 421 may indicate "ApplicationCategory=General purpose". In another example, if the connection will be used for low-latency, mission-critical communications (such as public safety communications, autonomous driving, etc.), the application category parameter 421 may indicate "ApplicationCategory=Mission Critical". In yet another example, if the connection will be used to send data infrequently (such as relaying sensor data to a cloud server), the application category parameter 421 may indicate "ApplicationCategory=Infrequent Messaging".

[0115] The application category parameter 421 helps the OS 406 and / or the eNB 416 select the appropriate network slice to support the requested connection. For example, if the application indicates "ApplicationCategory=Infrequent Messaging", the eNB 416 can establish the requested connection via a network slice optimized to support IoT or MTC services. In some embodiments, the application category parameter 421 can be associated with the application 404 so that all network communications performed by the application 404 are associated with a single application category. In other embodiments, the application 404 can have network communications in more than one application category. The specific values ​​of the application category parameter 421 given above are exemplary and non-limiting. In some embodiments, the format and acceptable values ​​of the application category parameter 421 can be defined by a network operator and / or a network standard body (e.g., 3GPP or other telecommunications association).

[0116] In some embodiments, the "request network connection" message 420 also includes a "network capability" parameter indicating the type of network service requested. For example, the "network capability" parameter may request an IP Multimedia Subsystem ("IMS") service, a Multimedia Messaging Service ("MMS") service, an Internet service, a Rich Communication Service ("RCS") service, a Secure User Plane Location ("SUPL") service, etc. In some embodiments, the "request network connection" message 420 also includes a "transmission type" parameter indicating the type of transmission requested. For example, the "transmission type" parameter may request a connection via a cellular connection, a WLAN connection (e.g., or connection), Ethernet connection, virtual private network ("VPN"), etc.

[0117] Connectivity manager 408 receives the "request network connection" message 420 and determines whether application 404 is allowed to utilize the requested application category parameters 421. In some embodiments, the user must allow application 404 to utilize specific application categories. For example, the user may allow application 404 to utilize one or more application categories during installation of application 404. As another example, the user may dynamically indicate permission to utilize specific application categories, such as in response to a prompt from OS 406.

[0118] In other embodiments, the network operator must allow application 404 to utilize a specific application category. For example, a network operator may allow a gaming application to utilize a "general" application category, but refuse to allow a gaming application to utilize a "mission critical" application category. In one embodiment, the network operator may provide UE 402 with a list of applications that are allowed to utilize application categories supported in the operator's network. The list of applications may be a whitelist (e.g., only applications on the whitelist are approved to utilize an application category), a blacklist (e.g., applications on the blacklist are denied to utilize an application category), or other suitable list.

[0119] The connectivity manager 408 also determines whether the UE 402 has already established a network connection that supports the received application class parameters 421. For example, the connectivity manager 408 may maintain a list of established (active) network connections and the application classes supported by the network connections (or, alternatively, the network slices 112 associated with the connections). In response to a network connection that supports the received application class parameters 421 having been established, the OS will then use the established network connection to deliver data for the application 404. Otherwise, the connectivity manager 408 sends a request to establish a data connection. Here, it is assumed that the connection will be established via a cellular modem (e.g., the "Request Network Connection" message 420 may include a transmission type parameter specifying a cellular connection and / or the OS 406 may select a cellular modem as the best or only available modem). Therefore, the connectivity manager 408 sends an "Establish Data Connection" message 422 to the cellular modem 410, and specifically, sends the "Establish Data Connection" message 422 to the NAS layer 412. Other modems (e.g., ) to use a similar process.

[0120] The "Establish Data Connection" message 422 includes an application class parameter 421. In some embodiments, the "Establish Data Connection" message 422 also includes an access point name ("APN") parameter that indicates a specific APN with which the cellular modem 410 should establish a connection. The APN may be selected based on the type of service requested. For example, the APN may be selected based on the value of the network capabilities parameter included in the "Request Network Connection" message 420.

[0121] NAS layer 412 receives the "Establish Data Connection" message 422 and creates an initial NAS message. NAS layer 412 then forwards the NAS message to RRC layer 414. For example, according to 3GPP LTE procedures, NAS layer 412 may create and forward a "NAS Attach Request" message 424. In another example, a "NAS PDN Connectivity Request" message may be created and forwarded. When other communication standard procedures are used, NAS layer 412 may create an equivalent Attach Request message.

[0122] The "NAS Attach Request" message 424 includes an application class parameter 421. In some embodiments, the "NAS Attach Request" message 424 also includes a PLMN identity ("PLMN-ID") parameter selected according to an established procedure. In the case where a radio access network is shared by several PLMNs, the PLMN identity is used by the radio access network in order to direct the UE's traffic to one of these PLMNs.

[0123] The RRC layer 414 receives the "NAS Attach Request" message 424 and determines the radio signaling procedure based on the application class parameter 421. For example, when the application class parameter 421 has a specific value, the RRC layer may determine that an RRC connection is not required. However, for other application class parameter 421 values, the RRC layer may trigger an RRC connection 426, for example, by sending an RRC Connection Request message to the eNB 416 and in turn receiving an RRC Connection Establishment message.

[0124] In all cases, the RRC layer 414 sends an RRC message to the eNB 416 based on the received "NAS Attach Request" message 424. As depicted, the message may be an RRC connection establishment message 428, such as an "RRC Connection Setup Complete" message (according to the existing 3GPP LTE standard), but any other message defined in the radio protocol can be used. The RRC connection establishment message 428 includes an application class parameter 421. In one embodiment, the RRC layer 414 may send the "RRC Connection Setup Complete" message in response to receiving the RRC connection establishment message. However, in other embodiments, the RRC layer 414 may send a non-established RRC message to the eNB 416, for example, in response to the RRC layer 414 determining that an RRC connection is not required, the non-established RRC message including the application class parameter 421. In some embodiments, the "RRC Connection Setup Complete" message may also include other parameters from the initial NAS message (e.g., the "NAS Attach Request" message 424), such as the selected PLMN-ID.

[0125] After receiving the RRC connection establishment message 428, the eNB 416 selects 430 a network slice 112 to utilize to create the requested network connection based on the application class parameter 421. In some embodiments, selecting 430 the network slice 112 includes: the eNB 416 identifies a network slice that supports (e.g., is optimized to support) the application class indicated in the application class parameter 421 and selects an MME of the identified network slice 112. As described below with reference to Figure 6 It is described that the eNB 416 can further establish a network connection (e.g., MME) between the UE 402 and the network slice 112.

[0126] In some embodiments, a second application (not shown) running on UE 402 may request a network connection using a different application class parameter 421. In such an embodiment, UE 402 will request a second network connection to a second network slice 112 that supports (e.g., is optimized to support) the application class indicated in the different application class parameter 421. Thus, as in Figure 7 As depicted in , UE 402 can ultimately attach to two different network slices 112 and have two different IP connections.

[0127] The network attachment process 400 assumes that the application 404 is able to explicitly request a network connection for a particular application class (e.g., due to including an application class parameter 421 in the "request network connection" message 420). However, conventional applications may not be able to explicitly request a network connection for a particular application class, and may instead send a request that does not include the application class parameter 421. Furthermore, some applications may simply request that a data packet be sent without first requesting a network connection with particular characteristics. Figure 5 The proposed application does not send the network attachment procedure of the application category parameter 421.

[0128] Figure 5 Another embodiment of a network attachment process 500 for supporting network slicing is illustrated. Network attachment process 500 represents an alternative for network attachment process 400. Although network attachment process 500 is primarily directed to embodiments in which applications do not explicitly request network connections for specific application classes, in some embodiments, network attachment process 500 may be used even when applications explicitly request network connections for specific application classes.

[0129] In the illustrated embodiment, communications with a UE 402 and an eNode B (eNB) 416 are illustrated. In addition, communications between an application 404 running on the UE 402 and an operating system (OS) 406 running on the UE 402 are illustrated. The OS 406 may include a networking layer 502, a class selection policy 504, and a cellular modem 410. The cellular modem 410 may include a non-access stratum ("NAS") layer 412 and a radio resource control ("RRC") layer 414 as part of an access stratum. In some embodiments, the UE 402, the cellular modem 410, and the eNB 416 may be substantially the same as described above with reference to FIG. Figure 4 The UE 402, cellular modem 410, and eNB 416 are depicted similarly.

[0130] As shown, application 404 may request 506 to send a data packet to the network. In one embodiment, application 404 requests to send a data packet without previously requesting a network connection for establishing a network connection having certain characteristics. In another embodiment, application 404 may send a network connection request that lacks an indication of an application category. In such an embodiment, the network connection may include a "network capability" parameter indicating the type of network service requested and / or a "transmission type" parameter indicating the type of transmission requested. Figure 4 The "Network Capability" parameter and the "Transport Type" parameter are described.

[0131] After receiving the request 506 to send a data packet, the OS routes the request to the networking layer 502. The networking layer 502 consults 508 with the class selection policy 504 to determine the application class of the request 506. The class selection policy 504 contains rules for associating data packets with specific application class parameters 421. The class selection policy 504 can determine the application class parameters 421 based on the identity of the application 404, the application type of the application 404 (e.g., games, utilities, productivity, navigation, music, etc.), the recipient address or address range (e.g., IP address, domain name, etc.), the transmission protocol (e.g., transmission control protocol ("TCP"), user datagram protocol ("UDP"), etc.), the recipient port number (e.g., HTTP port 80), or a combination thereof. In some embodiments, the rules of the class selection policy 504 are arranged in a hierarchy so that higher-ranked rules can override lower-ranked rules.

[0132] For example, the category selection policy 504 may include a rule that packets from a particular application "Application-x" are to be associated with "ApplicationCategory=Mission Critical", while packets from another application "Application-y" are to be associated with "ApplicationCategory=Infrequent Messaging". As another example, the category selection policy 504 may include a rule that packets addressed to the domain "example.IoT.com" should be associated with "ApplicationCategory=Infrequent Messaging". As yet another example, the category selection policy 504 may include a rule that UDP packets are to be associated with "ApplicationCategory=General Purpose". In yet another example, the category selection policy 504 may include a rule that TCP packets designated to 143.128.1.0 / 24 (as an example of an IP address range) should be associated with "ApplicationCategory=Mission Critical". Category selection policy 504 may also include a rule to associate any data packet not explicitly associated with "ApplicationCategory=MissionCritical" or "ApplicationCategory=Infrequent Messaging" with "ApplicationCategory=General Purpose".

[0133] For example, the class selection policy 504 may be statically pre-configured in the UE through the Access Network Discovery & Selection Function (“ANDSF”) specified in the 3GPP specification, or the class selection policy 504 may be wirelessly provided and managed by a network management entity. In the case where the UE 402 operates using other standards, the class selection policy 504 may be provided by an equivalent network management entity. In one embodiment, the class selection policy 504 is created by a network operator and provided in the UE 402 for directing UE traffic to various network slices 112 in the EPC 110 or other packet core network (e.g., “5G packet core network”). As an example, a mobile network operator may provide a class selection policy 504 in the UE 402 that directs all traffic for a specific application in the UE to a network slice 112 optimized to support IoT services.

[0134] In some embodiments, in the case where the request 506 to send the data packet is a network connection request including the application class parameter 421, the networking layer 502 can verify the application class parameter 421. For example, the class selection policy 504 can include one or more rules based on the identity or application type of the application 404, which override any application class parameter 421 included in the network connection request from the application 404. In other embodiments, in response to the request 506 being a network connection request including the application class parameter 421, the networking layer 502 can override the rules in the class selection policy 504. For example, the class selection policy 504 can include one or more rules based on the recipient address, data packet type, or transport protocol type covered by the application class parameter 421 included in the network connection request from the application 404.

[0135] Having determined the application class parameter 421 for the received data packet, the networking layer 502 may also determine whether the UE 402 has established a network connection that supports the received application class parameter 421. For example, the networking layer 502 may maintain a list of established (active) network connections and the application classes supported by the network connections (or, alternatively, the network slices 112 associated with the connection). In response to a network connection that supports the received application class parameter 421 having been established, the OS will then use the established network connection to deliver data for the application 404. Otherwise, the networking layer 502 sends a request to establish a data connection. Here, it is assumed that the connection will be established via a cellular modem (e.g., the "Request Network Connection" message 420 may include a transmission type parameter specifying the cellular connection and / or the OS 406 may select the cellular modem as the best and only available modem). Therefore, the networking layer 502 sends an "Establish Data Connection" message 422 to the cellular modem 410, and specifically, sends the "Establish Data Connection" message 422 to the NAS layer 412. Other modems (e.g., ) to use a similar process.

[0136] As discussed above, the "Establish Data Connection" message 422 includes an application class parameter 421 and optionally an access point name ("APN") parameter. The NAS layer 412 receives the "Establish Data Connection" message 422 and creates an initial NAS message. The NAS layer 412 then forwards the NAS message to the RRC layer 414. For example, in accordance with 3GPP LTE procedures, the NAS layer 412 may create and forward a "NAS Attach Request" message 424. In another example, a "NAS PDN Connectivity Request" message may be created and forwarded. When other communication standard procedures are used, the NAS layer 412 will create an equivalent Attach Request message.

[0137] As discussed above, the "NAS Attach Request" message 424 includes an application class parameter 421 and, optionally, a PLMN identity ("PLMN-ID") parameter. The RRC layer 414 receives the "NAS Attach Request" message 424 and determines a radio signaling procedure based on the application class parameter 421. For example, when the application class parameter 421 has a particular value, the RRC layer 414 may determine that an RRC connection is not required. However, for other application class parameter 421 values, the RRC layer may trigger an RRC connection 426, for example, by sending an RRC Connection Request message to the eNB 416 and in turn receiving an RRC Connection Establishment message.

[0138] As previously described, the RRC layer 414 sends an RRC message to the eNB 416 based on the received "NAS Attach Request" message 424. In the depicted embodiment, the RRC layer 414 sends an RRC connection establishment message 428 including an application class parameter 421. For example, the RRC may later send an "RRC Connection Setup Complete" message (414) in response to receiving the RRC connection establishment message. However, in other embodiments, the RRC layer 414 may send a non-establishment RRC message to the eNB 416, for example, in response to the RRC layer 414 determining that an RRC connection is not required, and the non-establishment RRC message includes the application class parameter 421. After receiving the RRC connection establishment message 428, the eNB 416 selects 430 a network slice 112 with which to create the requested network connection based on the application class parameter 421. In some embodiments, selecting 430 the network slice 112 includes the eNB 416 identifying a network slice that supports (e.g., is optimized to support) the application class indicated in the application class parameter 421 and selecting an MME of the identified network slice 112. Figure 6 It is described that the eNB 416 can further establish a network connection between the UE 402 and the network slice 112 (e.g., MME).

[0139] In some embodiments, a second application (not shown) running on UE 402 may also request to send a data packet, and class selection policy 504 may determine a different application class parameter 421 from application 404. In such an embodiment, UE 402 will request a second network connection that is connected to a second network slice 112 that supports (e.g., is optimized to support) the application class indicated in the different application class parameter 421. Thus, as described below with reference to Figure 7 It is discussed that UE 402 can eventually attach to two different network slices 112 and have two different IP connections.

[0140] Figure 6 Another embodiment of a network attachment process 600 for supporting network slicing is illustrated. In the illustrated embodiment, communication between a UE 402 and an eNB 416 is illustrated. In addition, communication in a PLMN 602 between an eNB 416 and a packet core network is illustrated. The UE 402 and the eNB 416 may be embodiments of a remote unit 102 and a base unit 104, respectively, and may be substantially the same as described above with reference to FIG. Figure 4 and Figure 5 The UE 402 and eNB 416 discussed are similar.

[0141] The PLMN 602 includes a first network slice ("Slice A") 604 and a second network slice ("Slice B") 606. Each network slice 604, 606 may include at least two MMEs (e.g., slice A 604 may include at least one MME-x and MME-y, while slice B 606 may include at least one MME-a and MME-b). In addition, the MMEs of the network slices may include features similar to those found in the base unit 104 (e.g., the MMEs may include a processor 302, a memory 304, an input device 306, a display 308, a radio transceiver 310, and / or a network interface 312).

[0142] The network attachment process 600 shows how the eNB 416 (or equivalent base station) selects an MME (or equivalent management entity) in a network slice based on the application class parameter 421 requested by the UE 402. As shown, the eNB 416 establishes S1 signaling connections with multiple MMEs in accordance with existing 3GPP specifications. In some embodiments, these connections are established when the eNB 416 is first initialized and put into service.

[0143] Establishing an S1 signaling connection includes exchanging 608 S1 Setup Request / Response messages between the eNB and each MME. The eNB 416 sends a conventional S1 Setup Request message (1a.) and receives an S1 Setup Response message (1b.) from each MME including a Service Class parameter 609. The Service Class parameter 609 indicates the application class supported by the particular MME. By exchanging 608 S1 Setup Request / Response messages, the eNB 416 identifies the application class supported by each connected MME.

[0144] For example, in MME-x and MME-y (which are part of slice A 604), ServedApplicationCategory=Mission Critical can be indicated. The service category parameter 609 indicates that MME-x and MME-y are part of a network slice (e.g., slice A 604) that is optimized to support low-latency, high-reliability (e.g., mission-critical) communications. Similarly, MME-a and MME-b (which are part of slice B 606) can indicate ServedApplicationCategory=General Purpose to indicate that these MMEs are part of a network slice (e.g., slice B 606) that supports mobile broadband services.

[0145] At some point in time, the UE 402 receives 610 a data packet (e.g., from an application 404 running on the UE) and identifies an application class associated with the data packet. In some embodiments, the data packet is a network connection request, such as the "request network connection" message 420 discussed above that includes an application class parameter 421. In such embodiments, identifying the application class includes parsing the network connection request to identify the application class parameter 421. In other embodiments, the data packet is a network connection request without the application class parameter 421, or is simply a sending data packet without a request for a network connection in advance. In such embodiments, the UE 402 may determine the application class parameter 421 based on the class selection policy 504. Here, it is assumed that the UE 402 does not yet have an established network connection to a network slice corresponding to the application class.

[0146] As mentioned above Figure 4 and Figure 5 It is discussed that the UE 402 may optionally exchange 612 RRC connection request / establishment messages with the eNB 416. For example, the RRC layer 414 may trigger the exchange 612 of the RRC connection messages. Regardless of whether the RRC connection request / establishment messages 612 are exchanged, the UE 402 transmits an RRC connection establishment complete message 614 to the eNB 416, which includes an application class parameter 421 indicating the application class identified for the data packet.

[0147] The eNB 416 selects 616 an MME associated with the indicated application class. In some embodiments, selecting 616 an MME includes determining whether the eNB 416 is connected to any MME that supports the indicated application class. For example, the eNB 416 may generate a list, table, or other data structure that maps connected MMEs to application classes based on the service class parameter 609 received during the exchange of S1 setup request / response messages 608. The eNB 416 can then reference the list, table, etc. when determining whether the eNB 416 is connected to any MME that supports the indicated application class.

[0148] In the event that more than one connected MME supports the indicated application category, selecting 616 the MME may include selecting one of the supporting MMEs based on MME capacity, MME overload status, or other suitable criteria. In the event that no connected MME supports the indicated application category, the eNB may select an alternative (e.g., next best) MME. For example, in response to no connected MME supporting ApplicationCategory=Mission Critical or ApplicationCategory=Infrequent Messaging application category parameter 421, the eNB 416 may select an MME in the network slice 112 that supports "General" or "Mobile Broadband". Alternatively, in response to no connected MME supporting the indicated application category, the eNB 416 may send an RRC connection reject message indicating that the indicated application category is not supported.

[0149] As in Figure 6 As illustrated in , the eNB 416 selects an MME-a in slice B 606 based on the indicated application category. For example, the application category parameter 421 may indicate a generic application category supported by slice B 606. After the eNB 416 selects an MME (here, MME-a) in the appropriate network slice based on the indicated application category, the eNB implements the known S1 procedure to connect the UE with the selected MME. Here, the eNB 416 sends an "Initial UE Message" 618 and in turn receives a "DL NAS Transfer" message from the MME in slice B 606. Thus, the eNB 416 attaches the UE 402 to the MME in the appropriate network slice by matching the application category requested by the UE (in the application category parameter 421) with the service category parameter 609 received from the connected MME.

[0150] Figure 7 One embodiment of a protocol stack 700 for a remote unit 102 supporting network slicing is illustrated. In some embodiments, the depicted protocol stack 700 is the result of a network attachment process 400, 500, and / or 600 for supporting network slicing. The protocol stack 700 corresponds to a remote unit 102 communicating with two network slices (e.g., network slice A 740 and network slice B 745) simultaneously. Specifically, the remote unit 102 has multiple instances of NAS and RRC radio protocols, each corresponding to a different network slice 740, 745. In essence, the remote unit 102 is simultaneously attached to two different packet core network instances (e.g., EPC instances) in the same PLMN.

[0151] The protocol stack 700 includes a medium access control ("MAC") sublayer and a physical layer ("PHY"), shown as a "MAC / PHY layer" 705. In general, the physical layer 705 is used to generate radio signals for transmitting bits or symbols over the wireless communication link 106. The protocol stack 700 also includes a radio link control ("RLC") layer 710 that communicates with the physical layer 705. In general, the RLC layer 710 transfers protocol data units ("PDUs") from higher protocol layers, controls PDU segmentation / concatenation and sequencing, and performs error correction via automatic repeat request ("ARQ").

[0152] The protocol stack 700 further includes a packet data convergence protocol ("PDCP") layer 715 that communicates with the RLC layer 710. In general, the PDCP layer 715 provides header compression / decompression for IP data and delivers user plane (or control plane) data. The PDCP layer 715 communicates with the RRC layer (e.g., RRC layer 720A and / or RRC layer 720B) to transfer control plane data and communicates with the IP layer 735 to transfer user plane data. As depicted, the protocol stack 700 includes one instance for each of the physical layer 705, the RLC layer 710, the PDCP layer 715, and the IP layer 735.

[0153] The protocol stack 700 further includes different instances of a radio resource control ("RRC") layer and a non-access stratum ("NAS") layer for connections to different network slices. In general, the RRC layer manages the establishment, maintenance, and release of an RRC connection between the remote unit 102 and the base unit 104. In general, the NAS layer supports mobility and session management procedures for the remote unit 102 to establish and maintain IP connectivity for the remote unit 102.

[0154] As depicted, the protocol stack 700 includes a first RRC layer 720A and a first NAS layer 725A associated with a connection to network slice A 740. Further, the protocol stack 700 includes a second RRC layer 720B and a second NAS layer 725B associated with a connection to network slice B 745. Note that separate connections to network slices are also associated with separate IP addresses (e.g., IP addresses A and B associated with network slices A and B, respectively). Therefore, the IP layer 735 and the PDCP layer 715 can communicate using the IP address of each network slice communicating with the cellular modem 730. Although the protocol stack 700 is depicted using the fourth generation (4G) 3GPP LTE radio protocol, the same principles apply to other radio protocol standards.

[0155] Figure 8800 is a schematic flow chart illustrating one embodiment of a method 800 for supporting network slicing. In some embodiments, the method 800 is performed by a device, such as a remote unit 102 or a UE. In some embodiments, the method 800 may be performed by a processor that executes program code, such as a microcontroller, a microprocessor, a CPU, a GPU, an auxiliary processing unit, an FPGA, etc.

[0156] The method 800 may include receiving 802 a data packet to be transmitted via a mobile communication network, wherein the mobile communication network supports multiple application categories. In one embodiment, the processor 202 of the remote unit 102 receives the data packet from an application running on the remote unit 102. In another embodiment, the OS 406 receives the data packet from an application 404 running on the UE 402. In some embodiments, receiving 802 the data packet includes receiving a network connection request. In one embodiment, the network connection request includes an application category parameter.

[0157] The method 800 includes identifying 804 an application class associated with the data packet. In one embodiment, the processor 202 of the remote unit 102 identifies 804 the application class. For example, an application running on the processor 202 may identify 804 the application class. In another embodiment, the connectivity manager 408 and / or the networking layer 502 identifies 804 the application class. In some embodiments, the application class may be selected from the group consisting of: mission critical applications, infrequent messaging applications, and general purpose applications.

[0158] In some embodiments, identifying 804 an application class associated with the data packet includes applying a class selection policy to the data packet. The class selection policy may be stored on a storage device such as memory 204 and may include one or more rules for selecting an application class based on data packet characteristics. In some embodiments, the class selection policy is received from an access network discovery and selection function ("NDSF") of a mobile telecommunications network.

[0159] In the case where the data packet includes a network connection request, identifying 804 an application category associated with the network connection request may include parsing the network connection request for an application category parameter. Additionally, identifying 804 the application category (804) may include searching the application selection policy for a rule that overrides the application category parameter specific to the network connection request, and identifying the override application category from the override rule.

[0160] The method 800 includes requesting 806 a network connection corresponding to the identified application class. The method 800 ends. In one embodiment, the processor of the remote unit 102 controls the transceiver 210 to send a network connection request to the base unit 104. In another embodiment, the cellular modem 410 (specifically, the RRC layer 414 of the cellular modem 410) can send an RRC connection message to the eNodeB 416. In some embodiments, requesting 806 a network connection corresponding to the identified application class includes sending a connection establishment message (e.g., an RRC connection establishment complete message) indicating the identified application class (e.g., via the application class parameter 421).

[0161] In some embodiments, requesting 806 a network connection corresponding to the identified application class includes requesting a connection to a network slice that supports the identified application class. In some embodiments, requesting 806 a network connection corresponding to the identified application class includes transmitting simultaneously over multiple network connections, each network connection connected to a different network slice of the mobile communication network.

[0162] In some embodiments, requesting 806 a network connection corresponding to the identified application class includes determining whether a network connection corresponding to the identified application class exists between the method and the mobile communication network. If a network connection corresponding to the identified application class already exists, requesting 806 a network connection may include accessing the existing network connection (e.g., requesting access to the network connection corresponding to the identified application class). Otherwise, if a network connection corresponding to the identified application class does not yet exist, requesting 806 a network connection may include establishing a new network connection with the mobile communication network for the identified application class.

[0163] Various embodiments may be practiced in other specific forms. The described embodiments are considered to be illustrative and non-restrictive in all aspects. Therefore, the scope of the present invention is indicated by the appended claims rather than by the preceding description. All changes within the equivalent meaning and scope of the claims will be included within the scope of the claims.

Claims

1. A user equipment UE, comprising: a transceiver that communicates with a mobile communication network supporting a plurality of network slices; as well as A processor, the processor: Detecting an application of the UE requesting to send a data packet; Selecting a network slice associated with the detected application of the UE; and The data packet is sent to a network slice in the mobile communication network via a network connection, wherein the network connection is associated with the selected network slice.

2. The UE according to claim 1, wherein: Selecting the network slice includes finding a first selection policy rule that matches the application, and selecting an application category parameter contained in the first selection policy rule, wherein the selection policy rule is one of multiple selection policy rules.

3. The UE according to claim 2, wherein: Finding the first selection policy rule includes checking a plurality of selection policy rules in sequence until the first selection policy rule that includes the application identity of the detected application is found.

4. The UE according to claim 1, wherein: Sending the data packet to the network slice via the network connection comprises the processor: determining whether there is a network connection associated with the selected network slice between the UE and the mobile communication network; In response to determining that a network connection associated with the network slice exists between the UE and the mobile communication network, sending the data packet via the existing network connection; as well as In response to determining that there is no network connection associated with the network slice between the UE and the mobile communication network, a new network connection is established using the network slice to send the data packet.

5. The UE according to claim 1, wherein: The processor further receives a selection policy from the mobile communication network, the selection policy being stored at the UE and comprising a plurality of rules for selecting a network slice, wherein selecting the network slice associated with the application comprises applying the selection policy to the detected application.

6. The UE according to claim 1, wherein: The application requesting to send the data packet sends a network connection request including an application category parameter, wherein selecting the network slice associated with the detected application includes verifying the application category parameter using a selection policy.

7. The UE according to claim 6, wherein: The application category parameter indicates a category selected from the group consisting of: mission critical applications, infrequent messaging applications, and general purpose applications.

8. The UE according to claim 6, wherein: Verifying the application category parameter includes determining whether the application is allowed to use the network slice associated with the application category parameter.

9. The UE according to claim 1, wherein: The application requesting to send the data packet sends a network connection request including a network capability parameter, wherein selecting the network slice associated with the detected application includes applying a selection policy to the network capability parameter to select the network slice.

10. The UE according to claim 1, wherein: The application requesting to send the data packet sends a network connection request including a transmission type parameter, wherein selecting the network slice associated with the detected application includes applying a selection policy to the transmission type parameter to select the network slice.

11. A method performed at a user equipment UE, comprising: Detecting an application of the UE requesting to send a data packet; Selecting a network slice associated with the detected application of the UE; and The data packet is sent via a network connection to a network slice in a mobile communication network, the mobile communication network communication supporting multiple network slices, wherein the network connection is associated with the selected network slice.

12. The method according to claim 11, wherein: Selecting the network slice includes finding a first selection policy rule that matches the application, and selecting an application category parameter contained in the first selection policy rule, wherein the selection policy rule is one of multiple selection policy rules.

13. The method according to claim 12, wherein: Finding the first selection policy rule includes checking a plurality of selection policy rules until the first selection policy rule is found that includes the application identity of the detected application.

14. The method according to claim 11, wherein: Sending the data packet to the network slice via the network connection includes: determining whether there is a network connection associated with the selected network slice between the UE and the mobile communication network; In response to determining that a network connection associated with the network slice exists between the UE and the mobile communication network, sending the data packet via the existing network connection; and In response to determining that there is no network connection associated with the network slice between the UE and the mobile communication network, a new network connection is established using the network slice to send the data packet.

15. The method according to claim 11, further comprising: receiving a selection policy from the mobile communication network, the selection policy being stored at the UE and comprising a plurality of rules for selecting a network slice, Wherein selecting the network slice associated with the application comprises applying the selection policy to the detected application.

16. The method according to claim 11, wherein: The application requesting to send the data packet sends a network connection request including an application category parameter to the UE, wherein selecting the network slice associated with the detected application includes verifying the application category parameter using a selection policy.

17. The method according to claim 16, wherein: The application category parameter indicates a category selected from the group consisting of: mission critical applications, infrequent messaging applications, and general purpose applications.

18. The method according to claim 16, wherein: Verifying the application category parameter using a selection policy includes determining whether the application is allowed to use a network slice associated with the application category parameter.

19. The method according to claim 11, wherein: The application requesting to send the data packet sends a network connection request including a network capability parameter, wherein selecting the network slice associated with the detected application includes applying a selection policy to the network capability parameter to select the network slice.

20. The method according to claim 11, wherein: The application requesting to send the data packet sends a network connection request including a transmission type parameter, wherein selecting the network slice associated with the detected application includes applying a selection strategy to the transmission type parameter to select the network slice.