Abstract: ABSTRACT METHOD AND SYSTEM FOR MANAGING A COMMAND LINE INTERFACE (CLI) PLATFORM The present disclosure relates to a system (108) and a method (600) for managing a Command Line Interface (CLI) platform (402). The system (108) includes a receiving unit (210) to receive a registration request via a User Equipment (UE) (102). The system (108) includes a validating unit (212) to validate a user credential associated with a user of UE. The system (108) includes a session establishment unit (216) to establish a session between the UE (102) and the one or more applications (404). The system (108) includes a receiving unit (210) to receive a command request. The system (108) includes a selecting unit (218) to select the set of commands. The system (108) includes the receiving unit (210) to receive one or more execute command requests. The system (108) includes the transmitting unit (214) to transmit the one or more execute command requests to the one or more applications (404). Ref. Fig. 2
DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
METHOD AND SYSTEM FOR MANAGING A COMMAND LINE INTERFACE (CLI) PLATFORM
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION
THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.
FIELD OF THE INVENTION
[0001] The present invention relates to Command Line Interface (CLI) platforms, more particularly relates to a method and a system of managing the CLI platforms.
BACKGROUND OF THE INVENTION
[0002] In general, a Command Line Interface (CLI) is a text-based User Interface (UI) used to run programs, manage computer files and interact with the computer. The CLI is coupled with applications or devices in the communication network. The applications may include, but are not limited to, Linux, Oracle, my SQL, etc. The CLI being coupled with applications or devices is a concept of system design and computing where every hardware and software component is linked together in such a manner that each component is dependent upon each other.
[0003] In a normal functioning scenario between a user and an application, the user may interact with the application using the CLI by typing in text (commands). Generally, every application consists of their respective CLI, which is exclusive to the said application. In this condition, the CLI is said to be coupled tightly, therefore the CLI may not be able to be decoupled from the application. In other words, the CLI will not be able communicate with the other applications in the same communication network. Therefore, the user may have to use different CLIs for other applications. For example, the CLI used for application A may not be used for application B.
[0004] Further, when the CLI has been assigned to the respective application, initially the said CLI would have to be configured for the respective application. Going forward, in case the said CLI has to be reconfigured/modified, then it is not possible and therefore, a new CLI may have to be assigned to the respective application in order to configure/modify the CLI. For example, if CLI 1 has been assigned to application A, then in the event, CLI 1 has to be reconfigured/modified-which is not possible, then a new CLI, let us say CLI 2 has to be assigned to application A.
[0005] In view of the above, in order for every application to communicate, there is a need for a new CLI and further in case the current CLI has to be configured/modified which is not possible, then new CLI has to be assigned. Therefore, the process of assigning and configuring CLIs for every application is a cumbersome and time-consuming task and due to which the developers have to redevelop an entire application even for minute modifications, thereby slowing down the development and designing process of applications.
[0006] In view of the above, there is a dire need for a system and method for managing CLI platform, which ensures that time consumed for deploying the CLI for every application is substantially reduced.
SUMMARY OF THE INVENTION
[0007] One or more embodiments of the present disclosure provide a method and a system for managing a Command Line Interface (CLI) platform.
[0008] In one aspect of the present invention, the system for managing the Command Line Interface (CLI) platform is disclosed. The system includes a receiving unit configured to receive a registration request via a User Equipment (UE) to execute one or more applications. The system further includes a validation unit configured to validate a user credential associated with a user of UE, on receipt of the registration request. The system further includes a session establishment unit configured to establish, a session between the UE and the one or more applications on successful validation of the user credential associated with the user of the UE. The receiving unit is further configured to receive a command request pertaining to retrieve a set of commands to aid in execution/operation of the one or more applications upon successful validation of the user credential. The system further includes a selecting unit configured to select, the set of commands required for the execution/operation of the one or more applications by the UE upon retrieval of the set of commands from the one or more applications. The receiving unit is further configured to receive one or more execute command requests via the UE upon receipt of the set of commands. The system further includes the transmitting unit configured to transmit, the one or more execute command requests to the one or more applications.
[0009] In an embodiment, the registration request comprises the user credential associated with a user of the UE. Upon validation of the registration request, the user is registered at each of the one or more applications.
[0010] In an embodiment, the transmitting unit is configured to transmit a response indicating lack of permission to access the one or more applications to the UE, upon unsuccessful validation of the user credential.
[0011] In an embodiment, the set of commands is customized based on requirements of the user, and wherein the set of commands is retrieved from the one or more applications.
[0012] In an embodiment, the receiving unit is configured to receive an execute command response from the one or more applications. The execute command response indicates a status of the execution of the one or more execute command requests at the one or more applications.
[0013] In an embodiment, the transmitting unit is configured to transmit the execute command response to the user of the UE, upon receipt of the execute command response.
[0014] In another aspect of the present invention, the method of managing a Command Line Interface (CLI) platform is disclosed. The method includes the step of receiving a registration request via a User Equipment (UE) to execute one or more applications. The method further includes the step of validating a user credential associated with a user of UE, on receipt of the registration request. The method further includes the step of establishing a session between the UE and the one or more applications on successful validation of the user credential associated with the user of the UE. The method further includes the step of receiving a command request pertaining to retrieve a set of commands to aid in execution/operation of the one or more applications upon successful validation of the user credential. The method further includes the step of selecting the set of commands required for the execution/operation of the one or more applications by the UE upon retrieval of the set of commands from the one or more applications. The method further includes the step of receiving one or more execute command requests via the UE. The method further includes the step of transmitting the one or more execute command requests to the one or more applications.
[0015] In another aspect of the invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions is disclosed. The computer-readable instructions are executed by a processor. The processor is configured to receive a registration request via a user interface of a User Equipment to execute one or more applications. The processor is configured to validate a user credential associated with a user of UE, on receipt of the registration request. The processor is configured to establish a session between the UE and the one or more applications on successful validation of the user credential associated with the user of the UE. The processor is configured to receive a command request pertaining to retrieve a set of commands to aid in execution/operation of the one or more applications upon successful validation of the user credential. The processor is configured to select the set of commands required for the execution/operation of the one or more applications by the UE upon retrieval of the set of commands from the one or more applications. The processor is configured to receive one or more execute command requests via the UE. The processor is configured to transmit the one or more execute command requests to the one or more applications.
[0016] In another aspect of invention, User Equipment (UE) is disclosed. The UE includes one or more primary processors communicatively coupled to one or more processors of a system and with a memory of the UE. The processor causes the UE to transmit a registration request to execute one or more applications. Further, the UE is configured to select the set of commands for the execution/operation of the one or more applications and transmit one or more execute command request for the execution/operation of the one or more applications.
[0017] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0019] FIG. 1 is an exemplary block diagram of an environment for managing a Command Line Interface (CLI) platform, according to one or more embodiments of the present invention;
[0020] FIG. 2 is an exemplary block diagram of a system for managing the CLI platform, according to one or more embodiments of the present invention;
[0021] FIG. 3 is a schematic representation of a workflow of the system of FIG. 1, according to the one or more embodiments of the present invention;
[0022] FIG. 4 is an exemplary block diagram of an architecture implemented in the system of the FIG. 2, according to one or more embodiments of the present invention;
[0023] FIG. 5 is a signal flow diagram for managing the CLI platform, according to one or more embodiments of the present invention; and
[0024] FIG. 6 is a schematic representation of a method of managing the CLI platform, according to one or more embodiments of the present invention.
[0025] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0026] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0027] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0028] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0029] The present invention provides a system and method for managing a Command Line Interface (CLI) platform. The present invention is able to ensure that the time consumed for deploying a CLI for each application in the communication network is substantially reduced. The present invention enhances efficiency by configuring the CLI in real time according to the respective application in the communication network. In other words, the present invention provides a unique approach of implementing a universal CLI platform or template that may support all the applications in the communication network. In particular, the universal CLI platform may be configured in real time in such a way that it may be used as a single CLI to connect multiple applications parallelly in the communication network. Due to the universal CLI platform there is no need to deploy separate CLIs for every application in the communication network
[0030] FIG. 1 illustrates an exemplary block diagram of an environment 100 for managing a Command Line Interface (CLI) platform, according to one or more embodiments of the present disclosure. In this regard, the environment 100 includes a User Equipment (UE) 102, a server 104, a network 106 and a system 108 communicably coupled to each other for managing the CLI platform 402. The CLI is text-based user interface 206 used to interact with software and operating systems. The CLI relies on the textual input. More specifically, users provide commands via a console or a terminal window and the system 108 executes the commands to perform various tasks such as file manipulation, program execution or system configuration. The managing of the CLI platform 402 involves overseeing and controlling the interaction between the users and the system 108 or application through the CLI. The user is at least one of system administrator, developer or end user.
[0031] As per the illustrated embodiment and for the purpose of description and illustration, the UE 102 includes, but not limited to, a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the UE 102 may include a plurality of UEs as per the requirement. For ease of reference, each of the first UE 102a, the second UE 102b, and the third UE 102c, will hereinafter be collectively and individually referred to as the “User Equipment (UE) 102”.
[0032] In an embodiment, the UE 102 is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as a smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0033] The environment 100 includes the server 104 accessible via the network 106. The server 104 may include, by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
[0034] The network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0035] The network 106 may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network 106 may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, a VOIP or some combination thereof.
[0036] The environment 100 further includes the system 108 communicably coupled to the server 104 and the UE 102 via the network 106. The system 108 is configured to manage the CLI platform 402. As per one or more embodiments, the system 108 is adapted to be embedded within the server 104 or embedded as an individual entity.
[0037] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0038] FIG. 2 is an exemplary block diagram of the system 108 for managing the CLI platform 402, according to one or more embodiments of the present invention.
[0039] As per the illustrated embodiment, the system 108 includes one or more processors 202, a memory 204, a user interface 206, and a database 208. For the purpose of description and explanation, the description will be explained with respect to one processor 202 and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the system 108 may include more than one processor 202 as per the requirement of the network 106. The one or more processors 202, hereinafter referred to as the processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0040] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0041] In an embodiment, the user interface 206 includes a variety of interfaces, for example, interfaces for a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The user interface 206 facilitates communication of the system 108. In one embodiment, the user interface 206 provides a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, the UE 102 and the database 208.
[0042] The database 208 is one of, but not limited to, a centralized database, a cloud-based database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of database 208 types are non-limiting and may not be mutually exclusive e.g., a database can be both commercial and cloud-based, or both relational and open-source, etc.
[0043] In order for the system 108 to manage the CLI platform 402, the processor 202 includes one or more modules. In one embodiment, the one or more modules includes, but not limited to, a receiving unit 210, a validating unit 212, a transmitting unit 214, a session establishment unit 216, and a selecting unit 218 communicably coupled to each other for managing the CLI platform 402.
[0044] In one embodiment, the one or more modules includes, but is not limited to, the receiving unit 210, the validating unit 212, the transmitting unit 214, the session establishment unit 216, and the selecting unit 218 can be used in combination or interchangeably for managing the CLI platform 402.
[0045] The receiving unit 210, the validating unit 212, the transmitting unit 214, the session establishment unit 216, and the selecting unit 218 in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0046] In one embodiment, the receiving unit 210 is configured to receive a registration request via the UE 102. The registration request is received from the user to execute one or more applications 404. More specifically, the registration request refers to a formal request sent by the user to initiate interaction with one or more applications 404. The registration request comprises the user credential associated with a user of the UE 102. The user credentials refer to the information provided by the user of the UE 102 that is used to authenticate their identity and authorize their access to the one or more applications 404. The user credentials include, but are not limited to username, password, biometric data, security keys. The one or more applications 404 refers to the software programs or services that the user wishes to interact with through the CLI platform 402. The one or more applications 404 includes, but are not limited to standalone programs, system utilities, network services, custom or proprietary software. The standalone programs are independent software programs that perform specific tasks such as file management, data processing or network configuration. The system utilities include tools or utilities that are part of the operating system or network environment used for maintenance, monitoring or configuration purposes. The network services are the services running on the server 104 or within the network 106, such as database management systems, web servers, or network monitoring tools, which can be managed and controlled via the CLI. The custom or proprietary software is a specialized software developed for specific organizational needs that is required for configuration, deployment, or management.
[0047] Upon receiving the registration request, the validating unit 212 is configured to validate the user credentials associated with the user of the UE 102. The user credentials associated with the user of the UE 102 is validated by comparing the user credentials associated with the user of the UE 102 with the user credentials previously stored in the database 208. Thereafter, if the user credentials associated with the user of the UE 102 does not match with the user credentials previously stored in the database 208, then the user credentials associated with the user of the UE 102 is invalid. If the user credentials associated with the user of the UE 102 is invalid, then the transmitting unit 214 is configured to transmit a response indicating the invalidity of the user credentials to the user of the UE 102. The response indicates the lack of permission to access the one or more applications 404 to the user of the UE 102. Alternatively, if the user credentials associated with the user of the UE 102 matches with the user credentials previously stored in the database 208, then the user credentials associated with the user of the UE 102 is valid.
[0048] Upon successful validation of the user credential associated with the user of the UE 102, the session establishment unit 216 is configured to establish a session between the UE 102 and the one or more applications 404. The session refers to a temporary interactive connection established between the UE 102 and the one or more applications 404. The session enables the user of the UE 102 to communicate with, manage, and execute commands on the applications in a secure and controlled manner. In an embodiment, upon validation of the registration request, the user is registered at each of the one or more applications 404.
[0049] Subsequently, upon successful validation of the user credentials and the session establishment, the receiving unit 210 is configured to receive a command request from the user of the UE 102. In particular, the user transmits the command request pertaining to retrieve a set of commands to aid in execution /operation of the one or more applications 404. The command request is initiated by the user to retrieve the set of commands that are necessary or helpful for interacting with the one or more applications 404. The set of commands refers to a group of specific instructions that the user can execute through the CLI to interact with the one or more applications 404. The specific instructions include, but are not limited to, operational instructions, configuration instruction, diagnostic instruction, data retrieval instruction. In an embodiment, the set of commands is retrieved from the one or more applications 404. Further, the set of commands is customized based on requirements of the user. More specifically, the set of commands are customized based on the user’s role, access level or the specific requirements of the tasks that the user need to perform by the one or more applications 404.
[0050] Upon retrieval of the set of commands from the one or more applications 404, the selecting unit 218 is configured to select the set of commands. The set of commands are selected for the execution /operation of the one or more applications 404. The set of commands are selected based on the requirements of the user, the context of the application, and the operations that need to be performed by the UE 102. The specific requirements refer to the particular needs, preferences, and constraints associated with the user and the tasks they need to perform on the CLI platform 402.
[0051] Thereafter, the receiving unit 210 is configured to receive one or more execute command requests via the UE 102. The one or more execute command requests comprises at least one command selected from the set of commands to aid in execution/operation of the one or more applications 404. The one or more execute commands refers to commands that the user inputs via the CLI to initiate and carry out actions or operations within the one or more applications 404.
[0052] Upon receiving the one or more execute command requests from the user of the UE 102, the transmitting unit 214 is configured to transmit the one or more execute command requests to the one or more applications 404. The one or more execute commands are intended to execute specific actions such as starting a service, performing a configuration change, retrieving data, stopping a process etc., within the one or more applications 404.
[0053] Upon executing the one or more execute commands at the one or more applications 404, the receiving unit 210 is configured to receive an execute command response from the one or more applications 404. The execute command response indicates a status of the execution of the one or more execute command requests at the one or more applications 404. The status of the execution of the one or more execute command requests is at least one of success message, error message, failure message or warning message. Upon receipt of the execute command response, the transmitting unit 214 is configured to transmit the execute command response to the user of the UE 102.
[0054] Therefore, by managing the CLI platform 402, the system 108 helps in retrieving and selecting relevant set of commands to the user based on their role, application context, and specific needs. The system 108 prevents unauthorized access, thereby protecting sensitive operations and data within the applications. Further, the system 108 enhances user experience by providing transparency and clarity on the results of their commands, enabling faster troubleshooting and decision-making.
[0055] FIG. 3 describes a preferred embodiment of the system 108 of FIG. 2, according to various embodiments of the present invention. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the first UE 102a and the system 108 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0056] As mentioned earlier in FIG. 1, each of the first UE 102a, the second UE 102b, and the third UE 102c may include an external storage device, a bus, a main memory, a read-only memory, a mass storage device, communication port(s), and a processor. The exemplary embodiment as illustrated in FIG. 3 will be explained with respect to the first UE 102a without deviating from the scope of the present disclosure and the limiting the scope of the present disclosure. The first UE 102a includes one or more primary processors 302 communicably coupled to the one or more processors 202 of the system 108.
[0057] The one or more primary processors 302 are coupled with a memory 304 storing instructions which are executed by the one or more primary processors 302. Execution of the stored instructions by the one or more primary processors 302 enables the first UE 102a to transmit the registration request to execute one or more applications 404. Further, the first UE 102a is configured to select the set of commands for the execution /operation of the one or more applications 404. Further, the first UE 102a transmits the one or more execute commands for the execution /operation of the one or more applications 404.
[0058] As mentioned earlier in FIG. 2, the one or more processors 202 of the system 108 is configured to manage the CLI platform 402. As per the illustrated embodiment, the system 108 includes the one or more processors 202, the memory 204, the user interface 206, and the database 208. The operations and functions of the one or more processors 202, the memory 204, the user interface 206, and the database 208 are already explained in FIG. 2. For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
[0059] Further, the processor 202 includes the receiving unit 210, the validating unit 212, the transmitting unit 214, the session establishment unit 216, and the selecting unit 218. The operations and functions of the receiving unit 210, the validating unit 212, the transmitting unit 214, the session establishment unit 216, and the selecting unit 218 are already explained in FIG. 2. Hence, for the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition. The limited description provided for the system 108 in FIG. 3, should be read with the description as provided for the system 108 in the FIG. 2 above, and should not be construed as limiting the scope of the present disclosure.
[0060] FIG. 4 is an exemplary block diagram of an architecture 400 of the system 108 for managing the CLI platform 402, according to one or more embodiments of the present invention.
[0061] The architecture 400 includes the Command Line Interface (CLI) platform 402 and plurality of applications 404. The plurality of applications 404 includes application 1, application 2, application 3… application n. In an embodiment the plurality of applications 404 is also termed as ‘one or more applications 404’ in the description.
[0062] In an embodiment, the CLI platform 402 is at least one of a Universal Command Line Interface (UCLI) platform. In an embodiment, the CLI platform 402 is a generic template driven command-line interface (CLI) for interacting with plurality of applications 404 that support Representational State Transfer (REST). The REST refers to the standard through which the CLI platform 402 interacts with the plurality of applications 404. In particular, the CLI platform 402 communicates with the plurality of applications 404 using standard Hypertext Transfer Protocol (HTTP) methods such as GET, POST, PUT, DELETE, etc. The plurality of application 404 includes different software applications or services that are managed via the CLI platform 402.
[0063] In an embodiment, the registration request is received at the CLI platform 402 from the user of the UE 102. The registration request comprises the user credentials associated with the user of the UE 102. Upon receiving the request, the CLI platform 402 transmits the registration request to the plurality of applications 404 for validating the user credentials associated with the user of the UE 102. Upon validating the user credentials associated with the user of the UE 102, if the user credentials associated with the user of the UE 102 is invalid, the CLI platform 402 transmits the response indicating lack of permission to access the plurality of applications 404 to the user of the UE 102. Alternatively, if the user credentials associated with the user of the UE 102 is valid, then the CLI platform 402 establishes the session between the UE 102 and the plurality of applications 404. In an embodiment, upon validation of the registration request, the user of the UE 102 is registered at each of the plurality of applications 404.
[0064] Thereafter, the CLI platform 402 receives the command request from the user of the UE 102. The command request is to retrieve the set of commands to aid in execution/operation of the plurality of applications 404. Upon receiving the request, the CLI platform 402 transmits the set of commands to the user of the UE 102. The set of commands are transmitted to the user of the UE 102 for selecting the set of commands required for execution /operation of the plurality of applications 404.
[0065] Subsequently, the user of the UE 102 transmits the one or more execute commands request to the CLI platform 402. The one or more execute command requests comprises at least one command selected from the set of commands to aid in execution/operation of the plurality of applications 404. Upon receiving the one or more execute commands, the CLI platform 402 transmits the one or more execute commands to the plurality of applications for execution.
[0066] Upon receiving the execute commands the plurality of applications execute the commands and transmit the execute command response to the CLI platform 402. The execute command response indicates the status of the execution of the one or more execute command requests at the plurality of applications 404. Thereafter, CLI platform 402 transmits the execute command response to the user of the UE 102.
[0067] FIG. 5 is a signal flow diagram for managing the CLI platform 402, according to one or more embodiments of the present invention.
[0068] At step 502, the CLI platform 402 receives the registration request from the user of the UE 102. The registration request comprises the user credential associated with the user of the UE 102.
[0069] At step 504, upon receiving the registration request, the CLI platform 402 transmits the registration request to the plurality of applications 404 for validation. The plurality of applications 404 validates the user credentials associated with the user of the UE 102. More specifically, the plurality of applications 404 validates the user credentials associated with the user of the UE 102 by comparing the received user credentials associated with the user of the UE 102 with the previously present user credentials in the database 208.
[0070] At step 506, upon validating the user credentials associated with the user of the UE 102, if the user credentials associated with the user of the UE 102 is invalid or unsuccessful, then the CLI platform 402 transmits the response indicating lack of permission to access the plurality of applications 404. In an embodiment, the response is at least one of response 401. The response 401 refers to the HTTP status code 401 Unauthorized. The response 401 indicates that the request made by the user of the UE 102 lacks proper authentication credentials or credentials provide is invalid.
[0071] At step 508, upon validating the user credentials associated with the user of the UE 102, if the user credentials associated with the user of the UE 102 is valid or successful, then the CLI platform 402 transmits the response indicating the success in accessing the plurality of applications 404. In an embodiment, the response is at least one of response 200. The response 200 refers to the HTTP status code 200 OK. The response 200 indicates that the request made by the user of the UE 102 is valid. In an embodiment, upon validation of the registration request, the user of the UE 102 is registered at each of the plurality of applications 404. Subsequently, the UCLI platform 402 establishes the session between the UE 102 and the plurality of applications 404.
[0072] At step 510, upon successful validation of the user credentials, the user of the UE 102 transmits the command request pertaining to retrieve the set of commands to aid in execution /operations of the plurality of applications 404 to the CLI platform 402. The CLI platform 402 provides the set of commands to the user of the UE 102.
[0073] At step 512, thereafter, the user of the UE 102 selects the set of commands required for the execution /operations of the plurality of applications 404. Upon selecting the set of commands, the user of the UE 102 transmits the one or more execute command request to the CLI platform 402.
[0074] At step 514, upon receiving the one or more execute command requests, the CLI platform 402 transmits the one or more execute command requests to the plurality of applications 404. Subsequently, the plurality of applications 404 executes the one or more execute command requests and transmits the execute command response to the CLI platform 402. The execute command response indicates the status of the execution of the one or more execute command requests at the plurality of applications 404.
[0075] At step 516, Upon receiving the execute command response, the CLI platform 402 transmits the execute command response to the user of the UE 102.
[0076] FIG. 6 is a flow diagram of a method 600 for managing the CLI platform 402, according to one or more embodiments of the present invention. For the purpose of description, the method 600 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0077] At step 602, the method 600 includes the step of receiving the registration request via the UE 102 to execute the one or more applications 404 by the receiving unit 210. The registration request comprises the user credential associated with the user of the UE 102.
[0078] At step 604, the method 600 includes the step of validating the user credential associated with the user of the UE 102, on receipt of the registration request by the validating unit 212. Upon validation of the user credentials associated with the user of the UE 102, if the validation user credentials associated with the user of the UE 102 is invalid or unsuccessful, the response indicating lack of permission to access the one or more applications 404 is transmitted to the user of the UE 102.
[0079] At step 606, the method 600 includes the step of establishing the session between the UE 102 and the one or more applications 404 on successful validation of the user credential associated with the user of the UE 102 by the session establishment unit 216.
[0080] At step 608, the method 600 includes the step of receiving the command request pertaining to retrieve the set of commands to aid in execution /operation of the one or more applications 404 by the receiving unit 210 upon successful validation of the user credentials. The set of commands is customized based on requirements of the user and the set of commands is retrieved from the one or more applications 404.
[0081] At step 610, the method 600 includes the step of selecting the set of commands required for the execution /operation of the one or more applications 404 by the UE 102 upon retrieval of the set of commands from the one or more applications 404 by the selecting unit 218.
[0082] At step 612, the method 600 includes the step of receiving the one or more execute command requests via the UE 102 by the receiving unit 210. The one or more execute command requests comprises at least one command selected from the set of commands to aid in execution/operation of the one or more applications 404.
[0083] At step 614, the method 600 includes the step of transmitting the one or more execute command request to the one or more applications 404 by the transmitting unit 214. Thereafter, the execute command response from the one or more applications 404 is received. The execute command response indicates a status of the execution of the one or more execute command requests at the one or more applications 404. Subsequently, the execute command response is transmitted to the user of the UE 102.
[0084] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer-readable instructions are executed by the processor 202. The processor 202 is configured to receive the registration request via the UE 102 to execute the one or more applications 404. The processor 202 is further configured to validate the user credential associated with the user of UE 102, on receipt of the registration request. The processor 202 is further configured to establish the session between the UE 102 and the one or more applications 404 on successful validation of the user credential associated with the user of the UE 102. The processor 202 is further configured to receive the command request pertaining to retrieve the set of commands to aid in execution/operation of the one or more applications 404 upon successful validation of the user credential. The processor 202 is further configured to select the set of commands required for the execution/operation of the one or more applications 404 by the UE 102 upon retrieval of the set of commands from the one or more applications 404. The processor 202 is further configured to receive the one or more execute command requests via the UE 102. The processor 202 is further configured to transmit, the one or more execute command requests to the one or more applications 404.
[0085] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0086] The present disclosure incorporates technical advancement of retrieving and selecting relevant set of commands to the user based on their role, application context, and specific needs. The present invention prevents unauthorized access, thereby protecting sensitive operations and data within the applications. Further, the present invention enhances user experience by providing transparency and clarity on the results of their commands, enabling faster troubleshooting and decision-making. Furthermore, the present invention reduces the risk of executing inappropriate or unauthorized commands.
[0087] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.
REFERENCE NUMERALS
[0088] Environment- 100
[0089] User Equipment (UE)- 102
[0090] Server- 104
[0091] Network- 106
[0092] System -108
[0093] Processor- 202
[0094] Memory- 204
[0095] User Interface- 206
[0096] Database- 208
[0097] Receiving Unit- 210
[0098] Validating Unit- 212
[0099] Transmitting unit- 214
[00100] Session Establishment Unit- 216
[00101] Selecting Unit- 218
[00102] One or more primary processors- 302
[00103] Memory- 304
[00104] CLI platform- 402
[00105] Plurality of applications/one or more applications- 404
,CLAIMS:CLAIMS
We Claim:
1. A method (600) of managing a Command Line Interface (CLI) platform (402), the method (600) comprising the steps of:
receiving, by one or more processors (202), a registration request via a User Equipment (UE) (102) to execute one or more applications (404);
validating, by the one or more processors (202), a user credential associated with a user of UE (102), on receipt of the registration request;
establishing, by the one or more processors (202), a session between the UE (102) and the one or more applications on successful validation of the user credential associated with the user of the UE (102);
receiving, by the one or more processors (202), a command request pertaining to retrieve a set of commands to aid in execution/operation of the one or more applications (404) upon successful validation of the user credential;
selecting, by the one or more processors (202), the set of commands required for the execution/operation of the one or more applications (404) by the UE (102) upon retrieval of the set of commands from the one or more applications (404);
receiving, by the one or more processors, one or more execute command requests from the UE (102); and
transmitting, by the one or more processors (202), the one or more execute command requests to the one or more applications (404).
2. The method (600) as claimed in claim 1, wherein the registration request comprises the user credential associated with a user of the UE (102), and wherein upon validation of the registration request, the user is registered at each of the one or more applications (404).
3. The method (600) as claimed in claim 1, wherein upon unsuccessful validation of the user credential, the method (600) comprises the step of transmitting, by the one or more processors (202), a response indicating lack of permission to access the one or more applications to the UE (102).
4. The method (600) as claimed in claim 1, wherein the set of commands is customized based on inputs provided by the user, and wherein the set of commands is retrieved from the one or more applications (404).
5. The method (600) as claimed in claim 1, wherein the one or more execute command requests comprises at least one command selected from the set of commands to aid in execution/operation of the one or more applications (404).
6. The method (600) as claimed in claim 1, wherein the method (600) comprises the steps of:
receiving, by the one or more processors (202), an execute command response from the one or more applications (404), wherein the execute command response indicates a status of the execution of the one or more execute command requests at the one or more applications (404).
7. The method (600) as claimed in claim 1, wherein upon receipt of the execute command response, the method comprises the step of transmitting, by the one or more processors (202), the execute command response to the user of the UE (102).
8. A system (108) for managing a Command Line Interface (CLI) platform (402), the system (108) comprising:
a receiving unit (210) configured to receive, a registration request via a User Equipment (UE) (102) to execute one or more applications (404);
a validating unit (212) configured to validate, a user credential associated with a user of UE (102), on receipt of the registration request;
a session establishment unit (216) configured to establish, a session between the UE (102) and the one or more applications (404) on successful validation of the user credential associated with the user of the UE (102);
the receiving unit (210) configured to receive, a command request pertaining to retrieve a set of commands to aid in execution/operation of the one or more applications (404) upon successful validation of the user credential;
a selecting unit (218) configured to select, the set of commands required for the execution/operation of the one or more applications (404) by the UE (102) upon retrieval of the set of commands from the one or more applications (404);
the receiving unit (210) configured to receive, one or more execute command requests from the UE (102) upon receipt of the set of commands; and
a transmitting unit (214) configured to transmit, the one or more execute command requests to the one or more applications (404), thereby managing the CLI platform (402).
9. The system (108) as claimed in claim 8, wherein the registration request comprises the user credential associated with a user of the UE (102), wherein upon validation of the registration request, the user is registered at each of the one or more applications (404).
10. The system (108) as claimed in claim 8, wherein the transmitting unit (214) is configured to transmit, a response indicating lack of permission to access the one or more applications to the UE (102), upon unsuccessful validation of the user credential.
11. The system (108) as claimed in claim 8, wherein the set of commands is customized based on inputs provided by the user, and wherein the set of commands is retrieved from the one or more applications (404).
12. The system (108) as claimed in claim 8, wherein the one or more execute command requests comprises at least one command selected from the set of commands to aid in execution/operation of the one or more applications (404).
13. The system (108) as claimed in claim 8, wherein the receiving unit (210) is configured to:
receive, an execute command response from the one or more applications (404), wherein the execute command response indicates a status of the execution of the one or more execute command requests at the one or more applications (404).
14. The system (108) as claimed in claim 8, wherein the transmitting unit (214) is configured to transmit, the execute command response to the user of the UE (102), upon receipt of the execute command response.
15. A User Equipment (UE) (102), comprising:
one or more primary processors (302) communicatively coupled to one or more processors (202) of a system (108) and with a memory (304) of the UE (102), wherein said memory (304) stores instructions which when executed by the one or more primary processors (302) causes the UE (102) to:
transmit, a registration request to execute one or more applications (404),
select, the set of commands for the execution/operation of the one or more applications (404), and
transmit, one or more execute command request for the execution/operation of the one or more applications (404),
wherein the one or more processors (202) is configured to perform the steps as claimed in claim 1.
| # | Name | Date |
|---|---|---|
| 1 | 202321060015-STATEMENT OF UNDERTAKING (FORM 3) [06-09-2023(online)].pdf | 2023-09-06 |
| 2 | 202321060015-PROVISIONAL SPECIFICATION [06-09-2023(online)].pdf | 2023-09-06 |
| 3 | 202321060015-FORM 1 [06-09-2023(online)].pdf | 2023-09-06 |
| 4 | 202321060015-FIGURE OF ABSTRACT [06-09-2023(online)].pdf | 2023-09-06 |
| 5 | 202321060015-DRAWINGS [06-09-2023(online)].pdf | 2023-09-06 |
| 6 | 202321060015-DECLARATION OF INVENTORSHIP (FORM 5) [06-09-2023(online)].pdf | 2023-09-06 |
| 7 | 202321060015-FORM-26 [17-10-2023(online)].pdf | 2023-10-17 |
| 8 | 202321060015-Proof of Right [12-02-2024(online)].pdf | 2024-02-12 |
| 9 | 202321060015-DRAWING [02-09-2024(online)].pdf | 2024-09-02 |
| 10 | 202321060015-COMPLETE SPECIFICATION [02-09-2024(online)].pdf | 2024-09-02 |
| 11 | Abstract 1.jpg | 2024-09-24 |
| 12 | 202321060015-Power of Attorney [24-01-2025(online)].pdf | 2025-01-24 |
| 13 | 202321060015-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf | 2025-01-24 |
| 14 | 202321060015-Covering Letter [24-01-2025(online)].pdf | 2025-01-24 |
| 15 | 202321060015-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf | 2025-01-24 |
| 16 | 202321060015-FORM 3 [29-01-2025(online)].pdf | 2025-01-29 |
| 17 | 202321060015-FORM 18 [20-03-2025(online)].pdf | 2025-03-20 |