US20210235526A1 - Endpoint computing device dynamic network slice utilization system - Google Patents
Endpoint computing device dynamic network slice utilization system Download PDFInfo
- Publication number
- US20210235526A1 US20210235526A1 US16/776,305 US202016776305A US2021235526A1 US 20210235526 A1 US20210235526 A1 US 20210235526A1 US 202016776305 A US202016776305 A US 202016776305A US 2021235526 A1 US2021235526 A1 US 2021235526A1
- Authority
- US
- United States
- Prior art keywords
- application
- network slice
- computing device
- network
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/02—Resource partitioning among network components, e.g. reuse partitioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/26—Resource reservation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
Definitions
- the present disclosure relates generally to information handling systems, and more particularly to dynamic utilization of network slices by information handling systems.
- An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information.
- information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated.
- the variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications.
- information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
- Information handling systems such as, for example, laptop/notebook computing devices, tablet computing devices, mobile phones, Internet of Things (loT) computing devices, and/or other endpoint computing devices known in the art, often utilize wireless networks in order to enable mobility of those endpoint computing devices while exchanging data, as well as to exchange data from remote locations.
- Wireless networking technology has begun to transition from 4 G millimeter wave (4 G) wireless technology to 5 G millimeter wave (5 G) wireless technology.
- Current conventional 5 G wireless technology includes a 5 G core network system that is operated by a wireless provider (e.g., AT&T® Mobility of Atlanta, Georgia, United States; SPRINT® Corporation of Overland Park, Kansas, United States; VERIZON® Wireless of New York, N.Y., United States; etc.), and that operates with a 5 G Radio Access Network (RAN) system that includes cellular tower systems that operate to exchange wireless communications for the endpoint computing devices discussed above.
- RAN Radio Access Network
- One technique for exchanging the wireless communications by the 5 G core network system for the computing devices discussed above includes the use of network slicing, which one of skill in the art will recognize is a network architecture that enables the multiplexing of virtualized and independent logical networks on the same physical network infrastructure, with each network slice providing a network (e.g., a portion of the wireless spectrum available from the 5 G core network system) with a particular networking characteristics via the 5 G RAN to any of the endpoint computing devices.
- network slicing which one of skill in the art will recognize is a network architecture that enables the multiplexing of virtualized and independent logical networks on the same physical network infrastructure, with each network slice providing a network (e.g., a portion of the wireless spectrum available from the 5 G core network system) with a particular networking characteristics via the 5 G RAN to any of the endpoint computing devices.
- the 5 G specification defines network slicing to enable the scaling of the 5 G core network system infrastructure to computing devices having particular connectivity metrics, and tends to work well for “single-function” computing devices such as the loT computing devices (e.g., loT power meter devices) discussed above, autonomous driving computing device, factory automation computing devices, and/or other single-function endpoint computing devices known in the art.
- loT computing devices e.g., loT power meter devices
- such single-function endpoint computing devices tend to require a particular networking connectivity requirement (e.g., a low bandwidth, low latency networking connectivity requirement for an loT power meter device) for their provided functionality, and thus a network slice may be allocated at the 5 G core network system and provided via the 5 G RAN system to single-function endpoint computing devices with networking connectivity requirements that may be satisfied by the networking characteristics of that network slice.
- a networking connectivity requirement e.g., a low bandwidth, low latency networking connectivity requirement for an loT power meter device
- general purpose endpoint computing devices such as the laptop/notebook computing devices, tablet computing devices, and mobile phones discussed above provide multiple functions (e.g., via multiple applications or workloads operating on those general purpose endpoint computing devices), and thus the conventional provisioning of a network slice with particular networking characteristics that satisfy a particular networking connectivity requirement to such general purpose endpoint computing devices will often result in a networking connection that is non-optimal for at least some of the functionality provided by the general purpose endpoint computing device (e.g., at least some of the applications or workloads operating on the general purpose endpoint computing device.)
- U.S. patent application Ser. No. 16/775,602, attorney docket no. 16356.2140US01 filed on Jan.
- endpoint computing device multi-network slice utilization system that describes endpoint computing devices that may utilize a respective network slice for each of a plurality of different applications, workloads, and/or other functionality provided by the endpoint computing device, thus addressing some of the issues associated with the conventional network slice utilization systems discussed above.
- Some applications may be associated with changing networking requirements, while networking characteristics of network slices such as Quality of Service (QoS) and/or bandwidth may change as that network slice is utilized by the application, and a network administrator may be unaware (or have limited awareness) of such changing application networking connectivity requirements and network slice networking characteristics.
- QoS Quality of Service
- conventional endpoint computing device network slice utilization systems and/or the endpoint computing device multi-network slice utilization system discussed above may provide for the utilization of a network slice(s) by an endpoint computing device and/or its applications that can result in mediocre performance of the applications on that endpoint computing device due to the changing networking requirements of those applications and/or the changing characteristics of that network slice, which can compromise user productivity.
- FIG. 1 is a schematic view illustrating an embodiment of an Information Handling System (IHS).
- IHS Information Handling System
- FIG. 6C is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system of FIG. 2 operating during the method of FIG. 4 .
- FIG. 6G is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system of FIG. 2 operating during the method of FIG. 4 .
- IHS 100 further includes a display 110 , which is coupled to processor 102 by a video controller 112 .
- a system memory 114 is coupled to processor 102 to provide the processor with fast storage to facilitate execution of computer programs by processor 102 .
- Examples of system memory may include random access memory (RAM) devices such as dynamic RAM (DRAM), synchronous DRAM (SDRAM), solid state memory devices, and/or a variety of other memory devices known in the art.
- RAM random access memory
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- solid state memory devices solid state memory devices
- a chassis 116 houses some or all of the components of IHS 100 . It should be understood that other buses and intermediate circuits can be deployed between the components described above and processor 102 to facilitate interconnection between the components and the processor 102 .
- the endpoint computing device dynamic network slice utilization system 200 also includes a Radio Access Network (RAN) system 204 .
- the RAN system 204 may be provided by the IHS 100 discussed above with reference to FIG. 1 , and/or may include some or all of the components of the IHS 100 , and may include radio/cellular towers, base stations, antennas, core network interface devices, and/or any other RAN subsystems that would be apparent to one of skill in the art in possession of the present disclosure.
- the RAN system 204 may be a 5 G RAN system including cellular towers that are configured to provide for wireless communications by endpoint computing devices utilizing network slices/spectrum allocated by the 5 G core network system discussed above.
- the RAN system 204 may provide an orchestration layer for wireless communications between communication devices and cellular towers, allowing wireless communications to then be exchanged by a RAN controller in the RAN system 204 via a Software Defined Networking (SDN) switch device and a separate control-based interface, the separation of which allows the RAN system 204 to be flexible and accommodate Network Function Virtualization (NFV) techniques utilized in 5 G communications.
- SDN Software Defined Networking
- NFV Network Function Virtualization
- the endpoint computing device dynamic network slice utilization system 200 also include a plurality of endpoint computing devices 206 a , 206 b , 206 c , and up to 206 d , each of which may be provided by the IHS 100 discussed above with reference to FIG.
- an embodiment of an endpoint computing device 300 may provide any or all of the endpoint computing devices 206 a - 206 d discussed above with reference to FIG. 2 .
- the endpoint computing device 300 may be provided by the IHS 100 discussed above with reference to FIG. 1 and/or may include some or all of the components of the IHS 100 , and in specific examples may be provided by mobile phones, tablet computing devices, laptop/notebook computing devices, loT computing devices, and/or any other endpoint computing devices that would be apparent to one of skill in the art in possession of the present disclosure.
- the functionality of the endpoint computing device 300 discussed below may be provided by other devices that are configured to operate similarly as the endpoint computing device 300 discussed below.
- the endpoint computing device 300 includes a chassis 302 that houses the components of the endpoint computing device 300 , only some of which are illustrated below.
- the chassis 302 may house a processing system (not illustrated, but which may include the processor 102 discussed above with reference to FIG. 1 ) and a memory system (not illustrated, but which may include the memory 114 discussed above with reference to FIG. 1 ) that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a network slice engine 304 that is configured to perform the functionality of the network slice engines and/or endpoint computing devices discussed below.
- the memory system may also include instructions that, when executed by the processing system, cause the processing system to provide an application engine 305 that is configured to provide any or all of the applications discussed below as operating on the endpoint computing device 300 . Further still, the memory system may also include instructions that, when executed by the processing system, cause the processing system to provide an operating system engine 306 that is configured to perform the functionality of the operating system engines and/or endpoint computing devices discussed below.
- the chassis 302 may also house a storage system (not illustrated, but which may include the storage 108 discussed above with reference to FIG. 1 ) that is coupled to the network slice engine 304 (e.g., via a coupling between the storage system and the processing system) and that includes a network slice database 307 that is configured to store any of the information utilized by the network slice engine 304 discussed below.
- a storage system not illustrated, but which may include the storage 108 discussed above with reference to FIG. 1
- the chassis 302 may also house a storage system (not illustrated, but which may include the storage 108 discussed above with reference to FIG. 1 ) that is coupled to the network slice engine 304 (e.g., via a coupling between the storage system and the processing system) and that includes a network slice database 307 that is configured to store any of the information utilized by the network slice engine 304 discussed below.
- the chassis 302 may also house a communication system 308 that is coupled to the network slice engine 304 and the application engine 305 (e.g., via a coupling between the communication system 308 and the processing system) and that may be provided by a Network Interface Controller (NIC), wireless communication systems (e.g., cellular wireless components (e.g., 5 G cellular wireless components), BLUETOOTH® components, Near Field Communication (NFC) components, WiFi components, etc.), and/or any other communication components that would be apparent to one of skill in the art in possession of the present disclosure.
- NIC Network Interface Controller
- wireless communication systems e.g., cellular wireless components (e.g., 5 G cellular wireless components), BLUETOOTH® components, Near Field Communication (NFC) components, WiFi components, etc.
- NFC Near Field Communication
- endpoint computing devices may include a variety of components and/or component configurations for providing conventional endpoint computing device functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure as well.
- a method 400 for dynamic utilization of network slices by an endpoint computing device is illustrated.
- the systems and methods of the present disclosure provide for the dynamic utilization of a plurality of network slices by any particular functionality (e.g., any particular application, workload, etc.) provided on any particular endpoint computing device.
- a core network system that is coupled to a RAN system may allocate a plurality of a network slices and make each of the plurality of network slices available for use in wireless communications via the RAN system.
- the core network system 202 may operate to allocate network slices and make those network slices available via the RAN system 204 (e.g., a 5 G RAN system) for use in wireless communications.
- the RAN system 204 e.g., a 5 G RAN system
- arrows are provided within the core network system 202 in FIG. 5 to represent portions of spectrum that are available to the core network system 202 , including a spectrum portion 500 , a spectrum portion 502 , and a spectrum portion 504 in the illustrated embodiment.
- the allocation of network slices and the making of those network slices available via the RAN system 204 for use in wireless communications by the core network system 202 is illustrated in FIG. 5 by arrows provided in the RAN system 204 , and may include the core network system 202 allocating a network slice 500 a from the spectrum portion 500 (as illustrated by the arrow between the spectrum portion 500 and the network slice 500 a ), allocating a network slice 502 a from the spectrum portion 502 (as illustrated by the arrow between the spectrum portion 502 and the network slice 502 a ), and allocating network slices 504 a and 504 b from the spectrum portion 504 (as illustrated by the respective arrow between the spectrum portion 504 and the network slices 504 a and 504 b ).
- each of the endpoint computing devices 206 a - 206 d may then operate to connect to a respective network slice in order to utilize that network slice for exchanging wireless communications via the RAN system 204 and the core network system 202 (i.e., wireless communications with other endpoint computing devices coupled to the RAN system 204 , other endpoint devices coupled to a network that is coupled to the core network system 202 , etc.)
- the connection to a network slice by an endpoint computing device, and the exchange of communications via a RAN system and core network system by that endpoint computing device using that network slice may include a variety of conventional operations, and thus is not described herein in detail.
- the method 400 begins at block 402 where an endpoint computing device detects an application.
- the method 400 is described as being performed by the endpoint computing device 206 a .
- the application engine(s) 305 in the endpoint computing device 206 a / 300 may operate to provide one or more applications for operation on the endpoint computing device 206 a / 300 .
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to determine an initial networking connectivity requirement for a video communication application detected at block 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to determine an initial networking connectivity requirement for an audio communication application detected at block 402 that includes a relatively low bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to determine an initial networking connectivity requirement for a video streaming application detected at block 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively intermediate latency networking connectivity requirement, and a relatively intermediate reliability networking connectivity requirement.
- any particular application, workload, and/or functionality operating on the endpoint computing device 206 a / 300 may include multiple application subsystems, workload subsystems, and/or functionality subsystems that have different initial networking connectivity requirements (e.g., an application operating on the endpoint computing device 206 a / 300 may include a first application subsystem having a first initial networking connectivity requirement, a second application subsystem having a second initial networking connectivity requirement, and so on), and those applications subsystems, workload subsystems, and/or functionality subsystems may be detected at block 402 and their different initial networking connectivity requirements determined at block 404 .
- multiple applications operating on the endpoint computing device 206 a / 300 may include the same initial networking connectivity requirement (or respective initial networking connectivity requirements that fall within a particular networking connectivity requirement range) and, as such, those applications may be detected, the initial networking connectivity requirements of those applications may be determined, and those applications may be grouped in an application container that is associated with the initial networking connectivity requirement (or initial networking connectivity requirement range) of those applications.
- the application containers discussed above as being associated with an initial networking connectivity requirement or an initial networking connectivity requirement range may be determined prior to the method 400 , stored in the network slice database 306 , and identified at block 404 from that network slice database 306 while remaining within the scope of the present disclosure as well.
- the allocation of network slices and the making of those network slices available via the RAN system 204 for use in wireless communications by the core network system 202 is illustrated in FIG. 6A by arrows provided in the RAN system 204 , and may include the core network system 202 allocating a network slice 600 a from the spectrum portion 600 (as illustrated by the arrow between the spectrum portion 600 and the network slice 600 a ), allocating a network slice 602 a from the spectrum portion 602 (as illustrated by the arrow between the spectrum portion 602 and the network slice 602 a ), and allocating network slices 604 a and 604 b from the spectrum portion 604 (as illustrated by the respective arrow between the spectrum portion 604 and the network slices 604 a and 604 b ).
- the network slice 602 a may advertise its initial networking characteristics 608 to the endpoint computing device 206 a (illustrated via a dashed arrow in FIG. 6B ), the network slice 604 a may advertise its initial networking characteristics 610 to the endpoint computing device 206 a (illustrated via a dashed arrow in FIG. 6B ), and the network slice 604 b may advertise its initial networking characteristics 610 to the endpoint computing device 206 a (illustrated via a dashed arrow in FIG. 6B ).
- the dashed arrows in FIG. 6B One of skill in the art in possession of the present disclosure will appreciate that the dashed arrows in FIG.
- any particular network slice may identify its networking characteristics via a network slice identifier, a network slice name, a network slice data traffic QoS (e.g., default/best effort, video streaming best effort, enterprise high priority, etc.), and/or a code (e.g., 0x00, 0x1A, 0X12, etc.).
- a network slice identifier e.g., a network slice name
- a network slice data traffic QoS e.g., default/best effort, video streaming best effort, enterprise high priority, etc.
- a code e.g., 0x00, 0x1A, 0X12, etc.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify the initial latency networking characteristics, the initial throughput/bandwidth networking characteristics, the initial reliability networking characteristics, other initial QoS networking characteristics, and/or any other initial networking characteristics provided by each of the network slices 600 a , 602 a , 604 a , and 604 b .
- a RAN controller in the RAN system 204 may inform the endpoint computing device about the number of network slices available to that endpoint computing device from the RAN system, and the QoS networking characteristics associated with each network slice, which allows the endpoint computing device to associate the data traffic provided by each application or workload operating on that endpoint computing device with a network slice that satisfies its network connectivity requirements, as discussed below.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify a at least one of the network slices 206 a - 206 d that includes initial networking characteristics that satisfy the initial networking connectivity requirement for the application detected at block 402 .
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify at least one of the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for a video communication application detected at block 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify at least one of the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for an audio communication application detected at block 402 that includes a relatively low bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirements.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify at least one of the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for a video streaming application detected at block 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively intermediate latency networking connectivity requirement, and a relatively intermediate reliability networking connectivity requirement.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may identify at least one of the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for any of multiple application subsystems, workload subsystems, and/or functionality subsystems included in an application, workload, or functionality (e.g., one or more network slices including first initial networking characteristics that satisfy a first initial networking connectivity requirement for a first application subsystem included in an application operating on the endpoint computing device 206 a / 300 , one or more network slices including second initial networking characteristics that satisfy a second initial networking connectivity requirement for a second application subsystem included in that application operating on the endpoint computing device 206 a / 300 , and so on).
- the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for any of multiple application subsystems, workload subsystems, and/or functionality subsystems
- the identification of at least one of the network slices 600 a , 602 a , 604 a , and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for any particular application operating on the endpoint computing device 206 a / 300 may include the identification of one or more network slices that include initial networking characteristics that are closest to that initial networking connectivity requirement, that fall within some range of that initial networking connectivity requirement, and/or that one of skill in the art in possession of the present disclosure would recognize make those one or more network slices the most desirable subset of the network slices that are available to the endpoint computing device 206 a / 300 for providing that connection for that application.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may be configured to request one or more network slices with initial networking characteristics that satisfy the initial networking connectivity requirement of an application detected to block 402 .
- the network slice engine 304 in the endpoint computing device 206 a / 300 may transmit a network slice request communication via the RAN system 204 to the core network system 202 (e.g., via an available connection to the core network system 202 that may have been previously established using conventional techniques and/or the techniques described herein), with that network slice request communication providing a request to allocate one or more network slices having initial networking characteristics that satisfy the initial network connectivity requirement of the application, and make those one or more network slices available via the RAN system 204 .
- the core network system 202 may receive that network slice request and, in response, may allocate one or more network slices having the requested initial network connectivity requirements, and make those one or more network slices available via the RAN system 204 so that the network slice engine 304 in the endpoint computing device 206 a / 300 may identify those one or more network slices at block 406 .
- the method 400 then proceeds to block 408 where the endpoint computing device establishes one or more connections for the detected application with each of the one or more network slices identified for that application.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to establish one or more connection(s) for the application operating on the endpoint computing device 206 a / 300 with the respective network slice(s) that were identified at block 406 as including initial networking characteristics that satisfy the initial networking connectivity requirements of that application.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may, for the application for which it identified the one or more network slices at block 406 , present that application as a virtual endpoint computing device in network slice connection communications exchanged with the RAN system 204 , with the network slice communications operating to establish one or more connection(s) between that application and the respective network slice(s) that were identified for that application at block 406 .
- the network slice communications and/or establishment of the connection(s) between the network slice(s) and the application that is presented as a virtual endpoint computing device may be similar to conventional network slice/physical endpoint device communications and/or connection establishment, with the exception of the application being presented as a virtual endpoint computing device in the network slice connection communications and/or connection establishment, and thus are not described herein in detail.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may establish a connection 614 for an application operating on the endpoint computing device 206 a with the network slice 600 a that was identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may establish the connection 614 along with a connection 616 for the application operating on the endpoint computing device 206 a with the network slices 600 a and 602 a , respectively, that were identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application.
- FIG. 6D provides an example of how the network slice engine 304 in the endpoint computing device 206 a / 300 may aggregate the connections 614 and 616 into an aggregated connection 618 that allows the connections 614 and 616 to be viewed and/or utilized as a single, logical connection by the application.
- the aggregation of connections to respective network slices may be performed utilizing a variety of connection/link aggregation techniques known in the art, and thus those aggregation operations are not discussed herein in detail.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may establish the connections 614 and 616 , along with a connection 620 for the application operating on the endpoint computing device 206 a with the network slices 600 a , 602 a , and 604 a , respectively, that were identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application.
- 6E provides an example of how the network slice engine 304 in the endpoint computing device 206 a / 300 may aggregate the connections 614 , 616 , and 620 into an aggregated connection 622 that allows the connections 614 , 616 , and 620 to be viewed and/or utilized as a single, logical connection by the application.
- the aggregation of connections to respective network slices may be performed utilizing a variety of connection/link aggregation techniques known in the art, and thus those aggregation operations are not discussed herein in detail.
- multiple network slices may be identified as having combined initial networking characteristics that satisfy the initial networking connectivity requirement for an application, and connections to those network slices may be established and aggregated to provide an aggregated connection with initial networking characteristics that satisfy the initial networking connectivity requirement for that application. While not illustrated, as discussed above one of skill in the art in possession of the present disclosure will appreciate that connections with multiple network slices for any particular application operating on any or all of the endpoint computing devices 206 b - 206 c may be established in a similar manner while remaining within the scope of the present disclosure as well.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may establish connection(s) for any particular application subsystem, workload subsystem, and/or functionality subsystem included in an application, workload, or functionality with respective network slice(s) that include initial networking characteristics that satisfy its initial networking connectivity requirement (e.g., establishing one or more connections with respective network slice(s) including first initial networking characteristics that satisfy a first initial networking connectivity requirement for a first application subsystem included in an application operating on the endpoint computing device 206 a / 300 , establishing one or more connections with respective network slice(s) including second initial networking characteristics that satisfy a second initial networking connectivity requirement for a second application subsystem included in that application operating on the endpoint computing device 206 a / 300 , and so on).
- initial networking connectivity requirement e.g., establishing one or more connections with respective network slice(s) including first initial networking characteristics that satisfy a first initial networking connectivity requirement for a first application subsystem included in an application operating on the endpoint computing device 206 a / 300 ,
- the network slice engine 304 in the endpoint computing device 206 a / 300 may establish one or more connections with respective network slice(s) that include initial networking characteristics that satisfy the initial networking connectivity requirement (or an initial networking connectivity requirement range) for multiple applications that have been grouped in an application container.
- initial networking connectivity requirement or an initial networking connectivity requirement range
- any single endpoint computing device may appear to the RAN system 204 and/or the core network system 202 as many (e.g., tens, hundreds, or more) endpoint computing devices due to the many applications operating on that single endpoint computing device being presented as respective virtual endpoint computing devices.
- the method 400 then proceeds to block 410 where the endpoint computing device exchanges communications for the detected application during the application session using the connection(s) with the network slice(s).
- communications may be exchanged for the application using the one or more connections established with the respective network slice(s) that satisfies its initial networking connectivity requirement.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may utilize its communication system 308 to exchange communications via the connection 614 with the network slice 600 a for the application operating on the endpoint computing device 206 a (e.g., with a device coupled to the RAN system 204 , a device coupled to the core network system 202 via a network, etc.) Similarly, with reference to FIG.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may utilize its communication system 308 to exchange communications via the aggregated connection 618 (including the connections 614 and 616 ) with the network slices 600 a and 602 a for the application operating on the endpoint computing device 206 a (e.g., with a device coupled to the RAN system 204 , a device coupled to the core network system 202 via a network, etc.) Similarly as well, with reference to FIG.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may utilize its communication system 308 to exchange communications via the aggregated connection 622 (including the connections 614 , 616 , and 620 ) with the network slices 600 a , 602 a , and 604 a for the application operating on the endpoint computing device 206 a (e.g., with a device coupled to the RAN system 204 , a device coupled to the core network system 202 via a network, etc.)
- the exchange of communications via a connection or aggregated connection with network slice(s) at block 410 may be similar to conventional network slice communication exchanges, with the exception of that the application operating on the endpoint computing device 206 a / 300 may be exchanging communications via the one or more connections with their respective network slices that include initial networking characteristics that satisfy the initial networking connectivity requirements of those applications.
- each of the network slices provided by the core network system 202 are isolated from each other and, as such, any application or workload that is operating on an endpoint computing device and that is utilizing a particular network slice will be unaware of the other networks available via the other network slices being utilized by other applications or workloads operating on that same endpoint computing device.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to exchange communications for an application subsystem, workload subsystem, and/or functionality subsystem included in an application, workload, or functionality via one or more connections provided with respective network slices (e.g., exchanging communications via one or more connections with respective network slice(s) for a first application subsystem included in an application operating on the endpoint computing device 206 a / 300 , exchanging communications via one or more connections with respective network slice(s) for a second application subsystem included in that application operating on the endpoint computing device 206 a / 300 , and so on). Further still, in some embodiments, at block 408 the network slice engine 304 in the endpoint computing device 206 a / 300 may exchange communications via one or more connections with respective network slice(s) for multiple applications that have been grouped in an application container as discussed above.
- the method 400 then proceeds to decision block 412 where it is determined whether the networking connectivity requirement for the application has changed during the application session.
- the operating system engine 306 in the endpoint computing device 206 a / 300 e.g., an OS level/Layer 3 (L3) engine provided as a WINDOWS® service on a WINDOWS® operating system available from MICROSOFT® of Redmond, Washington, United States
- L3 engine provided as a WINDOWS® service on a WINDOWS® operating system available from MICROSOFT® of Redmond, Washington, United States
- some applications may have network connectivity requirements that change during an application session, and the operating system engine 306 may be configured to monitor the operation of the applications, identify a network connectivity requirement change, and report that network connectivity requirement change to the network slice engine 304 in the endpoint computing device 206 a / 300 at decision block 412 .
- the method 400 may return to block 406 , discussed in further detail below.
- the method 400 may proceed to decision block 414 where it is determined whether networking characteristic(s) for the network slice(s) being utilized by the application have changed during the application session.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to monitor the network slice(s) being utilized by the application (e.g., using the network characteristic determination techniques discussed above) to determine whether the initial networking characteristics of the network slice(s) identified at block 406 have changed during the application session (e.g., to “changed” network characteristics) at decision block 414 .
- some network slices may have network characteristics that change during an application session, and the network slice engine 304 may be configured to monitor the network slice(s), and identify a network characteristic change of any or all of those network slice(s).
- the method 400 may return to block 410 , and the method 400 may loop with the endpoint computing device exchanging communications for the application during the application session using the connection(s) to the respective network slice(s).
- the method 400 may return to block 406 where the endpoint computing device identifies at least one network slice that satisfies the networking connectivity requirement for the application, proceed to block 408 where the endpoint computing device establishes connection(s) for the application with each at least one network slice that satisfies its network connectivity requirement, and block 410 where the endpoint computing device exchanges communications for the application during the application session using the connection(s) to the network slice(s), as well as to decision blocks 412 and 414 .
- the performance of block 406 may depend on the details of the change in the networking connectivity requirements for the application and/or the change in the networking characteristics of the network slice(s) determined at decision blocks 412 and/or 414 .
- networking connectivity requirement changes for the application and/or networking characteristic changes of the network slice(s) may be required to exceed some predetermined level and/or cause some degradation in performance of the application in order for their determination at decision blocks 412 and 414 to cause the method 400 to return to block 406 .
- networking connectivity requirement changes for the application and/or networking characteristic changes of the network slice(s) utilized by that application may reach a level at which the performance of the application is reduced, and thus such changes may require the identification of at least one additional and/or different network slice for that application.
- the connection 614 may be established between the application operating on the endpoint computing device 206 a / 300 with the network slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application.
- changes in networking connectivity requirements for the application e.g., a requirement of reduced latency, increased bandwidth, etc.
- networking characteristics of the network slice 600 a e.g., increased latency, reduced bandwidth, etc.
- a second iteration of the method 400 may identify the network slice 602 a as including networking characteristics that, when combined with the networking characteristics of the network slice 600 a , satisfy the networking connectivity requirements for the application.
- connection 616 for the application to the network slice 602 a may be established and aggregated with the connection 614 for the application to the network slice 600 a to provide the aggregated connection 618 during the second iteration of the method 400 that satisfies the networking connectivity requirements for the application.
- connections 614 and 616 may be established and aggregated to provide the aggregated connection 622 between the application operating on the endpoint computing device 206 a / 300 with the network slices 600 a and 602 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application.
- changes in networking connectivity requirements for the application e.g., a requirement of reduced latency, increased bandwidth, etc.
- networking characteristics of the network slices 600 a and/or 602 a e.g., increased latency, reduced bandwidth, etc.
- a second iteration of the method 400 may identify the network slice 604 a as including networking characteristics that, when combined with the networking characteristics of the network slices 600 a and 600 b , satisfy the networking connectivity requirements for the application.
- connection 620 for the application to the network slice 604 a may be established and aggregated with the connections 614 and 616 for the application to the network slices 600 a and 602 a to provide the aggregated connection 622 during the second iteration of the method 400 that satisfies the networking connectivity requirements for the application.
- connection 614 may be established between the application operating on the endpoint computing device 206 a / 300 with the network slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application.
- changes in networking connectivity requirements for the application e.g., a requirement of increased latency, reduced bandwidth, etc.
- networking characteristics of the network slice 600 a e.g., decreased latency, increased bandwidth, etc.
- a second iteration of the method 400 may identify the network slice 602 a as including networking characteristics that satisfy the networking connectivity requirements for the application.
- the connection 616 for the application to the network slice 602 a may be established and the connection 614 for the application to the network slice 600 a may be ended during the second iteration of the method 400 in order to satisfy the networking connectivity requirements for the application.
- connection 614 may be established between the application operating on the endpoint computing device 206 a / 300 with the network slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application.
- changes in networking connectivity requirements for the application e.g., a requirement of increased latency, reduced bandwidth, etc.
- networking characteristics of the network slice 600 a e.g., decreased latency, increased bandwidth, etc.
- a second iteration of the method 400 may identify the network slices 602 a and 604 a as including networking characteristics that satisfy the networking connectivity requirements for the application.
- connections 616 and 620 for the application to the network slices 602 a and 604 a may be established and the connection 614 for the application to the network slice 600 a may be ended during the second iteration of the method 400 in order to satisfy the networking connectivity requirements for the application.
- connections to respective network slices may be replaced, added, removed, and/or aggregated for any particular application to satisfy the changing networking connectivity requirements of that application and/or the changing networking characteristics of those network slice(s).
- the method 400 may loop to continuously monitor the networking connectivity requirements of the application and networking characteristic of the network slice(s) being utilized by that application to detect changes and modify the network slice connectivity for that application to ensure that its networking connectivity requirements are satisfied efficiently and without the allocation of network slices to that application that are not needed by that application.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to tag data packets or frames that are transmitted via the aggregated connection, with those tags configured for use by the core network system 202 to order those data packets or frames in a desired sequence.
- those network slices may have different networking characteristics that can result in data packets or frames transmitted by the application being received at the core network system 202 out of sequence.
- the first, second, and third data packets may be transmitted in parallel and may be received by the core network system 202 out of sequence due to the different networking characteristics of the first, second, and third network slice (e.g., the core network system 202 may first receive the third data packet, followed by the first data packet, followed by the second data packet.)
- the data packet tagging operation discussed above may provide tags with each of the first, second, and third data packets that allow the core network system 202 receiving them to utilize the tags to provide them in their desired sequence despite receiving them out of sequence.
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to load-balance data packets or frames transmitted over respective connections to respective network slices based on the differing networking characteristics of those network slices.
- the increased latency associated with the first network slice may be mitigated by load-balancing data packets transmitted via the aggregated connection by, for example, transmitting fewer data packet over the connection to the first network slice as compared to the second and third connections to the second and third network slices, respectively.
- the method 400 may be performed to provide for the dynamic utilization of network slices by an application until that application is unavailable.
- the application, workload, or other functionality operating on the endpoint computing device and to which connection(s) to network slice(s) were established during the method 400 may complete, be shut down, and/or may otherwise become unavailable in a manner that does not utilize the network slice(s) with which that application, workload, or other functionality was connected at block 408 .
- the network slice engine 304 in the endpoint computing device 206 a / 300 may operate to continuously or periodically to monitor the application (or application subsystem in an application, or applications grouped in an application container) for which connection(s) with network slice(s) were provided at block 408 to determine whether that application (or application subsystem) has become unavailable or is otherwise not utilizing the network slice(s) to which it was connected. In the event it is determined that the application is not available, the endpoint computing device 206 / 300 may end the connection(s) with the network slice(s) for that application, and release those network slice(s) for use by other applications and/or endpoint computing devices. As will be appreciated by one of skill in the art in possession of the present disclosure, the ending of a connection with any network slice may be similar to conventional connection ending operations, and thus is not described herein in detail.
- repeated performance of the method 400 may allow the network slice engine 304 in the endpoint computing devices 300 to perform intelligent network slice operations based on learned behavior of any application operating on the endpoint computing device 300 .
- the network slice engine 304 in the endpoint computing device 300 may monitor the use of an application on the endpoint computing device 300 , the time of such application use on the endpoint computing device 300 , locations of the endpoint computing device 300 , and/or any other information that would be apparent to one of skill in the art in possession of the present disclosure, and may subsequently utilize that information to reserve network slices that include networking characteristics that satisfy the networking connectivity requirements of any particular applications.
- the network slice engine 304 in the endpoint computing device 300 may learn that behavior and subsequently operate to reserve those network slice(s) at the learned reoccurring application use time for use by the learned application in the learned location.
- a specific intelligent network slice operation is described, one of skill in the art in possession of the present disclosure will recognize that other intelligent network slice operations may be performed that will fall within the scope of the present disclosure as well.
- a 5 G core network system that is coupled to a 5 G RAN system may allocate a plurality of a network slices and make each of the plurality of network slices available for use in wireless communications via the 5 G RAN system.
- An endpoint computing device with an application operating on that endpoint computing device may determine an initial networking connectivity requirement for the application during an application session, identify a first network slice that is included in the plurality of network slices and that satisfies the initial networking connectivity requirement for the application, establish a first connection for the application with the first network slice, and exchange communications via the RAN system and the core network system for the application during the application session using the first connection established for the application with the first network slice.
- the endpoint computing device may determine a changed networking connectivity requirement for the application during the application session that is different than the initial networking connectivity requirement, identify a second network slice that is included in the plurality of network slices and that satisfies the changed networking connectivity requirement for the application, establish a second connection for the application with the second network slice, and exchange communications via the 5 G RAN system and the 5 G core network system for the application during the application session using the second connection established for the application with the second network slice.
- any particular application, workload, or other functionality operating on a computing device may dynamically utilize one or more network slices as the networking requirements of that application, workload, or other functionality changes, and/or the networking characteristics of network slices being utilized by that application, workload, or other functionality changes.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- The present disclosure relates generally to information handling systems, and more particularly to dynamic utilization of network slices by information handling systems.
- As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
- Information handling systems such as, for example, laptop/notebook computing devices, tablet computing devices, mobile phones, Internet of Things (loT) computing devices, and/or other endpoint computing devices known in the art, often utilize wireless networks in order to enable mobility of those endpoint computing devices while exchanging data, as well as to exchange data from remote locations. Wireless networking technology has begun to transition from 4 G millimeter wave (4 G) wireless technology to 5 G millimeter wave (5 G) wireless technology. Current conventional 5 G wireless technology includes a 5 G core network system that is operated by a wireless provider (e.g., AT&T® Mobility of Atlanta, Georgia, United States; SPRINT® Corporation of Overland Park, Kansas, United States; VERIZON® Wireless of New York, N.Y., United States; etc.), and that operates with a 5 G Radio Access Network (RAN) system that includes cellular tower systems that operate to exchange wireless communications for the endpoint computing devices discussed above.
- One technique for exchanging the wireless communications by the 5 G core network system for the computing devices discussed above includes the use of network slicing, which one of skill in the art will recognize is a network architecture that enables the multiplexing of virtualized and independent logical networks on the same physical network infrastructure, with each network slice providing a network (e.g., a portion of the wireless spectrum available from the 5 G core network system) with a particular networking characteristics via the 5 G RAN to any of the endpoint computing devices. The 5 G specification defines network slicing to enable the scaling of the 5 G core network system infrastructure to computing devices having particular connectivity metrics, and tends to work well for “single-function” computing devices such as the loT computing devices (e.g., loT power meter devices) discussed above, autonomous driving computing device, factory automation computing devices, and/or other single-function endpoint computing devices known in the art.
- For example, such single-function endpoint computing devices tend to require a particular networking connectivity requirement (e.g., a low bandwidth, low latency networking connectivity requirement for an loT power meter device) for their provided functionality, and thus a network slice may be allocated at the 5 G core network system and provided via the 5 G RAN system to single-function endpoint computing devices with networking connectivity requirements that may be satisfied by the networking characteristics of that network slice. However, general purpose endpoint computing devices such as the laptop/notebook computing devices, tablet computing devices, and mobile phones discussed above provide multiple functions (e.g., via multiple applications or workloads operating on those general purpose endpoint computing devices), and thus the conventional provisioning of a network slice with particular networking characteristics that satisfy a particular networking connectivity requirement to such general purpose endpoint computing devices will often result in a networking connection that is non-optimal for at least some of the functionality provided by the general purpose endpoint computing device (e.g., at least some of the applications or workloads operating on the general purpose endpoint computing device.) U.S. patent application Ser. No. 16/775,602, attorney docket no. 16356.2140US01, filed on Jan. 29, 2020, which includes a common inventor with the present application, and the disclosure of which is incorporated herein by reference, describes an endpoint computing device multi-network slice utilization system that describes endpoint computing devices that may utilize a respective network slice for each of a plurality of different applications, workloads, and/or other functionality provided by the endpoint computing device, thus addressing some of the issues associated with the conventional network slice utilization systems discussed above.
- However, some applications may be associated with changing networking requirements, while networking characteristics of network slices such as Quality of Service (QoS) and/or bandwidth may change as that network slice is utilized by the application, and a network administrator may be unaware (or have limited awareness) of such changing application networking connectivity requirements and network slice networking characteristics. As such, conventional endpoint computing device network slice utilization systems and/or the endpoint computing device multi-network slice utilization system discussed above may provide for the utilization of a network slice(s) by an endpoint computing device and/or its applications that can result in mediocre performance of the applications on that endpoint computing device due to the changing networking requirements of those applications and/or the changing characteristics of that network slice, which can compromise user productivity.
- Accordingly, it would be desirable to provide an endpoint computing device network slice utilization system that addresses the issues discussed above.
- According to one embodiment, an Information Handling System (IHS) includes a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a network slice engine that is configured to: determine a first networking connectivity requirement for an application during an application session; identify a first network slice that is included in a plurality of network slices that are allocated by a core network system, that is available via a Radio Access Network (RAN) system, and that satisfies the first networking connectivity requirement for the application; establish a first connection for the application with the first network slice; exchange communications via the RAN system and the core network system for the application during the application session using the first connection established for the application with the first network slice; determine a second networking connectivity requirement for the application during the application session that is different than the first networking connectivity requirement; identify a second network slice that is included in the plurality of network slices that are allocated by the core network system, that is available via the RAN system, and that satisfies the second networking connectivity requirement for the application; establish a second connection for the application with the second network slice; and exchange communications via the RAN system and the core network system for the application during the application session using the second connection established for the application with the second network slice.
-
FIG. 1 is a schematic view illustrating an embodiment of an Information Handling System (IHS). -
FIG. 2 is a schematic view illustrating an embodiment of an endpoint computing device dynamic network slice utilization system. -
FIG. 3 is a schematic view illustrating an embodiment of an endpoint computing device that may be provided in the endpoint computing device dynamic network slice utilization system ofFIG. 2 . -
FIG. 4 is a flow chart illustrating an embodiment of a method for dynamic utilization of network slices by an endpoint computing device. -
FIG. 5 is a schematic view illustrating an embodiment of a conventional endpoint computing device network slice utilization system. -
FIG. 6A is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6B is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6C is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6D is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6E is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6F is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . -
FIG. 6G is a schematic view illustrating an embodiment of the endpoint computing device dynamic network slice utilization system ofFIG. 2 operating during the method ofFIG. 4 . - For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
- In one embodiment, IHS 100,
FIG. 1 , includes aprocessor 102, which is connected to abus 104.Bus 104 serves as a connection betweenprocessor 102 and other components of IHS 100. Aninput device 106 is coupled toprocessor 102 to provide input toprocessor 102. Examples of input devices may include keyboards, touchscreens, pointing devices such as mouses, trackballs, and trackpads, and/or a variety of other input devices known in the art. Programs and data are stored on amass storage device 108, which is coupled toprocessor 102. Examples of mass storage devices may include hard discs, optical disks, magneto-optical discs, solid-state storage devices, and/or a variety other mass storage devices known in the art. IHS 100 further includes adisplay 110, which is coupled toprocessor 102 by avideo controller 112. Asystem memory 114 is coupled toprocessor 102 to provide the processor with fast storage to facilitate execution of computer programs byprocessor 102. Examples of system memory may include random access memory (RAM) devices such as dynamic RAM (DRAM), synchronous DRAM (SDRAM), solid state memory devices, and/or a variety of other memory devices known in the art. In an embodiment, achassis 116 houses some or all of the components of IHS 100. It should be understood that other buses and intermediate circuits can be deployed between the components described above andprocessor 102 to facilitate interconnection between the components and theprocessor 102. - Referring now to
FIG. 2 , an embodiment of an endpoint computing device dynamic networkslice utilization system 200 is illustrated. In the illustrated embodiment, the endpoint computing device dynamic networkslice utilization system 200 incudes acore network system 202. In an embodiment, thecore network system 202 may be provided by the IHS 100 discussed above with reference toFIG. 1 , and/or may include some or all of the components of the IHS 100, and in specific examples may include server devices, switch devices, storage devices, and/or other core network system components connected together to provide a 5 G core network system that may be operated by a wireless provider (e.g., AT&T® Mobility of Atlanta, Georgia, United States; SPRINT® Corporation of Overland Park, Kansas, United States; VERIZON® Wireless of New York, New York, United States; etc.) and may include any combination of physical and/or virtual components that are configured to provide 5 G wireless communications. However, while illustrated and discussed as physical and/or virtual components that provide 5 G wireless communications, one of skill in the art in possession of the present disclosure will recognize that other components and/or component configurations may be utilized in a core network system to provide other wireless communications capabilities (e.g., 4 G wireless communications) while remaining within the scope of the present disclosure as well. - In the illustrated embodiment, the endpoint computing device dynamic network
slice utilization system 200 also includes a Radio Access Network (RAN)system 204. In an embodiment, theRAN system 204 may be provided by theIHS 100 discussed above with reference toFIG. 1 , and/or may include some or all of the components of theIHS 100, and may include radio/cellular towers, base stations, antennas, core network interface devices, and/or any other RAN subsystems that would be apparent to one of skill in the art in possession of the present disclosure. In a specific example, theRAN system 204 may be a 5 G RAN system including cellular towers that are configured to provide for wireless communications by endpoint computing devices utilizing network slices/spectrum allocated by the 5 G core network system discussed above. For example, theRAN system 204 may provide an orchestration layer for wireless communications between communication devices and cellular towers, allowing wireless communications to then be exchanged by a RAN controller in theRAN system 204 via a Software Defined Networking (SDN) switch device and a separate control-based interface, the separation of which allows theRAN system 204 to be flexible and accommodate Network Function Virtualization (NFV) techniques utilized in 5 G communications. Furthermore, the endpoint computing device dynamic networkslice utilization system 200 also include a plurality ofendpoint computing devices IHS 100 discussed above with reference toFIG. 1 , and/or may include some or all of the components of theIHS 100. In a specific example, the endpoint computing devices 206 a-206 d may be provided by mobile phones, tablet computing devices, laptop/notebook computing devices, loT computing devices, and/or any other endpoint computing devices that would be apparent to one of skill in the art in possession of the present disclosure. However, while a specific endpoint computing device dynamic networkslice utilization system 200 has been illustrated and described, one of skill in the art in possession of the present disclosure will recognize that the endpoint computing device dynamic network slice utilization system of the present disclosure may include a variety of components and component configurations while remaining within the scope of the present disclosure as well. - Referring now to
FIG. 3 , an embodiment of anendpoint computing device 300 is illustrated that may provide any or all of the endpoint computing devices 206 a-206 d discussed above with reference toFIG. 2 . As such, theendpoint computing device 300 may be provided by theIHS 100 discussed above with reference toFIG. 1 and/or may include some or all of the components of theIHS 100, and in specific examples may be provided by mobile phones, tablet computing devices, laptop/notebook computing devices, loT computing devices, and/or any other endpoint computing devices that would be apparent to one of skill in the art in possession of the present disclosure. Furthermore, while illustrated and discussed as anendpoint computing device 300, one of skill in the art in possession of the present disclosure will recognize that the functionality of theendpoint computing device 300 discussed below may be provided by other devices that are configured to operate similarly as theendpoint computing device 300 discussed below. - In the illustrated embodiment, the
endpoint computing device 300 includes achassis 302 that houses the components of theendpoint computing device 300, only some of which are illustrated below. For example, thechassis 302 may house a processing system (not illustrated, but which may include theprocessor 102 discussed above with reference toFIG. 1 ) and a memory system (not illustrated, but which may include thememory 114 discussed above with reference toFIG. 1 ) that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide anetwork slice engine 304 that is configured to perform the functionality of the network slice engines and/or endpoint computing devices discussed below. Furthermore, the memory system may also include instructions that, when executed by the processing system, cause the processing system to provide anapplication engine 305 that is configured to provide any or all of the applications discussed below as operating on theendpoint computing device 300. Further still, the memory system may also include instructions that, when executed by the processing system, cause the processing system to provide anoperating system engine 306 that is configured to perform the functionality of the operating system engines and/or endpoint computing devices discussed below. - The
chassis 302 may also house a storage system (not illustrated, but which may include thestorage 108 discussed above with reference toFIG. 1 ) that is coupled to the network slice engine 304 (e.g., via a coupling between the storage system and the processing system) and that includes anetwork slice database 307 that is configured to store any of the information utilized by thenetwork slice engine 304 discussed below. Thechassis 302 may also house acommunication system 308 that is coupled to thenetwork slice engine 304 and the application engine 305 (e.g., via a coupling between thecommunication system 308 and the processing system) and that may be provided by a Network Interface Controller (NIC), wireless communication systems (e.g., cellular wireless components (e.g., 5 G cellular wireless components), BLUETOOTH® components, Near Field Communication (NFC) components, WiFi components, etc.), and/or any other communication components that would be apparent to one of skill in the art in possession of the present disclosure. However, while a specificendpoint computing device 300 has been illustrated, one of skill in the art in possession of the present disclosure will recognize that endpoint computing devices (or other devices operating according to the teachings of the present disclosure in a manner similar to that described below for the endpoint computing device 300) may include a variety of components and/or component configurations for providing conventional endpoint computing device functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure as well. - Referring now to
FIG. 4 , an embodiment of amethod 400 for dynamic utilization of network slices by an endpoint computing device is illustrated. As discussed below, the systems and methods of the present disclosure provide for the dynamic utilization of a plurality of network slices by any particular functionality (e.g., any particular application, workload, etc.) provided on any particular endpoint computing device. For example, a core network system that is coupled to a RAN system may allocate a plurality of a network slices and make each of the plurality of network slices available for use in wireless communications via the RAN system. An endpoint computing device with an application operating on that endpoint computing device may determine a first networking connectivity requirement for the application during an application session, identify a first network slice that is included in the plurality of network slices and that satisfies the first networking connectivity requirement for the application, establish a first connection for the application with the first network slice, and exchange communications via the RAN system and the core network system for the application during the application session using the first connection established for the application with the first network slice. Subsequently, the endpoint computing device may determine a second networking connectivity requirement for the application during the application session that is different than the first networking connectivity requirement, identify a second network slice that is included in the plurality of network slices and that satisfies the second networking connectivity requirement for the application, establish a second connection for the application with the second network slice, and exchange communications via the RAN system and the core network system for the application during the application session using the second connection established for the application with the second network slice. As such, any particular application, workload, or other functionality operating on a computing device may dynamically utilize a plurality of network slices as the networking requirements of that application, workload, or other functionality changes, and/or as the networking characteristics of network slice(s) being utilized by that application, workload, or other functionality changes. - With reference to
FIG. 5 , an embodiment of conventional endpoint computing device network slicing functionality using the endpoint computing device dynamic networkslice utilization system 200 ofFIG. 2 is illustrated for purposes of discussion and to contrast the endpoint computing device dynamic network slice utilization functionality of the present disclosure. As illustrated inFIG. 5 , the core network system 202 (e.g., a 5 G core network system) may operate to allocate network slices and make those network slices available via the RAN system 204 (e.g., a 5 G RAN system) for use in wireless communications. For example, arrows are provided within thecore network system 202 inFIG. 5 to represent portions of spectrum that are available to thecore network system 202, including aspectrum portion 500, aspectrum portion 502, and aspectrum portion 504 in the illustrated embodiment. - Furthermore, the allocation of network slices and the making of those network slices available via the
RAN system 204 for use in wireless communications by thecore network system 202 is illustrated inFIG. 5 by arrows provided in theRAN system 204, and may include thecore network system 202 allocating anetwork slice 500 a from the spectrum portion 500 (as illustrated by the arrow between thespectrum portion 500 and thenetwork slice 500 a), allocating anetwork slice 502 a from the spectrum portion 502 (as illustrated by the arrow between thespectrum portion 502 and thenetwork slice 502 a), and allocating network slices 504 a and 504 b from the spectrum portion 504 (as illustrated by the respective arrow between thespectrum portion 504 and the network slices 504 a and 504 b). One of skill in the art in possession of the present disclosure would recognize that the allocation of network slices by a core network system, and the making of those network slices available by the core network system via a RAN system, may include a variety of conventional operations, and thus is not described herein in detail. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that eachnetwork slice - As also illustrated in
FIG. 5 , each of the endpoint computing devices 206 a-206 d may then operate to connect to a respective network slice in order to utilize that network slice for exchanging wireless communications via theRAN system 204 and the core network system 202 (i.e., wireless communications with other endpoint computing devices coupled to theRAN system 204, other endpoint devices coupled to a network that is coupled to thecore network system 202, etc.) One of skill in the art in possession of the present disclosure would recognize that the connection to a network slice by an endpoint computing device, and the exchange of communications via a RAN system and core network system by that endpoint computing device using that network slice, may include a variety of conventional operations, and thus is not described herein in detail. As discussed above, the conventional endpoint computing device network slicing illustrated inFIG. 5 and described above tends to work well for “single-function” computing devices such as loT computing devices (e.g., loT power meter devices), autonomous driving computing device, factory automation computing devices, and/or other single-function endpoint computing devices known in the art that include particular networking connectivity requirements that are satisfied by the networking characteristics of the network slice to which that endpoint computing device is connected. - However, the conventional endpoint computing device network slicing illustrated in
FIG. 5 and described above introduces inefficiencies when utilized with general purpose endpoint computing devices such as laptop/notebook computing devices, tablet computing devices, and mobile phones that provide multiple functions (e.g., via multiple applications operating on those general purpose endpoint computing devices), as the conventional provisioning of a conventional network slice with networking characteristics that satisfy a particular networking connectivity requirement to such general purpose endpoint computing devices will often result in a networking connection that is non-optimal for at least some of the functionality provided by the general purpose endpoint computing device (e.g., at least some of the applications or workloads operating on the general purpose endpoint computing device.) As discussed above, U.S. patent application Ser. No. 16/775,602, attorney docket no. 16356.2140US01, filed on Jan. 29, 2020, which includes a common inventor with the present application, and the disclosure of which is incorporated herein by reference, describes an endpoint computing device multi-network slice utilization system that includes endpoint computing devices that may utilize a respective network slice for each of a plurality of different applications, workloads, and/or other functionality provided by the endpoint computing device. - As described in that application, any particular endpoint device in the endpoint computing device multi-network slice utilization system may establish a respective connection to each of the network slices 500 a, 502 a, 504 a, and 504 b for each particular application, workload, or other functionality operating on that endpoint computing device based on the networking characteristics of that network slice satisfying networking connectivity requirements for the corresponding application. As such, the endpoint computing device multi-network slice utilization system provides networking connectivity via a respective network slice for each application operating on an endpoint computing device on a per-application/per-workload/per functionality basis. However, the static establishment of respective connections to respective network slices for each application operating on an endpoint computing device in the endpoint computing device multi-network slice utilization system has been found to raise some issues, as changing networking connectivity requirements for an application during an application session, and/or changing networking characteristics for a network slice utilized by an application during an application session, can result in mediocre performance of that application during the application session in the event that, for example, the networking connectivity requirements for an application exceed the capabilities of the networking characteristics of the network slice to which it is connected during the application session.
- The
method 400 begins atblock 402 where an endpoint computing device detects an application. In the specific example provided below, themethod 400 is described as being performed by theendpoint computing device 206 a. However, one of skill in the art in possession of the present disclosure will appreciate that themethod 400 may be performed by any or all of the endpoint computing devices 206 a-206 d at the same (or different) times while remaining within the scope of the present disclosure as well. In an embodiment, atblock 402, the application engine(s) 305 in theendpoint computing device 206 a/300 may operate to provide one or more applications for operation on theendpoint computing device 206 a/300. For example, atblock 402, the application engine(s) 305 in theendpoint computing device 206 a/300 may operate to provide a video communication application, an audio communication application, a video streaming application, an office productivity application, a gaming application, or any other applications that would be apparent to one of skill in the art in possession of the present disclosure. As would be appreciated by one of skill in the art in possession of the present disclosure, the applications provided atblock 402 may operate to provide (or be replaced by) workloads operating on the endpoint computing device(s), as well as any other endpoint computing device functionality that one of skill in the art in possession of the present disclosure would recognize that benefitting from the dedicated network slices functionality described below. - As such, in an embodiment of
block 402, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to detect an application provided by the application engine(s) 305. For example, atblock 402, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may detect the application provided by the application engine(s) 305 and operating on theendpoint computing device 206 a/300 in response to the launching of that application, in response to a network connection request received from that application, and/or in response to any other application detection event that would be apparent to one of skill in the art in possession of the present disclosure. As such, continuing with the specific example provided above, atblock 402, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may detect a video communication application, an audio communication application, a video streaming application, an office productivity application, or a gaming application provided on theendpoint computing device 206 a/300. However, while themethod 400 is described as detecting an application atblock 402, one of skill in the art in possession of the present disclosure will appreciate how workloads and/or other functionality provided on theendpoint computing device 206 a/300 may be detected atblock 402 while remaining within the scope of the present disclosure as well. - As will be appreciated by one of skill in the art in possession of the present disclosure, an application detected at
block 402 may be associated with an application session during which the application operates substantially continuously with regard to a network connection (i.e., upon establishment of a network connection, the application session may begin, and does not end until network connectivity is lost.) For example, the application for which the dynamic network slice utilization functionality is provided according to the teachings here may never stop operating during an application session due to unavailable network resources, as the dynamic network slice utilization functionality will always operate to dynamically provide at least one network slice for use by that application that includes networking characteristics that satisfy its network connectivity requirements (e.g., by adding, aggregating, and ending connections to network slices as discussed below) until its application session is over. As will be appreciated by one of skill in the art in possession of the present disclosure, the dynamic nature of the network slice provisioning described herein may be abstracted to the application by, for example, providing a Network Interface Controller (NIC) for the application container for that application, and performing the network slice/spectrum connections “behind” the NIC (from the perspective of the application.) - As such, the dynamic network slice utilization functionality discussed below may be performed during a particular application session provided for an application, and may provide for continuous network connectivity via connection(s) to different and/or multiple network slices during that particular application session, as described below. However, while the dynamic network slice utilization functionality of the present disclosure is discussed as being provided during an application session for an application, one of skill in the art in possession of the present disclosure will appreciate that dynamic network slice utilization functionality of the present disclosure may be performed in different manners while remaining within the scope of the present disclosure as well.
- The
method 400 then proceeds to block 404 where the endpoint computing device determines a networking connectivity requirement for a detected application during an application session. In an embodiment, at block 404, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for any particular application detected atblock 402 that will be required during an application session for that application. As will be understood by one of skill in the art in possession of the present disclosure, while a single application is discussed below, the blocks of themethod 400 discussed below may (and often will) be performed for any number of applications operating on theendpoint computing device 206 a. In an embodiment, the determination of the initial networking connectivity requirement for an application by thenetwork slice engine 304 in theendpoint computing device 206 a/300 may include theapplication engine 305, which is providing an application, transmitting the initial networking connectivity requirement for that application to the network slice engine 304 (e.g., as IP header information in a data packet), thenetwork slice engine 304 retrieving the initial networking connectivity requirement for an application (e.g., in response to the detection of that application) that may have been previously determined and stored in thenetwork slice database 306 from thenetwork slice database 306, thenetwork slice engine 304 detecting the initial networking connectivity requirement (e.g., by measuring a bit transfer rate to/from the application), thenetwork slice engine 304 determining an application type (e.g., audio application types, video application types, conferencing application types, etc.) of the application, and/or via any other networking connectivity requirement determination technique that would be apparent to one of skill in the art in possession of the present disclosure. - Continuing with the specific example provided above, at block 404, the
network slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for a video communication application detected atblock 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement. Similarly, at block 404, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for an audio communication application detected atblock 402 that includes a relatively low bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement. Similarly, at block 404, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for a video streaming application detected atblock 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively intermediate latency networking connectivity requirement, and a relatively intermediate reliability networking connectivity requirement. - Similarly, at block 404, the
network slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for an office productivity application detected atblock 402 that includes a relatively intermediate bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively low reliability networking connectivity requirement. Similarly, at block 404, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to determine an initial networking connectivity requirement for a gaming application detected atblock 402 that includes a relatively very high bandwidth networking connectivity requirement, a relatively very high latency networking connectivity requirement, and a relatively very high reliability networking connectivity requirement. However, while a few specific examples are provided, one of skill in the art in possession of the present disclosure will appreciate how different applications, workloads, and/or functionalities operating on and/or provided by an endpoint computing devices may include a variety of different initial networking connectivity requirements, and that any of those initial networking connectivity requirements may be determined at block 404 while remaining within the scope of the present disclosure as well. - Furthermore, in different embodiments, any particular application, workload, and/or functionality operating on the
endpoint computing device 206 a/300 may include multiple application subsystems, workload subsystems, and/or functionality subsystems that have different initial networking connectivity requirements (e.g., an application operating on theendpoint computing device 206 a/300 may include a first application subsystem having a first initial networking connectivity requirement, a second application subsystem having a second initial networking connectivity requirement, and so on), and those applications subsystems, workload subsystems, and/or functionality subsystems may be detected atblock 402 and their different initial networking connectivity requirements determined at block 404. Further still, in some embodiments, multiple applications operating on theendpoint computing device 206 a/300 may include the same initial networking connectivity requirement (or respective initial networking connectivity requirements that fall within a particular networking connectivity requirement range) and, as such, those applications may be detected, the initial networking connectivity requirements of those applications may be determined, and those applications may be grouped in an application container that is associated with the initial networking connectivity requirement (or initial networking connectivity requirement range) of those applications. Yet further still, while the grouping of applications with the same or similar initial networking connectivity requirements into an application container is described as being performed during themethod 400, the application containers discussed above as being associated with an initial networking connectivity requirement or an initial networking connectivity requirement range may be determined prior to themethod 400, stored in thenetwork slice database 306, and identified at block 404 from thatnetwork slice database 306 while remaining within the scope of the present disclosure as well. - The
method 400 then proceeds to block 406 where the endpoint computing device identifies at least one network slice that satisfy the initial networking connectivity requirement for the detected application. In an embodiment, atblock 406, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to identify at least one network slice that satisfies the networking connectivity requirement determined for the application at block 404. With reference toFIG. 6A , the core network system 202 (e.g., a 5 G core network system) may operate to allocate network slices and make those network slices available to via the RAN system 204 (e.g., a 5 G RAN system) for use in wireless communications. For example, arrows are provided in thecore network system 202 inFIG. 6A to represent portions of spectrum that is available to thecore network system 202, including aspectrum portion 600, aspectrum portion 602, and aspectrum portion 604 in the illustrated embodiment. - Furthermore, the allocation of network slices and the making of those network slices available via the
RAN system 204 for use in wireless communications by thecore network system 202 is illustrated inFIG. 6A by arrows provided in theRAN system 204, and may include thecore network system 202 allocating anetwork slice 600 a from the spectrum portion 600 (as illustrated by the arrow between thespectrum portion 600 and thenetwork slice 600 a), allocating anetwork slice 602 a from the spectrum portion 602 (as illustrated by the arrow between thespectrum portion 602 and thenetwork slice 602 a), and allocating network slices 604 a and 604 b from the spectrum portion 604 (as illustrated by the respective arrow between thespectrum portion 604 and the network slices 604 a and 604 b). One of skill in the art in possession of the present disclosure would recognize that the allocation of network slices by a core network system, and the making of those network slices available by the core network system via a RAN system, may include a variety of conventional operations, and thus is not described herein in detail. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that eachnetwork slice - In some embodiments, each network slice allocated by the
core network system 202 and made available via theRAN system 204 by thecore network system 202 may be configured to identify the particular initial networking characteristics provided by that network slice. For example, each of the network slices 600 a, 602 a, 604 a, and 604 b may be configured to advertise its initial networking characteristics such that thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify the initial networking characteristics of each network slice that is available for connection to theendpoint computing device 206 a/300.FIG. 6B illustrates how thenetwork slice 600 a may advertise itsinitial networking characteristics 606 to theendpoint computing device 206 a (illustrated via a dashed arrow inFIG. 6B ), thenetwork slice 602 a may advertise itsinitial networking characteristics 608 to theendpoint computing device 206 a (illustrated via a dashed arrow inFIG. 6B ), thenetwork slice 604 a may advertise itsinitial networking characteristics 610 to theendpoint computing device 206 a (illustrated via a dashed arrow inFIG. 6B ), and thenetwork slice 604 b may advertise itsinitial networking characteristics 610 to theendpoint computing device 206 a (illustrated via a dashed arrow inFIG. 6B ). One of skill in the art in possession of the present disclosure will appreciate that the dashed arrows inFIG. 6B may indicate the retrieval of theinitial networking characteristics network slice engine 304 in theendpoint computing device 206 a/300 via the network slice advertisements discussed above. In a specific example, any particular network slice may identify its networking characteristics via a network slice identifier, a network slice name, a network slice data traffic QoS (e.g., default/best effort, video streaming best effort, enterprise high priority, etc.), and/or a code (e.g., 0x00, 0x1A, 0X12, etc.). - As such, at
block 406, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify the initial latency networking characteristics, the initial throughput/bandwidth networking characteristics, the initial reliability networking characteristics, other initial QoS networking characteristics, and/or any other initial networking characteristics provided by each of the network slices 600 a, 602 a, 604 a, and 604 b. Furthermore, while a particular technique for identifying networking characteristics of a network slice have been described, one of skill in the art in possession of the present disclosure will appreciate that other techniques for identifying networking characteristics of a network slice may fall within the scope of the present disclosure as well In a specific example, a RAN controller in theRAN system 204 may inform the endpoint computing device about the number of network slices available to that endpoint computing device from the RAN system, and the QoS networking characteristics associated with each network slice, which allows the endpoint computing device to associate the data traffic provided by each application or workload operating on that endpoint computing device with a network slice that satisfies its network connectivity requirements, as discussed below. - Thus, at
block 406, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify a at least one of the network slices 206 a-206 d that includes initial networking characteristics that satisfy the initial networking connectivity requirement for the application detected atblock 402. Continuing with the example provided above, atblock 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for a video communication application detected atblock 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirement. Similarly, atblock 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for an audio communication application detected atblock 402 that includes a relatively low bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively high reliability networking connectivity requirements. Similarly, atblock 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for a video streaming application detected atblock 402 that includes a relatively high bandwidth networking connectivity requirement, a relatively intermediate latency networking connectivity requirement, and a relatively intermediate reliability networking connectivity requirement. - Similarly, at
block 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for an office productivity application detected atblock 402 that includes a relatively intermediate bandwidth networking connectivity requirement, a relatively low latency networking connectivity requirement, and a relatively low reliability networking connectivity requirements. Similarly, atblock 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for a gaming application detected atblock 402 that includes a relatively very high bandwidth networking connectivity requirement, a relatively very high latency networking connectivity requirement, and a relatively very high reliability networking connectivity requirement. - Furthermore, in some embodiments, at
block 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for any of multiple application subsystems, workload subsystems, and/or functionality subsystems included in an application, workload, or functionality (e.g., one or more network slices including first initial networking characteristics that satisfy a first initial networking connectivity requirement for a first application subsystem included in an application operating on theendpoint computing device 206 a/300, one or more network slices including second initial networking characteristics that satisfy a second initial networking connectivity requirement for a second application subsystem included in that application operating on theendpoint computing device 206 a/300, and so on). Further still, in some embodiments, atblock 406 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement (or the initial networking connectivity requirement range) for multiple applications that have been grouped in an application container as discussed above. As discussed in further detail below, a plurality of network slices may be identified that include initial networking characteristics that satisfy the initial networking connectivity requirement for an application via an identification that an aggregation of the networking characteristics of those network slices will satisfy the initial networking connectivity requirement for that application. - As will be appreciated by one of skill in the art in possession of the present disclosure, the identification of at least one of the network slices 600 a, 602 a, 604 a, and 604 b that include initial networking characteristics that satisfy the initial networking connectivity requirement for any particular application operating on the
endpoint computing device 206 a/300 may include the identification of one or more network slices that include initial networking characteristics that are closest to that initial networking connectivity requirement, that fall within some range of that initial networking connectivity requirement, and/or that one of skill in the art in possession of the present disclosure would recognize make those one or more network slices the most desirable subset of the network slices that are available to theendpoint computing device 206 a/300 for providing that connection for that application. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that situations may arise in which no combination of network slices are available that include initial networking characteristics that satisfy the initial network connectivity requirement of an application and, in such situations, one or more network slices that include initial networking characteristics that most closely satisfy the initial networking connectivity requirements of that application may be identified for providing the connection for that application. - In some embodiments, the
network slice engine 304 in theendpoint computing device 206 a/300 may be configured to request one or more network slices with initial networking characteristics that satisfy the initial networking connectivity requirement of an application detected to block 402. For example, after determining the initial networking connectivity requirement for an application at block 404, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may transmit a network slice request communication via theRAN system 204 to the core network system 202 (e.g., via an available connection to thecore network system 202 that may have been previously established using conventional techniques and/or the techniques described herein), with that network slice request communication providing a request to allocate one or more network slices having initial networking characteristics that satisfy the initial network connectivity requirement of the application, and make those one or more network slices available via theRAN system 204. As such, thecore network system 202 may receive that network slice request and, in response, may allocate one or more network slices having the requested initial network connectivity requirements, and make those one or more network slices available via theRAN system 204 so that thenetwork slice engine 304 in theendpoint computing device 206 a/300 may identify those one or more network slices atblock 406. - The
method 400 then proceeds to block 408 where the endpoint computing device establishes one or more connections for the detected application with each of the one or more network slices identified for that application. In an embodiment, atblock 408, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to establish one or more connection(s) for the application operating on theendpoint computing device 206 a/300 with the respective network slice(s) that were identified atblock 406 as including initial networking characteristics that satisfy the initial networking connectivity requirements of that application. For example, atblock 408, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may, for the application for which it identified the one or more network slices atblock 406, present that application as a virtual endpoint computing device in network slice connection communications exchanged with theRAN system 204, with the network slice communications operating to establish one or more connection(s) between that application and the respective network slice(s) that were identified for that application atblock 406. As will be appreciated by one of skill in the art in possession of the present disclosure, the network slice communications and/or establishment of the connection(s) between the network slice(s) and the application that is presented as a virtual endpoint computing device may be similar to conventional network slice/physical endpoint device communications and/or connection establishment, with the exception of the application being presented as a virtual endpoint computing device in the network slice connection communications and/or connection establishment, and thus are not described herein in detail. - As such, with reference to
FIG. 6C , in some embodiments ofblock 408, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may establish aconnection 614 for an application operating on theendpoint computing device 206 a with thenetwork slice 600 a that was identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application. However, with reference toFIG. 6D , in some embodiments ofblock 408, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may establish theconnection 614 along with aconnection 616 for the application operating on theendpoint computing device 206 a with the network slices 600 a and 602 a, respectively, that were identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application. The illustrated embodiment ofFIG. 6D provides an example of how thenetwork slice engine 304 in theendpoint computing device 206 a/300 may aggregate theconnections connection 618 that allows theconnections - Furthermore, with reference to
FIG. 6E , in some embodiments ofblock 408, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may establish theconnections connection 620 for the application operating on theendpoint computing device 206 a with the network slices 600 a, 602 a, and 604 a, respectively, that were identified as having initial networking characteristics that satisfy the initial networking connectivity requirements determined for the application. The illustrated embodiment ofFIG. 6E provides an example of how thenetwork slice engine 304 in theendpoint computing device 206 a/300 may aggregate theconnections connection 622 that allows theconnections endpoint computing devices 206 b-206 c may be established in a similar manner while remaining within the scope of the present disclosure as well. - Furthermore, in some embodiments, at
block 408 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may establish connection(s) for any particular application subsystem, workload subsystem, and/or functionality subsystem included in an application, workload, or functionality with respective network slice(s) that include initial networking characteristics that satisfy its initial networking connectivity requirement (e.g., establishing one or more connections with respective network slice(s) including first initial networking characteristics that satisfy a first initial networking connectivity requirement for a first application subsystem included in an application operating on theendpoint computing device 206 a/300, establishing one or more connections with respective network slice(s) including second initial networking characteristics that satisfy a second initial networking connectivity requirement for a second application subsystem included in that application operating on theendpoint computing device 206 a/300, and so on). Further still, in some embodiments, atblock 408 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may establish one or more connections with respective network slice(s) that include initial networking characteristics that satisfy the initial networking connectivity requirement (or an initial networking connectivity requirement range) for multiple applications that have been grouped in an application container. As such, one of skill in the art in possession of the present disclosure will appreciate that any single endpoint computing device may appear to theRAN system 204 and/or thecore network system 202 as many (e.g., tens, hundreds, or more) endpoint computing devices due to the many applications operating on that single endpoint computing device being presented as respective virtual endpoint computing devices. - The
method 400 then proceeds to block 410 where the endpoint computing device exchanges communications for the detected application during the application session using the connection(s) with the network slice(s). In an embodiment, atblock 410, communications may be exchanged for the application using the one or more connections established with the respective network slice(s) that satisfies its initial networking connectivity requirement. As such, with reference toFIG. 6C , atblock 410, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may utilize itscommunication system 308 to exchange communications via theconnection 614 with thenetwork slice 600 a for the application operating on theendpoint computing device 206 a (e.g., with a device coupled to theRAN system 204, a device coupled to thecore network system 202 via a network, etc.) Similarly, with reference toFIG. 6D , atblock 410, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may utilize itscommunication system 308 to exchange communications via the aggregated connection 618 (including theconnections 614 and 616) with the network slices 600 a and 602 a for the application operating on theendpoint computing device 206 a (e.g., with a device coupled to theRAN system 204, a device coupled to thecore network system 202 via a network, etc.) Similarly as well, with reference toFIG. 6E , atblock 410, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may utilize itscommunication system 308 to exchange communications via the aggregated connection 622 (including theconnections endpoint computing device 206 a (e.g., with a device coupled to theRAN system 204, a device coupled to thecore network system 202 via a network, etc.) As will be appreciated by one of skill in the art in possession of the present disclosure, the exchange of communications via a connection or aggregated connection with network slice(s) atblock 410 may be similar to conventional network slice communication exchanges, with the exception of that the application operating on theendpoint computing device 206 a/300 may be exchanging communications via the one or more connections with their respective network slices that include initial networking characteristics that satisfy the initial networking connectivity requirements of those applications. As discussed below, each of the network slices provided by thecore network system 202 are isolated from each other and, as such, any application or workload that is operating on an endpoint computing device and that is utilizing a particular network slice will be unaware of the other networks available via the other network slices being utilized by other applications or workloads operating on that same endpoint computing device. - Furthermore, in some embodiments, at
block 408 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to exchange communications for an application subsystem, workload subsystem, and/or functionality subsystem included in an application, workload, or functionality via one or more connections provided with respective network slices (e.g., exchanging communications via one or more connections with respective network slice(s) for a first application subsystem included in an application operating on theendpoint computing device 206 a/300, exchanging communications via one or more connections with respective network slice(s) for a second application subsystem included in that application operating on theendpoint computing device 206 a/300, and so on). Further still, in some embodiments, atblock 408 thenetwork slice engine 304 in theendpoint computing device 206 a/300 may exchange communications via one or more connections with respective network slice(s) for multiple applications that have been grouped in an application container as discussed above. - The
method 400 then proceeds to decision block 412 where it is determined whether the networking connectivity requirement for the application has changed during the application session. In an embodiment, theoperating system engine 306 in theendpoint computing device 206 a/300 (e.g., an OS level/Layer 3 (L3) engine provided as a WINDOWS® service on a WINDOWS® operating system available from MICROSOFT® of Redmond, Washington, United States) may operate to monitor the application being provided by the application engine(s) 305 to determine whether the initial networking connectivity requirement determined at block 404 has changed during the application session (e.g., to a “changed” network connectivity requirement) atdecision block 412. As discussed above, some applications may have network connectivity requirements that change during an application session, and theoperating system engine 306 may be configured to monitor the operation of the applications, identify a network connectivity requirement change, and report that network connectivity requirement change to thenetwork slice engine 304 in theendpoint computing device 206 a/300 atdecision block 412. In an embodiment, if it is determined that the networking connectivity requirement for the application has changed during the application session, themethod 400 may return to block 406, discussed in further detail below. - In an embodiment, if it is determined that the networking connectivity requirement for the application has not changed during the application session, the
method 400 may proceed to decision block 414 where it is determined whether networking characteristic(s) for the network slice(s) being utilized by the application have changed during the application session. In an embodiment, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to monitor the network slice(s) being utilized by the application (e.g., using the network characteristic determination techniques discussed above) to determine whether the initial networking characteristics of the network slice(s) identified atblock 406 have changed during the application session (e.g., to “changed” network characteristics) atdecision block 414. As discussed above, some network slices may have network characteristics that change during an application session, and thenetwork slice engine 304 may be configured to monitor the network slice(s), and identify a network characteristic change of any or all of those network slice(s). In an embodiment, if it is determined that the networking characteristics for the one or more network slice(s) being utilized by the application during the application session has not changed, themethod 400 may return to block 410, and themethod 400 may loop with the endpoint computing device exchanging communications for the application during the application session using the connection(s) to the respective network slice(s). - In an embodiment, if it is determined that the networking connectivity requirement for the application has changed during the application session and/or that the networking characteristics for one or more network slice(s) has changed during the application session, the
method 400 may return to block 406 where the endpoint computing device identifies at least one network slice that satisfies the networking connectivity requirement for the application, proceed to block 408 where the endpoint computing device establishes connection(s) for the application with each at least one network slice that satisfies its network connectivity requirement, and block 410 where the endpoint computing device exchanges communications for the application during the application session using the connection(s) to the network slice(s), as well as to decision blocks 412 and 414. - As will be appreciated by one of skill in the art in possession of the present disclosure, the performance of
block 406 may depend on the details of the change in the networking connectivity requirements for the application and/or the change in the networking characteristics of the network slice(s) determined at decision blocks 412 and/or 414. For example, networking connectivity requirement changes for the application and/or networking characteristic changes of the network slice(s) may be required to exceed some predetermined level and/or cause some degradation in performance of the application in order for their determination at decision blocks 412 and 414 to cause themethod 400 to return to block 406. As such, relatively minor changes in networking connectivity requirements for the application and/or networking characteristics of the network slice(s) may be ignored by thenetwork slice engine 304 in theendpoint computing device 206 a/300, and cause themethod 400 to return to block 410 as discussed above. - However, as will be appreciated by one of skill in the art in possession of the present disclosure, networking connectivity requirement changes for the application and/or networking characteristic changes of the network slice(s) utilized by that application may reach a level at which the performance of the application is reduced, and thus such changes may require the identification of at least one additional and/or different network slice for that application. For example, with reference to
FIGS. 6C and 6D , on a first iteration of themethod 400 theconnection 614 may be established between the application operating on theendpoint computing device 206 a/300 with thenetwork slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application. Subsequently, at decision blocks 412 and/or 414, changes in networking connectivity requirements for the application (e.g., a requirement of reduced latency, increased bandwidth, etc.) and/or networking characteristics of thenetwork slice 600 a (e.g., increased latency, reduced bandwidth, etc.) may be determined by thenetwork slice engine 304 in theendpoint computing device 206 a/300, and a second iteration of themethod 400 may identify thenetwork slice 602 a as including networking characteristics that, when combined with the networking characteristics of thenetwork slice 600 a, satisfy the networking connectivity requirements for the application. As such, theconnection 616 for the application to thenetwork slice 602 a may be established and aggregated with theconnection 614 for the application to thenetwork slice 600 a to provide the aggregatedconnection 618 during the second iteration of themethod 400 that satisfies the networking connectivity requirements for the application. - In another example, with reference to
FIGS. 6D and 6E , on a first iteration of themethod 400 theconnections connection 622 between the application operating on theendpoint computing device 206 a/300 with the network slices 600 a and 602 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application. Subsequently, at decision blocks 412 and/or 414, changes in networking connectivity requirements for the application (e.g., a requirement of reduced latency, increased bandwidth, etc.) and/or networking characteristics of the network slices 600 a and/or 602 a (e.g., increased latency, reduced bandwidth, etc.) may be determined by thenetwork slice engine 304 in theendpoint computing device 206 a/300, and a second iteration of themethod 400 may identify thenetwork slice 604 a as including networking characteristics that, when combined with the networking characteristics of the network slices 600 a and 600 b, satisfy the networking connectivity requirements for the application. As such, theconnection 620 for the application to thenetwork slice 604 a may be established and aggregated with theconnections connection 622 during the second iteration of themethod 400 that satisfies the networking connectivity requirements for the application. - In yet another example, with reference to
FIGS. 6C and 6F , on a first iteration of themethod 400 theconnection 614 may be established between the application operating on theendpoint computing device 206 a/300 with thenetwork slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application. Subsequently, at decision blocks 412 and/or 414, changes in networking connectivity requirements for the application (e.g., a requirement of increased latency, reduced bandwidth, etc.) and/or networking characteristics of thenetwork slice 600 a (e.g., decreased latency, increased bandwidth, etc.) may be determined by thenetwork slice engine 304 in theendpoint computing device 206 a/300, and a second iteration of themethod 400 may identify thenetwork slice 602 a as including networking characteristics that satisfy the networking connectivity requirements for the application. As such, theconnection 616 for the application to thenetwork slice 602 a may be established and theconnection 614 for the application to thenetwork slice 600 a may be ended during the second iteration of themethod 400 in order to satisfy the networking connectivity requirements for the application. - In yet another example, with reference to
FIGS. 6C and 6G , on a first iteration of themethod 400 theconnection 614 may be established between the application operating on theendpoint computing device 206 a/300 with thenetwork slice 600 a that includes initial networking characteristics that satisfy the initial networking connectivity requirement for that application. Subsequently, at decision blocks 412 and/or 414, changes in networking connectivity requirements for the application (e.g., a requirement of increased latency, reduced bandwidth, etc.) and/or networking characteristics of thenetwork slice 600 a (e.g., decreased latency, increased bandwidth, etc.) may be determined by thenetwork slice engine 304 in theendpoint computing device 206 a/300, and a second iteration of themethod 400 may identify the network slices 602 a and 604 a as including networking characteristics that satisfy the networking connectivity requirements for the application. As such, theconnections connection 614 for the application to thenetwork slice 600 a may be ended during the second iteration of themethod 400 in order to satisfy the networking connectivity requirements for the application. - While a few specific examples have been provided, one of skill in the art in possession of the present disclosure will appreciate the many ways in which connections to respective network slices may be replaced, added, removed, and/or aggregated for any particular application to satisfy the changing networking connectivity requirements of that application and/or the changing networking characteristics of those network slice(s). Furthermore, one of skill in the art in possession of the present disclosure will appreciate how the
method 400 may loop to continuously monitor the networking connectivity requirements of the application and networking characteristic of the network slice(s) being utilized by that application to detect changes and modify the network slice connectivity for that application to ensure that its networking connectivity requirements are satisfied efficiently and without the allocation of network slices to that application that are not needed by that application. - In embodiments in which connections to multiple network slices are aggregated to provide an aggregated connection that is utilized by an application (examples of which are illustrated in
FIGS. 6D, 6E, and 6G ), thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to tag data packets or frames that are transmitted via the aggregated connection, with those tags configured for use by thecore network system 202 to order those data packets or frames in a desired sequence. As will be appreciated by one of skill in the art in possession of the present disclosure, when a plurality of network slices are utilized by an application, those network slices may have different networking characteristics that can result in data packets or frames transmitted by the application being received at thecore network system 202 out of sequence. For example, when the application utilizes a first network slice to transmit a first data packet that is first in a sequence, a second network slice to transmit a second data packet that is second in the sequence, and a third network slice to transmit a third data packet that is third in the sequence, the first, second, and third data packets may be transmitted in parallel and may be received by thecore network system 202 out of sequence due to the different networking characteristics of the first, second, and third network slice (e.g., thecore network system 202 may first receive the third data packet, followed by the first data packet, followed by the second data packet.) As such, the data packet tagging operation discussed above may provide tags with each of the first, second, and third data packets that allow thecore network system 202 receiving them to utilize the tags to provide them in their desired sequence despite receiving them out of sequence. - Furthermore, in embodiments in which connections to multiple network slices are aggregated to provide an aggregated connection that is utilized by an application (examples of which are illustrated in
FIGS. 6D, 6E, and 6G ), thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to load-balance data packets or frames transmitted over respective connections to respective network slices based on the differing networking characteristics of those network slices. For example, when a first, second, and third network slice are utilized by an application via respective connections that have been aggregated to provide an aggregated connection, and the first network slice includes relatively higher latency networking characteristics compared to the second and third network slices, the increased latency associated with the first network slice may be mitigated by load-balancing data packets transmitted via the aggregated connection by, for example, transmitting fewer data packet over the connection to the first network slice as compared to the second and third connections to the second and third network slices, respectively. However, while a latency networking characteristic has been described, one of skill in the art in possession of the present disclosure will appreciate that the load balancing operations discussed above may be performed to mitigate or otherwise address any of a variety of QoS discrepancies or differences between network slices utilized by an application while remaining within the scope of the present disclosure. - As will be appreciated by one of skill in the art in possession of the present disclosure, the
method 400 may be performed to provide for the dynamic utilization of network slices by an application until that application is unavailable. For example, the application, workload, or other functionality operating on the endpoint computing device and to which connection(s) to network slice(s) were established during themethod 400 may complete, be shut down, and/or may otherwise become unavailable in a manner that does not utilize the network slice(s) with which that application, workload, or other functionality was connected atblock 408. As such, thenetwork slice engine 304 in theendpoint computing device 206 a/300 may operate to continuously or periodically to monitor the application (or application subsystem in an application, or applications grouped in an application container) for which connection(s) with network slice(s) were provided atblock 408 to determine whether that application (or application subsystem) has become unavailable or is otherwise not utilizing the network slice(s) to which it was connected. In the event it is determined that the application is not available, the endpoint computing device 206/300 may end the connection(s) with the network slice(s) for that application, and release those network slice(s) for use by other applications and/or endpoint computing devices. As will be appreciated by one of skill in the art in possession of the present disclosure, the ending of a connection with any network slice may be similar to conventional connection ending operations, and thus is not described herein in detail. - In some embodiments, repeated performance of the
method 400 may allow thenetwork slice engine 304 in theendpoint computing devices 300 to perform intelligent network slice operations based on learned behavior of any application operating on theendpoint computing device 300. For example, thenetwork slice engine 304 in theendpoint computing device 300 may monitor the use of an application on theendpoint computing device 300, the time of such application use on theendpoint computing device 300, locations of theendpoint computing device 300, and/or any other information that would be apparent to one of skill in the art in possession of the present disclosure, and may subsequently utilize that information to reserve network slices that include networking characteristics that satisfy the networking connectivity requirements of any particular applications. As such, when an endpoint computing device repeatedly operates a particular application at a particular time and in a particular location that utilizes particular network slice(s) that include networking characteristics that satisfy its networking connectivity requirements, thenetwork slice engine 304 in theendpoint computing device 300 may learn that behavior and subsequently operate to reserve those network slice(s) at the learned reoccurring application use time for use by the learned application in the learned location. However, while a specific intelligent network slice operation is described, one of skill in the art in possession of the present disclosure will recognize that other intelligent network slice operations may be performed that will fall within the scope of the present disclosure as well. - Thus, systems and methods have been described that provide for the dynamic utilization of one or more network slices by any particular functionality (e.g., any particular application, workload, etc.) provided on any particular endpoint computing device. For example, a 5 G core network system that is coupled to a 5 G RAN system may allocate a plurality of a network slices and make each of the plurality of network slices available for use in wireless communications via the 5 G RAN system. An endpoint computing device with an application operating on that endpoint computing device may determine an initial networking connectivity requirement for the application during an application session, identify a first network slice that is included in the plurality of network slices and that satisfies the initial networking connectivity requirement for the application, establish a first connection for the application with the first network slice, and exchange communications via the RAN system and the core network system for the application during the application session using the first connection established for the application with the first network slice. Subsequently, the endpoint computing device may determine a changed networking connectivity requirement for the application during the application session that is different than the initial networking connectivity requirement, identify a second network slice that is included in the plurality of network slices and that satisfies the changed networking connectivity requirement for the application, establish a second connection for the application with the second network slice, and exchange communications via the 5 G RAN system and the 5 G core network system for the application during the application session using the second connection established for the application with the second network slice. As such, any particular application, workload, or other functionality operating on a computing device may dynamically utilize one or more network slices as the networking requirements of that application, workload, or other functionality changes, and/or the networking characteristics of network slices being utilized by that application, workload, or other functionality changes.
- Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/776,305 US11096229B1 (en) | 2020-01-29 | 2020-01-29 | Endpoint computing device dynamic network slice utilization system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/776,305 US11096229B1 (en) | 2020-01-29 | 2020-01-29 | Endpoint computing device dynamic network slice utilization system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210235526A1 true US20210235526A1 (en) | 2021-07-29 |
US11096229B1 US11096229B1 (en) | 2021-08-17 |
Family
ID=76970975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/776,305 Active 2040-03-29 US11096229B1 (en) | 2020-01-29 | 2020-01-29 | Endpoint computing device dynamic network slice utilization system |
Country Status (1)
Country | Link |
---|---|
US (1) | US11096229B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11812359B2 (en) * | 2021-12-20 | 2023-11-07 | A10 Systems LLC | Intelligent network slicing and policy-based routing engine |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140369329A1 (en) | 2013-06-18 | 2014-12-18 | Qualcomm Incorporated | Lte and external wifi bandwidth aggregation |
US10644955B2 (en) | 2015-08-21 | 2020-05-05 | Huawei Technologies Co., Ltd. | Method and apparatus for network slicing |
CN113194478A (en) * | 2016-08-10 | 2021-07-30 | 日本电气株式会社 | Radio access network node, radio terminal, core network node and method |
-
2020
- 2020-01-29 US US16/776,305 patent/US11096229B1/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11812359B2 (en) * | 2021-12-20 | 2023-11-07 | A10 Systems LLC | Intelligent network slicing and policy-based routing engine |
US20240214904A1 (en) * | 2021-12-20 | 2024-06-27 | A10 Systems Inc Dba Airanaculus | Intelligent network slicing and policy-based routing engine |
Also Published As
Publication number | Publication date |
---|---|
US11096229B1 (en) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8780923B2 (en) | Information handling system data center bridging features with defined application environments | |
US20120151084A1 (en) | Asynchronous virtual machine replication | |
US10491503B2 (en) | Application-policy-based virtual SDN controller system | |
US11659478B2 (en) | Endpoint computing device multi-network slice utilization system | |
US11350307B2 (en) | Systems and methods of transmitting data over a communication network using quality of service tagging | |
US10491481B2 (en) | Messaging queue topology configuration system | |
US10855538B2 (en) | Single management connection automatic device stack configuration system | |
US11159489B2 (en) | Multi-link VPN link selection system | |
US20210235290A1 (en) | Endpoint computing device multi-network slice remediation/productivity system | |
US11096229B1 (en) | Endpoint computing device dynamic network slice utilization system | |
US10148516B2 (en) | Inter-networking device link provisioning system | |
US20190042294A1 (en) | System and method for implementing virtualized network functions with a shared memory pool | |
CN114531448B (en) | Calculation force determining method and device and calculation force sharing system | |
US11716382B2 (en) | System and method for replication of storage presentation in application orchestration | |
US11088963B2 (en) | Automatic aggregated networking device backup link configuration system | |
US11283716B2 (en) | Asymmetric Logical Unit Access path distribution system | |
US11106614B2 (en) | Asymmetric logical unit access path selection system | |
US11012858B1 (en) | Endpoint computing device network slice secure certificate provisioning and management system | |
US11005746B1 (en) | Stack group merging system | |
US20220224649A1 (en) | Information handling system closed loop bandwidth prioritization | |
US10277700B2 (en) | Control plane redundancy system | |
US20190089578A1 (en) | Stack link fault response system | |
US20240231629A1 (en) | Tiered memory fabric workload performance optimization system | |
CN103747045A (en) | CDN server status collection method, CDN control center and system thereof | |
US11323291B2 (en) | Port activation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: DELL PRODUCTS L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KOZLOWSKI, JOSEPH;BOYAPALLE, ANANTHA;ANDREWS, CARLTON;REEL/FRAME:051663/0444 Effective date: 20200117 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:052216/0758 Effective date: 20200324 |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:052243/0773 Effective date: 20200326 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:053546/0001 Effective date: 20200409 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:DELL PRODUCTS L.P.;EMC CORPORATION;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053311/0169 Effective date: 20200603 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058001/0152 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058001/0152 Effective date: 20211101 |
|
AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0680 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0680 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 |