WO2022097213A1 - 表示制御システム、表示制御方法及び表示制御プログラム - Google Patents

表示制御システム、表示制御方法及び表示制御プログラム Download PDF

Info

Publication number
WO2022097213A1
WO2022097213A1 PCT/JP2020/041268 JP2020041268W WO2022097213A1 WO 2022097213 A1 WO2022097213 A1 WO 2022097213A1 JP 2020041268 W JP2020041268 W JP 2020041268W WO 2022097213 A1 WO2022097213 A1 WO 2022097213A1
Authority
WO
WIPO (PCT)
Prior art keywords
additional
display
existing
display control
unit
Prior art date
Application number
PCT/JP2020/041268
Other languages
English (en)
French (fr)
Inventor
英毅 小矢
真実 小宮山
明 片岡
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2020/041268 priority Critical patent/WO2022097213A1/ja
Priority to JP2022560549A priority patent/JP7473007B2/ja
Priority to US18/035,058 priority patent/US20240012981A1/en
Publication of WO2022097213A1 publication Critical patent/WO2022097213A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Definitions

  • This disclosure relates to a display control system, a display control method, and a display control program.
  • Web systems have been developed for various businesses. It is important for business to update the screen of the Web system according to the actual situation of business. However, modifying the screen can be very costly. In addition, the modification of the screen may have an unexpected effect on the Web system. Therefore, UI extension technology has been proposed in order to adapt the screen to changes in business without directly modifying the screen.
  • the UI extension technology displays an additional UI without directly modifying the screen of the existing Web system.
  • the additional UI is inserted at the end of the DOM (Document Object Model) tree that constitutes the screen of the existing Web system.
  • the base UI User Interface
  • the base UI is a UI that exists on the screen of an existing Web system.
  • 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 method of controlling the display of the additional UI as described above may require complicated display and non-display of the additional UI and control of the display position of the additional UI.
  • a UI having a scroll area may be searched from the DOM tree of the screen in order to make the additional UI follow the scroll of the UI existing on the screen of the Web system.
  • a UI with a scroll area is an example of a UI used to control the display of additional UIs.
  • the full search of the UI used for the display control of the additional UI is executed from the root of the DOM tree on the screen.
  • the UI search may take a long time. In the worst case, the web system freezes.
  • the present application has been made in view of the above, and an object thereof is to efficiently search for a UI used for display control of an additional UI.
  • the display control system is the addition in the DOM tree based on the acquisition unit for acquiring the DOM tree of the screen into which the additional UI is inserted and the display condition regarding the display of the additional UI.
  • FIG. 1 is an explanatory diagram showing an example of UI extension.
  • FIG. 2 is an explanatory diagram showing an example of a typical UI search.
  • FIG. 3 is an explanatory diagram showing an example of UI search according to the implementation example.
  • FIG. 4A is an explanatory diagram showing an example of display control of an additional UI.
  • FIG. 4B is an explanatory diagram showing an example of display control of the additional UI.
  • FIG. 4C is an explanatory diagram showing an example of display control of an additional UI.
  • FIG. 5 is a diagram showing an example of a display control system according to an embodiment.
  • FIG. 6 is a flowchart showing an example of a process for detecting that an additional UI has been inserted, which is executed by the terminal device according to the embodiment.
  • FIG. 6 is a flowchart showing an example of a process for detecting that an additional UI has been inserted, which is executed by the terminal device according to the embodiment.
  • FIG. 7 is an explanatory diagram showing an example of a typical UI search.
  • FIG. 8 is an explanatory diagram showing an example of UI search according to the implementation example.
  • FIG. 9 is an explanatory diagram showing an example of information held in the storage unit.
  • FIG. 10A is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 10B is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 11A is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 11B is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 12A is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 12B is an explanatory diagram showing an example of a search process for searching a UI used for display control of an additional UI.
  • FIG. 13 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device according to the embodiment.
  • FIG. 14 is an explanatory diagram showing an example of a screen display when an event occurs.
  • FIG. 15 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device according to the embodiment.
  • FIG. 16 is an explanatory diagram showing an example of a screen display when an event occurs.
  • FIG. 17 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device according to the embodiment.
  • FIG. 18 is an explanatory diagram showing an example of a screen display when an event occurs.
  • FIG. 19 is a flowchart showing an example of a process for searching a UI used for display control of an additional UI, which is executed by the terminal device according to the embodiment.
  • FIG. 20 is a diagram showing an example of a hardware configuration.
  • ditional UI may be referred to as “additional UI”.
  • existing UI may be referred to as the "existing UI”.
  • One of the UI extension techniques is a Web function extension technique that inserts an additional UI at the end of the DOM tree that constitutes an existing system screen.
  • the Web function extension technique can display an additional UI without the influence of directly modifying the screen of an existing Web system.
  • FIG. 1 is an explanatory diagram showing an example of UI extension.
  • the DOM tree 10 of the screen of the Web system includes the DOM tree 11 of the screen of the existing Web system and the DOM tree 12 of the additional UI.
  • the arrow shown in FIG. 1 indicates the correspondence between the DOM tree 10 of the screen and the appearance of the screen.
  • the UI of the base point is specified for the additional UI.
  • the base UI is a UI that exists in an existing Web system.
  • the additional UI is displayed in relative coordinates from the base UI.
  • the display control of the additional UI may be required according to the change of the existing UI.
  • an existing UI with a change in display mode is searched for for display control of an additional UI.
  • the existing UI with a change in display mode is, for example, an existing UI having a scroll area.
  • the additional UI (1) does not actually exist as a child of the existing UI (2). Therefore, if the display control of the additional UI is not performed, the additional UI (1) does not follow the scroll of the existing UI (2).
  • an existing UI with a change in the display mode is searched.
  • Such an existing UI exists in the parent hierarchy of the UI set as the base point of the additional UI, and is a UI with a change in the display mode.
  • the existing UI to be searched is an existing UI with a scroll area.
  • FIG. 2 is an explanatory diagram showing an example of a typical UI search.
  • a typical UI search the UI used for display control is fully searched from the root in order to respond to the dynamic changes in the DOM tree 10. Therefore, the amount of calculation of a typical UI search is enormous, and it corresponds only to the change of the scroll of the parent.
  • the existing UI having the scroll area is not under the existing UI (1), but the existing UI (3) and the existing UI (4) are also searched. As described above, in a typical UI search, a useless search occurs. In addition, when the change in the tree is large, the amount of calculation required for searching the UI increases. In the worst case, the existing system will harden.
  • the display control system searches for a plurality of UIs used for display control of the additional UI with the UI as the base point as the base point. This allows the display control system to identify an efficient UI with a small amount of calculation.
  • FIG. 3 is an explanatory diagram showing an example of UI search according to the implementation example.
  • the display control system searches for an existing UI from the UI as a base point toward the parent of the DOM tree 10.
  • the existing UI to be searched is an existing UI with a change in display mode, such as an existing UI having a scroll area.
  • the change in the display mode may be a change in transparency, size, z-index, or the like.
  • the display control system searches the UI from the base UI toward the root, and stores the set of the searched key (base UI or existing UI) and the value (display condition) in the storage area. If the display control system finds a set of keys and values already stored in the storage area, the display control system skips subsequent UI searches. In this way, the display control system can skip unnecessary searches based on the set of keys and values stored in the storage area. Then, the display control system registers the display control process according to the display condition for the event of the existing UI.
  • the display control system can reduce the amount of calculation for UI search and speed up the display of UI.
  • the display control system can flexibly control the display of the additional UI according to the display conditions set for the additional UI (for example, following the scroll of the parent and following the transparency of the parent). ..
  • 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.
  • FIGS. 4A, 4B and 4C are explanatory views showing an example of display control of an additional UI.
  • an additional UI is inserted into the screen 20 of the existing system.
  • the screen 20 of the existing system includes the UI 21.
  • UI 21 includes UI 22.
  • the arrow shown in FIG. 4A indicates the correspondence between the DOM of the screen 20 and the appearance of the screen 20.
  • an additional UI is inserted below the UI 22 with the UI 22 as the base point.
  • the UI 23 is inserted in the middle of the DOM tree on the screen 20.
  • the method of Patent Document 1 reduces the influence on the system by inserting the UI 23 at the end of the DOM tree of the screen 20.
  • the display control system according to the embodiment is related to the latter method.
  • the label "annotation” is initially displayed as an additional UI (eg, UI23, UI24). Then, a scroll event occurs in UI21. With techniques such as WebMakeup, additional UIs are automatically scrolled. However, in the method of Patent Document 1, since the additional UI is not scrolled as it is, the method of Patent Document 1 needs to detect that the UI 22 has been scrolled and update the display position of the additional UI. ..
  • the additional UI follows the scroll event generated in the UI 21 by controlling the display position of the additional UI.
  • the additional UI With techniques such as WebMakeup, if the additional UI is outside the scroll area, the additional UI will be automatically hidden.
  • the method of Patent Document 1 since the additional UI remains displayed as it is, the method of Patent Document 1 detects that the UI 22 has been scrolled, and the UI as the base point is outside the display area. It requires a hiding process to determine that.
  • the UI extension method such as the method of Patent Document 1 may require additional UI display control.
  • the display control detects a scrolling event for a UI having a scrolling area existing in an existing system.
  • the existing method searches for a UI having a scroll area. More specifically, in the existing method, the UI having the scroll area is completely searched from the root of the DOM tree at the timing when the DOM tree is updated. Then, in the existing method, an event registration process for registering an additional UI display update process at the time of scrolling is performed for the searched UI.
  • the UI extension method controls the display of the additional UI according to the change of the existing UI that is the parent of the additional UI hierarchically when the existing UI is accompanied by changes such as scrolling. It may be necessary.
  • the existing method searches all the existing UI used for display control from the root of the DOM tree in order to cope with the change of the existing UI.
  • the DOM tree is large, the amount of calculation for UI search increases, and the display may be delayed.
  • the display control system efficiently searches for an existing UI used for display control of an additional UI, such as a UI having a scroll area. As a result, the display control system can suppress the display delay even when the DOM tree is large.
  • FIG. 5 is a diagram showing an example of the display control system 1 according to the embodiment.
  • the display control system 1 includes a terminal device 100 and a content providing device 200.
  • the display control 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 display control system 1 can communicate with each other via the network N.
  • the terminal device 100 is an information processing device that executes a process for searching a UI used for display control of an additional UI.
  • 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 such as the screen of the system to the terminal device 100.
  • the content providing device 200 can insert an additional UI into the content.
  • the content providing device 200 may be any type of information processing device including a server.
  • the terminal device 100 includes a communication unit 110, an input unit 120, an output unit 130, a storage unit 140, and a control unit 150.
  • 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 storage unit 140 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 140 includes a display condition storage unit 141 and an event processing code storage unit 142.
  • the display condition storage unit 141 stores the display conditions used for searching the existing UI.
  • the display condition storage unit 141 stores the display conditions determined by the search unit 154, which will be described later.
  • the display condition storage unit 141 stores the cache of the existing UI searched by the search unit 154, which will be described later, as a display condition.
  • Event processing code storage unit 142 stores the event processing code used for the display control of the additional UI.
  • the event processing code storage unit 142 stores the event processing code registered by the registration unit 155, which will be described later.
  • the control unit 150 is a controller, and for example, various programs (display control programs) 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). (Corresponding to one example) is realized by executing RAM or the like as a work area. Further, the control unit 150 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 150 includes a reception unit 151, a detection unit 152, an acquisition unit 153, a search unit 154, a registration unit 155, and a display unit 156, which will be described below. Realize or execute the functions and actions of information processing.
  • One or more processors of the terminal device 100 can realize the function of each control unit in the control unit 150 by executing the instruction stored in the one or more memories of the terminal device 100.
  • the internal configuration of the control unit 150 is not limited to the configuration shown in FIG. 5, and may be any other configuration as long as it is configured to perform information processing described later.
  • the search unit 154 may perform all or part of the information processing described later with respect to the units other than the search unit 154.
  • the receiving unit 151 receives content such as a system screen from the content providing device 200.
  • the receiving unit 151 may store the received content in the storage unit 140.
  • the detection unit 152 detects that an additional UI has been inserted. For example, the detection unit 152 analyzes the content received by the reception unit 151 and detects that an additional UI has been inserted into the content.
  • the detection unit 152 detects that an additional UI has been inserted into the system screen from software independent of the system.
  • the content providing device 200 may implement this software.
  • the detection unit 152 detects that the DOM of the system screen has been changed.
  • FIG. 6 is a flowchart showing an example of a process for detecting that an additional UI has been inserted, which is executed by the terminal device 100 according to the embodiment.
  • the detection unit 152 of the terminal device 100 determines whether the existing system screen has been changed or an additional UI has been inserted (step S101).
  • step S101: No When it is determined that the existing system screen has not been changed and no additional UI has been inserted (step S101: No), the detection unit 152 deletes the data in the storage unit 140 (step S102).
  • step S101: Yes When it is determined that the existing system screen has been changed or an additional UI has been inserted (step S101: Yes), the search unit 154 described later searches for the UI used for the display control of the additional UI (step S101: Yes). Step S103). After that, the detection unit 152 waits until the next change.
  • the acquisition unit 153 acquires a DOM tree of contents such as a system screen. For example, the acquisition unit 153 acquires the DOM tree of the screen of the system when the detection unit 152 detects that an additional UI has been inserted into the screen.
  • the search unit 154 searches for a UI used for display control of an additional UI. For example, search the DOM tree on the screen of the system for an existing UI used to control the display of additional UIs.
  • the existing UI is the UI that exists on the screen of the system. This existing UI is used to control the display of the UI added to the system screen.
  • the search unit 154 searches for an existing UI in the DOM tree of the screen into which the additional UI is inserted, based on the display conditions regarding the display of the additional UI.
  • the display condition is a condition relating to at least one of scrolling, transparency, and resizing of the UI located above the base UI in the DOM tree.
  • one or more display conditions for displaying additional UIs are 1) scrolling conditions for UIs above the base UI in the DOM tree, 2) transparency conditions for this UI, and 3) this UI. May include at least one of the conditions for resizing.
  • the display condition may be the condition of 1), the condition of 2), the condition of 3), or any combination thereof.
  • the display conditions are not limited to these conditions.
  • the one or more display conditions may include conditions other than these conditions (for example, conditions relating to z-index).
  • the UI search inputs were set to 1) the DOM tree acquired by acquisition unit 153, 2) the existing UI (called the origin UI) that serves as the base point for the display of the additional UI, and 3) the additional UI. It is a display condition.
  • the search unit 154 searches for the existing UI used for the display control of the additional UI as information regarding the display control of the additional UI detected by the detection unit 152.
  • FIG. 7 is an explanatory diagram showing an example of a typical UI search.
  • the DOM tree of the system screen includes the DOM tree 31 of the existing system screen and the DOM tree 32 of the additional UI.
  • a typical UI search searches the DOM tree of an existing system screen completely from the system screen root.
  • a typical UI search executes a full search for an existing UI having a scroll area.
  • the existing UI is used as a key to store the display condition in the storage device.
  • a useless search may be executed, and the search efficiency is poor.
  • the search of this existing UI is an unnecessary search.
  • this existing UI is irrelevant to the display control process of the additional UI. Therefore, the search for this existing UI is essentially unnecessary.
  • FIG. 8 is an explanatory diagram showing an example of UI search according to the implementation example.
  • the DOM tree of the system screen includes the DOM tree 31 of the existing system screen and the DOM tree 32 of the additional UI.
  • the UI search according to the implementation example searches for the existing UI related to the display control process of the additional UI from the base UI, not from the system screen root.
  • the UI search related to the implementation example searches the existing UI related to the display control process from the base UI toward the parent.
  • the search unit 154 finds 1) the system screen route, 2) the base UI under the same conditions, or 3) the existing UI that has been searched under the same conditions, the search unit 154 searches. To finish.
  • the search unit 154 executes the processes of 1), 2) and 3) from all the base point UIs. Then, using the existing UI as a key, the display conditions corresponding to the display control process are stored in the storage unit 140. As a result, the search unit 154 can eliminate the search for the existing UI, which is irrelevant to the display control process of the additional UI, and thereby improve the search efficiency.
  • FIG. 9 is an explanatory diagram showing an example of information held in the storage unit 140.
  • the search unit 154 stores the display condition in the display condition storage unit 141 in the storage unit 140.
  • the display condition 43 is an example of the display condition stored in the display condition storage unit 141.
  • the search unit 154 can register a plurality of conditions for one key.
  • the DOM tree of the system screen includes the DOM tree 41 of the existing system screen and the DOM tree 42 of the additional UI.
  • the DOM tree 41 of the existing system screen includes a plurality of base point UIs and a plurality of existing UIs.
  • the DOM tree 42 of the additional UI includes the additional UI (1) and the additional UI (2).
  • the existing UI (1) among the plurality of existing UIs has a scroll area. Further, the transparency is set to the existing UI (1).
  • the existing UI (2) among the plurality of existing UIs has a scroll area.
  • the base point UI-A among the plurality of base point UIs is set as the base point UI from the additional UI (1) and the additional UI (2).
  • the condition set in the additional UI (1) is to follow the scroll of the parent.
  • the condition set in the additional UI (2) is to follow the transparency of the parent.
  • the search unit 154 searches the existing UI corresponding to the condition set in the additional UI from the base UI. Then, the search unit 154 stores the display condition in the display condition storage unit 141 by using the searched base point UI as a key.
  • FIGS. 10A and 10B are explanatory views showing an example of a search process for searching a UI used for display control of an additional UI.
  • the conditions of the additional UI are the same.
  • the display conditions set in the additional UI (1) are the same as the display conditions set in the additional UI (2).
  • the search unit 154 searches for the UI corresponding to the display condition from the base point UI toward the root of the system screen. Then, the search unit 154 skips the existing UI that has already been searched and has the same conditions.
  • the system screen 51 includes the existing UI (1).
  • the existing UI (1) includes the existing UI (2) and the existing UI (4).
  • the existing UI (2) includes an existing UI (3), a base UI (2) and an additional UI (2).
  • the existing UI (3) includes a base UI (1) and an additional UI (1).
  • the existing UI (1), the existing UI (2), and the existing UI (3) have a scroll area.
  • the existing UI (4) does not have a scroll area.
  • the search unit 154 detects that the additional UI (1) has been added to the existing system screen (step S11).
  • the condition set in the additional UI (1) is to follow the scroll of the parent.
  • the DOM tree of the additional UI is inserted at the end of the DOM tree of the existing system screen.
  • the search unit 154 acquires the DOM tree of the existing system screen (step S12).
  • the search unit 154 acquires the base point UI of the additional UI (1) (step S13).
  • the search unit 154 acquires the base point UI (1).
  • the search unit 154 is set to the additional UI (1) by using the base point UI (1) as a key in the storage unit (for example, the display condition storage unit 141 in the storage unit 140). Store the condition.
  • the search unit 154 searches for the UI having the scroll area toward the system screen route (step S14).
  • the route from the base UI (1) to the system screen route includes the existing UI (1), the existing UI (2), and the existing UI (3). These existing UIs have a scroll area. Therefore, the search unit 154 uses the existing UI (1), the existing UI (2), and the existing UI (3) as keys, and stores the condition of "having a scroll area" in the storage unit.
  • the storage unit stores the display condition 52.
  • the search unit 154 detects that the additional UI (2) has been added to the existing system screen (step S15).
  • the condition set in the additional UI (2) is to follow the scroll of the parent.
  • the search unit 154 acquires the base point UI of the additional UI (2) (step S16).
  • the search unit 154 acquires the base point UI (2).
  • the search unit 154 acquires the DOM tree of the existing system screen (step S17).
  • the search unit 154 searches for the UI having the scroll area toward the system screen route.
  • the storage unit at the start of the search stores the display condition 52.
  • the existing UI (2) is located at the parent of the base UI (2). Since the existing UI (2) including the same conditions is registered in the storage unit, the search unit 154 ends the subsequent search (step S18).
  • FIGS. 11A and 11B are explanatory views showing an example of a search process for searching a UI used for display control of an additional UI.
  • the conditions of the additional UI are the same, and a plurality of base points are in a parent-child relationship.
  • the search unit 154 skips the subsequent search.
  • the system screen 53 includes the existing UI (1).
  • the existing UI (1) includes the existing UI (2) and the existing UI (4).
  • the existing UI (2) includes a base UI (1), an existing UI (3) and an additional UI (1).
  • the base UI (1) includes a base UI (2) and an additional UI (2).
  • the existing UI (1), the existing UI (2), and the base point UI (1) have a scroll area.
  • the existing UI (4) does not have a scroll area.
  • the search unit 154 detects that the additional UI (1) has been added to the existing system screen (step S21).
  • the condition set in the additional UI (1) is to follow the scroll of the parent.
  • the search unit 154 acquires the DOM tree of the existing system screen (step S22).
  • the search unit 154 acquires the base point UI of the additional UI (1) (step S23).
  • the search unit 154 acquires the base point UI (1).
  • the search unit 154 is set to the additional UI (1) by using the base point UI (1) as a key in the storage unit (for example, the display condition storage unit 141 in the storage unit 140). Store the condition.
  • the search unit 154 searches for a UI having a scroll area toward the system screen route (step S24).
  • the route from the base UI (1) to the system screen route includes the existing UI (1) and the existing UI (2). These existing UIs have a scroll area. Therefore, the search unit 154 uses the existing UI (1) and the existing UI (2) as keys, and stores the condition of "having a scroll area" in the storage unit.
  • the storage unit stores the display condition 54.
  • the search unit 154 detects that the additional UI (2) has been added to the existing system screen (step S25).
  • the condition set in the additional UI (2) is to follow the scroll of the parent.
  • the search unit 154 acquires the base point UI of the additional UI (2) (step S26).
  • the search unit 154 acquires the base point UI (2).
  • the search unit 154 acquires the DOM tree of the existing system screen (step S27).
  • the search unit 154 searches for the UI having the scroll area toward the system screen route.
  • the storage unit at the start of the search stores the display condition 54.
  • the base point UI (1) is located at the parent of the base point UI (2). Since the base point UI (1) including the same conditions is registered in the storage unit, the search unit 154 ends the subsequent search (step S28).
  • FIGS. 12A and 12B are explanatory views showing an example of a search process for searching a UI used for display control of an additional UI.
  • the additional UI has a plurality of conditions.
  • the system screen 55 includes the existing UI (1).
  • the existing UI (1) includes the existing UI (2) and the existing UI (4).
  • the existing UI (2) includes an existing UI (3), a base UI (2) and an additional UI (2).
  • the existing UI (3) includes a base UI (1) and an additional UI (1).
  • the existing UI (1), the existing UI (2), and the existing UI (3) have a scroll area. Further, the existing UI (3) has transparency. On the other hand, the existing UI (4) does not have a scroll area.
  • the search unit 154 detects that the additional UI (1) has been added to the existing system screen (step S31).
  • the conditions set in the additional UI (1) are to follow the scroll of the parent and to follow the transparency of the parent.
  • the search unit 154 acquires the DOM tree of the existing system screen (step S32).
  • the search unit 154 acquires the base point UI of the additional UI (1) (step S33).
  • the search unit 154 acquires the base point UI (1).
  • the search unit 154 is set to the additional UI (1) by using the base point UI (1) as a key in the storage unit (for example, the display condition storage unit 141 in the storage unit 140). Store the condition.
  • the search unit 154 searches for a UI having a scroll area toward the system screen route (step S34).
  • the route from the base UI (1) to the system screen route includes the existing UI (3), the existing UI (2), and the existing UI (1).
  • These existing UIs have scroll areas and transparency. Therefore, the search unit 154 uses the existing UI (1), the existing UI (2), and the existing UI (3) as keys, and sets the condition of "having a scroll area" and the condition of "having transparency”.
  • the storage unit stores the display condition 56.
  • the search unit 154 detects that the additional UI (2) has been added to the existing system screen (step S35).
  • the condition set in the additional UI (2) is to follow the scroll of the parent.
  • the search unit 154 acquires the base point UI of the additional UI (2) (step S36).
  • the search unit 154 acquires the base point UI (2).
  • the search unit 154 acquires the DOM tree of the existing system screen (step S37).
  • the search unit 154 searches for the UI having the scroll area toward the system screen route.
  • the storage unit at the start of the search stores the display condition 56.
  • the existing UI (2) is located at the parent of the base UI (2). Since the existing UI (2) including the same conditions is registered in the storage unit, the search unit 154 ends the subsequent search (step S38).
  • the registration unit 155 registers the event processing used for the display control of the additional UI with respect to the UI searched by the search unit 154.
  • the registration unit 155 registers an event according to the display condition of the existing UI.
  • the registration unit 155 may store the event processing code used for the display control of the additional UI in the event processing code storage unit 142.
  • the display unit 156 is realized by executing the above-mentioned event processing code with the RAM as a work area by, for example, a CPU, an MPU, or the like.
  • the above-mentioned event processing code causes the terminal device 100 to execute an event processing procedure according to the display condition.
  • the display unit 156 is realized by the event processing procedure.
  • FIG. 13 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device 100 according to the embodiment.
  • the display condition is to follow the scroll. If scrolling occurs in an existing UI, the additional UI will follow this scroll and the display position of the additional UI will be modified.
  • the display unit 156 detects that a scroll event has occurred (step S201). When the events occur continuously in a short time, the display unit 156 waits until the last event that occurs (step S202).
  • the display unit 156 extracts the base point UI of the display condition (that is, following the scroll) from the base point UI under the DOM tree of the existing UI in which scrolling has occurred with the corresponding additional UI (step). S203).
  • the display unit 156 determines whether or not the processing of all the extracted base point UIs has been completed (step S204).
  • step S204 When it is determined that the processing of all the extracted base point UIs has not been completed (step S204: No), the display unit 156 determines whether or not the base point UI exists in the display area (step S205).
  • step S205 When it is determined that the base point UI does not exist in the display area (step S205: No), the display unit 156 hides the additional UI corresponding to the base point UI (step S206). Then, the display unit 156 executes step S204 again.
  • step S205 When it is determined that the base point UI exists in the display area (step S205: Yes), the display unit 156 corrects the display position of the additional UI corresponding to the base point UI by the scroll amount of the existing UI, and adds the additional UI. Display (step S207). Then, the display unit 156 executes step S204 again.
  • step S204 When it is determined in step S204 that the processing of all the extracted base point UIs is completed (step S204: Yes), the event processing according to the display conditions ends.
  • FIG. 14 is an explanatory diagram showing an example of a screen display when an event occurs. Similar to the case of FIG. 13, in the example of FIG. 14, the display condition is to follow the scroll.
  • the additional UI is inserted in the screen 61.
  • the base UI is set to the additional UI.
  • the base point UI is under the existing UI (1) and the existing UI (2).
  • the event processing described above with reference to FIG. 13 is registered by the registration unit 155.
  • the system screen changes from screen 61 to screen 62.
  • the display position of the additional UI is modified according to the event processing, as shown on the screen 62. Therefore, event processing can prevent the additional UI from being left behind.
  • FIG. 15 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device 100 according to the embodiment.
  • the display condition is to follow the transparency. If a change in transparency occurs in an existing UI, the additional UI will follow this change in transparency and the display of the additional UI will be modified.
  • the display unit 156 detects that an event of change in transparency has occurred (step S301). When the events occur continuously in a short time, the display unit 156 waits until the last event that occurs (step S302).
  • the display unit 156 sets the base point UI of the display condition (that is, follow-up to the transparency) with the corresponding additional UI from the base point UI under the DOM tree of the existing UI in which the change in transparency has occurred. Extract (step S303).
  • Step S304, step S305 and step S306 are the same as step S204, step S205 and step S206 in FIG. Overlapping description is omitted here.
  • step S305 When it is determined that the base point UI exists in the display area (step S305: Yes), the display unit 156 corrects the transparency value of the additional UI corresponding to the base point UI to the transparency value of the existing UI. , Display the additional UI (step S307). Then, the display unit 156 executes step S304 again.
  • step S304 When it is determined in step S304 that the processing of all the extracted base point UIs is completed (step S304: Yes), the event processing according to the display conditions ends.
  • FIG. 16 is an explanatory diagram showing an example of a screen display when an event occurs. Similar to the case of FIG. 15, in the example of FIG. 16, the display condition is to follow the transparency.
  • the additional UI is inserted in the screen 63.
  • the base UI is set to the additional UI.
  • the base point UI is under the existing UI (1) and the existing UI (2).
  • the existing UI (3) is also under the control of the existing UI (1) and the existing UI (2).
  • the event processing described above with reference to FIG. 15 is registered by the registration unit 155.
  • the colors of the existing UI (3) and the base point UI also change.
  • the event processing is not registered, the color of the existing UI (3) around the additional UI changes depending on the transparency of the existing UI (2), but the color of the additional UI does not change. In such a case, the additional UI will be displayed floating.
  • the system screen changes from screen 63 to screen 64. Event processing is applied and the additional UI is displayed naturally. Therefore, the event processing can prevent the additional UI from floating on the system screen.
  • FIG. 17 is a flowchart showing an example of event processing according to display conditions, which is executed by the terminal device 100 according to the embodiment.
  • the display condition is to follow the size change. If a resizing occurs on an existing UI, the additional UI will follow this resizing and the display of the additional UI will be modified.
  • the display unit 156 detects that a size change event has occurred (step S401). When the events occur continuously in a short time, the display unit 156 waits until the last event that occurs (step S402).
  • the display unit 156 extracts the base point UI of the display condition (that is, following the size change) from the base point UI under the DOM tree of the existing UI in which the size change has occurred, with the corresponding additional UI. (Step S403).
  • Step S404, step S405 and step S406 are the same as step S204, step S205 and step S206 in FIG. Here, duplicate explanations are omitted.
  • step S405 When it is determined that the base point UI exists in the display area (step S405: Yes), the display unit 156 displays an additional UI corresponding to the base point UI (step S407). Then, the display unit 156 executes step S404 again.
  • step S404 When it is determined in step S404 that the processing of all the extracted base point UIs is completed (step S404: Yes), the event processing according to the display conditions ends.
  • FIG. 18 is an explanatory diagram showing an example of a screen display when an event occurs. Similar to the case of FIG. 17, in the example of FIG. 18, the display condition is to follow the size change. An additional UI is inserted in the screen 65. Also, the base UI is set to the additional UI. In the DOM tree of the screen 65, the base point UI is under the existing UI (1) and the existing UI (2).
  • the event processing described above with reference to FIG. 17 is registered by the registration unit 155.
  • the system screen changes from the screen 65 to the screen 66.
  • the base point UI is outside the display area.
  • the additional UI is set to be hidden according to the event processing, as shown on the screen 65.
  • FIG. 19 is a flowchart showing an example of a process for searching a UI used for display control of an additional UI, which is executed by the terminal device 100 according to the embodiment.
  • the acquisition unit 153 of the terminal device 100 acquires the condition of the added UI (step S501). More specifically, the acquisition unit 153 acquires the display conditions of the added UI (that is, the above-mentioned additional UI).
  • the acquisition unit 153 acquires and returns the DOM tree of the existing system screen (step S502).
  • the search unit 154 of the terminal device 100 acquires the base point UI set in the added UI from the DOM tree on the existing system screen (step S503).
  • the base point UI is a UI that serves as a base point for displaying the added UI.
  • the search unit 154 additionally saves the condition of the added UI in the storage unit 140 using the base point UI as a key (step S504). More specifically, the search unit 154 uses the base point UI as a key and stores the display condition of the added UI in the display condition storage unit 141.
  • the search unit 154 sets the base point UI to the current UI (step S505).
  • the search unit 154 sets the base point UI to the search point.
  • the base point UI corresponds to the search starting point.
  • the search unit 154 acquires the existing UI located in the parent of the current UI (step S506).
  • the search unit 154 determines whether the acquired existing UI is the system screen root (step S507). When it is determined that the acquired existing UI is the system screen root (step S507: Yes), the process for searching the UI used for the display control of the additional UI ends.
  • the search unit 154 determines whether the existing UI exists in the storage unit 140 (step S508). More specifically, the search unit 154 determines whether the existing UI is stored as a key in the display condition storage unit 141.
  • the search unit 154 acquires a list of conditions from the storage unit 140 using the existing UI as a key (step S509).
  • the list of conditions is, for example, display conditions such as "having a scroll area" and "transparency is set”.
  • the search unit 154 determines whether the added UI condition is included in the acquired condition list (step S510).
  • the search unit 154 determines whether the existing UI matches the added condition (step S510: No). Step S511). As an example, when the condition of the added UI is "follow the scroll of the parent", the search unit 154 determines whether the existing UI has a scroll area.
  • step S508 When it is determined in step S508 that the existing UI does not exist in the storage unit 140 (step S508: No), the process for searching the UI used for the display control of the additional UI proceeds to step S511. ..
  • the search unit 154 When it is determined that the existing UI matches the added condition (step S511: Yes), the search unit 154 additionally saves the added UI condition in the storage unit 140 using the existing UI as a key (step). S512). As an example, when the condition of the added UI is "follow the scroll of the parent" and the existing UI has a scroll area, the search unit 154 displays "has a scroll area" associated with this existing UI. The condition is stored in the display condition storage unit 141.
  • the registration unit 155 of the terminal device 100 registers an event according to the condition in the existing UI (step S513).
  • the registration unit 155 registers the event processing used for the display control of the added UI for the event (for example, scroll) of the existing UI.
  • the registration unit 155 stores the event processing code when a specific event (for example, scrolling) occurs in the event processing code storage unit 142.
  • the search unit 154 of the terminal device 100 sets the existing UI to the current UI (step S514). Then, the search unit 154 executes step S506 again.
  • step S510 when it is determined that the condition of the added UI is included in the list of acquired conditions (step S510: Yes), the process for searching the UI used for the display control of the additional UI. Ends.
  • the display control system 1 has an acquisition unit 153 and a search unit 154.
  • the acquisition unit 153 acquires the DOM tree of the screen into which the additional UI is inserted. Further, in the display control system 1 according to the embodiment, the search unit 154 changes the additional UI from the base point UI which is the base point of the display of the additional UI in the DOM tree based on the display condition regarding the display of the additional UI. Search for the UI used for display control.
  • the display control system 1 can efficiently search for the UI used for the display control of the additional UI.
  • the search unit 154 recursively searches for the UI used for the display control of the additional UI from the base point UI toward the root of the DOM tree, and searches for the base point UI.
  • the display condition is stored in a predetermined storage device (eg, display condition storage unit 141), and the searched UI is used as a key to store the display condition in this predetermined storage device. ..
  • the display control system 1 greatly reduces unnecessary searches for the existing UI search used for the display control of the additional UI used in the UI extension, and makes an efficient search. It can be realized.
  • the acquisition unit 153 acquires the DOM tree of the screen inserted by the other additional UI in addition to the additional UI.
  • the search unit 154 matches the display conditions related to the display of other additional UIs with the display conditions stored in the predetermined storage device (for example, the display condition storage unit 141). If so, end the search for the UI used for other additional display controls.
  • the display control system 1 can speed up the display of the additional UI and reduce the load when applying the UI extension to the screen.
  • the display condition regarding the display of the additional UI is a condition regarding at least one of scrolling, transparency, and resizing of the UI located above the base UI in the DOM tree. ..
  • the display control system 1 controls the display of additional UI according to the display status of the parent element that was not the target of display control, such as transparency, resizing, or z-index. Can be done. Therefore, the display control system 1 can display the additional UI more naturally on the existing system.
  • the display control system 1 has a detection unit 152 for detecting that an additional UI has been inserted into the screen. Further, in the display control system 1 according to the embodiment, the acquisition unit 153 acquires the DOM tree of the screen when the detection unit 152 detects that an additional UI has been inserted into the screen.
  • the display control system 1 can control the display of the additional UI even when the UI is dynamically added.
  • the display control system 1 according to the above-described embodiment may be implemented in various different forms other than the above-mentioned embodiment. Therefore, in the following, another embodiment of the above-mentioned display control system 1 will be described.
  • the content providing device 200 may execute all or 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 receiving unit 151, the detecting unit 152, the acquiring unit 153, the searching unit 154, and the registration unit 155.
  • the content providing device 200 may receive content from another content providing device. Then, the content providing device 200 may use the received content to perform the above-mentioned information processing on the detection unit 152, the acquisition unit 153, the search unit 154, and the registration unit 155.
  • the content providing device 200 may generate the above-mentioned event processing code and provide the content to the terminal device 100 together with the generated event processing code.
  • the above-mentioned information processing may be performed on the display unit 156 based on the content provided from the terminal device 100 and the content providing device 200 and the event processing code.
  • the display control 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 receiving unit 151, the detecting unit 152, the acquiring unit 153, the searching unit 154, and the registration unit 155.
  • 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 140 shown in FIG. 5 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. 20 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. 20 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
  • section, module, unit can be read as “means” or “circuit”.
  • search unit can be read as a search means or a search circuit.
  • Display control system 100 Terminal device 110 Communication unit 120 Input unit 130 Output unit 140 Storage unit 141 Display condition storage unit 142 Event processing code storage unit 150 Control unit 151 Reception unit 152 Detection unit 153 Acquisition unit 154 Search unit 155 Registration unit 156 Display Department 200 Content providing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

表示制御システム(1)は、取得部(153)と、探索部(154)とを備える。取得部(153)は、追加のUIが挿入された画面のDOMツリーを取得する。探索部(154)は、追加のUIの表示に関する表示条件に基づいて、DOMツリーにおいて、追加のUIの表示の基点となる基点UIから、追加のUIの表示制御に使用されるUIを探索する。

Description

表示制御システム、表示制御方法及び表示制御プログラム
 本開示は、表示制御システム、表示制御方法及び表示制御プログラムに関する。
 Webシステムは、様々な業務を対象に開発されている。業務の実態に合わせてWebシステムの画面をアップデートすることは、業務にとって重要なことである。しかしながら、画面の改造は、多大なコストを必要とする場合がある。また、画面の改造は、Webシステムに予期しない影響を与える場合がある。そこで、画面を直接改造することなく、画面を業務の変化に対応させるために、UI拡張技術が提案されている。
 UI拡張技術は、既存のWebシステムの画面を直接改造することなく、追加のUIを表示するものである。UI拡張技術では、追加のUIによる既存のWebシステムへの影響を軽減するために、追加のUIは、既存のWebシステムの画面を構成するDOM(Document Object Model)ツリーの末尾に挿入される。
 追加のUIがDOMツリーの末尾に挿入された場合に、表示の基点となる基点UI(User Interface)が、追加のUIに対して指定される。基点UIは、既存のWebシステムの画面に存在するUIである。この基点UIが画面に表示された場合に、追加のUIは、基点UIからの相対座標に基づいて、画面に表示される。
 上述したような追加のUIの表示を制御する手法は、追加のUIの複雑な表示および非表示や、追加のUIの表示位置の制御を必要とする場合がある。例えば、このような手法では、追加のUIを、Webシステムの画面に存在するUIのスクロールに追従させるために、スクロール領域を有するUIが、画面のDOMツリーの中から探索される場合がある。スクロール領域を有するUIは、追加のUIの表示制御に使用されるUIの一例である。
特開2018-5344号公報
 しかしながら、追加のUIの表示を制御する既存の手法では、追加のUIの表示制御に使用されるUIの探索を効率よく行えない場合がある。
 例えば、既存の手法では、追加のUIの表示制御に使用されるUIの全探索が、画面のDOMツリーのルートから実行される。しかしながら、DOMツリーの構造が巨大である、またはDOMツリーの変更規模が大きい場合に、UIの探索は、長い時間を要する場合がある。最悪の場合、Webシステムが、フリーズする。
 本願は、上記に鑑みてなされたものであって、追加のUIの表示制御に使用されるUIの探索を効率よく行うことを目的とする。
 本開示の実施形態に係る表示制御システムは、追加のUIが挿入された画面のDOMツリーを取得する取得部と、前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索部と、前記探索部によって探索されたUIに対して、前記表示条件に応じたイベントを登録する登録部とを備える。
 実施形態の一態様によれば、追加のUIの表示制御に使用されるUIの探索を効率よく行うことができる。
図1は、UI拡張の一例を示す説明図である。 図2は、典型的なUI探索の一例を示す説明図である。 図3は、実装例に係るUI探索の一例を示す説明図である。 図4Aは、追加のUIの表示制御の一例を示す説明図である。 図4Bは、追加のUIの表示制御の一例を示す説明図である。 図4Cは、追加のUIの表示制御の一例を示す説明図である。 図5は、実施形態に係る表示制御システムの一例を示す図である。 図6は、実施形態に係る端末装置によって実行される、追加のUIが挿入されたことを検知するための処理の一例を示すフローチャートである。 図7は、典型的なUI探索の一例を示す説明図である。 図8は、実装例に係るUI探索の一例を示す説明図である。 図9は、記憶部に保持される情報の一例を示す説明図である。 図10Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図10Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図11Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図11Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図12Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図12Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図13は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図14は、イベント発生時の画面表示の一例を示す説明図である。 図15は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図16は、イベント発生時の画面表示の一例を示す説明図である。 図17は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図18は、イベント発生時の画面表示の一例を示す説明図である。 図19は、実施形態に係る端末装置によって実行される、追加のUIの表示制御に使用されるUIを探索するための処理の一例を示すフローチャートである。 図20は、ハードウェア構成の一例を示す図である。
 以下、本開示の実施形態について、図面を参照しつつ詳細に説明する。なお、この実施形態により本発明が限定されるものではない。1つまたは複数の実施形態の詳細は、以下の説明および図面に記載される。また、複数の実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の1つまたは複数の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
 以下では、「追加のUI」を「追加UI」と表記することがある。また、「既存のUI」が、「既存UI」と表記されることがある。
〔1.概要〕
 本節では、本明細書に記載されるいくつかの実装形態の概要について説明する。なお、この概要は、読者の便宜のために提供されるものであって、本発明や、以下の節で説明される実施形態を限定することを意図するものではない。
 従来、様々なUI拡張技術が提案されている。UI拡張技術の1つは、既存のシステム画面を構成するDOMツリーの末尾に追加のUIを挿入するWeb機能拡張技術である。Web機能拡張技術は、既存のWebシステムの画面を直接改造することの影響を発生させずに、追加のUIを表示することができる。
 図1は、UI拡張の一例を示す説明図である。図1の例では、Webシステムの画面のDOMツリー10は、既存のWebシステムの画面のDOMツリー11および追加のUIのDOMツリー12を含む。図1に示された矢印は、画面のDOMツリー10と、画面の見た目との対応を示す。
 Web機能拡張技術では、基点のUIが、追加のUIに対して指定される。基点のUIは、既存のWebシステムに存在するUIである。基点となるUIがWebシステムの画面に表示されている場合に、追加のUIは、基点となるUIからの相対座標で表示される。階層的に追加のUIの親となる既存のUIが変化する場合に、追加のUIの表示制御が、既存のUIの変化に応じて必要とされる場合がある。
 例えば、Web機能拡張技術では、表示態様の変化を伴う既存のUIが、追加のUIの表示制御のために探索される。表示態様の変化を伴う既存のUIは、例えば、スクロール領域を持つ既存のUIである。図1の例では、追加UI(1)は、既存UI(2)の子として実際は存在しない。このため、もし、追加のUIの表示制御が行われなければ、追加UI(1)は、既存UI(2)のスクロールに追従しない。
 そこで、Web機能拡張技術では、表示態様の変化を伴う既存のUIが、探索される。このような既存のUIは、追加のUIの基点として設定されたUIの親階層に存在し、表示態様の変化を伴うUIである。例えば、探索される既存のUIは、スクロール領域を持つ既存のUIである。
 図2は、典型的なUI探索の一例を示す説明図である。典型的なUI探索では、DOMツリー10の動的な変化に対応するために、表示制御に使用されるUIは、ルートから全探索されている。このため、典型的なUI探索の計算量は、膨大であり、親のスクロールの変化にしか対応してない。
 図2の例では、スクロール領域を持つ既存のUIは、既存UI(1)の配下にないが、既存UI(3)や既存UI(4)も、探索されてしまう。このように、典型的なUI探索では、無駄な探索が発生する。また、ツリーの変化が大きい場合に、UIの探索に要する計算量が増大する。最悪の場合、既存のシステムが固まる。
 そこで、追加のUIが挿入された場合に、実装例に係る表示制御システムは、追加のUIの表示制御に使用される複数のUIを、基点となるUIを基点として探索する。これにより、表示制御システムは、計算量の小さい効率的なUIの特定を可能にする。
 図3は、実装例に係るUI探索の一例を示す説明図である。表示制御システムは、DOMツリー10の親に向かって、基点となるUIから、既存のUIを探索する。探索対象となる既存のUIは、スクロール領域を持つ既存のUI等の、表示態様の変化を伴う既存のUIである。表示態様の変化は、透過度、サイズ、z-index等の変化であってもよい。
 表示制御システムは、基点となるUIからルートに向かってUIを探索し、探索されたキー(基点となるUIまたは既存のUI)とバリュー(表示条件)とのセットを、記憶領域に格納する。表示制御システムが記憶領域に既に記憶されているキーとバリューのセットを見つけた場合に、表示制御システムは、以降のUIの探索をスキップする。このように、表示制御システムは、記憶領域に記憶されているキーとバリューのセットに基づいて、不要な探索をスキップすることができる。そして、表示制御システムは、表示条件に応じた表示制御処理を、既存のUIのイベントに対して登録する。
 これにより、表示制御システムは、UI探索の計算量を削減し、UIの表示を高速化することができる。また、表示制御システムは、追加のUIに設定された表示条件(例えば、親のスクロールに追従、親の透過度に追従)に合わせて、追加のUIの表示制御を、柔軟に行うこともできる。
〔2.はじめに〕
 今日、様々なシステムが、業務に使用されている。業務の実態は日々変化するため、業務の実態に合わせて業務システムをアップデートすることは、重要なことである。例えば、新規メニューが、サービスに追加されたものとする。この例では、もし、業務システムが新規メニューに対応していなければ、業務システムのユーザは、業務システム上で、新規メニューに関する業務を遂行することができない。
 そこで、業務システムをタイムリーにアップデートするために、UI拡張技術が提案されている。業務システムのUIを拡張するUI拡張技術は、例えば、上述の特許文献1で詳しく議論されている。UI拡張技術は、業務システムの画面に追加されたUIの表示を制御する。
 図4A、図4Bおよび図4Cは、追加のUIの表示制御の一例を示す説明図である。図4A、図4Bおよび図4Cの例では、追加のUIが、既存システムの画面20に挿入される。既存システムの画面20は、UI21を含む。UI21は、UI22を含む。図4Aに示された矢印は、画面20のDOMと、画面20の見た目との対応を示す。
 図4Aの例では、追加のUIが、UI22を基点としてUI22の下方に挿入される。例えば、WebMakeupなどの手法では、UI23が、画面20のDOMツリーの途中に挿入される。ただし、既存のDOMツリーの階層構造が壊れるため、このことが、システムに影響を与える可能性がある。そこで、特許文献1の手法は、UI23を、画面20のDOMツリーの末尾に挿入することで、システムへの影響を軽減している。実施形態に係る表示制御システムは、後者の手法に関連するものである。
 図4Bの例では、「annotation」というラベルが、追加のUI(例えば、UI23、UI24)として初期表示される。そして、スクロールのイベントが、UI21で発生する。WebMakeupなどの手法では、追加のUIは、自動的にスクロールされる。しかしながら、特許文献1の手法では、追加のUIはそのままではスクロールされないため、特許文献1の手法は、UI22がスクロールされたことを検知し、追加のUIの表示位置を更新することを必要とする。
 図4Cの例では、追加のUIは、追加のUIの表示位置の制御によって、UI21で発生したスクロールのイベントに追従する。WebMakeupなどの手法では、追加のUIがスクロール領域外にあると、追加のUIが、自動的に非表示となる。しかしながら、特許文献1の手法では、そのままでは追加のUIは表示されたままとなるため、特許文献1の手法は、UI22がスクロールされたことを検知し、基点となるUIが表示領域外にあることを判定する非表示処理を必要とする。
 上述したように、特許文献1の手法等の、UI拡張の手法は、追加のUIの表示制御を必要とする場合がある。例えば、表示制御は、既存のシステムに存在するスクロール領域を持つUIに対して、スクロールのイベントを検知する。このような表示制御を実現するために、既存の手法は、スクロール領域を持つUIを探索する。より具体的には、既存の手法は、DOMツリーが更新されたタイミングで、スクロール領域を持つUIを、DOMツリーのルートから全探索している。そして、既存の手法は、探索されたUIに対して、スクロール時の追加のUIの表示更新処理を登録するイベント登録処理を行っている。
 このように、UI拡張の手法は、既存のUIがスクロール等の変化を伴う場合に、階層的に追加のUIの親となる既存のUIの変化に合わせて、追加のUIの表示制御を行うことを必要とする場合がある。上述のように、既存の手法は、既存のUIの変化に対応するために、表示制御に使用される既存のUIを、DOMツリーのルートから全探索している。しかしながら、DOMツリーが大規模な場合には、UI探索の計算量が増加し、表示が遅延する場合がある。
 そこで、実施形態に係る表示制御システムは、スクロール領域を持つUI等の、追加のUIの表示制御に使用される既存のUIを、効率的に探索する。これにより、表示制御システムは、DOMツリーが大規模な場合であっても、表示の遅延を抑えることができる。
〔3.表示制御システムの構成〕
 次に、図5を参照して、実施形態に係る表示制御システムの構成例について説明する。
 図5は、実施形態に係る表示制御システム1の一例を示す図である。図5に示されるように、表示制御システム1は、端末装置100と、コンテンツ提供装置200とを含む。図5中では図示していないが、表示制御システム1は、複数台の端末装置100や、複数台のコンテンツ提供装置200を含んでもよい。
 表示制御システム1において、端末装置100およびコンテンツ提供装置200は、それぞれネットワークNと有線又は無線により接続される。ネットワークNは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。表示制御システム1の構成要素は、ネットワークNを介して互いに通信を行うことができる。
〔3-1.構成要素〕
 端末装置100は、追加のUIの表示制御に使用されるUIを探索するための処理を実行する情報処理装置である。端末装置100は、クライアント装置を含む、任意のタイプの情報処理装置であってもよい。端末装置100の構成例は、次の節で詳述される。
 コンテンツ提供装置200は、コンテンツ提供者によって利用される情報処理装置である。コンテンツ提供者は、システムの画面等のコンテンツを、端末装置100に提供する。コンテンツ提供装置200は、コンテンツに、追加のUIを挿入することができる。コンテンツ提供装置200は、サーバを含む、任意のタイプの情報処理装置であってもよい。
〔3-2.端末装置の構成〕
 次に、端末装置100の構成例について説明する。
 図5に示されるように、端末装置100は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを有する。
(通信部110)
 通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、有線または無線によりネットワーク網と接続される。通信部110は、コンテンツ提供装置200に、ネットワークNを介して、通信可能に接続される。通信部110は、コンテンツ提供装置200との間で、ネットワーク網を介して、情報の送受信を行うことができる。
(入力部120)
 入力部120は、端末装置100のユーザから各種操作を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等によって実現される。
(出力部130)
 出力部130は、各種情報を表示するための表示装置である。例えば、出力部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等によって実現される。なお、端末装置100にタッチパネルが採用される場合には、入力部120と出力部130とは一体化される。
(記憶部140)
 記憶部140は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図4に示されるように、記憶部140は、表示条件記憶部141と、イベント処理コード記憶部142とを有する。
(表示条件記憶部141)
 表示条件記憶部141は、既存のUIを探索するために使用される表示条件を記憶する。表示条件記憶部141は、後述する探索部154によって決定された表示条件を記憶する。表示条件記憶部141は、後述する探索部154によって探索された既存のUIのキャッシュを、表示条件として記憶する。
(イベント処理コード記憶部142)
 イベント処理コード記憶部142は、追加のUIの表示制御に使用されるイベント処理コードを記憶する。イベント処理コード記憶部142は、後述する登録部155によって登録されたイベント処理コードを記憶する。
(制御部150)
 制御部150は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラム(表示制御プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部150は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
 制御部150は、図5に示されるように、受信部151と、検知部152と、取得部153と、探索部154と、登録部155と、表示部156とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。端末装置100の1つまたは複数のプロセッサは、端末装置100の1つまたは複数のメモリに記憶された命令を実行することによって、制御部150内の各制御部の機能を実現することができる。なお、制御部150の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、探索部154は、探索部154以外の部に関して後述する情報処理の全部または一部を行ってもよい。
(受信部151)
 受信部151は、コンテンツ提供装置200から、システムの画面等のコンテンツを受信する。受信部151は、受信されたコンテンツを、記憶部140に格納してもよい。
(検知部152)
 検知部152は、追加のUIが挿入されたことを検知する。例えば、検知部152は、受信部151によって受信されたコンテンツを解析し、追加のUIがコンテンツに挿入されたことを検知する。
 例えば、検知部152は、追加のUIが、システム画面に、システムとは独立したソフトウェアから挿入されたことを検知する。コンテンツ提供装置200が、このソフトウェアを実装してもよい。検知部152は、システム画面のDOMが変更されたことを検知する。
 図6は、実施形態に係る端末装置100によって実行される、追加のUIが挿入されたことを検知するための処理の一例を示すフローチャートである。
 端末装置100の検知部152は、既存システム画面が変更された、または追加のUIが挿入されたかを判定する(ステップS101)。
 既存システム画面が変更されておらず、かつ追加のUIが挿入されていないと判定された場合に(ステップS101:No)、検知部152は、記憶部140のデータを削除する(ステップS102)。既存システム画面が変更された、または追加のUIが挿入されたと判定された場合に(ステップS101:Yes)、後述する探索部154が、追加のUIの表示制御に使用されるUIを探索する(ステップS103)。その後、検知部152は、次の変更まで待機する。
(取得部153)
 取得部153は、システムの画面等のコンテンツのDOMツリーを取得する。例えば、取得部153は、検知部152が追加のUIが画面に挿入されたことを検知した場合に、システムの画面のDOMツリーを取得する。
(探索部154)
 探索部154は、追加のUIの表示制御に使用されるUIを探索する。例えば、システムの画面のDOMツリーから、追加のUIの表示制御に使用される既存のUIを探索する。既存のUIは、システムの画面に存在するUIである。この既存のUIは、システムの画面に追加されたUIの表示制御に使用される。
 以下でより詳細に説明されるように、探索部154は、追加のUIの表示に関する表示条件に基づいて、追加のUIが挿入された画面のDOMツリーにおいて、既存のUIを探索する。例えば、表示条件は、DOMツリーにおいて基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である。言い換えると、追加のUIの表示に関する1つまたは複数の表示条件は、1)DOMツリーにおいて基点UIより上位に位置するUIのスクロールに関する条件、2)このUIの透明度に関する条件、および3)このUIのサイズ変更に関する条件のうちの少なくとも1つを含み得る。表示条件は、1)の条件、2)の条件、3)の条件、またはこれらの任意の組み合わせであってもよい。なお、表示条件は、これらの条件に限定されるものではない。1つまたは複数の表示条件は、これらの条件以外の条件(例えば、z-indexに関する条件)を含んでもよい。
 UIの探索の入力は、1)取得部153によって取得されたDOMツリー、2)追加のUIの表示の基点となる既存のUI(基点UIと呼ばれる)、および3)追加のUIに設定された表示条件である。探索部154は、追加のUIの表示制御に使用される既存のUIを、検知部152によって検知された追加のUIの表示制御に関する情報として探索する。
 図7は、典型的なUI探索の一例を示す説明図である。図7の例では、システム画面のDOMツリーは、既存システム画面のDOMツリー31および追加UIのDOMツリー32を含む。典型的なUI探索は、既存システム画面のDOMツリーを、システム画面ルートから全探索する。
 図7の例では、典型的なUI探索は、スクロール領域を持つ既存UIについての全探索を実行する。基点UIがスクロール領域を持つ既存UIの配下にある場合に、この既存UIをキーとして使用して、表示条件を記憶装置に格納する。
 しかしながら、典型的なUI探索は、無駄な探索を実行する場合があり、探索効率が悪い。例えば、基点UIがスクロール領域を持つ既存UIの配下にない場合に、この既存UIの探索は、不要な探索である。このように、基点UIが既存UIの配下に存在しない場合に、この既存UIは、追加UIの表示制御処理とは無関係である。したがって、この既存UIの探索は、本来不要である。
 図8は、実装例に係るUI探索の一例を示す説明図である。上述の典型的なUI探索の場合と同様に、システム画面のDOMツリーは、既存システム画面のDOMツリー31および追加UIのDOMツリー32を含む。実装例に係るUI探索は、システム画面ルートからではなく、基点UIから、追加UIの表示制御処理に関係する既存UIを探索する。
 実装例に係るUI探索は、表示制御処理に関係する既存UIを、基点UIから親に向かって探索する。実装例に係るUI探索では、探索部154は、1)システム画面ルート、2)同じ条件の基点UI、または3)同じ条件で探索済みの既存UIを発見した場合に、探索部154は、探索を終了する。
 探索部154は、1)、2)および3)の処理を、全ての基点UIから実行する。そして、既存UIをキーとして使用して、表示制御処理に対応する表示条件を、記憶部140に格納する。これにより、探索部154は、追加UIの表示制御処理とは無関係である既存UIの探索をなくすことができ、それによって、探索効率を向上させることができる。
 図9は、記憶部140に保持される情報の一例を示す説明図である。探索部154は、表示条件を、記憶部140内の表示条件記憶部141に格納する。表示条件43は、表示条件記憶部141に格納される表示条件の一例である。探索部154は、表示条件43によって示されるように、1つのキーに対して、複数の条件を登録することができる。
 図9の例では、システム画面のDOMツリーは、既存システム画面のDOMツリー41および追加UIのDOMツリー42を含む。既存システム画面のDOMツリー41は、複数の基点UIおよび複数の既存UIを含む。追加UIのDOMツリー42は、追加UI(1)および追加UI(2)を含む。
 複数の既存UIのうちの既存UI(1)は、スクロール領域を持つ。また、透過度が、既存UI(1)に設定されている。複数の既存UIのうちの既存UI(2)は、スクロール領域を持つ。
 複数の基点UIのうちの基点UI-Aは、追加UI(1)および追加UI(2)から基点UIに設定されている。追加UI(1)に設定された条件は、親のスクロールに追従することである。一方、追加UI(2)に設定された条件は、親の透過度に追従することである。
 探索部154は、追加UIに設定された条件に対応する既存UIを、基点UIから探索する。そして、探索部154は、探索された基点UIをキーとして使用して、表示条件を表示条件記憶部141に格納する。
 図10Aおよび図10Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図10Aおよび図10Bの例では、追加UIの条件が、同じである。追加UI(1)に設定された表示条件は、追加UI(2)に設定された表示条件と同じである。探索部154は、表示条件に対応するUIを、基点UIからシステム画面のルートに向かって探索する。そして、探索部154は、既に探索され、同じ条件を有する既存UIを、スキップする。
 図10Aおよび図10Bの例では、システム画面51は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、既存UI(3)、基点UI(2)および追加UI(2)を含む。既存UI(3)は、基点UI(1)および追加UI(1)を含む。
 図10Aおよび図10Bの例では、既存UI(1)、既存UI(2)および既存UI(3)は、スクロール領域を持つ。一方、既存UI(4)は、スクロール領域を持たない。
 図10Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS11)。追加UI(1)に設定された条件は、親のスクロールに追従することである。追加UIのDOMツリーは、既存システム画面のDOMツリーの末尾に挿入される。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS12)。
 次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS13)。図10Aの例では、探索部154は、基点UI(1)を取得する。図10Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
 次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS14)。図10Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(1)、既存UI(2)および既存UI(3)を含む。これらの既存UIは、スクロール領域を持つ。このため、探索部154は、既存UI(1)、既存UI(2)および既存UI(3)をキーとして使用して、「スクロール領域を持つ」という条件を、記憶部に格納する。図10Aの例では、記憶部は、表示条件52を記憶する。
 図10Bを参照すると、図10AのステップS14の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS15)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
 次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS16)。図10Bの例では、探索部154は、基点UI(2)を取得する。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS17)。
 その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件52を記憶する。図10Bの例では、既存UI(2)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む既存UI(2)が登録されているので、探索部154は、以降の探索を終了する(ステップS18)。
 図11Aおよび図11Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図11Aおよび図11Bの例では、追加UIの条件が同じであり、複数の基点が親子関係にある。同じ条件で探索された基点UIが親にある場合に、探索部154は、以降の探索をスキップする。
 図11Aおよび図11Bの例では、システム画面53は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、基点UI(1)、既存UI(3)および追加UI(1)を含む。基点UI(1)は、基点UI(2)および追加UI(2)を含む。
 図11Aおよび図11Bの例では、既存UI(1)および既存UI(2)、ならびに基点UI(1)は、スクロール領域を持つ。一方、既存UI(4)は、スクロール領域を持たない。
 図11Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS21)。追加UI(1)に設定された条件は、親のスクロールに追従することである。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS22)。
 次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS23)。図11Aの例では、探索部154は、基点UI(1)を取得する。図11Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
 次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS24)。図11Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(1)および既存UI(2)を含む。これらの既存UIは、スクロール領域を持つ。このため、探索部154は、既存UI(1)および既存UI(2)をキーとして使用して、「スクロール領域を持つ」という条件を、記憶部に格納する。図11Aの例では、記憶部は、表示条件54を記憶する。
 図11Bを参照すると、図11AのステップS24の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS25)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
 次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS26)。図11Bの例では、探索部154は、基点UI(2)を取得する。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS27)。
 その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件54を記憶する。図11Bの例では、基点UI(1)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む基点UI(1)が登録されているので、探索部154は、以降の探索を終了する(ステップS28)。
 図12Aおよび図12Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図12Aおよび図12Bの例では、追加UIに複数の条件がある。
 図12Aおよび図12Bの例では、システム画面55は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、既存UI(3)、基点UI(2)および追加UI(2)を含む。既存UI(3)は、基点UI(1)および追加UI(1)を含む。
 図12Aおよび図12Bの例では、既存UI(1)、既存UI(2)および既存UI(3)は、スクロール領域を持つ。また、既存UI(3)は、透明度を持つ。一方、既存UI(4)は、スクロール領域を持たない。
 図12Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS31)。追加UI(1)に設定された条件は、親のスクロールに追従することおよび親の透明度に追従することである。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS32)。
 次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS33)。図12Aの例では、探索部154は、基点UI(1)を取得する。図12Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
 次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS34)。図12Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(3)、既存UI(2)および既存UI(1)を含む。これらの既存UIは、スクロール領域や透明度を持つ。このため、探索部154は、既存UI(1)、既存UI(2)および既存UI(3)をキーとして使用して、「スクロール領域を持つ」という条件や「透明度を持つ」という条件を、記憶部に格納する。図12Aの例では、記憶部は、表示条件56を記憶する。
 図12Bを参照すると、図12AのステップS34の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS35)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
 次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS36)。図12Bの例では、探索部154は、基点UI(2)を取得する。
 次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS37)。
 その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件56を記憶する。図12Bの例では、既存UI(2)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む既存UI(2)が登録されているので、探索部154は、以降の探索を終了する(ステップS38)。
(登録部155)
 登録部155は、探索部154によって探索されたUIに対して、追加のUIの表示制御に使用されるイベント処理を登録する。登録部155は、既存のUIの表示条件に応じたイベントを登録する。登録部155は、追加のUIの表示制御に使用されるイベント処理コードを、イベント処理コード記憶部142に格納してもよい。
(表示部156)
 表示部156は、例えば、CPUやMPU等によって、上述のイベント処理コードがRAMを作業領域として実行されることにより実現される。例えば、上述のイベント処理コードは、表示条件に応じたイベント処理手順を、端末装置100に実行させる。この場合、表示部156は、イベント処理手順により実現される。
 図13は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図13の例では、表示条件は、スクロールへの追従である。スクロールが既存UIで発生した場合に、追加のUIが、このスクロールに追従し、追加のUIの表示位置が、修正される。
 はじめに、表示部156は、スクロールのイベントが発生したことを検知する(ステップS201)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS202)。
 次いで、表示部156は、スクロールが発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、スクロールへの追従)の基点UIを抽出する(ステップS203)。
 次いで、表示部156は、抽出された全ての基点UIの処理が完了したかを判定する(ステップS204)。
 抽出された全ての基点UIの処理が完了していないと判定された場合に(ステップS204:No)、表示部156は、基点UIが表示領域内に存在するかを判定する(ステップS205)。
 基点UIが表示領域内に存在しないと判定された場合に(ステップS205:No)、表示部156は、基点UIに対応する追加UIを非表示にする(ステップS206)。そして、表示部156は、再度ステップS204を実行する。
 基点UIが表示領域内に存在すると判定された場合に(ステップS205:Yes)、表示部156は、基点UIに対応する追加UIの表示位置を、既存UIのスクロール量だけ修正し、追加UIを表示する(ステップS207)。そして、表示部156は、再度ステップS204を実行する。
 ステップS204において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS204:Yes)、表示条件に応じたイベント処理は、終了する。
 図14は、イベント発生時の画面表示の一例を示す説明図である。図13の場合と同様に、図14の例では、表示条件は、スクロールへの追従である。追加UIが、画面61に挿入されている。また、基点UIが、追加UIに設定されている。画面61のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。
 図14の例では、図13を参照して上述したイベント処理が、登録部155によって登録されている。スクロールが発生した場合に、システム画面は、画面61から画面62に変化する。追加UIの表示位置は、画面62において示されるように、イベント処理に従って、修正される。このため、イベント処理は、追加UIが置き去りにされるのを防止することができる。
 図15は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図15の例では、表示条件は、透過度への追従である。透過度の変化が既存UIで発生した場合に、追加のUIが、この透過度の変化に追従し、追加のUIの表示が、修正される。
 はじめに、表示部156は、透過度の変化のイベントが発生したことを検知する(ステップS301)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS302)。
 次いで、表示部156は、透過度の変化が発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、透過度への追従)の基点UIを抽出する(ステップS303)。
 ステップS304、ステップS305およびステップS306は、図13のステップS204、ステップS205およびステップS206と同様である。ここでは、重複する説明は、省略される。
 基点UIが表示領域内に存在すると判定された場合に(ステップS305:Yes)、表示部156は、基点UIに対応する追加UIの透過度の値を、既存UIの透過度の値に修正し、追加UIを表示する(ステップS307)。そして、表示部156は、再度ステップS304を実行する。
 ステップS304において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS304:Yes)、表示条件に応じたイベント処理は、終了する。
 図16は、イベント発生時の画面表示の一例を示す説明図である。図15の場合と同様に、図16の例では、表示条件は、透過度への追従である。追加UIが、画面63に挿入されている。また、基点UIが、追加UIに設定されている。画面63のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。また、既存UI(3)も、既存UI(1)および既存UI(2)の配下にある。
 図16の例では、図15を参照して上述したイベント処理が、登録部155によって登録されている。既存UI(2)の透過度が変化した場合に、既存UI(3)および基点UIの色も、変化する。もし、イベント処理が登録されていなければ、追加UIの周辺の既存UI(3)の色は、既存UI(2)の透過度によって変化するが、追加UIの色が、変化しない。このような場合、追加UIは、浮いて表示されてしまう。イベント処理が登録されている場合には、システム画面は、画面63から画面64に変化する。イベント処理が適用され、追加UIは、自然に表示される。このため、イベント処理は、追加UIがシステム画面で浮いてしまうのを防止することができる。
 図17は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図17の例では、表示条件は、サイズ変更への追従である。サイズ変更が既存UIで発生した場合に、追加のUIが、このサイズ変更に追従し、追加のUIの表示が、修正される。
 はじめに、表示部156は、サイズ変更のイベントが発生したことを検知する(ステップS401)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS402)。
 次いで、表示部156は、サイズ変更が発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、サイズ変更への追従)の基点UIを抽出する(ステップS403)。
 ステップS404、ステップS405およびステップS406は、図13のステップS204、ステップS205およびステップS206と同様である。ここでは、重複する説明は、省略される。
 基点UIが表示領域内に存在すると判定された場合に(ステップS405:Yes)、表示部156は、基点UIに対応する追加UIを表示する(ステップS407)。そして、表示部156は、再度ステップS404を実行する。
 ステップS404において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS404:Yes)、表示条件に応じたイベント処理は、終了する。
 図18は、イベント発生時の画面表示の一例を示す説明図である。図17の場合と同様に、図18の例では、表示条件は、サイズ変更への追従である。追加UIが、画面65に挿入されている。また、基点UIが、追加UIに設定されている。画面65のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。
 図18の例では、図17を参照して上述したイベント処理が、登録部155によって登録されている。既存UI(2)のサイズが変更された場合に、システム画面は、画面65から画面66に変化する。図18の例では、基点UIが、表示領域外にある。追加UIは、画面65において示されるように、イベント処理に従って、非表示に設定される。
〔4.探索処理のフロー〕
 次に、図19を参照して、実施形態に係る端末装置100による探索処理の手順について説明する。
 図19は、実施形態に係る端末装置100によって実行される、追加のUIの表示制御に使用されるUIを探索するための処理の一例を示すフローチャートである。
 図19に示されるように、はじめに、端末装置100の取得部153は、追加されたUIの条件を取得する(ステップS501)。より具体的には、取得部153は、追加されたUI(すなわち、上述の追加のUI)の表示条件を取得する。
 次いで、取得部153は、既存システム画面のDOMツリーを取得して返却(return)する(ステップS502)。
 次いで、端末装置100の探索部154は、既存システム画面のDOMツリーから、追加されたUIに設定された基点UIを取得する(ステップS503)。上述のように、基点UIは、追加されたUIの表示の基点となるUIである。
 次いで、探索部154は、記憶部140に、基点UIをキーとして、追加されたUIの条件を追加保存する(ステップS504)。より具体的には、探索部154は、基点UIをキーとして使用して、追加されたUIの表示条件を、表示条件記憶部141に格納する。
 次いで、探索部154は、基点UIを現在のUIに設定する(ステップS505)。言い換えると、探索部154は、基点UIを、探索点に設定する。上述のように、基点UIは、探索起点に相当する。
 次いで、探索部154は、現在のUIの親に位置する既存UIを取得する(ステップS506)。
 次いで、探索部154は、取得された既存UIがシステム画面ルートであるかを判定する(ステップS507)。取得された既存UIがシステム画面ルートであると判定された場合に(ステップS507:Yes)、追加のUIの表示制御に使用されるUIを探索するための処理は、終了する。
 取得された既存UIがシステム画面ルートでないと判定された場合に(ステップS507:No)、探索部154は、既存UIが記憶部140に存在するかを判定する(ステップS508)。より具体的には、探索部154は、既存UIが表示条件記憶部141に、キーとして記憶されているかを判定する。
 既存UIが記憶部140に存在すると判定された場合に(ステップS508:Yes)、探索部154は、記憶部140から、既存UIをキーとして、条件の一覧を取得する(ステップS509)。条件の一覧は、例えば、「スクロール領域を持つ」、「透明度が設定されている」等の表示条件である。
 次いで、探索部154は、追加されたUIの条件が取得された条件の一覧に含まれるかを判定する(ステップS510)。
 追加されたUIの条件が取得された条件の一覧に含まれないと判定された場合に(ステップS510:No)、探索部154は、既存UIが追加された条件に一致するかを判定する(ステップS511)。一例として、追加されたUIの条件が「親のスクロールに追従」である場合に、探索部154は、既存UIがスクロール領域を持つかを判定する。
 ステップS508において、既存UIが記憶部140に存在しないと判定された場合に(ステップS508:No)、追加のUIの表示制御に使用されるUIを探索するための処理は、ステップS511に移行する。
 既存UIが追加された条件に一致すると判定された場合に(ステップS511:Yes)、探索部154は、記憶部140に、既存UIをキーとして、追加されたUIの条件を追加保存する(ステップS512)。一例として、追加されたUIの条件が「親のスクロールに追従」であり、既存UIがスクロール領域を持つ場合に、探索部154は、この既存UIに関連付けられた「スクロール領域を持つ」という表示条件を、表示条件記憶部141に格納する。
 次いで、端末装置100の登録部155は、既存UIに対して条件に応じたイベントを登録する(ステップS513)。図5を参照して上述したように、例えば、登録部155は、既存UIのイベント(例えば、スクロール)に対して、追加されたUIの表示制御に使用されるイベント処理を登録する。例えば、登録部155は、特定のイベント(例えば、スクロール)が発生した場合のイベント処理のコードを、イベント処理コード記憶部142に格納する。
 次いで、端末装置100の探索部154は、既存UIを現在のUIに設定する(ステップS514)。そして、探索部154は、再度ステップS506を実行する。
 ステップS510において、追加されたUIの条件が取得された条件の一覧に含まれると判定された場合に(ステップS510:Yes)、追加のUIの表示制御に使用されるUIを探索するための処理は、終了する。
〔5.効果〕
 上述してきたように、実施形態に係る表示制御システム1は、取得部153と、探索部154とを有する。
 実施形態に係る表示制御システム1において、取得部153は、追加のUIが挿入された画面のDOMツリーを取得する。また、実施形態に係る表示制御システム1において、探索部154は、追加のUIの表示に関する表示条件に基づいて、DOMツリーにおいて、追加のUIの表示の基点となる基点UIから、追加のUIの表示制御に使用されるUIを探索する。
 これにより、実施形態に係る表示制御システム1は、追加のUIの表示制御に使用されるUIの探索を効率よく行うことができる。
 また、実施形態に係る表示制御システム1において、探索部154は、追加のUIの表示制御に使用されるUIを、基点UIから、DOMツリーのルートに向かって再帰的に探索し、基点UIをキーとして使用して、表示条件を、所定の記憶装置(例えば、表示条件記憶部141)に格納し、探索されたUIをキーとして使用して、表示条件を、この所定の記憶装置に格納する。
 これにより、実施形態に係る表示制御システム1は、UI拡張において使用される、追加のUIの表示制御に使用される既存のUI探索に関して、無駄な探索を大幅に削減し、効率的な探索を実現することができる。
 また、実施形態に係る表示制御システム1において、取得部153は、他の追加のUIが、追加のUIに加えて挿入された画面のDOMツリーを取得する。また、実施形態に係る表示制御システム1において、探索部154は、他の追加のUIの表示に関する表示条件が、所定の記憶装置(例えば、表示条件記憶部141)に記憶された表示条件と一致する場合に、他の追加の表示制御に使用されるUIの探索を終了する。
 これにより、実施形態に係る表示制御システム1は、追加のUIの表示を高速化し、画面にUI拡張を適用する際の負荷を軽減することができる。
 また、実施形態に係る表示制御システム1において、追加のUIの表示に関する表示条件は、DOMツリーにおいて基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である。
 これにより、実施形態に係る表示制御システム1は、透過度、サイズ変更またはz-index等の、表示制御の対象でなかった親要素の表示状況に合わせて、追加のUIの表示を制御することができる。このため、表示制御システム1は、追加のUIを、より自然に既存のシステムに表示することができる。 
 また、実施形態に係る表示制御システム1は、追加のUIが画面に挿入されたことを検知する検知部152を有する。また、実施形態に係る表示制御システム1において、取得部153は、検知部152が追加のUIが画面に挿入されたことを検知した場合に、画面のDOMツリーを取得する。
 これにより、実施形態に係る表示制御システム1は、UIが動的に追加された場合でも、追加のUIの表示制御を行うことができる。
〔6.他の実施形態〕
 上述の実施形態に係る表示制御システム1は、上述の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の表示制御システム1の他の実施形態について説明する。
〔6-1.端末装置による表示制御処理の実行主体〕
 コンテンツ提供装置200は、上述の実施形態において端末装置100によって実行された処理の全部または一部を実行してもよい。例えば、コンテンツ提供装置200は、受信部151、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理の全部または一部を行ってもよい。
 一例として、コンテンツ提供装置200は、他のコンテンツ提供装置から、コンテンツを受信してもよい。そして、コンテンツ提供装置200は、受信されたコンテンツを使用して、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理を行ってもよい。
 コンテンツ提供装置200は、上述のイベント処理コードを生成し、生成されたイベント処理コードとともに、コンテンツを端末装置100に提供してもよい。この場合、端末装置100、コンテンツ提供装置200から提供されたコンテンツとイベント処理コードに基づいて、表示部156に関して上述した情報処理を行ってもよい。
 図5を参照して上述したように、表示制御システム1は、端末装置100と、コンテンツ提供装置200とを含む。コンテンツ提供装置200が、受信部151、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理の一部を分担してもよい。
〔7.その他〕
 また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
 例えば、図5に示した記憶部140の一部又は全部は、端末装置100によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、端末装置100は、ストレージサーバにアクセスすることで、表示条件等の各種情報を取得する。
〔8.ハードウェア構成〕
 図20は、ハードウェア構成の一例を示す図である。上述してきた実施形態に係る端末装置100やコンテンツ提供装置200は、例えば図20に示すような構成のコンピュータ1000によって実現される。
 図20は、プログラムが実行されることにより、端末装置100やコンテンツ提供装置200が実現されるコンピュータの一例を示している。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、端末装置100やコンテンツ提供装置200の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、端末装置100やコンテンツ提供装置200における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、本発明を特定の例に限定するものではない。本明細書に記載された特徴は、発明を実施するための形態の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で実施されることが可能である。
 また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、探索部は、探索手段や探索回路に読み替えることができる。
   1 表示制御システム
 100 端末装置
 110 通信部
 120 入力部
 130 出力部
 140 記憶部
 141 表示条件記憶部
 142 イベント処理コード記憶部
 150 制御部
 151 受信部
 152 検知部
 153 取得部
 154 探索部
 155 登録部
 156 表示部
 200 コンテンツ提供装置

Claims (7)

  1.  追加のUIが挿入された画面のDOMツリーを取得する取得部と、
     前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索部と
     を備えることを特徴とする表示制御システム。
  2.  前記探索部は、前記追加のUIの表示制御に使用されるUIを、前記基点UIから、前記DOMツリーのルートに向かって再帰的に探索し、前記基点UIをキーとして使用して、前記表示条件を、所定の記憶装置に格納し、探索されたUIをキーとして使用して、前記表示条件を、当該所定の記憶装置に格納する
     ことを特徴とする請求項1に記載の表示制御システム。
  3.  前記取得部は、他の追加のUIが、前記追加のUIに加えて挿入された前記画面の前記DOMツリーを取得し、
     前記探索部は、前記他の追加のUIの表示に関する表示条件が、前記所定の記憶装置に記憶された表示条件と一致する場合に、前記他の追加の表示制御に使用されるUIの探索を終了する
     ことを特徴とする請求項2に記載の表示制御システム。
  4.  前記追加のUIの表示に関する表示条件は、前記DOMツリーにおいて前記基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である
     ことを特徴とする請求項1~3のうちいずれか1つに記載の表示制御システム。
  5.  前記追加のUIが前記画面に挿入されたことを検知する検知部をさらに備え、
     前記取得部は、前記検知部が前記追加のUIが前記画面に挿入されたことを検知した場合に、前記画面のDOMツリーを取得する
     ことを特徴とする請求項1~4のうちいずれか1つに記載の表示制御システム。
  6.  コンピュータが実行する表示制御方法であって、
     追加のUIが挿入された画面のDOMツリーを取得する取得工程と、
     前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索工程と
     を含むことを特徴とする表示制御方法。
  7.  追加のUIが挿入された画面のDOMツリーを取得する取得手順と、
     前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索手順と
     をコンピュータに実行させることを特徴とする表示制御プログラム。
PCT/JP2020/041268 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム WO2022097213A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/041268 WO2022097213A1 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム
JP2022560549A JP7473007B2 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム
US18/035,058 US20240012981A1 (en) 2020-11-04 2020-11-04 Display control system, display control method, and display control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/041268 WO2022097213A1 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム

Publications (1)

Publication Number Publication Date
WO2022097213A1 true WO2022097213A1 (ja) 2022-05-12

Family

ID=81457001

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/041268 WO2022097213A1 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム

Country Status (3)

Country Link
US (1) US20240012981A1 (ja)
JP (1) JP7473007B2 (ja)
WO (1) WO2022097213A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206797A (ja) * 2002-12-25 2004-07-22 Kenwood Corp オーディオシステム及び記録再生装置
WO2005029353A1 (ja) * 2003-09-18 2005-03-31 Fujitsu Limited 注釈管理システム、注釈管理方法、文書変換サーバ、文書変換プログラム、電子文書付加プログラム
JP2008293506A (ja) * 2008-06-06 2008-12-04 Ntt Docomo Inc 構造化文書データ更新方法及び情報提供サーバ
JP2013061702A (ja) * 2011-09-12 2013-04-04 Nec Corp 構造化文書処理装置、構造化文書の類似領域特定方法、及び構造化文書の類似領域特定プログラム
JP2015079305A (ja) * 2013-10-15 2015-04-23 日本電信電話株式会社 作業ログの可視化方法及び装置並びにプログラム
JP2020173570A (ja) * 2019-04-09 2020-10-22 日本電信電話株式会社 解析装置、解析方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049258B2 (en) * 2009-09-17 2015-06-02 Border Stylo, LLC Systems and methods for anchoring content objects to structured documents
US9251287B2 (en) * 2011-08-26 2016-02-02 International Business Machines Corporation Automatic detection of item lists within a web page
WO2016174585A1 (en) * 2015-04-27 2016-11-03 Toonimo Inc. Content adapted multimedia guidance
US10452758B1 (en) * 2017-04-26 2019-10-22 Amazon Technologies, Inc. Optimizing online content rendering
US11106757B1 (en) * 2020-03-30 2021-08-31 Microsoft Technology Licensing, Llc. Framework for augmenting document object model trees optimized for web authoring

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206797A (ja) * 2002-12-25 2004-07-22 Kenwood Corp オーディオシステム及び記録再生装置
WO2005029353A1 (ja) * 2003-09-18 2005-03-31 Fujitsu Limited 注釈管理システム、注釈管理方法、文書変換サーバ、文書変換プログラム、電子文書付加プログラム
JP2008293506A (ja) * 2008-06-06 2008-12-04 Ntt Docomo Inc 構造化文書データ更新方法及び情報提供サーバ
JP2013061702A (ja) * 2011-09-12 2013-04-04 Nec Corp 構造化文書処理装置、構造化文書の類似領域特定方法、及び構造化文書の類似領域特定プログラム
JP2015079305A (ja) * 2013-10-15 2015-04-23 日本電信電話株式会社 作業ログの可視化方法及び装置並びにプログラム
JP2020173570A (ja) * 2019-04-09 2020-10-22 日本電信電話株式会社 解析装置、解析方法、及びプログラム

Also Published As

Publication number Publication date
JPWO2022097213A1 (ja) 2022-05-12
US20240012981A1 (en) 2024-01-11
JP7473007B2 (ja) 2024-04-23

Similar Documents

Publication Publication Date Title
US20190251143A1 (en) Web page rendering method and related device
US8266544B1 (en) HTML pop-up control
US9766860B2 (en) Dynamic source code formatting
CA2564389C (en) Multi-source, multi-destination data transfers
US20150220496A1 (en) Dynamic sprite based theme switching
EP3654175A1 (en) Terminal device, ui extension method, and ui extension program
CN111667199A (zh) 工作流构建方法、装置、计算机设备和存储介质
US7937715B2 (en) Mechanism for generating dynamic content without a web server
US20200249965A1 (en) Display Device with Built-In Web Browser for Graphical User Interface in an Embedded System
CN115309470A (zh) 微件的加载方法、装置、设备以及存储介质
US10133815B2 (en) Document association device, document association system, and program
US10241658B2 (en) Information processing apparatus, non-transitory computer-readable recording medium with information processing program recorded thereon, and information processing method
WO2022097213A1 (ja) 表示制御システム、表示制御方法及び表示制御プログラム
JP2010092103A (ja) Webページ表示方法、サーバ装置、及びプログラム
CN111522619A (zh) 基于软件类型和鼠标指针位置自动降低扩展屏幕刷新频率方法
CN114637937A (zh) 页面显示方法、装置、电子设备及计算机可读存储介质
CN113110837A (zh) 一种处理页面信息的方法和装置
US11288336B2 (en) Systems and methods for providing content items in situations involving suboptimal network conditions
US20080104528A1 (en) Capturing a GUI Display Environment
WO2022113315A1 (ja) ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム
CN111931010B (zh) 一种锚点与线条的动态绑定方法、装置、设备和存储介质
CN114816564B (zh) 应用加载方法、装置和电子设备
US20230214093A1 (en) Paging content for user interface display
EP4254293A1 (en) Program, information processing apparatus, method for processing information
WO2017027209A1 (en) Providing semantic based document editor

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: 20960767

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022560549

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18035058

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: 20960767

Country of ref document: EP

Kind code of ref document: A1