WO2022113315A1 - ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム - Google Patents
ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム Download PDFInfo
- Publication number
- WO2022113315A1 WO2022113315A1 PCT/JP2020/044397 JP2020044397W WO2022113315A1 WO 2022113315 A1 WO2022113315 A1 WO 2022113315A1 JP 2020044397 W JP2020044397 W JP 2020044397W WO 2022113315 A1 WO2022113315 A1 WO 2022113315A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- base point
- additional
- screen
- user interface
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 89
- 230000008569 process Effects 0.000 claims description 59
- 239000008186 active pharmaceutical agent Substances 0.000 description 64
- 238000012544 monitoring process Methods 0.000 description 32
- 238000012545 processing Methods 0.000 description 30
- 230000008859 change Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 21
- 230000010365 information processing Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- KZSNJWFQEVHDMF-UHFFFAOYSA-M valinate Chemical compound CC(C)C(N)C([O-])=O KZSNJWFQEVHDMF-UHFFFAOYSA-M 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Definitions
- This disclosure relates to a user interface extension system, a user interface extension method, and a user interface extension program.
- UI extension technology displays an additional UI on the screen of an existing system to improve system operation.
- the conventional UI extension is targeted at Web systems.
- the conventional UI extension uses a method such as a proxy server, a browser add-on, or inter-process communication for the HTTP (Hypertext Transfer Protocol) response of the Web system or the DOM (Document Object Model) drawn on the Web browser. ..
- the conventional UI extension inserts HTML (HyperText MarkupLanguage) and JavaScript (registered trademark) into the Web system, thereby enabling the display of an additional UI.
- the present application has been made in view of the above, and aims to apply the user interface extension to a wide range of systems.
- the user interface extension system includes a base point search unit for searching a base point UI which is a base point for displaying an additional user interface (UI) added to the screen of the system from the screen of the system, and a background.
- a base point search unit for searching a base point UI which is a base point for displaying an additional user interface (UI) added to the screen of the system from the screen of the system, and a background.
- UI user interface
- the user interface extension can be applied to a wide range of systems.
- FIG. 1 is an explanatory diagram showing an example of a conventional UI extension.
- FIG. 2 is an explanatory diagram showing an example of UI extension according to an implementation example.
- FIG. 3A is an explanatory diagram showing an example of display control of an additional UI.
- FIG. 3B is an explanatory diagram showing an example of display control of the additional UI.
- FIG. 3C is an explanatory diagram showing an example of display control of an additional UI.
- FIG. 4 is a diagram showing an example of the user interface expansion system according to the embodiment.
- FIG. 5 is a diagram showing an example of a rule storage unit according to an embodiment.
- FIG. 6 is an explanatory diagram showing an example of a base point search process for searching for a base point UI that is a base point for displaying an additional UI.
- FIG. 7 is an explanatory diagram showing an example of a display control process for controlling the display of an additional UI.
- FIG. 8 is an explanatory diagram showing an example of a data distribution process in which data is distributed between an existing UI and an additional UI.
- FIG. 9A is an explanatory diagram showing an example of a timing generation process that generates a timing for redisplaying an additional UI.
- FIG. 9B is an explanatory diagram showing an example of a timing generation process that generates a timing for redisplaying an additional UI.
- FIG. 10 is a flowchart showing an example of a process for expanding the UI of the screen of the existing system, which is executed by the terminal device according to the embodiment.
- FIG. 10 is a flowchart showing an example of a process for expanding the UI of the screen of the existing system, which is executed by the terminal device according to the embodiment.
- FIG. 11 is a flowchart showing an example of a process for monitoring an existing system, which is executed by the terminal device according to the embodiment.
- FIG. 12 is a flowchart showing an example of a process for searching a base UI of an existing system, which is executed by the terminal device according to the embodiment.
- FIG. 13 is a flowchart showing an example of a process for controlling the display of an additional UI, which is executed by the terminal device according to the embodiment.
- FIG. 14 is a flowchart showing an example of a process for monitoring changes in an existing system, which is executed by the terminal device according to the embodiment.
- FIG. 15 is a flowchart showing an example of a process for distributing data between an existing UI and an additional UI, which is executed by the terminal device according to the embodiment.
- FIG. 16 is a diagram showing an example of a hardware configuration.
- UI extensions for Web systems have been proposed.
- the conventional UI extension displays an additional UI by inserting HTML into the DOM tree drawn on the Web browser.
- both the existing UI and the additional UI are in the DOM tree on the same web browser.
- data can be distributed between the existing UI and the additional UI by executing JavaScript that operates the DOM on the Web browser.
- the distribution of data involves, for example, reflecting the values entered in the additional UI in the existing UI.
- FIG. 1 is an explanatory diagram showing an example of a conventional UI extension.
- the screen 10 is a screen of a Web system (for example, a screen of an existing business system).
- the screen 10 includes the existing UI 11.
- the conventional UI extension displays the additional UI 12 by inserting an additional HTML into the DOM tree on the screen 10 of the Web system.
- an existing UI 11 and an additional UI 12 exist in the same Web browser.
- step S12 data is distributed between the existing UI 11 and the additional UI 12 by executing the API for operating the DOM tree with JavaScript (step S12).
- the existing UI 11 and the additional UI 12 are in the same web browser. Therefore, in the conventional UI extension, data can be distributed relatively easily by operating the DOM tree with a program (JavaScript) that operates in a Web browser.
- JavaScript JavaScript
- the conventional UI extension operates the DOM tree, it is difficult to apply the conventional UI extension to a system other than the Web system.
- the user interface extension system provides a UI extension that can be applied regardless of the implementation of the system.
- the user interface extension system operates a web browser having the same size as the screen of the existing system and having a transparent background at the upper part of this screen independently of this screen, and displays an additional UI on this web browser.
- the user interface extension system distributes data between existing and additional UIs that are completely independent of the additional UIs by using the Accessibility API in combination with keyboard emulation using image processing. ..
- FIG. 2 is an explanatory diagram showing an example of UI extension according to the implementation example.
- the screen 10 may be a screen of a system other than the Web system, or may be a screen of the Web system.
- the user interface extension system displays an additional UI on the independent Web browser 20 having a transparent background (step S21).
- the Web browser 20 is completely independent of the screen 10. That is, the process of the Web browser 20 is different from the process of the screen 10.
- the user interface extension system combines Accessibility API and virtual keyboard operation to distribute data between existing UI and additional UI (step). S22).
- the user interface extension system operates the existing system with the Accessibility API and reflects the contents of the additional UI in the existing UI.
- the user interface extension system virtually executes the copy / paste operation of the keyboard. Specifically, the user interface extension system copies the contents of the additional UI and pastes the contents into the existing UI, thereby reflecting the contents of the additional UI in the existing UI.
- the user interface expansion system can dramatically improve the operability of the business system without modifying the existing business system, thereby improving the efficiency of the business. Further, the user interface extension system can make it possible to apply the UI extension to a wide range of systems and services other than the Web system.
- UI extension technology has been proposed in order to update the business system in a timely manner.
- the UI extension technique for expanding the UI of a business system is discussed in detail in, for example, Patent Document 1 described above.
- the UI extension technology controls the display of the UI added to the screen of the business system.
- 3A, 3B and 3C are explanatory views showing an example of display control of an additional UI.
- the additional UI is displayed on the screen of the existing system, such as the screen of the business system.
- the base UI which is the base point of the display, is specified for the additional UI.
- the base UI is a UI that exists on the screen of an existing Web system. When this origin UI is displayed on the screen, the additional UI is displayed on the screen based on the relative coordinates from the origin UI.
- the "base point UI" may be referred to as the "base point UI”.
- the conventional UI extension inserts an additional UI at the end of the DOM tree that constitutes the screen of the existing system.
- the conventional UI extension can display an additional UI without the influence of directly modifying the screen of the existing Web system.
- the screen 30 of the existing system includes the existing UI 31 and the base point UI 32.
- the base point UI 32 is a UI that serves as a base point for displaying an additional UI 31 displayed on the screen 30 of the existing system.
- the arrow shown in FIG. 3A indicates the correspondence between the DOM tree of the screen and the appearance of the screen.
- the conventional UI extension displays the additional UI by inserting the HTML of the additional UI at the end of the DOM tree rendered in the Web browser.
- an additional UI 33 (text box) is displayed by the conventional UI extension.
- the HTML of the additional UI 33 is inserted into the DOM of the screen 30 of the existing system.
- systems other than the Web system do not have a DOM tree in the first place. Therefore, when the UI extension targets a system other than the Web system, the conventional UI extension may display the additional UI on the system screen by inserting the HTML of the additional UI into the DOM tree. Can not.
- the screen 30 of the existing system includes the existing UI 31 and the base UI 32. Further, the additional UI 33 is displayed on the screen 30 of the existing system.
- the base UI is specified from the UI displayed on the existing system screen in order to determine whether to display an additional UI. Then, when the base UI is displayed, the conventional UI extension controls to display the corresponding additional UI.
- the base point UI 32 is the base point UI corresponding to the additional UI 31. If the base UI 32 is displayed, the additional UI 33 is also displayed. If the base UI 32 is not displayed, then the additional UI 33 is not displayed either.
- the conventional UI extension targets the Web system.
- the API of JavaScript that operates the DOM tree is called (step S31).
- the conventional UI extension confirms whether or not the UI of the base point exists (step S32). For example, in the conventional UI extension, it is possible to easily check whether the base UI exists by checking the execution result of "document.getElementById (" text01 ”)" based on the id information. ..
- the screen 40 of the existing system includes an existing U41, an existing U42, and an additional UI43.
- the conventional UI extension distributes data between the UI displayed on the existing system and the additional UI. For example, when the value of the added UI (pull-down) is selected, the conventional UI extension reflects the information corresponding to the selected value in the UI (text box) of the existing system. As a result, the conventional UI extension realizes UI efficiency such as simplification of input.
- both the additional UI and the existing UI are in the same DOM tree rendered in the web browser. Therefore, in the conventional UI extension, the following two processes in data distribution can be easily realized by calling the API of JavaScript that operates the DOM tree (step S41).
- the first process is to reflect the operation for the additional UI in the existing UI of the system screen (step S42).
- the second process is to reflect the information of the existing UI of the system screen in the additional UI (step S43).
- the conventional UI extension when the conventional UI extension sets a value to an existing UI according to the selection of an additional UI, the conventional UI extension executes the following JavaScript.
- the conventional UI extension inserts an additional UI at the end of the DOM tree. Therefore, in the conventional UI extension, it is difficult to display an additional UI on the screen of a system having a GUI other than the Web system.
- the first process is a display process that displays an additional UI on the system screen.
- the second process is a specific process for specifying a UI as a base point.
- the third process is a distribution process for distributing data between an existing UI and an additional UI.
- the third process includes a process of reflecting the operation for the additional UI on the existing UI of the system screen and a process of reflecting the information of the existing UI of the system screen on the additional UI.
- the user interface extension system executes the process described below.
- the user interface extension system displays an additional UI on the system screen.
- the user interface extension system operates a web browser with a transparent background at the top of the system screen, independent of the system screen, and displays an additional UI on the transparent web browser.
- the user interface extension system specifies the UI that serves as the base point.
- the user interface extension system specifies the UI as a base point by the following two methods according to the implementation of the system.
- the first method is to specify the UI by the accessibility API using the property value of the UI that is the base point.
- the second method is to specify the UI by image processing such as pattern matching using the captured image of the UI as the base point.
- the user interface extension system distributes data between the existing UI and the additional UI.
- the user interface extension system distributes data by the following two methods depending on the implementation of the system.
- the user interface extension system uses the Accessibility API to acquire and modify the properties of the existing UI, thereby distributing the data.
- the user interface extension system distributes data via the clipboard by a keyboard copy and paste operation.
- the user interface extension system can apply the UI extension to a system other than the Web system.
- the user interface extension system can display an additional UI on the screen of a system having a GUI of a system other than the Web system.
- the user interface extension system can circulate data between existing UIs and additional UIs.
- FIG. 4 is a diagram showing an example of the user interface expansion system 1 according to the embodiment.
- the user interface expansion system 1 includes a terminal device 100 and a content providing device 200.
- the user interface expansion system 1 may include a plurality of terminal devices 100 and a plurality of content providing devices 200.
- the terminal device 100 and the content providing device 200 are connected to the network N by wire or wirelessly, respectively.
- the network N is, for example, a network such as the Internet, WAN (Wide Area Network), and LAN (Local Area Network).
- the components of the user interface expansion system 1 can communicate with each other via the network N.
- the terminal device 100 is an information processing device that executes processing for expanding the user interface.
- the terminal device 100 may be any type of information processing device including a client device.
- a configuration example of the terminal device 100 will be described in detail in the next section.
- the content providing device 200 is an information processing device used by the content provider.
- the content provider provides the content to the terminal device 100.
- the term "content" may include various information about the screen, such as the screen of an application (ie, a window) or the content of a web page.
- the content providing device 200 may be any type of information processing device including a server.
- the terminal device 100 has a communication unit 110, an input unit 120, an output unit 130, an existing system 140, a storage unit 150, and a control unit 160.
- the communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like.
- the communication unit 110 is connected to the network by wire or wirelessly.
- the communication unit 110 is communicably connected to the content providing device 200 via the network N.
- the communication unit 110 can send and receive information to and from the content providing device 200 via a network.
- the input unit 120 is an input device that receives various operations from the user of the terminal device 100.
- the input unit 120 is realized by a keyboard, a mouse, operation keys, or the like.
- the output unit 130 is a display device for displaying various information.
- the output unit 130 is realized by a liquid crystal display, an organic EL (Electro Luminescence) display, or the like.
- a touch panel is adopted for the terminal device 100, the input unit 120 and the output unit 130 are integrated.
- the existing system 140 is existing software such as a business system and various applications.
- the existing system 140 receives the content from the content providing device 200. Further, the existing system 140 has a UI. The received content is provided to the user of the terminal device 100 via this UI.
- the existing system 140 is shown as software installed in the terminal device 100, but is not limited thereto.
- the existing system 140 may be installed in the content providing device 200. However, it is assumed that the UI of the existing system 140 exists in the terminal device 100.
- the storage unit 150 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. As shown in FIG. 4, the storage unit 150 includes a rule storage unit 151 and a clipboard storage unit 152.
- the rule storage unit 151 stores the rules related to the system definition.
- the rule contains at least one system definition.
- FIG. 5 is a diagram showing an example of the rule storage unit 151 according to the embodiment.
- the rule storage unit 151 stores a rule including a plurality of system definitions.
- Each system definition includes a system determination condition, environment settings (monitoring interval, monitoring event) and at least one additional UI setting (base point definition, display condition, appearance definition, operation definition).
- the system judgment condition includes, for example, a process name (for example, myapplication.exe) and a window title name (for example, my application).
- the environment setting includes at least one of a monitoring interval indicating the timing for monitoring changes in the existing system or a monitoring event indicating a list of events used as changes in the existing system.
- a monitoring interval indicating the timing for monitoring changes in the existing system
- a monitoring event indicating a list of events used as changes in the existing system.
- preferences include monitoring intervals (eg, 5 seconds) and monitoring events (eg, mouse wheel events, window resizing events).
- Additional UI settings include base point definition, display condition, appearance definition or operation definition.
- the additional UI settings are 1) a base point definition that includes captured images or property values that are information about the UI of the existing system that is the base point when the added UI is displayed, and 2) the added UI is displayed. It includes at least one of a display condition indicating a condition, 3) an appearance definition indicating the appearance of the added UI, or 4) an operation definition indicating the behavior of the added UI.
- the clipboard storage unit 152 stores the clipboard.
- the clipboard is used by the data distribution unit 164, which will be described later.
- the control unit 160 is a controller, and for example, various programs (user interface expansion) stored in a storage device inside the terminal device 100 by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). It is realized by executing RAM or the like as a work area (corresponding to an example of a program). Further, the control unit 160 may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a GPU PPU (General Purpose Graphic Processing Unit).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- GPU PPU General Purpose Graphic Processing Unit
- the control unit 160 includes a first timing generation unit 161, a base point search unit 162, a display control unit 163, a data distribution unit 164, and a second timing generation unit 165. Realize or execute the functions and actions of information processing described below.
- One or more processors of the terminal device 100 can realize the function of each control unit in the control unit 160 by executing the instruction stored in the one or more memories of the terminal device 100.
- the internal configuration of the control unit 160 is not limited to the configuration shown in FIG. 4, and may be any other configuration as long as it is configured to perform information processing described later.
- the display control unit 163 may perform all or part of the information processing described later with respect to the units other than the display control unit 163.
- control unit 160 is implemented as a first application installed in the terminal device 100.
- existing system 140 described above is implemented as a second application installed in the terminal device 100.
- the first timing generation unit 161 determines the timing for searching the base point UI from the screen of the system. For example, the first timing generation unit 161 monitors the existing system 140. Then, the first timing generation unit 161 determines the timing for searching the base point UI from the screen of the existing system 140 based on whether the screen of the existing system 140 is visually displayed. In this way, the first timing generation unit 161 adjusts the timing for searching the base point UI.
- the first timing generation unit 161 can monitor the existing system 140 by using a method such as UI Automation or global hook.
- the first timing generation unit 161 acquires the system determination condition and the environment setting from all the system definitions of the rules stored in the rule storage unit 151.
- the first timing generation unit 161 determines whether or not the window of the system that matches the system determination condition is displayed in the foreground on the desktop every time the monitoring interval of the environment setting elapses.
- the base point search unit 162 is called by using all the additional UI settings included in the system definition as input.
- Base point search unit 162 searches the screen of this system for a base point UI that is a base point for displaying an additional UI added to the screen of the system. For example, the base point search unit 162 uses the additional UI setting stored in the rule stored in the rule storage unit 151 as an input. Then, the base point search unit 162 searches for a UI (base point UI) that matches the base point definition from the screen of the existing system 140 at the timing instructed by the first timing generation unit 161.
- the base point search unit 162 is called at the timing instructed by the first timing generation unit 161.
- the base point search unit 162 searches for a UI (base point UI) that matches the property value of the base point definition by using the accessibility API.
- the base point search unit 162 uses the captured image of the base point definition and the captured image showing the current display of the screen of the existing system as inputs. Then, the base point search unit 162 searches for a UI (base point UI) that matches the captured image of the base point definition by an arbitrary image processing method such as template matching.
- the base point search unit 162 acquires the value from the base point UI by the information processing (acquisition of the value) described later with respect to the data distribution unit 164. Then, the base point search unit 162 determines whether the value of the base point UI matches the display condition.
- the base point search unit 162 returns a match or a mismatch as a determination result. If the determination results match, the base point search unit 162 returns the coordinates and size of the base point UI together with the determination result. In addition, the base point search unit 162 adds the base point UI as a monitoring target to the second timing generation unit 165. If the base point UI is not found, the base point search unit 162 returns a discrepancy as a determination result.
- the base point search unit 162 identifies the base point UI to be displayed as an additional UI based on the property value of the UI used in the accessibility API and the result of image processing of the captured image of the system screen. ..
- FIG. 6 is an explanatory diagram showing an example of a base point search process for searching for a base point UI that is a base point for displaying an additional UI.
- the base point search unit 162 identifies the UI as the base point from the existing system (for example, the existing system 140).
- the UI extension targets the Web system
- the UI that is the base point can be easily specified by using the API of JavaScript that operates the DOM.
- the UI extension cannot utilize a unified mechanism such as JavaScript API.
- the base point search unit 162 specifies the UI that is the base point by using Accessibly API and image processing in combination in order to support the implementation of various systems.
- the rule stored in the rule storage unit 151 described above holds a base point definition for specifying a base point.
- the base point search unit 162 can set either the property value for specifying the base point UI in the accessibility API or the captured image for specifying the base point UI by image processing in this base point definition.
- the process 51 is a process of specifying the base point UI by the accessibility API.
- the base point search unit 162 can use the accessibility API depending on the implementation of the system. For example, in the implementation of WPF (Windows Presentation Foundation) of Windows (registered trademark), the base point search unit 162 can use UI Automation or the like. Further, in the implementation of Java (registered trademark) Swing or the like, the base point search unit 162 can use Java Access Bridge or the like. When the base point search unit 162 can use the accessibility API, the base point search unit 162 can acquire the property value of each UI constituting the system screen.
- WPF Windows Presentation Foundation
- Java registered trademark
- the base point search unit 162 can acquire the property value of each UI constituting the system screen.
- the base point search unit 162 can set a property value in the base point definition of the rule stored in the rule storage unit 151. In this case, the base point search unit 162 can sequentially acquire the property value of the UI of the target existing system by the accessibility API. The base point search unit 162 can specify the UI as the base point by determining whether or not there is an acquired property value that matches the property value of the base point definition.
- the process 52 is a process of specifying the base point UI by image processing.
- the accessibility API may not be available to the base point search unit 162.
- the base point search unit 162 can set the captured image as the base point definition.
- the base point search unit 162 can specify the UI as the base point by collating the current captured image on the system screen with the captured image set in the base point definition by image processing such as template matching.
- Display control unit 163 The display control unit 163 displays a new screen with a transparent background on top of the screen of the system. Then, the display control unit 163 displays an additional UI at a position based on the base point UI on this new screen.
- the display control unit 163 uses the additional UI setting stored in the rule stored in the rule storage unit 151 and the search result of the base point search unit 162 as inputs. Then, the display control unit 163 displays a Web browser having a transparent background whose window size matches the window size of the screen of the existing system 140 at the upper part of the screen of the existing system 140. Further, the display control unit 163 displays an additional UI on this Web browser according to the appearance definition.
- the display control unit 163 uses the determination result output by the base point search unit 162, the coordinates of the base point UI, and the size of the base point UI as inputs. If the determination results match, the display control unit 163 calculates the display position of the additional UI from the coordinates of the base point UI and the relative coordinates set in the appearance definition.
- the display control unit 163 When the corresponding additional UI is not displayed on the transparent Web browser, the display control unit 163 newly displays the additional UI at the calculated display position according to the HTML information set in the appearance definition. do. If the corresponding additional UI is already displayed, the display control unit 163 modifies the current display position of the additional UI to the calculated display position.
- the display control unit 163 hides the corresponding additional UI.
- the transparent web browser displays all the operation events that occurred in the area where the additional UI is not displayed at the bottom of the transparent web browser. It may be distributed to the system of. For example, the transparent Web browser may distribute all the operation events to the existing system without processing all the operation events in the area where the additional UI is not displayed.
- the display control unit 163 operates a Web browser with a transparent background, which is independent of the system screen, and displays an additional UI on the Web browser.
- FIG. 7 is an explanatory diagram showing an example of a display control process for controlling the display of an additional UI.
- the display control unit 163 displays an additional UI on the screen 60 of the system.
- the screen 60 of the system is a screen of an existing system.
- the display control unit 163 operates the Web browser 70 with a transparent background on the upper part of the Web browser 70 independently of the screen 60 of the system, and displays the UI 71 on the transparent Web browser 70.
- the screen 60 of the system may be implemented by WPF of Windows, Swing of Java, or the like.
- the UI 71 looks like the UI 71 has been added to the screen 60 of the original system, similar to the conventional UI extension.
- the data distribution unit 164 distributes data between the existing UI of the screen of the system and the additional UI. For example, the data distribution unit 164 uses the additional UI settings stored in the rules stored in the rule storage unit 151 as input. Then, the data distribution unit 164 is input to each UI between the additional UI displayed on the transparent Web browser by the display control unit 163 and the UI displayed on the existing system 140 according to the operation definition. Or, the displayed data is distributed to both parties.
- the data distribution unit 164 provides data distribution corresponding to at least one operation definition of value acquisition, value setting, and click operation stored in the rule stored in the rule storage unit 151.
- the data distribution unit 164 acquires the value displayed on the UI of the existing system 140. Then, the data distribution unit 164 reflects the acquired value as it is in the additional UI displayed on the transparent Web browser by the display control unit 163. Alternatively, the data distribution unit 164 processes or converts the acquired value and reflects the value in the additional UI.
- the data distribution unit 164 determines whether the UI of the target existing system (for example, the existing system 140) corresponds to the accessibility API. When the UI of the target existing system corresponds to the Accessibility API, the data distribution unit 164 acquires the value displayed on the UI of the existing system by using the Accessibility API. If the UI of the target existing system does not support Accessibility API, the data distribution unit 164 performs a keyboard copy operation on the UI of the existing system to store the clipboard in the clipboard storage unit 152. Get the value displayed in the UI of the existing system via.
- the data distribution unit 164 acquires the value displayed in the additional UI displayed on the transparent Web browser by the display control unit 163. Then, the data distribution unit 164 reflects the acquired value as it is in the UI of the existing system 140.
- the data distribution unit 164 determines whether the UI of the target existing system (for example, the existing system 140) corresponds to the accessibility API. When the UI of the target existing system corresponds to the Accessibility API, the data distribution unit 164 uses the Accessibility API to reflect the value in the UI of the existing system. If the UI of the target existing system does not support Accessibility API, the data distribution unit 164 performs a keyboard paste operation on the UI of the existing system to store the clipboard in the clipboard storage unit 152. The value is reflected in the UI of the existing system via.
- the operation definition is a click operation and the click operation is performed on the additional UI displayed on the transparent Web browser by the display control unit 163, the data distribution unit 164 is added to the UI of the existing system 140. , Reflect this click operation.
- the data distribution unit 164 determines whether the UI of the target existing system (for example, the existing system 140) corresponds to the accessibility API. When the UI of the target existing system corresponds to the Accessibility API, the data distribution unit 164 uses the Accessibility API to reflect the click operation on the UI of the existing system. If the UI of the target existing system does not support the accessibility API, the data distribution unit 164 temporarily minimizes the entire transparent Web browser. Then, the data distribution unit 164 reflects the click operation on the UI of the existing system by generating a click event at the coordinates where the UI of the existing system is displayed.
- the data distribution unit 164 uses the Accessibility API to reflect the click operation on the UI of the existing system. If the UI of the target existing system does not support the accessibility API, the data distribution unit 164 temporarily minimizes the entire transparent Web browser. Then, the data distribution unit 164 reflects the click operation on the UI of the existing system by generating a click event at the coordinates where the UI of the existing system is displayed.
- FIG. 8 is an explanatory diagram showing an example of a data distribution process in which data is distributed between an existing UI and an additional UI.
- the data distribution unit 164 distributes data between the existing UI and the additional UI by using the accessibility API and the virtual keyboard operation.
- the data distribution unit 164 enables data distribution between the existing UI and the additional UI by using Accessibly API and virtual keyboard operation together in order to support the implementation of various systems. do.
- the data distribution unit 164 when the data distribution unit 164 can use Accessibly API, the data distribution unit 164 acquires an API for operating each UI constituting the screen of the system. By calling these APIs, the data distribution unit 164 can set a value for the UI and acquire a value from the UI.
- the data distribution unit 164 acquires an additional UI value by calling the JavaScript API for the transparent Web browser (step S80A-1). For example, the data distribution unit 164 can easily acquire the value of the additional UI by using the method "$ (" ext01 "). Val ()".
- the data distribution unit 164 calls the API for setting the Accessibly API value, and reflects the value acquired from the additional UI in the UI of the existing system (step S80A-2).
- the data distribution unit 164 may not be able to use Accessibly API. Even in such a case, the data distribution unit 164 can cause the software to execute a keyboard copy or paste operation by a virtual keyboard operation.
- the data distribution unit 164 can distribute data between the existing UI and the additional UI via the clipboard.
- the data distribution unit 164 acquires an additional UI value as in the case of Accessibly API (step S80B-1).
- the data distribution unit 164 sets the value acquired from the additional UI in the clipboard (step S80B-2).
- the data distribution unit 164 focuses on the existing UI for which data is desired to be distributed (step S80B-3).
- the existing UI for which data is desired to be distributed is an existing UI for which the user of the terminal device 100 wants to distribute data.
- the data distribution unit 164 executes the paste keyboard operation from the software (step S80B-4). That is, the human (user) does not operate the keyboard.
- the second timing generation unit 165 determines the timing for redisplaying the additional UI displayed by the display control unit 163, based on whether a predetermined event has occurred on the screen of the system. For example, the second timing generation unit 165 uses the environment setting stored in the rule stored in the rule storage unit 151 as an input. Then, the second timing generation unit 165 monitors the change of the existing system 140 and instructs the timing when the additional UI needs to be redisplayed. In this way, the second timing generation unit 165 adjusts the timing for redisplaying the additional UI. The second timing generation unit 165 can monitor changes in the existing system 140 by using a method such as UI Automation or global hook.
- the second timing generation unit 165 processes according to the event type. To call.
- the second timing generation unit 165 can execute at least one of the following four processes.
- the second timing generator 165 when the mouse wheel event occurs in the window of the target system (eg, the existing system 140), the second timing generator 165 will have all the additional UIs included in the corresponding system definition.
- the setting is used as an input to call the base point search unit 162.
- the second timing generation unit 165 makes the display position of the additional UI follow the change of the display position of the base point UI by scrolling the mouse wheel.
- the second timing generation unit 165 sets the size of the corresponding transparent Web browser to this Web browser. Change the size of to follow the size of the system window.
- the second timing generator 165 calls the base point search unit 162, using all the additional UI settings contained in the corresponding system definition as inputs. As a result, the second timing generation unit 165 makes the display position of the additional UI follow the change of the display position of the base point UI due to the size change of the window.
- the second timing generator 165 when an update event such as a drawing reload occurs in the window of the target system (for example, the existing system 140), the second timing generator 165 is set to the corresponding transparent Web browser. Remove all additional UIs displayed. After deleting the additional UI, the second timing generator 165 calls the base point search unit 162 using all the additional UI settings contained in the corresponding system definition as inputs. As a result, the second timing generation unit 165 switches the display of the additional UI according to the change of the display content of the screen of the system.
- an update event such as a drawing reload occurs in the window of the target system (for example, the existing system 140)
- the second timing generator 165 is set to the corresponding transparent Web browser. Remove all additional UIs displayed. After deleting the additional UI, the second timing generator 165 calls the base point search unit 162 using all the additional UI settings contained in the corresponding system definition as inputs. As a result, the second timing generation unit 165 switches the display of the additional UI according to the change
- the second timing generation unit 165 when the mouse click event or the focus change event occurs in the window of the target system (for example, the existing system 140), the second timing generation unit 165 generates the corresponding event. Identify the UI that was created. When the corresponding UI matches the base point UI registered as the monitoring target by the base point search unit 162, the base point search unit 162 is called by using the additional UI setting including the base point definition corresponding to the base point UI as an input. .. As a result, the second timing generation unit 165 switches the display of the corresponding additional UI according to the change in the value of the base point UI.
- 9A and 9B are explanatory views showing an example of a timing generation process that generates a timing for redisplaying an additional UI.
- the transparent web browser that displays the additional UI is completely independent of the screen of the existing system 140. Therefore, the following measures may be required.
- the existing UI and the additional UI exist in the same DOM tree. Therefore, the conventional user interface extension does not need to consider the following correspondence.
- the first response is to detect a change in the value of the UI at the base point and notify an additional UI (independent transparent Web system) of the change in value.
- the second correspondence is to delete (clear) the UI added to the transparent Web system and to specify the timing of redrawing.
- the control unit 160 has a second timing generation unit 165.
- the target of the UI extension was the Web system. Therefore, by registering a listener for the event to be observed by using the event listener function of JavaScript, it is possible to easily acquire the change in the value of the UI of the base point.
- the target existing system includes a system other than the Web system. Therefore, it is not easy to register a listener for an existing UI event.
- the second timing generation unit 165 determines whether the existing UI clicked or the existing UI whose focus has been changed is the base UI at the timing when the mouse click or focus change event occurs. In any system implementation, mouse clicks or focus changes are easily observed events.
- the second timing generation unit 165 may refer to the corresponding additional UI to the base point search unit 162. Call the process of to check the display condition of the corresponding additional UI again. As a result, the second timing generation unit 165 notifies the additional UI of the timing when the value of the base point UI may have been changed, thereby enabling display control of the additional UI. In this way, the second timing generation unit 165 monitors the mouse click and the focus change, and notifies the possibility that the value of the base point UI has changed.
- the mouse click or focus change event does not always occur at the timing when the value of the base point UI is changed. As a result, the value of the base UI may not have changed. Even in such a case, the inconvenience of rechecking the display conditions does not occur.
- the second timing generator 165 may monitor the other events. good. When another event occurs, the second timing generation unit 165 may notify the possibility that the value of the base point UI has changed, as in the case of mouse click or focus change.
- the second timing generation unit 165 may also register a listener for each UI of the base point. can. When the event occurs, the second timing generation unit 165 can notify the corresponding additional UI of the timing when the value of the base point UI is changed.
- the base point UI91 and the corresponding additional UI92 are displayed on the screen 90 of the existing system.
- the display condition of the additional UI 92 is the condition that "the value of the UI of the base point is" aaa "". In most cases, a mouse click or focus change event occurs when the value in the base UI changes.
- the second timing generation unit 165 detects a change in the value of the UI91 of the base point at the timing when the value of the UI91 of the base point is changed, and hides the additional UI92.
- the second timing generation unit 165 deletes (clears) all the UIs added to the transparent Web browser, and newly performs display control.
- the existing UI and the additional UI are displayed in the DOM tree of the same Web browser. Therefore, the timing at which the additional UI was deleted (cleared) or redrawn was self-evident.
- the existing UI is completely independent of the area where the additional UI is displayed. Even if the existing UI is reloaded, the additional UI will remain intact. It is possible to switch between non-display and display by display control processing for each monitoring interval. However, the additional UI cannot be reloaded. It is also possible to reload the new additional UI each time (that is, delete the additional UI and then add the UI) without hiding the additional UI in the display control process. In this case, the content input by the user to the additional UI is cleared at each monitoring interval, which is unusable as a user interface extension.
- the second timing generation unit 165 can set the update (reload) event arbitrarily (for example, when the update button on the screen of the existing system is pressed, when the tab is switched, etc.). To. Then, when the update event occurs, the second timing generation unit 165 deletes (clears) all the UIs added to the corresponding transparent Web browser, and newly performs display control. As a result, the second timing generation unit 165 enables the redrawing of the additional UI.
- the base point UI91 and the corresponding additional UI92 are displayed on the screen 90 of the existing system.
- the entire scroll area is redrawn and the base point UI91 disappears.
- the additional UI 92 is automatically deleted.
- the additional UI 92 is left as it is.
- the additional UI 92 is only hidden at best, and the additional UI 92 is not deleted (cleared).
- the second timing generation unit 165 applies a new display control to the additional UI 92.
- the new display control is detailed below with reference to FIG.
- FIG. 10 is a flowchart showing an example of a process for expanding the UI of the screen of an existing system, which is executed by the terminal device 100 according to the embodiment.
- the first timing generation unit 161 of the terminal device 100 monitors the existing system (step S101). Monitoring of existing systems is detailed below with reference to FIG.
- the base point search unit 162 of the terminal device 100 determines whether it is the timing to search the base point UI of the existing system (step S102). When it is determined that it is not the timing to search the base UI of the existing system at the present time (step S102: No), the processing procedure returns to step S101.
- the base point search unit 162 searches for the base point UI of the existing system (step S103).
- the search for the base UI of the existing system is detailed below with reference to FIG.
- step S104 the display control unit 163 of the terminal device 100 controls the display of the additional UI. Control of the display of additional UI is detailed below with reference to FIG.
- step S105 the second timing generation unit 165 of the terminal device 100 monitors changes in the existing system. Monitoring changes in existing systems is detailed below with reference to FIG.
- step S106 determines whether it is time to redisplay the additional UI.
- step S106 determines whether it is time to redisplay the additional UI.
- the second timing generation unit 165 of the terminal device 100 distributes data between the existing UI and the additional UI. (Step S107). The flow of data between the existing UI and the additional UI is detailed below with reference to FIG.
- the terminal device 100 executes step S107 after step S105 and step S106, but the order is not limited to this.
- the terminal device 100 may monitor changes in the existing system after the distribution of data between the existing UI and the additional UI.
- FIG. 11 is a flowchart showing an example of a process for monitoring an existing system, which is executed by the terminal device 100 according to the embodiment.
- the first timing generation unit 161 of the terminal device 100 executes monitoring of the existing system in parallel for each system definition stored in the rule storage unit 151.
- the first timing generation unit 161 determines whether or not the time set in the monitoring interval has elapsed based on the system definition stored in the rule storage unit 151 (step S201). .. When it is determined that the time set for the monitoring interval has not elapsed (step S201: No), the first timing generation unit 161 executes step S201 again.
- step S201 When it is determined that the time set for the monitoring interval has elapsed (step S201: Yes), the first timing generation unit 161 displays a system window matching the system determination condition in the foreground on the desktop. (Step S202). When it is determined that the window of the system matching the system determination condition is not displayed in the foreground on the desktop (step S202: No), the processing procedure returns to step S201.
- the first timing generator 161 is used for all the additional UIs included in the system definition.
- the base point search unit 162 is called (step S203).
- the first timing generation unit 161 instructs the base point search unit 162 to search for the base point UI.
- the base point search unit 162 can determine whether or not the current time is the timing to search the base point UI of the existing system.
- FIG. 12 is a flowchart showing an example of a process for searching a base UI of an existing system, which is executed by the terminal device 100 according to the embodiment.
- the base point search unit 162 of the terminal device 100 searches for the base point UI of the existing system for each additional UI setting stored in the rule storage unit 151.
- the base point search unit 162 determines whether or not there is an instruction to search the base point UI (step S301). When it is determined that there is no instruction to search the base point UI (step S301: No), the base point search unit 162 waits until the timing of searching the base point UI of the existing system. Then, the base point search unit 162 executes step S301 again.
- step S301 When it is determined that there is an instruction to search the base point UI (step S301: Yes), the base point search unit 162 determines whether all the additional UI settings have been processed (step S302). When it is determined that the processing of all the additional UI settings has been completed (step S302: Yes), the processing procedure ends.
- the base point search unit 162 acquires the base point definition from the rule storage unit 151 (step S303).
- the base point search unit 162 searches for the base point UI based on the acquired base point definition (step S304).
- the base point search unit 162 executes the search of the base point UI in parallel for each base point definition.
- the base point search unit 162 sequentially acquires the property values of the UI of the existing system by using the accessibility API, and searches for the UI (base point UI) that matches the property value of the base point definition (step S304A-1).
- the base point search unit 162 acquires a captured image of the target existing system (step S304B-1). Next, the base point search unit 162 searches for a UI (base point UI) that matches the captured image of the base point definition from the captured images of the existing system (step S304B-2).
- UI base point UI
- the base point search unit 162 determines whether or not the base point UI has been found (step S305). When it is determined that the base point UI has not been found (step S305: No), the display control unit 163 is called by using the corresponding additional UI setting and the determination result (mismatch) as inputs. Then, the base point search unit 162 executes step S302 again.
- step S305 When it is determined that the base point UI has been found (step S305: Yes), the base point search unit 162 determines whether or not there is a display condition (step S307).
- the base point search unit 162 determines whether the value of the base point UI matches the display condition (step S308). In other words, when the base point search unit 162 can acquire the display condition, the base point search unit 162 executes step S308.
- the base point search unit 162 can acquire the value of the base point UI by, for example, the information processing (acquisition of the value) described above for the data distribution unit 164.
- step S308: Yes When it is determined that the value of the base point UI matches the display condition (step S308: Yes), the base point search unit 162 acquires the coordinates and size of the base point UI (step S309). When it is determined that the value of the base point UI does not match the display condition (step S308: No), the processing procedure proceeds to step S306.
- step S307 When it is determined that there is no display condition (step S307: No), the processing procedure proceeds to step S309. In other words, when the base point search unit 162 cannot acquire the display condition, the base point search unit 162 executes step S309.
- the base point search unit 162 adds the base point UI to the second timing generation unit 165 as a monitoring target (step S310).
- the base point search unit 162 calls the display control unit 163 using the corresponding additional UI setting, the determination result (match), the coordinates of the base point UI, and the size of the base point UI as inputs (step S311). Then, the base point search unit 162 executes step S302 again.
- FIG. 13 is a flowchart showing an example of a process for controlling the display of an additional UI, which is executed by the terminal device 100 according to the embodiment.
- the display control unit 163 of the terminal device 100 executes control of the display of the additional UI based on the additional UI setting, the determination result (match or mismatch) of the base point search unit 162, and the coordinates and size of the base point UI.
- the display control unit 163 determines whether the value of the base point UI matches the display condition (step S401). When it is determined that the value of the base point UI does not match the display condition (step S401: No), the display control unit 163 determines whether the additional UI is already displayed on the transparent Web browser (step S402). ). When it is determined that the additional UI has not yet been displayed on the transparent Web browser (step S402: No), the processing procedure ends.
- step S403 When it is determined that the additional UI is already displayed on the transparent Web browser (step S402: Yes), the display control unit 163 hides the additional UI (step S403).
- step S401 When it is determined in step S401 that the value of the base point UI matches the display condition (step S401: Yes), the display control unit 163 determines from the relative coordinates, coordinates, and size set in the appearance definition of the additional UI setting. The display position of the additional UI on the transparent Web browser is calculated (step S404).
- the display control unit 163 determines whether the additional UI is already displayed on the transparent Web browser (step S405). When it is determined that the additional UI is already displayed on the transparent Web browser (step S405: Yes), the display control unit 163 corrects the display position of the additional UI to the calculated display position (step S405: Yes). Step S406).
- step S405 When it is determined that the additional UI has not yet been displayed on the transparent Web browser (step S405: No), the display control unit 163 sets the HTML information set in the appearance definition stored in the rule storage unit 151. A new UI is newly displayed at the calculated display position according to the procedure (step S407).
- FIG. 14 is a flowchart showing an example of a process for monitoring changes in an existing system, which is executed by the terminal device 100 according to the embodiment.
- the second timing generation unit 165 of the terminal device 100 executes step S500 for monitoring changes in the existing system in parallel for each system definition stored in the rule storage unit 151.
- the second timing generation unit 165 determines whether or not the event set as the monitoring event has occurred (step S500A-1). When it is determined that the event set in the monitoring event has not occurred (step S500A-1: No), the second timing generation unit 165 executes step S500A-1 again.
- step S500A-1 When it is determined that the event set as the monitoring event has occurred (step S500A-1: Yes), the second timing generation unit 165 executes the process corresponding to the event (step S500A-2). Then, the second timing generation unit 165 executes step S500A-1 again.
- the second timing generation unit 165 determines whether a mouse wheel event has occurred (step S500B-1). When it is determined that the mouse wheel event has not occurred (step S500B-1: No), the second timing generation unit 165 executes step S500B-1 again.
- step S500B-1 When it is determined that a mouse wheel event has occurred (step S500B-1: Yes), the second timing generation unit 165 uses all the additional UI settings included in the system definition as input, and the base point search unit 162. Is called (step S500B-2). In other words, the second timing generation unit 165 instructs the base point search unit 162 to search for the base point UI. As a result, the base point search unit 162 can determine whether or not it is time to redisplay the additional UI. Then, the second timing generation unit 165 executes step S500B-1 again.
- the second timing generation unit 165 determines whether a window size change event has occurred (step S500C-1). When it is determined that the window size change event has not occurred (step S500C-1: No), the second timing generation unit 165 executes step S500C-1 again.
- step S500C-1 When it is determined that the window size change event has occurred (step S500C-1: Yes), the second timing generation unit 165 acquires the window size of the target existing system (step S500C-2).
- the second timing generation unit 165 changes the size of the corresponding transparent Web browser to the acquired window size (step S500C-3).
- the second timing generation unit 165 calls the base point search unit 162 using all the additional UI settings included in the system definition as inputs (step S500C-4). As a result, the base point search unit 162 can determine whether it is time to redisplay the additional UI. Then, the second timing generation unit 165 executes step S500C-1 again.
- the second timing generation unit 165 determines whether an update event has occurred (step S500D-1). When it is determined that the update event has not occurred (step S500D-1: No), the second timing generation unit 165 executes step S500D-1 again.
- step S500D-1 When it is determined that the update event has occurred (step S500D-1: Yes), the second timing generation unit 165 deletes all the additional UIs displayed on the corresponding transparent Web browser (step S500D-). 2).
- the second timing generation unit 165 calls the base point search unit 162 using all the additional UI settings included in the system definition as inputs (step S500D-3). As a result, the base point search unit 162 can determine whether it is time to redisplay the additional UI. Then, the second timing generation unit 165 executes step S500D-1 again.
- the second timing generation unit 165 determines whether a mouse click event or a focus change event has occurred (step S500E-1). When it is determined that the mouse click event and the focus change event have not occurred (step S500E-1: No), the second timing generation unit 165 executes step S500E-1 again.
- step S500E-1 When it is determined that a mouse click event or a focus change event has occurred (step S500E-1: Yes), the second timing generation unit 165 identifies the UI in which the corresponding event has occurred (step S500E-2).
- the second timing generation unit 165 determines whether the specified UI matches the base point UI registered as the monitoring target (step S500E-3). When it is determined that the specified UI does not match the base point UI registered as the monitoring target (step S500E-3: No), the second timing generation unit 165 executes step S500E-1 again.
- the second timing generation unit 165 sets an additional UI including the base point definition corresponding to the base point UI. Is used as an input to call the base point search unit 162 (step S500E-4). As a result, the base point search unit 162 can determine whether it is time to redisplay the additional UI. Then, the second timing generation unit 165 executes step S500E-1 again.
- FIG. 15 is a flowchart showing an example of a process for distributing data between an existing UI and an additional UI, which is executed by the terminal device 100 according to the embodiment.
- the data distribution unit 164 of the terminal device 100 performs steps S600 for distributing data between the existing UI and the additional UI in parallel for each UI behavior indicated by the operation definition stored in the rule storage unit 151. Run.
- the data distribution unit 164 determines whether the UI of the existing system corresponds to the accessibility API (step S600A-1).
- step S600A-1 When it is determined that the UI of the existing system corresponds to the Accessibility API (step S600A-1: Yes), the data distribution unit 164 uses the Accessibility API to change to the UI of the existing system specified in the operation definition. Acquire the displayed value (step S600A-2).
- the data distribution unit 164 processes and converts the acquired value as necessary, and reflects the acquired value in the additional UI displayed on the transparent Web browser specified in the operation definition (). Step S600A-3).
- step S600A-1 When it is determined in step S600A-1 that the UI of the existing system does not correspond to the accessibility API (step S600A-1: No), the data distribution unit 164 uses the UI of the existing system specified in the operation definition. Focus (step S600A-4).
- the data distribution unit 164 executes a copy operation using the keyboard (for example, Ctrl-A, Ctrl-C, etc.) from the software (step S600A-5). That is, humans do not operate the keyboard.
- the keyboard for example, Ctrl-A, Ctrl-C, etc.
- the data distribution unit 164 acquires the clipboard value from the clipboard storage unit 152 (step S600A-6). Then, the data distribution unit 164 executes step S600A-3.
- the data distribution unit 164 acquires the value displayed in the additional UI displayed on the transparent Web browser specified in the operation definition (step S600B-1).
- the data distribution unit 164 determines whether the UI of the existing system corresponds to the accessibility API (step S600B-2).
- step S600B-2 When it is determined that the UI of the existing system corresponds to the Accessibility API (step S600B-2: Yes), the data distribution unit 164 uses the Accessibility API to change to the UI of the existing system specified in the operation definition. , Reflect the acquired value (step S600B-3).
- step S600B-2 When it is determined that the UI of the existing system does not correspond to the accessibility API (step S600B-2: No), the data distribution unit 164 focuses on the UI of the existing system specified in the operation definition (step S600B). -4).
- the data distribution unit 164 sets the value acquired in the clipboard (step S600B-5).
- the data distribution unit 164 executes a paste operation (for example, Ctrl-V, etc.) using the keyboard from the software (step S600B-6). That is, humans do not operate the keyboard.
- a paste operation for example, Ctrl-V, etc.
- the data distribution unit 164 determines whether the UI of the existing system corresponds to the accessibility API (step S600C-1).
- step S600C-1 When it is determined that the UI of the existing system corresponds to the Accessibility API (step S600C-1: Yes), the data distribution unit 164 uses the Accessibility API to change to the UI of the existing system specified in the operation definition. Reflect the click operation (step S600C-2).
- step S600C-1 When it is determined that the UI of the existing system does not support the accessibility API (step S600C-1: No), the data distribution unit 164 temporarily minimizes the entire transparent Web browser (step S600C-3). ).
- the data distribution unit 164 generates a click event at the coordinates where the UI of the existing system is displayed (step S600C-4). It was
- the user interface expansion system 1 includes a base point search unit 162 and a display control unit 163.
- the base point search unit 162 searches for a base point UI that is a base point for displaying an additional user interface (UI) added to the screen of the system from the screen of this system. Further, in the user interface expansion system 1 according to the embodiment, the display control unit 163 displays a new screen with a transparent background on top of the screen of the system, and adds it to a position based on the base point UI on this new screen. Display the UI of.
- UI user interface
- the user interface extension system 1 can apply the user interface extension to a wide range of systems.
- a new screen independent of the system is displayed superimposed on the screen of the system.
- the user interface extension system 1 can provide an applicable user interface extension regardless of the implementation of the system.
- the base point search unit 162 searches for the base point UI based on the property value of the base point UI used in the accessibility API or the captured image of the screen of the system.
- the user interface extension system 1 can search the base point UI from the screen of the system having no DOM tree.
- the user interface extension system 1 has a data distribution unit 164 that distributes data between an existing UI and an additional UI of the screen of the system by using an accessibility API or a virtual keyboard operation. ..
- the user interface expansion system 1 can reflect the contents of the additional UI on the UI of the screen of the system that does not have the DOM tree.
- the user interface expansion system 1 monitors the system and determines a first timing for searching the base point UI from the screen of the system based on whether the screen of the system is visually displayed. It has one timing generation unit 161. Further, in the user interface expansion system 1 according to the embodiment, the base point search unit 162 searches for the base point UI based on the first timing determined by the first timing generation unit 161.
- the user interface expansion system 1 can search for the base point UI at an appropriate timing.
- the user interface expansion system 1 monitors changes in the system and redisplays an additional UI displayed by the display control unit 163 based on whether a predetermined event has occurred on the screen of the system. It has a second timing generation unit 165 that determines the second timing.
- the user interface expansion system 1 can redisplay the additional UI at an appropriate timing.
- the user interface extension system 1 may be implemented in various different forms other than the above-mentioned embodiment. Therefore, in the following, another embodiment of the above-mentioned user interface extension system 1 will be described.
- the content providing device 200 may execute a part of the processing executed by the terminal device 100 in the above-described embodiment.
- the content providing device 200 may perform all or part of the above-mentioned information processing with respect to the first timing generation unit 161, the base point search unit 162, and the second timing generation unit 165.
- the existing system 140 may be installed in the content providing device 200.
- the content providing device 200 may perform the above-mentioned information processing with respect to the first timing generation unit 161, the base point search unit 162, and the second timing generation unit 165.
- the UI of the existing system 140 exists in the terminal device 100.
- the terminal device 100 can perform the above-mentioned information processing with respect to the display control unit 163 and the data distribution unit 164 via this UI.
- the user interface expansion system 1 includes a terminal device 100 and a content providing device 200.
- the content providing device 200 may share a part of the above-mentioned information processing with respect to the first timing generation unit 161, the base point search unit 162, and the second timing generation unit 165.
- each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in any unit according to various loads and usage conditions. Can be integrated and configured.
- a part or all of the storage unit 150 shown in FIG. 4 may not be held by the terminal device 100, but may be held by a storage server or the like.
- the terminal device 100 acquires various information such as display conditions by accessing the storage server.
- FIG. 16 is a diagram showing an example of a hardware configuration.
- the terminal device 100 and the content providing device 200 according to the above-described embodiment are realized by, for example, a computer 1000 having a configuration as shown in FIG.
- FIG. 16 shows an example of a computer in which a terminal device 100 and a content providing device 200 are realized by executing a program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
- the video adapter 1060 is connected to, for example, the display 1130.
- the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process of the terminal device 100 and the content providing device 200 is implemented as a program module 1093 in which a code that can be executed by the computer 1000 is described.
- the program module 1093 is stored in, for example, the hard disk drive 1090.
- the program module 1093 for executing the same processing as the functional configuration in the terminal device 100 and the content providing device 200 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.
- the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN, etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
- LAN local area network
- WAN wide area network
- the above-mentioned “section, module, unit” can be read as “means” or “circuit”.
- the display control unit can be read as a display control means or a display control circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本節では、本明細書に記載されるいくつかの実装形態の概要について説明する。なお、この概要は、読者の便宜のために提供されるものであって、本発明や、以下の節で説明される実施形態を限定することを意図するものではない。
今日、様々なシステムが、業務に使用されている。業務の実態は日々変化するため、業務の実態に合わせて業務システムをアップデートすることは、重要なことである。例えば、新規メニューが、サービスに追加されたものとする。この例では、もし、業務システムが新規メニューに対応していなければ、業務システムのユーザは、業務システム上で、新規メニューに関する業務を遂行することができない。
次に、図4を参照して、実施形態に係るユーザインタフェース拡張システムの構成例について説明する。
端末装置100は、ユーザインタフェースを拡張するための処理を実行する情報処理装置である。端末装置100は、クライアント装置を含む、任意のタイプの情報処理装置であってもよい。端末装置100の構成例は、次の節で詳述される。
次に、端末装置100の構成例について説明する。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、有線または無線によりネットワーク網と接続される。通信部110は、コンテンツ提供装置200に、ネットワークNを介して、通信可能に接続される。通信部110は、コンテンツ提供装置200との間で、ネットワーク網を介して、情報の送受信を行うことができる。
入力部120は、端末装置100のユーザから各種操作を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等によって実現される。
出力部130は、各種情報を表示するための表示装置である。例えば、出力部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等によって実現される。なお、端末装置100にタッチパネルが採用される場合には、入力部120と出力部130とは一体化される。
既存システム140は、業務システムや各種アプリケーション等の既存のソフトウェアである。既存システム140は、コンテンツ提供装置200から、コンテンツを受信する。また、既存システム140は、UIを有する。受信されたコンテンツは、このUIを介して、端末装置100のユーザに提供される。
記憶部150は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図4に示されるように、記憶部150は、ルール記憶部151と、クリップボード記憶部152とを有する。
ルール記憶部151は、システム定義に関するルールを記憶する。ルールは、少なくとも1つのシステム定義を含む。
クリップボード記憶部152は、クリップボードを記憶する。クリップボードは、後述するデータ流通部164によって使用される。
制御部160は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラム(ユーザインタフェース拡張プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部160は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
第1タイミング発生部161は、システムの画面から基点UIを探索するタイミングを決定する。例えば、第1タイミング発生部161は、既存システム140を監視する。そして、第1タイミング発生部161は、既存システム140の画面が視認可能に表示されているかに基づいて、既存システム140の画面から基点UIを探索するタイミングを決定する。このように、第1タイミング発生部161は、基点UIを探索するタイミングを調整する。第1タイミング発生部161は、UI Automationやグローバルフック等の手法を用いて、既存システム140を監視することができる。
基点探索部162は、システムの画面に追加される追加のUIの表示の基点となる基点UIを、このシステムの画面から探索する。例えば、基点探索部162は、ルール記憶部151に記憶されたルールに保存された追加UI設定を入力として使用する。そして、基点探索部162は、第1タイミング発生部161によって指示されたタイミングで、既存システム140の画面から、基点定義に一致するUI(基点UI)を探索する。
表示制御部163は、背景が透明な新たな画面を、システムの画面と重ねて表示する。そして、表示制御部163は、この新たな画面において、基点UIに基づく位置に追加のUIを表示する。
データ流通部164は、システムの画面の既存のUIと、追加のUIとの間でデータを流通する。例えば、データ流通部164は、ルール記憶部151に記憶されたルールに保存された追加UI設定を入力として使用する。そして、データ流通部164は、動作定義に従って、表示制御部163によって透明なWebブラウザに表示された追加のUIと、既存システム140に表示されたUIとの間で、それぞれのUIに入力されたまたは表示されたデータを、双方に流通する。
第2タイミング発生部165は、所定のイベントがシステムの画面で発生したかに基づいて、表示制御部163によって表示された追加のUIを再表示するタイミングを決定する。例えば、第2タイミング発生部165は、ルール記憶部151に記憶されたルールに保存された環境設定を、入力として使用する。そして、第2タイミング発生部165は、既存システム140の変化を監視し、追加のUIの再表示が必要とされるタイミングを指示する。このように、第2タイミング発生部165は、追加のUIを再表示するタイミングを調整する。第2タイミング発生部165は、UI Automationやグローバルフック等の手法を用いて、既存システム140の変化を監視することができる。
次に、図10、図11、図12、図13、図14および図15を参照して、実施形態に係る端末装置100によるUI拡張処理の手順について説明する。
上述してきたように、実施形態に係るユーザインタフェース拡張システム1は、基点探索部162と、表示制御部163とを有する。
上述の実施形態に係るユーザインタフェース拡張システム1は、上述の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記のユーザインタフェース拡張システム1の他の実施形態について説明する。
コンテンツ提供装置200は、上述の実施形態において端末装置100によって実行された処理の一部を実行してもよい。例えば、コンテンツ提供装置200は、第1タイミング発生部161、基点探索部162および第2タイミング発生部165に関して上述した情報処理の全部または一部を行ってもよい。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
図16は、ハードウェア構成の一例を示す図である。上述してきた実施形態に係る端末装置100やコンテンツ提供装置200は、例えば図16に示すような構成のコンピュータ1000によって実現される。
100 端末装置
110 通信部
120 入力部
130 出力部
140 既存システム
150 記憶部
151 ルール記憶部
152 クリップボード記憶部
160 制御部
161 第1タイミング発生部
162 基点探索部
163 表示制御部
164 データ流通部
165 第2タイミング発生部
200 コンテンツ提供装置
Claims (8)
- システムの画面に追加される追加のユーザインタフェース(UI)の表示の基点となる基点UIを、当該システムの画面から探索する基点探索部と、
背景が透明な新たな画面を、前記システムの画面と重ねて表示し、当該新たな画面において、前記基点UIに基づく位置に前記追加のUIを表示する表示制御部と
を備えることを特徴とするユーザインタフェース拡張システム。 - 前記表示制御部は、前記システムから独立した前記新たな画面を、前記システムの画面と重ねて表示する
ことを特徴とする請求項1に記載のユーザインタフェース拡張システム。 - 前記基点探索部は、アクセシビリティAPIで利用される前記基点UIのプロパティ値又は前記システムの画面のキャプチャ画像に基づいて、前記基点UIを探索する
ことを特徴とする請求項1又は2に記載のユーザインタフェース拡張システム。 - アクセシビリティAPI又は仮想的なキーボード操作を用いて、前記システムの画面の既存のUIと前記追加のUIとの間でデータを流通するデータ流通部をさらに備える
ことを特徴とする請求項1~3のうちいずれか1つに記載のユーザインタフェース拡張システム。 - 前記システムを監視し、前記システムの画面が視認可能に表示されているかに基づいて、前記システムの画面から前記基点UIを探索する第1のタイミングを決定する第1タイミング発生部をさらに備え、
前記基点探索部は、第1タイミング発生部によって決定された第1のタイミングに基づいて、前記基点UIを探索する
ことを特徴とする請求項1~4のうちいずれか1つに記載のユーザインタフェース拡張システム。 - 前記システムの変化を監視し、所定のイベントが前記システムの画面で発生したかに基づいて、前記表示制御部によって表示された追加のUIを再表示する第2のタイミングを決定する第2タイミング発生部をさらに備える
ことを特徴とする請求項1~5のうちいずれか1つに記載のユーザインタフェース拡張システム。 - コンピュータが実行するユーザインタフェース拡張方法であって、
システムの画面に追加される追加のユーザインタフェース(UI)の表示の基点となる基点UIを、当該システムの画面から探索する基点探索工程と、
背景が透明な新たな画面を、前記システムの画面と重ねて表示し、当該新たな画面において、前記基点UIに基づく位置に前記追加のUIを表示する表示制御工程と
を含むことを特徴とするユーザインタフェース拡張方法。 - システムの画面に追加される追加のユーザインタフェース(UI)の表示の基点となる基点UIを、当該システムの画面から探索する基点探索手順と、
背景が透明な新たな画面を、前記システムの画面と重ねて表示し、当該新たな画面において、前記基点UIに基づく位置に前記追加のUIを表示する表示制御手順と
をコンピュータに実行させることを特徴とするユーザインタフェース拡張プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022564975A JPWO2022113315A1 (ja) | 2020-11-27 | 2020-11-27 | |
PCT/JP2020/044397 WO2022113315A1 (ja) | 2020-11-27 | 2020-11-27 | ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム |
US18/038,354 US20240004528A1 (en) | 2020-11-27 | 2020-11-27 | User interface augmentation system, user interface augmentation method, and user interface augmentation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/044397 WO2022113315A1 (ja) | 2020-11-27 | 2020-11-27 | ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022113315A1 true WO2022113315A1 (ja) | 2022-06-02 |
Family
ID=81755454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/044397 WO2022113315A1 (ja) | 2020-11-27 | 2020-11-27 | ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240004528A1 (ja) |
JP (1) | JPWO2022113315A1 (ja) |
WO (1) | WO2022113315A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350490A (ja) * | 2005-06-14 | 2006-12-28 | Sony Corp | 表示信号処理装置および方法、記録媒体、並びにプログラム |
JP2015035120A (ja) * | 2013-08-09 | 2015-02-19 | 株式会社島津製作所 | 表示・実行操作補助プログラム |
JP2017072872A (ja) * | 2015-10-05 | 2017-04-13 | 日本電信電話株式会社 | 操作支援システム、操作支援方法、および、操作支援プログラム |
JP2020074096A (ja) * | 2016-12-30 | 2020-05-14 | ドロップボックス, インコーポレイテッド | ユーザインタフェース拡張器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059432A1 (en) * | 2004-09-15 | 2006-03-16 | Matthew Bells | User interface having viewing area with non-transparent and semi-transparent regions |
US20090138811A1 (en) * | 2005-11-02 | 2009-05-28 | Masaki Horiuchi | Display object penetrating apparatus |
TW201013430A (en) * | 2008-09-17 | 2010-04-01 | Ibm | Method and system for providing suggested tags associated with a target page for manipulation by a user |
US9135022B2 (en) * | 2011-11-14 | 2015-09-15 | Microsoft Technology Licensing, Llc | Cross window animation |
US20130231157A1 (en) * | 2012-03-02 | 2013-09-05 | Jeffrey Chung | Cellular phone with camera at front edge area |
US11740758B1 (en) * | 2022-08-31 | 2023-08-29 | Snap Inc. | Presenting participant reactions within a virtual working environment |
-
2020
- 2020-11-27 JP JP2022564975A patent/JPWO2022113315A1/ja active Pending
- 2020-11-27 US US18/038,354 patent/US20240004528A1/en active Pending
- 2020-11-27 WO PCT/JP2020/044397 patent/WO2022113315A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350490A (ja) * | 2005-06-14 | 2006-12-28 | Sony Corp | 表示信号処理装置および方法、記録媒体、並びにプログラム |
JP2015035120A (ja) * | 2013-08-09 | 2015-02-19 | 株式会社島津製作所 | 表示・実行操作補助プログラム |
JP2017072872A (ja) * | 2015-10-05 | 2017-04-13 | 日本電信電話株式会社 | 操作支援システム、操作支援方法、および、操作支援プログラム |
JP2020074096A (ja) * | 2016-12-30 | 2020-05-14 | ドロップボックス, インコーポレイテッド | ユーザインタフェース拡張器 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022113315A1 (ja) | 2022-06-02 |
US20240004528A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100161713A1 (en) | Method and system for personalizing a desktop widget | |
US8312450B2 (en) | Widgetizing a web-based application | |
US11379108B2 (en) | Display controlling method, terminal, information processing apparatus, and storage medium | |
US10643023B2 (en) | Programmatic native rendering of structured content | |
US7395500B2 (en) | Space-optimizing content display | |
CA2736490C (en) | Method and apparatus for remotely displaying screen files and efficiently handling remote operator input | |
US7689916B1 (en) | Automatically generating, and providing multiple levels of, tooltip information over time | |
JP5430743B2 (ja) | グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置 | |
JP5520310B2 (ja) | 複数ビュー要素gui内で見られるほとんどのデータを最大化するためのビュー要素サイズの最適化 | |
US6674450B1 (en) | Interactive data-bound control | |
US8112723B2 (en) | Previewing next state based on potential action in current state | |
US20150074561A1 (en) | Customizable themes for browsers and web content | |
AU2018317074B2 (en) | Page updating method and device | |
JPH0944335A (ja) | イメージ・マップと元々の外観とを表示する方法および装置 | |
WO2009122684A1 (ja) | 表示システム、表示方法、プログラム、及び記録媒体 | |
US20080270591A1 (en) | Event Notification | |
US20070300166A1 (en) | Method and system for showing a display panel in a graphical user interface | |
CN115309470A (zh) | 微件的加载方法、装置、设备以及存储介质 | |
US20160371062A1 (en) | Method For The Automatic Presentation And Interaction Of A Data-Form User-Interface From Object-Model Metadata Under Media And Security Constraints | |
US9052928B2 (en) | Automatic formatting of display screen to reflect past correlative changes to data display windows | |
WO2022113315A1 (ja) | ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム | |
JP4977096B2 (ja) | 強調表示追加方法、表示制御プログラム、及びサーバ | |
JP2002108323A (ja) | 情報端末装置及び記憶媒体 | |
JP7473007B2 (ja) | 表示制御システム、表示制御方法及び表示制御プログラム | |
Hutchings et al. | Quantifying the performance effect of window snipping in multiple-monitor environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20963579 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022564975 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18038354 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20963579 Country of ref document: EP Kind code of ref document: A1 |