The present invention relevant to an information processing device, in particular, an information processing device preferable for providing a unified user interface even with respect to different application software.
Recently, a case where a communication terminal such as a wireless router performs various processings such as primary processing for data or protocol conversion, as an edge device, has increased. Further, a firmware over the air (FOTA) technology of implementing the update/addition of application software (hereinafter, simply referred to as an “application”) having a communication function has been established.
In such a case, the application to be used is different for each user, and even when the same application is modified to provide a different application, there is also a case where a slight function addition is performed. In addition, there are many cases where the application is developed by a plurality of people, and there is also a case where a developer not involved in the development of an information processing device designs only the function of the application. In the information processing device in which the application is daily updated and added as described above, it is extremely difficult to unify a user interface for the application. In addition, it is not efficient to change the user interface for each update. From such a background, a method for efficiently unifying the user interface for the application is required.
From the viewpoint of unifying the design of the user interface, for example, a technology of Patent Document 1 is proposed. In an information processing device described in Patent Document 1, in a case where a workflow processing unit executes a workflow, the design of a user interface that is commonly used by each function provider executing each step of the workflow is determined and designated to each function provider.
Accordingly, even in a case where a set of processings are executed by combining a plurality of extension programs in which the design of the user interface is not unified, the design of the user interface can be unified.
There is a possibility that the processings of the applications are independent from each other and are not performed in cooperation, in accordance with a use application of the information processing device. In addition, in a case where a new staff develops a new application, it is more efficient to develop the new application by separating the function such that function cooperation with the existing application is sparse. According to Patent Document 1 described above, in the information processing device in which the applications do not cooperate with each other, the design of the user interface is different for each application, and there is a concern that the manipulation of the user is inhibited. In addition, in a case where the generation of the same user interface as that of the other application is requested from the developer in order to unity the design of the user interface, there is a concern that a development efficiency is degraded.
An object of the present invention is to provide an information processing device that is capable of unifying a user interface regarding the setting of an application, for each application, of improving the operability of a user, and of improving a development efficiency of an application developer.
The configuration of an information processing device of the present invention, preferably, is an information processing device for executing application software, the information processing device holding a user interface definition file in which a user interface for the application software is defined, for each application software, in which the user interface definition file is designated with an attribute of a data type for each item for defining user interface object through which a setting item of the application software is inputted/outputted, and the information processing device generates the user interface object at which setting of the application software is performed on the basis of the user interface definition file.
According to the present invention, it is possible to provide an information processing device that is capable of unifying the user interface regarding the setting of the application, for each application, of improving the operability of a user, and of improving a development efficiency of an application developer.
Hereinafter, each embodiment according to the present invention will be described by using
The outline of the present invention is as follows.
An information processing device of the present invention holds a manifest file in which an element of an interface is defined, for each application. Then, a user interface object through which input/output with respect to a user is performed is generated with reference to the manifest file. The user interface object enables the user to visually recognize a display element or to input a command and data by a graphic user interface (GUI) and a character-based user interface (CUI).
Each application that is operated by the information processing device holds a setting file, a manifest file, and an execution file. Then, the application has a function of generating the user interface object from the manifest file.
The manifest file is described in a text (for example, Java script object notation (JSON) format that is visually easily to understand for humans. In the manifest file, an application ID, an ID, a name, a data type, a value range, and read-only setting of a setting/display item, and the like are described. In addition, a correspondence between an action name and the execution file, and an action trigger for executing an action are described. The action trigger, for example, is described in the form of being associated with a button on the GUI and of being booted in a case where the button is pressed.
In addition, the present invention can be applied to an information processing system including a client and a server. In such a case, when a user interface according to a GUI is provided, the user interface is displayed at the time of accessing the information processing device from a LAN through a browser, and the setting/display item described in the manifest for each application is displayed as a menu. In addition, when a user interface according to a CUI is provided, exchange can be performed through a character string to be displayed by TCP connection with respect to the information processing device by using a designated TCP port number.
Hereinafter, Embodiment 1 according to the present invention will be described by using
First, the configuration of an information processing device according to Embodiment 1 will be described by using
The information processing device of this embodiment is a device that is designed to execute an application, and a user 1 manipulates a GUI or a CUI of an information processing device 10, and thus, acquires information from the information processing device 10, executes an application, or performs the setting of the application. An application 20 of the information processing device 10 is separated for each function that is attained by the information processing device. As an example, in the case of an information processing device having a function as a communication terminal, the application 20 is separated in unit such as a router function, a serial communication function, and a protocol conversion function. As illustrated in
In addition, the information processing device of this embodiment is capable of executing a plurality of applications 20 (represented as 20-1, 20-2, . . . , in
The input/output unit 11 is a function unit that receives input from the user 1 or displays information of the information processing device 10 to the user. The application booting unit 12 is a function unit that boots the application or boots an application setting screen. The user interface object generating unit 13 is a function unit that generates a display/input/output element such as an object (a window or a text item, a command button, or the like to be displayed thereon, hereinafter, referred to as a “user interface object”) for providing a user interface regarding the application 20 in accordance with the manifest file 21. The user interface that is provided to the user may be a GUI or a CUI. The application setting unit 14 is a function unit that performs setting for executing the application, in accordance with the input of the user.
The manifest file 21 is a file in which the specification of the user interface object for providing the user interface that is provided to the user, such as a GUI and a CUI, is defined (the details will be described below). The setting file 22 is a file in which a condition for executing the application 20 is described, a default setting value is described as an initial value, and a setting value is rewritten by the manipulation of the user through a GUI or a CUI. The setting file, for example, is a JSON format (the details will be described below) file in which a setting item and the value thereof are paired. The execution file 23 is a file for executing the processing of the application, and is a shell file or a listing format file.
Next, a hardware/software configuration of the information processing device 10 will be described by using
The hardware configuration of the information processing device 10, for example, is attained by a general information processing device such as a personal computer illustrated in
In the information processing device 10, a central processing unit (CPU) 302, a main memory 304, a network interface (I/F) 306, a display I/F 308, an input/output I/F 310, and an auxiliary storage I/F 312 are associated by a bus.
The CPU 302 controls each unit of the information processing device 10, and loads and executes a required program in the main memory 304.
The main memory 304, in general, includes a volatile memory such as a RAM, and stores the program that is executed by the CPU 302, and data that is referred to by the CPU 302.
The network I/F 306 is an interface for connecting with a network 5.
The display I/F 308 is an interface for connecting a display device 320 such as liquid crystal display (LCD).
The input/output I/F 310 is an interface for connecting an input/output device. In an example of
The auxiliary storage I/F 312 is an interface for connecting an auxiliary storage device such as a hard disk drive (HDD) 350 or a solid state drive (SSD).
The HDD 350 has high storage capacity, and stores a program for executing this embodiment. In the information processing device 10, an input/output program 361, an application booting program 362, a user interface object generating program 363, and an application setting program 364 are installed.
Each of the input/output program 361, the application booting program 362, the user interface object generating program 363, and the application setting program 364 is a program for attaining each function of the input/output unit 11, the application booting unit 12, the user interface object generating unit 13, and the application setting unit 14.
In addition, the HDD 350 stores the manifest file 21 (represented as 21-1, 21-2, . . . , in
Next, a specific example of the manifest file in the Embodiment 1 will be described by using
The manifest file 21 is a file for defining a user interface regarding an application, or a user interface regarding an application. In this embodiment, an example is described in which the manifest file is described in a JSON format. The JSON format is a format in which a key and a value are separated by a colon in { }, as with {“key”:“value” }. The user interface object generating unit 13 of the information processing device of this embodiment 10 generates a HTML file for expressing the user interface object, on the basis of the manifest file 21.
Hereinafter, each key described in the manifest file 21 will be described.
Hereinafter, a setting key in each item of (K3) will be described.
Hereinafter, each type in (K3-6) will be described.
In addition, all types for designating a general numerical value as a numerical value, such as an int type, a float type, and a double type, can be designated.
Next, the example of GUI that is provided by the manifest file in Embodiment 1 will be described by using
An application selection menu screen 400 illustrated in
An application setting screen 420 illustrated in
The application setting unit 14 of the application 20 of the information processing device of this embodiment 10, on the basis of the value inputted to the application setting screen 420, reflects the value on the setting file.
A menu 430 is displayed on the left side of the screen, and a setting value input screen 440 is displayed on the right side. A link to the application selection menu screen 400 is displayed on the upper side of the screen. On the menu screen 430, an item in which (K3-2) menu key is set as true is displayed. On the setting value input screen 440, a setting item described in a manifest 113 is displayed. For an item 441 defined by the enum type, an option in which the set display name is enumerated is displayed by clicking an input box. For an item 442 defined by the array type, a setting value can be inputted in a table format. In addition, by pressing a line addition button 443, it is possible to add a line to the number of lines set by the max key. A setting save button 444 is a button for reflecting the inputted value and for rebooting the application. Until the setting save button 444 is pressed, the inputted setting value is not reflected.
Next, the CUI that is provided by the manifest file will be described by using
Hereinafter, a relationship between each command that is provided to the user by a CUI 500 and a description item of the manifest file 21 will be described.
As described above, according to this embodiment, in the application that is executed by the user and the setting of the application, a unified user interface is provided even to various applications by a developer only describing the manifest file. Accordingly, development effort with respect to the user interface of the developer of the application can be reduced.
In Embodiment 1, each application and the application setting interface are unified by using the manifest file 21. However, in a case where the information processing device 10 is utilized overseas, a display language of the GUI is changed in accordance with the country, and thus, it is necessary to replace the manifest file 21. In response to this, in this embodiment, the item of the manifest file 21 is added to respond to many languages of the GUI.
Hereinafter, Embodiment 2 will be described by using
Here, a specific example of a manifest file in Embodiment 2 will be described by using
Hereinafter, a key added to the manifest file 21 will be described.
Next, an example of the GUI that is provided by the manifest file in Embodiment 2 will be described by using
The application selection menu screen 400 of Embodiment 2 is as illustrated in
In addition, the application setting screen 420 of Embodiment 2 is as illustrated in
According to Embodiment 2, in the manifest file 21, by registering a plurality of languages in (K4) name key as a key and a value set, it is possible to switch the display language on the GUI by the language selection tab. Accordingly, in a case where the application is executed in different countries, it is possible to save many steps for replacing the manifest file 21.
In Embodiment 1 and Embodiment 2, all the items described in the manifest file 21 are displayed on the GUI. However, the displayed content may be different in accordance with a situation of referring to the GUI or the CUI. For example, an intermediate output value or the like is outputted onto the screen at the time of development or a failure, and whether or not the processing is suitably preformed is determined. The intermediate output value is not originally displayed to the user, and thus, is generally hidden when used by the user. As described above, it is necessary to delete a debug item in the manifest file 21 in order to hide the information, for each situation of referring to the GUI or the CUI 500.
In this embodiment, in order to reduce such steps, the item of the manifest file 21 for switching the display/non-display of the setting item is added.
Hereinafter, Embodiment 3 will be described, focusing on differences from Embodiment 1 and Embodiment 2.
Here, a specific example of a manifest file in Embodiment 3 will be described by using
Hereinafter, a key added to the manifest file 21 will be described.
In
Next, an example of the GUI that is provided by the manifest file in Embodiment 3 will be described
In the application setting screen 420 that is displayed in Embodiment 3, the setting item (setting 1-1-2, setting 1-1-5, and setting 1-1-6) in which (K3-10) hidden key is set as true is not displayed on the screen.
According to this embodiment, by setting (K3-10) hidden key as true in the manifest file 21, the set item is not displayed on the GUI or the CUI 500. Accordingly, the developer is capable of hiding an item that is outputted during debugging by slightly editing the manifest file 21.
In Embodiment 1, Embodiment 2, and Embodiment 3, the display of the setting item or the execution of the execution file 23 is available on the interface by the description of the manifest file 21. However, in the execution of the execution file 23, in the case of including open source software (OSS), a license is required to be displayed. Even though it is possible to display license information by editing the manifest file 21, it is not the original function, and thus, there is a concern that the display collapses.
This embodiment relates to a user interface that displays the license on the GUI by embedding the license information in the manifest file 21, in consideration of a response to the OSS.
Hereinafter, Embodiment 4 will be described, focusing on differences from Embodiment 1 to Embodiment 3.
Here, a specific example of a manifest file in Embodiment 4 will be described by using
Hereinafter, a key added to the manifest file 21 will be described.
Hereinafter, a key configuring (K5) will be described.
Next, an example of the GUI that is provided by the manifest file in Embodiment 4 will be described by using
The application setting screen 420 that is displayed by an information processing device according to Embodiment 4 is as illustrated in
According to this embodiment, by adding (K5) license key to the manifest file, a link page to the set license file of the OSS is automatically generated. Accordingly, when the developer utilizes the OSS, it is possible to display the license without directly editing the user interface.
In Embodiment 1, an example is described in which in the information processing device 10, the user interface for the application is defined, and the execution of the application and the setting of the application are performed on the basis of the user interface.
In this embodiment, in an information processing system including a client and a server, information for defining the user interface for the application, and a function of generating the user interface object on the basis of the information are secured for the server side.
First, the configuration of the information processing system according to Embodiment 5 will be described by using
In an information processing system 3 of this embodiment, a client 30 and a user interface providing server 50 are connected by the network 5.
The client 30 is an information processing device that executes the application and requests the provision of the user interface from the user interface providing server 50 through the network 5.
Information relevant to the user interface is transmitted in accordance with the request from the user interface providing server 50.
The client 30 includes each function unit of an input/output unit 31, a server interface unit 32, an application booting unit 33, and an application setting unit 34.
In addition, an application client side 40 (represented as 40-1, 40-2, . . . , in
As with the information processing device 10 of Embodiment 1, the input/output unit 31 is a function unit that receives the input from the user 1 or displays the information of the information processing device 10. The server interface unit 32 is a function unit that manages a communication interface with the server. As with Embodiment 1, the application booting unit 33 is also a function unit that that boots the application or boots the application setting screen.
In the case of the client 30 of this embodiment, when receiving the provision of the user interface, a command is sent to the user interface providing server 50 through the server interface unit 32, and information relevant to the user interface is received. As with Embodiment 1, the application setting unit 34 is also a function unit that performs the setting for executing the application, in accordance with the input of the user.
The user interface providing server 50 includes each function unit of a client interface unit 51 and a user interface object generating unit 52.
The client interface unit 51 is a function unit that manages a communication interface with the client. As with the information processing device 10 of Embodiment 1, the user interface object generating unit 52 is a function unit that generates a user interface object relevant to the application, in accordance with a manifest file 61. In this embodiment, information relevant to the user interface object is transmitted to the client 30 through the client interface unit 51.
The user interface providing server 50 holds a manifest file 61 (represented as 61-1, 61-2, . . . , in
Next, processing when the client sends a command for requesting the provision of the user interface to the user interface providing server will be described by using
In this embodiment, the client 30 and the user interface providing server 50 communicate with each other by a transmission protocol/internet protocol (TCP/IP).
In this embodiment, the manifest file 51 is provided in the application server side 60, there is an advantage that management is easily performed, and the unified user interface can be provided to many clients executing the application.
Number | Date | Country | Kind |
---|---|---|---|
2020-217716 | Dec 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/031057 | 8/24/2021 | WO |