JP6344370B2 - COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM - Google Patents

COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM Download PDF

Info

Publication number
JP6344370B2
JP6344370B2 JP2015233661A JP2015233661A JP6344370B2 JP 6344370 B2 JP6344370 B2 JP 6344370B2 JP 2015233661 A JP2015233661 A JP 2015233661A JP 2015233661 A JP2015233661 A JP 2015233661A JP 6344370 B2 JP6344370 B2 JP 6344370B2
Authority
JP
Japan
Prior art keywords
protocol
information
client device
user
screen
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015233661A
Other languages
Japanese (ja)
Other versions
JP2017102575A (en
Inventor
修平 加藤
修平 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015233661A priority Critical patent/JP6344370B2/en
Publication of JP2017102575A publication Critical patent/JP2017102575A/en
Application granted granted Critical
Publication of JP6344370B2 publication Critical patent/JP6344370B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、クライアント装置に入力されたユーザ操作をクライアント装置がネットワークを介してサーバ装置へ通知し、サーバ装置がユーザ操作に応じた処理を実行する通信システムの技術分野に関する。   The present invention relates to a technical field of a communication system in which a user operation input to a client device is notified to a server device via a network, and the server device executes processing according to the user operation.

従来、例えばシンクライアント等のクライアント装置に入力されたユーザ操作に応じた処理をサーバ装置が実行するシステムが知られている。クライアント装置は、入力されたユーザ操作を所定のプロトコルを用いてサーバへ通知する。サーバ装置は、通知されたユーザ操作に応じた処理の実行結果等に基づいて、画面を示す情報をクライアント装置へ送信する。クライアント装置は、サーバ装置から受信した情報に基づいて、画面をディスプレイに表示する。例えば、特許文献1には、クライアントはサーバにTCPを利用して接続し、遠隔操作が行われた場合、クライアントはUDPを利用して入力イベントをサーバへ送信することが開示されている(段落[0058])。   2. Description of the Related Art Conventionally, a system in which a server device executes processing according to a user operation input to a client device such as a thin client is known. The client device notifies the server of the input user operation using a predetermined protocol. The server device transmits information indicating the screen to the client device based on the execution result of the process according to the notified user operation. The client device displays a screen on the display based on the information received from the server device. For example, Patent Document 1 discloses that when a client connects to a server using TCP and a remote operation is performed, the client transmits an input event to the server using UDP (paragraph). [0058]).

特開2015−49641号公報JP 2015-49641 A

しかしながら、同一画面において様々なユーザ操作が可能であることが一般的である。その場合に、クライアント装置が、全てのユーザ操作に対して単一のプロトコルのみを用いてユーザ操作を通知することは妥当ではない場合がある。例えば、特許文献1に開示された技術のようにユーザ操作をUDPで通知する場合、サーバ装置がユーザ操作を受理したか否かをクライアント装置が認識することができない。一方、ユーザ操作をTCPで通知する場合、サーバ装置はユーザ操作を受理したときにクライアント装置へ確認応答を送信する。クライアント装置は確認応答を受信することで、サーバ装置がユーザ操作を受理したことを認識する。しかしながら、クライアント装置は確認応答を受信してから次のユーザ操作を通知するパケットを送信することとなる。そのため、ユーザ操作に対する応答時間が長くなる。UDPの場合は確認応答の送受信が行われないため、TCPの場合よりも応答時間は短くなる。   However, various user operations are generally possible on the same screen. In this case, it may not be appropriate for the client device to notify the user operation using only a single protocol for all user operations. For example, when the user operation is notified by UDP as in the technique disclosed in Patent Document 1, the client device cannot recognize whether or not the server device has accepted the user operation. On the other hand, when the user operation is notified by TCP, the server device transmits a confirmation response to the client device when the user operation is accepted. The client device recognizes that the server device has accepted the user operation by receiving the confirmation response. However, the client apparatus transmits a packet notifying the next user operation after receiving the confirmation response. Therefore, the response time with respect to the user operation becomes long. In the case of UDP, since the confirmation response is not transmitted and received, the response time is shorter than in the case of TCP.

本発明は、以上の点に鑑みてなされたものであり、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、クライアント装置がサーバ装置へユーザ操作を通知することを可能とする通信システム、サーバ装置、クライアント装置、及びプログラムを提供することを課題とする。   The present invention has been made in view of the above points, and a client device uses a protocol suitable for each of a plurality of user operations possible on the same screen from a plurality of protocols. It is an object of the present invention to provide a communication system, a server device, a client device, and a program that can notify the user.

上記課題を解決するために、請求項1に記載の発明は、 ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムにおいて、前記サーバ装置は、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、を備え、前記クライアント装置は、前記サーバ装置から前記操作リストを受信する操作リスト受信手段と、前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、前記サーバ装置から送信された前記画面情報を受信する画面情報受信手段と、前記画面情報受信手段により受信された前記画面情報が示す画面を表示する表示手段と、ユーザ操作が入力される入力手段と、前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、を備えることを特徴とする。   In order to solve the above-described problem, the invention according to claim 1 is a client device to which a user operation is input and a server device to which the client device can be connected via a network, according to the user operation. In a communication system including a server device that executes processing, the server device is a first storage unit that stores a plurality of operation lists corresponding to a plurality of predetermined screens, and a plurality of devices corresponding to the corresponding screens First storage means for storing an operation list including operation information indicating a user operation and protocol information indicating a protocol corresponding to the user operation among a plurality of predetermined protocols, for each of the user operations; When the screen displayed by the client device is switched to any one of the plurality of screens, the first storage Of the plurality of operation lists stored in the means, an operation list transmission unit that transmits an operation list corresponding to the screen after switching to the client device, and an operation list transmitted by the operation list transmission unit Screen information transmitting means for transmitting screen information indicating a screen; and operation information receiving means for receiving operation information indicating a user operation input to the client apparatus from the client apparatus using a protocol determined by the client apparatus. The operation information receiving means for receiving the operation information using the protocol indicated by the protocol information corresponding to the operation information among the protocol information included in the operation list transmitted by the operation list transmitting means, and the operation According to the user operation indicated by the operation information received by the information receiving means And a second storage that stores the operation list received by the operation list receiving unit. The operation list receiving unit receives the operation list from the server device. Means, screen information receiving means for receiving the screen information transmitted from the server device, display means for displaying the screen indicated by the screen information received by the screen information receiving means, and user operations are input Input means; acquisition means for acquiring protocol information corresponding to operation information indicating the user operation input using the input means from the operation list stored in the second storage means; and the input Protocol information indicated by the protocol information acquired by the acquisition means among the plurality of protocols is indicated as operation information indicating a user operation. Characterized in that and an operation information transmitting means for transmitting to said server device by using a.

請求項2に記載の発明は、前記クライアント装置は、前記操作リスト受信手段、前記第2記憶手段、前記入力手段、前記取得手段、前記操作情報送信手段を備える第1クライアント装置と、前記画面情報受信手段及び前記表示手段を備える第2クライアント装置と、を含むことを特徴とする。   According to a second aspect of the present invention, the client device includes the first client device including the operation list reception unit, the second storage unit, the input unit, the acquisition unit, and the operation information transmission unit, and the screen information. And a second client device comprising a receiving means and the display means.

請求項3に記載の発明は、前記クライアント装置はシンクライアントであることを特徴とする。   The invention according to claim 3 is characterized in that the client device is a thin client.

請求項4に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置において、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、を備えることを特徴とする。   According to a fourth aspect of the present invention, there is provided a client device to which a user operation is input, and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation. In the server device included in the communication system, a first storage unit that stores a plurality of operation lists corresponding to a plurality of predetermined screens, and each of a plurality of user operations corresponding to the corresponding screens A first storage means for storing an operation list including operation information indicating a user operation and protocol information indicating a protocol corresponding to the user operation among a plurality of predetermined protocols; and displayed by the client device When the screen is switched to any one of the plurality of screens, the first storage means stores the Out of a plurality of operation lists, operation list transmission means for transmitting an operation list corresponding to the screen after switching to the client device, and screen information indicating a screen corresponding to the operation list transmitted by the operation list transmission means. Screen information transmitting means for transmitting and operation information receiving means for receiving operation information indicating a user operation input to the client device from the client device with a protocol determined by the client device, wherein the operation list is transmitted The operation information receiving means for receiving the operation information using the protocol indicated by the protocol information corresponding to the operation information among the protocol information included in the operation list transmitted by the means, and received by the operation information receiving means. Processing for executing processing according to user operation indicated by the operation information Characterized in that it comprises a stage, a.

請求項5に記載の発明は、前記複数のプロトコルは、前記サーバ装置が前記クライアント装置から前記操作情報を受信した場合に前記サーバ装置から前記クライアント装置へ確認応答が送信される第1プロトコルと、前記確認応答が送信されない第2プロトコルとを少なくとも含むことを特徴とする。   The invention according to claim 5 is characterized in that the plurality of protocols are a first protocol in which an acknowledgment is transmitted from the server device to the client device when the server device receives the operation information from the client device; And at least a second protocol in which the confirmation response is not transmitted.

請求項6に記載の発明は、前記操作情報受信手段は、前記クライアント装置により送信される操作情報のうち前記第1プロトコルを用いて送信される第1操作情報が送信されるごとに更新される番号が付加された前記操作情報を受信し、前記クライアント装置から送信された操作情報のうち前記第2プロトコルを用いて送信された第2操作情報が前記操作情報受信手段により受信された場合、前記第2操作情報に付加された番号と一致する番号が付加された前記第1操作情報が前記操作情報受信手段により受信されているかを判定する判定手段を更に備え、前記処理手段は、前記判定手段により前記第1操作情報が受信されていないと判定された場合、前記操作情報受信手段により前記第1操作情報が受信されることに応じて前記第1操作情報が示すユーザ操作に応じた処理を実行した後、前記第2操作情報が示すユーザ操作に応じた処理を実行することを特徴とする。   According to a sixth aspect of the present invention, the operation information receiving means is updated each time first operation information transmitted using the first protocol is transmitted among operation information transmitted by the client device. When the operation information to which the number is added is received and the second operation information transmitted using the second protocol among the operation information transmitted from the client device is received by the operation information receiving unit, A determination unit configured to determine whether or not the operation information receiving unit receives the first operation information added with a number that matches the number added to the second operation information; and the processing unit includes the determination unit When it is determined that the first operation information has not been received, the first operation information is received in response to the first operation information being received by the operation information receiving means. After executing the process corresponding to the user operation indicated by, and executes a process corresponding to the user operation indicated by the second operation information.

請求項7に記載の発明は、前記第1プロトコルは、TCPであり、前記第2プロトコルは、UDPであることを特徴とする。   The invention described in claim 7 is characterized in that the first protocol is TCP and the second protocol is UDP.

請求項8に記載の発明は、前記複数のプロトコルは、前記クライアント装置により暗号化された前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第3プロトコルと、暗号化されない前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第4プロトコルとを少なくとも含むことを特徴とする。   According to an eighth aspect of the present invention, the plurality of protocols include a third protocol in which the operation information encrypted by the client device is transmitted from the client device to the server device, and the operation information that is not encrypted. And at least a fourth protocol transmitted from the client device to the server device.

請求項9に記載の発明は、前記第3プロトコルはSSLであることを特徴とする。   The invention according to claim 9 is characterized in that the third protocol is SSL.

請求項10に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置に含まれるコンピュータに、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信ステップと、前記操作リスト送信ステップにより送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信ステップと、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信ステップであって、前記操作リスト送信ステップにより送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信ステップと、前記操作情報受信ステップにより受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理ステップと、を実行させることを特徴とする。   According to a tenth aspect of the present invention, there is provided a client device to which a user operation is input, and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation. When a screen displayed by the client device is switched to any one of a plurality of predetermined screens on a computer included in the server device included in the communication system provided, the screen corresponds to the plurality of screens. First storage means for storing a plurality of operation lists, each of a plurality of user operations corresponding to a corresponding screen, operation information indicating a user operation and the user operation among a plurality of predetermined protocols Stored in a first storage means for storing an operation list including protocol information indicating a protocol corresponding to Out of a plurality of operation lists, an operation list transmission step for transmitting an operation list corresponding to the screen after switching to the client device, and screen information indicating a screen corresponding to the operation list transmitted by the operation list transmission step. A screen information transmission step for transmitting, and an operation information reception step for receiving operation information indicating a user operation input to the client device from the client device using a protocol determined by the client device, wherein the operation list transmission Of the protocol information included in the operation list transmitted in the step, the operation information receiving step for receiving the operation information using the protocol indicated by the protocol information corresponding to the operation information, and the operation information receiving step. The user operation indicated by the operation information Wherein the processing step of executing processing corresponding, that is execution.

請求項11に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置において、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信手段と、前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、ユーザ操作が入力される入力手段と、前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、を備えることを特徴とする。   According to an eleventh aspect of the present invention, there is provided a client device to which a user operation is input, and a server device to which the client device can be connected via a network, and executes a process according to the user operation. In the client device included in the communication system provided, when a screen displayed by the client device is switched to any one of a plurality of predetermined screens, a plurality of screens corresponding to the plurality of predetermined screens A first storage means for storing a list of operations, and for each of a plurality of user operations corresponding to a corresponding screen, operation information indicating a user operation and the user operation among a plurality of predetermined protocols. Stored in a first storage means for storing an operation list including protocol information indicating a corresponding protocol. An operation list receiving means for receiving an operation list corresponding to the screen after switching from the number of operation lists, and a second storage means for storing the operation list received by the operation list receiving means; Acquisition means for acquiring protocol information corresponding to operation information indicating the user operation input using the input means, from an input means for inputting a user operation and the operation list stored in the second storage means And operation information transmission means for transmitting operation information indicating the input user operation to the server device using a protocol indicated by the protocol information acquired by the acquisition means among the plurality of protocols. It is characterized by that.

請求項12に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置に含まれるコンピュータに、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信ステップと、前記操作リスト受信ステップにより受信された前記操作リストを第2記憶手段に記憶させる第2記憶ステップと、前記第2記憶手段に記憶された前記操作リストから、入力手段を用いて入力されたユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得ステップと、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得ステップにより取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信ステップと、を実行させることを特徴とする。   According to a twelfth aspect of the present invention, there is provided a client device to which a user operation is input, and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation. When a screen displayed by the client device is switched to any one of a plurality of predetermined screens on a computer included in the client device included in the communication system provided, the screen corresponds to the plurality of screens. First storage means for storing a plurality of operation lists, each of a plurality of user operations corresponding to a corresponding screen, operation information indicating a user operation and the user operation among a plurality of predetermined protocols Stored in a first storage means for storing an operation list including protocol information indicating a protocol corresponding to Of the plurality of operation lists, an operation list receiving step for receiving an operation list corresponding to the screen after switching from the server device, and the operation list received by the operation list receiving step are stored in a second storage unit. A second storage step; an acquisition step for acquiring protocol information corresponding to operation information indicating a user operation input using an input unit from the operation list stored in the second storage unit; and the input An operation information transmission step of transmitting operation information indicating a user operation to the server device using a protocol indicated by the protocol information acquired by the acquisition step among the plurality of protocols. .

請求項1、3、4、10乃至12のそれぞれに記載の発明によれば、1つの画面に対応する複数のユーザ操作のそれぞれごとにプロトコルを定義する操作リストが、複数の画面について第1記憶手段に記憶される。クライアント装置に表示される画面が切り替えられる場合、サーバ装置は、切り替え後の画面に対応する操作リストをクライアント装置へ送信する。クライアント装置は、サーバ装置から受信された操作リストに基づいて、複数のプロトコルのうち入力されたユーザ操作に対応するプロトコルを用いて、操作情報を送信する。従って、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、クライアント装置がサーバ装置へユーザ操作を通知することができる。   According to the first, third, fourth, tenth to twelfth aspects of the present invention, an operation list defining a protocol for each of a plurality of user operations corresponding to one screen is first stored for the plurality of screens. Stored in the means. When the screen displayed on the client device is switched, the server device transmits an operation list corresponding to the screen after switching to the client device. Based on the operation list received from the server device, the client device transmits operation information using a protocol corresponding to the input user operation among a plurality of protocols. Therefore, the client device can notify the server device of the user operation using a protocol suitable for each of a plurality of user operations that can be performed on the same screen from a plurality of protocols.

請求項2に記載の発明によれば、ユーザ操作に応じて操作情報を送信する処理と、画面を表示する処理が別々のクライアント装置により実行される。従って、ユーザインターフェースに関する処理負荷を2つのクライアント装置に分散することができる。   According to the second aspect of the present invention, the process of transmitting operation information in response to a user operation and the process of displaying a screen are executed by different client devices. Therefore, the processing load related to the user interface can be distributed to the two client devices.

請求項5に記載の発明によれば、クライアント装置は、サーバ装置が確実に受理したか否かを確認可能な第1プロトコルと、第1プロトコルよりも応答時間が短い第2プロトコルとを、通知するユーザ操作に応じて使い分けることができる。   According to the invention described in claim 5, the client device notifies the first protocol capable of confirming whether or not the server device has surely accepted, and the second protocol whose response time is shorter than the first protocol. Can be used according to the user operation.

請求項6及び7のそれぞれに記載の発明によれば、クライアント装置は、番号を付加した操作情報をサーバ装置へ送信する。クライアント装置は、第1プロトコルを用いて操作情報を送信するごとに、付加される番号を更新する。クライアント装置は、第2プロトコルを用いて操作情報を送信する場合、付加される番号を更新しない。サーバ装置は、第2プロトコルを用いて操作情報を受信したものの、この操作情報に付加された番号と一致する番号が付加された操作情報を、第1プロトコルを用いてまだ受信していない場合、第2プロトコルを用いて受信した操作情報が示すユーザ操作に応じた処理の実行を保留する。サーバ装置は、同じ番号が付加された操作情報を、第1プロトコルを用いて受信したとき、この操作情報が示すユーザ操作に応じた処理を先に実行し、保留しておいた処理をその後に実行する。そのため、第1プロトコルを用いて通知されるユーザ操作に応じた処理と、第2プロトコルを用いて通知されたユーザ操作に応じた処理との間で、処理の順序を、ユーザ操作が行われた順序に一致させることができる。   According to the invention described in each of claims 6 and 7, the client device transmits the operation information to which the number is added to the server device. Each time the client device transmits operation information using the first protocol, the client device updates the added number. When the client apparatus transmits operation information using the second protocol, the client apparatus does not update the added number. When the server device has received the operation information using the second protocol, but has not yet received the operation information added with the number that matches the number added to the operation information using the first protocol, The execution of the process corresponding to the user operation indicated by the operation information received using the second protocol is suspended. When the server apparatus receives operation information to which the same number is added using the first protocol, the server apparatus first executes a process corresponding to the user operation indicated by the operation information, and then performs the suspended process thereafter. Run. Therefore, the user operation is performed in the order of the process between the process corresponding to the user operation notified using the first protocol and the process corresponding to the user operation notified using the second protocol. Can be matched to the order.

請求項8及び9のそれぞれに記載の発明によれば、クライアント装置は、秘匿する必要があるユーザ操作を暗号化してサーバ装置へ通知することができる。また、クライアント装置は、秘匿しなくてもよいユーザ操作を暗号化せずに通知することで、暗号化するよりも応答時間を短くすることができる。   According to the invention described in each of claims 8 and 9, the client device can encrypt the user operation that needs to be concealed and notify the server device of it. In addition, the client apparatus can notify the user operation that does not need to be concealed without encrypting it, so that the response time can be shortened compared with the encryption.

(A)は、一実施形態の通信システムSの概要構成例を示す図である。(B)は、一実施形態のアプリケーションサーバ1の概要構成例を示す図である。(C)は、本実施形態のコントローラ2の概要構成例を示す図である。(A) is a figure showing an example of outline composition of communications system S of one embodiment. (B) is a figure showing an example of outline composition of application server 1 of one embodiment. (C) is a diagram showing a schematic configuration example of the controller 2 of the present embodiment. (A)は、重要度表DB6の構成例を示す図である。(B)は、状態遷移表の構成例を示す図である。(A) is a figure which shows the structural example of importance table DB6. (B) is a figure which shows the structural example of a state transition table. 通信システムSの動作例を示すシーケンス図である。6 is a sequence diagram showing an operation example of the communication system S. FIG. (A)は、コントローラ2におけるコントローラ受信処理の一例を示すフローチャートである。(B)は、コントローラ2におけるユーザ操作処理の一例を示すフローチャートである。FIG. 4A is a flowchart illustrating an example of a controller reception process in the controller 2. FIG. 5B is a flowchart illustrating an example of user operation processing in the controller 2. (A)は、アプリケーションサーバ1におけるTCP受信処理の一例を示すフローチャートである。(B)は、アプリケーションサーバ1におけるUDP受信処理の一例を示すフローチャートである。FIG. 4A is a flowchart illustrating an example of a TCP reception process in the application server 1. (B) is a flowchart illustrating an example of a UDP reception process in the application server 1. アプリケーションサーバ1における操作順序ソート処理の一例を示すフローチャートである。It is a flowchart which shows an example of the operation order sort process in the application server. アプリケーションサーバ1におけるステートマシン処理の一例を示すフローチャートである。4 is a flowchart illustrating an example of state machine processing in the application server 1.

以下、本発明の実施形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[1.通信システムの構成]
図1(A)は、本実施形態の通信システムSの概要構成例を示す図である。図1(A)に示すように、通信システムSは、アプリケーションサーバ1、複数のコントローラ2、及び複数のレンダラ3を含んで構成される。アプリケーションサーバ1は、本発明のサーバ装置の一例である。コントローラ2は、本発明の第1クライアント装置の一例である。レンダラ3は、本発明の第2クライアント装置の一例である。アプリケーションサーバ1、コントローラ2、及びレンダラ3は、それぞれネットワーク10に接続される。ネットワーク10は、例えば、インターネット等により構成される。
[1. Configuration of communication system]
FIG. 1A is a diagram illustrating a schematic configuration example of the communication system S of the present embodiment. As shown in FIG. 1A, the communication system S includes an application server 1, a plurality of controllers 2, and a plurality of renderers 3. The application server 1 is an example of a server device of the present invention. The controller 2 is an example of a first client device of the present invention. The renderer 3 is an example of a second client device according to the present invention. The application server 1, the controller 2, and the renderer 3 are each connected to the network 10. The network 10 is configured by, for example, the Internet.

コントローラ2及びレンダラ3はシンクライアントであってもよい。コントローラ2及びレンダラ3は、基本的にはユーザインターフェースに関する処理のみを実行する。アプリケーションサーバ1は、その他の大部分の処理を実行する。コントローラ2は、ユーザの操作に関する処理を実行する。レンダラ3は、アプリケーションサーバ1による処理結果を示す動画を表示する。コントローラ2及びレンダラ3がユーザインターフェースに関する処理を分担することで、処理負荷を分散することができる。   The controller 2 and the renderer 3 may be thin clients. The controller 2 and the renderer 3 basically execute only processing related to the user interface. The application server 1 executes most other processes. The controller 2 executes processing related to user operations. The renderer 3 displays a moving image indicating a processing result by the application server 1. The controller 2 and the renderer 3 share processing related to the user interface, so that the processing load can be distributed.

アプリケーションサーバ1は、コントローラ2からの要求に応じてアプリケーションプログラムを実行する。アプリケーションプログラムの例として、メニュー、お絵描き、カラオケ、ゲーム、情報検索、オンラインショッピング等のアプリケーションプログラムが挙げられる。アプリケーションサーバ1は、コントローラ2から通知されるユーザ操作に応じた処理を、アプリケーションプログラムに従って実行する。また、アプリケーションサーバ1は、実行するアプリケーションプログラムに対応する画面をレンダラ3に表示させる。具体的に、アプリケーションサーバ1は、アプリケーションプログラムの実行に応じた動画及び音声のうち少なくとも動画を、UDPを用いたストリーミングでレンダラ3へ送信する。1つのアプリケーションプログラムに対応する画面は1つであってもよいし複数あってもよい。例えば、メニューのアプリケーションプログラムは、複数のアプリケーションプログラムの中から実行させるアプリケーションプログラムをユーザが選択するためのプログラムである。メニューのアプリケーションプログラムが起動すると、選択可能なアプリケーションプログラムの名称がメニュー項目として選択可能に表示される。例えばメニュー項目として、情報検索、カラオケ、オンラインショッピング、ゲーム、お絵描きがあるとする。この場合、メニューのアプリケーションプログラムに対応する画面として、情報検索の項目の上にカーソルが表示されている画面、カラオケの項目の上にカーソルが表示されている画面、オンラインショッピングの項目の上にカーソルが表示されている画面、ゲームの項目の上にカーソルが表示されている画面、お絵描きの項目にカーソルが表示されている画面がある。アプリケーションサーバ1は、コントローラ2から通知されるユーザ操作によって、レンダラ3に表示される画面を切り替える場合がある。   The application server 1 executes an application program in response to a request from the controller 2. Examples of application programs include application programs such as menus, drawings, karaoke, games, information retrieval, and online shopping. The application server 1 executes processing according to the user operation notified from the controller 2 according to the application program. Further, the application server 1 causes the renderer 3 to display a screen corresponding to the application program to be executed. Specifically, the application server 1 transmits at least a moving image out of moving images and audio corresponding to the execution of the application program to the renderer 3 by streaming using UDP. There may be one or more screens corresponding to one application program. For example, the menu application program is a program for the user to select an application program to be executed from among a plurality of application programs. When the menu application program is activated, selectable application program names are displayed as selectable menu items. For example, suppose that menu items include information retrieval, karaoke, online shopping, games, and drawing. In this case, the screen corresponding to the application program of the menu is the screen where the cursor is displayed over the information search item, the screen where the cursor is displayed over the karaoke item, and the cursor over the online shopping item. There are screens where the cursor is displayed over the game item and screens where the cursor is displayed over the drawing item. The application server 1 may switch the screen displayed on the renderer 3 by a user operation notified from the controller 2.

アプリケーションサーバ1は、アプリケーションDB(DataBase)5及び重要度表DB6にアクセス可能に構成されている。例えば、アプリケーションサーバ1と、アプリケーションDB5及び重要度表DB6とがLAN(Local Area Network)等のネットワークにより接続されてもよい。或いは、アプリケーションサーバ1が、アプリケーションDB5及び重要度表DB6を備えてもよい。アプリケーションDB5は、1又は複数のアプリケーションプログラムが登録されている。重要度表DB6には、複数の重要度表が登録されている。重要度表は、本発明の操作リストの一例である。アプリケーションDB5に登録されているアプリケーションプログラムをアプリケーションサーバ1が実行することによりレンダラ3が表示可能な画面ごとに、重要度表が重要度表DB6に登録されている。重要度表には、ユーザ操作に対応する重要度が定義される。重要度は、コントローラ2がアプリケーションサーバ1と通信するときに用いられるプロトコルを示す。重要度は、本発明のプロトコル情報の一例である。レンダラ3により表示される画面が切り替えられるとき、アプリケーションサーバ1は、切り替え後の画面に対応する重要度表をコントローラ2へ送信する。重要度表の詳細は後述する。   The application server 1 is configured to be able to access an application DB (DataBase) 5 and an importance table DB 6. For example, the application server 1, the application DB 5, and the importance table DB 6 may be connected by a network such as a LAN (Local Area Network). Alternatively, the application server 1 may include an application DB 5 and an importance table DB 6. In the application DB 5, one or a plurality of application programs are registered. A plurality of importance tables are registered in the importance table DB6. The importance table is an example of the operation list of the present invention. The importance table is registered in the importance table DB 6 for each screen that can be displayed by the renderer 3 by executing the application program registered in the application DB 5. In the importance level table, importance levels corresponding to user operations are defined. The importance level indicates a protocol used when the controller 2 communicates with the application server 1. The importance is an example of protocol information of the present invention. When the screen displayed by the renderer 3 is switched, the application server 1 transmits an importance table corresponding to the screen after switching to the controller 2. Details of the importance table will be described later.

コントローラ2は、ユーザによる操作を受け付ける。コントローラ2は、受け付けたユーザ操作を、ネットワーク10を介してアプリケーションサーバ1へ通知する。具体的に、コントローラ2は、ユーザ操作を識別するキーIDを含むユーザ操作をアプリケーションサーバ1へ送信する。このとき、コントローラ2は、アプリケーションサーバ1から受信しておいた重要度表を参照して、ユーザ操作に対応する重要度を取得する。コントローラ2は、取得した重要度が示すプロトコルを用いてユーザ操作を送信する。従って、アプリケーションサーバ1は、コントローラ2が用いたプロトコルと同じプロトコルを用いてユーザ操作を受信する。重要度表により、ユーザ操作に応じた適切なプロトコルでそのユーザ操作がアプリケーションサーバ1に通知される。コントローラ2の例として、ネットワーク10に接続可能なリモートコントローラ、スマートフォン、携帯電話機、携帯用ゲーム機等が挙げられる。   The controller 2 accepts user operations. The controller 2 notifies the application server 1 of the received user operation via the network 10. Specifically, the controller 2 transmits a user operation including a key ID for identifying the user operation to the application server 1. At this time, the controller 2 refers to the importance table received from the application server 1 and acquires the importance corresponding to the user operation. The controller 2 transmits a user operation using a protocol indicated by the acquired importance. Therefore, the application server 1 receives a user operation using the same protocol as the protocol used by the controller 2. Based on the importance table, the application server 1 is notified of the user operation by an appropriate protocol according to the user operation. Examples of the controller 2 include a remote controller that can be connected to the network 10, a smartphone, a mobile phone, and a portable game machine.

レンダラ3は、アプリケーションサーバ1から、アプリケーションプログラムの実行結果を示す動画及び音声のうち少なくとも動画を受信する。実行結果を示す動画を受信した場合、レンダラ3は、受信した動画をディスプレイに表示させる。実行結果を示す音声を受信した場合、レンダラ3は、受信した音声をスピーカにより出力させる。レンダラ3の例として、スマートテレビ等のテレビ受像機、パーソナルコンピュータ、カラオケ装置等が挙げられる。   The renderer 3 receives from the application server 1 at least a moving image out of a moving image and sound indicating the execution result of the application program. When the moving image indicating the execution result is received, the renderer 3 displays the received moving image on the display. When the voice indicating the execution result is received, the renderer 3 outputs the received voice through the speaker. Examples of the renderer 3 include a television receiver such as a smart TV, a personal computer, and a karaoke device.

ユーザは、コントローラ2とレンダラ3との組み合わせにより、アプリケーションプログラムを利用する。すなわち、ユーザは、コントローラ2を操作することにより、アプリケーションサーバ1によりアプリケーションプログラムを実行させ、レンダラ3を利用して、アプリケーションプログラムの実行結果を確認する。   The user uses an application program by combining the controller 2 and the renderer 3. That is, the user operates the controller 2 to cause the application server 1 to execute the application program, and uses the renderer 3 to check the execution result of the application program.

なお、通信システムSは、コントローラ2とレンダラ3との機能を兼ね備える一体型クライアント4を含んでもよいし、含まなくてもよい。一体型クライアント4の例として、テレビ受像機、パーソナルコンピュータ等が挙げられる。   The communication system S may or may not include the integrated client 4 having the functions of the controller 2 and the renderer 3. Examples of the integrated client 4 include a television receiver and a personal computer.

[2.アプリケーションサーバ1の構成]
次に、図1(B)を参照して、アプリケーションサーバ1の構成について説明する。図1(B)は、本実施形態のアプリケーションサーバ1の概要構成例を示す図である。図1(B)に示すように、アプリケーションサーバ1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、記憶部14及び通信部15等を備えて構成される。これらの構成要素は、バス16に接続されている。通信部15は、ネットワーク10に接続される。記憶部14は、例えばハードディスクドライブにより構成される。記憶部14には、複数の動画データが記憶される。各動画データは、レンダラ3により表示される画面を表す動画を表示するためのデータである。各動画データは動画IDに対応付けて記憶される。動画IDは、動画データを識別する識別情報である。また、記憶部14には、状態遷移表が記憶される。状態遷移表の詳細については後述する。記憶部14に、アプリケーションDB5及び重要度表DB6の少なくとも何れか一方が記憶されていてもよい。また、記憶部14には、OS、及びサーバプログラム等が記憶されている。サーバプログラムは、コンピュータとしてのCPU11に、重要度表の送信、アプリケーションプログラムの実行、アプリケーションプログラムの実行結果を示す動画の送信等の処理を実行させるプログラムである。サーバプログラム等は、例えばネットワーク10等を介して他のサーバ等からダウンロードされてもよい。或いは、サーバプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部14に読み込まれてもよい。
[2. Configuration of Application Server 1]
Next, the configuration of the application server 1 will be described with reference to FIG. FIG. 1B is a diagram illustrating a schematic configuration example of the application server 1 of the present embodiment. As shown in FIG. 1B, the application server 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage unit 14, a communication unit 15, and the like. Composed. These components are connected to the bus 16. The communication unit 15 is connected to the network 10. The storage unit 14 is configured by, for example, a hard disk drive. The storage unit 14 stores a plurality of moving image data. Each moving image data is data for displaying a moving image representing a screen displayed by the renderer 3. Each moving image data is stored in association with a moving image ID. The moving image ID is identification information for identifying moving image data. Further, the storage unit 14 stores a state transition table. Details of the state transition table will be described later. The storage unit 14 may store at least one of the application DB 5 and the importance level table DB 6. The storage unit 14 stores an OS, a server program, and the like. The server program is a program that causes the CPU 11 as a computer to execute processing such as transmission of an importance table, execution of an application program, and transmission of a moving image indicating an execution result of the application program. The server program or the like may be downloaded from another server or the like via the network 10 or the like, for example. Alternatively, the server program or the like may be recorded on a recording medium such as an optical disc, a magnetic tape, or a memory card and read into the storage unit 14 via a drive device.

[3.コントローラ2の構成]
次に、図1(C)を参照して、コントローラ2の構成について説明する。図1(C)は、本実施形態のコントローラ2の概要構成例を示す図である。図1(C)に示すように、コントローラ2は、CPU21、ROM22、RAM23、記憶部24、通信部25、入力部26、及び表示部27等を備えて構成される。これらの構成要素は、バス28に接続されている。通信部25は、ネットワーク10に接続される。入力部26は、ユーザ操作を入力するための入力デバイスである。入力部26は、例えばボタン、キー、タッチパネル、キーボード等の少なくとも1つにより構成されてもよい。表示部27は、例えば液晶パネル、有機ELパネル等により構成されるディスプレイである。RAM23は、本発明の第2記憶手段の一例である。RAM23には、コントローラ2がアプリケーションサーバ1から受信した重要度表が記憶される。記憶部24は、例えばフラッシュメモリ又はハードディスクドライブ等により構成される。記憶部24には、OS、及びコントローラプログラム等が記憶されている。コントローラプログラムは、コンピュータとしてのCPU21に、重要度表の受信及び記憶、操作画面の表示、ユーザの操作に応じた処理の実行、アプリケーションサーバ1への要求の送信等の処理を実行させるプログラムである。コントローラプログラム等は、例えばネットワーク10等を介してアプリケーションサーバ1等のサーバ装置からダウンロードされてもよい。或いは、コントローラプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部24に読み込まれてもよい。或いは、コントローラプログラム等は、コントローラ2に予めインストールされていてもよい。
[3. Configuration of controller 2]
Next, the configuration of the controller 2 will be described with reference to FIG. FIG. 1C is a diagram illustrating a schematic configuration example of the controller 2 of the present embodiment. As shown in FIG. 1C, the controller 2 includes a CPU 21, a ROM 22, a RAM 23, a storage unit 24, a communication unit 25, an input unit 26, a display unit 27, and the like. These components are connected to the bus 28. The communication unit 25 is connected to the network 10. The input unit 26 is an input device for inputting a user operation. The input unit 26 may be configured by at least one of a button, a key, a touch panel, a keyboard, and the like, for example. The display unit 27 is a display configured by, for example, a liquid crystal panel, an organic EL panel, or the like. The RAM 23 is an example of a second storage unit of the present invention. The RAM 23 stores an importance table received from the application server 1 by the controller 2. The storage unit 24 is configured by, for example, a flash memory or a hard disk drive. The storage unit 24 stores an OS, a controller program, and the like. The controller program is a program that causes the CPU 21 as a computer to execute processing such as reception and storage of an importance table, display of an operation screen, execution of processing according to a user operation, transmission of a request to the application server 1, and the like. . The controller program or the like may be downloaded from a server device such as the application server 1 via the network 10 or the like, for example. Alternatively, the controller program or the like may be recorded on a recording medium such as an optical disk, a magnetic tape, or a memory card and read into the storage unit 24 via a drive device. Alternatively, the controller program or the like may be installed in the controller 2 in advance.

[4.重要度表、状態遷移表]
図2(A)は、重要度表DB6の構成例を示す図である。重要度表には、ユーザ操作に対応する重要度が定義される。重要度表DB6には、レンダラ3が表示可能な画面ごとに重要度表が登録されている。ユーザ操作に応じてレンダラ3により表示される画面が別の画面に切り替わる場合がある。本実施形態においては、ユーザ操作に対するアプリケーションサーバ1の振る舞いのモデルとしてステートマシンが定義される。そして、ステートマシンにおける状態の遷移により画面が切り替わると定義されている。従って状態と画面は1対1で対応するので、重要度表は状態ごとに登録される。1つのアプリケーションプログラムについて、1つの状態のみ(すなわち1つの画面のみ)が存在してもよいし、複数の状態(すなわち複数の画面)が存在してもよい。重要度表は、例えば通信システムSの管理者により作成される。
[4. Importance table, state transition table]
FIG. 2A is a diagram illustrating a configuration example of the importance degree table DB6. In the importance level table, importance levels corresponding to user operations are defined. In the importance table DB6, an importance table is registered for each screen on which the renderer 3 can be displayed. Depending on the user operation, the screen displayed by the renderer 3 may be switched to another screen. In the present embodiment, a state machine is defined as a model of the behavior of the application server 1 with respect to user operations. It is defined that the screen is switched by the state transition in the state machine. Accordingly, since the state and the screen correspond one-to-one, the importance table is registered for each state. Only one state (that is, only one screen) may exist for one application program, or a plurality of states (that is, a plurality of screens) may exist. The importance level table is created by the administrator of the communication system S, for example.

図2(A)に示すように、重要度表DB6に登録される各重要度表は状態IDを含む。状態IDは、ステートマシンにおける状態を識別する識別情報であるとともに、その状態に対応する画面を識別する識別情報である。   As shown in FIG. 2A, each importance table registered in the importance table DB 6 includes a state ID. The state ID is identification information for identifying a state in the state machine and identification information for identifying a screen corresponding to the state.

各重要度表は更に複数のキーIDを含む。キーIDは、本発明のユーザ操作情報の一例である。キーIDは、対応する状態IDが示す画面でユーザが可能なユーザ操作を識別する識別情報である。重要度表に載っていないキーIDが示すユーザ操作は無効となる。基本的に1つの画面で複数種類のユーザ操作が可能である。本実施形態において、キーIDはユーザに押されるキーを示す。このキーは、例えばコントローラ2が備えるキーであってもよい。また例えばこのキーは、コントローラ2の表示部27に表示されるキーであってもよい。ユーザは例えばタッチパネル、マウス又はキーボード等を操作することにより、表示部27に表示されているキーを押すことができる。   Each importance table further includes a plurality of key IDs. The key ID is an example of user operation information according to the present invention. The key ID is identification information for identifying a user operation that can be performed by the user on the screen indicated by the corresponding state ID. The user operation indicated by the key ID not listed in the importance table is invalid. Basically, multiple types of user operations are possible on one screen. In the present embodiment, the key ID indicates a key pressed by the user. This key may be a key provided in the controller 2, for example. Further, for example, this key may be a key displayed on the display unit 27 of the controller 2. For example, the user can press a key displayed on the display unit 27 by operating a touch panel, a mouse, a keyboard, or the like.

更に各重要度表は、キーIDごとに、重要度を含む。重要度は、対応するキーIDを含むパケットをコントローラ2がアプリケーションサーバ1へ送信するために用いられるプロトコルを示す。プロトコルは、例えばトランスポート層のプロトコル、アプリケーション層のプロトコル等であってもよい。パケットの送信に使用可能な複数のプロトコルが通信システムSの管理者により予め定められてもよい。   Further, each importance table includes importance for each key ID. The importance level indicates a protocol used for the controller 2 to transmit a packet including the corresponding key ID to the application server 1. The protocol may be, for example, a transport layer protocol, an application layer protocol, or the like. A plurality of protocols that can be used for packet transmission may be predetermined by the administrator of the communication system S.

例えば複数のプロトコルは、アプリケーションサーバ1がコントローラ2からキーIDを受信した場合にアプリケーションサーバ1からコントローラ2へACK(確認応答)が送信される第1プロトコルと、ACKが送信されない第2プロトコルとを少なくとも含んでもよい。この場合、コントローラ2は、アプリケーションサーバ1が確実に受理したか否かを確認可能な第1プロトコルと、第1プロトコルよりも応答時間が短い第2プロトコルとを、通知するユーザ操作に応じて使い分けることができる。例えば、応答時間の短さよりもアプリケーションサーバ1が確実に通知を受信することが優先されるユーザ操作について、第1プロトコルが設定される。アプリケーションサーバ1が確実に通知を受信することよりも応答時間の短さが優先されるユーザ操作について、第2プロトコルが設定される。第1プロトコルは例えばTCP(Transmission Control Protocol:トランスミッションコントロールプロトコル)であってもよい。第2プロトコルは例えばUDP(User Datagram Protocol:ユーザデータグラムプロトコル)であってもよい。   For example, a plurality of protocols include a first protocol in which an ACK (acknowledgment response) is transmitted from the application server 1 to the controller 2 when the application server 1 receives a key ID from the controller 2, and a second protocol in which no ACK is transmitted. You may include at least. In this case, the controller 2 uses the first protocol that can confirm whether or not the application server 1 has been received reliably and the second protocol that has a shorter response time than the first protocol, depending on the user operation to be notified. be able to. For example, the first protocol is set for a user operation in which priority is given to the application server 1 receiving the notification reliably over the short response time. The second protocol is set for a user operation in which a short response time is prioritized over the application server 1 reliably receiving a notification. The first protocol may be, for example, TCP (Transmission Control Protocol). The second protocol may be, for example, UDP (User Datagram Protocol).

例えば複数のプロトコルは、コントローラ2により暗号化されたキーIDがコントローラ2からアプリケーションサーバ1へ送信される第3プロトコルと、暗号化されないキーIDがコントローラ2からアプリケーションサーバ1へ送信される第4プロトコルとを少なくとも含んでもよい。これにより、コントローラ2は、秘匿する必要があるユーザ操作を暗号化して通知することができる。また、コントローラ2は、秘匿しなくてもよいユーザ操作を暗号化せずに通知することで、暗号化するよりも応答時間を短くすることができる。例えば、暗証番号を入力する画面において、暗証番号を入力して送信するための「0」〜「9」の各数字キー、暗証番号を確定するための入力キー、及びメニューを表示するためのメニューキーを押すことが可能であるとする。この場合、各数字キーには第3プロトコルが設定されてもよい。入力キー及びメニューキーには第4プロトコルが設定されてもよい。第3プロトコルは例えばSSL(Secure Socket Layer:セキュアソケットレイヤー)であってもよい。ここでのSSLは、より詳しくは、Secure Socket Layer Over Transmission Control Protocol を表している。第4プロトコルは、例えばアプリケーション層のプロトコルが暗号化プロトコルではないTCPやUDP等であってもよい。   For example, a plurality of protocols include a third protocol in which a key ID encrypted by the controller 2 is transmitted from the controller 2 to the application server 1, and a fourth protocol in which an unencrypted key ID is transmitted from the controller 2 to the application server 1. And at least. Thereby, the controller 2 can encrypt and notify the user operation which needs to be kept secret. Moreover, the controller 2 can shorten the response time compared with the encryption by notifying the user operation that does not need to be concealed without the encryption. For example, on the screen for entering a personal identification number, numeric keys "0" to "9" for inputting and transmitting the personal identification number, input keys for confirming the personal identification number, and a menu for displaying a menu Assume that the key can be pressed. In this case, a third protocol may be set for each numeric key. A fourth protocol may be set for the input key and the menu key. The third protocol may be, for example, SSL (Secure Socket Layer). SSL in this case represents the Secure Socket Layer Over Transmission Control Protocol in more detail. The fourth protocol may be, for example, TCP or UDP whose application layer protocol is not an encryption protocol.

図2(A)に示す重要度表の例においては、重要度として「0」又は「1」が設定される。例えば重要度「0」はUDPを示し、重要度「1」はTCPを示す。なお、3種類以上のプロトコルが設定可能であってもよい。例えば、重要度「0」はUDPを示し、重要度「1」はTCPを示し、重要度「2」はSSLを示してもよい。   In the example of the importance table shown in FIG. 2A, “0” or “1” is set as the importance. For example, importance “0” indicates UDP, and importance “1” indicates TCP. Three or more types of protocols may be settable. For example, importance “0” may indicate UDP, importance “1” may indicate TCP, and importance “2” may indicate SSL.

上述したような重要度表により、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、コントローラ2がアプリケーションサーバ1へユーザ操作を通知することができる。   With the importance table as described above, the controller 2 can notify the application server 1 of a user operation using a protocol suitable for each of a plurality of user operations possible on the same screen from a plurality of protocols. .

図2(B)は、状態遷移表の構成例を示す図である。状態遷移表は、ステートマシンにおいて、状態遷移が起こる条件となるユーザ操作を、遷移前の状態と遷移後の状態との組み合わせごとに定義する。   FIG. 2B is a diagram illustrating a configuration example of the state transition table. The state transition table defines, for each combination of the state before the transition and the state after the transition, a user operation that is a condition for causing the state transition in the state machine.

図2(B)に示すように、状態遷移表の第1列の各セルには前状態IDが設定されている。前状態IDは、遷移前の状態、すなわち現在状態を示す状態IDである。状態遷移表の第1行の各セルには後状態IDが設定されている。後状態IDは、遷移後の状態を示す状態IDである。これらのセルを除いた他のセルのうち一部のセルには、キーID及び動画IDが設定される。注目するセルに設定されているキーIDは、注目するセルの行に対応する前状態IDが示す状態から、注目するセルの列に対応する後状態IDが示す状態へ遷移するための条件に相当するユーザ操作を示す。図2(B)の例において、キーID「操作なし」は、何らの操作も行われなかった場合を示す。注目するセルに設定されている動画IDは、注目するセルの行に対応する前状態IDが示す状態から、注目するセルの列に対応する後状態IDが示す状態へ遷移するときにレンダラ3に表示される動画を示す。本実施形態においては、動画データに基づいて動画がレンダラ3に表示される。そのため、実際には全く動かない映像も動画と称している。しかしながら、動画IDが示す映像が全く動かない場合、その映像は静止画であってもよい。   As shown in FIG. 2B, a previous state ID is set for each cell in the first column of the state transition table. The previous state ID is a state ID indicating a state before transition, that is, a current state. A post-state ID is set for each cell in the first row of the state transition table. The rear state ID is a state ID indicating the state after the transition. A key ID and a moving image ID are set in some of the other cells excluding these cells. The key ID set for the cell of interest corresponds to the condition for transition from the state indicated by the previous state ID corresponding to the row of the cell of interest to the state indicated by the subsequent state ID corresponding to the column of the cell of interest. User operation to be performed. In the example of FIG. 2B, the key ID “no operation” indicates a case where no operation is performed. The moving image ID set in the cell of interest is displayed in the renderer 3 when transitioning from the state indicated by the previous state ID corresponding to the row of the cell of interest to the state indicated by the subsequent state ID corresponding to the column of the cell of interest. Indicates the video to be displayed. In the present embodiment, a moving image is displayed on the renderer 3 based on the moving image data. Therefore, a video that does not actually move at all is also called a video. However, when the video indicated by the moving image ID does not move at all, the video may be a still image.

例えば、図2(B)において、状態ST1を示す前状態IDと状態ST1を示す後状態IDに対応するセルには、操作なしを示すキーID、動画1の動画IDが設定されている。これは、現在状態がST1であるときにユーザが何も操作を行わなかった場合、実質的には状態遷移は起こらず、動画1がレンダラ3に表示されることを示す。動画1は、状態ST1に対応する画面を表す。状態ST1を示す前状態IDと状態ST2を示す後状態IDに対応するセルには、右キーを示すキーID、動画Aの動画IDが設定されている。これは、現在状態がST1であるときにユーザが右キーを押した場合、現在状態が状態ST1から状態ST2に遷移し、動画Aがレンダラ3に表示されることを示す。動画Aは、状態ST1に対応する画面から状態ST2に対応する画面へ画面が変化する様子を表す動画である。状態ST1を示す前状態IDと状態ST3を示す後状態IDに対応するセルには、キーID及び動画IDは設定されていない。従って、状態ST1から状態ST3へは直接遷移しない。   For example, in FIG. 2B, a key ID indicating no operation and a moving image ID of moving image 1 are set in a cell corresponding to the previous state ID indicating state ST1 and the subsequent state ID indicating state ST1. This indicates that, when the user does not perform any operation when the current state is ST1, the state transition does not substantially occur and the moving image 1 is displayed on the renderer 3. Movie 1 represents a screen corresponding to state ST1. In a cell corresponding to the previous state ID indicating the state ST1 and the subsequent state ID indicating the state ST2, the key ID indicating the right key and the moving image ID of the moving image A are set. This indicates that if the user presses the right key when the current state is ST1, the current state transitions from the state ST1 to the state ST2, and the moving image A is displayed on the renderer 3. Movie A is a movie showing how the screen changes from the screen corresponding to state ST1 to the screen corresponding to state ST2. The key ID and the moving image ID are not set in the cells corresponding to the previous state ID indicating the state ST1 and the subsequent state ID indicating the state ST3. Therefore, there is no direct transition from state ST1 to state ST3.

[5.第1プロトコル、第2プロトコルを用いた場合の通信方法]
次に、第1プロトコルと第2プロトコルを用いた場合におけるアプリケーションサーバ1とコントローラ2との間の通信方法の一例について説明する。第1プロトコルの例としてTCPを用い、第2プロトコルの例としてUDPを用いる。また重要度表において、UDPの重要度を「0」とし、TCPの重要度を「1」とする。
[5. Communication method using first protocol and second protocol]
Next, an example of a communication method between the application server 1 and the controller 2 when the first protocol and the second protocol are used will be described. TCP is used as an example of the first protocol, and UDP is used as an example of the second protocol. In the importance table, the importance of UDP is set to “0”, and the importance of TCP is set to “1”.

ユーザ操作を通知するとき、コントローラ2は、そのユーザ操作を示すキーIDを含むパケットをアプリケーションサーバ1へ送信する。このとき、コントローラ2は、送信されるキーIDに、全体シーケンス番号及びTCPシーケンス番号を付加してもよい。   When notifying the user operation, the controller 2 transmits a packet including a key ID indicating the user operation to the application server 1. At this time, the controller 2 may add the entire sequence number and the TCP sequence number to the transmitted key ID.

全体シーケンス番号は、TCP及びUDPの何れを用いるかにかかわらずコントローラ2がキーIDを送信するたびに更新される番号である。例えば、全体シーケンス番号は1ずつ増加してもよい。全体シーケンス番号は、ユーザ操作がコントローラ2に入力された順序を示す。   The overall sequence number is a number that is updated each time the controller 2 transmits a key ID regardless of whether TCP or UDP is used. For example, the overall sequence number may be incremented by one. The overall sequence number indicates the order in which user operations are input to the controller 2.

TCPシーケンス番号は、TCPを用いてコントローラ2がキーIDを送信するたびに更新される番号である。例えば、TCPシーケンス番号は1ずつ増加してもよい。TCPシーケンス番号は、重要度「1」に対応するユーザ操作がアプリケーションサーバ1によって処理されるべき順番を示す。コントローラ2は、重要度「1」に対応するユーザ操作を示すキーIDを、TCPを用いて送信してから、キーIDの送信に対応するACKをアプリケーションサーバ1から受信するまでの間は、重要度「1」に対応するユーザ操作の入力を受け付けない。これにより、重要度「1」に対応するユーザ操作が処理される順序が保たれる。UDPを用いてキーIDが送信されてもTCPシーケンス番号は更新されない。コントローラ2は、重要度「1」に対応するユーザ操作を示すキーIDを送信した後、これに対するACKを受信しなくても、重要度「0」に対応するユーザ操作の入力を受け付ける。そして、コントローラ2は、受け付けたユーザ操作を示すキーIDを、UDPを用いてアプリケーションサーバ1へ送信する。これにより応答時間を短くすることができる。しかしながら、アプリケーションサーバ1は、後に送信された重要度「0」に対応するユーザ操作を示すキーIDを、先に送信された重要度「1」に対応するユーザ操作を示すキーIDよりも先に受信する可能性がある。そのため、アプリケーションサーバ1が、キーIDを受信した順にユーザ操作を処理すると、重要度「1」に対応するユーザ操作と重要度「0」に対応するユーザ操作との間の処理の順序を保つことができない。   The TCP sequence number is a number that is updated each time the controller 2 transmits a key ID using TCP. For example, the TCP sequence number may be increased by one. The TCP sequence number indicates the order in which user operations corresponding to the importance “1” should be processed by the application server 1. The controller 2 is important during the period from when the key ID indicating the user operation corresponding to the importance level “1” is transmitted using TCP until the ACK corresponding to the transmission of the key ID is received from the application server 1. The user operation input corresponding to the degree “1” is not accepted. Thereby, the order in which the user operations corresponding to the importance “1” are processed is maintained. Even if the key ID is transmitted using UDP, the TCP sequence number is not updated. After transmitting the key ID indicating the user operation corresponding to the importance “1”, the controller 2 receives the input of the user operation corresponding to the importance “0” without receiving an ACK for the key ID. And the controller 2 transmits key ID which shows the received user operation to the application server 1 using UDP. Thereby, the response time can be shortened. However, the application server 1 sets the key ID indicating the user operation corresponding to the importance “0” transmitted later before the key ID indicating the user operation corresponding to the importance “1” transmitted earlier. There is a possibility of receiving. Therefore, when the application server 1 processes the user operations in the order in which the key IDs are received, the processing order between the user operation corresponding to the importance “1” and the user operation corresponding to the importance “0” is maintained. I can't.

そこで、アプリケーションサーバ1は、受信したキーIDに付加されたTCPシーケンス番号を利用する。具体的に、アプリケーションサーバ1は、UDPを用いて送信されたキーIDを受信した場合、このキーIDに付加されたTCPシーケンス番号と同一のTCPシーケンス番号が付加されたキーIDが既にTCPを用いて受信されているか否かを判定する。同一のTCPシーケンス番号が付加されたキーIDがTCPを用いて受信されている場合、アプリケーションサーバ1は、UDPを用いて受信されたキーIDが示すユーザ操作に応じた処理を直ちに実行する。同一のTCPシーケンス番号が付加されたキーIDがTCPを用いて受信されていない場合、アプリケーションサーバ1は、UDPを用いて受信されたキーIDが示すユーザ操作に応じた処理を保留する。アプリケーションサーバ1は、同一のTCPシーケンス番号が付加されたキーIDがTCPを用いて受信すると、受信したキーIDが示すユーザ操作に応じた処理を実行する。この後、アプリケーションサーバ1は、保留された、UDPを用いて受信されたキーIDが示すユーザ操作に応じた処理を実行する。これにより、重要度「1」に対応するユーザ操作と重要度「0」に対応するユーザ操作との間の処理の順序を保つことができる。処理が保留されたユーザ操作が複数存在する場合、アプリケーションサーバ1は、全体シーケンス番号の順に、保留された処理を実行してもよい。この場合、重要度「0」に対応するユーザ操作間の処理の順序が保たれる。なお、重要度「0」に対応するユーザ操作間の処理の順序は保たれなくてもよい。   Therefore, the application server 1 uses the TCP sequence number added to the received key ID. Specifically, when the application server 1 receives a key ID transmitted using UDP, the key ID with the same TCP sequence number added to the key ID already uses TCP. Is received. When the key ID to which the same TCP sequence number is added is received using TCP, the application server 1 immediately executes a process corresponding to the user operation indicated by the key ID received using UDP. When the key ID to which the same TCP sequence number is added has not been received using TCP, the application server 1 suspends processing corresponding to the user operation indicated by the key ID received using UDP. When the key ID to which the same TCP sequence number is added is received using TCP, the application server 1 executes processing corresponding to the user operation indicated by the received key ID. Thereafter, the application server 1 executes a process according to the user operation indicated by the key ID received using UDP that has been suspended. Thereby, the order of processing between the user operation corresponding to the importance “1” and the user operation corresponding to the importance “0” can be maintained. When there are a plurality of user operations whose processes are suspended, the application server 1 may execute the suspended processes in the order of the entire sequence numbers. In this case, the order of processing between user operations corresponding to the importance “0” is maintained. Note that the order of processing between user operations corresponding to the importance “0” may not be maintained.

重要度「1」に対応するユーザ操作が行われた場合、ステートマシンにおける状態が変化し、重要度「0」に対応するユーザ操作が行われた場合、状態は変化しないように状態遷移表が作成されているものとする。従って、重要度「1」に対応するユーザ操作が行われた場合にのみ、画面が切り替わる。   When a user operation corresponding to the importance “1” is performed, the state in the state machine changes, and when a user operation corresponding to the importance “0” is performed, the state transition table is set so that the state does not change. It is assumed that it has been created. Therefore, the screen is switched only when a user operation corresponding to the importance “1” is performed.

図3は、本実施形態の通信システムSの動作例を示すシーケンス図である。例えばコントローラ2がアプリケーションサーバ1にTCPを用いて接続すると、アプリケーションサーバ1は、現在状態を初期状態に設定する。初期状態は、例えばアプリケーションプログラムを選択するためのメニュー画面に対応する状態である。アプリケーションサーバ1は、現在状態に対応する重要度表をコントローラ2へ送信する(ステップS1)。この重要度表において、上、下、左及び右の各方向キーと、丸印キー及びバツ印キーが定義されている。メニュー画面において、方向キーは、メニュー上のカーソルを移動させるためのキーである。丸印キーは、現在カーソルが位置するメニュー項目に対応するアプリケーションプログラムを起動させるためのキーである。バツ印キーは、メニュー画面を終了させるためのキーである。各キーに対して重要度「1」が設定されている。こうした重要度の設定は、メニューに対する操作は順番通りに確実にアプリケーションサーバ1により処理される必要があるという思想に基づく。アプリケーションサーバ1は、例えば情報検索を示すメニュー項目上にカーソルが表示されるメニュー画面の動画のレンダラ3への送信を開始する(ステップS2)。レンダラ3はメニュー画面を表示する。動画の送信開始後、アプリケーションサーバ1は、コントローラ2からの接続に対するACKをコントローラ2へ送信する(ステップS3)。   FIG. 3 is a sequence diagram illustrating an operation example of the communication system S of the present embodiment. For example, when the controller 2 connects to the application server 1 using TCP, the application server 1 sets the current state to the initial state. The initial state is a state corresponding to a menu screen for selecting an application program, for example. The application server 1 transmits an importance table corresponding to the current state to the controller 2 (step S1). In this importance table, up, down, left and right direction keys, a circle mark key and a cross mark key are defined. On the menu screen, the direction key is a key for moving the cursor on the menu. The circle key is a key for starting an application program corresponding to the menu item where the cursor is currently positioned. The cross mark key is a key for ending the menu screen. Importance “1” is set for each key. Such importance setting is based on the idea that operations on the menu need to be processed by the application server 1 in order and reliably. For example, the application server 1 starts transmitting a moving image of a menu screen on which a cursor is displayed on a menu item indicating information retrieval to the renderer 3 (step S2). The renderer 3 displays a menu screen. After starting the transmission of the moving image, the application server 1 transmits an ACK for the connection from the controller 2 to the controller 2 (step S3).

ACKの受信後、ユーザはコントローラ2の左キーを押下する。すると、コントローラ2は、全体シーケンス番号「1」、TCPシーケンス番号「1」、キーID「左」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS4)。アプリケーションサーバ1は、左キーに対応して、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えば情報検索を示すメニュー項目の1つ左にあるカラオケを示すメニュー項目上にカーソルが表示されるメニュー画面に対応する状態である。全てのメニュー画面において、重要度表の内容は一致する。すなわち、メニュー画面間においては、メニュー上のカーソルの位置が異なるものの、入力可能なユーザ操作及びユーザ操作に対する重要度は一致する。従って、状態が遷移しても重要度表の内容が変化しない場合、アプリケーションサーバ1は、コントローラ2へ重要度表を送信しなくてもよい。アプリケーションサーバ1は、左キーに対応して、メニュー上に表示されるカーソルが左へ移動する動画をレンダラ3へ送信する(ステップS5)。アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップS6)。次いで、アプリケーションサーバ1は、カーソル移動後のメニュー画面の動画送信を継続する。   After receiving ACK, the user presses the left key of the controller 2. Then, the controller 2 transmits a packet including the entire sequence number “1”, the TCP sequence number “1”, and the key ID “left” to the application server 1 using TCP (step S4). The application server 1 changes the state according to the state transition table corresponding to the left key. The state after the transition is a state corresponding to a menu screen in which a cursor is displayed on the menu item indicating karaoke, for example, one left of the menu item indicating information search. The contents of the importance table are the same on all menu screens. That is, between menu screens, although the position of the cursor on the menu is different, the user operations that can be input and the importance levels for the user operations match. Therefore, when the content of the importance table does not change even when the state changes, the application server 1 does not need to transmit the importance table to the controller 2. In response to the left key, the application server 1 transmits to the renderer 3 a moving image in which the cursor displayed on the menu moves to the left (step S5). The application server 1 transmits ACK to the controller 2 (step S6). Next, the application server 1 continues the moving image transmission of the menu screen after the cursor is moved.

ACKの受信後、ユーザは再度左キーを押下する。すると、コントローラ2は、全体シーケンス番号「2」、TCPシーケンス番号「2」、キーID「左」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS7)。アプリケーションサーバ1は、左キーに対応して、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えばカラオケを示すメニュー項目の1つ左にあるお絵描きを示すメニュー項目上にカーソルが表示されるメニュー画面に対応する状態である。アプリケーションサーバ1は、メニュー上に表示されるカーソルが更に左へ移動する動画をレンダラ3へ送信する(ステップS8)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信し(ステップS9)。   After receiving ACK, the user presses the left key again. Then, the controller 2 transmits a packet including the entire sequence number “2”, the TCP sequence number “2”, and the key ID “left” to the application server 1 using TCP (step S7). The application server 1 changes the state according to the state transition table corresponding to the left key. The state after the transition is a state corresponding to a menu screen in which a cursor is displayed on a menu item indicating a drawing on the left of the menu item indicating karaoke, for example. The application server 1 transmits a moving image in which the cursor displayed on the menu further moves to the left to the renderer 3 (step S8). Then, the application server 1 transmits ACK to the controller 2 (step S9).

ACKの受信後、ユーザは丸印キーを押下する。すると、コントローラ2は、全体シーケンス番号「3」、TCPシーケンス番号「3」、キーID「マル」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS10)。アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えばお絵描き画面に対応する状態である。アプリケーションサーバ1は、遷移後の状態に対応する重要度表をコントローラ2へ送信する(ステップS11)。この重要度表において、上、下、左及び右の各方向キーと、バツ印キー及び三角印キーが定義されている。更に重要度表には、上キーと丸印キーの同時押し、下キーと丸印キーの同時押し、左キーと丸印キーの同時押し、及び右キーと丸印キーの同時押しが定義されている。お絵描き画面において、方向キーはカーソルを移動させるためのキーである。方向キーと丸印キーの同時押しは、カーソルを移動させながらカーソルの位置に線を描くための操作である。三角印キーは、線を引くための色を変更するためのキーである。バツ印キーはお絵描きを終了するためのキーである。バツ印キー及び三角印キーに対して重要度「1」が設定されている。その他のキーに対して重要度「0」が設定されている。こうした重要度の設定は、お絵描きにおけるカーソルの移動及び描画の操作は、順番が入れ多少替わったり、処理されない操作が一部あったりしたとしても大きな影響はなく、応答時間の短縮を優先するという思想に基づく。重要度の送信後、アプリケーションサーバ1は、お絵描きのアプリケーションプログラムを起動する。またアプリケーションサーバ1は、メニュー画面から、例えば線を描画するために現在選択されている色が白であるお絵描き画面に切り替わる動画をレンダラ3へ送信する(ステップS12)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ13)。   After receiving ACK, the user presses the circle key. Then, the controller 2 transmits a packet including the entire sequence number “3”, the TCP sequence number “3”, and the key ID “maru” to the application server 1 using TCP (step S10). The application server 1 changes the state according to the state transition table. The state after the transition is a state corresponding to, for example, a drawing screen. The application server 1 transmits an importance table corresponding to the state after the transition to the controller 2 (step S11). In this importance table, up, down, left and right direction keys, a cross mark key and a triangle mark key are defined. In addition, the importance table defines the simultaneous pressing of the up key and the circle key, the simultaneous pressing of the down key and the circle key, the simultaneous pressing of the left key and the circle key, and the simultaneous pressing of the right key and the circle key. ing. On the drawing screen, the direction key is a key for moving the cursor. The simultaneous pressing of the direction key and the circle key is an operation for drawing a line at the cursor position while moving the cursor. The triangle mark key is a key for changing a color for drawing a line. The cross key is a key for ending drawing. The importance “1” is set for the cross mark key and the triangle mark key. The importance “0” is set for the other keys. With this importance setting, the cursor movement and drawing operations in drawing do not have a big effect even if the order is changed or some operations are not processed, and priority is given to shortening the response time. Based on thought. After transmitting the importance, the application server 1 starts a drawing application program. Further, the application server 1 transmits, from the menu screen, for example, a moving image that switches to a drawing screen whose color currently selected for drawing a line is white to the renderer 3 (step S12). Then, the application server 1 transmits ACK to the controller 2 (Step 13).

ユーザは左キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「4」、TCPシーケンス番号「3」、キーID「左+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS14)。UDPのため、TCPシーケンス番号は更新されない。また、現在状態は変化しない。従って、アプリケーションサーバ1は、引き続きお絵描き画面の動画をレンダラ3へ送信する(ステップS15)。ただし、アプリケーションサーバ1は、お絵描き画面において、カーソルが左へ移動して線が引かれる動画をレンダラ3へ送信するがUDPでキーIDを受信したので、アプリケーションサーバ1は、ACKを送信しない。   The user presses the left key and the circle key simultaneously. The importance corresponding to this operation is “0”. The controller 2 transmits a packet including the entire sequence number “4”, the TCP sequence number “3”, and the key ID “left + maru” to the application server 1 using UDP (step S14). Because of UDP, the TCP sequence number is not updated. The current state does not change. Accordingly, the application server 1 continues to transmit the moving picture on the drawing screen to the renderer 3 (step S15). However, the application server 1 transmits a moving image in which the cursor moves to the left and a line is drawn on the drawing screen to the renderer 3, but receives the key ID by UDP, so the application server 1 does not transmit ACK.

次いで、ユーザは上キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「5」、TCPシーケンス番号「3」、キーID「上+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS16)。アプリケーションサーバ1は、カーソルが上へ移動して線が引かれるお絵描き画面の動画をレンダラ3へ送信する(ステップS17)。   Next, the user presses the up key and the circle key simultaneously. The importance corresponding to this operation is “0”. The controller 2 transmits a packet including the entire sequence number “5”, the TCP sequence number “3”, and the key ID “upper + maru” to the application server 1 using UDP (step S16). The application server 1 transmits to the renderer 3 a moving image of a drawing screen on which a line is drawn by moving the cursor upward (step S17).

次いで、ユーザは三角印キーを押下する。この操作に対応する重要度は「1」である。コントローラ2は、全体シーケンス番号「6」、TCPシーケンス番号「4」、キーID「サンカク」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS18)。次いで、ユーザは右キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「7」、TCPシーケンス番号「4」、キーID「右+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS19)。   Next, the user presses the triangle key. The importance corresponding to this operation is “1”. The controller 2 transmits a packet including the entire sequence number “6”, the TCP sequence number “4”, and the key ID “thank you” to the application server 1 using TCP (step S18). Next, the user simultaneously presses the right key and the circle key. The importance corresponding to this operation is “0”. The controller 2 transmits a packet including the entire sequence number “7”, the TCP sequence number “4”, and the key ID “right + maru” to the application server 1 using UDP (step S19).

ここで、アプリケーションサーバ1は、キーID「サンカク」を含むパケットとキーID「右+マル」を含むパケットのうちキーID「右+マル」を含むパケットの方を先に受信した。このキーIDに付加されたTCPシーケンス番号は「4」である。アプリケーションサーバ1は、TCPシーケンス番号「1」〜「3」が付加されたキーIDを、TCPを用いてそれぞれステップS4、S7、S10で受信している。しかしながら、アプリケーションサーバ1は、TCPシーケンス番号「4」が付加されたキーID「サンカク」を、TCPを用いて受信していない。そこで、アプリケーションサーバ1は、カーソルを右へ移動させて線を引く処理を保留する。   Here, the application server 1 receives the packet including the key ID “Right + Mal” first and the packet including the key ID “Right + Mal” out of the packet including the key ID “Sankaku”. The TCP sequence number added to this key ID is “4”. The application server 1 receives the key IDs to which the TCP sequence numbers “1” to “3” are added in steps S4, S7, and S10 using TCP. However, the application server 1 has not received the key ID “thank you” with the TCP sequence number “4” added using TCP. Therefore, the application server 1 suspends the process of moving the cursor to the right and drawing a line.

その後、アプリケーションサーバ1は、キーID「サンカク」を受信する。すると、アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、赤の線を引くためのお絵描き画面に対応する状態である。アプリケーションサーバ1は、線の描画に用いられる色が白から赤に変化するお絵描き画面の動画をレンダラ3へ送信する(ステップS20)。次いで、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ21)。次いで、アプリケーションサーバ1は、カーソルが左へ移動して線が引かれるお絵描き画面の動画をレンダラ3へ送信する(ステップS22)。   Thereafter, the application server 1 receives the key ID “sankaku”. Then, the application server 1 makes a state transition according to the state transition table. The state after the transition is a state corresponding to a drawing screen for drawing a red line. The application server 1 transmits to the renderer 3 a moving image of a drawing screen in which the color used for line drawing changes from white to red (step S20). Next, the application server 1 transmits ACK to the controller 2 (step 21). Next, the application server 1 transmits to the renderer 3 a moving image of a drawing screen in which the cursor moves to the left and a line is drawn (step S22).

ユーザはバツ印キーを押下する。すると、コントローラ2は、全体シーケンス番号「8」、TCPシーケンス番号「5」、キーID「バツ」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS23)。アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、メニュー画面に対応する状態である。アプリケーションサーバ1は、遷移後の状態に対応する重要度表をコントローラ2へ送信する(ステップS24)。次いで、アプリケーションサーバ1は、お絵描き画面からメニュー画面に切り替わる動画をレンダラ3へ送信する(ステップS25)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ26)。   The user presses the cross key. Then, the controller 2 transmits a packet including the entire sequence number “8”, the TCP sequence number “5”, and the key ID “X” to the application server 1 using TCP (step S23). The application server 1 changes the state according to the state transition table. The state after the transition is a state corresponding to the menu screen. The application server 1 transmits an importance table corresponding to the state after the transition to the controller 2 (step S24). Next, the application server 1 transmits a moving image that switches from the drawing screen to the menu screen to the renderer 3 (step S25). Then, the application server 1 transmits ACK to the controller 2 (step 26).

[6.通信システムSの動作]
次に、図4乃至図7を参照して、本実施形態の通信システムSの動作について説明する。図4(A)は、コントローラ2におけるコントローラ受信処理の一例を示すフローチャートである。コントローラプログラムが起動すると、コントローラ2のCPU21はコントローラ受信処理を実行する。先ずCPU21は、TCPソケットを生成し、次いで、アプリケーションサーバ1側のTCPソケットに接続する(ステップS31)。また、CPU21は、UDPソケットを生成する。次いで、CPU21は、全体シーケンス番号を1に設定し(ステップS32)。TCPシーケンス番号を1に設定する(ステップS33)。次いで、CPU21は、コントローラプログラムが終了するか否かを判定する(ステップS34)。このとき、CPU21は、コントローラプログラムが終了しないと判定した場合には(ステップS34:NO)、ステップS35に進む。
[6. Operation of communication system S]
Next, the operation of the communication system S of the present embodiment will be described with reference to FIGS. FIG. 4A is a flowchart illustrating an example of a controller reception process in the controller 2. When the controller program is activated, the CPU 21 of the controller 2 executes controller reception processing. First, the CPU 21 generates a TCP socket, and then connects to the TCP socket on the application server 1 side (step S31). Moreover, CPU21 produces | generates a UDP socket. Next, the CPU 21 sets the overall sequence number to 1 (step S32). The TCP sequence number is set to 1 (step S33). Next, the CPU 21 determines whether or not the controller program ends (step S34). At this time, if the CPU 21 determines that the controller program does not end (step S34: NO), the CPU 21 proceeds to step S35.

ステップS35において、CPU21は、TCPソケットから、アプリケーションサーバ1から送信されてきたデータを読み出す。次いで、CPU21は、読み出したデータが重要度表であるか否かを判定する(ステップS36)。このとき、CPU21は、読み出したデータが重要度表であると判定した場合には(ステップS36:YES)、ステップS37に進む。一方、CPU21は、読み出したデータが重要度表ではないと判定した場合には(ステップS36:NO)、ステップS38に進む。   In step S35, the CPU 21 reads the data transmitted from the application server 1 from the TCP socket. Next, the CPU 21 determines whether or not the read data is an importance table (step S36). At this time, if the CPU 21 determines that the read data is an importance table (step S36: YES), the CPU 21 proceeds to step S37. On the other hand, when the CPU 21 determines that the read data is not the importance table (step S36: NO), the CPU 21 proceeds to step S38.

ステップS37において、CPU21は、重要度表を更新する。具体的に、CPU21は、RAM23に古い重要度表が記憶されている場合にはその重要度表を削除する。CPU21は、今回受信した重要度表をRAM23に記憶させる。この処理を終えると、CPU21は、ステップS34に進む。   In step S37, the CPU 21 updates the importance table. Specifically, when an old importance table is stored in the RAM 23, the CPU 21 deletes the importance table. The CPU 21 stores the importance table received this time in the RAM 23. When this process is finished, the CPU 21 proceeds to step S34.

ステップS38において、CPU21は、読み出したデータがACKであるか否かを判定する。このとき、CPU21は、読み出したデータがACKであると判定した場合には(ステップS38:YES)、ステップS39に進む。一方、CPU21は、読み出したデータがACKではないと判定した場合には(ステップS38:NO)、ステップS34に進む。   In step S38, the CPU 21 determines whether or not the read data is ACK. At this time, if the CPU 21 determines that the read data is ACK (step S38: YES), the CPU 21 proceeds to step S39. On the other hand, when the CPU 21 determines that the read data is not ACK (step S38: NO), the CPU 21 proceeds to step S34.

ステップS39において、CPU21は、キー操作送信中フラグをFALSEに設定する。次いで、CPU21は、ステップS34に進む。ステップS34において、CPU21は、コントローラプログラムが終了すると判定した場合には(ステップS34:YES)、コントローラ受信処理を終了させる。   In step S39, the CPU 21 sets the key operation transmission flag to FALSE. Next, the CPU 21 proceeds to step S34. In step S34, if the CPU 21 determines that the controller program ends (step S34: YES), the CPU 21 ends the controller reception process.

図4(B)は、コントローラ2におけるユーザ操作処理の一例を示すフローチャートである。コントローラプログラムが起動すると、コントローラ2のCPU21はユーザ操作処理を実行する。先ずCPU21は、コントローラプログラムが終了するか否かを判定する(ステップS41)。このとき、CPU21は、コントローラプログラムが終了しないと判定した場合には(ステップS41:NO)、ステップS42に進む。   FIG. 4B is a flowchart illustrating an example of user operation processing in the controller 2. When the controller program is activated, the CPU 21 of the controller 2 executes user operation processing. First, the CPU 21 determines whether or not the controller program ends (step S41). At this time, if the CPU 21 determines that the controller program does not end (step S41: NO), the CPU 21 proceeds to step S42.

ステップS42において、CPU21は、入力部26に入力されたユーザ操作として、ユーザが押したキーのキーIDを取得する。次いで、CPU21は、RAM23に記憶されている重要度表から、取得したキーIDに対応する重要度を取得する(ステップS43)。次いで、CPU21は、取得した重要度が「1」であるか否かを判定する(ステップS44)。このとき、CPU21は、重要度が「1」であると判定した場合には(ステップS44:YES)、ステップS45に進む。一方、CPU21は、重要度が「1」ではないと判定した場合には(ステップS44:NO)、ステップS49に進む。   In step S <b> 42, the CPU 21 acquires the key ID of the key pressed by the user as the user operation input to the input unit 26. Next, the CPU 21 acquires the importance corresponding to the acquired key ID from the importance table stored in the RAM 23 (step S43). Next, the CPU 21 determines whether or not the acquired importance is “1” (step S44). At this time, if the CPU 21 determines that the importance is “1” (step S44: YES), the CPU 21 proceeds to step S45. On the other hand, when the CPU 21 determines that the importance is not “1” (step S44: NO), the CPU 21 proceeds to step S49.

ステップS45において、CPU21は、キー操作送信中フラグがFALSEであるか否かを判定する。このとき、CPU21は、キー操作送信中フラグがFALSEであると判定した場合には(ステップS45:YES)、ステップS46に進む。一方、CPU21は、キー操作送信中フラグがFALSEではないと判定した場合には(ステップS45:NO)、ステップS41に進む。   In step S45, the CPU 21 determines whether or not the key operation transmission flag is FALSE. At this time, if the CPU 21 determines that the key operation transmission flag is FALSE (step S45: YES), the CPU 21 proceeds to step S46. On the other hand, if the CPU 21 determines that the key operation transmission flag is not FALSE (step S45: NO), the CPU 21 proceeds to step S41.

ステップS46において、CPU21は、キー操作送信中フラグをTRUEに設定する。次いで、CPU21は、TCPソケットに、取得したキーID、全体シーケンス番号及びTCPシーケンス番号を書き込む(ステップS47)。これにより、CPU21は、TCPを用いてキーID、全体シーケンス番号及びTCPシーケンス番号を含むパケットをアプリケーションサーバ1へ送信する。次いで、CPU21は、TCPシーケンス番号を1増加させて(ステップS48)、ステップS50に進む。   In step S46, the CPU 21 sets a key operation transmission flag to TRUE. Next, the CPU 21 writes the acquired key ID, overall sequence number, and TCP sequence number in the TCP socket (step S47). Thereby, the CPU 21 transmits a packet including the key ID, the entire sequence number, and the TCP sequence number to the application server 1 using TCP. Next, the CPU 21 increments the TCP sequence number by 1 (step S48), and proceeds to step S50.

ステップS49において、CPU21は、UDPソケットに、取得したキーID、全体シーケンス番号及びTCPシーケンス番号を書き込む。これにより、CPU21は、UDPを用いてキーID、全体シーケンス番号及びTCPシーケンス番号を含むパケットをアプリケーションサーバ1へ送信する。次いで、CPU21は、ステップS50に進む。   In step S49, the CPU 21 writes the acquired key ID, overall sequence number, and TCP sequence number in the UDP socket. Thereby, the CPU 21 transmits a packet including the key ID, the entire sequence number, and the TCP sequence number to the application server 1 using UDP. Next, the CPU 21 proceeds to step S50.

ステップS50において、CPU21は、全体シーケンス番号を1増加させて、ステップS41に進む。ステップS41において、CPU21は、コントローラプログラムが終了すると判定した場合には(ステップS41:YES)、ユーザ操作処理を終了させる。   In step S50, the CPU 21 increments the overall sequence number by 1, and proceeds to step S41. In step S41, if the CPU 21 determines that the controller program ends (step S41: YES), the CPU 21 ends the user operation process.

図5(A)は、アプリケーションサーバ1におけるTCP受信処理の一例を示すフローチャートである。サーバプログラムが起動すると、サーバプログラム1のCPU11はTCP受信処理を実行する。先ずCPU11は、TCPソケットを生成し、コントローラ2からの接続を待ち受ける準備処理を実行する(ステップS51)。次いで、CPU11は、コントローラ2から接続を待ち受ける(ステップS52)。次いでコントローラ2と接続すると、CPU11は、TCPソケットから、コントローラ2から受信されたパケットのデータを読み出す(ステップS53)。次いで、CPU11は、読み出したパケットを、後述する操作順序ソート処理へ転送する(ステップS54)。次いで、CPU11は、サーバプログラムが終了するか否かを判定する(ステップS55)。このとき、CPU11は、サーバプログラムが終了しないと判定した場合には(ステップS55:NO)、ステップS53に進む。一方、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS55:YES)、TCP受信処理を終了させる。   FIG. 5A is a flowchart illustrating an example of a TCP reception process in the application server 1. When the server program is activated, the CPU 11 of the server program 1 executes a TCP reception process. First, the CPU 11 generates a TCP socket and executes a preparation process for waiting for a connection from the controller 2 (step S51). Next, the CPU 11 waits for a connection from the controller 2 (step S52). Next, when connected to the controller 2, the CPU 11 reads out the packet data received from the controller 2 from the TCP socket (step S53). Next, the CPU 11 transfers the read packet to an operation order sorting process to be described later (step S54). Next, the CPU 11 determines whether or not the server program ends (step S55). At this time, if the CPU 11 determines that the server program does not end (step S55: NO), the CPU 11 proceeds to step S53. On the other hand, if the CPU 11 determines that the server program ends (step S55: YES), the CPU 11 ends the TCP reception process.

図5(B)は、アプリケーションサーバ1におけるUDP受信処理の一例を示すフローチャートである。サーバプログラムが起動すると、サーバプログラム1のCPU11はUDP受信処理を実行する。先ずCPU11は、UDPソケットを生成する(ステップS61)。次いで、CPU11は、UDPソケットから、コントローラ2から送信されたパケットのデータを読み出す(ステップS62)。次いで、CPU11は、読み出したパケットを、操作順序ソート処理へ転送する(ステップS63)。次いで、CPU11は、サーバプログラムが終了するか否かを判定する(ステップS64)。このとき、CPU11は、サーバプログラムが終了しないと判定した場合には(ステップS64:NO)、ステップS62に進む。一方、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS64:YES)、UDP受信処理を終了させる。   FIG. 5B is a flowchart illustrating an example of the UDP reception process in the application server 1. When the server program is activated, the CPU 11 of the server program 1 executes a UDP reception process. First, the CPU 11 generates a UDP socket (step S61). Next, the CPU 11 reads out the packet data transmitted from the controller 2 from the UDP socket (step S62). Next, the CPU 11 transfers the read packet to the operation order sorting process (step S63). Next, the CPU 11 determines whether or not the server program ends (step S64). At this time, if the CPU 11 determines that the server program does not end (step S64: NO), the CPU 11 proceeds to step S62. On the other hand, if the CPU 11 determines that the server program is terminated (step S64: YES), it terminates the UDP reception process.

図6は、アプリケーションサーバ1における操作順序ソート処理の一例を示すフローチャートである。サーバプログラムが起動すると、サーバプログラム1のCPU11は操作順序ソート処理を実行する。先ずCPU11は、TCPパケットの最新のTCPシーケンス番号tを1に設定する(ステップS71)。次いで、CPU11は、サーバプログラムが終了するか否かを判定する(ステップS72)。このとき、CPU11は、サーバプログラムが終了しないと判定した場合には(ステップS72:NO)、ステップS73に進む。ステップS73において、CPU11は、TCP受信処理又はUDP受信処理からパケットが転送されてくるまで待機する。パケットが転送されてくると、CPU11は、転送されてきたパケットがUDPパケットであるか否かを判定する。パケットのIPヘッダに基づいて、パケットがUDPパケットであるか否かの判定が可能である。CPU11は、転送されてきたパケットがUDPパケットであると判定した場合には(ステップS73:YES)、ステップS74に進む。一方、CPU11は、転送されてきたパケットがUDPパケットではないと判定した場合には(ステップS73:NO)、ステップS77に進む。   FIG. 6 is a flowchart illustrating an example of the operation order sorting process in the application server 1. When the server program is activated, the CPU 11 of the server program 1 executes an operation order sorting process. First, the CPU 11 sets the latest TCP sequence number t of the TCP packet to 1 (step S71). Next, the CPU 11 determines whether or not the server program ends (step S72). At this time, if the CPU 11 determines that the server program does not end (step S72: NO), the CPU 11 proceeds to step S73. In step S73, the CPU 11 stands by until a packet is transferred from the TCP reception process or the UDP reception process. When the packet is transferred, the CPU 11 determines whether or not the transferred packet is a UDP packet. Based on the IP header of the packet, it can be determined whether or not the packet is a UDP packet. When the CPU 11 determines that the transferred packet is a UDP packet (step S73: YES), the CPU 11 proceeds to step S74. On the other hand, when the CPU 11 determines that the transferred packet is not a UDP packet (step S73: NO), the CPU 11 proceeds to step S77.

ステップS74において、CPU11は、パケットに含まれるTCPシーケンス番号がtと一致するか否かを判定する。このとき、CPU11は、TCPシーケンス番号がtと一致すると判定した場合には(ステップS74:YES)、ステップS75に進む。一方、CPU11は、TCPシーケンス番号がtと一致しないと判定した場合には(ステップS74:NO)、ステップS76に進む。   In step S74, the CPU 11 determines whether or not the TCP sequence number included in the packet matches t. At this time, if the CPU 11 determines that the TCP sequence number matches t (step S74: YES), the CPU 11 proceeds to step S75. On the other hand, if the CPU 11 determines that the TCP sequence number does not match t (step S74: NO), the CPU 11 proceeds to step S76.

ステップS75において、CPU11は、取得したパケットに含まれるキーIDを後述するステートマシン処理に入力して、ステップS72に進む。ステップS76において、CPU11は、パケットをRAM13に確保されたキューに追加して、ステップS72に進む。   In step S75, the CPU 11 inputs a key ID included in the acquired packet into a state machine process described later, and proceeds to step S72. In step S76, the CPU 11 adds the packet to the queue secured in the RAM 13, and proceeds to step S72.

ステップS77において、CPU11は、tを、パケットに含まれるTCPシーケンス番号に設定する。次いで、CPU11は、取得したパケットに含まれるキーIDを後述するステートマシン処理に入力する(ステップS78)。次いで、CPU11は、キューに追加されているパケットのうち、パケットに含まれるTCPシーケンス番号がtと一致するパケットを取得する(ステップS79)。次いで、CPU11は、取得したパケットに含まれるキーIDをステートマシン処理に入力する(ステップS80)、複数のパケットを取得した場合、CPU11は、パケットに含まれる全体シーケンス番号の順に、これらのパケットをステートマシン処理に入力する。そして、CPU11は、ステップS72に進む。ステップS72において、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS72:YES)、操作順序ソート処理を終了させる。   In step S77, the CPU 11 sets t to the TCP sequence number included in the packet. Next, the CPU 11 inputs a key ID included in the acquired packet into a state machine process described later (step S78). Next, the CPU 11 acquires a packet whose TCP sequence number included in the packet matches t among the packets added to the queue (step S79). Next, the CPU 11 inputs the key ID included in the acquired packet to the state machine process (step S80). When a plurality of packets are acquired, the CPU 11 selects these packets in the order of the entire sequence numbers included in the packets. Input to state machine processing. Then, the CPU 11 proceeds to step S72. In step S72, if the CPU 11 determines that the server program ends (step S72: YES), the CPU 11 ends the operation order sorting process.

図7は、アプリケーションサーバ1におけるステートマシン処理の一例を示すフローチャートである。サーバプログラムが起動すると、サーバプログラム1のCPU11はステートマシン処理を実行する。先ずCPU11は、サーバプログラムが終了するか否かを判定する(ステップS81)。このとき、CPU11は、サーバプログラムが終了しないと判定した場合には(ステップS81:NO)、ステップS82に進む。ステップS82において、CPU11は、操作順序ソート処理から入力されてきたキーIDを取得する。操作順序ソート処理からキーIDが入力されていない場合、CPU11は、キーID「操作なし」を取得する。次いで、CPU11は、前状態SAの状態IDとして、現在状態の状態IDを取得する(ステップS83)。次いで、CPU11は、状態SAの状態IDに対応する重要度表TAを、重要度表DB6から取得する(ステップS84)。次いで、CPU11は、状態遷移表から、前状態SAの状態IDと、取得したパケットに含まれるキーIDに対応する後状態SBを特定する。そして、CPU11は、現在状態を状態SAから状態SBに遷移させる(ステップS85)。次いで、CPU11は、状態SAと状態SBとが一致するか否かを判定する(ステップS86)。このとき、CPU11は、状態SAと状態SBとが一致すると判定した場合には(ステップS86:YES)、ステップS87に進む。一方、CPU11は、状態SAと状態SBとが一致しないと判定した場合には(ステップS86:NO)、ステップS88に進む。   FIG. 7 is a flowchart illustrating an example of state machine processing in the application server 1. When the server program is activated, the CPU 11 of the server program 1 executes state machine processing. First, the CPU 11 determines whether or not the server program ends (step S81). At this time, if the CPU 11 determines that the server program does not end (step S81: NO), the CPU 11 proceeds to step S82. In step S82, the CPU 11 obtains the key ID input from the operation order sorting process. When the key ID is not input from the operation order sorting process, the CPU 11 acquires the key ID “no operation”. Next, the CPU 11 acquires the current state ID as the state ID of the previous state SA (step S83). Next, the CPU 11 acquires the importance table TA corresponding to the state ID of the state SA from the importance table DB 6 (step S84). Next, the CPU 11 specifies the state ID of the previous state SA and the subsequent state SB corresponding to the key ID included in the acquired packet from the state transition table. Then, the CPU 11 changes the current state from the state SA to the state SB (step S85). Next, the CPU 11 determines whether or not the state SA and the state SB match (step S86). At this time, if the CPU 11 determines that the state SA and the state SB match (step S86: YES), the CPU 11 proceeds to step S87. On the other hand, if the CPU 11 determines that the state SA and the state SB do not match (step S86: NO), the CPU 11 proceeds to step S88.

ステップS87において、CPU11は、状態遷移表から、前状態SAと後状態SBとに対応する動画IDを取得する。そして、CPU11は、動画IDに対応する動画をストリーミングでレンダラ3へ送信する(ステップS87)。このとき、CPU11は、必要な場合には、ユーザ操作に応じた処理を実行する。例えば、お絵描き画面においてユーザがカーソルを移動したり線を引いたりすると、CPU11は、カーソルが移動し又は線が引かれる様子が表示されるように、レンダラ3へ送信される動画に画像を追加する。また、CPU11は、ユーザが描いている絵のデータを記憶部14に記憶させる。ステップS87を終えると、CPU11はステップS81に進む。   In step S87, the CPU 11 acquires the moving image IDs corresponding to the previous state SA and the subsequent state SB from the state transition table. Then, the CPU 11 transmits the moving image corresponding to the moving image ID to the renderer 3 by streaming (step S87). At this time, the CPU 11 executes processing according to the user operation, if necessary. For example, when the user moves the cursor or draws a line on the drawing screen, the CPU 11 adds an image to the moving image transmitted to the renderer 3 so that the cursor is moved or the line is drawn. To do. Further, the CPU 11 stores data of a picture drawn by the user in the storage unit 14. When step S87 is completed, the CPU 11 proceeds to step S81.

ステップS88において、CPU11は、状態SBに対応する重要度表TBを、重要度表DB6から取得する。次いで、CPU11は、重要度表TAの内容と重要度表TBの内容とが完全に一致するか否かを判定する(ステップS89)。このとき、CPU11は、重要度表TAの内容と重要度表TBの内容とが完全に一致すると判定した場合には(ステップS89:YES)、ステップS91に進む。一方、CPU11は、少なくとも一部において重要度表TAの内容と重要度表TBの内容とが異なると判定した場合には(ステップS89:NO)、ステップS90に進む。   In step S88, the CPU 11 acquires the importance table TB corresponding to the state SB from the importance table DB6. Next, the CPU 11 determines whether or not the contents of the importance table TA and the contents of the importance table TB completely match (step S89). At this time, if the CPU 11 determines that the contents of the importance table TA and the contents of the importance table TB are completely matched (step S89: YES), the CPU 11 proceeds to step S91. On the other hand, if the CPU 11 determines that the contents of the importance table TA and the contents of the importance table TB are at least partially different (step S89: NO), the CPU 11 proceeds to step S90.

ステップS90において、CPU11は、重要度表TBをコントローラ2へ送信して、ステップS91に進む。ステップS91において、CPU11は、状態遷移表から、前状態SAと後状態SBとに対応する動画IDを取得する。そして、CPU11は、動画IDに対応する動画をストリーミングでレンダラ3へ送信する(ステップS92)。次いで、CPU11は、ステップS81に進む。ステップS81において、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS81:YES)、ステートマシン処理を終了させる。   In step S90, the CPU 11 transmits the importance table TB to the controller 2 and proceeds to step S91. In step S91, the CPU 11 acquires the moving image IDs corresponding to the previous state SA and the subsequent state SB from the state transition table. Then, the CPU 11 transmits the moving image corresponding to the moving image ID to the renderer 3 by streaming (step S92). Next, the CPU 11 proceeds to step S81. In step S81, if the CPU 11 determines that the server program ends (step S81: YES), the CPU 11 ends the state machine process.

以上説明したように、上記実施形態によれば、アプリケーションサーバ1は、レンダラ3により表示される画面が複数の画面のうち何れかの画面に切り替えられる場合、重要度表DB6に記憶された複数の重要度表のうち、切り替え後の画面に対応する重要度表をコントローラ2へ送信する。また、アプリケーションサーバ1は、送信される重要度表に対応する画面を示す動画をレンダラ3へ送信する。また、アプリケーションサーバ1が、コントローラ2に入力されたユーザ操作を示すキーIDを、予め定められた複数のプロトコルのうちコントローラ2により決定されたプロトコルでコントローラ2から受信する。このとき、アプリケーションサーバ1は、送信された重要度表に含まれる重要度のうち、キーIDに対応する重要度が示すプロトコルを用いてキーIDを受信する。また、アプリケーションサーバ1が、受信されたキーIDが示すユーザ操作に応じた処理を実行する。   As described above, according to the above-described embodiment, when the screen displayed by the renderer 3 is switched to any one of the plurality of screens, the application server 1 stores a plurality of items stored in the importance table DB 6. Among the importance tables, the importance table corresponding to the screen after switching is transmitted to the controller 2. In addition, the application server 1 transmits a moving image indicating a screen corresponding to the transmitted importance table to the renderer 3. Further, the application server 1 receives the key ID indicating the user operation input to the controller 2 from the controller 2 using a protocol determined by the controller 2 among a plurality of predetermined protocols. At this time, the application server 1 receives the key ID using the protocol indicated by the importance corresponding to the key ID among the importance included in the transmitted importance table. In addition, the application server 1 executes a process according to the user operation indicated by the received key ID.

1 アプリケーションサーバ
2 コントローラ
3 レンダラ
4 一体型クライアント
5 アプリケーションDB
6 重要度表DB
10 ネットワーク
11、21、71 CPU
12、22、72 ROM
13、23、73 RAM
14、24、74 記憶部
15、25、75 通信部
26 入力部
27 表示部
S 通信システム
1 Application Server 2 Controller 3 Renderer 4 Integrated Client 5 Application DB
6 Importance table DB
10 Network 11, 21, 71 CPU
12, 22, 72 ROM
13, 23, 73 RAM
14, 24, 74 Storage unit 15, 25, 75 Communication unit 26 Input unit 27 Display unit S Communication system

Claims (12)

ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムにおいて、
前記サーバ装置は、
予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、
前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、
前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、
前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、
前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、
を備え、
前記クライアント装置は、
前記サーバ装置から前記操作リストを受信する操作リスト受信手段と、
前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、
前記サーバ装置から送信された前記画面情報を受信する画面情報受信手段と、
前記画面情報受信手段により受信された前記画面情報が示す画面を表示する表示手段と、
ユーザ操作が入力される入力手段と、
前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、
前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、
を備えることを特徴とする通信システム。
In a communication system comprising: a client device to which a user operation is input; and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation.
The server device
First storage means for storing a plurality of operation lists corresponding to a plurality of predetermined screens, operation information indicating user operations for each of a plurality of user operations corresponding to the corresponding screens, and predetermined A first storage means for storing an operation list including protocol information indicating a protocol corresponding to the user operation among the plurality of received protocols;
When the screen displayed by the client device is switched to any one of the plurality of screens, the operation list corresponding to the screen after switching among the plurality of operation lists stored in the first storage unit Operation list transmission means for transmitting to the client device;
Screen information transmitting means for transmitting screen information indicating a screen corresponding to the operation list transmitted by the operation list transmitting means;
Operation information receiving means for receiving operation information indicating a user operation input to the client apparatus from the client apparatus according to a protocol determined by the client apparatus, the operation list transmitted by the operation list transmitting means Operation information receiving means for receiving the operation information using a protocol indicated by protocol information corresponding to the operation information among the protocol information included in
Processing means for executing processing according to a user operation indicated by the operation information received by the operation information receiving means;
With
The client device is
Operation list receiving means for receiving the operation list from the server device;
Second storage means for storing the operation list received by the operation list receiving means;
Screen information receiving means for receiving the screen information transmitted from the server device;
Display means for displaying a screen indicated by the screen information received by the screen information receiving means;
An input means for inputting a user operation;
Obtaining means for obtaining protocol information corresponding to operation information indicating the user operation input using the input means from the operation list stored in the second storage means;
Operation information transmission means for transmitting operation information indicating the input user operation to the server device using a protocol indicated by the protocol information acquired by the acquisition means among the plurality of protocols;
A communication system comprising:
前記クライアント装置は、
前記操作リスト受信手段、前記第2記憶手段、前記入力手段、前記取得手段、前記操作情報送信手段を備える第1クライアント装置と、
前記画面情報受信手段及び前記表示手段を備える第2クライアント装置と、
を含むことを特徴とする請求項1に記載の通信システム。
The client device is
A first client device comprising the operation list receiving means, the second storage means, the input means, the acquisition means, and the operation information transmission means;
A second client device comprising the screen information receiving means and the display means;
The communication system according to claim 1, comprising:
前記クライアント装置はシンクライアントであることを特徴とする請求項2に記載の通信システム。   The communication system according to claim 2, wherein the client device is a thin client. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置において、
予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、
前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、
前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、
前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、
前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、
を備えることを特徴とするサーバ装置。
The server device included in a communication system comprising: a client device to which a user operation is input; and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation In
First storage means for storing a plurality of operation lists corresponding to a plurality of predetermined screens, operation information indicating user operations for each of a plurality of user operations corresponding to the corresponding screens, and predetermined A first storage means for storing an operation list including protocol information indicating a protocol corresponding to the user operation among the plurality of received protocols;
When the screen displayed by the client device is switched to any one of the plurality of screens, the operation list corresponding to the screen after switching among the plurality of operation lists stored in the first storage unit Operation list transmission means for transmitting to the client device;
Screen information transmitting means for transmitting screen information indicating a screen corresponding to the operation list transmitted by the operation list transmitting means;
Operation information receiving means for receiving operation information indicating a user operation input to the client apparatus from the client apparatus according to a protocol determined by the client apparatus, the operation list transmitted by the operation list transmitting means Operation information receiving means for receiving the operation information using a protocol indicated by protocol information corresponding to the operation information among the protocol information included in
Processing means for executing processing according to a user operation indicated by the operation information received by the operation information receiving means;
A server device comprising:
前記複数のプロトコルは、前記サーバ装置が前記クライアント装置から前記操作情報を受信した場合に前記サーバ装置から前記クライアント装置へ確認応答が送信される第1プロトコルと、前記確認応答が送信されない第2プロトコルとを少なくとも含むことを特徴とする請求項4に記載のサーバ装置。   The plurality of protocols include a first protocol in which an acknowledgment is transmitted from the server device to the client device when the server device receives the operation information from the client device, and a second protocol in which the acknowledgment is not transmitted. The server apparatus according to claim 4, wherein: 前記操作情報受信手段は、前記クライアント装置により送信される操作情報のうち前記第1プロトコルを用いて送信される第1操作情報が送信されるごとに更新される番号が付加された前記操作情報を受信し、
前記クライアント装置から送信された操作情報のうち前記第2プロトコルを用いて送信された第2操作情報が前記操作情報受信手段により受信された場合、前記第2操作情報に付加された番号と一致する番号が付加された前記第1操作情報が前記操作情報受信手段により受信されているかを判定する判定手段を更に備え、
前記処理手段は、前記判定手段により前記第1操作情報が受信されていないと判定された場合、前記操作情報受信手段により前記第1操作情報が受信されることに応じて前記第1操作情報が示すユーザ操作に応じた処理を実行した後、前記第2操作情報が示すユーザ操作に応じた処理を実行することを特徴とする請求項5に記載のサーバ装置。
The operation information receiving means includes the operation information to which the number updated every time the first operation information transmitted using the first protocol is transmitted among the operation information transmitted by the client device. Receive
Of the operation information transmitted from the client device, when the second operation information transmitted using the second protocol is received by the operation information receiving means, it matches the number added to the second operation information. A determination unit for determining whether the first operation information to which the number is added is received by the operation information reception unit;
When the determination unit determines that the first operation information has not been received, the processing unit receives the first operation information in response to the reception of the first operation information by the operation information reception unit. The server apparatus according to claim 5, wherein a process corresponding to a user operation indicated by the second operation information is executed after executing a process corresponding to the indicated user operation.
前記第1プロトコルは、TCPであり、
前記第2プロトコルは、UDPであることを特徴とする請求項5又は6に記載のサーバ装置。
The first protocol is TCP;
The server device according to claim 5, wherein the second protocol is UDP.
前記複数のプロトコルは、前記クライアント装置により暗号化された前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第3プロトコルと、暗号化されない前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第4プロトコルとを少なくとも含むことを特徴とする請求項1乃至7の何れか1項に記載のサーバ装置。   The plurality of protocols include a third protocol in which the operation information encrypted by the client device is transmitted from the client device to the server device, and the operation information not encrypted is transmitted from the client device to the server device. The server apparatus according to claim 1, further comprising at least a fourth protocol to be executed. 前記第3プロトコルはSSLであることを特徴とする請求項8に記載のサーバ装置。   The server apparatus according to claim 8, wherein the third protocol is SSL. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置に含まれるコンピュータに、
前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信ステップと、
前記操作リスト送信ステップにより送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信ステップと、
前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信ステップであって、前記操作リスト送信ステップにより送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信ステップと、
前記操作情報受信ステップにより受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理ステップと、
を実行させることを特徴とするプログラム。
The server device included in a communication system comprising: a client device to which a user operation is input; and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation On computers included in
A first storage means for storing a plurality of operation lists corresponding to the plurality of screens when the screen displayed by the client device is switched to any one of a plurality of predetermined screens; For each of a plurality of user operations corresponding to the corresponding screen, an operation list including operation information indicating a user operation and protocol information indicating a protocol corresponding to the user operation among a plurality of predetermined protocols is stored. An operation list transmission step of transmitting an operation list corresponding to the screen after switching among the plurality of operation lists stored in the first storage means to the client device;
A screen information transmission step of transmitting screen information indicating a screen corresponding to the operation list transmitted by the operation list transmission step;
The operation list received by the operation list transmission step, which is an operation information reception step for receiving operation information indicating a user operation input to the client device from the client device with a protocol determined by the client device. An operation information receiving step for receiving the operation information using a protocol indicated by protocol information corresponding to the operation information among the protocol information included in
A processing step of executing processing according to a user operation indicated by the operation information received by the operation information receiving step;
A program characterized by having executed.
ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置において、
前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信手段と、
前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、
ユーザ操作が入力される入力手段と、
前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、
前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、
を備えることを特徴とするクライアント装置。
The client device included in a communication system comprising: a client device to which a user operation is input; and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation In
When a screen displayed by the client device is switched to any one of a plurality of predetermined screens, a first storage unit that stores a plurality of operation lists corresponding to the plurality of predetermined screens. An operation including operation information indicating a user operation and protocol information indicating a protocol corresponding to the user operation among a plurality of predetermined protocols for each of a plurality of user operations corresponding to the corresponding screen. Of the plurality of operation lists stored in the first storage means for storing the list, an operation list receiving means for receiving an operation list corresponding to the screen after switching from the server device;
Second storage means for storing the operation list received by the operation list receiving means;
An input means for inputting a user operation;
Obtaining means for obtaining protocol information corresponding to operation information indicating the user operation input using the input means from the operation list stored in the second storage means;
Operation information transmission means for transmitting operation information indicating the input user operation to the server device using a protocol indicated by the protocol information acquired by the acquisition means among the plurality of protocols;
A client device comprising:
ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置に含まれるコンピュータに、
前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信ステップと、
前記操作リスト受信ステップにより受信された前記操作リストを第2記憶手段に記憶させる第2記憶ステップと、
前記第2記憶手段に記憶された前記操作リストから、入力手段を用いて入力されたユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得ステップと、
前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得ステップにより取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信ステップと、
を実行させることを特徴とするプログラム。
The client device included in a communication system comprising: a client device to which a user operation is input; and a server device to which the client device can be connected via a network, and a server device that executes processing according to the user operation On computers included in
A first storage means for storing a plurality of operation lists corresponding to the plurality of screens when the screen displayed by the client device is switched to any one of a plurality of predetermined screens; For each of a plurality of user operations corresponding to the corresponding screen, an operation list including operation information indicating a user operation and protocol information indicating a protocol corresponding to the user operation among a plurality of predetermined protocols is stored. An operation list receiving step of receiving, from the server device, an operation list corresponding to the screen after switching among the plurality of operation lists stored in the first storage means.
A second storage step of storing the operation list received in the operation list reception step in a second storage means;
An acquisition step of acquiring protocol information corresponding to operation information indicating a user operation input using the input unit, from the operation list stored in the second storage unit;
An operation information transmission step of transmitting operation information indicating the input user operation to the server device using a protocol indicated by the protocol information acquired by the acquisition step among the plurality of protocols,
A program characterized by having executed.
JP2015233661A 2015-11-30 2015-11-30 COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM Active JP6344370B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015233661A JP6344370B2 (en) 2015-11-30 2015-11-30 COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015233661A JP6344370B2 (en) 2015-11-30 2015-11-30 COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2017102575A JP2017102575A (en) 2017-06-08
JP6344370B2 true JP6344370B2 (en) 2018-06-20

Family

ID=59016897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015233661A Active JP6344370B2 (en) 2015-11-30 2015-11-30 COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6344370B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04661A (en) * 1990-04-18 1992-01-06 Mitsubishi Electric Corp Menu system
JPH09244978A (en) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> Information providing system and server for navigation therefor
JP4363204B2 (en) * 2004-02-04 2009-11-11 ヤマハ株式会社 Communication terminal
JP4222561B2 (en) * 2004-06-04 2009-02-12 株式会社リコー Data communication system, electronic conference system, data communication method, data communication program, and storage medium

Also Published As

Publication number Publication date
JP2017102575A (en) 2017-06-08

Similar Documents

Publication Publication Date Title
KR102122483B1 (en) Method for sharing media data and an electronic device thereof
JP5419654B2 (en) Information processing apparatus and information processing system
US20230315278A1 (en) Device group management via information processing apparatus, method, and program
JP6002967B2 (en) Information processing system, information processing apparatus, and information processing method
KR101832394B1 (en) Terminal apparatus, server and contol method thereof
KR101333879B1 (en) Mobile terminal and control method using the same
CN106027631B (en) Data transmission method and device
CN112612436A (en) Screen projection switching method, device, equipment and storage medium
US20150019978A1 (en) Information processing apparatus, information processing method, and program
JP2013228945A (en) Pasteboard management program and pasteboard management device
US11405434B2 (en) Data sharing method providing reception status of shared data among receiving terminals, and communication system and recording medium therefor
US20110119406A1 (en) Method for providing contents to external apparatus
JP6724423B2 (en) Communication terminal, communication system, output method, and program
JP2010056966A (en) Server for transmitting image content, image display device, method of transmitting image content, and method of displaying image
JP6344370B2 (en) COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM
TW201701632A (en) Information processing device, information processing system, and control method
US11656834B2 (en) Information processing device, non-transitory recording medium, and information processing system
US20170093969A1 (en) Information processing device, information processing system, information processing method and program
JP5835018B2 (en) Conference system and contact method
JP6448439B2 (en) Electronic device and control method thereof
JP6703259B2 (en) Information processing system, conference server, control method thereof, and program
JP6274140B2 (en) COMMUNICATION SYSTEM, TERMINAL DEVICE, PROGRAM, SERVER DEVICE, AND INFORMATION PROCESSING METHOD
JP6310624B1 (en) Computer system, setting method and program
US20190222541A1 (en) Information processing apparatus, information processing system, and information processing method
CN115883897A (en) Display device, startup navigation configuration method and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R150 Certificate of patent or registration of utility model

Ref document number: 6344370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150