JP2016184352A - 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法 - Google Patents

通信システム、端末装置、プログラム、サーバ装置及び情報処理方法 Download PDF

Info

Publication number
JP2016184352A
JP2016184352A JP2015065113A JP2015065113A JP2016184352A JP 2016184352 A JP2016184352 A JP 2016184352A JP 2015065113 A JP2015065113 A JP 2015065113A JP 2015065113 A JP2015065113 A JP 2015065113A JP 2016184352 A JP2016184352 A JP 2016184352A
Authority
JP
Japan
Prior art keywords
information
definition
application program
switching
processing
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.)
Granted
Application number
JP2015065113A
Other languages
English (en)
Other versions
JP6274140B2 (ja
Inventor
卓哉 井上
Takuya Inoue
卓哉 井上
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 JP2015065113A priority Critical patent/JP6274140B2/ja
Publication of JP2016184352A publication Critical patent/JP2016184352A/ja
Application granted granted Critical
Publication of JP6274140B2 publication Critical patent/JP6274140B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】ユーザの操作に対するレスポンスを短縮したサーバベースコンピューティングを可能とする。
【解決手段】端末装置は、ユーザ操作を示す操作情報と、端末装置により実行される処理を示す第1処理情報及びサーバ装置によるアプリケーションプログラムの実行を示す第2処理情報の何れかとが対応付けられた定義情報を記憶する一時記憶手段に記憶された定義情報に基づいて、操作画面を表示手段に表示させ、入力されたユーザ操作を示す操作情報に対応する第1処理情報又は第2処理情報を定義情報から決定し、第1処理情報が決定された場合、第1処理情報が示す処理を実行し、第2処理情報が決定された場合、第2処理情報が示す処理の要求を示す要求情報をサーバ装置へ送信し、サーバ装置のアプリケーションプログラムの実行に応じてサーバ装置から切替情報を受信し、切替情報に基づいて、処理情報の決定に用いられる定義情報を切り替える。
【選択図】図12

Description

本発明は、サーバ装置が、ネットワークを介して送信された要求に応じた処理を実行し、この処理の実行結果を示す映像及び音声の少なくとも何れか一方をネットワークを介して送信するシステムの技術分野に関する。
従来、クライアントサーバモデルにおいて、大部分の処理をサーバ側に集中させ、クライアント側はユーザ操作の受け付けや処理結果の表示などを行うサーバベースコンピューティングが知られている。この方式においては、例えばユーザからの操作入力に対応した操作信号をクライアント装置がサーバ装置へ送信する。サーバ装置は、操作信号に応じた処理を実行し、その結果に応じた映像をストリーミングなどによりクライアント装置へ配信する。
また、特許文献1には、サーバ装置からクライアント装置へのレスポンスの改善を目的とした技術が開示されている。この技術において、サーバ装置は、クライアント装置からの要求に応じた画面情報を複数のブロックに分割し、複数のブロックのうち、ユーザからの入力に対応するブロックを優先してクライアント装置へ送信する。
特開2008−210113号公報
しかしながら、特許文献1に記載の技術では、ユーザが操作をするたびに、クライアント装置からサーバ装置への要求の送信、及びサーバ装置からクライアント装置への映像の送信が発生する。このようなクライアント装置とサーバ装置との間の通信が常に発生するため、ユーザの操作に対するレスポンスが低下するという問題がある。
本発明は、以上の点に鑑みてなされたものであり、ユーザの操作に対するレスポンスを短縮したサーバベースコンピューティングを可能とする通信システム等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムにおいて、前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置と、前記サーバ装置と、前記出力装置と、を備え、前記端末装置は、前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御手段と、ユーザ操作が入力される入力手段と、前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する前記処理情報として前記第1処理情報又は前記第2処理情報を決定する決定手段と、前記決定手段により前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行手段と、前記決定手段により前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信手段と、前記要求情報送信手段により送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信手段と、前記切替情報受信手段により受信された前記切替情報に基づいて、前記決定手段による処理情報の決定に用いられる定義情報を切り替える切替手段と、を備え、前記サーバ装置は、前記アプリケーションプログラムを記憶するプログラム記憶手段と、前記端末装置から前記要求情報を受信する要求情報受信手段と、前記要求情報受信手段により受信された前記要求情報に基づいて、前記プログラム記憶手段に記憶された前記アプリケーションプログラムを実行するプログラム実行手段と、前記プログラム実行手段による前記アプリケーションプログラムの実行に応じて、前記切替情報を前記端末装置へ送信する切替情報送信手段と、前記プログラム実行手段による前記アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成手段と、前記生成手段により生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信手段と、を備え、前記出力装置は、前記サーバ装置から送信された、前記映像データ及び音声データの少なくとも何れか一方を受信する受信手段と、前記受信手段により受信された、前記映像データ及び音声データの少なくとも何れか一方が示す実行結果を出力手段により出力させる出力制御手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の通信システムにおいて、複数の前記定義情報を記憶する定義情報記憶手段と、前記定義情報記憶手段に記憶された前記定義情報を前記端末装置へ送信する定義情報送信手段と、を備える第2サーバ装置を更に含み、前記端末装置は、前記第2サーバ装置から送信された前記定義情報を受信する定義情報受信手段を更に備え、前記切替手段は、前記定義情報受信手段により受信された前記定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする。
請求項3に記載の発明は、請求項2に記載の通信システムにおいて、前記切替情報送信手段は、前記プログラム実行手段によるアプリケーションプログラムの実行に応じた前記切り替え先の定義情報を識別する定義情報識別情報を前記切替情報として送信し、前記端末装置は、前記切替情報受信手段により受信された前記定義情報識別情報を第2サーバ装置へ送信する定義情報識別情報送信手段を更に備え、前記第2サーバ装置は、前記端末装置から送信された前記定義情報識別情報を受信する定義情報識別情報受信手段を更に備え、前記定義情報記憶手段は、前記定義情報と、前記定義情報を識別する定義情報識別情報とを対応付けて複数記憶し、前記定義情報送信手段は、前記定義情報記憶手段に記憶されている複数の前記定義情報のうち、前記定義情報識別情報受信手段により受信された前記定義情報識別情報に対応する定義情報を送信することを特徴とする。
請求項4に記載の発明は、請求項1に記載の通信システムにおいて、前記サーバ装置は、複数の前記定義情報を記憶する定義情報記憶手段を更に備え、前記切替情報送信手段は、前記定義情報記憶手段に記憶された前記複数の定義情報のうち、前記プログラム実行手段によるアプリケーションプログラムの実行に応じた前記切り替え先の定義情報を前記切替情報として送信し、前記端末装置は、前記切替手段は、前記切替情報受信手段により受信された前記定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか1項に記載の通信システムにおいて、前記端末装置は、複数の前記定義情報を記憶する不揮発性記憶手段を更に備え、前記切替手段は、前記切り替え先の定義情報が前記不揮発性記憶手段に記憶されている場合、前記不揮発性記憶手段に記憶された前記切り替え先の定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする。
請求項6に記載の発明は、請求項5に記載の通信システムにおいて、複数の前記定義情報を記憶する定義情報記憶手段と、前記定義情報の問い合わせを示す問い合わせ情報を前記端末装置から受信する問い合わせ情報受信手段と、前記問い合わせ情報受信手段により前記問い合わせ情報が受信された場合、前記定義情報記憶手段に記憶された前記複数の定義情報のうち、前記端末装置に記憶されている定義情報よりも新しい定義情報を前記端末装置へ送信する定義情報送信手段と、を備える第2サーバ装置を更に含み、前記端末装置は、前記問い合わせ情報を定期的に前記第2サーバ装置へ送信する問い合わせ情報送信手段と、前記第2サーバ装置から送信された前記定義情報を受信する定義情報受信手段と、前記定義情報受信手段により受信された前記定義情報で、前記定義情報記憶手段に記憶された定義情報を更新する更新手段と、を更に備えることを特徴とする。
請求項7に記載の発明は、請求項1乃至6の何れか1項に記載の通信システムにおいて、前記要求情報送信手段は、前記第2処理情報がアプリケーションプログラムの起動を示す場合、起動される前記アプリケーションプログラムを識別するアプリケーションプログラム識別情報を含む前記要求情報を送信し、前記プログラム記憶手段は、アプリケーションプログラムと前記アプリケーションプログラムを識別するアプリケーションプログラム識別情報とを対応付けて複数記憶し、前記プログラム実行手段は、前記プログラム記憶手段に記憶された複数のアプリケーションプログラムのうち、前記要求情報に含まれる前記アプリケーションプログラム識別情報に対応するアプリケーションプログラムを起動させ、前記切替情報送信手段は、前記プログラム実行手段によりアプリケーションプログラムが起動された場合に、起動された前記アプリケーションプログラムに対応する前記切り替え先の定義情報に関する前記切替情報を送信することを特徴とする。
請求項8に記載の発明は、請求項1乃至6の何れか1項に記載の通信システムにおいて、前記切替情報送信手段は、起動中のアプリケーションプログラムが前記プログラム実行手段により実行されることにより、前記起動中のアプリケーションプログラムの内部状態 が変化した場合、前記起動中のアプリケーションプログラムに対応する複数の定義情報のうち、変化した前記内部状態に対応する前記切り替え先の定義情報に関する前記切替情報を送信することを特徴とする。
請求項9に記載の発明は、請求項1乃至8の何れか1項に記載の通信システムにおいて、前記端末装置は、前記端末装置の属性を示す属性情報を記憶する属性情報記憶手段を更に備え、前記切替手段は、前記属性情報記憶手段に記憶された前記属性情報が示す属性に対応する定義情報へ切り替えることを特徴とする。
請求項10に記載の発明は、請求項1乃至9の何れか1項に記載の通信システムにおいて、前記定義情報は、前記表示手段に表示されている前記操作画面のスクロール及び前記操作画面内のユーザ操作の対象を示すしるしの移動の何れかを含む処理を示す前記第1処理情報と、前記サーバ装置から前記出力装置へ送信される、前記映像データ及び前記音声データの少なくとも何れか一方の切り替えを伴う処理を示す前記第2処理情報とを含むことを特徴とする。
請求項11に記載の発明は、アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる端末装置において、前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御手段と、ユーザ操作が入力される入力手段と、前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する処理情報として前記第1処理情報又は前記第2処理情報を決定する決定手段と、前記決定手段により前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行手段と、前記決定手段により前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信手段と、前記要求情報送信手段により送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信手段と、前記切替情報受信手段により受信された前記切替情報に基づいて、前記決定手段による処理情報の決定に用いられる定義情報を切り替える切替手段と、を備えることを特徴とする。
請求項12に記載の発明は、アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる端末装置により実行されるプログラムにおいて、前記アプリケーションプログラムに対応するユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、ユーザ操作が入力される入力手段と、を備える前記端末装置のコンピュータに、前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御ステップと、前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する処理情報として前記第1処理情報又は前記第2処理情報を決定する決定ステップと、前記決定ステップにより前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行ステップと、前記決定ステップにより前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信ステップと、前記要求情報送信ステップにより送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信ステップと、前記切替情報受信ステップにより受信された前記切替情報に基づいて、前記決定ステップによる処理情報の決定に用いられる定義情報を切り替える切替ステップと、を実行させることを特徴とする。
請求項13に記載の発明は、アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる前記サーバ装置において、前記ネットワークを介して端末装置からの要求に応じて実行されるアプリケーションプログラムを記憶するプログラム記憶手段と、前記アプリケーションプログラムに対応するユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を複数記憶する定義情報記憶手段と、前記端末装置が備える一時記憶手段に記憶された前記定義情報から、前記端末装置が備える入力手段を用いて入力されたユーザ操作を示す前記操作情報に対応する処理情報として前記第2処理情報が決定された場合、前記端末装置から、前記第2処理情報が示す処理の要求を示す要求情報を受信する要求情報受信手段と、前記要求情報受信手段により受信された前記要求情報に基づいて、前記プログラム記憶手段に記憶されたアプリケーションプログラムを実行するプログラム実行手段と、前記プログラム実行手段によるアプリケーションプログラムの実行に応じて、前記入力手段を用いて入力されるユーザ操作を示す操作情報に対応する前記処理情報の決定に用いられる定義情報の切り替え先の定義情報に関する切替情報を前記端末装置へ送信する切替情報送信手段であって、前記定義情報記憶手段に記憶された複数の前記定義情報のうち、前記アプリケーションプログラムの実行に応じた定義情報を、切り替え先の定義情報として含む前記切替情報を送信する切替情報送信手段と、前記プログラム実行手段によるアプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成手段と、前記生成手段により生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信手段と、を備えることを特徴とする。
請求項14に記載の発明は、アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する情報処理装置において、前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置であって、前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、ユーザ操作が入力される入力手段と、を備える端末装置が、前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御ステップと、前記端末装置が、前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する前記処理情報として前記第1処理情報又は前記第2処理情報を決定する決定ステップと、前記端末装置が、前記決定ステップにより前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行ステップと、前記端末装置が、前記決定ステップにより前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信ステップと、前記サーバ装置が、前記端末装置から前記要求情報を受信する要求情報受信ステップと、前記サーバ装置が、前記要求情報受信ステップにより受信された前記要求情報に基づいて、前記アプリケーションプログラムを記憶するプログラム記憶手段に記憶された前記アプリケーションプログラムを実行するプログラム実行ステップと、前記サーバ装置が、前記プログラム実行ステップによる前記アプリケーションプログラムの実行に応じて、前記入力手段を用いて入力されるユーザ操作を示す操作情報に対応する前記処理情報の決定に用いられる定義情報の切り替え先の定義情報に関する切替情報を前記端末装置へ送信する切替情報送信ステップと、前記端末装置が、前記サーバ装置から送信された前記切替情報を受信する切替情報受信ステップと、前記端末装置が、前記切替情報受信ステップにより受信された前記切替情報に基づいて、前記決定ステップによる処理情報の決定に用いられる定義情報を切り替える切替ステップと、前記サーバ装置が、前記プログラム実行ステップによる前記アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成ステップと、前記サーバ装置が、前記生成ステップにより生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信ステップと、前記出力装置が、前記サーバ装置から送信された、前記映像データ及び音声データの少なくとも何れか一方を受信する受信ステップと、前記出力装置が、前記受信ステップにより受信された、前記映像データ及び音声データの少なくとも何れか一方が示す実行結果を出力手段により出力させる出力制御ステップと、を含むことを特徴とする。
請求項1、11乃至14のそれぞれに記載の発明によれば、ユーザ操作に対応する処理のうち、端末装置で実行される処理については、端末装置はサーバ装置へ要求情報を送信しない。そのため、ユーザの操作に対するレスポンスを短縮させることができる。
請求項2に記載の発明によれば、端末装置は、アプリケーションプログラムを実行するサーバ装置と異なる第2サーバ装置から定義情報を取得することができる。
請求項3に記載の発明によれば、アプリケーションプログラムの実行に応じた定義情報を、アプリケーションプログラムを実行するサーバ装置と異なる第2サーバ装置から取得することができる。
請求項4に記載の発明によれば、端末装置は、アプリケーションプログラムの実行に応じた定義情報を、アプリケーションプログラムを実行するサーバ装置から取得することができる。
請求項5に記載の発明によれば、端末装置は、定義情報を切り替えるときに、切り替え先の定義情報を他の装置から取得する必要がない。
請求項6に記載の発明によれば、定義情報が更新された場合、更新された定義情報に切り替えるよりも前に、更新された定義情報を端末装置に記憶させておくことができる。
請求項7に記載の発明によれば、起動したアプリケーションプログラムに対応するユーザインタフェースに切り替えることができる。
請求項8に記載の発明によれば、起動中のアプリケーションプログラムの内部状態に対応するユーザインタフェースに切り替えることができる。
請求項9に記載の発明によれば、端末装置の属性に合ったユーザインタフェースに切り替えることができる。
請求項10に記載の発明によれば、サーバ装置は、スクロールやしるしの移動により表示が変化する操作画面を生成して送信する必要がない。
(A)は、一実施形態の通信システムS1の概要構成例を示す図である。(B)は、一実施形態のアプリケーションサーバ1の概要構成例を示す図である。(C)は、一実施形態のコントローラ2の概要構成例を示す図である。 (A)は、コントローラ2がリモートコントローラである場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。(B)は、アプリケーションプログラムの一覧の一例を示す図である。(C)は、リモートコントローラの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がリモートコントローラである場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。(B)は、リモートコントローラの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がリモートコントローラである場合におけるカラオケのアプリケーションプログラムのカラオケの演奏中の操作画面に対応するUI定義の一例を示す図である。(B)は、リモートコントローラの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がリモートコントローラである場合におけるリズムゲームのアプリケーションプログラムの操作画面に対応するUI定義の一例を示す図である。(B)は、リモートコントローラの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がスマートフォンである場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。(B)は、スマートフォンの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がスマートフォンである場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。(B)は、スマートフォンの外観及び操作画面の例を示す図である。 (A)は、コントローラ2がスマートフォンである場合におけるリズムゲームのアプリケーションプログラムの作画面に対応するUI定義の一例を示す図である。(B)は、スマートフォンの外観及び操作画面の例を示す図である。 (A)は、一体型クライアント4がテレビ受像機である場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。(B)は、テレビ受像機の外観及び表示画面の例を示す図である。 (A)は、一体型クライアント4がテレビ受像機である場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。(B)は、テレビ受像機の外観及び表示画面の例を示す図である。 (A)は、一体型クライアント4がテレビ受像機である場合におけるリズムゲームのアプリケーションプログラムの操作画面に対応するUI定義の一例を示す図である。(B)は、テレビ受像機の外観及び表示画面の例を示す図である。 通信システムS1の処理概要の一例を示すシーケンス図である。 アプリケーションサーバ1の処理例を示すフローチャートである。 コントローラ2の処理例を示すフローチャートである。 (A)は、一実施形態の通信システムS2の概要構成例を示す図である。(B)は、一実施形態のUI定義サーバ7の概要構成例を示す図である。 通信システムS2の処理概要の一例を示すシーケンス図である。 コントローラ2におけるUI定義更新処理の一例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
[1.第1実施形態]
[1−1.通信システムの構成]
図1(A)は、本実施形態の通信システムS1の概要構成例を示す図である。図1(A)に示すように、通信システムS1は、アプリケーションサーバ1、複数のコントローラ2、及び複数のレンダラ3を含んで構成される。アプリケーションサーバ1は、本発明のサーバ装置の一例である。コントローラ2は、本発明の端末装置の一例である。レンダラ3は、本発明の出力装置の一例である。アプリケーションサーバ1、コントローラ2、及びレンダラ3は、それぞれネットワーク10に接続される。ネットワーク10は、例えば、インターネット等により構成される。
アプリケーションサーバ1は、コントローラ2からの要求に応じて、アプリケーションプログラムを実行する。アプリケーションプログラムの例として、カラオケ、フィットネス、テレビゲーム等のアプリケーションプログラムが挙げられる。アプリケーションサーバ1は、アプリケーションプログラムの実行結果を示す映像及び音声の少なくとも何れか一方を生成する。そして、アプリケーションサーバ1は、生成した映像及び音声の少なくとも一方をストリーミングでレンダラ3へ送信する。
アプリケーションサーバ1は、アプリケーションDB5及びUI定義DB6にアクセス可能に構成されている。例えば、アプリケーションサーバ1と、アプリケーションDB5及びUI定義DB6とがLAN(Local Area Network)等のネットワークにより接続されてもよい。或いは、アプリケーションサーバ1が、アプリケーションDB5及びUI定義DB6を備えてもよい。アプリケーションDB5は、1又は複数のアプリケーションプログラムが登録されている。各アプリケーションプログラムは、アプリケーションIDと対応付けてアプリケーションDB5に記憶される。アプリケーションIDは、本発明のアプリケーションプログラム識別情報の一例である。アプリケーションIDは、アプリケーションプログラムを識別する識別情報である。UI定義DB6には、1又は複数のUI定義が登録されている。UI定義は、本発明の定義情報の一例である。UI定義は、アプリケーションプログラムを操作又は実行するためのユーザインタフェースの定義を示す情報である。アプリケーションプログラムごとに、1又は複数のUI定義がUI定義DB6に記憶されている。アプリケーションサーバ1は、アプリケーションプログラムの実行に応じて、そのアプリケーションプログラムに対応するUI定義をコントローラ2へ送信する。
コントローラ2は、ネットワーク10を介してアプリケーションサーバ1へアプリケーションプログラムの実行を要求する端末装置である。コントローラ2は、アプリケーションプログラムの実行に応じてアプリケーションサーバ1から送信されてきたUI定義に基づいて、そのアプリケーションプログラムに対応する操作画面をディスプレイに表示させる。また、コントローラ2は、ユーザによる操作が入力された場合、UI定義に基づいて、その操作に対応する処理を実行し、又はその操作に対応するアプリケーションプログラムの実行をアプリケーションサーバ1に要求する。コントローラ2の例として、ネットワーク10に接続可能なリモートコントローラ、スマートフォン、携帯電話機、携帯用テレビゲーム機等が挙げられる。
レンダラ3は、アプリケーションサーバ1から、アプリケーションプログラムの実行結果を示す映像及び音声の少なくとも何れか一方を受信する。実行結果を示す映像を受信した場合、レンダラ3は、受信した映像をディスプレイに表示させる。実行結果を示す音声を受信した場合、レンダラ3は、受信した音声をスピーカにより出力させる。レンダラ3の例として、スマートテレビ等のテレビ受像機、パーソナルコンピュータ、カラオケ装置等が挙げられる。
ユーザは、コントローラ2とレンダラ3との組み合わせにより、アプリケーションプログラムを利用する。すなわち、ユーザは、コントローラ2を操作することにより、アプリケーションサーバ1によりアプリケーションプログラムを実行させ、レンダラ3を利用して、アプリケーションプログラムの実行結果を確認する。
なお、通信システムS1は、コントローラ2とレンダラ3との機能を兼ね備える一体型クライアント4を含んでもよいし、含まなくてもよい。一体型クライアント4の例として、テレビ受像機、パーソナルコンピュータ等が挙げられる。
[1−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には、例えば楽曲データ、テロップデータ及び映像データが記憶されている。楽曲データは、カラオケの楽曲の演奏音を示すデータである。テロップデータは、カラオケの楽曲の歌詞を示すデータである。映像データは、カラオケの映像を示すデータである。楽曲データ、テロップデータ及び映像データは、例えば楽曲番号に対応付けて記憶部14に記憶されている。楽曲番号は、カラオケの楽曲を識別する識別番号である。また、記憶部14に、アプリケーションDB5及びUI定義DB6の少なくとも何れか一方が記憶されていてもよい。また、記憶部14には、OS、及びアプリケーションサーバプログラム等が記憶されている。アプリケーションサーバプログラムは、コンピュータとしてのCPU11に、UI定義の送信、アプリケーションプログラムの実行、アプリケーションプログラムの実行結果を示す映像の送信等の処理を実行させるプログラムである。アプリケーションサーバプログラム等は、例えばネットワーク10等を介して他のサーバ等からダウンロードされてもよい。或いは、アプリケーションサーバプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部14に読み込まれてもよい。
[1−3.コントローラ2の構成]
次に、図1(C)を参照して、コントローラ2の構成について説明する。図1(C)は、本実施形態のコントローラ2の概要構成例を示す図である。図1(C)に示すように、コントローラ2は、CPU21、ROM22、RAM23、記憶部24、通信部25、入力部26、及び表示部27等を備えて構成される。これらの構成要素は、バス28に接続されている。通信部25は、ネットワーク10に接続される。RAM23は、本発明の一時記憶手段の一例である。一時記憶手段は、RAMに限定されるものではない。例えば、保存を目的とせずにUI定義が一時的に記憶されるのであれば、例えば不揮発性のメモリが一時記憶手段であってもよい。また例えば、コントローラ2の電源か切断された場合に、記憶されていたUI定義が消去されるメモリが一時記憶手段であってもよい。入力部26は、ユーザの操作を入力するための入力デバイスである。入力部26は、例えばボタン、キー、タッチパネル、キーボード等の少なくとも1つにより構成されてもよい。表示部27は、例えば液晶パネル、有機ELパネル等により構成されるディスプレイである。記憶部24は、本発明の不揮発性記憶手段の一例である。記憶部24は、例えばフラッシュメモリ又はハードディスクドライブ等により構成される。記憶部24には、コントローラ属性が記憶されている。コントローラ属性は、本発明の属性情報の一例である。コントローラ属性は、コントローラ2の属性を示す情報である。例えば、コントローラ属性は、コントローラ2の種類を示す情報であってもよい。例えば、コントローラ2がリモートコントローラである場合、コントローラ属性は「remote controller」に設定され、コントローラ2がスマートフォンである場合、コントローラ属性は「smartphone」に設定されている。また、記憶部24には、OS、及びコントローラプログラム等が記憶されている。コントローラプログラムは、コンピュータとしてのCPU21に、UI定義の受信及び記憶、操作画面の表示、ユーザの操作に応じた処理の実行、アプリケーションサーバ1への要求の送信等の処理を実行させるプログラムである。コントローラプログラム等は、例えばネットワーク10等を介してアプリケーションサーバ1等のサーバ装置からダウンロードされてもよい。或いは、コントローラプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部24に読み込まれてもよい。或いは、コントローラプログラム等は、コントローラ2に予めインストールされていてもよい。
[1−4.UI定義]
次に、UI定義及びUI定義に関する処理の概要について説明する。
UI定義は、コントローラ2におけるユーザインタフェースの定義を示す情報である。具体的に、UI定義は、操作画面の表示内容と、ユーザの操作に対応する処理を定義する。UI定義には、操作画面において受け付け可能なユーザ操作ごとに、ユーザ操作を示す操作情報と、ユーザ操作に応じた処理を示す処理情報とが対応付けられている。ユーザ操作に応じた処理とは、UI定義において、ユーザ操作を示す操作情報に対応付けられた処理情報が示す処理である。
処理情報として、コントローラ2により実行される処理を示すローカル処理情報と、アプリケーションサーバ1により実行される処理を示すリモート処理情報とがある。ローカル処理情報は、本発明の第1処理情報の一例である。リモート処理情報は、本発明の第2処理情報の一例である。コントローラ2により実行される処理と、アプリケーションサーバ1により実行される処理とは、例えば重複する処理を含まなくてもよい。
コントローラ2により実行される処理は、例えば操作画面に関する処理であってもよいし、別の処理であってもよい。操作画面に関する処理は、例えば操作画面のスクロールであってもよいし、操作画面内のユーザ操作の対象を示すしるしの移動を、別の構成要素に対応する位置に移動させることであってもよし、操作画面の少なくとも一部を更新する別の処理であってもよい。しるしは、例えばカーソル、ポインタ、フォーカス等であってもよい。ユーザ操作の対象は、例えばボタン、チェックボックス、画像、文字、入力領域、リスト等であってもよい。また、しるしは、テキストボックス内のカーソルであってもよい。この場合のカーソルは、テキストボックスの中で、ユーザ操作によって文字が入力される位置を示す。
アプリケーションサーバ1により実行される処理は、具体的にはアプリケーションプログラムを実行することである。例えば、この処理は、アプリケーションプログラムの実行結果としてアプリケーションサーバ1からレンダラ3へ送信される映像及び音声の少なくとも何れか一方の切り替えを伴う処理であってもよいし、そのような切り替えを伴わない処理であってもよい。
UI定義DB6には、アプリケーションプログラムごとに、アプリケーションプログラムに対応するユーザインタフェースを定義する1又は複数のUI定義が記憶されている。各UI定義は、UI定義位置情報と対応付けてUI定義DB6に記憶されている。UI定義位置情報は、本発明の定義情報識別情報の一例である。UI定義位置情報は、UI定義を識別する情報である。例えば、UI定義位置情報はURL(Uniform Resource Locator)であってもよい。アプリケーションプログラムとは別にUI定義が存在することで、ユーザインタフェースを変更する場合であっても、UI定義を変更すればよく、アプリケーションプログラムを変更する必要がない。
1つのアプリケーションプログラムに対応して複数のUI定義が存在する場合、例えばアプリケーションプログラムの内部状態に応じた複数のUI定義がUI定義DB6に記憶されている。内部状態は、例えばアプリケーションプログラムの進行状況、処理状況等であってもよい。例えば、カラオケのアプリケーションプログラムの場合、カラオケを選曲する際のUI定義、カラオケ演奏中のUI定義等がUI定義DB6に記憶されてもよい。
また、コントローラ属性ごとに、コントローラ属性に対応したUI定義がUI定義DB6に記憶されてもよい。具体的に、コントローラ属性が示す属性を有するコントローラ2の入力部26及び表示部27の少なくとも何れか一方に対応したUI定義がUI定義DB6に記憶される。例えば、リモートコントローラ用のUI定義、スマートフォン用のUI定義等がUI定義DB6に記憶されてもよい。コントローラ属性ごとにユーザインタフェースを用意する場合においても、コントローラ属性ごとにUI定義を作成すればよく、コントローラ属性ごとにアプリケーションプログラムを作成する必要がない。
UI定義は、例えば対応するアプリケーションプログラム、内部状態、及びコントローラ属性を識別可能にUI定義DB6に記憶されてもよい。例えば、UI定義のUI定義位置情報によってこれらの情報が識別可能であってもよい。
コントローラ2は、アプリケーションサーバ1から受信したUI定義をRAM23に記憶させる。そして、コントローラ2は、RAM23に記憶されたUI定義に基づいて、操作画面を表示部27に表示させる。入力部26を用いてユーザ操作が入力された場合、コントローラ2は、RAM23に記憶されたUI定義から、入力されたユーザ操作を示す操作情報に対応する処理情報を、実行される処理を示す処理情報として決定する。このとき、ローカル処理情報又はリモート処理情報が決定される。
ローカル処理情報を決定した場合、コントローラ2は、ローカル処理情報が示す処理を実行する。上述したように、この処理は、例えば操作画面に関する処理であってもよい。
リモート処理情報を決定した場合、コントローラ2は、アプリケーションプログラムの実行要求をアプリケーションサーバ1へ送信する。実行要求は、本発明の要求情報の一例である。この実行要求は、大別して、アプリケーションプログラムの起動の要求と、起動中のアプリケーションプログラムに対しての更なる処理の要求等がある。アプリケーションプログラムの実行要求は、実行されるアプリケーションプログラムのアプリケーションIDを含む。このアプリケーションIDは、リモート処理情報に含まれている。実行要求は、例えば記憶部24に記憶されたコントローラ属性を更に含んでもよいし、含まなくてもよい。またこの実行要求は、例えばアプリケーションプログラムに渡されるパラメータを含んでもよいし、含まなくてもよい。
コントローラ2から実行要求を受信したアプリケーションサーバ1は、実行要求に基づいてアプリケーションプログラムを実行する。具体的に、アプリケーションサーバ1は、実行要求に含まれるアプリケーションIDが示すアプリケーションプログラムを実行することにより、コントローラ2により決定されたリモート処理情報が示す処理を実行する。アプリケーションサーバ1は、アプリケーションプログラムの実行結果を示す映像及び音声の少なくとも何れか一方をレンダラ3へストリーミング送信する。
アプリケーションサーバ1は、アプリケーションプログラムの実行に応じて、UI定義を切り替える指示を示す切替指示をコントローラ2へ送信する。具体的に、アプリケーションサーバ1は、アプリケーションプログラムを起動した場合、又は起動中のアプリケーションプログラムの実行により、そのアプリケーションプログラムの内部状態が変化した場合、切替指示を送信する。切替指示は、本発明の切替情報の一例である。切替指示は、切り替え先のUI定義を含む。具体的に、アプリケーションサーバ1は、受信した実行要求に含まれるアプリケーションIDが示すアプリケーションプログラムに対応するUI定義を送信する。このとき、受信した実行要求にコントローラ属性が含まれている場合、アプリケーションサーバ1は、コントローラ属性に対応するUI定義をコントローラ2へ送信する。また、アプリケーションプログラムの内部状態に応じた複数のUI定義がUI定義DB6に記憶されている場合がある。この場合、アプリケーションサーバ1は、アプリケーションプログラムを起動したときには、起動直後の内部状態に対応するUI定義をコントローラ2へ送信する。起動中のアプリケーションプログラムの実行の結果、アプリケーションプログラムの内部状態が変化した場合には、変化後の内部状態に対応するUI定義をコントローラ2へ送信する。内部状態に対応するUI定義とは、アプリケーションの内部状態によって実行可能な処理を示すリモート処理情報を含むUI定義である。なお、状況によっては、或いはアプリケーションプログラムの内部状態によっては、アプリケーションサーバ1は、UI定義をコントローラ2へ送信しない場合があってもよい。
コントローラ2は、アプリケーションサーバ1から受信した切替指示に基づいて、ユーザインタフェースを切り替える。ユーザインタフェースを切り替えることは、操作画面を切り替えること、及び実行される処理を示す処理情報の決定に用いられるUI定義を切り替えることである。具体的に、コントローラ2は、切替指示に含まれるUI定義で、RAM23に記憶されているUI定義を上書きする。そして、コントローラ2は、RAM23に新しく記憶されたUI定義に基づいて、操作画面を表示部27に表示する。
以上説明したように、UI定義に基づいてリモート処理情報が決定された場合、コントローラ2はアプリケーションサーバ1へ実行要求を送信する。一方、ローカル処理情報が決定された場合、アプリケーションサーバ1へ実行要求を送信せずに、コントローラ2自身が、ローカル処理情報が示す処理を実行する。従って、この場合には、コントローラ2とアプリケーションサーバ1間の通信が発生しないので、ユーザの操作に対するレスポンスを短縮することができる。
従来のサーバベースコンピューティングにおいては、サーバ装置は、操作画面を含む映像をクライアント装置にストリーミング送信する。クライアント装置は、ユーザ操作が行われるたびにサーバ装置へ毎回要求を送信する。サーバ装置が操作画面の映像の更新を行うので、例えば、操作画面をスクロールさせる操作や操作画面上のしるしを移動させる操作等が行われた場合であっても、クライアント装置はサーバ装置へ要求を送信する必要がある。従って、ユーザ操作に対するレスポンスが低下する。通信システムS1では、このような問題を解消することができる。
また、操作画面を表示するコントローラ2と、アプリケーションプログラムの実行結果を示す映像及び音声の少なくとも何れか一方を出力するレンダラ3とを別々の装置にすることによって、それぞれの装置の機能を単純化することができる。また、処理負荷を分散することができる。なお、一体型クライアント4のように、コントローラ2とレンダラ3が一体的に構成されてもよい。
なお、コントローラ2は、アプリケーションサーバ1から受信したUI定義をRAM23に記憶させるとともに、このUI定義を記憶部24に記憶させてもよい。このとき、コントローラ2は、UI定義をアプリケーションID等に対応付けて記憶部24に記憶させてもよい。RAM23に記憶されたUI定義を用いて処理情報としてリモート処理情報を決定したコントローラ2は、リモート処理情報に含まれるアプリケーションIDに対応するUI定義が記憶部24に記憶されている場合には、記憶部24に記憶されているUI定義をRAM23に記憶させてもよい。そして、コントローラ2は、処理情報の決定に用いるUI定義を、RAM23に新たに記憶されたUI定義に切り替えてもよい。この場合、コントローラ2は、アプリケーションサーバ1からUI定義を取得する必要がない。
[1−5.UI定義の具体例]
次に、図2乃至図11を参照して、UI定義及びUI定義に基づいて表示される操作画面の具体例について説明する。以降においては、XMLで記述されたUI定義の例の詳細を説明する。なお、UI定義は、例えば所定のフォーマットのテキストデータであってもよいし、所定のフォーマットのバイナリデータであってもよい。UI定義は、例えばUI定義識別部、表示定義部、及び入力定義部を含む。
UI定義識別部は、対応するアプリケーションプログラム、内部状態、及びコントローラ属性を定義する部分である。UI定義識別部は、例えばclientタグで示される。clientタグは、purpose属性及びdevice属性を含む。purpose属性は、アプリケーションプログラム及び内部状態を示す。device属性は、コントローラ属性を示す。
表示定義部は、操作画面を定義する部分であり、表示定義部は操作画面の内容を示す。また、表示定義部は、操作画面上に表示された要素が押下されたときの処理を定義する。表示定義部は、例えばdisplay開始タグとdisplay終了タグに囲まれた部分である。表示定義部は、titleタグ、select-boxタグ、text-boxタグ、textタグ等の少なくとも何れかを含む。title開始タグとtitle終了タグに囲まれたテキストは、操作画面上に表示されるタイトルを示す。select-boxタグは、操作画面上に表示される1又は複数ボタンを定義するタグである。select-box開始タグとselect-box終了タグとの間に、1又は複数のitemタグが含まれている場合がある。itemタグは、1つのボタンを定義するタグである。itemタグはface属性を含む。face属性は、ボタン上に表示されるテキストを示す。item開始タグとitem終了タグとの間に、behaviorタグが記述される。behaviorタグは、ボタンが押下された場合にコントローラ2が実行する処理を定義するタグである。behaviorタグは、本発明の処理情報の一例である。behaviorタグは、domain属性、target属性、及びcontrol属性を含む。domain属性は、処理を行う装置がアプリケーションサーバ1及びコントローラ2の何れであるかを示す。domain属性が「remote」である場合、アプリケーションサーバ1がアプリケーションプログラムを実行することを示す。domain属性が「remote」であるbehaviorタグは、リモート処理情報の一例である。domain属性が「local」である場合、コントローラ2が処理を実行することを示す。domain属性が「local」であるbehaviorタグは、ローカル処理情報の一例である。target属性は、処理の対象を示す。domain属性が「remote」である場合、target属性として、実行されるアプリケーションプログラムのURLが設定される。アプリケーションプログラムのURLは、アプリケーションIDの一例である。domain属性が「local」である場合、target属性として、操作画面に表示されている要素のうち、処理の対象となる要素を定義するタグのname属性又はdata属性が設定される。control属性は、実行される処理の内容を示す。domain属性が「local」である場合、control属性は、コントローラ2が実行する処理を示す。domain属性が「remote」である場合、control属性は、アプリケーションプログラムのURLとともにコントローラ2がアプリケーションサーバ1へ送信するパラメータを示す。text-boxタグは、操作画面上に表示されるテキストボックスを定義するタグである。ユーザは、テキストボックスに文字、数字等を入力することができる。text開始タグとtext終了タグに囲まれたテキストは、操作画面上に表示されるテキストを示す。
入力定義部は、ユーザによる操作が入力されたときの処理を定義する。表示定義部は、例えばinput開始タグとinput終了タグに囲まれた部分である。表示定義部は、操作要素タグを含む。操作要素タグは、入力部26を構成するキー、ボタン、タッチパネル等の操作可能な要素のうち、操作を受け付ける要素を定義するタグである。例えば十字ボタンの場合、cross-keyタグが記述される。また例えば選択キーの場合、select-keyタグが記述される。操作要素タグは、本発明の操作情報の一例である。操作要素開始タグと操作要素終了タグの間に、behaviorタグが記述される。behaviorタグは、操作要素タグが示す要素に対する操作が行われた場合に実行される処理を定義するタグである。入力定義部に記述されるbehaviorタグの構成は、表示定義部に記述されるbehaviorタグの構成と同じである。
[1−5−1.リモートコントローラの場合]
図2(A)は、コントローラ2がリモートコントローラである場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。図2(B)は、アプリケーションプログラムの一覧の一例を示す図である。図2(C)は、リモートコントローラの外観及び操作画面の例を示す図である。図2(C)に示すように、リモートコントローラは、入力部26の構成要素として、例えば十字キー261と選択キー262とを備える。ユーザは、十字キー261を上下左右の何れかの方向に押すことができる。
図2(A)において、表示定義部には、titleタグ及びselect-boxタグが記述されている。図2(A)におけるselect-boxタグはsrc属性を含む。このsrc属性として、アプリケーションプログラムの一覧のファイル名が設定されている。図2(B)に示すように、アプリケーションプログラムの一覧には、アプリケーションプログラムごとに、アプリケーション名及びアプリケーションプログラムを識別するURLが記述されている。コントローラ2がアプリケーションサーバ1へアプリケーションプログラムの実行を要求するとき、コントローラ2は、アプリケーションプログラムの一覧に記述された何れかのURLをアプリケーションサーバ1へ送信する。
図2(A)に示すUI定義の場合、リモートコントローラの表示部27には、図2(C)に示すような操作画面が表示される。例えば、表示部27には、タイトル「アプリケーション選択」、及びアプリケーションプログラムの一覧に記述されたアプリケーション名をそれぞれ示したボタンが表示される。
図2(A)において、入力定義部には、複数のcross-keyタグ、及びselect-keyタグが記述されている。cross-keyタグは十字キー261に対応し、select-keyタグは選択キー262に対応する。各cross-keyタグは、例えばclass属性を有する。class属性は、十字キー261が押された方向を示す。cross-keyタグに対応するbehaviorタグは、コントローラ2が、アプリケーションプログラムの一覧のボタンのうち現在選択されているボタンの位置に表示されるカーソルを、上下の何れかのボタンの位置に移動させることを示す。select-keyタグに対応するbehaviorタグは、コントローラ2が、現在選択されているボタンに対応するアプリケーションプログラムのURLをアプリケーションサーバ1に送信することにより、アプリケーションサーバ1にアプリケーションプログラムを実行させることを示す。
図3(A)は、コントローラ2がリモートコントローラである場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。図3(B)は、リモートコントローラの外観及び操作画面の例を示す図である。
図3(A)において、表示定義部には、楽曲番号が入力されるテキストボックスに対応するtext-boxタグ、0〜9の数字ボタンに対応するitemタグ、選曲ボタンに対応するitemタグ、セッション番号を表示するためのtextタグが記述されている。0〜9の数字ボタンのそれぞれのbehaviorタグは、コントローラ2が、操作画面上において押下された数字ボタンに対応する数字をテキストボックスに追加することを示す。選曲ボタンのbehaviorタグは、コントローラ2がテキストボックスに入力されている楽曲番号をアプリケーションサーバ1に送信し、アプリケーションサーバ1がカラオケのアプリケーションプログラムを実行することを示す。コントローラ2から楽曲番号を受信したアプリケーションサーバ1は、カラオケのアプリケーションプログラムの実行により、楽曲番号に対応する楽曲の演奏処理を開始する。この演奏処理において、アプリケーションサーバ1は、記憶部14に記憶された楽曲データ、テロップデータ及び映像データに基づいて、カラオケコンテンツを生成する。カラオケコンテンツは、カラオケの演奏音と、歌詞のテロップを含む映像を多重化したデータである。アプリケーションサーバ1は、演奏処理の結果を示す映像及び音声として、カラオケコンテンツのストリーミング配信を行う。また、アプリケーションサーバ1は、カラオケの演奏中の操作画面に対応するUI定義をコントローラ2へ送信する。セッション番号は、アプリケーションサーバ1において起動されたアプリケーションプログラムに接続するためのセッションを識別する識別情報である。図3(A)に示すUI定義の場合、リモートコントローラの表示部27には、図3(B)に示すような操作画面が表示される。図3(B)に示すように、テキストボックス、0〜9の数字ボタン、選曲ボタン及びセッション番号が表示される。
図3(A)において、入力定義部には、複数のcross-keyタグ、及び1つのselect-keyタグが記述されている。cross-keyタグに対応するbehaviorタグは、コントローラ2が、操作画面に表示されているボタンのうち現在選択されているボタンの位置に表示されるカーソルを、上下左右の何れかのボタンの位置に移動させることを示す。select-keyタグに対応するbehaviorタグは、コントローラ2が、現在選択されているボタンが押下された場合の処理を実行することを示す。この場合、表示定義部において、押下されたボタンのitemタグに対応するbehaviorタグが示す処理が実行される。
図4(A)は、コントローラ2がリモートコントローラである場合におけるカラオケのアプリケーションプログラムのカラオケの演奏中の操作画面に対応するUI定義の一例を示す図である。図4(B)は、リモートコントローラの外観及び操作画面の例を示す図である。
図4(A)において、表示定義部には、演奏中に各種の操作を行うためのボタンに対応するitemタグ、セッション番号を表示するためのtextタグが記述されている。演奏中の操作として、例えば、楽曲のキーを上げる、キーを下げる、キーをニュートラルに戻す、楽曲のテンポを早くする、テンポを遅くする、テンポをニュートラルに戻す、演奏を停止する等がある。これらのitemタグに対応するbehaviorタグは、コントローラ2が、押下されたボタンに対応するコマンドをアプリケーションサーバ1に送信し、アプリケーションサーバ1がカラオケのアプリケーションプログラムを実行することを示す。コントローラ2からコマンドを受信したアプリケーションサーバ1は、カラオケのアプリケーションプログラムの実行により、キーの変更、テンポの変更、カラオケの演奏停止等のコマンドに対応した処理を実行する。キーの変更又はテンポの変更を行う場合、アプリケーションサーバ1は、変更後のキー又はテンポに基づいてカラオケコンテンツの生成及びストリーミング配信を実行する。カラオケの演奏停止の場合、アプリケーションサーバ1は、カラオケコンテンツの生成及び配信を停止し、例えば選曲用のUI定義をコントローラ2へ送信する。図4(A)に示すUI定義の場合、リモートコントローラの表示部27には、図4(B)に示すような操作画面が表示される。図4(A)に示すように、演奏中に各種操作を行うためのボタン及びセッション番号が表示される。図4(A)が示す入力定義部は、図3(A)に示す入力定義部と同じである。
図5(A)は、コントローラ2がリモートコントローラである場合におけるリズムゲームのアプリケーションプログラムの操作画面に対応するUI定義の一例を示す図である。図5(B)は、リモートコントローラの外観及び操作画面の例を示す図である。リズムゲームは、例えば青、赤、緑のボタンを、レンダラ3のディスプレイに表示されるゲーム画面の映像に応じてタイミングよく押すテレビゲームである。
図5(A)において、表示定義部には、青、赤、緑のボタンに対応するitemタグ、及びセッション番号を表示するためのtextタグが記述されている。青、赤、緑のボタンのそれぞれのbehaviorタグは、コントローラ2が、操作画面上において押下されたボタンの色情報をアプリケーションサーバ1に送信し、アプリケーションサーバ1がリズムゲームのアプリケーションプログラムを実行することを示す。コントローラ2から色情報を受信したアプリケーションサーバ1は、リズムゲームのアプリケーションプログラムの実行により、受信した色情報、色情報を受信したタイミング等に応じたゲーム画面の映像を生成し、生成した映像をレンダラ3へストリーミング配信する。図5(A)に示すUI定義の場合、リモートコントローラの表示部27には、図5(B)に示すような操作画面が表示される。図5(B)に示すように、青、赤、緑のボタン及びセッション番号が表示される。
図5(A)において、入力定義部には、複数のcross-keyタグ、及びselect-keyタグが記述されている。cross-keyタグに対応するbehaviorタグは、コントローラ2が、操作画面に表示されているボタンのうち現在選択されているボタンの位置に表示されるカーソルを、左右の何れかのボタンの位置に移動させることを示す。select-keyタグに対応するbehaviorタグは、コントローラ2が、現在選択されているボタンが押下された場合の処理を実行することを示す。この場合、表示定義部において、押下されたボタンのitemタグに対応するbehaviorタグが示す処理が実行される。
[1−5−2.スマートフォンの場合]
図6(A)は、コントローラ2がスマートフォンである場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。図6(B)は、スマートフォンの外観及び操作画面の例を示す図である。スマートフォンは、例えば入力部26と表示部27とが一体的に構成されたタッチパネルを備える。
図6(A)に示す表示定義部は、図2(A)に示す表示定義部と同じである。図6(A)に示すUI定義の場合、リモートコントローラの表示部27には、図6(B)に示すような操作画面が表示される。図6(A)において、入力定義部は、タッチパネルへのタップ操作に対応するtapタグが記述されている。tapタグに対応するbehaviorタグは、コントローラ2が、タップされたボタンに対応するアプリケーションプログラムのURLをアプリケーションサーバ1に送信することにより、アプリケーションサーバ1にアプリケーションプログラムを実行させることを示す。
図7(A)は、コントローラ2がスマートフォンである場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。図7(B)は、スマートフォンの外観及び操作画面の例を示す図である。
図7(A)に示す表示定義部は、図3(A)に示す表示定義部と同じである。図7(A)に示すUI定義の場合、リモートコントローラの表示部27には、図7(B)に示すような操作画面が表示される。図7(A)において、入力定義部は、タッチパネルへのタップ操作に対応するtapタグが記述されている。tapタグに対応するbehaviorタグは、コントローラ2が、タップされたボタンに対応する処理を実行することを示す。この場合、表示定義部において、タップされたボタンのitemタグに対応するbehaviorタグが示す処理が実行される。
図8(A)は、コントローラ2がスマートフォンである場合におけるリズムゲームのアプリケーションプログラムの操作画面に対応するUI定義の一例を示す図である。図8(B)は、スマートフォンの外観及び操作画面の例を示す図である。
図8(A)に示す表示定義部は、図5(A)に示す表示定義部と同じである。図8(A)に示すUI定義の場合、リモートコントローラの表示部27には、図8(B)に示すような操作画面が表示される。図8(A)において、入力定義部は、タッチパネルへのタップ操作に対応するtapタグが記述されている。tapタグに対応するbehaviorタグは、コントローラ2が、タップされたボタンに対応する処理を実行することを示す。この場合、表示定義部において、タップされたボタンのitemタグに対応するbehaviorタグが示す処理が実行される。
[1−5−3.テレビ受像機の場合]
図9(A)は、一体型クライアント4がテレビ受像機である場合におけるアプリケーションプログラム選択用の操作画面に対応するUI定義の一例を示す図である。図9(B)は、テレビ受像機の外観及び表示画面の例を示す図である。テレビ受像機の場合、例えばテレビ受像機に付属するテレビ用リモコンによる操作が可能である。このテレビ用リモコンは、例えば数字ボタン、方向ボタン、OKボタン、青、赤、緑のボタン等を備える。また、一体型クライアント4としてのテレビ受像機の場合、表示部27には、画面271及び272が表示される。画面271には、アプリケーションプログラムの実行結果を示す映像が表示される。画面272は操作画面である。
図9(A)に示す表示定義部は、図2(A)に示す表示定義部と同じである。図9(A)に示すUI定義の場合、テレビ受像機の表示部27には、操作画面として、図9(B)に示すような画面272が表示される。図2(A)において、入力定義部には、方向ボタンに対応する複数のdirection-keyタグ、及びOKボタンに対応するok-keyタグが記述されている。direction-keyタグに対応するbehaviorタグは、コントローラ2が、アプリケーションプログラムの一覧のボタンのうち現在選択されているボタンの位置に表示されるカーソルを、上下の何れかのボタンの位置に移動させることを示す。ok-keyタグに対応するbehaviorタグは、コントローラ2が、現在選択されているボタンに対応するアプリケーションプログラムのURLをアプリケーションサーバ1に送信することにより、アプリケーションサーバ1にアプリケーションプログラムを実行させることを示す。
図10(A)は、一体型クライアント4がテレビ受像機である場合におけるカラオケのアプリケーションプログラムの選曲用の操作画面に対応するUI定義の一例を示す図である。図10(B)は、テレビ受像機の外観及び表示画面の例を示す図である。
図10(A)において、表示定義部は、楽曲番号が入力されるテキストボックスに対応するtext-boxタグ、セッション番号を表示するためのtextタグ等が記述されている。図10(A)に示すUI定義の場合、テレビ受像機の表示部27には、図10(B)に示すような画面272が表示される。図10(B)に示すように、テキストボックス、及びセッション番号等が表示される。
図10(A)において、入力定義部には、0〜9の数字ボタンのそれぞれに対応するnum-keyタグ、及びOK-keyタグが記述されている。num-keyタグに対応するbehaviorタグは、コントローラ2が、押された数字ボタンに対応する数字をテキストボックスに追加することを示す。ok-keyタグに対応するbehaviorタグは、コントローラ2が、テキストボックスに入力されている楽曲番号をアプリケーションサーバ1に送信し、アプリケーションサーバ1がカラオケのアプリケーションプログラムを実行することを示す。
図11(A)は、一体型クライアント4がテレビ受像機である場合におけるリズムゲームのアプリケーションプログラムの操作画面に対応するUI定義の一例を示す図である。図11(B)は、テレビ受像機の外観及び表示画面の例を示す図である。図11(A)において、表示定義部は、セッション番号を表示するためのtextタグ等が記述されている。図11(A)に示すUI定義の場合、テレビ受像機の表示部27には、図11(B)に示すような画面272が表示される。図11(B)に示すように、セッション番号等が表示される。
図11(A)において、入力定義部には、青、赤、緑のボタンのそれぞれに対応するcolor-keyタグが記述されている。color-keyタグに対応するbehaviorタグは、コントローラ2が、押されたボタンに対応する色情報をアプリケーションサーバ1に送信し、アプリケーションサーバ1がリズムゲームのアプリケーションプログラムを実行することを示す。
[1−6.通信システムS1の動作]
次に、図12乃至図14を参照して、本実施形態の通信システムS1の動作について説明する。図12は、通信システムS1の処理概要の一例を示すシーケンス図である。
図12に示すように、ユーザは、コントローラ2に対して、コントローラプログラムを起動させる操作を行う(ステップS1)。すると、コントローラ2は、アプリケーション選択UI定義要求をアプリケーションサーバ1へ送信する(ステップS2)。アプリケーション選択UI定義要求は、コントローラ2の記憶部24に記憶されたコントローラ属性を含む。アプリケーション選択UI定義要求を受信したアプリケーションサーバ1は、アプリケーション選択UI定義要求に含まれるコントローラ属性に対応するアプリケーションプログラム選択用のUI定義をコントローラ2へ送信する(ステップS3)。
UI定義を受信したコントローラ2は、UI定義をRAM23に記憶させ、UI定義に基づいて、アプリケーションプログラム選択用の操作画面を表示部27に表示させる(ステップS4)。具体的に、コントローラ2は、UI定義に含まれる表示定義部が示す内容の操作画面を表示部27に表示させる。
操作画面に表示されたアプリケーションプログラムの一覧から、ユーザが例えばカラオケのアプリケーションプログラムを選択する操作を行ったとする(ステップS5)。すると、コントローラ2は、アプリケーション起動要求をアプリケーションサーバ1へ送信する(ステップS6)。アプリケーション起動要求は、アプリケーションプログラムの起動の要求を示す実行要求である。この場合のアプリケーション起動要求は、カラオケのアプリケーションプログラムのアプリケーションID及びコントローラ2のコントローラ属性を含む。
アプリケーション起動要求を受信したアプリケーションサーバ1は、アプリケーションDB5から、カラオケのアプリケーションプログラムを起動する(ステップS7)。このとき、アプリケーションサーバ1は、カラオケのアプリケーションプログラムの内部の情報として、アプリケーション起動要求に含まれるコントローラ属性をRAM13に記憶させる。起動時のカラオケのアプリケーションプログラムの内部状態は、例えば選曲待ち状態である。次いで、アプリケーションサーバ1は、UI定義の切替指示をコントローラ2へ送信する(ステップS8)。この場合の切替指示は、カラオケのアプリケーションプログラムに対応するUI定義のうち、アプリケーション起動要求に含まれるコントローラ属性に対応するUI定義であって、カラオケのアプリケーションプログラムの起動時に対応するUI定義を含む。カラオケのアプリケーションプログラムの起動時に対応するUI定義は、例えばカラオケの選曲用のUI定義である。切替指示は、更にセッション番号を含む。アプリケーションサーバ1は、起動したアプリケーションプログラムに対して新しいセッション番号を生成する。
切替指示を受信したコントローラ2は、切替指示に含まれるUI定義に基づいて、カラオケの選曲用の操作画面を表示部27に表示させるとともに、切替指示に含まれるセッション番号を表示部27に表示させる(ステップS9)。
その後、ユーザは、レンダラ3に対して起動操作を行う(ステップS10)。次いで、ユーザは、コントローラ2の表示部27に表示されたセッション番号をレンダラ3に対して、入力する(ステップS11)。すると、レンダラ3は、セッション接続要求をアプリケーションサーバ1へ送信する(ステップS12)。セッション接続要求は、入力されたセッション番号、レンダラ3のIPアドレス及びポート番号を含む。セッション接続要求を受信したアプリケーションサーバ1は、セッション接続要求に含まれるセッション番号に対応するプロセスである起動中のカラオケのアプリケーションプログラムへ、接続要求を送信する(ステップS13)。接続要求は、レンダラ3のIPアドレス及びポート番号を含む。接続要求を受信したアプリケーションプログラムを実行するアプリケーションサーバ1は、カラオケ用の画面の映像を、接続要求に含まれるIPアドレス及びポート番号により特定されるレンダラ3へストリーミング送信する(ステップS14)。レンダラ3は、受信した映像に基づいてカラオケ用の画面を表示する(ステップS15)。
ユーザは、コントローラ2の入力部26を操作して楽曲番号を入力する。コントローラ2は、選曲用のUI定義から、楽曲番号の入力の操作に対応する処理を示す処理情報として、ローカル処理情報を決定する。従って、コントローラ2は、ローカル処理情報を示す処理として、テキストボックスに数字を追加して、選曲用の操作画面を更新する。その後、ユーザは、選曲ボタンを押下する操作を行う(ステップS16)。コントローラは、選曲用のUI定義から、選曲ボタンを押下する操作に対応する処理を示す処理情報として、リモート処理情報を決定する。そこで、コントローラ2は、アプリケーションサーバ1へ、カラオケ演奏要求を送信する(ステップS17)。カラオケ演奏要求は、カラオケの演奏の要求を示す実行要求である。カラオケ演奏要求は、セッション番号及び入力された楽曲番号を含む。アプリケーションサーバ1は、カラオケ演奏要求に含まれるセッション番号に対応するカラオケのアプリケーションプログラムへ、カラオケ演奏要求を転送する。カラオケ演奏要求を受信したカラオケのアプリケーションプログラムを実行するアプリケーションサーバ1は、レンダラ3へストリーミング送信する映像及び音声を切り替える。具体的に、アプリケーションサーバ1は、カラオケ演奏要求に含まれる楽曲番号に対応するカラオケコンテンツを生成しながら、カラオケコンテンツをレンダラ3へストリーミング送信する。楽曲番号が受信された場合のカラオケコンテンツの内部状態は、例えば演奏中状態に変化する。また、アプリケーションサーバ1は、カラオケの演奏中用のUI定義のうち、起動中のカラオケのアプリケーションプログラムの内部情報としてのコントローラ属性に対応するUI定義を含む切替指示を、コントローラ2へ送信する(ステップS18)。切替指示を受信したコントローラ2は、切替指示に含まれるUI定義に基づいて、カラオケの演奏中用の操作画面を表示部27に表示させる(ステップS19)。
図13は、アプリケーションサーバ1の処理例を示すフローチャートである。例えば、アプリケーションサーバ1が起動して、アプリケーションサーバ1がアプリケーションサーバプログラムを起動すると、アプリケーションサーバ1のCPU11は、図13に示す処理を実行する。
図13に示すように、CPU11は、アプリケーションサーバ1が停止するか否かを判定する(ステップS21)。このとき、CPU11は、アプリケーションサーバ1が停止しないと判定した場合には(ステップS21:NO)、ステップS22に進む。ステップS22において、CPU11は、コントローラ2からアプリケーション選択UI定義要求を受信したか否かを判定する。このとき、CPU11は、アプリケーション選択UI定義要求を受信していないと判定した場合には(ステップS22:NO)、ステップS24に進む。一方、CPU11は、アプリケーション選択UI定義要求を受信したと判定した場合には(ステップS22:YES)、ステップS23に進む。
ステップS23において、CPU11は、アプリケーション選択UI定義要求に含まれるコントローラ属性に対応するアプリケーションプログラム選択用のUI定義をUI定義DB6から取得する。そして、CPU11は、取得したUI定義をコントローラ2へ送信して、ステップS24に進む。
ステップS24において、CPU11は、コントローラ2からアプリケーション起動要求を受信したか否かを判定する。このとき、CPU11は、アプリケーション起動要求を受信していないと判定した場合には(ステップS24:NO)、ステップS27に進む。一方、CPU11は、アプリケーション起動要求を受信したと判定した場合には(ステップS24:YES)、ステップS25に進む。
ステップS25において、CPU11は、アプリケーションDB5から、アプリケーション起動要求に含まれるアプリケーションIDに対応するアプリケーションプログラムを実行する。また、CPU11は、セッション番号を生成する。次いで、CPU11は、アプリケーション起動要求に含まれるアプリケーションID及びコントローラ属性と、アプリケーションプログラム起動時の内部状態との組み合わせに対応するUI定義をUI定義DB6から取得する。そして、CPU11は、UI定義及びコントローラ属性を含む切替指示を、コントローラ2へ送信して(ステップS26)、ステップS27に進む。
ステップS27において、CPU11は、コントローラ2からセッション接続要求を受信したか否かを判定する。このとき、CPU11は、セッション接続要求を受信していないと判定した場合には(ステップS27:NO)、ステップS21に進む。一方、CPU11は、セッション接続要求を受信したと判定した場合には(ステップS27:YES)、ステップS28に進む。ステップS28において、CPU11は、セッション接続要求からレンダラ3のIPアドレス及びポート番号を取得する。そして、CPU11は、取得したIPアドレス及びポート番号を含む接続要求をアプリケーションプログラムへ送信して、ステップS21に進む。ステップS21において、CPU11は、アプリケーションサーバ1が停止すると判定した場合には(ステップS21:YES)、図13に示す処理を終了させる。
図14は、コントローラ2の処理例を示すフローチャートである。例えば、コントローラ2がコントローラプログラムを起動すると、コントローラ2のCPU21は、図14に示す処理を実行する。
図14において、CPU21は、記憶部24に記憶されているコントローラ属性を含むアプリケーション選択UI定義要求をアプリケーションサーバ1へ送信することにより、アプリケーションサーバ1から、アプリケーションプログラムの選択用のUI定義を取得する(ステップS31)。次いで、CPU21は、UI定義をRAM23に記憶させ、記憶させたUI定義に基づいて、操作画面を表示部27に表示する(ステップS32)。例えば、UI定義がtitle開始タグ及びtitle終了タグを含む場合、CPU21は、これらのタグに囲まれたタイトルを表示部27に表示する。また例えば、UI定義がselect-boxタグを含む場合、CPU21は、select-boxタグのsrc属性が示すファイルから、複数のアプリケーション名を取得する。そして、CPU21は、複数のアプリケーション名のそれぞれを含む複数のボタンを表示部27に表示する。また例えば、UI定義がselect-box開始タグ及びselect-box終了タグを含む場合、CPU21は、これらのタグに囲まれている1又は複数のitemタグをUI定義から取得する。そして、CPU21は、itemタグごとに、itemタグのsrc属性が示すテキストを含むボタンを表示部27に表示する。また例えば、UI定義がtext-boxタグを含む場合、CPU21は、テキストボックスを表示部27に表示する。また例えば、UI定義がtext開始タグ及びtext終了タグを含む場合、CPU21は、これらのタグに囲まれた内容を表示部27に表示する。次いで、CPU21は、入力部26から、ユーザ操作の入力が行われたか否かを判定する(ステップS33)。このとき、CPU21は、ユーザ操作の入力が行われていないと判定した場合には(ステップS33:NO)、ステップS38に進む。一方、CPU21は、ユーザ操作の入力が行われたと判定した場合には(ステップS33:YES)、ステップS34に進む。
ステップS34において、CPU21は、入力されたユーザ操作を示す操作情報を生成し、RAM23から、操作情報に対応する処理情報を取得する。そして、CPU21は、取得した処理情報がリモート処理情報であるか否かを判定する。このとき、CPU21は、取得した処理情報がリモート処理情報ではないと判定した場合には(ステップS34:NO)、ステップS35に進む。ステップS35において、CPU21は、処理情報として取得したローカル処理情報が示す処理を実行して、操作画面の表示を変更する。次いで、CPU21は、ステップS38に進む。一方、CPU21は、取得した処理情報がリモート処理情報であると判定した場合には(ステップS34:YES)、ステップS36に進む。
ステップS36において、CPU21は、取得したリモート処理情報からアプリケーションIDを取得する。また、CPU21は、リモート処理情報に基づき、必要に応じてパラメータを取得する。そして、CPU21は、アプリケーションID、パラメータ、記憶部24に記憶されたコントローラ属性を含む実行要求をアプリケーションサーバ1へ送信する。次いで、CPU21は、送信した実行要求に応じてアプリケーションサーバ1からUI定義を含む切替指示が受信されたか否かを判定する(ステップS37)。このとき、CPU21は、切替指示が受信されなかったと判定した場合には(ステップS37:NO)、ステップS38に進む。一方、CPU21は、切替指示が受信されたと判定した場合には(ステップS37:YES)、ステップS32に進む。ステップS32において、CPU21は、RAM23に記憶されたUI定義を、切替指示に含まれるUI定義で上書きして、UI定義を切り替える。
ステップS38において、CPU21は、コントローラプログラムが終了するか否かを判定する。このとき、CPU21は、コントローラプログラムが終了しないと判定した場合には(ステップS38:NO)、ステップS33に進む。一方、CPU21は、コントローラプログラムが終了すると判定した場合には(ステップS38:YES)、図14に示す処理を終了させる。
[2.第2実施形態]
[2−1.通信システムの構成]
図15(A)は、本実施形態の通信システムS2の概要構成例を示す図である。図15(A)において、図1(A)と同様の要素については同様の符号が付されている。図15(A)に示すように、通信システムS2は、アプリケーションサーバ1、UI定義サーバ7、複数のコントローラ2、及び複数のレンダラ3を含んで構成される。通信システムS2は、一体型クライアント4を更に備えてもよい。UI定義サーバ7は、本発明の第2サーバ装置の一例である。アプリケーションサーバ1、UI定義サーバ7、コントローラ2、及びレンダラ3は、それぞれネットワーク10に接続される。アプリケーションサーバ1は、アプリケーションDB5にアクセス可能に構成されている。
UI定義サーバ7は、コントローラ2へUI定義を送信する。UI定義サーバ7は、UI定義DB6にアクセス可能に構成されている。例えば、UI定義サーバ7とUI定義DB6とがLAN等のネットワークにより接続されてもよい。或いは、UI定義サーバ7が、例えばUI定義DB6を備えてもよい。通信システムS2によれば、アプリケーションプログラムとUI定義とを別々のサーバ装置で管理することができる。
[2−2.UI定義サーバ7の構成]
次に、図15(B)を参照して、UI定義サーバ7の構成について説明する。図15(B)は、本実施形態のUI定義サーバ7の概要構成例を示す図である。図15(B)に示すように、UI定義サーバ7は、CPU71、ROM72、RAM73、記憶部74及び通信部75等を備えて構成される。これらの構成要素は、バス76に接続されている。通信部75は、ネットワーク10に接続される。記憶部74は、例えばハードディスクドライブにより構成される。記憶部74に、UI定義DB6が記憶されていてもよい。記憶部74には、OS、及びUI定義サーバプログラム等が記憶されている。UI定義サーバプログラムは、コンピュータとしてのCPU71に、UI定義の送信等の処理を実行させるプログラムである。UI定義サーバプログラム等は、例えばネットワーク10等を介して他のサーバ等からダウンロードされてもよい。或いは、UI定義サーバプログラム等は、例えば光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部74に読み込まれてもよい。
[2−3.通信システムS2の動作]
次に、図16を参照して、本実施形態の通信システムS2の動作について説明する。図16は、通信システムS2の処理概要の一例を示すシーケンス図である。図16において、図12と同様の処理については同様の符号が付されている。
図16に示すように、先ずステップS1〜S7が実行される。次いで、アプリケーションサーバ1は、起動したカラオケのアプリケーションプログラムに対応するUI定義のうち、アプリケーション起動要求に含まれるコントローラ属性に対応するUI定義であって、カラオケのアプリケーションプログラムの起動時に対応するUI定義のUI定義位置情報を生成する。そして、アプリケーションサーバ1は、UI定義位置情報、及びセッション番号を含む切替指示をコントローラ2へ送信する(ステップS41)。切替指示を受信したコントローラ2は、切替指示からUI定義位置情報を取得し、このUI定義位置情報を含むUI定義要求をUI定義サーバ7へ送信する(ステップS42)。UI定義要求を受信したUI定義サーバ7は、UI定義要求に含まれるUI定義位置情報に対応するカラオケの選曲用のUI定義を、UI定義DB6から取得する。そして、UI定義サーバ7は、UI定義をコントローラ2へ送信する(ステップS43)。UI定義を受信したコントローラ2は、UI定義をRAM23に記憶させる。そして、コントローラ2は、RAM23に記憶されたUI定義に基づいて、カラオケの選曲用の操作画面を表示部27に表示させる(ステップS9)。
次いで、ステップS10〜S17が実行される。次いで、起動中のカラオケのアプリケーションプログラムを実行するアプリケーションサーバ1は、カラオケの演奏中用のUI定義のうち、起動中のカラオケのアプリケーションプログラムの内部情報としてのコントローラ属性に対応するUI定義のUI定義位置情報を含む切替指示を、コントローラ2へ送信する(ステップS44)。切替指示を受信したコントローラ2は、切替指示からUI定義位置情報を取得し、このUI定義位置情報を含むUI定義要求をUI定義サーバ7へ送信する(ステップS45)。UI定義要求を受信したUI定義サーバ7は、UI定義要求に含まれるUI定義位置情報に対応するカラオケの演奏中用のUI定義を、UI定義DB6から取得する。そして、UI定義サーバ7は、UI定義をコントローラ2へ送信する(ステップS46)。UI定義を受信したコントローラ2は、UI定義をRAM23に記憶させる。そして、コントローラ2は、RAM23に記憶されたUI定義に基づいて、カラオケの演奏中用の操作画面を表示部27に表示させる(ステップS19)。
なお、コントローラ2は、UI定義サーバ7から受信したUI定義をRAM23に記憶させるとともに、このUI定義を記憶部24に記憶させてもよい。このとき、コントローラ2は、UI定義をUI定義位置情報等に対応付けて記憶部24に記憶させてもよい。アプリケーションサーバ1から切替指示を受信したントローラ2は、切替指示に含まれるUI定義位置情報に対応するUI定義が記憶部24に記憶されている場合には、記憶部24に記憶されているUI定義をRAM23に記憶させてもよい。そして、コントローラ2は、処理情報の決定に用いるUI定義を、RAM23に新たに記憶されたUI定義に切り替えてもよい。この場合、コントローラ2は、UI定義サーバ7からUI定義を取得する必要がない。
[3.第3実施形態]
次に説明する第3実施形態の通信システムは、例えば通信システムS1であってもよいし、通信システムS2であってもよい。通信システムS1及びS2の何れの場合であっても、アプリケーションサーバ1は、切り替え先のUI定義のUI定義位置情報を含む切替指示をコントローラ2へ送信する。
コントローラ2は、複数のUI定義を記憶部24に記憶させる。記憶部24に記憶される複数のUI定義は、記憶部24に記憶されたコントローラ属性に対応するUI定義である。例えば、複数のUI定義が、光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して記憶部24に読み込まれてもよい。或いは、コントローラ2の出荷時に複数のUI定義が予め記憶部24に記憶されていてもよい。或いは、コントローラ2が、アプリケーションサーバ1又はUI定義サーバ7から、コントローラ属性に対応する全てのUI定義を取得して、記憶部24に記憶させてもよい。
コントローラ2は、アプリケーションサーバから切替指示を受信すると、切替指示に含まれるUI定義位置情報に対応するUI定義を、記憶部24から読み出す。そして、コントローラ2は、読み出したUI定義をRAM23に記憶させる。RAM23に既に何らかのUI定義が記憶されていた場合、コントローラ2は、RAM23に記憶されているUI定義を、記憶部24から読み出したUI定義で上書きする。これにより、コントローラ2は、ユーザ操作に対応する処理を決定するためのUI定義を切り替える。このため、コントローラ2は、UI定義を切り替えるときに、切り替え先のUI定義をUI定義サーバ7又はアプリケーションサーバ1から取得する必要がない。
UI定義DB6において、新しいUI定義が登録されたり、UI定義が更新されたりする場合がある。コントローラ2は、新しい又は更新されたUI定義を記憶部24に記憶させるため、UI定義DB6に接続されたアプリケーションサーバ1又はUI定義サーバ7へ、定期的にUI定義更新状況問い合わせを送信してもよい。UI定義更新状況問い合わせは、本発明の問い合わせ情報の一例である。そして、コントローラ2は、アプリケーションサーバ1又はUI定義サーバ7から取得したUI定義で、記憶部24に記憶されたUI定義を更新する。これにより、UI定義が必要になるよりも前に、更新されたUI定義を記憶部24に記憶させておくことができる。
図17は、コントローラ2におけるUI定義更新処理の一例を示すフローチャートである。図17に示すように、CPU21は、UI定義を更新する時刻が到来したか否かを判定する(ステップS51)。例えば、1日のうち所定の時刻が、UI定義を更新する時刻であってもよい。或いは、例えば1週間のうち所定の曜日の所定の時刻が、UI定義を更新する時刻であってもよい。CPU21は、UI定義を更新する時刻が到来していないと判定した場合には(ステップS51:NO)、ステップS56に進む。一方、CPU21は、UI定義を更新する時刻が到来したと判定した場合には(ステップS51:YES)、ステップS52に進む。
ステップS52において、CPU21は、UI定義更新状況問い合わせを、UI定義サーバ7(またはアプリケーションサーバ1)へ送信する。UI定義更新状況問い合わせは、例えば記憶部24に記憶されているUI定義のUI定義位置情報及び最終更新日時のリストと、コントローラ属性とを含んでいてもよい。UI定義サーバ7は、UI定義更新状況問い合わせに含まれるリストに基づいて、UI定義DB6に記憶されているUI定義のうち、UI定義更新状況問い合わせに含まれるコントローラ属性に対応するUI定義の中から、コントローラ2に記憶されていないUI定義及びコントローラ2に記憶されているUI定義よりも最終更新日時が新しいUI定義のUI定義位置情報を取得する。そして、UI定義サーバ7は、取得したUI定義位置情報を含む問い合わせ応答をコントローラ2へ送信する。
CPU21は、受信した問い合わせ応答に基づいて、UI定義の更新があるか否かを判定する(ステップS53)。このとき、CPU21は、問い合わせ応答にUI定義位置情報が含まれていなかった場合には、UI定義の更新がなかったと判定する(ステップS53:NO)。この場合、CPU21は、ステップS56に進む。一方、CPU21は、問い合わせ応答にUI定義位置情報が含まれている場合には、UI定義の更新があると判定する(ステップS53:YES)。この場合、CPU21は、ステップS54に進む。
ステップS54において、CPU21は、問い合わせ応答からUI定義位置情報を取得し、UI定義位置情報を含むUI定義要求をUI定義サーバ7へ送信する。これにより、CPU21は、UI定義サーバ7からUI定義を取得する。次いで、CPU21は、記憶部24に記憶されるUI定義を更新する(ステップS55)。具体的には、CPU21は、UI定義サーバ7から取得したUI定義を記憶部24に記憶させる。このとき、UI定義サーバ7から取得したUI定義のUI定義位置情報と同一のUI定義位置情報のUI定義が記憶部24に既に記憶されている場合、CPU21は、記憶部24に既に記憶されているUI定義を、取得したUI定義で上書きする。次いで、CPU21は、ステップS56に進む。ステップS56において、CPU21は、コントローラ2が停止するか否かを判定する。このとき、CPU21は、コントローラ2が停止しないと判定した場合には(ステップS56:NO)、ステップS51に進む。一方、CPU21は、コントローラ2が停止すると判定した場合には(ステップS56:YES)、UI定義更新処理を終了させる。
以上説明したように、上記各実施形態によれば、ユーザ操作に対応する処理のうち、コントローラ2で実行される処理については、コントローラ2はアプリケーションサーバ1へ要求を送信しない。そのため、ユーザの操作に対するレスポンスを短縮させることができる。
なお、コントローラ2により実行される処理は、操作画面のスクロール及び操作画面内のユーザ操作の対象を示すしるしの移動の少なくとも何れか一方のみであり、アプリケーションサーバ1により実行される処理は、操作画面のスクロール及び操作画面内のユーザ操作の対象を示すしるしの移動以外の全ての処理であってもよい。すなわち、UI定義において、操作画面のスクロール又は操作画面内のユーザ操作の対象を示すしるしの移動を示す処理情報は、ローカル処理情報としてのみ記述され、これらの処理以外の処理を示す処理情報は、リモート処理情報としてのみ記述されてもよい。
また、例えばRAM23に、UI定義を記憶させる領域が複数設定されてもよい。コントローラ2は、複数の領域のそれぞれに互いに異なるUI定義を記憶させてもよい。この場合、例えばRAM23に、使用されるUI定義のアドレスが記憶されてもよい。コントローラ2は、このアドレスが示す領域に記憶されているUI定義を用いて、操作画面を表示し、処理情報を決定してもよい。コントローラ2は、UI定義のアドレスを変更することにより、操作画面の表示及び処理情報の決定に用いられるUI定義を切り替えてもよい。
1 アプリケーションサーバ
2 コントローラ
3 レンダラ
4 一体型クライアント
5 アプリケーションDB
6 UI定義DB
7 UI定義サーバ
10 ネットワーク
11、21、71 CPU
12、22、72 ROM
13、23、73 RAM
14、24、74 記憶部
15、25、75 通信部
26 入力部
27 表示部
S1、S2 通信システム

Claims (14)

  1. アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムにおいて、
    前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置と、
    前記サーバ装置と、
    前記出力装置と、
    を備え、
    前記端末装置は、
    前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、
    前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御手段と、
    ユーザ操作が入力される入力手段と、
    前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する前記処理情報として前記第1処理情報又は前記第2処理情報を決定する決定手段と、
    前記決定手段により前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行手段と、
    前記決定手段により前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信手段と、
    前記要求情報送信手段により送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信手段と、
    前記切替情報受信手段により受信された前記切替情報に基づいて、前記決定手段による処理情報の決定に用いられる定義情報を切り替える切替手段と、
    を備え、
    前記サーバ装置は、
    前記アプリケーションプログラムを記憶するプログラム記憶手段と、
    前記端末装置から前記要求情報を受信する要求情報受信手段と、
    前記要求情報受信手段により受信された前記要求情報に基づいて、前記プログラム記憶手段に記憶された前記アプリケーションプログラムを実行するプログラム実行手段と、
    前記プログラム実行手段による前記アプリケーションプログラムの実行に応じて、前記切替情報を前記端末装置へ送信する切替情報送信手段と、
    前記プログラム実行手段による前記アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成手段と、
    前記生成手段により生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信手段と、
    を備え、
    前記出力装置は、
    前記サーバ装置から送信された、前記映像データ及び音声データの少なくとも何れか一方を受信する受信手段と、
    前記受信手段により受信された、前記映像データ及び音声データの少なくとも何れか一方が示す実行結果を出力手段により出力させる出力制御手段と、
    を備えることを特徴とする通信システム。
  2. 請求項1に記載の通信システムにおいて、
    複数の前記定義情報を記憶する定義情報記憶手段と、
    前記定義情報記憶手段に記憶された前記定義情報を前記端末装置へ送信する定義情報送信手段と、
    を備える第2サーバ装置を更に含み、
    前記端末装置は、
    前記第2サーバ装置から送信された前記定義情報を受信する定義情報受信手段を更に備え、
    前記切替手段は、前記定義情報受信手段により受信された前記定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする通信システム。
  3. 請求項2に記載の通信システムにおいて、
    前記切替情報送信手段は、前記プログラム実行手段によるアプリケーションプログラムの実行に応じた前記切り替え先の定義情報を識別する定義情報識別情報を前記切替情報として送信し、
    前記端末装置は、
    前記切替情報受信手段により受信された前記定義情報識別情報を第2サーバ装置へ送信する定義情報識別情報送信手段を更に備え、
    前記第2サーバ装置は、
    前記端末装置から送信された前記定義情報識別情報を受信する定義情報識別情報受信手段を更に備え、
    前記定義情報記憶手段は、前記定義情報と、前記定義情報を識別する定義情報識別情報とを対応付けて複数記憶し、
    前記定義情報送信手段は、前記定義情報記憶手段に記憶されている複数の前記定義情報のうち、前記定義情報識別情報受信手段により受信された前記定義情報識別情報に対応する定義情報を送信することを特徴とする通信システム。
  4. 請求項1に記載の通信システムにおいて、
    前記サーバ装置は、
    複数の前記定義情報を記憶する定義情報記憶手段を更に備え、
    前記切替情報送信手段は、前記定義情報記憶手段に記憶された前記複数の定義情報のうち、前記プログラム実行手段によるアプリケーションプログラムの実行に応じた前記切り替え先の定義情報を前記切替情報として送信し、
    前記端末装置は、
    前記切替手段は、前記切替情報受信手段により受信された前記定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする通信システム。
  5. 請求項1乃至4の何れか1項に記載の通信システムにおいて、
    前記端末装置は、
    複数の前記定義情報を記憶する不揮発性記憶手段を更に備え、
    前記切替手段は、前記切り替え先の定義情報が前記不揮発性記憶手段に記憶されている場合、前記不揮発性記憶手段に記憶された前記切り替え先の定義情報を前記一時記憶手段に記憶させ、前記決定手段による処理情報の決定に用いられる定義情報を、前記一時記憶手段に記憶された前記定義情報に切り替えることを特徴とする通信システム。
  6. 請求項5に記載の通信システムにおいて、
    複数の前記定義情報を記憶する定義情報記憶手段と、
    前記定義情報の問い合わせを示す問い合わせ情報を前記端末装置から受信する問い合わせ情報受信手段と、
    前記問い合わせ情報受信手段により前記問い合わせ情報が受信された場合、前記定義情報記憶手段に記憶された前記複数の定義情報のうち、前記端末装置に記憶されている定義情報よりも新しい定義情報を前記端末装置へ送信する定義情報送信手段と、
    を備える第2サーバ装置を更に含み、
    前記端末装置は、
    前記問い合わせ情報を定期的に前記第2サーバ装置へ送信する問い合わせ情報送信手段と、
    前記第2サーバ装置から送信された前記定義情報を受信する定義情報受信手段と、
    前記定義情報受信手段により受信された前記定義情報で、前記定義情報記憶手段に記憶された定義情報を更新する更新手段と、
    を更に備えることを特徴とする通信システム。
  7. 請求項1乃至6の何れか1項に記載の通信システムにおいて、
    前記要求情報送信手段は、前記第2処理情報がアプリケーションプログラムの起動を示す場合、起動される前記アプリケーションプログラムを識別するアプリケーションプログラム識別情報を含む前記要求情報を送信し、
    前記プログラム記憶手段は、アプリケーションプログラムと前記アプリケーションプログラムを識別するアプリケーションプログラム識別情報とを対応付けて複数記憶し、
    前記プログラム実行手段は、前記プログラム記憶手段に記憶された複数のアプリケーションプログラムのうち、前記要求情報に含まれる前記アプリケーションプログラム識別情報に対応するアプリケーションプログラムを起動させ、
    前記切替情報送信手段は、前記プログラム実行手段によりアプリケーションプログラムが起動された場合に、起動された前記アプリケーションプログラムに対応する前記切り替え先の定義情報に関する前記切替情報を送信することを特徴とする通信システム。
  8. 請求項1乃至6の何れか1項に記載の通信システムにおいて、
    前記切替情報送信手段は、起動中のアプリケーションプログラムが前記プログラム実行手段により実行されることにより、前記起動中のアプリケーションプログラムの内部状態が変化した場合、前記起動中のアプリケーションプログラムに対応する複数の定義情報のうち、変化した前記内部状態に対応する前記切り替え先の定義情報に関する前記切替情報を送信することを特徴とする通信システム。
  9. 請求項1乃至8の何れか1項に記載の通信システムにおいて、
    前記端末装置は、
    前記端末装置の属性を示す属性情報を記憶する属性情報記憶手段を更に備え、
    前記切替手段は、前記属性情報記憶手段に記憶された前記属性情報が示す属性に対応する定義情報へ切り替えることを特徴とする通信システム。
  10. 請求項1乃至9の何れか1項に記載の通信システムにおいて、
    前記定義情報は、前記表示手段に表示されている前記操作画面のスクロール及び前記操作画面内のユーザ操作の対象を示すしるしの移動の何れかを含む処理を示す前記第1処理情報と、前記サーバ装置から前記出力装置へ送信される、前記映像データ及び前記音声データの少なくとも何れか一方の切り替えを伴う処理を示す前記第2処理情報とを含むことを特徴とする通信システム。
  11. アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる端末装置において、
    前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、
    前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御手段と、
    ユーザ操作が入力される入力手段と、
    前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する処理情報として前記第1処理情報又は前記第2処理情報を決定する決定手段と、
    前記決定手段により前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行手段と、
    前記決定手段により前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信手段と、
    前記要求情報送信手段により送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信手段と、
    前記切替情報受信手段により受信された前記切替情報に基づいて、前記決定手段による処理情報の決定に用いられる定義情報を切り替える切替手段と、
    を備えることを特徴とする端末装置。
  12. アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる端末装置により実行されるプログラムにおいて、
    前記アプリケーションプログラムに対応するユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、
    ユーザ操作が入力される入力手段と、
    を備える前記端末装置のコンピュータに、
    前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御ステップと、
    前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する処理情報として前記第1処理情報又は前記第2処理情報を決定する決定ステップと、
    前記決定ステップにより前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行ステップと、
    前記決定ステップにより前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信ステップと、
    前記要求情報送信ステップにより送信された前記要求情報に基づいて前記サーバ装置により前記アプリケーションプログラムが実行されることに応じて前記サーバ装置から送信される切替情報であって、切り替え先の定義情報に関する切替情報を受信する切替情報受信ステップと、
    前記切替情報受信ステップにより受信された前記切替情報に基づいて、前記決定ステップによる処理情報の決定に用いられる定義情報を切り替える切替ステップと、
    を実行させることを特徴とするプログラム。
  13. アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する通信システムに含まれる前記サーバ装置において、
    前記ネットワークを介して端末装置からの要求に応じて実行されるアプリケーションプログラムを記憶するプログラム記憶手段と、
    前記アプリケーションプログラムに対応するユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を複数記憶する定義情報記憶手段と、
    前記端末装置が備える一時記憶手段に記憶された前記定義情報から、前記端末装置が備える入力手段を用いて入力されたユーザ操作を示す前記操作情報に対応する処理情報として前記第2処理情報が決定された場合、前記端末装置から、前記第2処理情報が示す処理の要求を示す要求情報を受信する要求情報受信手段と、
    前記要求情報受信手段により受信された前記要求情報に基づいて、前記プログラム記憶手段に記憶されたアプリケーションプログラムを実行するプログラム実行手段と、
    前記プログラム実行手段によるアプリケーションプログラムの実行に応じて、前記入力手段を用いて入力されるユーザ操作を示す操作情報に対応する前記処理情報の決定に用いられる定義情報の切り替え先の定義情報に関する切替情報を前記端末装置へ送信する切替情報送信手段であって、前記定義情報記憶手段に記憶された複数の前記定義情報のうち、前記アプリケーションプログラムの実行に応じた定義情報を、切り替え先の定義情報として含む前記切替情報を送信する切替情報送信手段と、
    前記プログラム実行手段によるアプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成手段と、
    前記生成手段により生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信手段と、
    を備えることを特徴とするサーバ装置。
  14. アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成するサーバ装置からネットワークを介して送信された、前記映像データ及び前記音声データの少なくとも何れか一方を出力装置が受信する情報処理装置において、
    前記ネットワークを介して前記サーバ装置へ前記アプリケーションプログラムの実行を要求する端末装置であって、前記アプリケーションプログラムに対応したユーザインタフェースの定義を示す定義情報であって、所定のユーザ操作ごとに、前記ユーザ操作を示す操作情報と、前記ユーザ操作に応じた処理を示す処理情報であって、前記端末装置により実行される処理を示す第1処理情報及び前記サーバ装置による前記アプリケーションプログラムの実行を示す第2処理情報の何れか一方とが対応付けられた定義情報を記憶する一時記憶手段と、ユーザ操作が入力される入力手段と、を備える端末装置が、前記一時記憶手段に記憶された前記定義情報に基づいて、前記アプリケーションプログラムに対応する操作画面を表示手段に表示させる表示制御ステップと、
    前記端末装置が、前記一時記憶手段に記憶された前記定義情報から、前記入力手段を用いて入力された前記ユーザ操作を示す操作情報に対応する前記処理情報として前記第1処理情報又は前記第2処理情報を決定する決定ステップと、
    前記端末装置が、前記決定ステップにより前記第1処理情報が決定された場合、前記第1処理情報が示す処理を実行する処理実行ステップと、
    前記端末装置が、前記決定ステップにより前記第2処理情報が決定された場合、前記第2処理情報が示す処理の要求を示す要求情報を前記サーバ装置へ送信する要求情報送信ステップと、
    前記サーバ装置が、前記端末装置から前記要求情報を受信する要求情報受信ステップと、
    前記サーバ装置が、前記要求情報受信ステップにより受信された前記要求情報に基づいて、前記アプリケーションプログラムを記憶するプログラム記憶手段に記憶された前記アプリケーションプログラムを実行するプログラム実行ステップと、
    前記サーバ装置が、前記プログラム実行ステップによる前記アプリケーションプログラムの実行に応じて、前記入力手段を用いて入力されるユーザ操作を示す操作情報に対応する前記処理情報の決定に用いられる定義情報の切り替え先の定義情報に関する切替情報を前記端末装置へ送信する切替情報送信ステップと、
    前記端末装置が、前記サーバ装置から送信された前記切替情報を受信する切替情報受信ステップと、
    前記端末装置が、前記切替情報受信ステップにより受信された前記切替情報に基づいて、前記決定ステップによる処理情報の決定に用いられる定義情報を切り替える切替ステップと、
    前記サーバ装置が、前記プログラム実行ステップによる前記アプリケーションプログラムの実行結果を示す映像データ及び音声データの少なくとも何れか一方を生成する生成ステップと、
    前記サーバ装置が、前記生成ステップにより生成された、前記映像データ及び前記音声データの少なくとも何れか一方を前記出力装置へ送信する送信ステップと、
    前記出力装置が、前記サーバ装置から送信された、前記映像データ及び音声データの少なくとも何れか一方を受信する受信ステップと、
    前記出力装置が、前記受信ステップにより受信された、前記映像データ及び音声データの少なくとも何れか一方が示す実行結果を出力手段により出力させる出力制御ステップと、
    を含むことを特徴とする情報処理方法。
JP2015065113A 2015-03-26 2015-03-26 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法 Active JP6274140B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015065113A JP6274140B2 (ja) 2015-03-26 2015-03-26 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015065113A JP6274140B2 (ja) 2015-03-26 2015-03-26 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2016184352A true JP2016184352A (ja) 2016-10-20
JP6274140B2 JP6274140B2 (ja) 2018-02-07

Family

ID=57243082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015065113A Active JP6274140B2 (ja) 2015-03-26 2015-03-26 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6274140B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053893A (ja) * 2004-07-14 2006-02-23 Nec Corp データ処理システム、データ処理方法、処理装置、端末装置、携帯端末装置およびプログラム
JP2009159188A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd コンテンツ表示用サーバ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053893A (ja) * 2004-07-14 2006-02-23 Nec Corp データ処理システム、データ処理方法、処理装置、端末装置、携帯端末装置およびプログラム
JP2009159188A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd コンテンツ表示用サーバ

Also Published As

Publication number Publication date
JP6274140B2 (ja) 2018-02-07

Similar Documents

Publication Publication Date Title
KR102071579B1 (ko) 화면 미러링을 이용한 서비스 제공 방법 및 그 장치
JP2006343884A (ja) 画面表示プログラム、画面表示プログラムを記憶したコンピュータ読み取り可能な記憶媒体、画面表示装置、携帯端末装置及び画面表示方法
JP6178941B1 (ja) リアクション選択装置、リアクション選択方法、リアクション選択プログラム
US10187448B2 (en) Remote application control interface
US8651951B2 (en) Game processing server apparatus
US8140999B2 (en) Display process device and display process method
US7251504B2 (en) Method for playing interactive contents for standby mode in a mobile communication terminal, and a mobile communication terminal using the same
JP2005538638A (ja) ワイヤレス投影システム
KR100457663B1 (ko) 이동통신 단말기에서 대기모드용 인터랙티브 컨텐츠의재생방법, 및 이를 이용한 이동통신 단말기
KR102051540B1 (ko) 디스플레이장치 및 그 제어방법
JP5448344B2 (ja) 情報処理装置およびプログラム
US8407618B2 (en) Displaying an operation key image to distinguish a correspondence between an operation key and a selected window
US9853853B2 (en) Facilitating sharing of setting data in binary format for electronic device
JP6274140B2 (ja) 通信システム、端末装置、プログラム、サーバ装置及び情報処理方法
WO2014024255A1 (ja) 端末および動画再生プログラム
CN113031838B (zh) 屏幕录制方法、装置及电子设备
JP2018198746A (ja) 端末およびサーバ
CN111787117A (zh) 数据传输方法及显示设备
CN111045674A (zh) 一种播放器的交互方法和装置
JP2009070412A (ja) 画面表示プログラム、画面表示プログラムを記憶したコンピュータ読み取り可能な記憶媒体、画面表示装置、携帯端末装置及び画面表示方法
US20070168952A1 (en) Methods for producing, transferring, and renewing virtual machine applications using flash, and system thereof
JP6344370B2 (ja) 通信システム、サーバ装置、クライアント装置、及びプログラム
KR102660807B1 (ko) 어플리케이션을 업데이트하는 과정에서 추가 콘텐츠를 제공하는 방법 및 시스템
JP7204321B2 (ja) 端末およびサーバ
US20120207442A1 (en) Reproducing apparatus, reproducing method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171225

R150 Certificate of patent or registration of utility model

Ref document number: 6274140

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150