PROGRAM AND DEVICE FOR SCREEN SHARING
20220012074 · 2022-01-13
Assignee
Inventors
Cpc classification
G06F9/452
PHYSICS
H04L67/10
ELECTRICITY
H04L67/131
ELECTRICITY
G09G5/12
PHYSICS
G06F3/1454
PHYSICS
International classification
Abstract
Provided is a non-transitory recording medium storing a computer readable program for screen sharing, the program causing one or more processors to perform: acquiring a drawing command issued by an application to an operating system (OS); and transmitting the drawing command to a terminal on a receiving side.
Claims
1. A non-transitory recording medium storing a computer readable program for screen sharing, the program causing one or more processors to perform: acquiring a drawing command issued by an application to an operating system (OS); and transmitting the drawing command to a terminal on a receiving side.
2. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, wherein the OS reflects a drawing setting preset in the OS on the drawing command, and the drawing command is used by a device driver to generate image data to be displayed on a display.
3. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, wherein the acquiring the drawing command includes: accepting a command to enable a screen sharing function; and requesting the drawing command from the OS based on the acceptance of the command.
4. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, further causing the one or more processors to perform: accepting input of selection of transmission information; and transmitting either the drawing command or image data to the terminal on the receiving side based on the accepting the input of the selection of the transmission information.
5. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, further causing the one or more processors to perform: receiving type information of the OS from the terminal on the receiving side; and converting the drawing command based on the type information of the OS received from the terminal on the receiving side, wherein the transmitting the drawing command to the terminal on the receiving side includes transmitting the drawing command after the converting the terminal on the receiving side.
6. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, further causing the one or more processors to perform: receiving version information of the OS from the terminal on the receiving side; and converting the drawing command based on the version information of the OS received from the terminal on the receiving side, wherein the transmitting the drawing command to the terminal on the receiving side includes transmitting the drawing command after the converting the terminal on the receiving side.
7. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, further causing the one or more processors to perform converting the drawing command into a format independent of the OS, wherein the transmitting the drawing command to the terminal on the receiving side includes transmitting the drawing command after the converting the terminal on the receiving side.
8. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 1, further causing the one or more processors to perform: receiving the drawing command from a terminal on a transmitting side; generating an image based on a drawing setting of a figure or/and a character set in the OS of the terminal on the receiving side and the drawing command; and drawing the generated image on a display.
9. The non-transitory recording medium storing a computer readable program for screen sharing according to claim 8, further causing the one or more processors to perform converting the drawing command into a format corresponding to the OS of the terminal on the receiving side based on that a format or a parameter of the received drawing command does not correspond to the OS of the terminal on the receiving side.
10. A non-transitory recording medium storing a computer readable program for screen sharing, the program causing one or more processors to perform: receiving a drawing command transmitted and received between a plurality of terminals; converting, based on presence of a difference between an operating system (OS) of a terminal on a transmitting side of the drawing command and an OS of a terminal on a receiving side of the drawing command, the drawing command into a format processable by the OS of the terminal on the receiving side; and transmitting the drawing command after the converting to the terminal on the receiving side.
11. A device comprising: a memory that stores the non-transitory recording medium storing the computer readable program for screen sharing according to claim 1; and one or more processors that execute the program.
12. A device comprising: a memory that stores the non-transitory recording medium storing the computer readable program for screen sharing according to claim 10; and one or more processors that execute the program.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other objectives, advantages, aspects, and features provided by one or more embodiments of the invention will become more fully understood from the detailed description given hereinbelow and the appended drawings which are given by way of illustration only, and thus are not intended as a definition of the limits of the present invention:
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION OF EMBODIMENTS
[0022] Hereinafter, one or more embodiments of the present invention will be described with reference to the drawings. However, the scope of the invention is not limited to the disclosed embodiments. In the following description, the same parts are designated by the same reference numerals. Their names and functions are the same. Therefore, the detailed description of them will not be repeated.
A. Operation Example of Screen Sharing Tool for Transmitting and Receiving Image Data
[0023] First, with reference to
[0024]
[0025] First, the application 102 transmits a drawing command including shape data 120 and text 130 to the OS 103. The shape data 120 may include, for example, all but text information such as the shape and image of a dialog of the application 102. The text 130 includes text information displayed on the dialog 110. The drawing command transmitted from the application 102 to the OS 103 is a drawing command that does not include hardware-dependent parameters and the like (hereinafter may be referred to as an “abstract drawing command”).
[0026] Next, the OS 103 transmits a drawing command for the shape data 120 and the text 130 to the device driver 104. The OS 103 selects the device driver 104 for controlling the hardware of the terminal 101, and transmits the drawing command to the device driver 104. The drawing command transmitted from the OS 103 to the device driver 104 is a drawing command including hardware-dependent parameters and the like (hereinafter may be referred to as a “concrete drawing command”).
[0027] The device driver 104 generates image data based on the concrete drawing command, and transmits the image data to hardware 105 of the terminal 101. The hardware 105 is, for example, the display of the terminal 101. The image data is generated as image data in which the shape data 120 and the text 130 included in the concrete drawing command are combined.
[0028]
[0029] In the example of
[0030] Each of the terminals 101A, 101B retains an installed screen sharing tool 250. The display of the terminal 101A displays a dialog 210 of application. The display of the terminal 101B displays a dialog 220 of application.
[0031] The screen sharing tool 250 includes a screen sharing control unit 251, a shared screen transmission unit 252, a shared screen reception unit 253, a shared screen display unit 254, an own screen acquisition unit 255, and an own screen trimming unit 256.
[0032] The screen sharing control unit 251 controls the overall operation of the screen sharing tool 250. The shared screen transmission unit 252 transmits image data 230 for displaying a screen to be shared between the terminals 101A, 101B. The shared screen reception unit 253 receives the image data 230 for displaying the screen to be shared between the terminals 101A, 101B. The shared screen display unit 254 causes the received image data 230 to be displayed on the display of the terminal 101 on the receiving side. The own screen acquisition unit 255 receives the image displayed on the display of the terminal 101 on the transmitting side from the terminal 101 on the transmitting side. The own screen trimming unit 256 trims only the image of a necessary portion from the image received by the own screen acquisition unit 255. In the example of
[0033] In the example illustrated in
[0034]
[0035] The OS 300 includes a graphics device interface (GDI) 301, a universal design processing unit 302, and a device driver interface (DDI) 303. The GDI 301 is an interface with each application installed in the OS. The GDI 301 receives an abstract drawing command 321 from the application 310. Further, the GDI 301 transmits the abstract drawing command 321 to the universal design processing unit 302.
[0036] The universal design processing unit 302 can reflect drawing settings (high contrast display, color filter function, change of character size, or the like) preset in the OS 300 on the abstract drawing command 321. Further, the universal design processing unit 302 generates a concrete drawing command 322 including information to be passed to various device drivers based on the abstract drawing command 321. The universal design processing unit 302 transmits the concrete drawing command 322 to the DDI 303.
[0037] The DDI 303 transmits the received concrete drawing command 322 to a display driver 304. The display driver 304 that has received the concrete drawing command 322 generates image data 323 based on the concrete drawing command 322. The image data 323 is displayed on the display of the terminal 101. The image data 323 corresponds to the dialog 210 in
[0038] The screen sharing tool 250 receives the image data 323 via the OS 300 and transmits the image data 323 to the terminal 101 on the receiving side. This processing corresponds to the processing in which the screen sharing tool 250 installed in the terminal 101A in
[0039]
[0040] The screen sharing tool 250 receives the image data 323 and transmits the image data 323 to the GDI 301. The image data 323 is transferred in the order of the GDI 301, the universal design processing unit 302, and the DDI 303. Finally, the image data 323 is displayed on the display of the terminal 101 on the receiving side by the display driver 304.
[0041] Comparing
[0042] On the other hand, in the terminal 101 on the receiving side, the GDI 301 receives the image data 323 instead of the abstract drawing command 321. The universal design processing unit 302 cannot add the drawing settings preset in the OS 300 to the image data 323. Therefore, the OS 300 displays the received image data 323 as it is on the display. That is, the image displayed on the terminal 101 on the receiving side depends on the image data 323 generated by the terminal 101 on the transmitting side.
B. Operation of Screen Sharing Tool for Transmitting and Receiving Drawing Command
[0043] Next, with reference to
[0044]
[0045] Each of the terminals 101A, 101B is equipped with an installed screen sharing tool 500. The display of the terminal 101A displays a dialog 510 of application. The display of the terminal 101B displays a dialog 520 of application.
[0046] The screen sharing tool 500 includes a screen sharing control unit 501, a drawing command transmission unit 502, a drawing command acquisition unit 503, a drawing command acquisition unit 504, and a drawing command display unit 505. Further, the screen sharing tool 500 cooperates with a drawing command retention unit 506. In a certain aspect, the screen sharing tool 500 may include the drawing command retention unit 506.
[0047] The screen sharing control unit 501 controls the overall operation of the screen sharing tool 500. The drawing command transmission unit 502 transmits a screen drawing command 530 to be shared between the terminals 101A, 101B to the terminal 101B on the receiving side. The drawing command acquisition unit 503 receives the screen drawing command 530 to be shared between the terminals 101A, 101B from the terminal 101A on the transmitting side. The drawing command acquisition unit 504 receives the drawing command 530 from the drawing command retention unit 506. The drawing command display unit 505 generates image data based on the drawing command 530 received by the drawing command acquisition unit 503, and displays the image data on the display of the terminal 101.
[0048] The drawing command retention unit 506 receives the drawing command 530 from each application or OS installed in the terminal 101. In a certain aspect, the drawing command retention unit 506 may request the drawing command 530 from the OS. Further, in another aspect, the drawing command retention unit 506 may directly receive the drawing command 530 from each application.
[0049] In the example illustrated in
[0050]
[0051] The GDI 301 receives an abstract drawing command 321 from the application 310. Further, the GDI 301 transmits the abstract drawing command 321 to the universal design processing unit 302. At that time, the GDI 301 also transmits the abstract drawing command 321 to the drawing command retention unit 506. In a certain aspect, the GDI 301 may also transmit the abstract drawing command 321 to the drawing command retention unit 506 based on the request from the drawing command retention unit 506. In another aspect, the drawing command retention unit 506 may directly receive the abstract drawing command 321 from the application 310.
[0052] The universal design processing unit 302 can reflect drawing settings (high contrast display, color filter function, change of character size, or the like) preset in the OS 300 on the abstract drawing command 321. Further, the universal design processing unit 302 generates a concrete drawing command 322 including information to be passed to various device drivers based on the abstract drawing command 321. The universal design processing unit 302 transmits the concrete drawing command 322 to the DDI 303.
[0053] The DDI 303 transmits the concrete drawing command 322 to the display driver 304. The display driver 304 that has received the concrete drawing command 322 generates the image data 323. The image data 323 is displayed on the display of the terminal 101. The image data 323 corresponds to the dialog 510 in
[0054] The screen sharing tool 500 receives the abstract drawing command 321 from the drawing command retention unit 506, and transmits the abstract drawing command 321 to the terminal 101 on the receiving side. This processing corresponds to the processing in which the screen sharing tool 500 installed in the terminal 101A in
[0055]
[0056] The screen sharing tool 500 receives the abstract drawing command 321 and transmits the abstract drawing command 321 to the GDI 301. The GDI 301 transmits the received abstract drawing command 321 to the universal design processing unit 302.
[0057] The universal design processing unit 302 can reflect drawing settings (high contrast display, color filter function, change of character size, or the like) preset in the OS 300 on the abstract drawing command 321. Further, the universal design processing unit 302 generates a concrete drawing command 322 including information to be passed to various device drivers based on the abstract drawing command 321. Thereafter, the universal design processing unit 302 transmits the concrete drawing command 322 to the DDI 303.
[0058] The DDI 303 transmits the concrete drawing command 322 to the display driver 304. Upon receiving the concrete drawing command 322, the display driver 304 generates image data 323 and displays the image data 323 on the display of the terminal 101. The image data 323 corresponds to the dialog 520 in
[0059] Comparing
[0060] For example, it is assumed that the drawing settings of the OS 300 of the terminal 101A do not include special settings, and the drawing settings of the OS 300 of the terminal 101B include the high contrast display. In this case, the image data 323 displayed on the terminal 101A does not reflect the special drawing processing. On the other hand, the image data 323 displayed on the terminal 101B reflects the setting of the high contrast display.
[0061] As described with reference to
[0062] The terminal 101 on the receiving side generates the image data 323 based on the received abstract drawing command 321. Thus, each terminal 101 can generate the image data 323 after reflecting the drawing settings set in the OS 300 of each terminal 101 on the abstract drawing command 321. Consequently, each terminal 101 can display the image data 323 that reflects the settings that are easy for the user of each terminal 101 to recognize on the display.
[0063] Note that in
[0064]
[0065] In the example of
[0066] The relay device 840 relays data between the terminal 101A and the terminal 101B. For example, the terminal 101A and the terminal 101B can transmit and receive a drawing command 830 via the relay device 840. In a certain aspect, the relay device 840 may include a data conversion unit 850. In that case, the data conversion unit 850 can convert the format of the drawing command 830 based on the type and/or version of the OS of the terminal 101B on the receiving side. Further, in another aspect, the relay device 840 may receive information of the type and/or version of the OS and the like from each terminal 101A, 101B separately from the drawing command 830.
[0067] In a certain aspect, the screen sharing tool 800 may include a data conversion unit 860. In that case, the screen sharing tool 800 can convert the format of the drawing command 830 into a format that can be processed by the OS of the terminal 101B based on the type and/or version of the OS of the terminal 101B on the receiving side. In this case, the screen sharing toot 800 may exchange information such as the type and/or version of the OS of each terminal 101A, 101B with each other. Further, when the screen sharing tool 800 includes the data conversion unit 860, the drawing command 830 does not have to go through the relay device 840.
[0068] In a certain aspect, the terminal 101A may convert the format of the drawing command 830 before transmission into a format that can be processed by the OS of the terminal 101B by the data conversion unit 860. Further, in another aspect, the terminal 101B may convert the format of the received drawing command 830 into a format that can be processed by the OS of the terminal 101B by the data conversion unit 860.
[0069] In a certain aspect, the terminal 101A, 101B or the relay device 840 may convert the format of the drawing command 830 into any format independent of the OS instead of the format that can be processed by the OS of the terminal 101B on the receiving side. In that case, the data conversion unit 860 of the terminal 101B converts the format of the drawing command 830 into a format that can be processed by the OS of the terminal 101B based on the reception of the drawing command 830 whose format has been converted into the format independent of the OS.
[0070] As described above, the screen sharing tool 800 or the relay device 840 can convert the format of the drawing command 830 based on the type and/or version of the OS of the terminal 101 on the receiving side. With this function, for example, even if there is a difference in the type and/or version of the OS among a plurality of terminals 101 that shares the screen, the screen sharing tool 800 installed in each terminal 101 can exchange the drawing command 830 whose format has been properly converted. Consequently, the terminal 101 on the receiving side can reflect the drawing settings set in the OS on the drawing command 830 regardless of the type and/or version of the OS.
C. Hardware Configuration
[0071]
[0072] The terminal 101 includes a CPU (Central Processing Unit) 901, a primary storage device 902, a secondary storage device 903, an external device interface 904, an input interface 905, an output interface 906, and a communication interface 907.
[0073] The CPU 901 can execute a program for implementing various functions of the terminal 101. The CPU 901 includes, for example, at least one integrated circuit. The integrated circuit may include, for example, at least one CPU, at least one FPGA (Field Programmable Gate Array), or a combination thereof or the like.
[0074] The primary storage device 902 stores programs executed by the CPU 901 and data referenced by the CPU 901. In a certain aspect, the primary storage device 902 may be implemented by a dynamic random access memory (DRAM) or a static random access memory (SRAM) or the like.
[0075] The secondary storage device 903 is a non-volatile memory and may store programs executed by the CPU 901 and data referenced by the CPU 901. In that case, the CPU 901 may execute a program read from the secondary storage device 903 to the primary storage device 902, and refers to the data read from the secondary storage device 903 to the primary storage device 902. In a certain aspect, the secondary storage device 903 may be implemented by a hard disk drive (HDD), a solid state drive (SSD), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, or the like.
[0076] The external device interface 904 can be connected to any external device such as a printer, scanner and an external HDD. In a certain aspect, the external device interface 904 may be implemented by a Universal Serial Bus (USB) terminal or the like.
[0077] The input interface 905 can be connected to any input device such as a keyboard, a mouse, a touchpad, or a gamepad. In a certain aspect, the input interface 905 may be implemented by a USB terminal, a PS/2 terminal, a Bluetooth (registered trademark) module, or the like.
[0078] The output interface 906 can be connected to any output device such as a cathode ray tube display, a liquid crystal display, or an organic electro-luminescence (EL) display. In a certain aspect, the output interface 906 may be implemented by a USB terminal, a D-sub terminal, a Digital Visual Interface (DVI) terminal, a High-Definition Multimedia Interface (HDMI) (registered trademark) terminal, or the like.
[0079] The communication interface 907 is connected to a wired or wireless network device. In a certain aspect, the communication interface 907 may be implemented by a wired local area network (LAN) port, a Wireless Fidelity (Wi-Fi) (registered trademark) module, or the like. In another aspect, the communication interface 907 may transmit and receive data using a communication protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol) and User Datagram Protocol (UDP).
D. Flowchart
[0080] Next, a flow of processing of the screen sharing tool 500 according to the present embodiment will be described with reference to
[0081] The CPU 901 can repeatedly execute processing of steps S1010 to S1050 and processing of steps S1060 to S1080 in parallel. The processing from steps S1010 to S1050 is processing related to display of image data on the display of the terminal 101. The processing from steps S1060 to S1080 is processing related to transmission of a drawing command by the screen sharing tool 500.
[0082] In step S1010, the CPU 901 executes a GDI interrupt process based on a GDI call, that is, transmission of the drawing command from the application to the OS. The GDI call corresponds to, for example, transmission processing of the abstract drawing command 321 to the GDI 301, which has been described with reference to
[0083] In step S1020, the CPU 901 executes application processing of universal design. The processing of this step corresponds to the processing of applying the drawing settings set in the OS 300 to the abstract drawing command 321 by the universal design processing unit 302, which has been described with reference to
[0084] In step S1030, the CPU 901 converts the abstract drawing command into a concrete drawing command. The processing of this step corresponds to the processing of converting the abstract drawing command 321 into the concrete drawing command 322, which has been described with reference to
[0085] In step S1040, the CPU 901 executes a DDI call. The processing of this step corresponds to the processing of transmitting the concrete drawing command 322 to the DDI 303, which has been described with reference to
[0086] In step S1050, the CPU 901 displays a dialog of application on the display of the terminal 101. The processing of this step corresponds to the processing of displaying the image data 323 on the display of the terminal 101 by the display driver 304, which has been described with reference to
[0087] In step S1060, the CPU 901 determines whether or not the screen sharing function is effective. For example, the CPU 901 determines whether or not the screen sharing function among a plurality of terminals 101 in the screen sharing tool 500 is effective. If the CPU 901 has determined that the screen sharing function is effective (YES in step S1060), the CPU 901 shifts control to step S1070. If not (NO in step S1060), the CPU 901 ends the processing of the screen sharing.
[0088] In step S1070, the CPU 901 retains the drawing command transmitted to the OS. The processing of this step corresponds to the processing described in
[0089] In step S1080, the CPU 901 transmits a drawing command to the terminal 101 on the receiving side. The processing of this step corresponds to the processing of transmitting the abstract drawing command 321 to the terminal 101 on the receiving side by the screen sharing tool 500 described in
[0090]
[0091] The CPU 901 can repeatedly execute processing of steps S1110 to S1140 and processing of steps S1150 to S1180 in parallel. The processing from steps S1110 to S1140 is processing related to reception of a drawing command by the screen sharing tool 500. The processing from steps S1150 to S1180 is processing related to display of image data on the display of the terminal 101.
[0092] In step S1110, the CPU 901 determines whether or not the screen sharing function is effective. For example, the CPU 901 determines whether or not the screen sharing function among a plurality of terminals 101 in the screen sharing tool 500 is effective. If the CPU 901 has determined that the screen sharing function is effective (YES in step S1110), the CPU 901 shifts control to step S1120. If not (NO in step S1110), the CPU 901 ends the processing of screen sharing.
[0093] In step S1120, the CPU 901 receives a drawing command from the terminal 101 on the transmitting side. In step S1130, the CPU 901 scales the received drawing command to match the size of the screen sharing. For example, the CPU 901 can change the size of the screen and the like included in the drawing command to match the terminal 101 on the receiving side. In step S1140, the CPU 901 executes a GDI call, that is, transmission of a drawing command from the application to the OS. Based on the occurrence of the GDI call, the CPU 901 starts the processing of steps S1150 to S1180.
[0094] In step S1150, the CPU 901 executes application processing of universal design. The processing of this step corresponds to the processing of applying the drawing settings set in the OS 300 to the abstract drawing command 321 by the universal design processing unit 302, which has been described with reference to
[0095] In step S1160, the CPU 901 converts the abstract drawing command into a concrete drawing command. The processing of this step corresponds to the processing of converting the abstract drawing command 321 into the concrete drawing command 322, which has been described with reference to
[0096] In step S1170, the CPU 901 executes a DDI call. The processing of this step corresponds to the processing of transmitting the concrete drawing command 322 to the DDI 303, which has been described with reference to
[0097] In step S1180, the CPU 901 displays a dialog of application on the display of the terminal 101. The processing of this step corresponds to the processing of displaying the image data 323 on the display of the terminal 101 by the display driver 304, which has been described with reference to
[0098] In a certain aspect, when the screen sharing tool 800 is installed in the terminal 101, the terminal 101 on the transmitting side may convert, for example, a drawing command before transmission into a drawing command in a format that can be processed by the OS of the terminal 101 on the receiving side, or a drawing command in a format independent of the OS by the data conversion unit 860, after the processing of step S1070.
[0099] In another aspect, when the screen sharing tool 800 is installed in the terminal 101, the terminal 101 on the receiving side may convert, for example, a drawing command after reception into a drawing command in a format that can be processed by the OS of the terminal 101 on the receiving side, or a drawing command in a format independent of the OS, by the data conversion unit 860 after the processing of step S1120.
[0100] In a certain aspect, the screen sharing tool 500, 800 may accept input of a command to switch between enable and disable of the screen sharing function. In that case, the screen sharing tool 500, 800 installed in the terminal on the transmitting side may request a drawing command from the OS or the application based on the acceptance of the input of the command. Further, the screen sharing tool 500, 800 may accept input of a command to switch between enable and disable of the screen sharing function from any input interface such as a keyboard, a mouse, a touch panel, or a microphone or the like.
[0101] In a certain aspect, the screen sharing tool 500, 800 installed in the terminal on the transmitting side may accept input of a selection command for information to be transmitted. The information to be transmitted includes, for example, a drawing command and image data. The screen sharing tool 500, 800 may transmit information of either the drawing command or the image data to the terminal 101 on the receiving side based on the acceptance of the input of the selection command for information to be transmitted. Further, the screen sharing tool 500, 800 may accept input of a selection command for information to be transmitted from any input interface such as a keyboard, a mouse, a touch panel, or a microphone or the like.
[0102] In the examples illustrated in
[0103] As described above, the terminals 101 in which the screen sharing tool 500 according to the present embodiment is installed share the abstract drawing command with each other. With this function, each terminal 101 can display image data on the display that reflects settings that are easy for the user of each terminal 101 to recognize.
[0104] Further, since the screen sharing tool 800 or the relay device 840 has the function of converting a drawing command, the screen sharing tool installed in each terminal 101 can exchange appropriately converted drawing commands even if there is a difference in type and/or version of the OS between the terminals 101 performing transmission and reception. Consequently, the terminal 101 on the receiving side can reflect the drawing settings set in the OS in the drawing command regardless of the type and/or version of the OS.
[0105] Although embodiments of the present invention have been described and illustrated in detail, the disclosed embodiments are made for purposes of illustration and example only and not limitation. The scope of the present invention should be interpreted by terms of the appended claims, and it is intended that all modifications are included in the meaning and scope equivalent to the claims. In addition, the disclosure contents described in the embodiments and the respective modification examples are intended to be implemented either alone or in combination as much as possible.