Searching for configuration schema APIs for operational and maintenance functions
The method enables efficient retrieval of RAN OAM configuration schemas by validating HTTP GET requests with scope and filter parameters, addressing the lack of schema retrieval procedures in existing technologies and ensuring error-free schema delivery.
Patent Information
- Application Number
- JP2025538383
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-20
- Filing Date
- 2024-01-11
- Publication Date
- 2026-01-16
AI Technical Summary
Existing technologies lack procedures for an API consumer to obtain configuration schema definitions from an API producer in Radio Access Network (RAN) Operation And Maintenance (OAM) functions, necessitating a method to search for these schemas efficiently.
A system and method for retrieving configuration schema APIs in RAN OAM functions, involving an API producer receiving an HTTP GET request with resource URI and query criteria, validating the request, and sending a response with the schema if valid, using scope and filter parameters to refine the search.
This approach optimizes the retrieval of configuration schema APIs while avoiding data validation errors, ensuring accurate and efficient schema retrieval.
Smart Images

Figure 2026501582000001_ABST
Abstract
Description
[Technical Field]
[0001] Systems and methods consistent with example embodiments of the present disclosure relate to providing a method for retrieving configuration schema APIs for Radio Access Network (RAN) Operation And Maintenance (OAM) functions. [Background technology]
[0002] The Radio Access Network (RAN) is a key component in telecommunications systems because it connects end-user devices (or User Equipment (UE)) to the rest of the network. The RAN includes a combination of various Network Elements (NEs) that connect end-user devices to the core network. Traditionally, the hardware and / or software of a particular RAN is vendor-specific.
[0003] In recent years, advances in telecommunication technology have made it possible to virtually realize many telecommunication services in the form of software. For example, an Open RAN (O-RAN) architecture disaggregates a network component into multiple functional elements. For example, a baseband unit (BBU) or a base station (e.g., eNB or gNB) is disaggregated into several functional elements, including a distributed unit (DU) and a centralized unit (CU), and the CU can be further disaggregated into a centralized unit-control plane (CU-CP) and a centralized unit-user plane (CU-UP). The de-aggregation of network elements enables telecommunications services and associated functions to be defined and delivered in software-based forms or virtual network services such as Virtualized Network Functions (VNFs), Cloud-native Network Functions (CNFs), or Software Defined Networking (SDN), among others.
[0004] RAN functions in the O-RAN architecture are controlled and optimized by RICs. RICs are software-defined components that implement modular applications to facilitate the multi-vendor operability required in O-RAN systems and to automate and optimize RAN operations. RICs are divided into two types: non-real-time RICs (Non-RT RICs) and near-real-time RICs (Near-RT RICs).
[0005] The Non-RT RIC is the control point for non-real-time control loops and operates on sub-second timescales within a Service Management and Orchestration (SMO) framework. Its functionality is implemented via modular applications called rApps and includes providing policy-based guidance and reinforcement over the A1 interface, which is the interface that enables communication between the Non-RT RIC and the Near-RT RIC; performing data analytics; artificial intelligence / machine learning (AI / ML) training and inference for RAN optimization; and / or recommending configuration management actions over the O1 interface, which is the interface that connects the SMO to RAN managed elements (e.g., Near-RT RIC, O-RAN Centralized Unit (O-CU), O-RAN Distributed Unit (O-DU), etc.).
[0006] The SMO framework manages and orchestrates RAN elements, specifically, SMO includes Federated O-Cloud Orchestration and Management (FOCOM), Network Function Orchestrator (NFO) that manages Virtual Machine (VM)-based VNFs and Container (i.e., instance)-based VNFs, and Operations and Management (OAM) as part of SMO that manages and orchestrates what is called the O-Ran Cloud (O-Cloud).
[0007] Additionally, the SMO may include an Operational Support System (OSS) and an Element Management System (EMS), each of which may be configured to perform one or more of fault management, configuration management, account management, performance management, and security management operations (FCAPS operations) for one or more services hosted or deployed on the server. In some embodiments, the service management system may include multiple EMSs, each of which may be configured to manage a single service or a group of services associated with a particular vendor / service provider, and the OSS interfaces between the monitoring system, the orchestrator, and the multiple EMSs. Thus, the SMO may provide a single point of control for managing multiple services (associated with multiple vendors / network service providers) through only one monitoring system and one orchestrator system (i.e., one monitoring system and one orchestrator system can be utilized to manage services associated with multiple vendors / service providers). Summary of the Invention [Problem to be solved by the invention]
[0008] In the related art, for OAM-related services, the service producer, as an API consumer, may need to obtain a configuration schema (e.g., definitions of configuration fields, i.e., which fields a specific node has) from the API producer. However, the related art does not describe any procedures for the above. Therefore, it is necessary to be able to search for the configuration schema. [Means for solving the problem]
[0009] According to embodiments, a system and method are provided for retrieving a configuration schema API for a radio access network (RAN) operations and maintenance (OAM) function. In particular, the method may include receiving, by an API producer, an HTTP GET configuration schema request. The HTTP GET configuration schema request originates from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter. The method may further include determining, by the API producer, whether the HTTP GET configuration schema request is valid; retrieving, by the API producer, a configuration schema based on the resource URI and the query criteria upon determining that the HTTP GET configuration schema request is valid; and sending, by the API producer, an HTTP GET response. The HTTP GET response includes a message based on the determination of whether the HTTP GET configuration schema request is valid, and the message includes the configuration schema if the HTTP GET configuration schema request is determined to be valid. Thus, embodiments of the present disclosure may provide an optimized method for retrieving a configuration schema API while avoiding data validation errors, etc.
[0010] According to an embodiment, an apparatus for implementing an API producer may be provided. The apparatus may be configured to receive an HTTP GET configuration schema request. The HTTP GET configuration schema request originates from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter. The apparatus may be configured to determine whether the HTTP GET configuration schema request is valid. If the apparatus determines that the HTTP GET configuration schema request is valid, the apparatus may be configured to retrieve the configuration schema based on the resource URI and the query criteria. The apparatus may be configured to send an HTTP GET response. The HTTP GET response includes a message based on the determination of whether the HTTP GET configuration schema request is valid, and the message includes the configuration schema if it is determined that the HTTP GET configuration schema request is valid.
[0011] According to an embodiment, a non-transitory computer-readable storage medium having stored thereon instructions for implementing a method may be provided. The method includes receiving, by an API producer, an HTTP GET configuration schema request. The HTTP GET configuration schema request originates from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter. The method includes determining, by the API producer, whether the HTTP GET configuration schema request is valid. If the method determines that the HTTP GET configuration schema request is valid, the method includes retrieving, by the API producer, a configuration schema based on the resource URI and the query criteria. The method includes sending, by the API producer, an HTTP GET response. The HTTP GET response includes a message based on the determination of whether the HTTP GET configuration schema request is valid, and the message includes the configuration schema if it is determined that the HTTP GET configuration schema request is valid.
[0012] Additional aspects will be set forth in part in the description that follows, and in part will be apparent from the description, or may be learned by practice of presented embodiments of the present disclosure.
[0013] Features, aspects, and advantages of certain exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which like reference numerals refer to like elements. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a flowchart of a method for searching a configuration schema API, according to one embodiment.
[0015] [Figure 2] FIG. 1 illustrates a call flow for retrieving a configuration schema API, according to one embodiment.
[0016] [Figure 3] FIG. 1 is a diagram of an example environment in which the systems and / or methods described herein may be implemented.
[0017] [Figure 4] FIG. 2 is a diagram of exemplary components of a device, according to one embodiment.
[0018] [Figure 5] FIG. 10 is a flow diagram of a use case for retrieving configuration schema information, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0019] The following detailed description of the exemplary embodiments refers to the accompanying drawings.
[0020] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of implementations. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Additionally, in the flowcharts and descriptions of operations provided below, it should be understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) concurrently, and the order of one or more operations may be rearranged.
[0021] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Accordingly, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It should be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.
[0022] Although particular combinations of features are recited in the claims and / or disclosed herein, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.
[0023] As used herein, no element, act, or instruction should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Where only one item is intended, the term "an" or similar language is used. Also, as used herein, terms such as "has," "have," "having," "include," "including," and the like are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of A and B" or "at least one of A or B" should be understood to include A only, B only, or both A and B.
[0024] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the present disclosure can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.
[0025] Exemplary embodiments of the present disclosure provide methods and systems for retrieving configuration schema APIs for RAN OAM-related functions. In particular, according to embodiments, an API producer may receive a GET configuration schema request from an API consumer. The request may include parameters such as a URI and query criteria. After determining that the request is valid, the API producer may retrieve the configuration schema based on the URI and query criteria and send a GET configuration schema response to the API consumer. The response may include a message that includes the configuration schema.
[0026] Thus, embodiments of the present disclosure may provide an optimized method for searching configuration schema APIs while avoiding data validation errors and the like.
[0027] 1 illustrates a flowchart of an exemplary method 100 for retrieving a configuration schema, according to one embodiment. The operations in the exemplary method 100 may be performed by an API producer, according to one embodiment.
[0028] At operation S110, the API producer may receive an HTTP GET configuration schema request originating from the API consumer. The HTTP GET configuration schema request may include a resource URI and a query criteria. Note that according to some embodiments, the query criteria may be optional (the query criteria is optional and may not be included), i.e., the request may indicate that it wants to retrieve all resources at the URI.
[0029] According to one embodiment, a resource URI may include an rApp identifier, a URI-LDN-first-part, and a class name identifier. According to one embodiment, the rApp identifier may be further specified in terms of an API root and an API major version, and the class name identifier may include both the target resource's class name and the target resource's identifier as separate parameters.
[0030] According to one embodiment, the query criteria may include a scope parameter and a filter parameter.
[0031] As an example of an implementation for including scope parameters, the scope parameters may include scopeType and scopeLevel. ScopeType may be defined as a parameter that expands the set of target resources beyond the base resource identified in the authority and path component of the URI. ScopeLevel is an integer that may be used with scopeType to expand the set of target resources beyond the base resource identified in the path component of the URI. ScopeLevel may include BASE_ONLY, BASE_ALL, BASE_NTH_LEVEL, and BASE_SUBTREE, which are described below.
[0032] BASE_ONLY may select only the base resource. The "scopeLevel" parameter shall be ignored if it is not present or present.
[0033] BASE_ALL may select the base resource and all of its subordinate resources (including leaf resources). The "scopeLevel" parameter shall be ignored if it is not present or is present.
[0034] BASE_NTH_LEVEL may select all resources at the level indicated by the "scopeLevel" parameter below the base resource, which is at "scopeLevel" 0.
[0035] BASE_SUBTREE may select the base resource and all of its descendants up to and including the resource at the level indicated by the "scopeLevel" parameter. The base resource is at "scopeLevel" 0.
[0036] It should be understood that the above example embodiments involving scopeType and scopeLevel use placeholder variable names and that syntax may vary depending on the implementation.
[0037] According to one embodiment, filter parameters may be used to reduce the set of retrieved objects / resources by applying a filter to a set of scoped resource representations. Only resource representations for which the filter construct (which may be written in various formats, e.g., XPath 1.0) evaluates to "true" may be considered. Filter parameters may be written in the form of a condition on some attribute of the resource. Thus, the retrieved objects may have attributes that match the filter parameters.
[0038] At operation S120, the API producer may check whether the HTTP GET configuration schema request is valid. According to some embodiments, this may include checking whether the API consumer is authorized / valid. If not, an error may be indicated.
[0039] In operation S130, the API producer may retrieve a resource based on the HTTP GET configuration schema request. According to one embodiment, operation S130 may be performed only if the HTTP GET configuration schema request in operation S120 is determined to be valid. The resource may be retrieved based on a resource URI and a query criteria. That is, the resource may be a resource located at a resource URI and that matches the query criteria.
[0040] At operation S140, the API producer may send an HTTP GET configuration schema response to the API consumer. According to one embodiment, the HTTP GET configuration schema response may include a message. The message may include the configuration schema (e.g., the resource obtained in operation S130) as well as a response code (e.g., to indicate that the operation was successful). However, if there was an error (e.g., if any error occurred in the validation step in operation S120 or in operation S130), the message may instead include an indication that an error occurred.
[0041] According to one embodiment, the error message may include a response code (e.g., any error code that indicates to the service operator what error occurred) and a detailed problem description. Nevertheless, it should be understood that any format may be used to indicate the error.
[0042] Figure 2 shows an exemplary call flow for retrieving a configuration schema API, according to one embodiment. API consumer 200 and API producer 210 may be similar to the API consumer and API producer described with respect to Figure 1. Operations S110, S120, S130, and S140 may be substantially similar to operations S220, S221, S222, and S223, respectively, and therefore redundant description may be omitted.
[0043] At operation S220, the API consumer 200 may send an HTTP GET(configuration schema) request to the API producer 210.
[0044] In operation S221, the API producer 210 evaluates whether the request sent in operation S220 is valid.
[0045] In operation S222, the API producer 210 retrieves the objects / resources of the configuration schema based on the HTTP GET request from operation S220. It should be emphasized again that, according to some embodiments, operation S222 can only occur if operation S221 had a "valid" result.
[0046] In operation S223, the API producer returns an HTTP GET configuration schema response to the API consumer 200. This response may include either a message containing the requested configuration schema or an error message, as described in the description of similar operation S140 above.
[0047] Therefore, the above embodiment can provide an optimized method for searching the configuration schema API while avoiding any data validation errors and the like.
[0048] 3 is a diagram of an example environment 300 in which the systems and / or methods described herein may be implemented. As shown in FIG. 3, environment 300 may include a user device 310, a platform 320, and a network 330. The devices in environment 300 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections. In embodiments, any of the functions and operations described with reference to FIGS. 6-7 above may be performed by any combination of the elements shown in FIG. 3.
[0049] The user device 310 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with the platform 320. For example, the user device 310 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some implementations, the user device 310 may receive information from the platform 320 and / or transmit information to the platform 320.
[0050] Platform 320 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information. In some implementations, platform 320 may include a cloud server or a collection of cloud servers. In some implementations, platform 320 may be designed to be modular, such that certain software components can be swapped in or out depending on particular needs. Thus, platform 320 may be easily and / or quickly reconfigured for different uses.
[0051] In some implementations, as shown, platform 320 may be hosted in a cloud computing environment 322. In particular, although the implementations described herein describe platform 320 as being hosted within cloud computing environment 322, in some implementations platform 320 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0052] Cloud computing environment 322 includes an environment that hosts platform 320. Cloud computing environment 322 may provide services such as computation, software, data access, storage, etc., without requiring end-user (e.g., user device 310) knowledge of the physical location and configuration of the systems and / or devices that host platform 320. As shown, cloud computing environment 322 may include a collection of computing resources 324 (collectively referred to as “computing resources 324” and individually referred to as “computing resource 324”).
[0053] Computing resources 324 include one or more personal computers, clusters of computing devices, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, computing resources 324 may host platform 320. Cloud resources may include compute instances executing within computing resources 324, storage devices provided within computing resources 324, data transfer devices provided by computing resources 324, etc. In some implementations, computing resources 324 may communicate with other computing resources 324 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0054] As further shown in FIG. 3, the computing resources 324 include a group of cloud resources such as one or more applications (APP) 324-1, one or more virtual machines (VM) 324-2, virtualized storage (VS) 324-3, and one or more hypervisors (HYP) 324-4.
[0055] Application 324-1 includes one or more software applications that may be provided to or accessed by user device 310. Application 324-1 may eliminate the need to install and run software applications on user device 310. For example, application 324-1 may include software associated with platform 320 and / or any other software that may be provided via cloud computing environment 322. In some implementations, one application 324-1 may send information to or receive information from one or more other applications 324-1 via virtual machine 324-2.
[0056] Virtual machine 324-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 324-2 can be either a system virtual machine or a process virtual machine, depending on the intended use and the degree to which virtual machine 324-2 resembles any real machine. A system virtual machine may provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine may execute a single program and support a single process. In some implementations, virtual machine 324-2 may run on behalf of a user (e.g., user device 310) and manage the infrastructure of cloud computing environment 322, such as data management, synchronization, or long-term data transfer.
[0057] Virtualized storage 324-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage systems or devices of computing resources 324. In some implementations, in the context of storage systems, types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (or separation) of logical storage from physical storage so that the storage system can be accessed regardless of the physical storage or heterogeneous structure. The separation may provide storage system administrators with flexibility in how they manage storage for end users. File virtualization may eliminate the dependency between data accessed at the file level and where the file is physically stored. This may enable performance optimization of storage usage, server consolidation, and / or non-disruptive file migration.
[0058] Hypervisor 324-4 may provide hardware virtualization technology that allows multiple operating systems (e.g., guest operating systems) to run simultaneously on a host computer, such as computing resource 324. Hypervisor 324-4 may present a virtual operating platform to the guest operating systems and may manage the execution of the guest operating systems. Multiple instances of different operating systems may share virtualized hardware resources.
[0059] Network 330 may include one or more wired and / or wireless networks. For example, network 230 may include a cellular network (e.g., a fifth-generation (5G) network, a long-term evolution (LTE) network, a third-generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, an optical fiber-based network, etc., and / or combinations of these or other types of networks.
[0060] The number and arrangement of devices and networks shown in Figure 3 are provided as an example. In practice, there may be additional, fewer, different, or differently arranged devices and / or networks than those shown in Figure 3. Furthermore, two or more devices shown in Figure 3 may be implemented within a single device, or a single device shown in Figure 3 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 300 may perform one or more functions that are described as being performed by another set of devices of environment 300.
[0061] 4 is a diagram of example components of a device 400. Device 400 may correspond to user device 310 and / or platform 320. As shown in FIG. 4, device 400 may include a bus 410, a processor 420, a memory 430, a storage component 440, an input component 450, an output component 460, and a communication interface 470.
[0062] Bus 410 includes components that enable communication between components of device 400. Processor 420 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 420 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 420 includes one or more processors that can be programmed to perform functions. Memory 430 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by processor 420.
[0063] Storage component 440 stores information and / or software related to the operation and use of device 400. For example, storage component 440 may include a hard disk (e.g., a magnetic disk, optical disk, magneto-optical disk, and / or solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive. Input component 450 includes components (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone) that enable device 400 to receive information, such as via user input. Additionally or alternatively, input component 450 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). Output components 460 include components that provide output information from device 400 (eg, a display, a speaker, and / or one or more Light-Emitting Diodes (LEDs)).
[0064] Communications interface 470 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 400 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communications interface 470 may enable device 400 to receive information from and / or provide information to another device. For example, communications interface 470 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a Universal Serial Bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0065] Device 400 may perform one or more processes described herein. Device 400 may perform these processes in response to processor 420 executing software instructions stored by a non-transitory computer-readable medium, such as memory 430 and / or storage component 440. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
[0066] Software instructions may be loaded into memory 430 and / or storage component 440 from another computer-readable medium or from another device via communication interface 470. When executed, the software instructions stored in memory 430 and / or storage component 440 may cause processor 420 to perform one or more processes described herein.
[0067] Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0068] The number and arrangement (configuration) of components shown in Figure 4 are provided as an example. In practice, device 400 may include additional, fewer, different, or differently arranged components than those shown in Figure 4. Additionally or alternatively, a set of components (e.g., one or more components) of device 400 may perform one or more functions that are described as being performed by another set of components of device 400.
[0069] In embodiments, any one of the operations or processes of Figures 1 and 2 may be implemented by or using any one of the elements shown in Figures 3 and 4. It will be appreciated that other embodiments are not limited thereto and may be implemented in a variety of different architectures (e.g., bare metal architectures, any cloud-based or deployment architectures such as Kubernetes, Docker, OpenStack, etc.).
[0070] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of implementations.
[0071] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail. Furthermore, one or more of the above components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or media) having computer-readable program instructions for causing a processor to perform operations.
[0072] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction-execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile discs (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves with instructions recorded on them, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted through wires.
[0073] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.
[0074] The computer readable program code / instructions for performing operations may be either assembler instructions, Instruction-Set-Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to the external computer via the Internet (e.g., using an Internet service provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuitry, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects or operations.
[0075] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, form means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that a computer-readable storage medium having instructions stored therein comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0076] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to create a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0077] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a microservice, module, segment, or portion of an instruction set, including one or more executable instructions for implementing the specified logical function(s). The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks compared to those shown in the figures. In some alternative implementations, the functions noted in the blocks may be performed out of the order noted in the figures. For example, two blocks shown in succession may actually be executed concurrently or substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or a combination of dedicated hardware and computer instructions.
[0078] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0079] A use case for RAN OAM related services according to one embodiment is described below.
[0080] RAN OAM related service use cases:
[0081] RAN OAM related use case: Configuration schema discovery
[0082] overview:
[0083] This use case allows an rApp acting as a CM Service Consumer to retrieve information about the configuration schema of one or more managed entities.
[0084] Background and Goals of this Use Case
[0085] An rApp acting as a CM Service Consumer can retrieve information about one or more managed entities from a Configuration management Service Producer.
[0086] Entities / resources involved in this use case:
[0087] 1) The RAN OAM related function as a configuration management service producer (a) receives a Get Schemas request to retrieve configuration schema information related to one or more managed entities, and (b) provides a response resulting in success or failure to the Get schema request.
[0088] 2) The rApp supports the ability to (a) initiate a Get Schemas procedure to retrieve configuration schema information.
[0089] Solution:
[0090] Finding configuration schema information
[0091] [Table 1]
[0092] Figure 5 shows a use case flow diagram for retrieving configuration schema information according to the embodiment described above with respect to Table 1. The use case flow diagram also corresponds to the uml code below from @startuml to @enduml.
[0093] @startuml
[0094] !pragma teoz true
[0095] skinparam ParticipantPadding 70
[0096] skinparam BoxPadding 10
[0097] skinparam defaultFontSize 12
[0098] skinparam lifelineStrategy solid
[0099] box “Non-RT RIC” #whitesmoke
[0100] box #ivory
[0101] participant “rApp” as rapp
[0102] endbox
[0103] box “Non-anchored functions in SMO / Non-RT RIC Framework” #cadetBlue
[0104] participant “RAN OAM-related functions” as cmsp
[0105] endbox
[0106] endbox
[0107] rapp-> cmsp:< <r1>>Get schemas request(rAppId,queryCriteria)
[0108] cmsp--> cmsp:AuthZ
[0109] note right
[0110] Check authorization in
[0111] Collaboration with SME functions
[0112] end note
[0113] cmsp--> cmsp:Validate request
[0114] cmsp-> rapp:< <r1>>Get schema response(ConfigurationSchema)
[0115] @enduml
[0116] Data requested:
[0117] A Get schemas request to retrieve configuration schema information includes an rAppId and query criteria (including information about the associated managed entity and the requested configuration schema information). The Get schemas response is scoped by the information provided in the request.
[0118] Note: Whether the rAppId is passed as a separate piece of information, or is embedded within or implied by the authorization information is up to the design of the authorization mechanism.
[0119] Various aspects of the embodiments
[0120] Various further respective aspects and features of embodiments of the present disclosure may be defined by the following clauses. Item [1]: A method including receiving, by an API producer, an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter; the method further including: determining, by the API producer, whether the HTTP GET configuration schema request is valid; and, if it is determined that the HTTP GET configuration schema request is valid, obtaining, by the API producer, a configuration schema based on the resource URI and the query criteria; and sending, by the API producer, an HTTP GET response, the HTTP GET response including a message based on the determination of whether the HTTP GET configuration schema request is valid; and the message including the configuration schema if it is determined that the HTTP GET configuration schema request is valid. Item [2]: The method according to Item [1], wherein determining whether the HTTP GET configuration schema request is valid further includes determining, by the API producer, whether the HTTP GET configuration schema request is originating from a valid API consumer. Item [3]: A method according to any one of items [1] to [2], wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier. Item [4]: The method according to any one of items [1] to [3], wherein if the HTTP GET configuration schema request is determined to be invalid, a message indicates that an error has occurred. Item [5]: A method according to any one of items [1] to [4], wherein retrieving a configuration schema based on a resource URI and a query criteria further includes retrieving an object, the retrieved object having a scope level that matches the scope parameter. Item [6]: The method according to item [5], wherein the retrieved objects have attributes that match the filter parameters. Item [7]: The method of item [6], wherein the filter parameters are applied by checking whether the filter structure evaluates to true or false. Item [8]: An apparatus for implementing an API producer, the apparatus configured to receive an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter, the apparatus configured to determine whether the HTTP GET configuration schema request is valid, the apparatus configured to retrieve a configuration schema based on the resource URI and the query criteria if it determines that the HTTP GET configuration schema request is valid, the apparatus configured to send an HTTP GET response, the HTTP GET response including a message based on a determination of whether the HTTP GET configuration schema request is valid, the message including the configuration schema if it is determined that the HTTP GET configuration schema request is valid. Item [9]: The apparatus described in Item [8], wherein the device is further configured to determine whether the HTTP GET configuration schema request is valid by determining whether the HTTP GET configuration schema request is originating from a valid API consumer. Item
[10] : The device according to any one of items [8] to [9], wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier. Item
[11] : The device according to any one of items [8] to
[10] , wherein if the HTTP GET configuration schema request is determined to be invalid, a message indicates that an error has occurred. Item
[12] : The device described in any one of items [8] to
[11] , wherein the device is further configured to obtain a configuration schema based on the resource URI and the query criteria by retrieving an object, wherein the retrieved object has a scope level that matches the scope parameter. Item
[13] : The apparatus described in Item
[12] , wherein the retrieved objects have attributes that match the filter parameters. Item
[14] : The apparatus of item
[13] , wherein the filter parameters are applied by checking whether the filter structure evaluates to true or false. Item
[15] : A non-transitory computer-readable storage medium having recorded thereon instructions for implementing a method, the method including receiving, by an API producer, an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter; the method including determining, by the API producer, whether the HTTP GET configuration schema request is valid; and upon determining that the HTTP GET configuration schema request is valid, the method including, by the API producer, retrieving a configuration schema based on the resource URI and the query criteria; the method including, by the API producer, sending an HTTP GET response, the HTTP GET response including a message based on the determination of whether the HTTP GET configuration schema request is valid; and the message including the configuration schema if it is determined that the HTTP GET configuration schema request is valid. Item
[16] : The non-transitory computer-readable storage medium described in Item
[15] , wherein determining whether the HTTP GET configuration schema request is valid further includes determining, by the API producer, whether the HTTP GET configuration schema request is originating from a valid API consumer. Item
[17] : A non-transitory computer-readable recording medium described in any one of items
[15] to
[16] , wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier. Item
[18] : A non-transitory computer-readable recording medium described in any one of items
[15] to
[17] , wherein if the HTTP GET configuration schema request is determined to be invalid, a message indicates that an error has occurred. Item
[19] : A non-transitory computer-readable recording medium described in any one of items
[15] to
[18] , wherein obtaining a configuration schema based on a resource URI and query criteria further includes obtaining an object, and the obtained object has a scope level that matches the scope parameter. Item
[20] : A non-transitory computer-readable storage medium according to Item
[19] , wherein the retrieved objects have attributes that match the filter parameters.
[0121] It can be appreciated that many modifications and variations of the present disclosure are possible in light of the above teachings. It will be apparent that, within the scope of the appended claims, the present disclosure may be practiced otherwise than as specifically described herein.
Claims
1. 1. A method comprising: receiving, by an API producer, an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter; The method further comprises: determining, by the API producer, whether the HTTP GET configuration schema request is valid; upon determining that the HTTP GET configuration schema request is valid, retrieving, by the API producer, a configuration schema based on the resource URI and the query criteria; sending, by the API producer, an HTTP GET response, the HTTP GET response including a message based on a determination of whether the HTTP GET configuration schema request is valid, the message including the configuration schema if the HTTP GET configuration schema request is determined to be valid.
2. 2. The method of claim 1, wherein determining whether the HTTP GET configuration schema request is valid further comprises determining, by the API producer, whether the HTTP GET configuration schema request originates from a valid API consumer.
3. The method of claim 1 , wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier.
4. The method of claim 1 , wherein if the HTTP GET configuration schema request is determined to be not valid, the message indicates that an error has occurred.
5. 2. The method of claim 1, wherein retrieving the configuration schema based on the resource URI and the query criteria further comprises retrieving an object, the retrieved object having a scope level that matches the scope parameter.
6. The method of claim 5 , wherein the retrieved objects have attributes that match the filter parameters.
7. The method of claim 6 , wherein the filter parameters are applied by checking whether a filter structure evaluates to true or false.
8. 1. An apparatus for implementing an API producer, comprising: the apparatus is configured to receive an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter; the device is configured to determine whether the HTTP GET configuration schema request is valid; the device is configured, upon determining that the HTTP GET configuration schema request is valid, to retrieve a configuration schema based on the resource URI and the query criteria; the device is configured to send an HTTP GET response, the HTTP GET response including a message based on a determination of whether the HTTP GET configuration schema request is valid, the message including the configuration schema if the HTTP GET configuration schema request is determined to be valid.
9. the device comprising: by determining whether the HTTP GET configuration schema request originates from a valid API consumer; The apparatus of claim 8 , further configured to determine whether the HTTP GET configuration schema request is valid.
10. The apparatus of claim 8 , wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier.
11. The apparatus of claim 8 , wherein if the HTTP GET configuration schema request is determined to be not valid, the message indicates that an error has occurred.
12. The device comprises: By getting the object The apparatus of claim 8 , further configured to retrieve the configuration schema based on the resource URI and the query criteria, the retrieved object having a scope level that matches the scope parameter.
13. The apparatus of claim 12 , wherein the retrieved objects have attributes that match the filter parameters.
14. The apparatus of claim 13 , wherein the filter parameters are applied by checking whether a filter structure evaluates to true or false.
15. A non-transitory computer-readable storage medium having instructions for performing a method, comprising: The method includes receiving, by an API producer, an HTTP GET configuration schema request, the HTTP GET configuration schema request originating from an API consumer, the GET configuration schema request including a resource URI and query criteria, the query criteria including at least one or more of a scope parameter and a filter parameter; The method includes determining, by the API producer, whether the HTTP GET configuration schema request is valid; The method includes, upon determining that the HTTP GET configuration schema request is valid, retrieving, by the API producer, a configuration schema based on the resource URI and the query criteria; 20. The method of claim 19, wherein the API producer transmits an HTTP GET response, the HTTP GET response including a message based on a determination of whether the HTTP GET configuration schema request is valid, the message including the configuration schema if the HTTP GET configuration schema request is determined to be valid.
16. Determining whether the HTTP GET configuration schema request is valid includes:
16. The non-transitory computer-readable medium of claim 15, further comprising determining, by the API producer, whether the HTTP GET configuration schema request originates from a valid API consumer.
17. 16. The non-transitory computer-readable storage medium of claim 15, wherein the resource URI includes an rApp identifier, a URI-LDN first part, and a class name identifier.
18. 16. The non-transitory computer-readable medium of claim 15, wherein if the HTTP GET configuration schema request is determined to be not valid, the message indicates that an error has occurred.
19. Retrieving the configuration schema based on the resource URI and the query criteria includes: The non-transitory computer-readable medium of claim 15 , further comprising retrieving an object, the retrieved object having a scope level that matches the scope parameter.
20. 20. The non-transitory computer-readable medium of claim 19, wherein the retrieved objects have attributes that match the filter parameters.
Citation Information
Patent Citations
System, resource server, control method and program of system
JP2018093407A
Strengthen RESTful actions
JP2018530965A
Referencing change(s) in data utilizing a network resource locator
US20130159387A1
System and method for authenticating clients
US20180302391A1
Systems and Methods for Provisioning User Devices Using a Zero Touch Configuration Proxy
US20200344607A1