JP6344370B2 - 通信システム、サーバ装置、クライアント装置、及びプログラム - Google Patents

通信システム、サーバ装置、クライアント装置、及びプログラム 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
English (en)
Other versions
JP2017102575A (ja
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/ja
Publication of JP2017102575A publication Critical patent/JP2017102575A/ja
Application granted granted Critical
Publication of JP6344370B2 publication Critical patent/JP6344370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、クライアント装置に入力されたユーザ操作をクライアント装置がネットワークを介してサーバ装置へ通知し、サーバ装置がユーザ操作に応じた処理を実行する通信システムの技術分野に関する。
従来、例えばシンクライアント等のクライアント装置に入力されたユーザ操作に応じた処理をサーバ装置が実行するシステムが知られている。クライアント装置は、入力されたユーザ操作を所定のプロトコルを用いてサーバへ通知する。サーバ装置は、通知されたユーザ操作に応じた処理の実行結果等に基づいて、画面を示す情報をクライアント装置へ送信する。クライアント装置は、サーバ装置から受信した情報に基づいて、画面をディスプレイに表示する。例えば、特許文献1には、クライアントはサーバにTCPを利用して接続し、遠隔操作が行われた場合、クライアントはUDPを利用して入力イベントをサーバへ送信することが開示されている(段落[0058])。
特開2015−49641号公報
しかしながら、同一画面において様々なユーザ操作が可能であることが一般的である。その場合に、クライアント装置が、全てのユーザ操作に対して単一のプロトコルのみを用いてユーザ操作を通知することは妥当ではない場合がある。例えば、特許文献1に開示された技術のようにユーザ操作をUDPで通知する場合、サーバ装置がユーザ操作を受理したか否かをクライアント装置が認識することができない。一方、ユーザ操作をTCPで通知する場合、サーバ装置はユーザ操作を受理したときにクライアント装置へ確認応答を送信する。クライアント装置は確認応答を受信することで、サーバ装置がユーザ操作を受理したことを認識する。しかしながら、クライアント装置は確認応答を受信してから次のユーザ操作を通知するパケットを送信することとなる。そのため、ユーザ操作に対する応答時間が長くなる。UDPの場合は確認応答の送受信が行われないため、TCPの場合よりも応答時間は短くなる。
本発明は、以上の点に鑑みてなされたものであり、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、クライアント装置がサーバ装置へユーザ操作を通知することを可能とする通信システム、サーバ装置、クライアント装置、及びプログラムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、 ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムにおいて、前記サーバ装置は、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、を備え、前記クライアント装置は、前記サーバ装置から前記操作リストを受信する操作リスト受信手段と、前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、前記サーバ装置から送信された前記画面情報を受信する画面情報受信手段と、前記画面情報受信手段により受信された前記画面情報が示す画面を表示する表示手段と、ユーザ操作が入力される入力手段と、前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、を備えることを特徴とする。
請求項2に記載の発明は、前記クライアント装置は、前記操作リスト受信手段、前記第2記憶手段、前記入力手段、前記取得手段、前記操作情報送信手段を備える第1クライアント装置と、前記画面情報受信手段及び前記表示手段を備える第2クライアント装置と、を含むことを特徴とする。
請求項3に記載の発明は、前記クライアント装置はシンクライアントであることを特徴とする。
請求項4に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置において、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、を備えることを特徴とする。
請求項5に記載の発明は、前記複数のプロトコルは、前記サーバ装置が前記クライアント装置から前記操作情報を受信した場合に前記サーバ装置から前記クライアント装置へ確認応答が送信される第1プロトコルと、前記確認応答が送信されない第2プロトコルとを少なくとも含むことを特徴とする。
請求項6に記載の発明は、前記操作情報受信手段は、前記クライアント装置により送信される操作情報のうち前記第1プロトコルを用いて送信される第1操作情報が送信されるごとに更新される番号が付加された前記操作情報を受信し、前記クライアント装置から送信された操作情報のうち前記第2プロトコルを用いて送信された第2操作情報が前記操作情報受信手段により受信された場合、前記第2操作情報に付加された番号と一致する番号が付加された前記第1操作情報が前記操作情報受信手段により受信されているかを判定する判定手段を更に備え、前記処理手段は、前記判定手段により前記第1操作情報が受信されていないと判定された場合、前記操作情報受信手段により前記第1操作情報が受信されることに応じて前記第1操作情報が示すユーザ操作に応じた処理を実行した後、前記第2操作情報が示すユーザ操作に応じた処理を実行することを特徴とする。
請求項7に記載の発明は、前記第1プロトコルは、TCPであり、前記第2プロトコルは、UDPであることを特徴とする。
請求項8に記載の発明は、前記複数のプロトコルは、前記クライアント装置により暗号化された前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第3プロトコルと、暗号化されない前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第4プロトコルとを少なくとも含むことを特徴とする。
請求項9に記載の発明は、前記第3プロトコルはSSLであることを特徴とする。
請求項10に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置に含まれるコンピュータに、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信ステップと、前記操作リスト送信ステップにより送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信ステップと、前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信ステップであって、前記操作リスト送信ステップにより送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信ステップと、前記操作情報受信ステップにより受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理ステップと、を実行させることを特徴とする。
請求項11に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置において、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信手段と、前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、ユーザ操作が入力される入力手段と、前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、を備えることを特徴とする。
請求項12に記載の発明は、ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置に含まれるコンピュータに、前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信ステップと、前記操作リスト受信ステップにより受信された前記操作リストを第2記憶手段に記憶させる第2記憶ステップと、前記第2記憶手段に記憶された前記操作リストから、入力手段を用いて入力されたユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得ステップと、前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得ステップにより取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信ステップと、を実行させることを特徴とする。
請求項1、3、4、10乃至12のそれぞれに記載の発明によれば、1つの画面に対応する複数のユーザ操作のそれぞれごとにプロトコルを定義する操作リストが、複数の画面について第1記憶手段に記憶される。クライアント装置に表示される画面が切り替えられる場合、サーバ装置は、切り替え後の画面に対応する操作リストをクライアント装置へ送信する。クライアント装置は、サーバ装置から受信された操作リストに基づいて、複数のプロトコルのうち入力されたユーザ操作に対応するプロトコルを用いて、操作情報を送信する。従って、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、クライアント装置がサーバ装置へユーザ操作を通知することができる。
請求項2に記載の発明によれば、ユーザ操作に応じて操作情報を送信する処理と、画面を表示する処理が別々のクライアント装置により実行される。従って、ユーザインターフェースに関する処理負荷を2つのクライアント装置に分散することができる。
請求項5に記載の発明によれば、クライアント装置は、サーバ装置が確実に受理したか否かを確認可能な第1プロトコルと、第1プロトコルよりも応答時間が短い第2プロトコルとを、通知するユーザ操作に応じて使い分けることができる。
請求項6及び7のそれぞれに記載の発明によれば、クライアント装置は、番号を付加した操作情報をサーバ装置へ送信する。クライアント装置は、第1プロトコルを用いて操作情報を送信するごとに、付加される番号を更新する。クライアント装置は、第2プロトコルを用いて操作情報を送信する場合、付加される番号を更新しない。サーバ装置は、第2プロトコルを用いて操作情報を受信したものの、この操作情報に付加された番号と一致する番号が付加された操作情報を、第1プロトコルを用いてまだ受信していない場合、第2プロトコルを用いて受信した操作情報が示すユーザ操作に応じた処理の実行を保留する。サーバ装置は、同じ番号が付加された操作情報を、第1プロトコルを用いて受信したとき、この操作情報が示すユーザ操作に応じた処理を先に実行し、保留しておいた処理をその後に実行する。そのため、第1プロトコルを用いて通知されるユーザ操作に応じた処理と、第2プロトコルを用いて通知されたユーザ操作に応じた処理との間で、処理の順序を、ユーザ操作が行われた順序に一致させることができる。
請求項8及び9のそれぞれに記載の発明によれば、クライアント装置は、秘匿する必要があるユーザ操作を暗号化してサーバ装置へ通知することができる。また、クライアント装置は、秘匿しなくてもよいユーザ操作を暗号化せずに通知することで、暗号化するよりも応答時間を短くすることができる。
(A)は、一実施形態の通信システムSの概要構成例を示す図である。(B)は、一実施形態のアプリケーションサーバ1の概要構成例を示す図である。(C)は、本実施形態のコントローラ2の概要構成例を示す図である。 (A)は、重要度表DB6の構成例を示す図である。(B)は、状態遷移表の構成例を示す図である。 通信システムSの動作例を示すシーケンス図である。 (A)は、コントローラ2におけるコントローラ受信処理の一例を示すフローチャートである。(B)は、コントローラ2におけるユーザ操作処理の一例を示すフローチャートである。 (A)は、アプリケーションサーバ1におけるTCP受信処理の一例を示すフローチャートである。(B)は、アプリケーションサーバ1におけるUDP受信処理の一例を示すフローチャートである。 アプリケーションサーバ1における操作順序ソート処理の一例を示すフローチャートである。 アプリケーションサーバ1におけるステートマシン処理の一例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
[1.通信システムの構成]
図1(A)は、本実施形態の通信システムSの概要構成例を示す図である。図1(A)に示すように、通信システムSは、アプリケーションサーバ1、複数のコントローラ2、及び複数のレンダラ3を含んで構成される。アプリケーションサーバ1は、本発明のサーバ装置の一例である。コントローラ2は、本発明の第1クライアント装置の一例である。レンダラ3は、本発明の第2クライアント装置の一例である。アプリケーションサーバ1、コントローラ2、及びレンダラ3は、それぞれネットワーク10に接続される。ネットワーク10は、例えば、インターネット等により構成される。
コントローラ2及びレンダラ3はシンクライアントであってもよい。コントローラ2及びレンダラ3は、基本的にはユーザインターフェースに関する処理のみを実行する。アプリケーションサーバ1は、その他の大部分の処理を実行する。コントローラ2は、ユーザの操作に関する処理を実行する。レンダラ3は、アプリケーションサーバ1による処理結果を示す動画を表示する。コントローラ2及びレンダラ3がユーザインターフェースに関する処理を分担することで、処理負荷を分散することができる。
アプリケーションサーバ1は、コントローラ2からの要求に応じてアプリケーションプログラムを実行する。アプリケーションプログラムの例として、メニュー、お絵描き、カラオケ、ゲーム、情報検索、オンラインショッピング等のアプリケーションプログラムが挙げられる。アプリケーションサーバ1は、コントローラ2から通知されるユーザ操作に応じた処理を、アプリケーションプログラムに従って実行する。また、アプリケーションサーバ1は、実行するアプリケーションプログラムに対応する画面をレンダラ3に表示させる。具体的に、アプリケーションサーバ1は、アプリケーションプログラムの実行に応じた動画及び音声のうち少なくとも動画を、UDPを用いたストリーミングでレンダラ3へ送信する。1つのアプリケーションプログラムに対応する画面は1つであってもよいし複数あってもよい。例えば、メニューのアプリケーションプログラムは、複数のアプリケーションプログラムの中から実行させるアプリケーションプログラムをユーザが選択するためのプログラムである。メニューのアプリケーションプログラムが起動すると、選択可能なアプリケーションプログラムの名称がメニュー項目として選択可能に表示される。例えばメニュー項目として、情報検索、カラオケ、オンラインショッピング、ゲーム、お絵描きがあるとする。この場合、メニューのアプリケーションプログラムに対応する画面として、情報検索の項目の上にカーソルが表示されている画面、カラオケの項目の上にカーソルが表示されている画面、オンラインショッピングの項目の上にカーソルが表示されている画面、ゲームの項目の上にカーソルが表示されている画面、お絵描きの項目にカーソルが表示されている画面がある。アプリケーションサーバ1は、コントローラ2から通知されるユーザ操作によって、レンダラ3に表示される画面を切り替える場合がある。
アプリケーションサーバ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へ送信する。重要度表の詳細は後述する。
コントローラ2は、ユーザによる操作を受け付ける。コントローラ2は、受け付けたユーザ操作を、ネットワーク10を介してアプリケーションサーバ1へ通知する。具体的に、コントローラ2は、ユーザ操作を識別するキーIDを含むユーザ操作をアプリケーションサーバ1へ送信する。このとき、コントローラ2は、アプリケーションサーバ1から受信しておいた重要度表を参照して、ユーザ操作に対応する重要度を取得する。コントローラ2は、取得した重要度が示すプロトコルを用いてユーザ操作を送信する。従って、アプリケーションサーバ1は、コントローラ2が用いたプロトコルと同じプロトコルを用いてユーザ操作を受信する。重要度表により、ユーザ操作に応じた適切なプロトコルでそのユーザ操作がアプリケーションサーバ1に通知される。コントローラ2の例として、ネットワーク10に接続可能なリモートコントローラ、スマートフォン、携帯電話機、携帯用ゲーム機等が挙げられる。
レンダラ3は、アプリケーションサーバ1から、アプリケーションプログラムの実行結果を示す動画及び音声のうち少なくとも動画を受信する。実行結果を示す動画を受信した場合、レンダラ3は、受信した動画をディスプレイに表示させる。実行結果を示す音声を受信した場合、レンダラ3は、受信した音声をスピーカにより出力させる。レンダラ3の例として、スマートテレビ等のテレビ受像機、パーソナルコンピュータ、カラオケ装置等が挙げられる。
ユーザは、コントローラ2とレンダラ3との組み合わせにより、アプリケーションプログラムを利用する。すなわち、ユーザは、コントローラ2を操作することにより、アプリケーションサーバ1によりアプリケーションプログラムを実行させ、レンダラ3を利用して、アプリケーションプログラムの実行結果を確認する。
なお、通信システムSは、コントローラ2とレンダラ3との機能を兼ね備える一体型クライアント4を含んでもよいし、含まなくてもよい。一体型クライアント4の例として、テレビ受像機、パーソナルコンピュータ等が挙げられる。
[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に読み込まれてもよい。
[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に予めインストールされていてもよい。
[4.重要度表、状態遷移表]
図2(A)は、重要度表DB6の構成例を示す図である。重要度表には、ユーザ操作に対応する重要度が定義される。重要度表DB6には、レンダラ3が表示可能な画面ごとに重要度表が登録されている。ユーザ操作に応じてレンダラ3により表示される画面が別の画面に切り替わる場合がある。本実施形態においては、ユーザ操作に対するアプリケーションサーバ1の振る舞いのモデルとしてステートマシンが定義される。そして、ステートマシンにおける状態の遷移により画面が切り替わると定義されている。従って状態と画面は1対1で対応するので、重要度表は状態ごとに登録される。1つのアプリケーションプログラムについて、1つの状態のみ(すなわち1つの画面のみ)が存在してもよいし、複数の状態(すなわち複数の画面)が存在してもよい。重要度表は、例えば通信システムSの管理者により作成される。
図2(A)に示すように、重要度表DB6に登録される各重要度表は状態IDを含む。状態IDは、ステートマシンにおける状態を識別する識別情報であるとともに、その状態に対応する画面を識別する識別情報である。
各重要度表は更に複数のキーIDを含む。キーIDは、本発明のユーザ操作情報の一例である。キーIDは、対応する状態IDが示す画面でユーザが可能なユーザ操作を識別する識別情報である。重要度表に載っていないキーIDが示すユーザ操作は無効となる。基本的に1つの画面で複数種類のユーザ操作が可能である。本実施形態において、キーIDはユーザに押されるキーを示す。このキーは、例えばコントローラ2が備えるキーであってもよい。また例えばこのキーは、コントローラ2の表示部27に表示されるキーであってもよい。ユーザは例えばタッチパネル、マウス又はキーボード等を操作することにより、表示部27に表示されているキーを押すことができる。
更に各重要度表は、キーIDごとに、重要度を含む。重要度は、対応するキーIDを含むパケットをコントローラ2がアプリケーションサーバ1へ送信するために用いられるプロトコルを示す。プロトコルは、例えばトランスポート層のプロトコル、アプリケーション層のプロトコル等であってもよい。パケットの送信に使用可能な複数のプロトコルが通信システム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:ユーザデータグラムプロトコル)であってもよい。
例えば複数のプロトコルは、コントローラ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等であってもよい。
図2(A)に示す重要度表の例においては、重要度として「0」又は「1」が設定される。例えば重要度「0」はUDPを示し、重要度「1」はTCPを示す。なお、3種類以上のプロトコルが設定可能であってもよい。例えば、重要度「0」はUDPを示し、重要度「1」はTCPを示し、重要度「2」はSSLを示してもよい。
上述したような重要度表により、複数のプロトコルの中から、同一画面において可能な複数のユーザ操作のそれぞれに適したプロトコルを用いて、コントローラ2がアプリケーションサーバ1へユーザ操作を通知することができる。
図2(B)は、状態遷移表の構成例を示す図である。状態遷移表は、ステートマシンにおいて、状態遷移が起こる条件となるユーザ操作を、遷移前の状態と遷移後の状態との組み合わせごとに定義する。
図2(B)に示すように、状態遷移表の第1列の各セルには前状態IDが設定されている。前状態IDは、遷移前の状態、すなわち現在状態を示す状態IDである。状態遷移表の第1行の各セルには後状態IDが設定されている。後状態IDは、遷移後の状態を示す状態IDである。これらのセルを除いた他のセルのうち一部のセルには、キーID及び動画IDが設定される。注目するセルに設定されているキーIDは、注目するセルの行に対応する前状態IDが示す状態から、注目するセルの列に対応する後状態IDが示す状態へ遷移するための条件に相当するユーザ操作を示す。図2(B)の例において、キーID「操作なし」は、何らの操作も行われなかった場合を示す。注目するセルに設定されている動画IDは、注目するセルの行に対応する前状態IDが示す状態から、注目するセルの列に対応する後状態IDが示す状態へ遷移するときにレンダラ3に表示される動画を示す。本実施形態においては、動画データに基づいて動画がレンダラ3に表示される。そのため、実際には全く動かない映像も動画と称している。しかしながら、動画IDが示す映像が全く動かない場合、その映像は静止画であってもよい。
例えば、図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へは直接遷移しない。
[5.第1プロトコル、第2プロトコルを用いた場合の通信方法]
次に、第1プロトコルと第2プロトコルを用いた場合におけるアプリケーションサーバ1とコントローラ2との間の通信方法の一例について説明する。第1プロトコルの例としてTCPを用い、第2プロトコルの例としてUDPを用いる。また重要度表において、UDPの重要度を「0」とし、TCPの重要度を「1」とする。
ユーザ操作を通知するとき、コントローラ2は、そのユーザ操作を示すキーIDを含むパケットをアプリケーションサーバ1へ送信する。このとき、コントローラ2は、送信されるキーIDに、全体シーケンス番号及びTCPシーケンス番号を付加してもよい。
全体シーケンス番号は、TCP及びUDPの何れを用いるかにかかわらずコントローラ2がキーIDを送信するたびに更新される番号である。例えば、全体シーケンス番号は1ずつ増加してもよい。全体シーケンス番号は、ユーザ操作がコントローラ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」に対応するユーザ操作との間の処理の順序を保つことができない。
そこで、アプリケーションサーバ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」に対応するユーザ操作間の処理の順序は保たれなくてもよい。
重要度「1」に対応するユーザ操作が行われた場合、ステートマシンにおける状態が変化し、重要度「0」に対応するユーザ操作が行われた場合、状態は変化しないように状態遷移表が作成されているものとする。従って、重要度「1」に対応するユーザ操作が行われた場合にのみ、画面が切り替わる。
図3は、本実施形態の通信システムSの動作例を示すシーケンス図である。例えばコントローラ2がアプリケーションサーバ1にTCPを用いて接続すると、アプリケーションサーバ1は、現在状態を初期状態に設定する。初期状態は、例えばアプリケーションプログラムを選択するためのメニュー画面に対応する状態である。アプリケーションサーバ1は、現在状態に対応する重要度表をコントローラ2へ送信する(ステップS1)。この重要度表において、上、下、左及び右の各方向キーと、丸印キー及びバツ印キーが定義されている。メニュー画面において、方向キーは、メニュー上のカーソルを移動させるためのキーである。丸印キーは、現在カーソルが位置するメニュー項目に対応するアプリケーションプログラムを起動させるためのキーである。バツ印キーは、メニュー画面を終了させるためのキーである。各キーに対して重要度「1」が設定されている。こうした重要度の設定は、メニューに対する操作は順番通りに確実にアプリケーションサーバ1により処理される必要があるという思想に基づく。アプリケーションサーバ1は、例えば情報検索を示すメニュー項目上にカーソルが表示されるメニュー画面の動画のレンダラ3への送信を開始する(ステップS2)。レンダラ3はメニュー画面を表示する。動画の送信開始後、アプリケーションサーバ1は、コントローラ2からの接続に対するACKをコントローラ2へ送信する(ステップS3)。
ACKの受信後、ユーザはコントローラ2の左キーを押下する。すると、コントローラ2は、全体シーケンス番号「1」、TCPシーケンス番号「1」、キーID「左」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS4)。アプリケーションサーバ1は、左キーに対応して、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えば情報検索を示すメニュー項目の1つ左にあるカラオケを示すメニュー項目上にカーソルが表示されるメニュー画面に対応する状態である。全てのメニュー画面において、重要度表の内容は一致する。すなわち、メニュー画面間においては、メニュー上のカーソルの位置が異なるものの、入力可能なユーザ操作及びユーザ操作に対する重要度は一致する。従って、状態が遷移しても重要度表の内容が変化しない場合、アプリケーションサーバ1は、コントローラ2へ重要度表を送信しなくてもよい。アプリケーションサーバ1は、左キーに対応して、メニュー上に表示されるカーソルが左へ移動する動画をレンダラ3へ送信する(ステップS5)。アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップS6)。次いで、アプリケーションサーバ1は、カーソル移動後のメニュー画面の動画送信を継続する。
ACKの受信後、ユーザは再度左キーを押下する。すると、コントローラ2は、全体シーケンス番号「2」、TCPシーケンス番号「2」、キーID「左」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS7)。アプリケーションサーバ1は、左キーに対応して、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えばカラオケを示すメニュー項目の1つ左にあるお絵描きを示すメニュー項目上にカーソルが表示されるメニュー画面に対応する状態である。アプリケーションサーバ1は、メニュー上に表示されるカーソルが更に左へ移動する動画をレンダラ3へ送信する(ステップS8)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信し(ステップS9)。
ACKの受信後、ユーザは丸印キーを押下する。すると、コントローラ2は、全体シーケンス番号「3」、TCPシーケンス番号「3」、キーID「マル」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS10)。アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、例えばお絵描き画面に対応する状態である。アプリケーションサーバ1は、遷移後の状態に対応する重要度表をコントローラ2へ送信する(ステップS11)。この重要度表において、上、下、左及び右の各方向キーと、バツ印キー及び三角印キーが定義されている。更に重要度表には、上キーと丸印キーの同時押し、下キーと丸印キーの同時押し、左キーと丸印キーの同時押し、及び右キーと丸印キーの同時押しが定義されている。お絵描き画面において、方向キーはカーソルを移動させるためのキーである。方向キーと丸印キーの同時押しは、カーソルを移動させながらカーソルの位置に線を描くための操作である。三角印キーは、線を引くための色を変更するためのキーである。バツ印キーはお絵描きを終了するためのキーである。バツ印キー及び三角印キーに対して重要度「1」が設定されている。その他のキーに対して重要度「0」が設定されている。こうした重要度の設定は、お絵描きにおけるカーソルの移動及び描画の操作は、順番が入れ多少替わったり、処理されない操作が一部あったりしたとしても大きな影響はなく、応答時間の短縮を優先するという思想に基づく。重要度の送信後、アプリケーションサーバ1は、お絵描きのアプリケーションプログラムを起動する。またアプリケーションサーバ1は、メニュー画面から、例えば線を描画するために現在選択されている色が白であるお絵描き画面に切り替わる動画をレンダラ3へ送信する(ステップS12)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ13)。
ユーザは左キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「4」、TCPシーケンス番号「3」、キーID「左+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS14)。UDPのため、TCPシーケンス番号は更新されない。また、現在状態は変化しない。従って、アプリケーションサーバ1は、引き続きお絵描き画面の動画をレンダラ3へ送信する(ステップS15)。ただし、アプリケーションサーバ1は、お絵描き画面において、カーソルが左へ移動して線が引かれる動画をレンダラ3へ送信するがUDPでキーIDを受信したので、アプリケーションサーバ1は、ACKを送信しない。
次いで、ユーザは上キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「5」、TCPシーケンス番号「3」、キーID「上+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS16)。アプリケーションサーバ1は、カーソルが上へ移動して線が引かれるお絵描き画面の動画をレンダラ3へ送信する(ステップS17)。
次いで、ユーザは三角印キーを押下する。この操作に対応する重要度は「1」である。コントローラ2は、全体シーケンス番号「6」、TCPシーケンス番号「4」、キーID「サンカク」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS18)。次いで、ユーザは右キーと丸印キーを同時に押下する。この操作に対応する重要度は「0」である。コントローラ2は、全体シーケンス番号「7」、TCPシーケンス番号「4」、キーID「右+マル」を含むパケットを、UDPを用いてアプリケーションサーバ1へ送信する(ステップS19)。
ここで、アプリケーションサーバ1は、キーID「サンカク」を含むパケットとキーID「右+マル」を含むパケットのうちキーID「右+マル」を含むパケットの方を先に受信した。このキーIDに付加されたTCPシーケンス番号は「4」である。アプリケーションサーバ1は、TCPシーケンス番号「1」〜「3」が付加されたキーIDを、TCPを用いてそれぞれステップS4、S7、S10で受信している。しかしながら、アプリケーションサーバ1は、TCPシーケンス番号「4」が付加されたキーID「サンカク」を、TCPを用いて受信していない。そこで、アプリケーションサーバ1は、カーソルを右へ移動させて線を引く処理を保留する。
その後、アプリケーションサーバ1は、キーID「サンカク」を受信する。すると、アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、赤の線を引くためのお絵描き画面に対応する状態である。アプリケーションサーバ1は、線の描画に用いられる色が白から赤に変化するお絵描き画面の動画をレンダラ3へ送信する(ステップS20)。次いで、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ21)。次いで、アプリケーションサーバ1は、カーソルが左へ移動して線が引かれるお絵描き画面の動画をレンダラ3へ送信する(ステップS22)。
ユーザはバツ印キーを押下する。すると、コントローラ2は、全体シーケンス番号「8」、TCPシーケンス番号「5」、キーID「バツ」を含むパケットを、TCPを用いてアプリケーションサーバ1へ送信する(ステップS23)。アプリケーションサーバ1は、状態遷移表に従って状態を遷移させる。遷移後の状態は、メニュー画面に対応する状態である。アプリケーションサーバ1は、遷移後の状態に対応する重要度表をコントローラ2へ送信する(ステップS24)。次いで、アプリケーションサーバ1は、お絵描き画面からメニュー画面に切り替わる動画をレンダラ3へ送信する(ステップS25)。そして、アプリケーションサーバ1は、ACKをコントローラ2へ送信する(ステップ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に進む。
ステップS35において、CPU21は、TCPソケットから、アプリケーションサーバ1から送信されてきたデータを読み出す。次いで、CPU21は、読み出したデータが重要度表であるか否かを判定する(ステップS36)。このとき、CPU21は、読み出したデータが重要度表であると判定した場合には(ステップS36:YES)、ステップS37に進む。一方、CPU21は、読み出したデータが重要度表ではないと判定した場合には(ステップS36:NO)、ステップS38に進む。
ステップS37において、CPU21は、重要度表を更新する。具体的に、CPU21は、RAM23に古い重要度表が記憶されている場合にはその重要度表を削除する。CPU21は、今回受信した重要度表をRAM23に記憶させる。この処理を終えると、CPU21は、ステップS34に進む。
ステップS38において、CPU21は、読み出したデータがACKであるか否かを判定する。このとき、CPU21は、読み出したデータがACKであると判定した場合には(ステップS38:YES)、ステップS39に進む。一方、CPU21は、読み出したデータがACKではないと判定した場合には(ステップS38:NO)、ステップS34に進む。
ステップS39において、CPU21は、キー操作送信中フラグをFALSEに設定する。次いで、CPU21は、ステップS34に進む。ステップS34において、CPU21は、コントローラプログラムが終了すると判定した場合には(ステップS34:YES)、コントローラ受信処理を終了させる。
図4(B)は、コントローラ2におけるユーザ操作処理の一例を示すフローチャートである。コントローラプログラムが起動すると、コントローラ2のCPU21はユーザ操作処理を実行する。先ずCPU21は、コントローラプログラムが終了するか否かを判定する(ステップS41)。このとき、CPU21は、コントローラプログラムが終了しないと判定した場合には(ステップS41:NO)、ステップS42に進む。
ステップS42において、CPU21は、入力部26に入力されたユーザ操作として、ユーザが押したキーのキーIDを取得する。次いで、CPU21は、RAM23に記憶されている重要度表から、取得したキーIDに対応する重要度を取得する(ステップS43)。次いで、CPU21は、取得した重要度が「1」であるか否かを判定する(ステップS44)。このとき、CPU21は、重要度が「1」であると判定した場合には(ステップS44:YES)、ステップS45に進む。一方、CPU21は、重要度が「1」ではないと判定した場合には(ステップS44:NO)、ステップS49に進む。
ステップS45において、CPU21は、キー操作送信中フラグがFALSEであるか否かを判定する。このとき、CPU21は、キー操作送信中フラグがFALSEであると判定した場合には(ステップS45:YES)、ステップS46に進む。一方、CPU21は、キー操作送信中フラグがFALSEではないと判定した場合には(ステップS45:NO)、ステップS41に進む。
ステップS46において、CPU21は、キー操作送信中フラグをTRUEに設定する。次いで、CPU21は、TCPソケットに、取得したキーID、全体シーケンス番号及びTCPシーケンス番号を書き込む(ステップS47)。これにより、CPU21は、TCPを用いてキーID、全体シーケンス番号及びTCPシーケンス番号を含むパケットをアプリケーションサーバ1へ送信する。次いで、CPU21は、TCPシーケンス番号を1増加させて(ステップS48)、ステップS50に進む。
ステップS49において、CPU21は、UDPソケットに、取得したキーID、全体シーケンス番号及びTCPシーケンス番号を書き込む。これにより、CPU21は、UDPを用いてキーID、全体シーケンス番号及びTCPシーケンス番号を含むパケットをアプリケーションサーバ1へ送信する。次いで、CPU21は、ステップS50に進む。
ステップS50において、CPU21は、全体シーケンス番号を1増加させて、ステップS41に進む。ステップS41において、CPU21は、コントローラプログラムが終了すると判定した場合には(ステップS41:YES)、ユーザ操作処理を終了させる。
図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受信処理を終了させる。
図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受信処理を終了させる。
図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に進む。
ステップS74において、CPU11は、パケットに含まれるTCPシーケンス番号がtと一致するか否かを判定する。このとき、CPU11は、TCPシーケンス番号がtと一致すると判定した場合には(ステップS74:YES)、ステップS75に進む。一方、CPU11は、TCPシーケンス番号がtと一致しないと判定した場合には(ステップS74:NO)、ステップS76に進む。
ステップS75において、CPU11は、取得したパケットに含まれるキーIDを後述するステートマシン処理に入力して、ステップS72に進む。ステップS76において、CPU11は、パケットをRAM13に確保されたキューに追加して、ステップS72に進む。
ステップS77において、CPU11は、tを、パケットに含まれるTCPシーケンス番号に設定する。次いで、CPU11は、取得したパケットに含まれるキーIDを後述するステートマシン処理に入力する(ステップS78)。次いで、CPU11は、キューに追加されているパケットのうち、パケットに含まれるTCPシーケンス番号がtと一致するパケットを取得する(ステップS79)。次いで、CPU11は、取得したパケットに含まれるキーIDをステートマシン処理に入力する(ステップS80)、複数のパケットを取得した場合、CPU11は、パケットに含まれる全体シーケンス番号の順に、これらのパケットをステートマシン処理に入力する。そして、CPU11は、ステップS72に進む。ステップS72において、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS72:YES)、操作順序ソート処理を終了させる。
図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に進む。
ステップS87において、CPU11は、状態遷移表から、前状態SAと後状態SBとに対応する動画IDを取得する。そして、CPU11は、動画IDに対応する動画をストリーミングでレンダラ3へ送信する(ステップS87)。このとき、CPU11は、必要な場合には、ユーザ操作に応じた処理を実行する。例えば、お絵描き画面においてユーザがカーソルを移動したり線を引いたりすると、CPU11は、カーソルが移動し又は線が引かれる様子が表示されるように、レンダラ3へ送信される動画に画像を追加する。また、CPU11は、ユーザが描いている絵のデータを記憶部14に記憶させる。ステップS87を終えると、CPU11はステップS81に進む。
ステップS88において、CPU11は、状態SBに対応する重要度表TBを、重要度表DB6から取得する。次いで、CPU11は、重要度表TAの内容と重要度表TBの内容とが完全に一致するか否かを判定する(ステップS89)。このとき、CPU11は、重要度表TAの内容と重要度表TBの内容とが完全に一致すると判定した場合には(ステップS89:YES)、ステップS91に進む。一方、CPU11は、少なくとも一部において重要度表TAの内容と重要度表TBの内容とが異なると判定した場合には(ステップS89:NO)、ステップS90に進む。
ステップS90において、CPU11は、重要度表TBをコントローラ2へ送信して、ステップS91に進む。ステップS91において、CPU11は、状態遷移表から、前状態SAと後状態SBとに対応する動画IDを取得する。そして、CPU11は、動画IDに対応する動画をストリーミングでレンダラ3へ送信する(ステップS92)。次いで、CPU11は、ステップS81に進む。ステップS81において、CPU11は、サーバプログラムが終了すると判定した場合には(ステップS81:YES)、ステートマシン処理を終了させる。
以上説明したように、上記実施形態によれば、アプリケーションサーバ1は、レンダラ3により表示される画面が複数の画面のうち何れかの画面に切り替えられる場合、重要度表DB6に記憶された複数の重要度表のうち、切り替え後の画面に対応する重要度表をコントローラ2へ送信する。また、アプリケーションサーバ1は、送信される重要度表に対応する画面を示す動画をレンダラ3へ送信する。また、アプリケーションサーバ1が、コントローラ2に入力されたユーザ操作を示すキーIDを、予め定められた複数のプロトコルのうちコントローラ2により決定されたプロトコルでコントローラ2から受信する。このとき、アプリケーションサーバ1は、送信された重要度表に含まれる重要度のうち、キーIDに対応する重要度が示すプロトコルを用いてキーIDを受信する。また、アプリケーションサーバ1が、受信されたキー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 通信システム

Claims (12)

  1. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムにおいて、
    前記サーバ装置は、
    予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、
    前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、
    前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、
    前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、
    前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、
    を備え、
    前記クライアント装置は、
    前記サーバ装置から前記操作リストを受信する操作リスト受信手段と、
    前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、
    前記サーバ装置から送信された前記画面情報を受信する画面情報受信手段と、
    前記画面情報受信手段により受信された前記画面情報が示す画面を表示する表示手段と、
    ユーザ操作が入力される入力手段と、
    前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、
    前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、
    を備えることを特徴とする通信システム。
  2. 前記クライアント装置は、
    前記操作リスト受信手段、前記第2記憶手段、前記入力手段、前記取得手段、前記操作情報送信手段を備える第1クライアント装置と、
    前記画面情報受信手段及び前記表示手段を備える第2クライアント装置と、
    を含むことを特徴とする請求項1に記載の通信システム。
  3. 前記クライアント装置はシンクライアントであることを特徴とする請求項2に記載の通信システム。
  4. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置において、
    予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段と、
    前記クライアント装置により表示される画面が前記複数の画面のうち何れかの画面に切り替えられる場合、前記第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信手段と、
    前記操作リスト送信手段により送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信手段と、
    前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信手段であって、前記操作リスト送信手段により送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信手段と、
    前記操作情報受信手段により受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理手段と、
    を備えることを特徴とするサーバ装置。
  5. 前記複数のプロトコルは、前記サーバ装置が前記クライアント装置から前記操作情報を受信した場合に前記サーバ装置から前記クライアント装置へ確認応答が送信される第1プロトコルと、前記確認応答が送信されない第2プロトコルとを少なくとも含むことを特徴とする請求項4に記載のサーバ装置。
  6. 前記操作情報受信手段は、前記クライアント装置により送信される操作情報のうち前記第1プロトコルを用いて送信される第1操作情報が送信されるごとに更新される番号が付加された前記操作情報を受信し、
    前記クライアント装置から送信された操作情報のうち前記第2プロトコルを用いて送信された第2操作情報が前記操作情報受信手段により受信された場合、前記第2操作情報に付加された番号と一致する番号が付加された前記第1操作情報が前記操作情報受信手段により受信されているかを判定する判定手段を更に備え、
    前記処理手段は、前記判定手段により前記第1操作情報が受信されていないと判定された場合、前記操作情報受信手段により前記第1操作情報が受信されることに応じて前記第1操作情報が示すユーザ操作に応じた処理を実行した後、前記第2操作情報が示すユーザ操作に応じた処理を実行することを特徴とする請求項5に記載のサーバ装置。
  7. 前記第1プロトコルは、TCPであり、
    前記第2プロトコルは、UDPであることを特徴とする請求項5又は6に記載のサーバ装置。
  8. 前記複数のプロトコルは、前記クライアント装置により暗号化された前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第3プロトコルと、暗号化されない前記操作情報が前記クライアント装置から前記サーバ装置へ送信される第4プロトコルとを少なくとも含むことを特徴とする請求項1乃至7の何れか1項に記載のサーバ装置。
  9. 前記第3プロトコルはSSLであることを特徴とする請求項8に記載のサーバ装置。
  10. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記サーバ装置に含まれるコンピュータに、
    前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記クライアント装置へ送信する操作リスト送信ステップと、
    前記操作リスト送信ステップにより送信される前記操作リストに対応する画面を示す画面情報を送信する画面情報送信ステップと、
    前記クライアント装置に入力されたユーザ操作を示す操作情報を、前記クライアント装置により決定されたプロトコルで前記クライアント装置から受信する操作情報受信ステップであって、前記操作リスト送信ステップにより送信された前記操作リストに含まれるプロトコル情報のうち、前記操作情報に対応するプロトコル情報が示すプロトコルを用いて前記操作情報を受信する操作情報受信ステップと、
    前記操作情報受信ステップにより受信された前記操作情報が示すユーザ操作に応じた処理を実行する処理ステップと、
    を実行させることを特徴とするプログラム。
  11. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置において、
    前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、予め定められた複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信手段と、
    前記操作リスト受信手段により受信された前記操作リストを記憶する第2記憶手段と、
    ユーザ操作が入力される入力手段と、
    前記第2記憶手段に記憶された前記操作リストから、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得手段と、
    前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得手段により取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信手段と、
    を備えることを特徴とするクライアント装置。
  12. ユーザ操作が入力されるクライアント装置と、前記クライアント装置がネットワークを介して接続可能なサーバ装置であって、前記ユーザ操作に応じた処理を実行するサーバ装置とを備える通信システムに含まれる前記クライアント装置に含まれるコンピュータに、
    前記クライアント装置により表示される画面が、予め定められた複数の画面のうち何れかの画面に切り替えられる場合、前記複数の画面に対応する複数の操作リストを記憶する第1記憶手段であって、対応する画面に応じた複数のユーザ操作のそれぞれごとに、ユーザ操作を示す操作情報と、予め定められた複数のプロトコルのうち前記ユーザ操作に対応するプロトコルを示すプロトコル情報とを含む操作リストを記憶する第1記憶手段に記憶された前記複数の操作リストのうち、切り替え後の画面に対応する操作リストを前記サーバ装置から受信する操作リスト受信ステップと、
    前記操作リスト受信ステップにより受信された前記操作リストを第2記憶手段に記憶させる第2記憶ステップと、
    前記第2記憶手段に記憶された前記操作リストから、入力手段を用いて入力されたユーザ操作を示す操作情報に対応するプロトコル情報を取得する取得ステップと、
    前記入力されたユーザ操作を示す操作情報を、前記複数のプロトコルのうち前記取得ステップにより取得された前記プロトコル情報が示すプロトコルを用いて前記サーバ装置へ送信する操作情報送信ステップと、
    を実行させることを特徴とするプログラム。
JP2015233661A 2015-11-30 2015-11-30 通信システム、サーバ装置、クライアント装置、及びプログラム Active JP6344370B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015233661A JP6344370B2 (ja) 2015-11-30 2015-11-30 通信システム、サーバ装置、クライアント装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015233661A JP6344370B2 (ja) 2015-11-30 2015-11-30 通信システム、サーバ装置、クライアント装置、及びプログラム

Publications (2)

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

Family

ID=59016897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015233661A Active JP6344370B2 (ja) 2015-11-30 2015-11-30 通信システム、サーバ装置、クライアント装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP6344370B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04661A (ja) * 1990-04-18 1992-01-06 Mitsubishi Electric Corp メニュー方式
JPH09244978A (ja) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> 情報提供システムおよびそのナビゲーション用サーバ
JP4363204B2 (ja) * 2004-02-04 2009-11-11 ヤマハ株式会社 通信端末
JP4222561B2 (ja) * 2004-06-04 2009-02-12 株式会社リコー データ通信方式、電子会議システム、データ通信方法、データ通信プログラム及び記憶媒体

Also Published As

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

Similar Documents

Publication Publication Date Title
US9419923B2 (en) Method for sharing function between terminals and terminal thereof
KR102122483B1 (ko) 미디어 데이터 공유 방법 및 그 전자 장치
JP5419654B2 (ja) 情報処理装置および情報処理システム
EP3240296B1 (en) Information processing device, information processing method, and program
JP6002967B2 (ja) 情報処理システム、情報処理装置、および情報処理方法
KR101832394B1 (ko) 단말 장치, 서버 및 그 제어 방법
KR101333879B1 (ko) 이동 단말기 및 이동 단말기를 이용한 제어 방법
CN112612436A (zh) 一种投屏切换方法、装置、设备及存储介质
US20150019978A1 (en) Information processing apparatus, information processing method, and program
JP2013228945A (ja) 台紙管理プログラム及び台紙管理装置
CN114143586A (zh) 一种分屏显示共享方法、***、存储介质以智慧屏
CN112295217B (zh) 设备加入方法、装置、电子设备及计算机可读介质
US11405434B2 (en) Data sharing method providing reception status of shared data among receiving terminals, and communication system and recording medium therefor
JP2015162040A (ja) 電子機器
JP6724423B2 (ja) 通信端末、通信システム、出力方法、及びプログラム
JP2010056966A (ja) 画像コンテンツ送信サーバ、画像表示装置、画像コンテンツ送信方法、及び、画像表示方法
JP6344370B2 (ja) 通信システム、サーバ装置、クライアント装置、及びプログラム
TW201701632A (zh) 資訊處理裝置、資訊處理系統以及控制方法
US11656834B2 (en) Information processing device, non-transitory recording medium, and information processing system
JP5835018B2 (ja) 会議システムおよび連絡方法
JP2020013419A (ja) 情報処理方法、情報処理装置及びプログラム
JP6448439B2 (ja) 電子機器及びその制御方法
JP6703259B2 (ja) 情報処理システム、会議サーバ、その制御方法及びプログラム
JP6310624B1 (ja) コンピュータシステム、設定方法及びプログラム
US20190222541A1 (en) Information processing apparatus, information processing system, and information processing method

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