US20220286914A1 - Ric sdk - Google Patents

Ric sdk Download PDF

Info

Publication number
US20220286914A1
US20220286914A1 US17/376,801 US202117376801A US2022286914A1 US 20220286914 A1 US20220286914 A1 US 20220286914A1 US 202117376801 A US202117376801 A US 202117376801A US 2022286914 A1 US2022286914 A1 US 2022286914A1
Authority
US
United States
Prior art keywords
control plane
ric
ran
machine
sdk
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.)
Pending
Application number
US17/376,801
Inventor
Aditya Gudipati
Amit Singh
Rakesh MISRA
Giridhar Subramani Jayavelu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VMware LLC
Original Assignee
VMware LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by VMware LLC filed Critical VMware LLC
Priority to US17/376,801 priority Critical patent/US20220286914A1/en
Assigned to VMWARE, INC. reassignment VMWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GUDIPATI, ADITYA, SUBRAMANI JAYAVELU, Giridhar, MISRA, RAKESH, SINGH, AMIT
Priority to EP22704113.4A priority patent/EP4268437A1/en
Priority to AU2022229086A priority patent/AU2022229086A1/en
Priority to CA3206693A priority patent/CA3206693A1/en
Priority to PCT/US2022/013427 priority patent/WO2022186912A1/en
Priority to JP2023540965A priority patent/JP2024513628A/en
Publication of US20220286914A1 publication Critical patent/US20220286914A1/en
Assigned to VMware LLC reassignment VMware LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: VMWARE, INC.
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0452Multi-user MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/086Load balancing or load distribution among access entities
    • H04W28/0861Load balancing or load distribution among access entities between base stations
    • H04W28/0865Load balancing or load distribution among access entities between base stations of different Radio Access Technologies [RATs], e.g. LTE or WiFi
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/14Access restriction or access information delivery, e.g. discovery data delivery using user query or user detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/02Selection of wireless resources by user or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0453Resources in frequency domain, e.g. a carrier in FDMA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/046Wireless resource allocation based on the type of the allocated resource the resource being in the space domain, e.g. beams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • H04W72/29Control channels or signalling for resource management between an access point and the access point controlling device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/51Allocation or scheduling criteria for wireless resources based on terminal or device properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/542Allocation or scheduling criteria for wireless resources based on quality criteria using measured or perceived quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/186Processing of subscriber group data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • H04B7/0613Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission
    • H04B7/0615Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal
    • H04B7/0619Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal using feedback from receiving side
    • H04B7/0621Feedback content
    • H04B7/0634Antenna weights or vector/matrix coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0048Allocation of pilot signals, i.e. of signals known to the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/10Reselecting an access point controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/121Wireless traffic scheduling for groups of terminals or users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • H04W88/085Access point devices with remote components

Definitions

  • the Radio Access Network performs more and more functions with each iteration of the telecommunications standards. That is, in order to enable the advantages of 5G over previous standards, the 5G RAN performs various additional functions. These RAN functions are situated between user devices and the core network, and are thus often performed at the base stations (e.g., cell towers) where computing power can be limited.
  • base stations e.g., cell towers
  • Some embodiments provide a method of performing control plane operations in a radio access network (RAN).
  • the method deploys several machines on a host computer. On each machine, the method deploys a control plane application to perform a control plane operation.
  • the method also configures on each machine a RAN intelligent controller (RIC) SDK (software development kit) to serve as an interface between the control plane application on the same machine and a set of one or more elements of the RAN.
  • RIC SDK provides a set of connectivity APIs (e.g., a framework) through which applications (e.g., xApps or other control plane or edge applications) can communicate with the distributed near real-time (RT) RIC.
  • connectivity APIs e.g., a framework
  • applications e.g., xApps or other control plane or edge applications
  • the RIC SDK on each machine includes a set of network connectivity processes that establish network connections to the set of RAN elements for the control plane application. These RIC SDK processes allow the control plane application on their machine to forego having the set of network connectivity processes.
  • the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
  • the control plane application on each machine communicates with the set of RAN elements through high-level API (application program interface) calls that the RAN SDK converts into low-level API calls.
  • high-level API application program interface
  • the low-level API calls are specified by a standard specifying body.
  • the high-level API calls are made in a high-level programming language, while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
  • the set of RAN elements that the RIC SDK connects with the control plane application on its machine include CU (central units) and DU (distributed units) of the RAN in some embodiments. Also, this SDK communicates with the CUs and DUs through the low-level, standard-specified E2 interface, while the control plane application on the machine uses high-level API calls to communicate with the CUs and DUs through the RAN SDK. In some embodiments, th 1 e high-level API calls specifying E2 interface operations at a high-level application layer that do not include low-level transport or network operations.
  • the set of RAN elements that the RIC SDK connects with the control plane application on its machine include network elements of the RIC.
  • the RIC elements include at least one shared data layer (SDL) element, at least one datapath input/output (I/O) element, and at least one service management element in some embodiments.
  • SDL shared data layer
  • I/O datapath input/output
  • service management element in some embodiments.
  • the RIC SDK also connects its control plane application to other control plane applications executing on other machines. For instance, some embodiments deploy several RICs to execute on several host computers to implement a distributed RIC that serves as communication interface between the control plane applications.
  • the method of some embodiments configures a first RIC to receive API calls from at least a first control plane application and to forward the API calls to at least a second control plane application.
  • the first and second control plane applications execute on the same host computer in some embodiments, while they execute on two different computers in other embodiments.
  • the method configures the first RIC to forward the API calls from the first control plane application to a second RIC executing on the second computer for the second RIC to forward to the second control plane application.
  • the first and second control plane applications are developed by two different application developers that use a common set of RIC APIs to communicate with each other through the distributed RIC.
  • the first RIC add one or more parameters to the API calls as it forwards the API calls from the first control application to the second control application.
  • the method of some embodiments deploys an SDL cache on the same host computer as a control plane application, and uses this cache to process at least a subset of the SDL storage access requests of the control plane application.
  • the control plane application and the SDL cache operate on a machine that executes on the host computer.
  • the SDL cache operates on the same host computer but outside of the machine on which the control plane application executes.
  • multiple control plane applications executing on the same host computer use a common SDL cache on that host computer.
  • the SDL cache is part of a RIC that executes on the same host computer as the control plane application in some embodiments. In other embodiments, the SDL cache is part of the RIC SDK that executes on the same machine as the control plane application. In either of these embodiments, a synchronizing process of the RIC or the RIC SDK synchronizes the data stored in the SDL cache with the data stored in the SDL storage.
  • the SDL storage operates on a different host computer than the host computer on which the control plane application executes, while in other embodiments at least a portion of the SDL storage operates on the same host computer on which the control plane application executes.
  • the RIC or the RIC SDK forwards SDL access requests from the control plane application to the SDL storage when the RIC SDK cannot process the SDL access requests through the SDL cache. For instance, the RIC or the RIC SDK cannot process SDL access requests through the SDL cache when the SDL cache does not store data requested by the control plane application.
  • FIG. 1 illustrates an example of O-RAN architecture according to some embodiments.
  • FIG. 2 illustrates an in-depth view of the components of both a non-real-time RIC and a near real-time RIC according to some embodiments.
  • FIG. 3 illustrates a more in-depth view of a MAC control assistor of some embodiments.
  • FIG. 4 illustrates a more in-depth view of a user-level tracer of some embodiments.
  • FIG. 5 illustrates another view of the O-RAN architecture of some embodiments, with a more in-depth view of the near real-time RIC.
  • FIG. 6 illustrates deployment of RIC SDKs on machines that execute control plane applications in some embodiments.
  • FIG. 7 illustrates that some embodiments deploy several RICs to execute on several host computers to implement a distributed near RT RIC that includes the RIC components illustrated in FIGS. 5 and 6 .
  • FIG. 8 illustrates a RIC that executes on one host computer along with two machines on which two control plane applications execute.
  • FIG. 9 illustrates two RICs that execute on two host computer along with two machines on which two control plane applications and two RIC SDKs execute.
  • FIG. 10 illustrates a RIC that executes on a first host computer to connect two control plane applications that execute on two machines operating on two other host computers.
  • FIG. 11 illustrates a RIC that executes on a first host computer to connect two control plane applications that execute on two machines, one of which operates on the first host computer while the other operates on another host computer.
  • FIG. 12 illustrates examples of the different standard specified APIs that the distributed near RT RIC platform of some embodiments supports.
  • FIG. 13 illustrates embodiments in which the SDL cache is part of each RIC SDK that executes on the same machine as its control plane application.
  • FIG. 14 conceptually illustrates an electronic system with which some embodiments of the invention are implemented.
  • FIG. 1 illustrates an example of O-RAN architecture 100 , according to some embodiments.
  • the O-RAN architecture 100 includes a service management and orchestration framework (SMO) 110 with a non-real-time RIC 105 , a near real-time RAN intelligent controller (RIC) 115 , open control plane central unit (O-CU-CP) 120 , open user plane central unit (O-CU-UP) 125 , open distributed unit (O-DU) 130 , open radio unit (O-RU) 135 , and the O-Cloud 140 .
  • SMO service management and orchestration framework
  • RIC near real-time RAN intelligent controller
  • O-CU-CP open control plane central unit
  • OF-CU-UP open user plane central unit
  • O-DU open distributed unit
  • O-RU open radio unit
  • the O-CU-CP 120 , the O-CU-UP 125 , and the O-DU 130 may be collectively referred to as the managed functions 120 - 130 below.
  • the SMO 110 in some embodiments includes an integration fabric that allows the SMO to connect to and manage the RIC 115 , the managed functions 120 - 130 , and the O-Cloud 140 via the open interfaces 150 .
  • the O-RU 135 is not managed by the SMO 110 , and is instead managed by the O-DU 130 , as indicated by the dashed line 160 , in some embodiments.
  • the O-RU 135 processes and sends radio frequencies to the O-DU 130 .
  • the managed functions 120 - 130 are logical nodes that each host a set of protocols.
  • the O-CU-CP 120 in some embodiments, include protocols such as radio resource control (RRC) and the control plane portion of packet data convergence protocol (PDCP), while the O-CU-UP 125 includes protocols such as service data adaptation protocol (SDAP), and the user plane portion of packet data convergence protocol (PDCP).
  • RRC radio resource control
  • PDCP packet data convergence protocol
  • SDAP service data adaptation protocol
  • PDCP user plane portion of packet data convergence protocol
  • the two RICs are each adapted to specific control loop and latency requirements.
  • the near real-time RIC 115 provides programmatic control of open centralized units (O-CUs) and open distributed units (O-DUs) on time cycles of 10 ms to 1 second.
  • the non-real-time RIC (non-RT RIC) 105 provides higher layer policies that can be implemented in the RAN either via the near-RT RIC or via a direct connection to RAN nodes.
  • the non-RT RIC is used for control loops of more than 1 second.
  • Each RIC 105 or 115 serves as a platform on which RAN control applications execute. These applications can be developed by third-party suppliers that are different from the RIC vendors. These applications are referred to as “xApps” (for the near-RT RIC 115 ) and “rApps” (for the non-RT RIC).
  • the near real-time RIC 115 in some embodiments, is a logical aggregation of several functions that use data collection and communications over the interfaces 155 in order to control the managed functions 120 - 130 .
  • the non-real-time RIC 105 uses machine learning and model training in order to manage and optimize the managed functions 120 - 130 .
  • the near RT RIC in some of these embodiments also uses machine learning.
  • the O-Cloud 140 is responsible for creating and hosting virtual network functions (VNFs) for use by the RIC 115 and the managed functions 120 - 130 .
  • the DU is in charge of per-slot decisions of user scheduling and includes RAN scheduler that performs MAC control assistance and user-level tracing.
  • the RIC is implemented in one or more public and/or private cloud datacenters and implements an improved cloudified RAN scheduler in the cloud, thereby offloading these MAC control assistance and user-level tracing functions from the DU to the RIC.
  • the interfaces 155 in some embodiments enable the RAN to provide inputs to the functions at the RIC, and, at least in some embodiments, receive outputs that have been computed by these functions at the RIC.
  • FIG. 2 illustrates an in-depth view of the components of both a non-real-time RIC 201 and a near real-time RIC 202 .
  • Each of the RICs 201 and 202 includes a respective set of analytics functions 210 and 212 , and a respective set of optimization functions 214 and 216 , which are each illustrated with dashed lines to indicate they are existing components.
  • the near real-time optimization functions 216 includes two new components, the MAC control assistor 220 and user-level tracer 222 , illustrated with solid lines to visually differentiate them from the existing components.
  • these components are part of a larger MIMO component (e.g., along with the MU-MIMO UE pairer and precoder).
  • the MAC control assistor 220 can include various functions such as (1) User Equipment (UE)-specific beamforming weight calculation based on UL SRS channel signal reception, (2) UE Radio Frequency (RF) condition prediction, and (3) Multi-User, Multiple Input, Multiple Output (MU-MIMO) pairing suggestion for the MAC scheduler based on the UE-specific beams.
  • UE User Equipment
  • RF Radio Frequency
  • MU-MIMO Multi-User, Multiple Input, Multiple Output pairing suggestion for the MAC scheduler based on the UE-specific beams.
  • some embodiments expose a report interface (that provides input data for the function to the RIC from the DU) and a control interface (that provides output data for the function to the DU from the RIC).
  • the user-level tracer 222 in some embodiments, produces L1/L2/L3 level information related to user configuration and traffic performance. This tracing data can be used as inputs to various control algorithms, including the MAC scheduler, parameter setting, etc.
  • the user-level tracer 222 can include tracing operations that can (i) track user behavior in a cell, (ii) track user RF condition, (iii) track user data traffic performance in different layers (MAC, Radio Link Control (RLC), Packet Data Convergence Protocol (PDCP)), and (iv) track user RF resource consumption.
  • MAC Radio Link Control
  • PDCP Packet Data Convergence Protocol
  • FIG. 3 illustrates a more in-depth view of a MAC control assistor 300 of some embodiments.
  • the MAC control assistor 300 includes a UE-specific beamforming weight calculator (BFWC) 310 , a UE RF condition predictor 320 , and a MU-MIMO pairing suggestor 330 .
  • the UE-specific BFWC 310 in some embodiments is based on UL SRS channel signal reception.
  • the MU-MIMO pairing suggestor 330 is for the MAC scheduler based on the UE-specific beams.
  • Each of the components 310 - 330 of the MAC control assistor 300 includes an uplink and a downlink, as shown.
  • some embodiments expose a report interface for an uplink Sounding Reference Signal (UL SRS) channel response matrix that is an input to the weight calculation function and a control interface for a UE-specific beamforming weight matrix.
  • UL SRS uplink Sounding Reference Signal
  • UE RF condition predictor function some embodiments expose a report interface for a downlink (DL) channel condition report that is an input to the RF condition prediction and a control interface for a predicted DL channel condition (e.g., including DL SINR, PMI, and rank) for the next scheduling window.
  • DL downlink
  • a predicted DL channel condition e.g., including DL SINR, PMI, and rank
  • some embodiments expose a report interface for UE-specific beamforming weight matrix that is an input to the pairing suggestion function and a control interface for UE pairing suggestion and SINR impact assessment.
  • FIG. 4 illustrates a more in-depth view of a user-level tracer 400 of some embodiments.
  • the tracer 400 includes multiple uplinks 410 and multiple downlinks 415 for performing tracing operations, in some embodiments. These operations produce L1/L2/L3 level information related to user configuration and traffic performance.
  • This tracing data can be used as inputs to various control algorithms, including the MAC scheduler, parameter setting, etc. These tracing operations can (1) track user behavior in a cell, (2) track user RF condition, (3) track user data traffic performance in different layers (MAC, RLC, PDCP), and (4) track user RF resource consumption.
  • some embodiments expose report interfaces for the DU and/or the CU to provide various metrics to the user level tracing operations. These metrics can include selected RRC messages, MAC/RLC/PDCP traffic volume and performance, RF condition, and RF resource consumption. In some embodiments, messages over these interfaces to the RIC are triggered based on user behavior and/or periodic reporting (e.g., for traffic performance and RF condition/resource consumption).
  • the tracing operations track the various user data indicated above, and can provide this information either back to the RAN or to other control algorithms (e.g., other algorithms operating at the RIC). For instance, these algorithms might perform analysis on the user data performance from the user level tracing operations, determine that certain performance is inadequate, and modify how the RAN is treating the user traffic. Examples of control algorithms that can benefit from user-level tracing in some embodiments include (1) traffic steering, (2) quality of service (QoS) scheduling optimization, (3) user configuration adjustment, and (4) user behavior anomaly detection.
  • QoS quality of service
  • the increased computing power available to the RIC in the cloud enables more complex computations without excessive latency.
  • some or all of these operations can be performed at the RIC using machine learning (e.g., using machine-trained networks, etc.).
  • FIG. 5 illustrates another view of the O-RAN architecture of some embodiments, with a more in-depth view of the near real-time RIC.
  • the architecture 500 includes an SMO 505 with a non-real-time RIC 510 , a distributed near real-time RIC 515 , and E 2 nodes 520 (e.g., O-DU and/or O-CU nodes).
  • the distributed near real-time RIC 515 includes messaging infrastructure 540 , a set of services (e.g., 550 , 552 , 554 , and 556 ), a shared data layer 560 , a database 570 , and a set of termination interfaces (e.g., 580 , 582 , and 584 ).
  • a set of embedded apps uses this distributed near RT RIC.
  • the distributed near RT RIC 515 is implemented by multiple RICs executing on multiple host computers in some embodiments.
  • the set of services include conflict mitigation services 550 , app subscription management services 552 , management services 554 , and security services 556 .
  • the set of termination interfaces include 01 termination interface 580 connecting the SMO to the near real-time RIC, Al termination interface 582 connecting the non-real-time RIC to the near real-time RIC, and E 2 termination interface 584 connecting the E 2 nodes to the near real-time RIC.
  • Each of the apps is representative of the various functions of the RIC that use data sent from the E 2 nodes 520 .
  • app 530 may correspond to the UE-specific BFWC 310 of the MAC control assistor 300
  • app 532 may correspond to the UE RF condition predictor 320 of the MAC control assistor 300 , etc.
  • the objective of the framework 500 is to offload near real-time functions that are computation-intensive, and provide results back to the O-DU (e.g., via the E2 interface with E2 nodes 520 ).
  • the results can be used to assist or enhance the real-time decision in the MAC layer.
  • the first example use-case is specific to the UE-specific beamforming weight calculation based on UL SRS signal reception component of the MAC control assistance framework (e.g., component 310 of the MAC control assistor 300 ).
  • the input metrics can include multiple options based on UL SRS, such as raw SRS received data, and an SRS channel responses matrix from a channel estimate.
  • the algorithm for producing output metrics evaluates the optimal beam-forming weights to reach the user.
  • Some embodiments use traditional signal processing algorithms that are based on channel models.
  • machine-learning based algorithms that utilize raw data inputs are used, which require feedback from the DU in the E2 nodes 520 .
  • the output metrics resulting from the algorithm include a beam-form weight (BFW) matrix for the user.
  • BFW could also be mapped to a beam index from a pre-designed beam set.
  • the DU uses the matrix to control the MIMO antenna array gain/phasing in the RU (e.g., the O-RU 135 in the architecture 100 ) for user data transmission and reception.
  • the second use-case example is specific to the UE RF condition predictor component of the MAC control assistance framework (e.g., component 320 of the MAC control assistor 300 ).
  • the input metrics include at least a channel report from the UE, such as Wideband or Subband CQI/PMERI for DL, or SRS for UL, according to some embodiments.
  • the input metrics of some embodiments can also opt to include supportive information such as UE distance, UE positioning, etc.
  • the app algorithm for this second use-case is meant to predict the UE's RF condition based on the observation.
  • Some embodiments utilize traditional signal processing algorithms based on channel and mobility models. Alternatively, or conjunctively, some embodiments also use machine learning based algorithms using data inputs and potentially other factors, such as site layout (which requires feedback from the DU).
  • the output metrics for this use-case include the predicted channel condition of the user for the next scheduling window, as well as predicted downlink and uplink SINR, a precoding matrix (e.g., if applicable), and SU-MIMO layers. In some embodiments, these output metrics are used by the DU for the user link adaptation on PDCCH/PDSCH/PUSCH transmissions.
  • the third use-case example is specific to the MU-MIMO pairing suggestor to MAC scheduler component (e.g., component 330 of the MAC control assistor 300 ).
  • the input metrics for this example use case include at least the UE-specific BFW matrix and the UE RF condition estimate. Some embodiments may also include supportive metrics such as user data demand, etc., as input metrics in addition to the UE-specific BFW matrix and the UE RF condition estimate.
  • the app algorithm for this use-case in some embodiments, is meant to identify users that can be paired for MU-MIMO operations.
  • some embodiments of the third use-case use traditional signal processing algorithms based on information theory and cross-channel covariance evaluation.
  • some embodiments use machine learning based algorithms using the data inputs, which again requires feedback from the DU.
  • the output metrics of this third use-case can include UE pairing suggestions and an impact assessment on SINR and SU-MIMO layers. Additionally, the DU in some embodiments uses the output metrics to select users for RF scheduling, and to determine the transmission efficiencies.
  • An example use-case for the user-level tracer can include QoS scheduling optimization with the goal of adjusting a user's scheduling priority for an RF resource to optimize the service quality.
  • the input for some embodiments of this use-case can include a service quality target from a user subscription.
  • the user-level tracing includes (1) tracking the user RF condition, (2) tracking the user data traffic performance in different layers (e.g., MAC/RLC/PDCP), and (3) tracking the user RF resource consumption.
  • the app algorithm is based on the QoS target and observed user traffic performance, and can be used to determine that a user's resource allocation is insufficient.
  • the algorithm format in some embodiments, can be logic-based or machine learning-based.
  • the output can include a recommendation issued to the MAC scheduler to adjust the traffic priority or link adaptation in order to improve performance.
  • a RIC SDK software development kit
  • the RIC SDK provides a set of connectivity APIs (e.g., a framework) through which applications can communicate with the distributed near real-time (RT) RIC implemented by two or more near real-time RICs. Examples of such applications include xApps, and other control plane and edge applications in some embodiments.
  • xApps perform control plane, monitoring and data processing operations.
  • FIGS. 6 and 8-20 refers to control plane applications (e.g., 615 , 815 , 820 , 915 , 920 , etc.). These control plane applications are xApps in an O-RAN system in some embodiments.
  • FIG. 6 illustrates deployment of RIC SDKs 605 on machines 610 that execute control plane applications 615 in some embodiments.
  • the RIC SDK 605 on each machine 610 includes a set of network connectivity processes that establish network connections to the set of RAN elements (e.g., E2 nodes 520 , shared data layer 560 , management services 554 , SMO 505 , etc.) for the control plane application.
  • the RIC SDK processes allow the control plane application on their machine to forego performing network connectivity operations.
  • the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
  • the control plane application on each machine communicates with the set of RAN elements through high-level APIs 620 that the RAN SDK converts into low-level APIs 625 .
  • the low-level API calls 625 are specified by a standard specifying body.
  • the high-level APIs 620 are made in a high-level programming language (e.g., C++), while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
  • the set of RAN elements that the RIC SDK connects with the control plane application on its machine include RAN elements that are produced and/or developed by different RAN vendors and/or developers. These RAN elements include CUs 630 and DUs 635 of the RAN in some embodiments. Also, this SDK communicates with the CUs and DUs through the low-level, standard-specified E 2 interface, while the control plane application on the machine uses high-level API calls to communicate with the CUs and DUs through the RAN SDK. In some embodiments, the high-level API calls specifying E 2 interface operations at a high-level application layer that do not include low-level transport or network operations.
  • the set of RAN elements that the RIC SDK connects with the control plane application 615 on its machine 610 include network elements of the RIC.
  • these network elements in some embodiments include RAN elements that are produced and/or developed by different RAN vendors and/or developers.
  • These RIC elements in some embodiments include shared data layer (SDL) 560 , datapath input/output (I/O) elements, and application and management services 552 and 554 in some embodiments.
  • FIG. 7 illustrates that some embodiments deploy several near RT RICs 705 to execute on several host computers to implement a distributed near RT RIC 700 that includes the RIC components illustrated in FIGS. 5 and 6 .
  • one RIC 705 executes on each host computer that also executes a control plane application 615 .
  • a control plane application 615 can execute on a host computer that does not execute a RIC.
  • one or more control plane applications execute on one or more host computers that have graphics processing units (GPUs), while RICs do not execute on such host computers as they do not need the processing power of the GPUs.
  • GPUs graphics processing units
  • the RIC SDK also connects its control plane application to other control plane applications executing on other machines.
  • the RIC SDK and the distributed near RT RIC in some embodiments serve as communication interface between the control plane applications.
  • the different control plane applications are developed by different application developers that use the common set of RIC APIs to communicate with each other through the distributed near RT RIC.
  • the distributed near RT RIC adds one or more parameters to the API calls as it forwards the API calls from one control application to the other control application.
  • FIGS. 8-11 illustrate several examples of RIC architectures in which the RIC SDK and the distributed near RT RIC establish the communication interface between control plane applications. These architectures are mutually exclusive in some embodiments, while in other embodiments two or more of these architectures are used conjunctively.
  • FIG. 8 illustrates a RIC 800 that executes on one host computer 805 along with two machines 810 and 812 on which two control plane applications 815 and 820 execute.
  • the RIC 800 receives API calls from the CP application 815 and forwards the API calls to the CP application 820 , and passes responses to these API calls from the second CP application 820 to the first CP application 815 . It also passes API calls from the second CP application 820 to the first CP application 815 , and responses from the first CP application 815 to the second CP application 820 .
  • FIG. 9 illustrates two RICs 900 and 901 that execute on two host computer 905 and 907 along with two machines 910 and 912 on which two control plane applications 915 and 920 and two RIC SDKs 902 and 904 execute.
  • API calls from the first CP application 915 to the second CP application 920 are forwarded through the first RIC SDK 902 , the first RIC 900 , the second RIC 901 and the second RIC SDK 904 .
  • the second CP application's responses to these API calls to the first CP application 915 traverse the reverse path, from the second RIC SDK 904 , the second RIC 901 , the first RIC 900 , and the first RIC SDK 902 .
  • the API calls from second CP application 920 to the first CP application 915 are forwarded through the second RIC SDK 904 , the second RIC 901 , the first RIC 900 , and the first RIC SDK 902 , while responses to these API calls from the first CP application 915 to the second CP application 920 are forwarded through the first RIC SDK 902 , the first RIC 900 , the second RIC 901 and the second RIC SDK 904 .
  • FIG. 10 illustrates a RIC 1000 that executes on first host computer 1005 to connect two control plane applications 1015 and 1020 that execute on two machines 1010 and 1012 operating on two other host computers 1006 and 1007 .
  • the RIC 1000 receives API calls from the CP application 1015 and forwards the API calls to the CP application 1020 , and passes responses to these API calls from the second CP application 1020 to the first CP application 1015 . It also passes API calls from the second CP application 1020 to the first CP application 1015 , and responses from the first CP application 1015 to the second CP application 1020 .
  • FIG. 11 illustrates a RIC 1100 that executes on first host computer 1105 to connect two control plane applications 1115 and 1120 that execute on two machines 1110 and 1112 one of which operates on host computer 1105 while the other operates on host computer 1106 .
  • the RIC 1100 receives API calls from the CP application 1115 and forwards the API calls to the CP application 1120 , and passes responses to these API calls from the second CP application 1120 to the first CP application 1115 .
  • the RIC 1100 also passes API calls from the second CP application 1120 to the first CP application 1115 , and responses from the first CP application 1115 to the second CP application 1120 .
  • FIG. 12 illustrates examples of the different standard specified APIs that the distributed near RT RIC platform of some embodiments supports.
  • the distributed near RT RIC platform 1200 in some embodiments uses the E2, O 1 , and A 1 interfaces specified by the O-RAN standard specifying body. It uses the E2 APIs to communicate with the E2 O-RAN nodes, such as the O-CU-CPs 1202 , O-CU-UPs 1204 , and O-DUs 1206 . It also uses the A 1 APIs to communicate with the non-real-time RIC platform 1208 , and uses the O 1 APIs to communicate the SMO 1210 .
  • the RIC SDKs 1215 provide high-level counterpart APIs for the control plane applications 1220 that use the RIC SDKs and the distributed near RT RIC platform to communicate with the E2 nodes 1202 - 1206 , the non-real-time RIC platform 1208 and the SMO 1210 .
  • FIG. 12 designates these high-level counterpart APIs for the E2, O 1 , and A 1 interfaces with a prime sign as the E2′ API calls, O 1 ′ API calls and A 1 ′ API calls.
  • These high-level counterpart APIs are not specified by a standard body, but are APIs that the RIC SDK and/or distributed near RT RIC convert into standard specified API calls.
  • FIG. 12 also shows several internal-RIC APIs for allowing the control plane applications 1220 to communicate with each other through the RIC SDKs and the distributed near RT RIC, and to communicate with one or more elements of the distributed near RT RIC (e.g., shared data layer (SDL) 560 , datapath input/output (I/O) elements, and application and management services 552 and 554 ).
  • SDL shared data layer
  • I/O datapath input/output
  • FIG. 12 also shows several internal-RIC APIs for allowing the control plane applications 1220 to communicate with each other through the RIC SDKs and the distributed near RT RIC, and to communicate with one or more elements of the distributed near RT RIC (e.g., shared data layer (SDL) 560 , datapath input/output (I/O) elements, and application and management services 552 and 554 ).
  • SDL shared data layer
  • I/O datapath input/output
  • 552 and 554 application and management services
  • Enablement APIs are the APIs that are used in some embodiments to allow the control plane applications 1220 to communicate with each other. As described above by reference to FIGS. 8-11 , these APIs are passed through the distributed near RT RIC in some embodiments. In other embodiments, these APIs allow the RIC SDKs of the control plane applications to directly communicate with each other without traversing through any other components of the distributed near RT RIC. For this reason, FIG. 12 includes a dashed bi-directional arrow between the RIC SDKs 1215 of the two control plane applications 1220 to indicate that in some embodiments the RIC SDKs 1215 of these applications communicate directly with each other.
  • the enablement APIs in some embodiments include registration APIs, service discovery APIs as well as inter-app communication APIs.
  • Registration APIs are used by the applications 1220 (e.g., xApps) to introduce themselves to other applications 1220 by providing their network identifiers (e.g., their network address and available L 4 ports) and providing their functionality (e.g., performing channel prediction).
  • Service discovery APIs allow control plane applications 1220 (e.g., xApps) to query the service directory (e.g., of the distributed near RT RIC) for other control plane applications (e.g., other xApps) that provide a particular service.
  • the inter-app communication APIs allow the control plane applications to communicate with each other to pass along data and/or request certain operations.
  • Some embodiments deploy an SDL cache on the same host computer as a control plane application, and use this cache to process at least a subset of the SDL storage access requests of the control plane application.
  • the control plane application and the SDL cache operate on a machine that executes on the host computer.
  • the SDL cache operates on the same host computer but outside of the machine on which the control plane application executes.
  • multiple control plane applications executing on the same host computer use a common SDL cache on that host computer.
  • the SDL cache is part of a RIC that executes on the same host computer as the control plane application in some embodiments. In other embodiments, the SDL cache is part of the RIC SDK that executes on the same machine as the control plane application. In either of these embodiments, a synchronizing process of the RIC or the RIC SDK synchronizes the data stored in the SDL cache with the data stored in the SDL storage.
  • the SDL storage operates on a different host computer than the host computer on which the control plane application executes, while in other embodiments at least a portion of the SDL storage operates on the same host computer on which the control plane application executes.
  • the RIC or the RIC SDK forwards SDL access requests from the control plane application to the SDL storage when the RIC SDK cannot process the SDL access requests through the SDL cache. For instance, the RIC or the RIC SDK cannot process SDL access requests through the SDL cache when the SDL cache does not store data requested by the control plane application.
  • FIG. 13 illustrates embodiments in which the SDL cache 1302 is part of each RIC SDK 1300 that executes on the same machine 1305 as its control plane application 1310 .
  • the RIC SDK 1300 includes a query manager 132 that processes SDL requests from the CP application 1310 and a synchronizing service 1327 that synchronizes the data stored in the SDL cache with the data stored in an SDL storage 1350 of the SDL 1355 of the distributed near RT RIC 1330 .
  • the SDL storage 1350 operates on a different host computer than the host computer on which the control plane application 1310 executes. However, in other embodiments, at least a portion of the SDL storage 1350 operates on the same host computer on which the control plane application 1310 executes.
  • the query manager 1325 of the RIC SDK 1300 When the control plane application 1310 uses a high-level API call to read or write data to the SDL storage, the query manager 1325 of the RIC SDK 1300 first determines whether the data record being read or written is stored in the SDL cache 1302 . If so, the query manager 1325 reads from or write to this record. When this operation is a write operation, the synchronizing service 1327 writes the new data in real-time or on batch basis to the SDL storage 1350 . On the other hand, when query manager 1325 of the RIC SDK 1300 determines that the data record being read or written is not stored in the SDL cache 1302 , it passes the API call to the SDL layer of the distributed near RT RIC to perform the requested read or write operation. When passing this API call, the RIC SDK 1300 modifies the format of this call and/or modifies the parameters supplied with this call in some embodiments.
  • FIG. 14 conceptually illustrates an electronic system 1400 with which some embodiments of the invention are implemented.
  • the electronic system 1400 may be a computer (e.g., a desktop computer, personal computer, tablet computer, server computer, mainframe, a blade computer etc.), or any other sort of electronic device.
  • Such an electronic system includes various types of computer readable media and interfaces for various other types of computer readable media.
  • Electronic system 1400 includes a bus 1405 , processing unit(s) 1410 , a system memory 1425 , a read-only memory 1430 , a permanent storage device 1435 , input devices 1440 , and output devices 1445 .
  • the bus 1405 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 1400 .
  • the bus 1405 communicatively connects the processing unit(s) 1410 with the read-only memory 1430 , the system memory 1425 , and the permanent storage device 1435 .
  • the processing unit(s) 1410 retrieve instructions to execute and data to process in order to execute the processes of the invention.
  • the processing unit(s) may be a single processor or a multi-core processor in different embodiments.
  • the read-only-memory (ROM) 1430 stores static data and instructions that are needed by the processing unit(s) 1410 and other modules of the electronic system.
  • the permanent storage device 1435 is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 1400 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1435 .
  • the system memory 1425 is a read-and-write memory device. However, unlike storage device 1435 , the system memory is a volatile read-and-write memory, such a random-access memory.
  • the system memory stores some of the instructions and data that the processor needs at runtime.
  • the invention's processes are stored in the system memory 1425 , the permanent storage device 1435 , and/or the read-only memory 1430 . From these various memory units, the processing unit(s) 1410 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
  • the bus 1405 also connects to the input and output devices 1440 and 1445 .
  • the input devices enable the user to communicate information and select commands to the electronic system.
  • the input devices 1440 include alphanumeric keyboards and pointing devices (also called “cursor control devices”).
  • the output devices 1445 display images generated by the electronic system.
  • the output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as a touchscreen that function as both input and output devices.
  • bus 1405 also couples electronic system 1400 to a network 1465 through a network adapter (not shown).
  • the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of electronic system 1400 may be used in conjunction with the invention.
  • Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media).
  • computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra-density optical discs, any other optical or magnetic media, and floppy disks.
  • CD-ROM compact discs
  • CD-R recordable compact
  • the computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations.
  • Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • integrated circuits execute instructions that are stored on the circuit itself.
  • the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people.
  • display or displaying means displaying on an electronic device.
  • the terms “computer readable medium,” “computer readable media,” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.

Abstract

Some embodiments provide a method of performing control plane operations in a radio access network (RAN). The method deploys several machines on a host computer. On each machine, the method deploys a control plane application to perform a control plane operation. The method also configures on each machine a RAN intelligent controller (RIC) SDK to serve as an interface between the control plane application on the same machine and a set of one or more elements of the RAN. In some embodiments, the RIC SDK on each machine includes a set of network connectivity processes that establish network connections to the set of RAN elements for the control plane application. These RIC SDK processes allow the control plane application on their machine to forego having the set of network connectivity processes. In some embodiments, the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.

Description

    CLAIM OF BENEFIT TO PRIOR APPLICATIONS
  • This application claims the benefit of U.S. Provisional Patent Application 63/157,351, filed Mar. 5, 2021; U.S. Provisional Patent Application 63/157,600, filed Mar. 5, 2021; U.S. Provisional Patent Application 63/176,859, filed Apr. 19, 2021; and U.S. Provisional Patent Application 63/180,627, filed Apr. 27, 2021. U.S. Provisional Patent Applications 63/157,351, 63/157,600, 63/176,859, and 63/180,627 are incorporated herein by reference.
  • BACKGROUND
  • In telecommunications networks, the Radio Access Network (RAN) performs more and more functions with each iteration of the telecommunications standards. That is, in order to enable the advantages of 5G over previous standards, the 5G RAN performs various additional functions. These RAN functions are situated between user devices and the core network, and are thus often performed at the base stations (e.g., cell towers) where computing power can be limited.
  • BRIEF SUMMARY
  • Some embodiments provide a method of performing control plane operations in a radio access network (RAN). The method deploys several machines on a host computer. On each machine, the method deploys a control plane application to perform a control plane operation. The method also configures on each machine a RAN intelligent controller (RIC) SDK (software development kit) to serve as an interface between the control plane application on the same machine and a set of one or more elements of the RAN. The RIC SDK provides a set of connectivity APIs (e.g., a framework) through which applications (e.g., xApps or other control plane or edge applications) can communicate with the distributed near real-time (RT) RIC.
  • In some embodiments, the RIC SDK on each machine includes a set of network connectivity processes that establish network connections to the set of RAN elements for the control plane application. These RIC SDK processes allow the control plane application on their machine to forego having the set of network connectivity processes. In some embodiments, the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
  • The control plane application on each machine communicates with the set of RAN elements through high-level API (application program interface) calls that the RAN SDK converts into low-level API calls. In some embodiments, at least a subset of the low-level API calls are specified by a standard specifying body. Also, in some embodiments, the high-level API calls are made in a high-level programming language, while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
  • The set of RAN elements that the RIC SDK connects with the control plane application on its machine include CU (central units) and DU (distributed units) of the RAN in some embodiments. Also, this SDK communicates with the CUs and DUs through the low-level, standard-specified E2 interface, while the control plane application on the machine uses high-level API calls to communicate with the CUs and DUs through the RAN SDK. In some embodiments, th1e high-level API calls specifying E2 interface operations at a high-level application layer that do not include low-level transport or network operations.
  • Conjunctively, or alternatively, the set of RAN elements that the RIC SDK connects with the control plane application on its machine include network elements of the RIC. The RIC elements include at least one shared data layer (SDL) element, at least one datapath input/output (I/O) element, and at least one service management element in some embodiments. Through the RIC, the RIC SDK also connects its control plane application to other control plane applications executing on other machines. For instance, some embodiments deploy several RICs to execute on several host computers to implement a distributed RIC that serves as communication interface between the control plane applications.
  • The method of some embodiments configures a first RIC to receive API calls from at least a first control plane application and to forward the API calls to at least a second control plane application. The first and second control plane applications execute on the same host computer in some embodiments, while they execute on two different computers in other embodiments. In some embodiments where the first RIC and the first control plane application execute on a first host computer, and the second control plane application executes on a second host computer, the method configures the first RIC to forward the API calls from the first control plane application to a second RIC executing on the second computer for the second RIC to forward to the second control plane application.
  • In some embodiments, the first and second control plane applications are developed by two different application developers that use a common set of RIC APIs to communicate with each other through the distributed RIC. In some of these embodiments, the first RIC add one or more parameters to the API calls as it forwards the API calls from the first control application to the second control application.
  • The method of some embodiments deploys an SDL cache on the same host computer as a control plane application, and uses this cache to process at least a subset of the SDL storage access requests of the control plane application. In some embodiments, the control plane application and the SDL cache operate on a machine that executes on the host computer. In other embodiments, the SDL cache operates on the same host computer but outside of the machine on which the control plane application executes. In some of these embodiments, multiple control plane applications executing on the same host computer use a common SDL cache on that host computer.
  • The SDL cache is part of a RIC that executes on the same host computer as the control plane application in some embodiments. In other embodiments, the SDL cache is part of the RIC SDK that executes on the same machine as the control plane application. In either of these embodiments, a synchronizing process of the RIC or the RIC SDK synchronizes the data stored in the SDL cache with the data stored in the SDL storage.
  • In some embodiments, the SDL storage operates on a different host computer than the host computer on which the control plane application executes, while in other embodiments at least a portion of the SDL storage operates on the same host computer on which the control plane application executes. Also, in some embodiments, the RIC or the RIC SDK forwards SDL access requests from the control plane application to the SDL storage when the RIC SDK cannot process the SDL access requests through the SDL cache. For instance, the RIC or the RIC SDK cannot process SDL access requests through the SDL cache when the SDL cache does not store data requested by the control plane application.
  • The preceding Summary is intended to serve as a brief introduction to some embodiments of the invention. It is not meant to be an introduction or overview of all inventive subject matter disclosed in this document. The Detailed Description that follows and the Drawings that are referred to in the Detailed Description will further describe the embodiments described in the Summary as well as other embodiments. Accordingly, to understand all the embodiments described by this document, a full review of the Summary, Detailed Description and the Drawings is needed. Moreover, the claimed subject matters are not to be limited by the illustrative details in the Summary, Detailed Description and the Drawings, but rather are to be defined by the appended claims, because the claimed subject matters can be embodied in other specific forms without departing from the spirit of the subject matters.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.
  • FIG. 1 illustrates an example of O-RAN architecture according to some embodiments.
  • FIG. 2 illustrates an in-depth view of the components of both a non-real-time RIC and a near real-time RIC according to some embodiments.
  • FIG. 3 illustrates a more in-depth view of a MAC control assistor of some embodiments.
  • FIG. 4 illustrates a more in-depth view of a user-level tracer of some embodiments.
  • FIG. 5 illustrates another view of the O-RAN architecture of some embodiments, with a more in-depth view of the near real-time RIC.
  • FIG. 6 illustrates deployment of RIC SDKs on machines that execute control plane applications in some embodiments.
  • FIG. 7 illustrates that some embodiments deploy several RICs to execute on several host computers to implement a distributed near RT RIC that includes the RIC components illustrated in FIGS. 5 and 6.
  • FIG. 8 illustrates a RIC that executes on one host computer along with two machines on which two control plane applications execute.
  • FIG. 9 illustrates two RICs that execute on two host computer along with two machines on which two control plane applications and two RIC SDKs execute.
  • FIG. 10 illustrates a RIC that executes on a first host computer to connect two control plane applications that execute on two machines operating on two other host computers.
  • FIG. 11 illustrates a RIC that executes on a first host computer to connect two control plane applications that execute on two machines, one of which operates on the first host computer while the other operates on another host computer.
  • FIG. 12 illustrates examples of the different standard specified APIs that the distributed near RT RIC platform of some embodiments supports.
  • FIG. 13 illustrates embodiments in which the SDL cache is part of each RIC SDK that executes on the same machine as its control plane application.
  • FIG. 14 conceptually illustrates an electronic system with which some embodiments of the invention are implemented.
  • DETAILED DESCRIPTION
  • In the following detailed description of the invention, numerous details, examples, and embodiments of the invention are set forth and described. However, it will be clear and apparent to one skilled in the art that the invention is not limited to the embodiments set forth and that the invention may be practiced without some of the specific details and examples discussed.
  • Today, there is a push to have RAN implemented as O-RAN, a standard for allowing interoperability for RAN elements and interfaces. FIG. 1 illustrates an example of O-RAN architecture 100, according to some embodiments. The O-RAN architecture 100 includes a service management and orchestration framework (SMO) 110 with a non-real-time RIC 105, a near real-time RAN intelligent controller (RIC) 115, open control plane central unit (O-CU-CP) 120, open user plane central unit (O-CU-UP) 125, open distributed unit (O-DU) 130, open radio unit (O-RU) 135, and the O-Cloud 140. The O-CU-CP 120, the O-CU-UP 125, and the O-DU 130 may be collectively referred to as the managed functions 120-130 below.
  • As defined in the standard, the SMO 110 in some embodiments includes an integration fabric that allows the SMO to connect to and manage the RIC 115, the managed functions 120-130, and the O-Cloud 140 via the open interfaces 150. Unlike these elements, the O-RU 135 is not managed by the SMO 110, and is instead managed by the O-DU 130, as indicated by the dashed line 160, in some embodiments. In some embodiments, the O-RU 135 processes and sends radio frequencies to the O-DU 130.
  • In some embodiments, the managed functions 120-130 are logical nodes that each host a set of protocols. According to the O-RAN standard, for example, the O-CU-CP 120, in some embodiments, include protocols such as radio resource control (RRC) and the control plane portion of packet data convergence protocol (PDCP), while the O-CU-UP 125 includes protocols such as service data adaptation protocol (SDAP), and the user plane portion of packet data convergence protocol (PDCP).
  • The two RICs are each adapted to specific control loop and latency requirements. The near real-time RIC 115 provides programmatic control of open centralized units (O-CUs) and open distributed units (O-DUs) on time cycles of 10 ms to 1 second. The non-real-time RIC (non-RT RIC) 105, on the other hand, provides higher layer policies that can be implemented in the RAN either via the near-RT RIC or via a direct connection to RAN nodes. The non-RT RIC is used for control loops of more than 1 second. Each RIC 105 or 115 serves as a platform on which RAN control applications execute. These applications can be developed by third-party suppliers that are different from the RIC vendors. These applications are referred to as “xApps” (for the near-RT RIC 115) and “rApps” (for the non-RT RIC).
  • The near real-time RIC 115, in some embodiments, is a logical aggregation of several functions that use data collection and communications over the interfaces 155 in order to control the managed functions 120-130. In some embodiments, the non-real-time RIC 105 uses machine learning and model training in order to manage and optimize the managed functions 120-130. The near RT RIC in some of these embodiments also uses machine learning.
  • In some embodiments, the O-Cloud 140 is responsible for creating and hosting virtual network functions (VNFs) for use by the RIC 115 and the managed functions 120-130. In some embodiments, the DU is in charge of per-slot decisions of user scheduling and includes RAN scheduler that performs MAC control assistance and user-level tracing. In order to increase computing power available in the cloud (i.e., compared to base stations that typically execute the RAN functions), the RIC is implemented in one or more public and/or private cloud datacenters and implements an improved cloudified RAN scheduler in the cloud, thereby offloading these MAC control assistance and user-level tracing functions from the DU to the RIC. The interfaces 155 in some embodiments enable the RAN to provide inputs to the functions at the RIC, and, at least in some embodiments, receive outputs that have been computed by these functions at the RIC.
  • FIG. 2 illustrates an in-depth view of the components of both a non-real-time RIC 201 and a near real-time RIC 202. Each of the RICs 201 and 202 includes a respective set of analytics functions 210 and 212, and a respective set of optimization functions 214 and 216, which are each illustrated with dashed lines to indicate they are existing components. In addition to these existing components, the near real-time optimization functions 216 includes two new components, the MAC control assistor 220 and user-level tracer 222, illustrated with solid lines to visually differentiate them from the existing components. In some embodiments, these components are part of a larger MIMO component (e.g., along with the MU-MIMO UE pairer and precoder).
  • In some embodiments, the MAC control assistor 220 can include various functions such as (1) User Equipment (UE)-specific beamforming weight calculation based on UL SRS channel signal reception, (2) UE Radio Frequency (RF) condition prediction, and (3) Multi-User, Multiple Input, Multiple Output (MU-MIMO) pairing suggestion for the MAC scheduler based on the UE-specific beams. For each of these functions, some embodiments expose a report interface (that provides input data for the function to the RIC from the DU) and a control interface (that provides output data for the function to the DU from the RIC).
  • The user-level tracer 222, in some embodiments, produces L1/L2/L3 level information related to user configuration and traffic performance. This tracing data can be used as inputs to various control algorithms, including the MAC scheduler, parameter setting, etc. The user-level tracer 222 can include tracing operations that can (i) track user behavior in a cell, (ii) track user RF condition, (iii) track user data traffic performance in different layers (MAC, Radio Link Control (RLC), Packet Data Convergence Protocol (PDCP)), and (iv) track user RF resource consumption.
  • FIG. 3 illustrates a more in-depth view of a MAC control assistor 300 of some embodiments. As illustrated, the MAC control assistor 300 includes a UE-specific beamforming weight calculator (BFWC) 310, a UE RF condition predictor 320, and a MU-MIMO pairing suggestor 330. The UE-specific BFWC 310 in some embodiments is based on UL SRS channel signal reception. In some embodiments, the MU-MIMO pairing suggestor 330 is for the MAC scheduler based on the UE-specific beams.
  • Each of the components 310-330 of the MAC control assistor 300 includes an uplink and a downlink, as shown. For the UE-specific BWC function, some embodiments expose a report interface for an uplink Sounding Reference Signal (UL SRS) channel response matrix that is an input to the weight calculation function and a control interface for a UE-specific beamforming weight matrix. For the UE RF condition predictor function, some embodiments expose a report interface for a downlink (DL) channel condition report that is an input to the RF condition prediction and a control interface for a predicted DL channel condition (e.g., including DL SINR, PMI, and rank) for the next scheduling window. For the MU-MIMO pairing suggestion function, some embodiments expose a report interface for UE-specific beamforming weight matrix that is an input to the pairing suggestion function and a control interface for UE pairing suggestion and SINR impact assessment.
  • FIG. 4 illustrates a more in-depth view of a user-level tracer 400 of some embodiments. The tracer 400 includes multiple uplinks 410 and multiple downlinks 415 for performing tracing operations, in some embodiments. These operations produce L1/L2/L3 level information related to user configuration and traffic performance. This tracing data can be used as inputs to various control algorithms, including the MAC scheduler, parameter setting, etc. These tracing operations can (1) track user behavior in a cell, (2) track user RF condition, (3) track user data traffic performance in different layers (MAC, RLC, PDCP), and (4) track user RF resource consumption.
  • For these tracing operations, some embodiments expose report interfaces for the DU and/or the CU to provide various metrics to the user level tracing operations. These metrics can include selected RRC messages, MAC/RLC/PDCP traffic volume and performance, RF condition, and RF resource consumption. In some embodiments, messages over these interfaces to the RIC are triggered based on user behavior and/or periodic reporting (e.g., for traffic performance and RF condition/resource consumption).
  • The tracing operations track the various user data indicated above, and can provide this information either back to the RAN or to other control algorithms (e.g., other algorithms operating at the RIC). For instance, these algorithms might perform analysis on the user data performance from the user level tracing operations, determine that certain performance is inadequate, and modify how the RAN is treating the user traffic. Examples of control algorithms that can benefit from user-level tracing in some embodiments include (1) traffic steering, (2) quality of service (QoS) scheduling optimization, (3) user configuration adjustment, and (4) user behavior anomaly detection.
  • For all of the operations described in FIGS. 3-4 (i.e., the MAC scheduler functions and the user-level tracing operations), the increased computing power available to the RIC in the cloud enables more complex computations without excessive latency. For instance, some or all of these operations can be performed at the RIC using machine learning (e.g., using machine-trained networks, etc.).
  • FIG. 5 illustrates another view of the O-RAN architecture of some embodiments, with a more in-depth view of the near real-time RIC. The architecture 500 includes an SMO 505 with a non-real-time RIC 510, a distributed near real-time RIC 515, and E2 nodes 520 (e.g., O-DU and/or O-CU nodes). The distributed near real-time RIC 515 includes messaging infrastructure 540, a set of services (e.g., 550, 552, 554, and 556), a shared data layer 560, a database 570, and a set of termination interfaces (e.g., 580, 582, and 584). As shown, a set of embedded apps (e.g., 530, 532, and 534) uses this distributed near RT RIC. As further described below, the distributed near RT RIC 515 is implemented by multiple RICs executing on multiple host computers in some embodiments.
  • As shown, the set of services include conflict mitigation services 550, app subscription management services 552, management services 554, and security services 556. Additionally, the set of termination interfaces include 01 termination interface 580 connecting the SMO to the near real-time RIC, Al termination interface 582 connecting the non-real-time RIC to the near real-time RIC, and E2 termination interface 584 connecting the E2 nodes to the near real-time RIC. Each of the apps, in some embodiments, is representative of the various functions of the RIC that use data sent from the E2 nodes 520. For example, app 530 may correspond to the UE-specific BFWC 310 of the MAC control assistor 300, app 532 may correspond to the UE RF condition predictor 320 of the MAC control assistor 300, etc.
  • In some embodiments, the objective of the framework 500 is to offload near real-time functions that are computation-intensive, and provide results back to the O-DU (e.g., via the E2 interface with E2 nodes 520). The results, in some embodiments, can be used to assist or enhance the real-time decision in the MAC layer. Three example use-cases for the MAC control assistance framework, each example specific to a different component of the MAC control assistor (e.g., the UE-specific BFWC, the UE RF condition predictor, and the MU-MIMO pairing suggestor), and one use-case example for the user-level tracer, will be described below.
  • The first example use-case is specific to the UE-specific beamforming weight calculation based on UL SRS signal reception component of the MAC control assistance framework (e.g., component 310 of the MAC control assistor 300). In some embodiments of this use-case, the input metrics can include multiple options based on UL SRS, such as raw SRS received data, and an SRS channel responses matrix from a channel estimate.
  • The algorithm for producing output metrics, in some embodiments, evaluates the optimal beam-forming weights to reach the user. Some embodiments use traditional signal processing algorithms that are based on channel models. Alternatively, or conjunctively, machine-learning based algorithms that utilize raw data inputs are used, which require feedback from the DU in the E2 nodes 520.
  • In some embodiments, the output metrics resulting from the algorithm include a beam-form weight (BFW) matrix for the user. In some embodiments, the BFW could also be mapped to a beam index from a pre-designed beam set. The DU in some embodiments uses the matrix to control the MIMO antenna array gain/phasing in the RU (e.g., the O-RU 135 in the architecture 100) for user data transmission and reception.
  • The second use-case example is specific to the UE RF condition predictor component of the MAC control assistance framework (e.g., component 320 of the MAC control assistor 300). For this second use-case, the input metrics include at least a channel report from the UE, such as Wideband or Subband CQI/PMERI for DL, or SRS for UL, according to some embodiments. The input metrics of some embodiments can also opt to include supportive information such as UE distance, UE positioning, etc.
  • In some embodiments, the app algorithm for this second use-case is meant to predict the UE's RF condition based on the observation. Some embodiments utilize traditional signal processing algorithms based on channel and mobility models. Alternatively, or conjunctively, some embodiments also use machine learning based algorithms using data inputs and potentially other factors, such as site layout (which requires feedback from the DU).
  • The output metrics for this use-case, in some embodiments, include the predicted channel condition of the user for the next scheduling window, as well as predicted downlink and uplink SINR, a precoding matrix (e.g., if applicable), and SU-MIMO layers. In some embodiments, these output metrics are used by the DU for the user link adaptation on PDCCH/PDSCH/PUSCH transmissions.
  • The third use-case example is specific to the MU-MIMO pairing suggestor to MAC scheduler component (e.g., component 330 of the MAC control assistor 300). The input metrics for this example use case, in some embodiments, include at least the UE-specific BFW matrix and the UE RF condition estimate. Some embodiments may also include supportive metrics such as user data demand, etc., as input metrics in addition to the UE-specific BFW matrix and the UE RF condition estimate.
  • The app algorithm for this use-case, in some embodiments, is meant to identify users that can be paired for MU-MIMO operations. For example, some embodiments of the third use-case use traditional signal processing algorithms based on information theory and cross-channel covariance evaluation. Alternatively, or conjunctively, some embodiments use machine learning based algorithms using the data inputs, which again requires feedback from the DU.
  • In some embodiments, the output metrics of this third use-case can include UE pairing suggestions and an impact assessment on SINR and SU-MIMO layers. Additionally, the DU in some embodiments uses the output metrics to select users for RF scheduling, and to determine the transmission efficiencies.
  • An example use-case for the user-level tracer can include QoS scheduling optimization with the goal of adjusting a user's scheduling priority for an RF resource to optimize the service quality. The input for some embodiments of this use-case can include a service quality target from a user subscription. In some embodiments, the user-level tracing includes (1) tracking the user RF condition, (2) tracking the user data traffic performance in different layers (e.g., MAC/RLC/PDCP), and (3) tracking the user RF resource consumption.
  • In some embodiments, the app algorithm is based on the QoS target and observed user traffic performance, and can be used to determine that a user's resource allocation is insufficient. The algorithm format, in some embodiments, can be logic-based or machine learning-based. In some embodiments, the output can include a recommendation issued to the MAC scheduler to adjust the traffic priority or link adaptation in order to improve performance.
  • On each machine (e.g., each VM or Pod) that executes a control plane application, some embodiments configure a RIC SDK (software development kit) to serve as an interface between the control plane application on the machine and a set of one or more elements of the RAN. In some embodiments, the RIC SDK provides a set of connectivity APIs (e.g., a framework) through which applications can communicate with the distributed near real-time (RT) RIC implemented by two or more near real-time RICs. Examples of such applications include xApps, and other control plane and edge applications in some embodiments. In O-RAN, xApps perform control plane, monitoring and data processing operations. The discussion below regarding FIGS. 6 and 8-20 refers to control plane applications (e.g., 615, 815, 820, 915, 920, etc.). These control plane applications are xApps in an O-RAN system in some embodiments.
  • FIG. 6 illustrates deployment of RIC SDKs 605 on machines 610 that execute control plane applications 615 in some embodiments. As shown, one or more machines 610 execute on each of several host computers 607 in one or more datacenters. In some embodiments, the RIC SDK 605 on each machine 610 includes a set of network connectivity processes that establish network connections to the set of RAN elements (e.g., E2 nodes 520, shared data layer 560, management services 554, SMO 505, etc.) for the control plane application. The RIC SDK processes allow the control plane application on their machine to forego performing network connectivity operations. In some embodiments, the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
  • The control plane application on each machine communicates with the set of RAN elements through high-level APIs 620 that the RAN SDK converts into low-level APIs 625. In some embodiments, at least a subset of the low-level API calls 625 are specified by a standard specifying body. Also, in some embodiments, the high-level APIs 620 are made in a high-level programming language (e.g., C++), while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
  • The set of RAN elements that the RIC SDK connects with the control plane application on its machine in some embodiments include RAN elements that are produced and/or developed by different RAN vendors and/or developers. These RAN elements include CUs 630 and DUs 635 of the RAN in some embodiments. Also, this SDK communicates with the CUs and DUs through the low-level, standard-specified E2 interface, while the control plane application on the machine uses high-level API calls to communicate with the CUs and DUs through the RAN SDK. In some embodiments, the high-level API calls specifying E2 interface operations at a high-level application layer that do not include low-level transport or network operations.
  • Conjunctively, or alternatively, the set of RAN elements that the RIC SDK connects with the control plane application 615 on its machine 610 include network elements of the RIC. Again, these network elements in some embodiments include RAN elements that are produced and/or developed by different RAN vendors and/or developers. These RIC elements in some embodiments include shared data layer (SDL) 560, datapath input/output (I/O) elements, and application and management services 552 and 554 in some embodiments. FIG. 7 illustrates that some embodiments deploy several near RT RICs 705 to execute on several host computers to implement a distributed near RT RIC 700 that includes the RIC components illustrated in FIGS. 5 and 6. In some embodiments, one RIC 705 executes on each host computer that also executes a control plane application 615. In other embodiments, a control plane application 615 can execute on a host computer that does not execute a RIC. For instance, in some embodiments, one or more control plane applications execute on one or more host computers that have graphics processing units (GPUs), while RICs do not execute on such host computers as they do not need the processing power of the GPUs.
  • Through the distributed near RT RIC, the RIC SDK also connects its control plane application to other control plane applications executing on other machines. In other words, the RIC SDK and the distributed near RT RIC in some embodiments serve as communication interface between the control plane applications. In some embodiments, the different control plane applications are developed by different application developers that use the common set of RIC APIs to communicate with each other through the distributed near RT RIC. In some of these embodiments, the distributed near RT RIC adds one or more parameters to the API calls as it forwards the API calls from one control application to the other control application.
  • FIGS. 8-11 illustrate several examples of RIC architectures in which the RIC SDK and the distributed near RT RIC establish the communication interface between control plane applications. These architectures are mutually exclusive in some embodiments, while in other embodiments two or more of these architectures are used conjunctively. FIG. 8 illustrates a RIC 800 that executes on one host computer 805 along with two machines 810 and 812 on which two control plane applications 815 and 820 execute. Through the RIC SDKs 802 and 804 executing on the machines 810 and 812, the RIC 800 receives API calls from the CP application 815 and forwards the API calls to the CP application 820, and passes responses to these API calls from the second CP application 820 to the first CP application 815. It also passes API calls from the second CP application 820 to the first CP application 815, and responses from the first CP application 815 to the second CP application 820.
  • FIG. 9 illustrates two RICs 900 and 901 that execute on two host computer 905 and 907 along with two machines 910 and 912 on which two control plane applications 915 and 920 and two RIC SDKs 902 and 904 execute. As shown, API calls from the first CP application 915 to the second CP application 920 are forwarded through the first RIC SDK 902, the first RIC 900, the second RIC 901 and the second RIC SDK 904. The second CP application's responses to these API calls to the first CP application 915 traverse the reverse path, from the second RIC SDK 904, the second RIC 901, the first RIC 900, and the first RIC SDK 902.
  • The API calls from second CP application 920 to the first CP application 915 are forwarded through the second RIC SDK 904, the second RIC 901, the first RIC 900, and the first RIC SDK 902, while responses to these API calls from the first CP application 915 to the second CP application 920 are forwarded through the first RIC SDK 902, the first RIC 900, the second RIC 901 and the second RIC SDK 904.
  • FIG. 10 illustrates a RIC 1000 that executes on first host computer 1005 to connect two control plane applications 1015 and 1020 that execute on two machines 1010 and 1012 operating on two other host computers 1006 and 1007. Through the RIC SDKs 1002 and 1004 executing on the machines 1010 and 1012, the RIC 1000 receives API calls from the CP application 1015 and forwards the API calls to the CP application 1020, and passes responses to these API calls from the second CP application 1020 to the first CP application 1015. It also passes API calls from the second CP application 1020 to the first CP application 1015, and responses from the first CP application 1015 to the second CP application 1020.
  • FIG. 11 illustrates a RIC 1100 that executes on first host computer 1105 to connect two control plane applications 1115 and 1120 that execute on two machines 1110 and 1112 one of which operates on host computer 1105 while the other operates on host computer 1106. Through the RIC SDKs 1102 and 1104 executing on the machines 1110 and 1112, the RIC 1100 receives API calls from the CP application 1115 and forwards the API calls to the CP application 1120, and passes responses to these API calls from the second CP application 1120 to the first CP application 1115. Through these SDKs 1102 and 1104, the RIC 1100 also passes API calls from the second CP application 1120 to the first CP application 1115, and responses from the first CP application 1115 to the second CP application 1120.
  • FIG. 12 illustrates examples of the different standard specified APIs that the distributed near RT RIC platform of some embodiments supports. As shown, the distributed near RT RIC platform 1200 in some embodiments uses the E2, O1, and A1 interfaces specified by the O-RAN standard specifying body. It uses the E2 APIs to communicate with the E2 O-RAN nodes, such as the O-CU-CPs 1202, O-CU-UPs 1204, and O-DUs 1206. It also uses the A1 APIs to communicate with the non-real-time RIC platform 1208, and uses the O1 APIs to communicate the SMO 1210.
  • For each of these E2, A1, and O1 APIs, the RIC SDKs 1215 provide high-level counterpart APIs for the control plane applications 1220 that use the RIC SDKs and the distributed near RT RIC platform to communicate with the E2 nodes 1202-1206, the non-real-time RIC platform 1208 and the SMO 1210. FIG. 12 designates these high-level counterpart APIs for the E2, O1, and A1 interfaces with a prime sign as the E2′ API calls, O1′ API calls and A1′ API calls. These high-level counterpart APIs are not specified by a standard body, but are APIs that the RIC SDK and/or distributed near RT RIC convert into standard specified API calls.
  • FIG. 12 also shows several internal-RIC APIs for allowing the control plane applications 1220 to communicate with each other through the RIC SDKs and the distributed near RT RIC, and to communicate with one or more elements of the distributed near RT RIC (e.g., shared data layer (SDL) 560, datapath input/output (I/O) elements, and application and management services 552 and 554).
  • Enablement APIs are the APIs that are used in some embodiments to allow the control plane applications 1220 to communicate with each other. As described above by reference to FIGS. 8-11, these APIs are passed through the distributed near RT RIC in some embodiments. In other embodiments, these APIs allow the RIC SDKs of the control plane applications to directly communicate with each other without traversing through any other components of the distributed near RT RIC. For this reason, FIG. 12 includes a dashed bi-directional arrow between the RIC SDKs 1215 of the two control plane applications 1220 to indicate that in some embodiments the RIC SDKs 1215 of these applications communicate directly with each other.
  • The enablement APIs in some embodiments include registration APIs, service discovery APIs as well as inter-app communication APIs. Registration APIs are used by the applications 1220 (e.g., xApps) to introduce themselves to other applications 1220 by providing their network identifiers (e.g., their network address and available L4 ports) and providing their functionality (e.g., performing channel prediction). Service discovery APIs allow control plane applications 1220 (e.g., xApps) to query the service directory (e.g., of the distributed near RT RIC) for other control plane applications (e.g., other xApps) that provide a particular service. The inter-app communication APIs allow the control plane applications to communicate with each other to pass along data and/or request certain operations.
  • Some embodiments deploy an SDL cache on the same host computer as a control plane application, and use this cache to process at least a subset of the SDL storage access requests of the control plane application. In some embodiments, the control plane application and the SDL cache operate on a machine that executes on the host computer. In other embodiments, the SDL cache operates on the same host computer but outside of the machine on which the control plane application executes. In some of these embodiments, multiple control plane applications executing on the same host computer use a common SDL cache on that host computer.
  • The SDL cache is part of a RIC that executes on the same host computer as the control plane application in some embodiments. In other embodiments, the SDL cache is part of the RIC SDK that executes on the same machine as the control plane application. In either of these embodiments, a synchronizing process of the RIC or the RIC SDK synchronizes the data stored in the SDL cache with the data stored in the SDL storage.
  • In some embodiments, the SDL storage operates on a different host computer than the host computer on which the control plane application executes, while in other embodiments at least a portion of the SDL storage operates on the same host computer on which the control plane application executes. Also, in some embodiments, the RIC or the RIC SDK forwards SDL access requests from the control plane application to the SDL storage when the RIC SDK cannot process the SDL access requests through the SDL cache. For instance, the RIC or the RIC SDK cannot process SDL access requests through the SDL cache when the SDL cache does not store data requested by the control plane application.
  • FIG. 13 illustrates embodiments in which the SDL cache 1302 is part of each RIC SDK 1300 that executes on the same machine 1305 as its control plane application 1310. As shown, the RIC SDK 1300 includes a query manager 132 that processes SDL requests from the CP application 1310 and a synchronizing service 1327 that synchronizes the data stored in the SDL cache with the data stored in an SDL storage 1350 of the SDL 1355 of the distributed near RT RIC 1330. In this example, the SDL storage 1350 operates on a different host computer than the host computer on which the control plane application 1310 executes. However, in other embodiments, at least a portion of the SDL storage 1350 operates on the same host computer on which the control plane application 1310 executes.
  • When the control plane application 1310 uses a high-level API call to read or write data to the SDL storage, the query manager 1325 of the RIC SDK 1300 first determines whether the data record being read or written is stored in the SDL cache 1302. If so, the query manager 1325 reads from or write to this record. When this operation is a write operation, the synchronizing service 1327 writes the new data in real-time or on batch basis to the SDL storage 1350. On the other hand, when query manager 1325 of the RIC SDK 1300 determines that the data record being read or written is not stored in the SDL cache 1302, it passes the API call to the SDL layer of the distributed near RT RIC to perform the requested read or write operation. When passing this API call, the RIC SDK 1300 modifies the format of this call and/or modifies the parameters supplied with this call in some embodiments.
  • FIG. 14 conceptually illustrates an electronic system 1400 with which some embodiments of the invention are implemented. The electronic system 1400 may be a computer (e.g., a desktop computer, personal computer, tablet computer, server computer, mainframe, a blade computer etc.), or any other sort of electronic device. Such an electronic system includes various types of computer readable media and interfaces for various other types of computer readable media. Electronic system 1400 includes a bus 1405, processing unit(s) 1410, a system memory 1425, a read-only memory 1430, a permanent storage device 1435, input devices 1440, and output devices 1445.
  • The bus 1405 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 1400. For instance, the bus 1405 communicatively connects the processing unit(s) 1410 with the read-only memory 1430, the system memory 1425, and the permanent storage device 1435.
  • From these various memory units, the processing unit(s) 1410 retrieve instructions to execute and data to process in order to execute the processes of the invention. The processing unit(s) may be a single processor or a multi-core processor in different embodiments.
  • The read-only-memory (ROM) 1430 stores static data and instructions that are needed by the processing unit(s) 1410 and other modules of the electronic system. The permanent storage device 1435, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 1400 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1435.
  • Other embodiments use a removable storage device (such as a floppy disk, flash drive, etc.) as the permanent storage device. Like the permanent storage device 1435, the system memory 1425 is a read-and-write memory device. However, unlike storage device 1435, the system memory is a volatile read-and-write memory, such a random-access memory. The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in the system memory 1425, the permanent storage device 1435, and/or the read-only memory 1430. From these various memory units, the processing unit(s) 1410 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
  • The bus 1405 also connects to the input and output devices 1440 and 1445. The input devices enable the user to communicate information and select commands to the electronic system. The input devices 1440 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 1445 display images generated by the electronic system. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as a touchscreen that function as both input and output devices.
  • Finally, as shown in FIG. 14, bus 1405 also couples electronic system 1400 to a network 1465 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of electronic system 1400 may be used in conjunction with the invention.
  • Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra-density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
  • While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself.
  • As used in this specification, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For the purposes of the specification, the terms display or displaying means displaying on an electronic device. As used in this specification, the terms “computer readable medium,” “computer readable media,” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.
  • While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. For instance, a number of the figures conceptually illustrate processes. The specific operations of these processes may not be performed in the exact order shown and described. The specific operations may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro process.
  • Also, several embodiments described above only show one hardware accelerator per host computer. However, one of ordinary skill will realize that the methodology and architecture of some embodiments can be used to provide direct, passthrough access to multiple hardware accelerators on one host computer. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (20)

We claim:
1. A method of performing control plane operations in a radio access network (RAN), the method comprising:
deploying a plurality of machines on a host computer;
on each machine:
deploying a control plane application to perform a control plane operation;
configuring a RAN intelligent controller (RIC) SDK to serve as an interface between the control plane application on the same machine and a set of one or more elements of the RAN.
2. The method of claim 1, wherein on each machine, the RIC SDK comprising a set of network connectivity processes that establish network connections to the set of RAN elements for the control plane application, and allowing the control plane application on that machine to forego having the set of network connectivity processes.
3. The method of claim 2, wherein the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
4. The method of claim 1, wherein the control plane application on each machine communicates with the set of RAN elements through high-level API (application program interface) calls that the RAN SDK converts into low-level API calls.
5. The method of claim 4, wherein at least a subset of the low-level API calls are specified by a standard specifying body.
6. The method of claim 4, wherein the high-level API calls are made in a high-level programming language, while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
7. The method of claim 4, wherein the set of RAN elements include CU (central units) and DU (distributed units) of the RAN.
8. The method of claim 7, wherein the RAN SDK on each machine communicates with the CUs and DUs through the low-level, standard-specified E2 interface, while the control plane application on the machine uses high-level API calls to communicates with the CUs and DUs through the RAN SDK, the high-level API calls specifying E2 interface operations at a high-level application layer that do not include low-level transport or network operations.
9. The method of claim 4, wherein the set of RAN elements include network elements of the RIC.
10. The method of claim 9, wherein the RIC elements comprise at least one shared data layer (SDL) element.
11. The method of claim 9, wherein the RIC elements comprise at least one datapath input/output (I/O) elements.
12. The method of claim 9, wherein the RIC elements comprise at least one service management element.
13. A non-transitory machine readable medium storing a program which when executed by at least one processing unit performs control plane operations in a radio access network (RAN), the program comprising sets of instructions for:
deploying a plurality of machines on a host computer;
on each machine:
deploying a control plane application to perform a control plane operation;
configuring a RAN intelligent controller (RIC) SDK to serve as an interface between the control plane application on the same machine and a set of one or more elements of the RAN.
14. The non-transitory machine readable medium of claim 13, wherein on each machine, the RIC SDK comprising a set of network connectivity processes that establish network connections to the set of RAN elements for the control plane application, and allowing the control plane application on that machine to forego having the set of network connectivity processes.
15. The non-transitory machine readable medium of claim 14, wherein the set of network connectivity processes of each RIC SDK of each machine establishes and maintains network connections between the machine and the set of RAN elements used by the control plane application of the machine, and handles data packet transport to and from the set of RAN elements for the control plane application.
16. The non-transitory machine readable medium of claim 13, wherein the control plane application on each machine communicates with the set of RAN elements through high-level API (application program interface) calls that the RAN SDK converts into low-level API calls.
17. The non-transitory machine readable medium of claim 16, wherein at least a subset of the low-level API calls are specified by a standard specifying body.
18. The non-transitory machine readable medium of claim 16, wherein the high-level API calls are made in a high-level programming language, while the low-level API calls comprise low-level calls that establish and maintain network connections and pass data packets through these connections.
19. The non-transitory machine readable medium of claim 16, wherein the set of RAN elements include CU (central units) and DU (distributed units) of the RAN.
20. The non-transitory machine readable medium of claim 19, wherein the RAN SDK on each machine communicates with the CUs and DUs through the low-level, standard-specified E2 interface, while the control plane application on the machine uses high-level API calls to communicates with the CUs and DUs through the RAN SDK, the high-level API calls specifying E2 interface operations at a high-level application layer that do not include low-level transport or network operations.
US17/376,801 2021-03-05 2021-07-15 Ric sdk Pending US20220286914A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US17/376,801 US20220286914A1 (en) 2021-03-05 2021-07-15 Ric sdk
EP22704113.4A EP4268437A1 (en) 2021-03-05 2022-01-21 Ric sdk
AU2022229086A AU2022229086A1 (en) 2021-03-05 2022-01-21 Ric sdk
CA3206693A CA3206693A1 (en) 2021-03-05 2022-01-21 Ric sdk
PCT/US2022/013427 WO2022186912A1 (en) 2021-03-05 2022-01-21 Ric sdk
JP2023540965A JP2024513628A (en) 2021-03-05 2022-01-21 RIC SDK

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163157600P 2021-03-05 2021-03-05
US202163157351P 2021-03-05 2021-03-05
US202163176859P 2021-04-19 2021-04-19
US202163180627P 2021-04-27 2021-04-27
US17/376,801 US20220286914A1 (en) 2021-03-05 2021-07-15 Ric sdk

Publications (1)

Publication Number Publication Date
US20220286914A1 true US20220286914A1 (en) 2022-09-08

Family

ID=83115748

Family Applications (15)

Application Number Title Priority Date Filing Date
US17/376,817 Pending US20220286915A1 (en) 2021-03-05 2021-07-15 Distributed ric
US17/376,801 Pending US20220286914A1 (en) 2021-03-05 2021-07-15 Ric sdk
US17/376,785 Pending US20220283841A1 (en) 2021-03-05 2021-07-15 Using hypervisor to provide virtual hardware accelerators in an o-ran system
US17/376,766 Pending US20220283840A1 (en) 2021-03-05 2021-07-15 Configuring direct access to hardware accelerator in an o-ran system
US17/376,758 Pending US20220283839A1 (en) 2021-03-05 2021-07-15 Direct access to hardware accelerator in an o-ran system
US17/384,476 Active 2041-07-27 US11805020B2 (en) 2021-03-05 2021-07-23 Cloudified MAC scheduler
US17/384,475 Active US11743131B2 (en) 2021-03-05 2021-07-23 Cloudified user-level tracing
US17/384,777 Active US11831517B2 (en) 2021-03-05 2021-07-25 Data IO and service on different pods of a RIC
US17/384,782 Active 2041-10-03 US11704148B2 (en) 2021-03-05 2021-07-25 Datapath load distribution for a RIC
US17/384,778 Pending US20220283832A1 (en) 2021-03-05 2021-07-25 Data io and service on different pods of a ric
US17/384,784 Active 2041-12-13 US11750466B2 (en) 2021-03-05 2021-07-25 RIC and RIC framework communication
US17/384,779 Pending US20220283842A1 (en) 2021-03-05 2021-07-25 Running services in sdl of a ric
US17/384,781 Pending US20220283843A1 (en) 2021-03-05 2021-07-25 Ric with a dedicated io thread and multiple data processing threads
US17/384,780 Active US11540287B2 (en) 2021-03-05 2021-07-25 Separate IO and control threads on one datapath Pod of a RIC
US18/244,239 Pending US20230421455A1 (en) 2021-03-05 2023-09-09 Cloudified mac scheduler

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US17/376,817 Pending US20220286915A1 (en) 2021-03-05 2021-07-15 Distributed ric

Family Applications After (13)

Application Number Title Priority Date Filing Date
US17/376,785 Pending US20220283841A1 (en) 2021-03-05 2021-07-15 Using hypervisor to provide virtual hardware accelerators in an o-ran system
US17/376,766 Pending US20220283840A1 (en) 2021-03-05 2021-07-15 Configuring direct access to hardware accelerator in an o-ran system
US17/376,758 Pending US20220283839A1 (en) 2021-03-05 2021-07-15 Direct access to hardware accelerator in an o-ran system
US17/384,476 Active 2041-07-27 US11805020B2 (en) 2021-03-05 2021-07-23 Cloudified MAC scheduler
US17/384,475 Active US11743131B2 (en) 2021-03-05 2021-07-23 Cloudified user-level tracing
US17/384,777 Active US11831517B2 (en) 2021-03-05 2021-07-25 Data IO and service on different pods of a RIC
US17/384,782 Active 2041-10-03 US11704148B2 (en) 2021-03-05 2021-07-25 Datapath load distribution for a RIC
US17/384,778 Pending US20220283832A1 (en) 2021-03-05 2021-07-25 Data io and service on different pods of a ric
US17/384,784 Active 2041-12-13 US11750466B2 (en) 2021-03-05 2021-07-25 RIC and RIC framework communication
US17/384,779 Pending US20220283842A1 (en) 2021-03-05 2021-07-25 Running services in sdl of a ric
US17/384,781 Pending US20220283843A1 (en) 2021-03-05 2021-07-25 Ric with a dedicated io thread and multiple data processing threads
US17/384,780 Active US11540287B2 (en) 2021-03-05 2021-07-25 Separate IO and control threads on one datapath Pod of a RIC
US18/244,239 Pending US20230421455A1 (en) 2021-03-05 2023-09-09 Cloudified mac scheduler

Country Status (4)

Country Link
US (15) US20220286915A1 (en)
EP (1) EP4268527A1 (en)
CN (1) CN116998203A (en)
WO (1) WO2022186883A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704148B2 (en) 2021-03-05 2023-07-18 Vmware, Inc. Datapath load distribution for a RIC
US11836551B2 (en) 2021-03-05 2023-12-05 Vmware, Inc. Active and standby RICs
US11838176B1 (en) * 2022-12-19 2023-12-05 Vmware, Inc. Provisioning and deploying RAN applications in a RAN system
US11973655B2 (en) 2021-07-15 2024-04-30 VMware LLC SDL cache for O-RAN

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3823357B1 (en) * 2018-07-20 2022-08-31 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Session management method, terminal device and network device
US11968250B2 (en) * 2022-01-18 2024-04-23 Dish Wireless L.L.C. Systems and methods for a distributed data platform
EP4271028A1 (en) * 2022-04-29 2023-11-01 Nokia Solutions and Networks Oy Method for transferring an access node by a near-real-time radio access network intelligent controller
US11838169B1 (en) * 2022-09-30 2023-12-05 Dell Products L.P. Remote logging management in multi-vendor O-RAN networks

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504818B1 (en) 1998-12-03 2003-01-07 At&T Corp. Fair share egress queuing scheme for data networks
US7227841B2 (en) 2001-07-31 2007-06-05 Nishan Systems, Inc. Packet input thresholding for resource distribution in a network switch
US7146484B2 (en) 2004-06-15 2006-12-05 Hitachi, Ltd. Method and apparatus for caching storage system
US7664037B2 (en) 2005-01-04 2010-02-16 Intel Corporation Multichannel mesh network, multichannel mesh router and methods for routing using bottleneck channel identifiers
US7417947B1 (en) 2005-01-05 2008-08-26 Juniper Networks, Inc. Routing protocol failover between control units within a network router
US20070100981A1 (en) * 2005-04-08 2007-05-03 Maria Adamczyk Application services infrastructure for next generation networks including one or more IP multimedia subsystem elements and methods of providing the same
US9288276B2 (en) * 2006-11-03 2016-03-15 At&T Intellectual Property I, L.P. Application services infrastructure for next generation networks including a notification capability and related methods and computer program products
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
WO2011100518A2 (en) 2010-02-12 2011-08-18 Movik Networks, Inc. Charging-invariant and origin-server-friendly transit caching in mobile networks
US10824438B2 (en) 2010-03-30 2020-11-03 Cloud Network Technology Singapore Pte. Ltd. Radio node device and backhaul connection method thereof
US9124538B2 (en) 2011-08-17 2015-09-01 Nicira, Inc. Dynamic generation of flow entries for last-hop processing
WO2013074827A1 (en) 2011-11-15 2013-05-23 Nicira, Inc. Architecture of networks with middleboxes
US8804723B2 (en) 2012-04-23 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Efficient control packet replication in data plane
US8892779B2 (en) * 2012-05-10 2014-11-18 International Business Machines Corporation Virtual machine allocation at physical resources
US9413667B2 (en) 2013-02-15 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for traffic steering based on per-flow policies
CN104186014B (en) 2013-02-18 2018-08-21 华为技术有限公司 A kind of method and device that net cast synchronizes
US9830191B2 (en) * 2013-04-15 2017-11-28 Seven Networks, Llc Temporary or partial offloading of mobile application functions to a cloud-based environment
US9432440B2 (en) 2013-05-16 2016-08-30 Huawei Technologies Co., Ltd. Method of content delivery in LTE RAN, an eNB and communication system
US9753942B2 (en) 2013-09-10 2017-09-05 Robin Systems, Inc. Traffic statistic generation for datacenters
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9639412B1 (en) * 2014-03-11 2017-05-02 Apteligent, Inc. Application performance management tools with a service monitor for collecting network breadcrumb data
JP2017516424A (en) 2014-03-27 2017-06-15 ノキア ソリューションズ アンド ネットワークス オサケユキチュア On-demand network service in 5th generation mobile networks
US9553803B2 (en) 2014-06-30 2017-01-24 Nicira, Inc. Periodical generation of network measurement data
US9634936B2 (en) 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
JPWO2016159192A1 (en) 2015-03-31 2018-01-25 日本電気株式会社 Control device, control method and program
US9558029B2 (en) 2015-05-17 2017-01-31 Nicira, Inc. Logical processing for containers
US9762402B2 (en) 2015-05-20 2017-09-12 Cisco Technology, Inc. System and method to facilitate the assignment of service functions for service chains in a network environment
US20160353367A1 (en) 2015-06-01 2016-12-01 Huawei Technologies Co., Ltd. System and Method for Virtualized Functions in Control and Data Planes
US10212589B2 (en) 2015-06-02 2019-02-19 Huawei Technologies Co., Ltd. Method and apparatus to use infra-structure or network connectivity services provided by 3rd parties
US10530691B2 (en) 2015-06-25 2020-01-07 Nec Corporation Method and system for managing data traffic in a computing network
US10644955B2 (en) 2015-08-21 2020-05-05 Huawei Technologies Co., Ltd. Method and apparatus for network slicing
DE102015115686B4 (en) 2015-09-17 2022-11-17 Bourns, Inc. Steering angle sensor with functional safety
US10021172B2 (en) 2015-09-23 2018-07-10 Nec Corporation Software driven long-term-evolution core network for mobile access
US9998550B2 (en) 2015-09-24 2018-06-12 International Business Machines Corporation Network based service composition with variable conditions
US10191864B1 (en) * 2015-11-12 2019-01-29 Amazon Technologies, Inc. Standardized interface for storage using an input/output (I/O) adapter device
US10129108B2 (en) 2015-11-13 2018-11-13 Huawei Technologies Co., Ltd. System and methods for network management and orchestration for network slicing
JP6571161B2 (en) * 2015-12-21 2019-09-04 華為技術有限公司Huawei Technologies Co.,Ltd. Method, apparatus, and system for exploring application topology relationships
US11304129B2 (en) 2016-01-15 2022-04-12 Apple Inc. Network slice selection in network systems
US9985883B2 (en) 2016-02-26 2018-05-29 128 Technology, Inc. Name-based routing system and method
US10341218B2 (en) 2016-02-29 2019-07-02 Arista Networks, Inc. Forwarding information base entry priority
EP3425855B1 (en) 2016-03-02 2020-04-22 Nec Corporation Network system, control device, method and program for building virtual network function
US10241820B2 (en) 2016-03-14 2019-03-26 Nicira, Inc. Determining the realization status of logical entities in logical networks
US10516626B1 (en) * 2016-03-16 2019-12-24 Barefoot Networks, Inc. Generating configuration data and API for programming a forwarding element
US20170289791A1 (en) 2016-04-05 2017-10-05 Electronics And Telecommunications Research Institute Communication method and apparatus using network slice
WO2017175715A1 (en) 2016-04-05 2017-10-12 シャープ株式会社 Terminal device, base station device, mme (mobile management entity) and communication control method
US20170330245A1 (en) 2016-05-10 2017-11-16 Purch Group, Inc. Systems and methods for achieving reduced latency
KR102504850B1 (en) 2016-05-12 2023-03-02 인터디지탈 패튼 홀딩스, 인크 Connecting to virtualized mobile core networks
US11026060B2 (en) 2016-05-13 2021-06-01 Huawei Technologies Co., Ltd. Systems and methods for network slice attachment and configuration
US10447597B1 (en) 2016-05-23 2019-10-15 Barefoot Networks, Inc. Path and latency tracking
CN107515775B (en) * 2016-06-15 2021-11-19 华为技术有限公司 Data transmission method and device
CN112165725B (en) 2016-06-15 2024-03-19 华为技术有限公司 Message processing method and device
WO2017214932A1 (en) 2016-06-16 2017-12-21 华为技术有限公司 Network-slice resource management method and apparatus
KR102633995B1 (en) 2016-08-22 2024-02-06 삼성전자 주식회사 Method and apparatus for requesting authorization between terminal and third party in wireless communication system
JP6727087B2 (en) 2016-09-28 2020-07-22 Kddi株式会社 Communication system, communication device, and program
WO2018069852A1 (en) 2016-10-11 2018-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Network slicing-aware access network
JP6699800B2 (en) 2016-10-11 2020-05-27 日本電気株式会社 Method, session management function node, user plane function node, user equipment for session management parameter maintenance, and computer-readable recording medium thereof
WO2018093875A1 (en) 2016-11-15 2018-05-24 Nokia Technologies Oy Hybrid release for processing user equipment transaction
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US10735331B1 (en) 2016-12-09 2020-08-04 Barefoot Networks, Inc. Buffer space availability for different packet classes
US10708189B1 (en) 2016-12-09 2020-07-07 Barefoot Networks, Inc. Priority-based flow control
US20190287146A1 (en) 2016-12-14 2019-09-19 Amdocs Development Limited System, method, and computer program for implementing a license ledger in a network function virtualization (nfv) based communication network
US10581960B2 (en) 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US20190373520A1 (en) 2017-01-23 2019-12-05 Nokia Technologies Oy Method and apparatus for complementary and equivalent network slice deployment in a network environment
US10321285B2 (en) 2017-01-27 2019-06-11 Huawei Technologies Co., Ltd. Method and apparatus for charging operations in a communication network supporting virtual network customers
US10271186B2 (en) 2017-01-27 2019-04-23 Huawei Technologies Co., Ltd. Method and apparatus for charging operations in a communication network supporting service sessions for direct end users
US10243835B2 (en) 2017-02-02 2019-03-26 Fujitsu Limited Seamless service function chaining across domains
US10831469B2 (en) 2017-02-28 2020-11-10 Arista Networks, Inc. Dynamically installing a device driver by a network element
CN110214459B (en) 2017-03-01 2021-02-12 华为技术有限公司 Service processing method and device
US20180270743A1 (en) 2017-03-16 2018-09-20 Huawei Technologies Co., Ltd. Systems and methods for indication of slice to the transport network layer (tnl) for inter radio access network (ran) communication
US10849022B2 (en) 2017-03-17 2020-11-24 Ofinno, Llc Cell selection of inactive state wireless device
US10698714B2 (en) 2017-04-07 2020-06-30 Nicira, Inc. Application/context-based management of virtual networks using customizable workflows
US10257668B2 (en) 2017-05-09 2019-04-09 At&T Intellectual Property I, L.P. Dynamic network slice-switching and handover system and method
US10382903B2 (en) 2017-05-09 2019-08-13 At&T Intellectual Property I, L.P. Multi-slicing orchestration system and method for service and/or content delivery
US10764789B2 (en) 2017-08-11 2020-09-01 Comcast Cable Communications, Llc Application-initiated network slices in a wireless network
US11533296B2 (en) 2017-09-01 2022-12-20 Kyndryl, Inc. Testing and remediating compliance controls
US10404335B2 (en) 2017-10-20 2019-09-03 Intel IP Corporation Filter coefficient configuration in new radio systems
EP4181421A1 (en) 2017-11-16 2023-05-17 Juniper Networks, Inc. Establishment of parallel communication links to a satellite and terrestrial network with different application instances
US10708143B2 (en) 2017-11-17 2020-07-07 Huawei Technologies Co., Ltd. Method and apparatus for the specification of a network slice instance and underlying information model
WO2019129374A1 (en) 2017-12-29 2019-07-04 Atos Uk International It Services Limited Network architecture and associated service providing method
US10932322B2 (en) 2018-02-23 2021-02-23 Cisco Technology, Inc. Policy mapping methods and apparatus for use in interconnecting software-defined wide area network (SD-WAN) fabrics with mobile networks for communications with UEs
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US10778583B2 (en) 2018-03-06 2020-09-15 Barefoot Networks, Inc. Chained longest prefix matching in programmable switch
US11405797B2 (en) 2018-03-19 2022-08-02 Charter Communications Operating, Llc Apparatus and methods for cell activation in wireless networks
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
WO2019229492A1 (en) 2018-05-26 2019-12-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for ue to request appropriate nssai in 5g
US11403319B2 (en) 2018-06-01 2022-08-02 Hewlett Packard Enterprise Development Lp High-availability network device database synchronization
WO2019236083A1 (en) * 2018-06-07 2019-12-12 Nokia Technologies Oy Mobile edge computing applications management for wireless networks
US20200007445A1 (en) 2018-06-29 2020-01-02 At&T Intellectual Property I, L.P. Enhanced service function chain
CN112753204B (en) 2018-07-24 2023-07-25 上海诺基亚贝尔股份有限公司 Method, apparatus and computer readable medium for delivering data plane packets
US11044597B2 (en) 2018-08-07 2021-06-22 Charter Communications Operating, Llc Apparatus and methods for registration and operation in wireless networks
US11115327B2 (en) 2018-08-24 2021-09-07 Oracle International Corporation Methods, systems, and computer readable media for providing mobile device connectivity
US10673546B2 (en) 2018-09-27 2020-06-02 Nokia Solutions And Networks Oy Scell selection and optimization for telecommunication systems
US10966135B2 (en) 2018-09-28 2021-03-30 Intel Corporation Software-defined networking data re-direction
US10863556B2 (en) 2018-10-11 2020-12-08 Verizon Patent And Licensing Inc. Method and system for network slice identification and selection
EP3864917A4 (en) 2018-10-12 2022-07-06 Charter Communications Operating, LLC Apparatus and methods for cell identification in wireless networks
US11232446B2 (en) 2018-10-26 2022-01-25 Hewlett Packard Enterprise Development Lp Carrier grade telecom blockchain
US11019528B2 (en) 2018-10-29 2021-05-25 Verizon Patent And Licensing Inc. Method and system for admission control with network slice capability
US10824483B2 (en) * 2018-11-20 2020-11-03 R Software Inc. Application programming interface scoring, ranking and selection
US11394711B2 (en) * 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services
US11082451B2 (en) 2018-12-31 2021-08-03 Citrix Systems, Inc. Maintaining continuous network service
US11012299B2 (en) 2019-01-18 2021-05-18 Cisco Technology, Inc. Seamless multi-cloud routing and policy interconnectivity
US11075884B2 (en) * 2019-02-01 2021-07-27 NeuVector, Inc. Network context monitoring within service mesh containerization environment
CA3129409C (en) 2019-02-22 2024-02-13 Vmware, Inc. Virtual service networks
US11483762B2 (en) 2019-02-22 2022-10-25 Vmware, Inc. Virtual service networks
US11024144B2 (en) 2019-02-22 2021-06-01 Vmware, Inc. Redirecting traffic from mobile device to initial slice selector for connection
US11246087B2 (en) 2019-02-22 2022-02-08 Vmware, Inc. Stateful network slice selection using slice selector as connection termination proxy
US10939369B2 (en) 2019-02-22 2021-03-02 Vmware, Inc. Retrieval of slice selection state for mobile device connection
US11146964B2 (en) 2019-02-22 2021-10-12 Vmware, Inc. Hierarchical network slice selection
US10834669B2 (en) 2019-02-22 2020-11-10 Vmware, Inc. Stateful network slice selection using replay of connection handshake
EP3702857A1 (en) 2019-03-01 2020-09-02 ABB Schweiz AG Redundancy in a network centric process control system
US10609530B1 (en) 2019-03-27 2020-03-31 Verizon Patent And Licensing Inc. Rolling out updated network functions and services to a subset of network users
US11064337B2 (en) * 2019-03-28 2021-07-13 At&T Intellectual Property I, L.P. Beam as a service for 5G or other next generation network
US11283732B2 (en) 2019-03-29 2022-03-22 Juniper Networks, Inc. Network functions virtualization (NFV) backplane on forwarding microchip
US10461421B1 (en) 2019-05-07 2019-10-29 Bao Tran Cellular system
US11012288B2 (en) 2019-05-14 2021-05-18 Vmware, Inc. Congestion avoidance in a slice-based network
US20220159525A1 (en) 2019-05-24 2022-05-19 Apple Inc. 5g new radio load balancing and mobility robustness
US10856217B1 (en) 2019-05-28 2020-12-01 Verizon Patent And Licensing Inc. Methods and systems for intelligent AMF assignment to minimize re-direction
EP3984261A4 (en) * 2019-07-12 2023-10-18 Samsung Electronics Co., Ltd. Method and apparatus for identifying user in ran communication system
US11122461B2 (en) * 2019-07-22 2021-09-14 At&T Intellectual Property I, L.P. Flexible buffer management for optimizing congestion control using radio access network intelligent controller for 5G or other next generation wireless network
US11026095B2 (en) * 2019-07-31 2021-06-01 At&T Intellectual Property I, L.P. Real-time network provisioning for distributed virtual zones of collaborative mobile devices for 5G or other next generation network
US11388615B2 (en) * 2019-08-14 2022-07-12 Cisco Technology, Inc. Interaction between radio controller platform and third party applications
US11108643B2 (en) 2019-08-26 2021-08-31 Vmware, Inc. Performing ingress side control through egress side limits on forwarding elements
US11057471B2 (en) * 2019-09-24 2021-07-06 Xiamen Wangsu Co., Ltd. Edge application management method and system
JP2022550865A (en) 2019-10-01 2022-12-05 サムスン エレクトロニクス カンパニー リミテッド Apparatus and method for service subscription via E2 interface in radio access network communication system
WO2021118281A1 (en) 2019-12-10 2021-06-17 삼성전자 주식회사 Apparatus and method for e2 interface configuration including cell information in wireless access network
US11221896B2 (en) 2020-01-22 2022-01-11 Idera, Inc. Systems and methods for API request conversion
US20210234803A1 (en) 2020-01-27 2021-07-29 Sterlite Technologies Limited Method and apparatus for transmitting packet messages based on priority in a wireless communication system
US11902104B2 (en) * 2020-03-04 2024-02-13 Intel Corporation Data-centric service-based network architecture
US11838787B2 (en) * 2020-04-22 2023-12-05 Samsung Electronics Co., Ltd. Functional architecture and interface for non-real-time ran intelligent controller
US11265135B2 (en) * 2020-06-03 2022-03-01 Dish Wireless Llc Method and system for slicing assigning for load shedding to minimize power consumption where gNB is controlled for slice assignments for enterprise users
US11202234B1 (en) * 2020-06-03 2021-12-14 Dish Wireless L.L.C. Method and system for smart operating bandwidth adaptation during power outages
US20210390004A1 (en) * 2020-06-16 2021-12-16 Nvidia Corporation Accelerated fifth generation (5g) new radio operations
US20210399954A1 (en) * 2020-06-18 2021-12-23 F5 Networks, Inc. Orchestrating configuration of a programmable accelerator
CN111565418B (en) 2020-07-13 2020-12-11 网络通信与安全紫金山实验室 O-RAN and MEC communication method and system
US11405941B2 (en) * 2020-07-31 2022-08-02 DISH Wireless L.L.C Method and system for traffic shaping at the DU/CU to artificially reduce the total traffic load on the radio receiver so that not all the TTLs are carrying data
US11882482B2 (en) * 2020-08-31 2024-01-23 Mavenir Networks, Inc. Method and apparatus for balancing server load in cloud RAN systems
CN114449459B (en) 2020-10-30 2023-09-19 ***通信有限公司研究院 Message transmission method and platform function application function
US20220038902A1 (en) * 2020-11-13 2022-02-03 Markus Dominik Mueck Technologies for radio equipment cybersecurity and multiradio interface testing
US11510111B2 (en) 2020-11-17 2022-11-22 At&T Intellectual Property I, L.P. Facilitation of voice over new radio for 5G or other next generation network
US11412444B2 (en) 2020-11-24 2022-08-09 At&T Intellectual Property I, L.P. Facilitation of radio access neighbor relationships for 5G or other next generation network
US20220167236A1 (en) 2020-11-25 2022-05-26 Northeastern University Intelligence and Learning in O-RAN for 5G and 6G Cellular Networks
US11496933B2 (en) 2020-12-31 2022-11-08 Sterlite Technologies Limited Method and apparatus for updating handover parameters in open-radio access network (O-RAN) environment
US20220210706A1 (en) 2020-12-31 2022-06-30 Sterlite Technologies Limited Method and apparatus for identifying target neighbor cell for handover of user equipment (ue)
JP2022106272A (en) 2021-01-06 2022-07-19 スターライト テクノロジーズ リミテッド Method and apparatus for remote sensing of antenna configuration parameters
EP4281867A1 (en) 2021-01-20 2023-11-29 Lenovo (Singapore) Pte. Ltd. Application programming interface translation
US20220237049A1 (en) 2021-01-26 2022-07-28 Vmware, Inc. Affinity and anti-affinity with constraints for sets of resources and sets of domains in a virtualized and clustered computer system
EP4040895A1 (en) 2021-02-08 2022-08-10 Nokia Technologies Oy Radio access network application deployment
KR20220117763A (en) 2021-02-17 2022-08-24 삼성전자주식회사 Apparatus and method for e2 interface set up with cell information in radio access network
US20220279535A1 (en) 2021-03-01 2022-09-01 At&T Intellectual Property I, L.P. Method and system for user equipment (ue) management based on user separability
US11836551B2 (en) 2021-03-05 2023-12-05 Vmware, Inc. Active and standby RICs
US20220286915A1 (en) 2021-03-05 2022-09-08 Vmware, Inc. Distributed ric
WO2022186912A1 (en) 2021-03-05 2022-09-09 Vmware, Inc. Ric sdk
AU2021434516A1 (en) 2021-03-16 2023-09-28 Lenovo (Singapore) Pte. Ltd. Platform independent application programming interface configuration
US20220014963A1 (en) 2021-03-22 2022-01-13 Shu-Ping Yeh Reinforcement learning for multi-access traffic management
US11784883B2 (en) 2021-03-30 2023-10-10 At&T Intellectual Property I, L.P. Automation agent for network equipment configuration
GB2608268A (en) 2021-06-10 2022-12-28 Samsung Electronics Co Ltd Improvements in and relating to cell configuration in a telecommunication system
EP4362544A1 (en) 2021-08-19 2024-05-01 Samsung Electronics Co., Ltd. Electronic device for controlling e2 termination on basis of traffic information of e2 termination, and method for operating electronic device
US20230069604A1 (en) 2021-08-24 2023-03-02 Vmware, Inc. Use of crds as descriptors for applications, application components, deployments, clouds, ai/ml models, and rte in an o-ran system
US20220012645A1 (en) 2021-09-23 2022-01-13 Dawei Ying Federated learning in o-ran
US20230100276A1 (en) 2021-09-27 2023-03-30 Vmware, Inc. Runtime customization for network function deployment
US20230123775A1 (en) 2021-10-04 2023-04-20 Juniper Networks, Inc. Cloud native software-defined network architecture
US20230112127A1 (en) 2021-10-08 2023-04-13 Samsung Electronics Co., Ltd. Electronic device for deploying application and operation method thereof
US20230112534A1 (en) 2021-10-13 2023-04-13 Wistron Corporation Artificial intelligence planning method and real-time radio access network intelligence controller
US20230189317A1 (en) 2021-12-15 2023-06-15 Intel Corporation User scheduling using a graph neural network
US20220232423A1 (en) 2022-03-25 2022-07-21 Intel Corporation Edge computing over disaggregated radio access network functions
US11838169B1 (en) * 2022-09-30 2023-12-05 Dell Products L.P. Remote logging management in multi-vendor O-RAN networks
US11838176B1 (en) * 2022-12-19 2023-12-05 Vmware, Inc. Provisioning and deploying RAN applications in a RAN system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BONATI, LEONARDO, et al., "Open, Programmable, and Virtualized 5G Networks: State-of-the-Art and the Road Ahead," August 25, 2020, 32 pages, retrieved from https://arxiv.org/abs/2005.10027v3. (Year: 2020) *
CZICHY, THORALF, "5G RAN Optimization Using the O-RAN Software Community's RIC (RAN Intelligent Controller), Open Networking Summit Europe, September 23, 2019, 23 pages, The Linux Foundation, Antwerp, Belgium. (Year: 2019) *
SCHMIDT, ROBERT, "RAN Engine: Service-Oriented RAN Through Containerized Micro-Services," IEEE Transactions on Network and Service Management, March 2021, 14 pages, Vol. 18, No. 1, IEEE (Year: 2021) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704148B2 (en) 2021-03-05 2023-07-18 Vmware, Inc. Datapath load distribution for a RIC
US11743131B2 (en) 2021-03-05 2023-08-29 Vmware, Inc. Cloudified user-level tracing
US11750466B2 (en) 2021-03-05 2023-09-05 Vmware, Inc. RIC and RIC framework communication
US11805020B2 (en) 2021-03-05 2023-10-31 Vmware, Inc. Cloudified MAC scheduler
US11831517B2 (en) 2021-03-05 2023-11-28 Vmware, Inc. Data IO and service on different pods of a RIC
US11836551B2 (en) 2021-03-05 2023-12-05 Vmware, Inc. Active and standby RICs
US11973655B2 (en) 2021-07-15 2024-04-30 VMware LLC SDL cache for O-RAN
US11838176B1 (en) * 2022-12-19 2023-12-05 Vmware, Inc. Provisioning and deploying RAN applications in a RAN system

Also Published As

Publication number Publication date
US11743131B2 (en) 2023-08-29
US11540287B2 (en) 2022-12-27
US20220286915A1 (en) 2022-09-08
US20220283839A1 (en) 2022-09-08
US20230421455A1 (en) 2023-12-28
WO2022186883A1 (en) 2022-09-09
US20220283832A1 (en) 2022-09-08
US11831517B2 (en) 2023-11-28
US20220283842A1 (en) 2022-09-08
US20220286840A1 (en) 2022-09-08
US20220287038A1 (en) 2022-09-08
US20220283840A1 (en) 2022-09-08
CN116998203A (en) 2023-11-03
US20220286939A1 (en) 2022-09-08
EP4268527A1 (en) 2023-11-01
US20220286916A1 (en) 2022-09-08
US11750466B2 (en) 2023-09-05
US20220283841A1 (en) 2022-09-08
US20220283843A1 (en) 2022-09-08
US11805020B2 (en) 2023-10-31
US20220286536A1 (en) 2022-09-08
US20220286837A1 (en) 2022-09-08
US20220283882A1 (en) 2022-09-08
US11704148B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
US20220286914A1 (en) Ric sdk
US20220014963A1 (en) Reinforcement learning for multi-access traffic management
US11026103B2 (en) Machine learning deployment in radio access networks
US11751067B2 (en) Performance assurance and optimization for GAA and PAL devices in a CBRS network for private enterprise environment
US11836551B2 (en) Active and standby RICs
US20230069604A1 (en) Use of crds as descriptors for applications, application components, deployments, clouds, ai/ml models, and rte in an o-ran system
US11864002B2 (en) Method and system for polymorphic algorithms interworking with a network
WO2022186912A1 (en) Ric sdk
US11973655B2 (en) SDL cache for O-RAN
WO2024032695A1 (en) Csi prediction processing method and apparatus, communication device, and readable storage medium
WO2023183446A1 (en) Dynamic beamforming in a cellular network
CN117280673A (en) Wireless access network intelligent controller (RIC) Software Development Kit (SDK)

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

AS Assignment

Owner name: VMWARE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GUDIPATI, ADITYA;SINGH, AMIT;MISRA, RAKESH;AND OTHERS;SIGNING DATES FROM 20210825 TO 20210830;REEL/FRAME:058209/0439

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

AS Assignment

Owner name: VMWARE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:VMWARE, INC.;REEL/FRAME:066692/0103

Effective date: 20231121

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION