DISTRIBUTED RIC
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.
1 . A method of control plane applications to communicate in a radio access network (RAN), the method comprising:
deploying a plurality of control plane applications to execute on a plurality of host computers;
deploying a plurality of RAN intelligent controllers (RICs) to execute on the plurality of host computers to implement a distributed RIC that serves as communication interface between the control plane applications.
2 . The method of claim 1 further comprising configuring a first RIC to receive application programming interface (API) calls from at least a first control plane application and to forward the API calls to at least a second control plane application.
3 . The method of claim 2 , wherein the first and second control plane applications execute on the same host computer.
4 . The method of claim 2 , wherein 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, and configuring the first RIC comprises configuring 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.
5 . The method of claim 2 , wherein 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.
6 . The method of claim 2 , wherein configuring the first RIC comprises configuring the first RIC to add one or more parameters to the API calls as the first RIC forwards the API calls from the first control application to the second control application.
7 . The method of claim 2 , wherein the first and second control plane applications execute on first and second machines execute of which executes on one host computer, the method further comprising configuring a MC SDK on each machine to receive and forward API calls between the distributed MC and the first and second control plane applications.
8 . The method of claim 7 , 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.
9 . The method of claim 8 , 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.
10 . The method of claim 7 , 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, wherein at least a subset of the low-level API calls are specified by a standard specifying body.
11 . The method of claim 7 , 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, 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.
12 . A non-transitory machine readable medium storing a program which when executed by at least one processing unit of control plane applications to communicate in a radio access network (RAN), the program comprising sets of instructions for:
deploying a plurality of control plane applications to execute on a plurality of host computers;
deploying a plurality of RAN intelligent controllers (RICs) to execute on the plurality of host computers to implement a distributed RIC that serves as communication interface between the control plane applications.
13 . The non-transitory machine readable medium of claim 12 , wherein the program further comprises a set of instructions for configuring a first RIC to receive application programming interface (API) calls from at least a first control plane application and to forward the API calls to at least a second control plane application.
14 . The non-transitory machine readable medium of claim 13 , wherein the first and second control plane applications execute on the same host computer.
15 . The non-transitory machine readable medium of claim 13 , wherein 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, and the set of instructions for configuring the first RIC comprises a set of instructions for configuring 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.
16 . The non-transitory machine readable medium of claim 13 , wherein 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.
17 . The non-transitory machine readable medium of claim 13 , wherein the set of instructions for configuring the first RIC comprises a set of instructions for configuring the first RIC to add one or more parameters to the API calls as the first RIC forwards the API calls from the first control application to the second control application.
18 . The non-transitory machine readable medium of claim 13 , wherein the first and second control plane applications execute on first and second machines execute of which executes on one host computer, the program further comprises a set of instructions for configuring a RIC SDK on each machine to receive and forward API calls between the distributed RIC and the first and second control plane applications.
19 . The non-transitory machine readable medium of claim 18 , 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.
20 . The non-transitory machine readable medium of claim 19 , wherein the set of network connectivity processes of each MC 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.