Method and apparatus for generating JavaScript object notation configuration files and implementing network functions
Patent Information
- Application Number
- JP2025517770
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2042-11-17
AI Technical Summary
Existing network configuration processes are prone to human error, delays, and reliance on network orchestrators, leading to communication network reliability issues, reduced service quality, and increased costs due to manual generation of JSON configuration files.
A configuration manager system that automatically generates JSON configuration files based on user inputs and data files, allowing direct transmission to network devices without orchestrator intervention, reducing manual effort and latency.
Improves network reliability, scalability, and reduces costs by enabling timely deployment of network changes and updates while minimizing system resource impact.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to generating JavaScript Object Notation (JSON) configuration files that are sent to network devices to implement network functions. [Background technology]
[0002] Network operators, network service providers, and device manufacturers (e.g., wireless, cellular, etc.) are constantly challenged to deliver value and convenience to consumers by, for example, providing compelling communications networks and network services that are dependable, flexibly architected, scalable, diverse, and economically operable. Summary of the Invention [Means for solving the problem]
[0003] One aspect of the present disclosure relates to a method that includes processing, by a processor, a data file that includes one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The method also includes causing one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields included in the graphical user interface. The method further includes processing the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The method further includes causing the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0004] Another aspect of the present specification relates to an apparatus comprising: a processor; and a memory storing instructions that, when executed by the processor, cause the apparatus to process a data file including one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The apparatus is also caused to cause one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields among a plurality of parameter fields included in the graphical user interface. The apparatus is further caused to process the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The apparatus is further caused to cause the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0005] Another aspect of the present specification relates to a non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, cause an apparatus to process a data file including one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The apparatus is also caused to cause one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields included in the plurality of parameter fields included in the graphical user interface. The apparatus is further caused to process the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The apparatus is further caused to cause the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0006] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. It should be noted that, according to standard industry practice, various features have not been drawn to scale. In fact, the dimensions of various features may be arbitrarily increased or decreased for clarity of discussion. [Brief explanation of the drawings]
[0007] [Figure 1] 1 is a diagram of a communication system according to one or more embodiments. [Figure 2] FIG. 1 is a diagram of a graphical user interface according to one or more embodiments. [Figure 3] FIG. 1 is a diagram of a graphical user interface according to one or more embodiments. [Figure 4]1 is a flowchart of a process for generating a JSON configuration file and implementing network functionality, according to one or more embodiments. [Figure 5] FIG. 1 is a functional block diagram of a computer or processor-based system in which one embodiment may be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0008] The following disclosure provides many different embodiments or examples for implementing different features of the provided subject matter. To simplify the disclosure, specific examples of components and arrangements are described below. Of course, these are merely examples and are not intended to be limiting. For example, the formation or location of a first feature above or on a second feature in the following description may include embodiments in which the first and second features are formed or arranged in direct contact with each other, and may also include embodiments in which an additional feature may be formed or arranged between the first and second features such that the first and second features are not in direct contact with each other. Additionally, the disclosure may repeat reference numerals and / or letters in various examples. This repetition is for the purposes of brevity and clarity and does not, in itself, dictate a relationship between the various embodiments and / or configurations discussed.
[0009] Additionally, spatially relative terms such as "beneath," "below," "lower," "above," and "upper" may be used herein for ease of description to describe the relationship of one element or feature to another, as shown in the figures. Spatially relative terms are intended to encompass different orientations of a device or object in use or operation in addition to the orientation shown in the figures. A device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
[0010] Communication networks and network services are often provided by static or inflexible systems that are difficult to configure, scale, and deploy across various target areas. Network operators may coordinate and deploy communication networks and / or network services, including network services (e.g., hardware, software, etc.) provided by one or more network service providers. To facilitate the provision of communication networks and network services, various network functions are implemented by one or more network devices associated with the communication network. Such communication networks often include network services across multiple domains, such as radio area networks (RANs), base station subsystems (BSSs), platforms, core networks, various technologies (e.g., 3G, 4G, LTE, 5G, etc.), multiple locations, various software interfaces, multiple devices that are proprietary and / or optimized by specific network service providers, etc.
[0011] As communication networks evolve and improve, a single communication network may include an ever-changing number of network service providers for providing network services and / or associated with providing network services related to various aspects of the communication network (e.g., domain, technology, service location, etc.), and as a result, the state of the communication network may change dynamically with the addition and / or subtraction of network service providers, changes in one or more network services, network capabilities, etc.
[0012] Newly developed software or applications undergo an onboarding process. Part of the onboarding process often includes pushing configuration files to one or more network devices. Traditionally, network orchestrators are involved in configuring and onboarding network services and network functions. Such network orchestrators are typically managed by network operators to control communications networks, such that network service providers rely on the network orchestrator to configure dynamic parameters and push configuration files to network devices. As a result, network service providers cannot directly control or initiate configuration pushes to configure network functions and / or network devices. In other words, network service providers rely on the network orchestrator to initiate configuration pushes.
[0013] Sometimes, a network service provider initiates a configuration push by uploading a configuration file in a particular format, such as JavaScript Object Notation (JSON), Extensible Markup Language (XML), or some other suitable format or file type.
[0014] Network service providers often manually generate JSON configuration files for uploading to a network orchestrator, which can then push the JSON configuration files to the appropriate network devices. This traditional process is susceptible to human error and delays. For example, manually generating JSON configuration files requires users to track parameter repetitions along with their exact identifier details, which is a tedious task and, along with other human-related errors such as typos, incorrect input, and interpretation issues, makes validating manually generated JSON configuration files more cumbersome. Because network service providers cannot push configurations to network devices on demand, the delays caused by the error-prone manual process for generating JSON configuration files and the latency caused by the dependency on a network orchestrator can result in communication network reliability issues, reduced service quality, and increased costs.
[0015] 1 is a diagram of a communications system 100 according to one or more embodiments. System 100 enables automatically generating JSON configuration files based on data files provided by a network service provider and / or one or more user inputs. System 100 also facilitates implementation of network functions by pushing the generated JSON configuration to one or more network devices external to the network orchestrator.
[0016] System 100 includes a configuration manager 101, data storage 103, one or more network devices 105a-105n (collectively referred to as network devices 105), user equipment (UE) 107, and a network orchestrator 109. Configuration manager 101, data storage 103, one or more network devices 105, UE 107, and / or network orchestrator 109 are communicatively coupled via a communications network 111. In some embodiments, communications network 111 is orchestrated by network orchestrator 109, which combines multiple network services offered by one or more network service providers via network devices 105.
[0017] In some embodiments, configuration manager 101 includes a set of computer-readable instructions that, when executed by a processor such as processor 503 (FIG. 5), cause configuration manager 101 to perform the processes discussed in accordance with one or more embodiments.
[0018] In some embodiments, configuration manager 101 is remote from network device 105. In some embodiments, configuration manager 101 is implemented at least in part by UE 107. In some embodiments, configuration manager 101 is part of one or more of network devices 105. In some embodiments, one or more processes that configuration manager 101 is configured to execute and / or components of configuration manager 101 are split across one or more of network device 105, one or more UEs 107, and / or one or more processors that are remote from one or more network devices 105 and / or one or more UEs 107.
[0019] Data storage 103 is a memory, such as memory 505 (FIG. 5), that can be queried or that can store data, according to one or more embodiments. In some embodiments, data storage 103 stores searchable information, including stored information related to communications network 111, such as network device 105 identifiers, physical cell identities (PCIs), frequency information, root sequence indexes, preamble information, key performance indicator (KPI) data, network function configuration parameters, network device configuration parameters, other suitable configuration information, or other suitable system data.
[0020] The configuration manager 101 is configured to automatically generate a JSON configuration file and send the JSON configuration file to one or more network devices 105 via a communication channel external to the network orchestrator 109. Automatically generating a JSON configuration file and sending the JSON configuration file via a communication channel external to the network orchestrator 109 helps improve network reliability while improving the scalability of the communications network by deploying changes, updates, removals, and / or additions of network functionality in a timely and cost-effective manner while reducing the impact on system resources. For example, without relying on a manual process for generating JSON configuration files and / or the network orchestrator 109 initiating the push of JSON configuration files to network devices, network functionality can be changed, updated, removed, and / or added in a manner that improves response time, reduces costs, and increases user confidence in the reliability of the communications network.
[0021] In some embodiments, configuration manager 101 generates a graphical user interface that is output to a display by UE 107 or a terminal associated with configuration manager 101 for a user (e.g., a network service provider) to enable the user to generate a JSON configuration file for implementing the network function and for the JSON configuration file to be sent to one or more of network devices 105 to implement the network function. In some embodiments, the graphical user interface is accessible via a web browser, such as via a website or a web browser plug-in.
[0022] In some embodiments, the graphical user interface is configured to facilitate uploading to the configuration manager 101 a data file containing one or more parameters for configuring network functionality provided by one or more of the network devices 105. The data file is processed to recognize, parse, and extract the one or more parameters contained in the data file. In some embodiments, the data file is a raw data file in Binary Interchange File Format (BIFF), an .xls file, or some other suitable format.
[0023] In some embodiments, the graphical user interface includes a plurality of parameter fields usable to indicate values or information applicable to configuring the network feature. The configuration manager 101 causes one or more of the plurality of parameter fields included in the graphical user interface to be filled with one or more parameters extracted from the data file according to a mapping between one or more parameters extracted from the raw data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface. In some embodiments, the raw data file is based on a template including one or more input fields configured to receive one or more parameters and information for configuring the network feature and to facilitate mapping between one or more parameters extracted from the data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface.
[0024] In some embodiments, configuration manager 101 processes parameter fields included in the graphical user interface to determine whether all of the parameter fields have content based on the mapping of one or more parameters extracted from the data file or whether one or more of the parameter fields included in the graphical user interface are empty. In response to determining that one or more of the parameter fields included in the graphical user interface are empty and determining that one or more parameters extracted from the data file lack a mapping to one or more of the parameter fields determined to be empty, configuration manager 101 retrieves one or more database parameters from data storage 103 to fill one or more of the parameter fields determined to be empty before generating the JSON configuration file. In some embodiments, the database parameters correspond to parameters set or applied to a previous version of a JSON configuration file set or applied for a previous network function implemented by network device 105, a previous network function implemented by one or more different network devices 105, or some other suitable basis for filling missing parameters specified by configuration manager 101 as necessary to generate a JSON configuration file to configure the network function. In some embodiments, the database parameters include one or more pre-set default values. In some embodiments, database parameters include combinations of values according to rules that define the circumstances under which a particular database parameter is used in place of other database parameters and / or one or more default values.
[0025] In some embodiments, at least one of the parameter fields included in the graphical user interface is configured to be modified based on user input. In some embodiments, user input is provided by selecting from a drop-down menu of options, a list of options, an array of options, by entering text, or in some other suitable manner. For example, if a user wants to change the value of a filled-in parameter field, the graphical user interface allows the user to select an alternative option that will be used to generate the JSON configuration file. In some embodiments, the alternative options are retrieved from data storage 103 and provided to the graphical user interface in the form of a drop-down menu, a list, an array, or other suitable manner.
[0026] The configuration manager 101 processes parameters included in parameter fields within the graphical user interface to generate a JSON configuration file. In some embodiments, the graphical user interface is configured to facilitate generation of a JSON configuration file that includes multiple configurations for network functions to be implemented by the network device 105 according to scheduling parameters included in the data file. In some embodiments, the scheduling parameters are set in the graphical user interface. In some embodiments, the scheduling parameters include a day 1 configuration and a day 2 configuration, whereby the JSON configuration file includes both the day 1 configuration and the day 2 configuration for execution by the receiving network device 105 to implement the network function according to the day 1 configuration and the day 2 configuration without having to separately generate and / or process individual JSON configuration files for each day 1 and day 2.
[0027] The configuration manager 101 causes the generated JSON configuration file to be sent to the network device 105 to implement the network function according to the JSON configuration file. In some embodiments, the JSON configuration file is sent to the network device 105 for implementing the network function by the configuration manager 101 via a communication channel that is not intercepted by the network orchestrator 109. In some embodiments, the JSON configuration file is sent directly to the network device 105 for implementing the network function by the configuration manager 101. In some embodiments, the JSON configuration file is sent to the network device 105 via a UE 107 that has connectivity to the configuration manager 101 and a display on which a graphical user interface is output. In some embodiments, the JSON configuration file is optionally downloaded to the UE 107 on which a user is viewing the graphical user interface.
[0028] In some embodiments, configuration manager 101 allows the network service provider to download or create a basic .xls-based template, which is then populated with information about various parameters and uploaded to configuration manager 101 to generate a JSON-formatted configuration file that can be pushed directly or indirectly from configuration manager 101 out to network orchestrator 109 based on the selected configuration file, uniform hostname, etc. on the Internet Protocol addresses and ports of each of the network devices 105, thereby requiring minimal to no manual effort to create, validate, and send the JSON configuration file. In some embodiments, one or more of the parameters provided in the data file by the network service provider / user are dynamic parameters that can be added and / or modified by the network service provider / user when adding information to the template to generate the data file.
[0029] In some embodiments, configuration manager 101 is configured to generate JSON Day 1 / Day 2 configuration files based on given xpaths and values (default values) and / or supported list-type parameters for which the network service provider / user provides a unique identifier or parsing logic (e.g., for list parameters, the key and value are two parameters that go into a specific programmable logic device record). In some embodiments, in scenarios where details of one or more parameters are not available or provided by a data file uploaded or known to the user, configuration manager 101 generates the parameters based on data in data storage 103, retrieves the parameters from data storage 103, or provides default values for the parameters to facilitate generation of the JSON configuration file even when all parameters are unknown to the user attempting to generate the JSON configuration file. In some embodiments, the template format of the data file provides tags identifiable by the network service provider / user by the parsing logic and / or configuration manager 101 to facilitate recognition of parameters in the data file for parsing and extraction and to provide an opportunity to fill in parameter fields in a graphical user interface.
[0030] According to various embodiments, the ability to provide information via templates / data files, add parsing logic, modify parameters, etc., ease of uploading and using data files in the configuration manager, and the ability to manipulate and autonomously generate JSON configuration files outside of the network orchestrator 109 adds to the network service provider / user's ability to control the deployment of JSON formatted configuration files to appropriate network devices 105.
[0031] According to various embodiments, the ability to define, create, and / or push multi-day configurations, such as the discussed day 1 / day 2 options, among other things, provides oversight capabilities to network service providers / users over the multi-day implementation of network features on corresponding network devices 105. In some embodiments, configuration manager 101 receives status updates from network devices 105 to which generated JSON configuration files are sent so that configuration manager 101 is notified regarding the success or failure of the network feature, day 1 configuration, day 2 configuration, and / or any other day configuration. Such capabilities give network service providers / users visibility into the success or failure of network feature configurations and JSON configuration files created by the network service provider / user.
[0032] Configuration manager 101 therefore saves time, money, and system resources by reducing or eliminating the manual tasks typically involved in generating and validating JSON configuration files. Additionally, the graphical user interface generated by configuration manager 101 provides full visibility to the network service provider / user from the very configuration generation to the configuration push, without the need for an orchestrator.
[0033] 2 is a diagram of a graphical user interface 200 according to one or more embodiments. Graphical user interface 200 is a configuration manager user interface that includes a configuration file list 201 and a label row 203. Configuration file list 201 is configured to display configuration files 205. For ease of explanation, configuration file list 201 is shown in FIG. 2 as having one configuration file 205. In some embodiments, configuration file list 201 includes two or more configuration files 205. In some embodiments, configuration file list 201 is empty until a configuration file 205 is created and added to configuration file list 201.
[0034] Configuration file 205 is a JSON configuration file. Configuration file 205 included in configuration file list 201 is optionally another type of configuration file, such as an XML configuration file, or some other suitable file type. Configuration file 205 included in configuration file list 201 has multiple parameters. The parameters of configuration file 205 correspond to labels included in label line 203. In graphical user interface 200, label line 203 includes parameter headings for uniform host name (UHN), network service (NS) version, NS identifier (ID), technology, equipment type, network element (NE) version, network function (NF) type, NF label, vendor domain (or network service provider domain), day 1 configuration status, day 2 configuration status, and data model type.
[0035] Graphical user interface 200 facilitates editing of configuration file 205 by selecting a configuration file 205 and toggling an edit icon or some other suitable graphical user interface icon included in graphical user interface 200. In some embodiments, selecting a configuration file 205 toggles editing of the selected configuration file 205. Graphical user interface 200 also facilitates creation of a new configuration file 205, for example, by selecting a “+” sign or some other suitable graphical user interface icon. In some embodiments, in response to selecting a configuration file 205 to be edited or in response to a selection to create a new configuration file 205, configuration manager 101 ( FIG. 1 ) causes graphical user interface 300 ( FIG. 3 ) to be displayed for editing and / or creating configuration file 205.
[0036] In some embodiments, the graphical user interface 200 includes a search field and / or filter options to allow a user to search for the configuration files 205 included in the configuration file list 201 according to various keywords, parameters, or some other suitable basis for reducing the number of configuration files viewable in the configuration file list 201.
[0037] The graphical user interface 200 includes a download icon. In response to selecting a configuration file 205 and detecting the toggling of the download icon, the configuration manager 101 causes the selected configuration file 205 to be downloaded, for example, to the UE 107 (FIG. 1) being used to access the graphical user interface 200.
[0038] The graphical user interface 200 also includes an upload icon. In response to the selection of a configuration file 205 and the detected toggling of the upload icon, the configuration manager 101 causes the selected configuration file 205 to be transmitted, uploaded, or pushed to the corresponding network device 105 ( FIG. 1 ), either directly or via the UE 107, to implement network functionality in accordance with the selected configuration file 205. In some embodiments, the manner, communication channel, and / or timing of the selected configuration file 205 being transmitted, uploaded, or pushed to the corresponding network device 105 is based on instructions included in the selected configuration file. In some embodiments, the manner, communication channel, and / or timing of the selected configuration file 205 being transmitted, uploaded, or pushed to the corresponding network device 105 is based on communication rules executed by the configuration manager 101 in response to one or more of the parameters included in the selected configuration file 205.
[0039] 3 is an illustration of a graphical user interface 300 according to one or more embodiments. Graphical user interface 300 is displayed in response to an instruction in graphical user interface 200 (FIG. 2) to add a configuration file or edit a selected configuration file. Graphical user interface 300 includes multiple parameter fields for identifying parameters associated with configuring network functions according to the configuration file being added or edited. The parameter fields include options for selecting or entering a UHN name / UUID (universally unique identifier), domain, vendor (or network service provider) information, technology, software version, IP address, and port number. In some embodiments, the graphical user interface 300 includes options for configuring additional details such as the day 1 and day 2 configurations, send or push instructions, download instructions, destination addresses, instructions to push the day 1 and day 2 configurations directly in sequence, instructions to push the day 1 and day 2 configurations together in a single configuration file, scheduling parameter instructions for when the configuration manager 101 will cause the generated configuration file to be sent or pushed to the network device 105, route information that directs how the generated configuration file is sent to the network device 105 and / or the UE 107, or any other suitable details, instructions, or rules.
[0040] Graphical user interface 300 includes an upload file workspace 301 where data files are uploaded to configuration manager 101 (FIG. 1) for processing via a drag / drop operation. In some embodiments, graphical user interface 300 optionally includes an upload icon to facilitate uploading and sending data files to configuration manager 101 for processing.
[0041] In use, for data files uploaded to configuration manager 101 via graphical user interface 300, configuration manager 101 processes the data file to recognize, parse, and extract parameters included in the data file that correspond to parameter fields included in graphical user interface 200. Configuration manager 101 then causes the parameter fields to be filled with the parameters included in the data file. For example, if one or more of the parameter fields are empty after filling them according to the parameters included in the data file, configuration manager 101 causes the empty parameter fields to be filled based on one or more default values and / or one or more database parameters retrieved from data storage 103 (FIG. 1). In some embodiments, parameter fields are configured to be edited. In some embodiments, editing of parameter fields is performed by one or more of text entry, drop-down menus, selection from an array, or some other suitable action that can edit or delete information in the parameter field or that can add information in the parameter field.
[0042] After adding, completing, or editing the parameters contained in the parameter fields, whether such action is based on user input or on parameters contained in an uploaded data file, configuration manager 101 causes a JSON configuration file to be generated in response to user selection of a “Submit” icon, a Save icon, or some other suitable user-based instruction or interaction with graphical user interface 300.
[0043] The generated JSON configuration file is then added to the configuration file list 201 in the graphical user interface 200. When the graphical user interface 300 is used to edit the selected configuration file 205, the generated JSON configuration file replaces or updates the selected configuration file 205 included in the configuration file list 201. In some embodiments, the generated JSON configuration file is sent or pushed to the network device 105 immediately upon sending or saving the generated JSON configuration file.
[0044] 4 is a flowchart of a process 400 for generating JSON configuration files and implementing network functionality, according to one or more embodiments. In some embodiments, configuration manager 101 (FIG. 1) performs process 400.
[0045] In step 401, configuration manager 101 processes a data file including one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize, parse, and extract one or more parameters included in the data file. In some embodiments, the data file is a raw data file in a binary interchange file format. In some embodiments, the raw data file is based on a template including one or more input fields configured to receive one or more parameters and information for configuring the network function and to facilitate mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields of a plurality of parameter fields included in a graphical user interface.
[0046] In step 403, the configuration manager 101 causes one or more of a plurality of parameter fields included in the graphical user interface to be filled with one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface.
[0047] In optional step 405, in response to determining that one or more of the parameter fields included in the graphical user interface are empty and determining that one or more parameters extracted from the data file lack a mapping to one or more of the parameter fields determined to be empty, configuration manager 101 retrieves one or more database parameters from a data storage, such as data storage 103 (FIG. 1), to fill one or more of the parameter fields determined to be empty before generating the JSON configuration file.
[0048] In some embodiments, at least one of the parameter fields included in the graphical user interface is configured to be modified based on user input indicating a selection from a drop-down menu, a list, an array, or a text entry.
[0049] In step 407, configuration manager 101 processes the parameters included in the parameter fields in the graphical user interface to generate a JSON configuration file. In some embodiments, the graphical user interface is configured to facilitate generation of a JSON configuration file that includes multiple configurations for network functions to be implemented by the network device according to the scheduling parameters included in the data file.
[0050] In step 409, configuration manager 101 causes the JSON configuration file to be sent to a network device to implement the network function according to the JSON configuration file. In some embodiments, the network device is one of multiple network devices included in a communication network implemented by a network orchestrator, and the JSON configuration file is generated by a configuration manager external to the network orchestrator. In some embodiments, the JSON configuration file is sent to the network device to implement the network function by the configuration manager via a communication channel not intercepted by the network orchestrator. In some embodiments, the JSON configuration file is sent directly to the network device to implement the network function by the configuration manager. In some embodiments, the JSON configuration file is sent to the network device via a user device having connectivity to the configuration manager and a display on which a graphical user interface is output.
[0051] FIG. 5 is a functional block diagram of a computer or processor-based system 500 in which one embodiment is implemented.
[0052] The processor-based system 500 is programmed to generate JSON configuration files and implement network functions as described herein and includes, for example, components of a bus 501, a processor 503, and a memory 505.
[0053] In some embodiments, the processor-based system is implemented as a single “system on a chip.” The processor-based system 500, or portions thereof, constitutes a mechanism for performing one or more of the steps of generating a JSON configuration file and implementing a network function.
[0054] In some embodiments, the processor-based system 500 includes a communication mechanism, such as a bus 501, for transferring and / or receiving information and / or instructions between components of the processor-based system 500. The processor 503 is connected to the bus 501, for example, to retrieve instructions for execution and process information stored in a memory 505. In some embodiments, the processor 503 is also accompanied by one or more specialized components for performing specific processing functions and tasks, such as one or more digital signal processors (DSPs) or one or more application-specific integrated circuits (ASICs). A DSP is typically configured to process real-world signals (e.g., sound) in real time, independently of the processor 503. Similarly, an ASIC can be configured to perform specialized functions not easily performed by a more general-purpose processor. Other specialized components that assist in performing the functions described herein optionally include one or more field-programmable gate arrays (FPGAs), one or more controllers, or one or more other specialized computer chips.
[0055] In one or more embodiments, processor(s) 503 generates a JSON configuration file and performs a series of operations on information specified by an instruction set stored in memory 505 in connection with implementing a network function. Execution of the instructions causes the processor to perform the specified function.
[0056] The processor 503 and associated components are connected to memory 505 via bus 501. Memory 505 includes one or more of dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that, when executed, generate JSON configuration files and perform the steps described herein to implement network functions. Memory 505 also stores data associated with or generated by the execution of the steps.
[0057] In one or more embodiments, memory 505, such as random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for generating JSON configuration files and implementing network functions. Dynamic memory can change the information it stores. RAM allows units of information stored at locations called memory addresses to be stored and retrieved independently of information at adjacent addresses. Memory 505 is also used by processor 503 to store temporary values while the processor is executing instructions. In various embodiments, memory 505 is read-only memory (ROM) or any other static storage device coupled to bus 501 for storing static information, including instructions, that cannot be changed by processor 503. Some memory consists of volatile storage, which loses stored information when power is lost. In some embodiments, memory 505 is a non-volatile (persistent) storage device, such as a magnetic disk, optical disk, or flash card, for storing information, including instructions, that persists even when system 500 is turned off or otherwise loses power.
[0058] As used herein, the term "computer-readable medium" refers to any medium that participates in providing information to the processor 503, including instructions for execution. Such media take many forms, including, but not limited to, computer-readable storage media (e.g., non-volatile media, volatile media). Non-volatile media include, for example, optical or magnetic disks. Volatile media include, for example, dynamic memory. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape, other magnetic media, CD-ROMs, CDRWs, DVDs, other optical media, punch cards, paper tape, optical mark sheets, other physical media having a pattern of holes or other optically recognizable indicia, RAM, PROM, EPROM, FLASH-EPROM, EEPROM, flash memory, other memory chips or cartridges, or other media from which a computer can read. The term computer-readable storage medium is used herein to refer to computer-readable media.
[0059] One aspect of the present disclosure relates to a method that includes processing, by a processor, a data file that includes one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The method also includes causing one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields included in the graphical user interface. The method further includes processing the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The method further includes causing the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0060] Another aspect of the present specification relates to an apparatus comprising: a processor; and a memory storing instructions that, when executed by the processor, cause the apparatus to process a data file including one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The apparatus is also caused to cause one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields among a plurality of parameter fields included in the graphical user interface. The apparatus is further caused to process the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The apparatus is further caused to cause the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0061] Another aspect of the present specification relates to a non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, cause an apparatus to process a data file including one or more parameters for configuring a network function provided by a network device. The data file is processed to recognize and extract one or more parameters included in the data file. The apparatus is also caused to cause one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields included in the plurality of parameter fields included in the graphical user interface. The apparatus is further caused to process the parameters included in the parameter fields in the graphical user interface to generate a JavaScript Object Notation (JSON) configuration file. The apparatus is further caused to cause the JSON configuration file to be transmitted to the network device to implement the network function according to the JSON configuration file.
[0062] The foregoing outlines features of some embodiments so that those skilled in the art may better understand aspects of the present disclosure. Those skilled in the art will appreciate that they may readily use this disclosure as a basis for designing or modifying other processes and structures to carry out the same purposes and / or achieve the same advantages of the embodiments introduced herein. Those skilled in the art should also recognize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the present disclosure.
Claims
1. processing, by a processor, a data file containing one or more parameters for configuring a network function provided by a network device, the data file being processed to recognize and extract the one or more parameters contained in the data file; causing one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface, wherein the graphical user interface is configured to facilitate generating a single JavaScript Object Notation (JSON) configuration file including a first configuration and a second configuration, the first configuration and the second configuration indicating settings of the network feature to be implemented by the network device at different times; processing parameters contained in the parameter fields in the graphical user interface to generate the single JSON configuration file; causing the single JSON configuration file to be transmitted to the network device to implement the network function according to the single JSON configuration file; A method comprising:
2. 10. The method of claim 1, further comprising: in response to determining that one or more of the parameter fields included in the graphical user interface are empty and determining that the one or more parameters extracted from the data file lack a mapping to the one or more of the parameter fields determined to be empty, obtaining one or more database parameters to fill the one or more of the parameter fields determined to be empty before generating the single JSON configuration file.
3. The method of claim 1 , wherein the data file is a raw data file in a binary interchange file format.
4. 4. The method of claim 3, wherein the raw data file is based on a template including one or more input fields configured to receive the one or more parameters and information for configuring the network function and to facilitate the mapping between the one or more parameters extracted from the data file and the one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface.
5. The method of claim 1 , wherein the at least one of the parameter fields included in the graphical user interface is configured to be modified based on user input indicating a selection from a drop-down menu, a list, an array, or a text input.
6. 2. The method of claim 1 , wherein the network device is one of a plurality of network devices included in a communications network implemented by a network orchestrator, and the single JSON configuration file is generated by a configuration manager external to the network orchestrator.
7. 7. The method of claim 6, wherein the single JSON configuration file is sent by the configuration manager to the network devices for implementing the network function over a communication channel that is not intercepted by the network orchestrator.
8. The method of claim 6 , wherein the single JSON configuration file is sent by the configuration manager directly to the network device for implementing the network function.
9. 7. The method of claim 6, wherein the single JSON configuration file is transmitted to the network device via a user device having connectivity to the configuration manager and a display on which the graphical user interface is output.
10. The method of claim 1 , wherein the first configuration and the second configuration for the network function are implemented by the network device according to scheduling parameters included in the data file.
11. 1. An apparatus comprising: a processor; When executed by the processor, the device processing a data file containing one or more parameters for configuring a network function provided by a network device, the data file being processed to recognize and extract the one or more parameters contained in the data file; causing one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface, wherein the graphical user interface is configured to facilitate generating a single JavaScript Object Notation (JSON) configuration file including a first configuration and a second configuration, the first configuration and the second configuration indicating settings of the network feature to be implemented by the network device at different times; processing parameters contained in the parameter fields in the graphical user interface to generate the single JSON configuration file; causing the single JSON configuration file to be transmitted to the network device to implement the network function according to the single JSON configuration file; a memory storing an instruction to perform the An apparatus comprising:
12. The device, 12. The apparatus of claim 11, wherein in response to determining that one or more of the parameter fields included in the graphical user interface are empty and determining that the one or more parameters extracted from the data file lack a mapping to the one or more of the parameter fields determined to be empty, the apparatus is further caused to obtain one or more database parameters to fill the one or more of the parameter fields determined to be empty before generating the single JSON configuration file.
13. The apparatus of claim 11 , wherein the data file is a raw data file in a binary interchange file format.
14. 14. The apparatus of claim 13, wherein the raw data file is based on a template including one or more input fields configured to receive the one or more parameters and information for configuring the network function and to facilitate the mapping between the one or more parameters extracted from the data file and the one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface.
15. The apparatus of claim 11 , wherein the at least one of the parameter fields included in the graphical user interface is configured to be modified based on user input indicating a selection from a drop-down menu, a list, an array, or a text entry.
16. 12. The apparatus of claim 11, wherein the network device is one of a plurality of network devices included in a communications network implemented by a network orchestrator, and the single JSON configuration file is generated by a configuration manager external to the network orchestrator.
17. 17. The apparatus of claim 16, wherein the single JSON configuration file is sent by the configuration manager to the network devices for implementing the network function over a communication channel that is not intercepted by the network orchestrator.
18. 17. The apparatus of claim 16, wherein the single JSON configuration file is sent by the configuration manager directly to the network device to implement the network function.
19. The apparatus of claim 11 , wherein the first configuration and the second configuration for the network function are implemented by the network device according to scheduling parameters included in the data file.
20. When executed by the processor, the apparatus processing a data file containing one or more parameters for configuring a network function provided by a network device, the data file being processed to recognize and extract the one or more parameters contained in the data file; causing one or more of a plurality of parameter fields included in a graphical user interface to be filled with the one or more parameters extracted from the data file according to a mapping between the one or more parameters extracted from the data file and one or more corresponding parameter fields of the plurality of parameter fields included in the graphical user interface, wherein the graphical user interface is configured to facilitate generating a single JavaScript Object Notation (JSON) configuration file including a first configuration and a second configuration, the first configuration and the second configuration indicating settings of the network feature to be implemented by the network device at different times; processing parameters contained in the parameter fields in the graphical user interface to generate the single JSON configuration file; causing the single JSON configuration file to be transmitted to the network device to implement the network function according to the single JSON configuration file; A non-transitory computer-readable medium having stored thereon instructions to cause a