1. Technical Field
The present disclosure relates to a screen generating device, a screen generating system and a screen generating method which receive touch operation signals from a plurality of terminals, and generate and transmit content matching each of the plurality of terminals.
2. Description of Related Art
A virtualization technology is rapidly spreading from viewpoints of flexibility, availability and a cost advantage of an operation. The virtualization technology is a technology for logically integrating and dividing and enabling use of resources (a CPU, a memory and a disk) in hardware such as a server irrespectively of a physical configuration. One of these virtualization technologies disclosed in International Patent Publication No. 2012/133300 is a desktop virtualization technology for causing a server to execute drawing processing on a desktop which has been conventionally performed by each client terminal, and transmitting a processing result as video content to each client terminal.
An object of the present disclosure is to cause a screen generating server to receive an operation of each of a plurality of client terminals and cause each client terminal to operate one desktop of the screen generating server to virtualize a desktop formed by the screen generating server and each client terminal.
A screen generating device according to the present disclosure is a screen generating device which receives a first operation signal of a touch operation from each of a plurality of terminals, and transmits content matching each of the plurality of terminals, and the screen generating device including: an operation signal receiver which receives the first operation signal; an operation type determining unit which determines a type of the first operation signal; an operation signal converter which converts the first operation signal into a second operation signal of a mouse operation; and a plurality of browsers which generates a screen of the content matching each of the plurality of terminals by using the first operation signal or the second operation signal based on a result of the determination made by the operation type determining unit.
A screen generating system according to the present disclosure is a screen generating system including: a plurality of terminals; and a screen generating device which receives a first operation signal of a touch operation from each of the plurality of terminals, and transmits content matching each of the plurality of terminals. The plurality of terminals includes: an operation type determining unit which determines a type of the first operation signal input from a touch panel; an operation signal transmitter which transmits to the screen generating device the first operation signal and a result of the determination made by the operation type determining unit, and the screen generating device includes: an operation signal receiver which receives the first operation signal; an operation signal converter which converts the first operation signal into a second operation signal of a mouse operation; and a plurality of browsers which generates a screen of the content matching each of the plurality of terminals by using the first operation signal or the second operation signal based on a result of the determination made by the operation type determining unit.
A screen generating method according to the present disclosure is a screen generating method for receiving a first operation signal of a touch operation from each of a plurality of terminals, and transmitting content matching each of the plurality of terminals, and the screen generating method including: receiving the first operation signal; determining a type of the first operation signal; and generating a screen of the content matching each of the plurality of terminals by using the first operation signal or a second operation signal of a mouse operation converted from the first operation signal, based on a result of the determination.
According to the present disclosure, it is possible to cause a screen generating server to receive an operation of each of a plurality of client terminals and cause each client terminal to operate one desktop of the screen generating server to virtualize a desktop formed by the screen generating server and each client terminal.
Exemplary embodiments will be described in detail optionally with reference to the drawings. In this regard, the exemplary embodiments will not be described more than necessary. For example, matters which have already been well known will not be described in detail, and substantially same components will not be described again in some cases to prevent the following explanation from becoming redundant more than necessary and help one of ordinary skill in the art understand the exemplary embodiments.
In addition, the inventors of the present invention provide the accompanying drawings and the following description to help one of ordinary skill in the art sufficiently understand the present disclosure yet do not intend to limit a subject matter recited in the claims
[1. Outline]
Further, the screen generating system can operate a desktop of screen generating server 10 from each client terminal 20. In this case, the screen generating system transmits to screen generating server 10 a touch operation signal received by each client terminal 20 based on a user's touch operation, and screen generating server 10 reflects this touch operation signal on the desktop of screen generating server 10. When each client terminal 20 is a device such as smartphone 300 or tablet 400 including a touch panel, each client terminal 20 transmits to screen generating server 10 a touch operation signal related to a touch operation. In this case, by converting the touch operation signal into a mouse operation signal related to a mouse operation on the desktop, screen generating server 10 can reflect on the desktop the touch operation signal received from each client terminal 20.
Screen generating server 10 can secure on a desktop screen a wider area than screens of smartphone 300 and tablet 400. Consequently, screen generating server 10 can simultaneously display browsers for a plurality of client terminals. For example, it is assumed that a resolution of the desktop screen of screen generating server 10 is 3840×2160 (4K resolution), and a resolution of a screen of each client terminal 20 is 1920×1080 (Full HD resolution). In this case, screen generating server 10 places four browsers of drawing areas of 1920×1080 on the desktop without overlapping the browsers with each other, and clips the browser drawing areas after capturing the desktop screen. Further, screen generating server 10 transmits a result obtained by encoding an image of each clipped browser drawing area, to four client terminals associated with the four browsers, respectively. Consequently, the four client terminals can share one desktop screen of screen generating server 10.
Screen generating server 10 executes various applications by causing a predetermined operating system to operate. For example, screen generating server 10 executes a mouse operation on each browser by causing an operating system to operate. When a plurality of client terminals 20 is simultaneously connected to screen generating server 10 which operates based on one operating system, one of client terminals has conventionally occupied a mouse operation. Hence, screen generating server 10 cannot convert into a mouse operation a touch operation from each client terminal 20 other than client terminal 20 which occupies the mouse operation.
Hence, screen generating server 10 has a problem that, even though screen generating server 10 is capable of generating screen images of a plurality of client terminals 20 by using one desktop, screen generating server 10 can accommodate only one client terminal 20 for one desktop due to a restriction of an operation system. The inventors recognized this problem in a process of developing desktop virtualization, and invented the screen generating device, the screen generating system and the screen generating method which solve this problem. Hereinafter, a first exemplary embodiment which is an example of an embodied technical concept of the screen generating device, screen generation system and the screen generating method according to the present disclosure will be described in detail.
[2. System Configuration]
First, the configuration of each client terminal 20 will be described. Each client terminal 20 plays back and displays a drawing video image of HTML content 110 transmitted from screen generating server 10. Each client terminal 20 includes encoded data receiver 21, video decoder 22, display 23, touch panel 24 and operation signal transmitter 25. The configuration of each client terminal 20 will be described below.
Encoded data receiver 21 is a communication module which performs network communication with screen generating server 10. Encoded data receiver 21 receives video encoded data transmitted from screen generating server 10, and transmits video data to video decoder 22.
Video decoder 22 is a decoder module which decodes the video encoded data received from encoded data receiver 21, and decodes video data. Further, video decoder 22 transmits the generated video data to display 23.
Display 23 is a display device such as a liquid crystal display which displays video data received from video decoder 22, for a user of each client terminal 20.
Touch panel 24 receives an input of a touch operation from the user of each client terminal 20, and transmits a touch operation signal to operation signal transmitter 25. The touch operation signal will be described later in detail.
Operation signal transmitter 25 is a communication module which transmits the touch operation signal received from touch panel 24, to screen generating server 10.
Next, the configuration of screen generating server 10 will be described. Screen generating server 10 distributes each video image to a plurality of client terminals 20a, 20b and 20c in response to video distribution requests from a plurality of client terminals 20a, 20b and 20c. Further, screen generating server 10 receives a touch operation signal from each of client terminals 20a, 20b and 20c to reflect in each of browsers 11a, 11b and 11c. Browsers 11 (11a, 11b and 11c) are associated with client terminals 20 (20a, 20b and 20c), respectively.
Screen generating server 10 includes each block of browsers 11 (11a, 11b and 11c), screen capturing unit 12, video encoder 13, encoded data transmitter 14, operation signal receiver 15, operation type determining unit 16 and operation signal converter 17. The configuration of these components will be described below.
Operation signal receiver 15 is a communication module which receives a touch operation signal which is a first operation signal from each client terminal 20. Operation signal receiver 15 transmits the received touch operation signal to operation type determining unit 16.
Operation type determining unit 16 determines a touch operation type (tap, flick and swipe) based on the touch operation signal received from operation signal receiver 15, and transmits the touch operation signal to operation signal converter 17 or each browser 11 according to an operation type. A reason that a touch operation signal transmission path is selected based on an operation type will be described later.
Operation signal converter 17 converts the touch operation signal received from operation type determining unit 16, into a mouse operation signal, and transmits the converted mouse operation signal to each browser 11. Details of the mouse operation signal and details of conversion processing will be described later.
Browsers 11 (11a, 11b and 11c) draw screens of content to be transmitted to corresponding client terminals 20 (20a, 20b and 20c), respectively. Further, each browser 11 displays and plays back HTML content 110 existing on a network or accumulated in screen generating server 10. Furthermore, each browser 11 includes event issuance processor 18 which receives a mouse operation signal from operation signal converter 17 and performs event issuance processing on HTML content 110, and touch operation signal receiver 19 which directly receives a touch operation signal from operation type determining unit 16 via communication means such as WebSocket. Event issuance processing is “coordinateelement conversion” processing of, when HTML content displayed on each browser is operated (by, for example, clicking a link) by using a mouse, determining to which element of the HTML content to transmit operation event information based on information of a coordinate (X, Y) operated by the mouse. Further, a reason that each browser 11 includes two types of operation signal reception paths will be described later.
Screen capturing unit 12 captures a desktop, and clips a display area of each of the browsers 11a, 11b and 11c from the captured screen. Further, screen capturing unit 12 transmits each clipped image to video encoder 13.
Video encoder 13 is an encoder module which encodes the clipped image received from screen capturing unit 12 as a video image to transmit to encoded data transmitter 14. Video encoder 13 generates items of video encoded data for client terminals 20a, 20b and 20c in parallel.
Encoded data transmitter 14 is a network communication module which transmits the encoded data to each of client terminals 20a, 20b and 20c.
[3. Touch Operation Signal]
A touch operation signal expresses contents of a user's touch operation of each client terminal 20 as a combination of an event and supplementary information.
[4. Mouse Operation Signal]
A mouse operation signal expresses contents of a mouse operation as a combination of an event and supplementary information.
[5. Correspondence Table of Touch Operation Signals and Mouse Operation Signals]
[6. Touch Operation Signal Transmission Path]
As described above, when a plurality of client terminals 20 is simultaneously connected to screen generating server 10 which operates based on one operating system, one client terminal 20 has conventionally occupied a mouse operation. Hence, screen generating server 10 cannot convert into a mouse operation a touch operation from each client terminal 20 other than client terminal 20 which occupies the mouse operation. Hence, one of two methods illustrated in
Meanwhile,
Meanwhile, according to method 1, while a given touch operation of client terminal 20a is processed, touch operation signals from other client terminals 20b and 20c are not received. Therefore, method 1 is not applicable to an operation whose time of processing such as swipe or pinch in/pinch out may be several seconds.
Thus, there is a case where it is difficult to apply both of method 1 and method 2, and therefore it is difficult to handle all touch operations by using one of method 1 and method 2. Hence, the screen generating device, the screen generating system and the screen generating method according to the present disclosure adopt a hybrid method for classifying a touch operation according to characteristics, and applying one suitable method of method 1 and method 2 according to a type of the touch operation. That is, operation type determining unit 16 properly uses two types of a path for transmitting a touch operation signal to each browser by performing a mouse operation and a path for directly transmitting a touch operation signal to each browser 11 according to the type of the touch operation signal received from each client terminal 20.
Touch operations belonging to group A have characteristics that an operation time is short and there are a large number of operation target elements on the screen. A tap operation and a flick operation belong to group A. For example, duration of time of a tap operation in which the finger touches and moves away from touch panel 24 is 100 milliseconds or less and has a very short operation time. Further, there is a case where an operation target element of the tap operation is a link or an item in a list, and includes multiple processing target elements in the screen. Hence, it is difficult to implement JavaScript (registered trademark) of performing “coordinate element conversion processing” for the touch operations belonging to group A. Accordingly, for the touch operations belonging to group A, method 2 is not suitable, and method 1 is suitable.
Touch operations belonging to group B have characteristics that an operation time is long and there are a small number of operation target elements on the screen. A swipe operation, a pinch operation and a rotate operation belong to group B. For example, there is a case where a swipe operation takes several seconds until the finger touches the screen and then moves away from the screen, and an operation time is long. Hence, when exclusion control is performed according to method 1, it is highly likely that there are client terminals 20 whose touch operation signals are not received. Further, the touch operations belonging to group B are operations of scrolling a list or an entire screen for elements having wide areas to some degree. There are few cases where multiple operation targets are placed in the screen. Hence, it is relatively easy to implement JavaScript (registered trademark) of performing “coordinate element conversion processing” for the touch operations belonging to group B. Accordingly, for the touch operations belonging to group B, method 1 is not suitable, and method 2 is suitable.
Touch operations belonging to group C have characteristics that an operation time is long and there are a large number of operation target elements. Long tap belongs to group C. According to long tap, there is a case where an operation time is long and operation target elements include multiple processing target elements in the screen. Hence, for the operation belonging to this group C, both of method 1 and method 2 are not suitable. The system according to the first exemplary embodiment cannot use the touch operation belonging to this group C, yet the operation belonging to this group C is only long tap. When this operation cannot be used, there is little influence on content creation or user interface design. In addition, the present disclosure does not exclude the touch operation belonging to group C. That is, for the touch operation belonging to group C, method 1 or method 2 may be adopted according to a design concept.
As described above, operation type determining unit 16 determines an operation type of a touch operation signal. Further, operation type determining unit 16 uses method 1 (for converting and transmitting a mouse operation signal) to transmit a touch operation signal when determining that a touch operation is the touch operation of group A, and uses method 2 (for directly transmitting a touch operation signal) to transmit a touch operation signal when determining that the touch operation is the touch operation of group B. Consequently, it is possible to perform practicable operation processing while making up for the disadvantage of each method.
[7. Processing Flow of Operation Type Determining Unit 16]
When the event of the touch operation signal is not “SCALE” or “ROTATE” in step S102 (No in step S102), operation type determining unit 16 determines whether or not the touch operation signal is “DOWN” (step S105). When the touch operation signal is “DOWN” (Yes in step S105), operation type determining unit 16 deletes all touch operation signals in a cue of a memory which temporarily stores touch operation signals when a touch operation signal transmission path is not determined (step S106). Further, operation type determining unit 16 stores the touch operation signal received in step S101, in the cue of the memory (step S107). Subsequently, operation type determining unit 16 stores a current time in the memory to manage a timing at which the event “DOWN” is received (step S108), and the flow returns to step S101.
When the touch operation signal is not “DOWN” in step S105 (No in step S105), operation type determining unit 16 determines whether or not a predetermined period of time (several tens of milliseconds to several hundreds of milliseconds are assumed) has passed after the event “DOWN” is received, based on the time information recorded in step S108 and the current time (step S109). In case where the predetermined period of time passes (Yes in step S109), operation type determining unit 16 determines that the touch operation type is swipe (step S110). Swipe is the touch operation belonging to group B, and therefore operation type determining unit 16 adopts method 2. Further, operation type determining unit 16 directly transmits the touch operation signal existing in the cue of the memory and the latest touch operation signal to each browser (step S111), and the flow returns to step S101.
In case where the predetermined period of time has not passed in step S109 (No in step S109), operation type determining unit 16 determines whether or not the event of the touch operation signal is “UP” (step S112). When the touch operation signal is “UP” (Yes in step S112), operation type determining unit 16 determines the touch operation as tap or flip (step S113). Tap and flip are touch operations belonging to group A, and therefore operation type determining unit 16 adopts method 1. Further, operation type determining unit 16 transmits the touch operation signal existing in the cue of the memory and the latest touch operation signal to operation signal converter 17 (step S114). Operation type determining unit 16 transmits the touch operation signal to operation signal converter 17 in step S114 and then clears the time information stored in the memory in step S108 (step S115), and then the flow returns to step S101.
When the touch operation signal is not “UP” in step S112 (No in step S112), operation type determining unit 16 stores the touch operation signal in the cue of the memory (step S116), and the flow returns to step S101.
As described above, operation type determining unit 16 determines a touch operation type (tap, flick or swipe) based on the touch operation signal received from each client terminal 20, and determines whether to transmit the touch operation signal to operation signal converter 17, and convert the touch operation signal into a mouse operation to transmit to each browser 11, or directly transmit the touch operation signal to each browser 11 without converting the touch operation signal into a mouse operation. Further, each browser 11 generates content by using a touch operation signal or a mouse operation signal based on the determination result of operation type determining unit 16. Consequently, it is possible to operate operations of a plurality of client terminals by using one desktop of the server.
In addition, in the present exemplary embodiment, one desktop screen of screen generating server 10 is shared by the four client terminals. However, the desktop screen may be shared by two or more client terminals.
In addition, in the present exemplary embodiment, the desktop screen (a resolution is 3840×2160) of screen generating server 10 is one screen which can draw screens of a plurality of client terminals 20 (a resolution is 1920×1080). The desktop screen may be a book format including a plurality of sheets in which the screens of a plurality of client terminals 20 (the resolution is 1920×1080) can be drawn.
A case where operation type determining unit 16 is disposed in screen generating server 10 has been described in the first exemplary embodiment. However, the present exemplary embodiment is not limited to this.
In the second exemplary embodiment, operation type determining unit 26 is installed in each client terminal 20, and a touch operation signal is transmitted via operation signal transmitter 25 or operation signal receiver 15 by sorting group A and group B per port. Configurations other than these points are the same as the configurations in the first exemplary embodiment illustrated in
In addition, in the present exemplary embodiment, operation type determining unit 26 sorts a touch operation signal per port to transmit. However, operation type determining unit 26 may transmit a touch operation signal and a determination result of the touch operation signal to operation signal receiver 15, and operation signal receiver 15 may sort group A and group B of touch operation signals to operation signal converter 17 or touch operation signal receiver 19 to transmit based on the determination result of the touch operation signal. Consequently, it is possible to reduce a number of ports of operation signal transmitter 25.
A screen generating device, a screen generating system and a screen generating method according to the present disclosure are applicable to screen generating severs or client terminals connected to the screen generating servers.
Number | Date | Country | Kind |
---|---|---|---|
2014-209578 | Oct 2014 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2015/003350 | Jul 2015 | US |
Child | 15251412 | US |