Read the configuration data retrieval API for OAM functions
The method allows API producers to validate and send configuration data to consumers using 'HTTP GET' requests, addressing the lack of clear procedures in existing technologies and enhancing RAN OAM function management.
Patent Information
- Application Number
- JP2025537282
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-20
- Filing Date
- 2023-12-28
- Publication Date
- 2026-01-27
AI Technical Summary
Existing technologies do not provide a clear procedure for obtaining configuration data for Radio Access Network (RAN) Operation and Maintenance (OAM) functions, specifically for API consumers to access configuration data from API producers.
A method and system for obtaining configuration data APIs for 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 configuration data if valid, using parameters like range, attribute, and field parameters.
Enables efficient and optimized access to configuration data while avoiding data validation errors, facilitating management and orchestration of RAN elements.
Smart Images

Figure 2026502892000001_ABST
Abstract
Description
[Technical Field]
[0001] Systems and methods consistent with embodiments of the present disclosure relate to providing a method for obtaining configuration data APIs for Radio Access Network (RAN) Operation and Maintenance (OAM) functions. [Background technology]
[0002] The Radio Access Network (RAN) is a critical component in a communication system that 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 has been vendor-specific.
[0003] In recent years, advances in communication technologies have enabled many communication services to be virtually implemented in software. For example, RANs, such as the Open RAN (O-RAN) architecture, decompose a network component into multiple functional elements. For example, a baseband unit (BBU) or base station (i.e., eNB or gNB) is decomposed into multiple functional elements, including a distributed unit (DU) and a centralized unit (CU), and the CU can be further decomposed into a centralized unit-control plane (CU-CP) and a centralized unit-user plane (CU-UP). This decomposition of network elements allows communication services and related functions to be defined and provided in software-based forms or virtual network services, such as virtualized network functions (VNFs), cloud-native network functions (CNFs), or software-defined networking (SDN).
[0004] RAN functions in the O-RAN architecture are controlled and optimized by RICs. RICs are software-defined components that implement modular applications to automate and optimize RAN operations, enabling the multi-vendor operability required in O-RAN systems. 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 functions are implemented through modular applications called rApps and include providing policy-based guidance and enrichment 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 management elements (e.g., Near-RT RIC, O-RAN aggregation unit (O-CU), O-RAN distributed unit (O-DU), etc.).
[0006] The SMO framework manages and orchestrates RAN elements, specifically including 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 the SMO that manages and orchestrates what is referred to as the O-Ran Cloud (O-Cloud).
[0007] Additionally, the SMO may include an operations support system (OSS) and an element management system (EMS), each configurable to perform one or more fault management operations, configuration management operations, account management operations, performance management operations, 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 group of services associated with a particular vendor / service provider, and an OSS interface between the monitoring system, the orchestrator, and the multiple EMSs. In this manner, 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 may 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, a service producer as an API consumer needs to obtain configuration data (e.g., the value of a configuration field) from the API producer. However, the related art does not describe the procedure for the above. Therefore, it is necessary to be able to obtain the configuration data. [Means for solving the problem]
[0009] Embodiments of the present disclosure provide a method and system for obtaining configuration data API for RAN OAM-related functions, including: receiving, by an API producer, an “HTTP GET” configuration data request originating from an API consumer and including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the “HTTP GET” configuration data request is valid; upon determining that the “HTTP GET” configuration data request is valid, obtaining, by the API producer, configuration data based on the resource URI and the query criteria; and, if the API producer determines that the “HTTP GET” configuration data request is valid based on its determination of whether the “HTTP GET” configuration data request is valid, sending an “HTTP GET” response including a message including the configuration data.
[0010] An embodiment of the present disclosure may provide an apparatus configured to: receive, by an API producer, an "HTTP GET" configuration data request originating from an API consumer, the "HTTP GET" configuration data request including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determine, by the API producer, whether the "HTTP GET" configuration data request is valid; upon determining that the "HTTP GET" configuration data request is valid, retrieve, by the API producer, configuration data based on the resource URI and the query criteria; and, if the API producer determines that the "HTTP GET" configuration data request is valid based on its determination of whether the "HTTP GET" configuration data request is valid, send an "HTTP GET" response including a message that includes the configuration data.
[0011] An embodiment of the present disclosure may provide a non-transitory computer-readable storage medium having stored thereon instructions for performing a method comprising: receiving, by an API producer, an “HTTP GET” configuration data request from an API consumer, the “HTTP GET” request including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the “HTTP GET” configuration data request is valid; upon determining that the “HTTP GET” configuration data request is valid, obtaining, by the API producer, configuration data based on the resource URI and the query criteria; and, if the API producer determines that the “HTTP GET” configuration data request is valid based on its determination of whether the “HTTP GET” configuration data request is valid, sending an “HTTP GET” response including a message that includes the configuration data.
[0012] Additional aspects will be set forth in part in the description that follows, and in part will be obvious from the description, or may be realized by practice of the presented embodiments of the present disclosure. [Brief explanation of the drawings]
[0013] Features, aspects, and advantages of certain exemplary embodiments of the disclosure are described below with reference to the accompanying drawings, in which like reference numerals represent like elements.
[0014] FIG. 1 illustrates a flowchart of a method for obtaining a configuration data API according to one embodiment.
[0015] FIG. 2 illustrates a call flow for obtaining configuration data API according to one embodiment.
[0016] FIG. 3 is a diagram of an example environment in which the systems and / or methods described herein may be implemented.
[0017] FIG. 4 is a diagram of example components of a device according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0018] The following detailed description of the embodiments refers to the accompanying drawings.
[0019] The foregoing disclosure provides illustrations and descriptions, 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 foregoing disclosure or may be acquired from practice of implementations. Furthermore, one or more features or components of one embodiment may be combined or combined with other embodiments (or one or more features of other embodiments). Additionally, in the flowcharts and operational descriptions provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed concurrently (at least in part), or the order of one or more operations may be rearranged.
[0020] 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 particular control hardware or software code used to implement these systems and / or methods is not limiting of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It will be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.
[0021] Although particular feature combinations are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways other than those specifically recited in the claims and / or specifically disclosed in the specification. 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 group.
[0022] No element, act, or instruction used herein should be construed as critical or required unless explicitly stated otherwise. 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 "one" or similar words are used. Also, as used herein, the terms "has," "have," "having," "include," "including," etc. 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" are understood to include A only, B only, or both A and B.
[0023] 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 may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, certain embodiments may realize additional features and advantages that are not present in all embodiments of the present disclosure.
[0024] Examples of the present disclosure provide a method and system for obtaining configuration data APIs for RAN OAM-related functions. In particular, according to embodiments, an API producer may receive a "GET" configuration data 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 obtain the configuration data based on the URI and query criteria and return a "GET" configuration data response to the API consumer. The response may include a message containing the configuration data. The API may allow the API producer to manage reading the configuration data.
[0025] Thus, embodiments of the present disclosure may provide a method for obtaining an optimized configuration data API while avoiding data validation errors and the like.
[0026] FIG. 1 illustrates a flowchart of an example method 100 for obtaining configuration data, according to one embodiment. The operations in the example method 100 may be performed by an API producer, according to one embodiment. A service producer may use the Read Configuration API operation as an API consumer to read the configuration data with the API producer. The "HTTP GET" response may include the configuration data that the API consumer is authorized to access. Service operations are as follows:
[0027] The API consumer may send an "HTTP GET" request to the API producer that includes an rApp identifier, a URI-LDN-first-part, a class name ID, and optional query criteria. The API producer may process the lead configuration details received in the "HTTP GET" message and determine whether the request sent by the API consumer is allowed.
[0028] The API producer may return an HTTP GET response. On success, a 200 OK may be returned and the message content may carry configuration data. On failure, an appropriate error code may be returned and the response message content may contain additional error information.
[0029] In operation S110, the API producer may receive an "HTTP GET" configuration data request from the API consumer. The "HTTP GET" configuration data request may comprise a resource URI and a query criteria. Note that, according to some embodiments, the query criteria may be optional; that is, the request may indicate a desire to retrieve all resources at the URI.
[0030] According to one embodiment, the resource URI may comprise an rApp identifier, a URI-LDN-first-part, 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 comprise both the class name of the target resource and the identifier of the target resource as separate parameters.
[0031] A resource URI used in an HTTP request from an API consumer to an API producer may have the following resource URI structure: <apiname>The resource URI variable can also be "readconfigdata". <apispecificresourceuripart>may be set appropriately. The overall resource URI structure defined for the Service Registration API may be as follows:
[0032] [Table 1]
[0033] The service registration API used may use the following resources and methods, according to some embodiments: [Table 2]
[0034] According to one embodiment, the query criteria may comprise a range parameter, an attribute parameter, and a field parameter.
[0035] As an example of an implementation for including a scope parameter, the scope parameter may include a scope type and a scope level. The scope type may be defined as a parameter that extends the set of target resources beyond the base resource identified as the authority and path components of the URI. The scope level is an integer that may be used with the scope type to extend the set of target resources beyond the base resource identified as the path component of the URI. The scope level may include BASE_ONLY, BASE_ALL, BASE_NTH_LEVEL, and BASE_SUBTREE, described as follows:
[0036] BASE_ONLY may select only the base resource. The "scope level" parameter is either not present or is ignored if present.
[0037] BASE_ALL may select the base resource and all of its subordinate resources (including leaf resources). The "scope level" parameter may not be present, or if present, is ignored.
[0038] BASE_NTH_LEVEL may select all resources on the level indicated by the "scope level" parameter below the base resource. The base resource is at "scope level" zero.
[0039] BASE_SUBTREE may select the base resource and all of its descendant resources at or above the level indicated by the "scope level" parameter. The base resource is at "scope level" zero.
[0040] It should be understood that the above examples involving range types and range levels use placeholder variable names and that syntax may vary depending on the implementation.
[0041] An example configuration for the above parameters is described in the table below. [Table 3] [Table 4] [Table 5] [Table 6] [Table 7]
[0042] According to one embodiment, an attribute parameter may be used to reduce the set of objects / resources to be retrieved. In particular, the attribute parameter may be an attribute of the scoped resource to be returned. According to one example, this may be implemented as a comma-separated list of attribute names. Thus, the objects to be retrieved may have attributes that match the attribute parameter. Similarly, a field parameter may be used to reduce the set of objects / resources to be retrieved. In particular, the field parameter may be an attribute field of the scoped resource to be returned. According to one example, this may be implemented as a comma-separated list of JSON pointers to the attribute fields. Thus, the objects to be retrieved may have attribute fields that match the field parameter. It should be understood that the formats for attributes and field parameters discussed above are merely examples and that other formats may be implemented.
[0043] In operation S120, the API producer may check whether the "HTTP GET" configuration data request is valid. According to some embodiments, this may comprise checking whether the API consumer is authorized / valid. If not, an error may be indicated.
[0044] In operation S130, the API producer may retrieve a resource based on the "HTTP GET" configuration data request. According to one embodiment, operation S130 may be performed only if the "HTTP GET" configuration data 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 located at a resource URI and match the query criteria.
[0045] In operation S140, the API producer may send an "HTTP GET" configuration data response to the API consumer. According to one embodiment, the "HTTP GET" configuration data response may comprise a message. The message may include the configuration data (e.g., the resource obtained in operation S130) and a response code (e.g., to indicate that the operation was successful). However, if there was an error (e.g., an error occurred in the validation step in operation S120 or in operation S130), the message may instead include an indication that an error occurred.
[0046] According to one embodiment, the error message may comprise a response code (e.g., some error code that indicates to the service operator what error occurred) and a detailed problem description, although it should be understood that any format may be used to indicate the error.
[0047] Figure 2 illustrates an example call flow for obtaining a configuration data 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.
[0048] In operation S220, the API consumer 200 may send an HTTP GET (configuration data) request to the API producer 210.
[0049] In operation S221, the API producer 210 evaluates whether the request sent in operation S220 is valid.
[0050] In operation S222, the API producer 210 retrieves the configuration data object / resource based on the "HTTP GET" request from operation S220. According to some embodiments, operation S222 should be iterated, which may occur only if the result of operation S221 is "valid."
[0051] In operation S223, the API producer returns an HTTP GET configuration data response to the API consumer 200. This response may include a message containing the requested configuration data or an error message, as described above in the description of similar operation S140.
[0052] Therefore, the above embodiment can provide a method for obtaining an optimized configuration data API while avoiding data validation errors and the like.
[0053] 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 an embodiment, any of the functions and operations described below with reference to FIGS. 6-7 above may be performed by any combination of the elements illustrated in FIG. 3.
[0054] User device 310 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information related to platform 320. For example, 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), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some implementations, user device 310 may receive information from and / or send information to platform 320.
[0055] 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 group of cloud servers. In some implementations, platform 320 may be designed to be modular, such that particular software components may be swapped in or out depending on particular needs. In this manner, platform 320 may be easily and / or quickly reconfigured for different uses.
[0056] In some implementations, as shown, platform 320 may be hosted in a cloud computing environment 322. Note that although the implementations described herein describe platform 320 as being hosted in a 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.
[0057] 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 group of computing resources 324 (collectively referred to as “computing resources 324” and individually referred to as “computing resource 324”).
[0058] Computing resources 324 include one or more personal computers, clusters of computing devices, workstation computers, server devices, or other types of computation and / or communication devices. In some implementations, computing resources 324 may host platform 320. Cloud resources may include compute instances executing on computing resources 324, storage devices provided on 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.
[0059] As further shown in FIG. 3, 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.
[0060] Application 324-1 includes one or more software applications that may be provided to or accessed by user device 310. Application 324-1 may obviate the need to install and run a software application 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 and receive information to one or more other applications 324-1 via virtual machine 324-2.
[0061] Virtual machine 324-2 includes a software implementation of a device (e.g., a computer) that executes programs like a physical device. Virtual machine 324-2 may be a system virtual machine or a process virtual machine, depending on the use by virtual machine 324-2 and the degree of correspondence with any real-world device. 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 or support a single process. In some implementations, virtual machine 324-2 may execute 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.
[0062] Virtualized storage 324-3 includes one or more storage systems and / or one or more devices or computing resources 324 that use virtualization technology within a storage system. In some implementations, within the context of a storage system, types of virtualization may include block virtualization and file virtualization. Block virtualization may represent the abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed without consideration of the physical storage or heterogeneous structure. The separation may provide storage system administrators with flexibility in managing storage for end users. File virtualization may remove the dependency between data accessed at the file level and where the file is physically stored. This may enable storage usage optimization, server consolidation, and / or non-disruptive file migration performance.
[0063] 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.
[0064] Network 330 may include one or more wired and / or wireless networks. For example, network 330 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 a combination of these or other types of networks.
[0065] 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, and a single device shown in Figure 3 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices in environment 300 (e.g., one or more devices) may perform one or more functions that are described as being performed by other sets of devices in environment 300.
[0066] 4 is a diagram of example components of a device 400. The device 400 may correspond to a user device 310 and / or a platform 320. As shown in FIG. 4, the 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.
[0067] The bus 410 includes components that enable communication between the components of the device 400. The processor 420 may be implemented in hardware, firmware, or a combination of hardware and software. The 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 other type of processing component. In some implementations, the processor 420 includes one or more processors that are programmable to perform functions. The memory 430 includes random access memory (RAM), read-only memory (ROM), and / or other types of dynamic or static storage devices (e.g., flash memory, magnetic memory, and / or optical memory) that store information and / or instructions for use by the processor 420.
[0068] The storage component 440 stores information and / or software related to the operation and use of the device 400. For example, the 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 disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or other type of non-transitory computer-readable medium, along with a corresponding drive. The input component 450 includes components that enable the device 400 to receive information, such as via user input (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, the input component 450 may include sensors for measuring information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). The output component 460 includes components that provide output information from the device 400 (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)).
[0069] The communication interface 470 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that allow the device 400 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 470 allows the device 400 to receive information from and / or provide information to other devices. For example, the communication 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.
[0070] 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 distributed across multiple physical storage devices.
[0071] The software instructions may be loaded into memory 430 and / or storage component 440 from other computer-readable media or other devices 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 of the processes described herein.
[0072] 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.
[0073] The number and arrangement 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 other sets of components of device 400.
[0074] In embodiments, any operation or process of Figures 1 and 2 may be implemented by or using any of the elements illustrated in Figures 3 and 4. It is understood that other embodiments are not so limited and may be implemented in a variety of different architectures (e.g., bare metal architectures, any cloud-based architectures, or deployment architectures such as Kubernetes, Docker, OpenStack, etc.).
[0075] 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 foregoing disclosure or may be acquired from practice of the implementations.
[0076] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above-described components 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 medium) having computer-readable program instructions stored thereon for causing a processor to perform operations.
[0077] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A 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 thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: 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 disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as raised structures in grooves in which instructions are recorded, or any suitable combination thereof. As used herein, computer-readable storage medium is not to be understood as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over a wire.
[0078] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or external storage device over 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 fiber transmissions, wireless transmissions, 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 transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0079] The computer-readable program code / instructions for carrying out operations may be 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 or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk or C++, 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, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server, as a standalone software package. 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 the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuits, 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 a certain aspect or operation.
[0080] 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 an apparatus, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, produce means for implementing the functions / acts set forth in the flowcharts and / or block diagrams (one or more blocks). These computer-readable program instructions may be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article including instructions that implement aspects of the functions / acts set forth in the flowcharts and / or block diagrams (one or more blocks).
[0081] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device such that a series of operational steps are performed on the computer, other programmable apparatus, or other device to generate a computer-implemented process such that the instructions, executed on the computer, other programmable apparatus, or other device, implement the functions / acts described in the flowcharts and / or block diagrams (one or more blocks).
[0082] The illustrated flowcharts and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. Each block in a flowchart or block diagram may represent a microservice, module, segment, or portion of instructions, comprising one or more executable instructions for implementing specific logical functions. The method, computer system, or computer-readable medium may include additional, fewer, different, or differently arranged blocks than those shown in the figures. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be executed concurrently or substantially concurrently, depending on the functionality involved, or the blocks may be executed in the reverse order. Note that each block of the block diagram and / or flowchart illustrations, or combinations of blocks in the block diagram and / or flowchart illustrations, may be implemented by a dedicated hardware-based system performing specific functions or acts, or by executing a combination of dedicated hardware and computer instructions.
[0083] It will be apparent that the systems and / or methods described herein may be implemented in different forms, such as hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. As such, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It will be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.
[0084] Various aspects of the embodiments
[0085] Various further respective aspects and features of embodiments of the present disclosure may be defined by the following items. Item 1: receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response including a message that includes the configuration data; A method comprising: Item 2: 2. The method of claim 1, wherein determining whether the "HTTP GET" configuration data request is valid further includes determining, by the API producer, whether the "HTTP GET" configuration data request is from a valid API consumer. Item 3: 3. The method of claim 1 or 2, wherein the resource URI includes an rApp identifier, a URI-LDN-first-part, and a class name identifier. Item 4: 4. The method of any of items 1 to 3, wherein if the "HTTP GET" configuration data request is determined to be invalid, the message indicates that an error has occurred. Item 5: 5. The method of claim 1, wherein retrieving the configuration data based on the resource URI and the query criteria further comprises retrieving objects having a scope level that matches the scope parameter. Item 6: Item 6. The method of item 5, wherein the retrieved object has attributes that match the attribute parameters. Item 7: 7. The method of claim 6, wherein the retrieved object has attribute fields that match the field parameters. Item 8: receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response including a message that includes the configuration data; 20. An apparatus configured to: Item 9: 9. The apparatus of claim 8, further configured to determine, by the API producer, whether the "HTTP GET" configuration data request is valid by determining whether the "HTTP GET" configuration data request is from a valid API consumer. Item 10: 10. The device of item 8 or 9, wherein the resource URI includes an rApp identifier, a URI-LDN-first-part, and a class name identifier. Item 11: 11. The apparatus of any of items 8 to 10, wherein if the "HTTP GET" configuration data request is determined to be invalid, the message indicates that an error has occurred. Item 12: 12. The apparatus of any of items 8 to 11, further configured to retrieve the configuration data based on the resource URI and the query criteria by retrieving an object having a scope level that matches the scope parameter. Item 13: Item 13. The apparatus of item 12, wherein the retrieved object has attributes that match the attribute parameters. Item 14: Item 14. The apparatus of item 13, wherein the retrieved object has attribute fields that match the field parameters. Item 15: receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request including a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response including a message that includes the configuration data; A non-transitory computer-readable storage medium having recorded thereon instructions for performing a method comprising: Item 16: Item 16. The non-transitory computer-readable storage medium of item 15, wherein determining whether the "HTTP GET" configuration data request is valid further includes determining, by the API producer, whether the "HTTP GET" configuration data request is from a valid API consumer. Item 17: Item 17. The non-transitory computer-readable storage medium of item 15 or 16, wherein the resource URI includes an rApp identifier, a URI-LDN-first-part, and a class name identifier. Item 18: 18. The non-transitory computer-readable storage medium of any of items 15 to 17, wherein if the "HTTP GET" configuration data request is determined to be invalid, the message indicates that an error has occurred. Item 19: 19. The non-transitory computer-readable storage medium of any of items 15 to 18, wherein retrieving the configuration data based on the resource URI and the query criteria further includes retrieving objects having a scope level that matches the scope parameter. Item 20: 20. The non-transitory computer-readable storage medium of claim 19, wherein the retrieved object has attributes that match the attribute parameters.
[0086] It will 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.< / apispecificresourceuripart> < / apiname>
Claims
1. receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request comprising a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response comprising a message that includes the configuration data; A method for providing the above.
2. 2. The method of claim 1, wherein determining whether the "HTTP GET" configuration data request is valid further comprises determining, by the API producer, whether the "HTTP GET" configuration data request is from a valid API consumer.
3. The method of claim 1 , wherein the resource URI comprises 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 data request is determined to be invalid, the message indicates that an error has occurred.
5. The method of claim 1 , wherein retrieving the configuration data based on the resource URI and the query criteria further comprises retrieving objects having a scope level that matches the scope parameter.
6. The method of claim 5 , wherein the retrieved object has attributes that match the attribute parameters.
7. The method of claim 6 , wherein the retrieved object has attribute fields that match the field parameters.
8. receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request comprising a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response comprising a message that includes the configuration data; 20. An apparatus configured to:
9. 9. The apparatus of claim 8, further configured to determine, by the API producer, whether the "HTTP GET" configuration data request is valid by determining whether the "HTTP GET" configuration data request comes from a valid API consumer.
10. The apparatus of claim 8 , wherein the resource URI comprises an rApp identifier, a URI-LDN-first-part, and a class name identifier.
11. 9. The apparatus of claim 8, wherein if the "HTTP GET" configuration data request is determined to be invalid, the message indicates that an error has occurred.
12. The apparatus of claim 8 , further configured to retrieve the configuration data based on the resource URI and the query criteria by retrieving an object having a scope level that matches the scope parameter.
13. The apparatus of claim 12 , wherein the retrieved object has attributes that match the attribute parameters.
14. The apparatus of claim 13 , wherein the retrieved object has attribute fields that match the field parameters.
15. receiving, by the API producer, an "HTTP GET" configuration data request from the API consumer, the request comprising a resource URI and query criteria including at least one or more of a range parameter, an attribute parameter, and a field parameter; determining, by the API producer, whether the "HTTP GET" configuration data request is valid; Upon determining that the "HTTP GET" configuration data request is valid, retrieving, by the API producer, configuration data based on the resource URI and the query criteria; If the API producer determines, based on the determination of whether the "HTTP GET" configuration data request is valid, that the "HTTP GET" configuration data request is valid, sending an "HTTP GET" response comprising a message that includes the configuration data; A non-transitory computer-readable storage medium having recorded thereon instructions for performing a method comprising:
16. 16. The non-transitory computer-readable storage medium of claim 15, wherein determining whether the "HTTP GET" configuration data request is valid further comprises determining, by the API producer, whether the "HTTP GET" configuration data request is from a valid API consumer.
17. 16. The non-transitory computer-readable storage medium of claim 15, wherein the resource URI comprises 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 data request is determined to be invalid, the message indicates that an error has occurred.
19. 16. The non-transitory computer-readable medium of claim 15, wherein retrieving the configuration data based on the resource URI and the query criteria further comprises retrieving an object having a scope level that matches the scope parameter.
20. 20. The non-transitory computer-readable medium of claim 19, wherein the retrieved object has attributes that match the attribute parameters.
Citation Information
Patent Citations
Systems and Methods for Provisioning User Devices Using a Zero Touch Configuration Proxy
US20200344607A1
Data services for RIC applications
WO2022155511A1
Methods, systems and computer readable media for resource object level authorization at a network function (NF)
WO2022186911A1