(57)【要約】【課題】適切なテンプレートを速やかに選択し、状況に応じた適切なＵＩ操作画面を表示することを目的とする。【解決手段】ＵＩ操作に係る操作種類情報と、ＵＩ操作に応じたデバイスに対するレスポンス要求に関するデバイスからのレスポンス応答に係るレスポンス内容情報と、に基づいて、ＵＩに係るテンプレートを選択する選択手段と、デバイスから受け取ったデバイスに係るデバイス情報と、レスポンス応答に係るレスポンス応答情報と、伝プレート選択手段が選択したテンプレートと、に基づいて、ＵＩデータを生成するＵＩデータ生成手段と、ＵＩデータ生成手段が生成したＵＩデータを用いてＵＩ操作画面を構築するＵＩブラウザ手段と、を有することによって前記課題を解決する。【選択図】図３
2007286683.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能なデバイスを操作するリモート操作端末装置であって、
ＵＩ操作に係る操作種類情報と、前記ＵＩ操作に応じたデバイスに対するレスポンス要求に関する前記デバイスからのレスポンス応答に係るレスポンス内容情報と、に基づいて、ＵＩに係るテンプレートを選択する選択手段と、
前記デバイスから受け取ったデバイスに係るデバイス情報と、前記レスポンス応答に係るレスポンス応答情報と、前記伝プレート選択手段が選択したテンプレートと、に基づいて、ＵＩデータを生成するＵＩデータ生成手段と、
前記ＵＩデータ生成手段が生成したＵＩデータを用いてＵＩ操作画面を構築するＵＩブラウザ手段と、
を有することを特徴とするリモート操作端末装置。
【請求項２】
前記選択手段は、
前記操作種類情報に基づいて、複数の前記テンプレートを含むテンプレート郡を選択するテンプレート郡選択手段と、
前記レスポンス内容情報に基づいて、前記テンプレート郡選択手段が選択したテンプレート郡の中から、前記テンプレートを選択するテンプレート選択手段と、
を有することを特徴とする請求項１に記載のリモート操作端末装置。
【請求項３】
前記選択手段は、条件に合致するテンプレートが存在しなかった場合は、予め定められたテンプレートを選択することを特徴とする請求項１に記載のリモート操作端末装置。
【請求項４】
前記選択手段は、条件に合致するテンプレートが存在する場合でも、前記レスポンス応答情報に応じて、予め定められたテンプレートを選択することを特徴とする請求項１に記載のリモート操作端末装置。
【請求項５】
ＵＩ操作に応じて、ＵＩ操作画面の状態遷移が発生する場合、状態遷移する前のＵＩ操作画面に係るＵＩデータを記憶手段に格納する格納手段を更に有し、
前記ＵＩブラウザ手段は、前記状態遷移した後のＵＩ操作画面におけるＵＩ操作に応じて、前記状態遷移する前のＵＩ操作画面に戻る状態遷移が発生する場合、前記記憶手段から前記ＵＩデータを読み出して、前記ＵＩデータを用いてＵＩ操作画面を構築することを特徴とする請求項１乃至４の何れか１項に記載のリモート操作端末装置。
【請求項６】
ネットワークを介して通信可能なデバイスを操作するリモート操作端末装置におけるＵＩ操作画面構築方法であって、
ＵＩ操作に係る操作種類情報と、前記ＵＩ操作に応じたデバイスに対するレスポンス要求に関する前記デバイスからのレスポンス応答に係るレスポンス内容情報と、に基づいて、ＵＩに係るテンプレートを選択する選択ステップと、
前記デバイスから受け取ったデバイスに係るデバイス情報と、前記レスポンス応答に係るレスポンス応答情報と、前記伝プレート選択ステップにおいて選択されたテンプレートと、に基づいて、ＵＩデータを生成するＵＩデータ生成ステップと、
前記ＵＩデータ生成ステップにおいて生成されたＵＩデータを用いてＵＩ操作画面を構築するＵＩ操作画面構築ステップと、
を有することを特徴とするＵＩ操作画面構築方法。
【請求項７】
請求項６に記載のＵＩ操作画面構築方法をコンピュータに実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモート操作端末装置及びＵＩ操作画面構築方法に関する。
【背景技術】
【０００２】
従来、ネットワークを介してデバイスの操作を行おうとする際、操作端末は予め、操作対象であるデバイスについて、操作信号を送るための通信プロトコル、操作信号の意味、操作信号自体の送信手続き、操作範囲情報等を知っている必要があった。また、操作端末は予めデバイスからのフィードバック信号を処理する手続き等の情報も知っている必要があった。
【０００３】
即ち、操作端末においては、操作対象のデバイス個別に対応したレイアウト情報を含むユーザインタフェース（以下ＵＩという）を構成するための、専用の操作用アプリケーションが必要であった。
【０００４】
このため、簡易な操作端末においては、操作用アプリケーションの追加や入れ替えが出来ないために、デバイスの種類の数だけ操作端末が必要となる場合があった。この様な不便を解決するために、デバイスのカテゴリをデバイス種別として分類分けし、同じデバイス種別のデバイスについては、共通の操作を共通のＵＩで操作可能とするための仕組みが存在している。
【０００５】
例えば、ＵＰｎＰの仕組みを使用することで、デバイス及び操作端末のネットワークにおける発見、探索、能力交換、制御、応答、及び表示機能等の手続きを共通化することが可能となる。これにより、デバイス及び操作端末がＵＰｎＰに対応しており、且つ操作端末が操作可能なデバイス種別のものであれば、デバイスのメーカーや機種形式に関わらず、リモート操作を行うことが可能となっている。
【０００６】
この時、操作端末は、同一のデバイス種別のデバイスであっても、例えば詳細機能の有無や操作のパラメータ範囲等、各デバイス固有の機能差異を吸収するために、ＵＩを構成して操作を行う前に操作をしようとするデバイスのデバイス情報を取得する。そして、操作端末は、デバイス情報の内容に基づき操作アプリケーション内の条件を判定することにより最終的なＵＩの構成を行っていた。
【０００７】
また、更により多くのデバイスへの対応、或いはＵＩ画面の多様化に対応するために、ＵＩ画面の基本構成部分をテンプレート文書化し、テンプレートにデバイスから実際に取得されたデバイス情報やデバイスからのレスポンス情報を適用させる。このようなことで、ＵＩ画面の描画データを構成する方法も行われている。
【０００８】
なお、テンプレートを使用してＵＩ画面を構成するための技術として特許文献１及び２がある。
【０００９】
【特許文献１】特開２００１−５１８２２号公報
【特許文献２】特開２００３−１３１９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した技術においては、ＵＩ操作の選択技が、ユーザの目的とする画面構成と、適用すべきレスポンス情報の種類との組み合わせにより細かく分類分けされてしまい、そのため、数多くのテンプレートを用意する必要があった。その結果、ユーザ操作を行ってから、目的のテンプレートを検索し、特定するまでに時間が掛かってしまう問題点があった。
【００１１】
また、特許文献１の技術では、フォーマッタが処理すべきデータが、新たなデバイスの未知のフォーマットのデータであった場合等、フォーマッタのプログラムを書き直す必要があった。また、予め多くの種類のデータに対応させるためには、数多くのフォーマッタを用意しなくてはならない問題があった。
【００１２】
また、特許文献２の技術は、表示を行うクライアント装置の情報を用いてサーバ側において動的にスタイルシートを切り替えるものであり、サーバ側が常にクライアントプログラムの状態について知っている必要があった。このため、リモートＵＩを実現する様な、クライアント側で、サーバの状況に応じたＵＩ画面を構成し、且つ、新たなデバイスが接続された際に、テンプレートの変更や追加のみで対応可能なものではなかった。
【００１３】
本発明は前記の問題点に鑑みなされたもので、適切なテンプレートを速やかに選択し、状況に応じた適切なＵＩ操作画面を表示することを目的とする。
【課題を解決するための手段】
【００１４】
そこで、前記問題を解決するため、本発明は、ネットワークを介して通信可能なデバイスを操作するリモート操作端末装置であって、ＵＩ操作に係る操作種類情報と、前記ＵＩ操作に応じたデバイスに対するレスポンス要求に関する前記デバイスからのレスポンス応答に係るレスポンス内容情報と、に基づいて、ＵＩに係るテンプレートを選択する選択手段と、前記デバイスから受け取ったデバイスに係るデバイス情報と、前記レスポンス応答に係るレスポンス応答情報と、前記伝プレート選択手段が選択したテンプレートと、に基づいて、ＵＩデータを生成するＵＩデータ生成手段と、前記ＵＩデータ生成手段が生成したＵＩデータを用いてＵＩ操作画面を構築するＵＩブラウザ手段と、を有することを特徴とする。
【００１５】
また、前記問題を解決するため、本発明は、ＵＩ操作画面構築方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１６】
本発明によれば、適切なテンプレートを速やかに選択し、状況に応じた適切なＵＩ操作画面を表示することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施例について図面に基づいて説明する。
【実施例１】
【００１８】
図１は、全体構成の一例を示す概念図である。図１において、１０１、１０２、１０６、１０７は、それぞれ被操作対象のデバイス（機器）である。１０３、１０５は、それぞれ、機器の操作を行う操作端末である。
【００１９】
１０４は、機器及び操作端末を接続し、それらの間でデータ及び命令のやり取りを行うためのネットワークである。操作端末１０３、１０５は、それぞれ、ネットワーク１０４を通じて操作コマンドを送ることにより、機器１０１、１０２、１０６、１０７を操作する。
【００２０】
図２は、操作端末のハードウェア構成の一例を示すブロック図である。２０２は、ＣＰＵであり、各種処理のための演算や論理判断等を行い、バス２０１に接続された各構成要素を制御する。
【００２１】
操作端末には、プログラムメモリと、データメモリとを含むメモリが搭載されている。プログラムメモリには、プログラムが格納されている。ＣＰＵ２０２は、プログラムに基づいて、後述するフローチャートに係る処理を実行する。なお、メモリはＲＯＭ２０３であってもよいし、外部記憶装置等からプログラムがロードされるＲＡＭ２０４であってもよい。
【００２２】
２０５は、データやプログラムを記憶しておくための不揮発性メモリやハードディスク等の記憶装置である。２０６は、ユーザからの情報を入力するための入力装置であり、例えば、マウス、タッチパネル、キーボード等ある。２０８は、情報を出力する出力装置であり、例えば、ＣＲＴや液晶表示器等の表示装置である。
【００２３】
２０７は、ネットワークＩ／Ｆであり、ネットワークで接続された他のデバイスとのやり取りを行う。
【００２４】
図３は、本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。図３において、３０１は操作端末である。３０２は、デバイスである。３０３は、ユーザである。３０４は、操作端末のネットワークＩ／Ｆ及び通信プロトコル制御を行う通信部である。３０５は、入出力デバイスからなるＵＩを備えるビューワ部である。３０６は、テンプレートが予め格納されているテンプレートプールである。３０７は、テンプレートを選択するテンプレート選択部である。３０８は、ＵＩデータを生成するＵＩデータ生成部である。
【００２５】
また、３０９は、デバイスの接続時にデバイスの種別と、初期に使用されるテンプレートとを対応付ける種別テンプレート対応テーブルである。３１０は、操作端末３０１がデバイスと接続されることによってデバイスより送られるデバイス情報である。３１１は、ＵＩ画面を表示しているビューワ部３０５において、ユーザ３０３がデバイス操作を行った際に通信部３０４に送られるＵＩ操作である。
【００２６】
３１２は、３１１のＵＩ操作における操作の種類を通知する操作種類情報である。３１３は、操作端末３０１からデバイス３０２に対してサブミットされるレスポンス要求である。３１４は、３１３のレスポンス要求にデバイス３０２が応答して発行されるレスポンス応答である。３１５は、操作端末３０１が受け取ったレスポンス応答の内容情報を通知するレスポンス内容情報で、デバイスの初期接続時に限り、デバイス情報である。
【００２７】
３１６は、テンプレート選択部３０７によって選択されたテンプレートである。３１７及び３１８は、通信部３０４を通して送られるデバイス情報及びレスポンス応答である。３１９は、ＵＩデータ生成部３０８によって生成されたＵＩデータである。３２０は、デバイス接続時の初期に利用される、種別テンプレート対応テーブルである。
【００２８】
図４は、デバイスの初期接続時のＵＩ生成処理の流れの一例を示すフローチャートである。図４において、Ｓ４０１からＳ４０７までは各ステップを表わす。
【００２９】
まず、デバイスと、操作端末との接続を開始する際は、操作端末は、デバイスにデバイス情報を要求し、デバイスからデバイス情報を取得する（Ｓ４０１）。
【００３０】
次に、操作端末は、取得したデバイス情報からデバイス種別を取り出し（Ｓ４０２）、デバイス種別を用いて、デバイスに対応するデバイステンプレートを検索する（Ｓ４０３）。
【００３１】
操作端末は、検索の結果に基づいて、デバイス種別に対応するデバイステンプレートが存在するか否かを判断する（Ｓ４０４）。対応するデバイステンプレートが存在する場合には、操作端末は、デバイステンプレートを入力とし、ＵＩデータ領域を新たに出力とする入出力の設定を行った（Ｓ４０５）後に、ＵＩデータ生成処理を行う（Ｓ４０６）。
【００３２】
操作端末は、ＵＩデータに基づいて、ＵＩを構築・表示し（Ｓ４０７）、図４に示されるＵＩ生成処理を終了する。
【００３３】
Ｓ４０４の判断の結果、Ｓ４０２で得たデバイス種別に対応するデバイステンプレートが存在しない場合には、操作端末は、図４に示されるＵＩ生成処理を終了する。
【００３４】
図５は、デバイスのデバイス情報の一例を示すＸＭＬデータの図である。図５において、左端の数字は行番号を示したものであり、実際のデータには含まれていない。
【００３５】
行番号０７０８にある７Ａはデバイス情報におけるデバイス種別を示す記述である。このうち"ｕｒｎ：ｓｃｈｅｍａｓ−ｃａｎｏｎ−ｏｒｇ：ｄｅｖｉｃｅ：ＮｅｔｗｏｒｋＣａｍｅｒａ：１"が実際のデバイス種別を示す文字列である。
【００３６】
行番号０７０９にある７Ｂは、デバイス名を示す記述である。このうち"Ｃａｔｈａｒｉｎｅ"が実際のデバイス名を示す文字列である。
【００３７】
行番号０７１７にある７Ｃは、デバイスＩＤを示す記述である。このうち"ｕｕｉｄ：ｕｐｎｐ−ｃａｎｏｎ−ｎｃ１＿１＿０−００００８５２２ＣＤ３Ａ"が実際のデバイスＩＤを示す文字列である。
【００３８】
行番号０７２４にある７Ｄは、デバイスを操作するための操作サービスを示すＸＭＬデータへのリンクを示している。
【００３９】
図６は、種別テンプレート対応テーブルの一例を示す概念図である。図６において、９００は、種別テンプレート対応テーブル全体であり、種別テンプレート対応テーブル３０９をより具体的に表わしたものである。
【００４０】
種別テンプレート対応テーブル９００は、ファイルとして記憶装置２０５中に保持されており、操作端末１０５は、ユーザからの操作等に応じて更新することができる。
【００４１】
９１０、９２０は、それぞれ１組のデバイスの種別と、デバイステンプレート（デバイステンプレートファイル）との対応関係を表わしている。９１１、９２１は、それぞれ、１つのデバイス種別を表わしており、共にデバイスの種別２０７を表わしたものである。９１２、９２２は、それぞれ、１つのデバイステンプレートを表わしており、共にデバイステンプレート３１６に対応している。
【００４２】
デバイステンプレートは、記憶装置２０５に保存されており、それぞれの文字列はファイル名を表わしている。
【００４３】
即ち、図６は、デバイス種別が９１１であれば、デバイステンプレート９１２が、デバイスが接続された初期におけるテンプレートとして選択されることを表している。また、図６は、デバイス種別が９２１であれば、デバイステンプレート９２２が、デバイスが接続された初期におけるテンプレートとして選択されることを表わしている。
【００４４】
図７は、対応テンプレート検索処理の流れの一例を示すフローチャートである。図７において、Ｓ１１０１からＳ１１０５までは各ステップを表わす。
【００４５】
まず、操作端末は、種別テンプレート対応テーブル９００に、まだデバイス種別と、テンプレートとの組が存在するか否かを判断し（Ｓ１１０１）、存在するならばデバイス種別と、テンプレートとの組を得る（Ｓ１１０２）。そして、操作端末は、得たデバイス種別と、テンプレートとの組の中のデバイスの種別を得る（Ｓ１１０３）。
【００４６】
次に、操作端末は、得たデバイスの種別と、Ｓ４０２で得たデバイスの種別とが一致するか否かを判断する（Ｓ１１０４）。一致するならば、操作端末は、Ｓ１１０２で得たデバイス種別と、テンプレートとの組からデバイステンプレートを得て、対応するデバイステンプレートとして（Ｓ１１０５）、図７に示す対応テンプレート検索処理を終了する。Ｓ１１０４の判断の結果、デバイスの種別が一致しない場合には、操作端末は、Ｓ１１０１の判断に戻る。
【００４７】
また、Ｓ１１０１の判断の結果、種別テンプレート対応テーブル９００にもうデバイス種別と、テンプレートとの組が存在しないならば、操作端末は、図７に示す対応テンプレート検索処理を終了する。
【００４８】
即ち、本実施例においては、操作端末は、デバイス種別が"ｕｒｎ：ｓｃｈｅｍａｓ−ｃａｎｏｎ−ｏｒｇ：ｄｅｖｉｃｅ：ＮｅｔｗｏｒｋＣａｍｅｒａ：１"であるデバイス種別と、テンプレートとの組を種別テンプレート対応テーブル９００から検索する。そして、操作端末は、デバイス種別と、テンプレートとの組９１０を得て、対応するデバイステンプレートのファイル名として「ネットワークカメラテンプレート」を返す。
【００４９】
図８は、デバイステンプレートの一例を示すＸＭＬデータである。図８において、左端の数字は行番号を示したものであり、実際のデータには含まれていない。
【００５０】
行番号０６０８、０６１５、０６１７、０６１９の６Ａ〜６Ｄは、それぞれデバイス情報中のデバイスＩＤの格納場所を意味する特別な変数（＄ｕｉｄ）である。行番号０６２２の６Ｅは、デバイス情報中のデバイス名の格納場所を意味する特別な変数（＄ｄｅｖＮａｍｅ）である。
【００５１】
また、行番号０６１４から０６１９までは、デバイスに対して操作コマンドが発行されることを示している。
【００５２】
例えば、行番号０６１５の６Ｇは"ｍｅｔｈｏｄ＝"ＣａｍｅｒａＣｏｎｔｒｏｌＰａｎ""となっており、この行が実行された時に発行される操作コマンドが"ＣａｍｅｒａＣｏｎｔｒｏｌＰａｎ"であることを示している。
【００５３】
また、行番号０６１４には６Ｆに示すように本データ中で一意な識別子として"ｐａｎ"が与えられている。また、６Ｉ、６Ｊ、６Ｋには、ＵＩを構成するＵＩ部品についての記述がある。
【００５４】
６Ｉから６Ｋまではそれぞれ特定の範囲からの選択を行うＵＩ部品"ｘｆｏｒｍｓ：ｒａｎｇｅ"を表わしている。６Ｉから６Ｋまでには、それぞれのレイアウト情報と、現在の値を保持しているデータモデルへの参照と、値が変更された場合にどの操作コマンドが発行されるかの対応情報とが含まれている。
【００５５】
例えば６Ｉ中の行番号０６３５中の６Ｈは"ｓｕｂｍｉｓｓｉｏｎ＝"ｐａｎ""となっており、ＵＩ部品"ｘｆｏｒｍｓ：ｒａｎｇｅ"の値が変更された場合に識別子が"ｐａｎ"である行を実行することが示されている。
【００５６】
即ち、０６１４行の６Ｆと、０６３５行の６Ｈとの記述により、６ＩのＵＩ部品と、６Ｇの操作コマンド"ＣａｍｅｒａＣｏｎｔｒｏｌＰａｎ"とが対応付けられている。よって、このデバイステンプレート中には、デバイス情報に記載の操作コマンドと、デバイステンプレートに記載のＵＩを構成するＵＩ部品との対応情報が含まれている。
【００５７】
図９は、デバイスを操作するための操作サービスを示すデバイス情報の一例を示すＸＭＬデータの図である。図９において、左端の数字は行番号を示したものであり、実際のデータには含まれていない。
【００５８】
図９は、図５において７Ｄで表わされた操作サービスを示すデバイス情報である。図９において、８Ａ、８Ｂ、８Ｃはそれぞれ別の操作コマンドを表わしている。そして、８Ａ、８Ｂ、８Ｃは、それぞれの操作コマンド名がＣａｍｅｒａＣｏｎｔｒｏｌＰａｎ、ＣａｍｅｒａＣｏｎｔｒｏｌＴｉｌｔ、ＣａｍｅｒａＣｏｎｔｒｏｌＺｏｏｍであること、及びそれぞれの操作コマンドの引数等を示している。
【００５９】
また、８Ｄは状態変数を示しており、その名称がＭｏｔｉｏｎＤｅｔｅｃｔであることを示している。
【００６０】
図１０は、ＵＩ生成処理の流れを示すフローチャートである。図１０において、Ｓ５０１からＳ５０９までは各ステップを表わす。
【００６１】
まず、操作端末は、Ｓ４０５で設定された入力において現在の位置が入力の終端に達しているか否かを判断し（Ｓ５０１）、まだ終端に達していない場合には、構文上の１行を読み込む（Ｓ５０２）。
【００６２】
次に、操作端末は、読み込んだ行中にデバイスＩＤの格納場所が含まれているか否かを判断し（Ｓ５０３）、デバイスＩＤの格納場所が含まれている場合には、Ｓ４０１で得たデバイス情報中からデバイスＩＤを得て（Ｓ５０４）。そして、操作端末は、バッファに読み込んだ行中のデバイスＩＤの格納場所に実際のデバイスＩＤを挿入する（Ｓ５０５）。
【００６３】
一方、Ｓ５０３の判断の結果、デバイスＩＤの格納場所が含まれていない場合には、操作端末は、Ｓ５０６の判断に移る。
【００６４】
操作端末は、読み込んだ行中にデバイス名の格納場所が含まれているか否かを判断し（Ｓ５０６）、デバイス名の格納場所が含まれている場合には、Ｓ４０１で得たデバイス情報中から得たデバイス名を得る（Ｓ５０７）。そして、操作端末は、バッファに読み込んだ行中のデバイス名の格納場所に実際のデバイス名を挿入する（Ｓ５０８）。
【００６５】
一方、Ｓ５０６の判断の結果、デバイス名の格納場所が含まれていない場合には、操作端末は、Ｓ５０９の処理に移る。
【００６６】
操作端末は、バッファ中の読み込んだ行をＵＩデータに書き込んだ（Ｓ５０９）後、Ｓ５０１の判断に戻り、一連の処理を繰り返す。
【００６７】
Ｓ５０１の判断の結果、全ての行の処理を終えて、デバイステンプレートの終端に達した場合には、操作端末は、図１０に示すＵＩデータ生成処理を終了する。
【００６８】
即ち、本処理において、操作端末は、Ｓ４０５で入力に設定された図８のようなデバイステンプレートを、Ｓ５０２において１行ずつ読み込む。
【００６９】
図８の行番号０６０８、０６１５、０６１７、０６１９においては、行中にデバイスＩＤの格納場所（＄ｕｉｄ）が含まれているので、操作端末は、Ｓ５０３の判断においてＳ５０４に進む。そして、操作端末は、Ｓ５０４において図５のデバイス情報に含まれるデバイスＩＤ（"ｕｕｉｄ：ｕｐｎｐ−ｃａｎｏｎ−ｎｃ１＿１＿０−００００８５２２ＣＤ３Ａ"）を得て、Ｓ５０５で格納場所にデバイスＩＤを格納する。
【００７０】
即ち、操作端末は、文字列"＄ｕｉｄ"を"ｕｕｉｄ：ｕｐｎｐ−ｃａｎｏｎ−ｎｃ１＿１＿０−００００８５２２ＣＤ３Ａ"に置換する。
【００７１】
これらの行においては、デバイス名の格納場所は行中に含まれていないので、操作端末は、Ｓ５０６の判断において判定結果を否とし、Ｓ５０９の処理に移り、デバイスＩＤが補完されたデータをＵＩデータに追加して、Ｓ５０１の判断に戻る。
【００７２】
図８の行番号０６２２においては、デバイスＩＤの格納場所が行中に含まれないため、操作端末は、Ｓ５０３の判断において判断結果を否とし、Ｓ５０６の判断に移る。
【００７３】
Ｓ５０６の判断においては、行中にデバイス名の格納場所（＄ｄｅｖＮａｍｅ）が含まれているので、操作端末は、Ｓ５０７に進む。そして、操作端末は、Ｓ５０７において図５のデバイス情報に含まれるデバイス名（"Ｃａｔｈａｒｉｎｅ"）を得て、Ｓ５０８で格納場所にデバイス名を格納する。
【００７４】
即ち、操作端末は、文字列"＄ｄｅｖＮａｍｅ"を"Ｃａｔｈａｒｉｎｅ"に置換する。そして、Ｓ５０９において、操作端末は、デバイス名が補完されたデータをＵＩデータに追加して、Ｓ５０１の判断に戻る。
【００７５】
他の行はＳ５０３、Ｓ５０６の判断とも偽となるので、Ｓ５０９においてそのままＵＩデータに追加される。
【００７６】
図８のテンプレートが行番号０６５０に達すると、Ｓ５０１の判断において、デバイステンプレートの現在の位置がテンプレートの終端に達しているので、操作端末は、図１０に示すＵＩデータ生成処理を終了する。
【００７７】
この結果、本処理によって、図８のようなデバイステンプレートから図１１のようなＵＩデータを生成することが出来る。
【００７８】
図１１は、ＵＩデータ生成処理によって生成されたＵＩデータの一例を示すＸＭＬデータの図である。図１１において、左端の数字は行番号を示したものであり、実際のデータには含まれていない。ＵＩデータは、図８のデバイステンプレートを基に、図５のデバイス情報を用いて図１０のＵＩデータ生成処理によって生成されるものであり、ＵＩデータ３１に該当する。
【００７９】
図１１において、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄはそれぞれデバイステンプレート中の６Ａ、６Ｂ、６Ｃ、６Ｄがデバイス情報中のデバイスＩＤ７Ｃにより補完されたものである。また、１０Ｅはデバイステンプレート中の６Ｅがデバイス情報中のデバイス名７Ｂにより補完されたものである。
【００８０】
このＵＩデータをＵＩデータ生成部３０８が、ビューワ部３０５に渡すことによりＵＩが構築され、ＵＩ画面が表示される。
【００８１】
図１２は、デバイスと、表示されるＵＩ画面との関係を示す概念図である。図１２ａのように操作端末１７０５に対してデバイスとしてネットワークカメラ１２０６が接続されている場合には、デバイスの種別がネットワークカメラを表わすデバイス種別である。つまり、本実施例においては"ｕｒｎ：ｓｃｈｅｍａｓ−ｃａｎｏｎ−ｏｒｇ：ｄｅｖｉｃｅ：ＮｅｔｗｏｒｋＣａｍｅｒａ：１"である。
【００８２】
よって、上述したような処理により、図１１のようなＵＩデータが生成され、それを基にブラウザ３１６により１２０１のようなＵＩが構築される。
【００８３】
ＵＩ１２０１において、１２０２はカメラの横方向の回転を表わすＵＩ部品であり、図１１の行番号１０３３から１０３５までに記載の特定の範囲からの選択を行うＵＩ部品を表わす要素"ｘｆｏｒｍｓ：ｒａｎｇｅ"から生成されたものである。
【００８４】
同様に１２０３、１２０４は、それぞれカメラのズーム、縦方向の回転を表わすＵＩ部品である。これらは、図１１の行番号１０３９から１０４１まで、１０４５から１０４７までに記載の特定の範囲からの選択を行うＵＩ部品を表わす要素"ｘｆｏｒｍｓ：ｒａｎｇｅ"から生成されたものである。
【００８５】
一方、図１２ｂのように操作端末１２１２に対してデバイスとしてメディアサーバ１２１３が接続されている場合には、デバイスの種別がメディアサーバを表わすデバイス種別である。つまり、本実施例においては"ｕｒｎ：ｓｃｈｅｍａｓ−ｃａｎｏｎ−ｏｒｇ：ｄｅｖｉｃｅ：ＭｅｄｉａＳｅｒｖｅｒ：１"である。
【００８６】
よって、図６の種別テンプレート対応テーブル９００の中からデバイステンプレート９２２が選択され、上述した処理と同様の処理で、対応するＵＩデータが生成され、それを基にブラウザ３１６により１２１１のようなＵＩが初期ＵＩ画面として構築される。
【００８７】
図１３は、図１２ｂの様に、メディアサーバ等のデバイスが操作端末に接続され、メニューによるＵＩ操作が繰り返され、ＵＩ画面の状態遷移が行われる際の、次画面用対応テンプレートを決定する、次画面ＵＩの生成処理の流れを示したフローチャートである。図１３において、Ｓ１３０１からＳ１３１１までは各ステップを表す。
【００８８】
まず、接続中のデバイスの初期ＵＩ画面が構成されている状態において、何らかのユーザによる画面遷移を伴う操作が行われると、操作端末は、Ｓ１３０１において、画面遷移操作有りと判定し、Ｓ１３０２においてユーザの操作種類情報を取得する。
【００８９】
ここで、操作種類情報とは、次のＵＩ画面に使用するテンプレートの種類に対応するものであり、ユーザが選択した目的毎の次画面の構成と対応する情報である。なお、ユーザが選択した目的とは、例えば、「フォルダの一覧表示」、「コンテンツの一覧リスト表示」、「コンテンツの一覧サムネール表示」、「個別コンテンツの表示」、「設定画面表示」等のことである。また、操作種類情報は、ユーザの操作した個々のボタンと対応付けられている種類情報である。
【００９０】
次にＳ１３０３において、上述したＵＩ操作が通信部３０４を介して、デバイスの持つ通信プロトコルに変換され、デバイスにレスポンス要求として通知される。
【００９１】
Ｓ１３０４では、操作端末は、デバイスからのレスポンス応答が来るまで待機し、レスポンス応答を受信すると、Ｓ１３０５において、レスポンス応答に含まれるレスポンス内容情報を取得する。ここで、レスポンス内容情報とは、例えば、メディアサーバより送られたレスポンス応答が、コンテンツの一覧であった場合、コンテンツの種類であるとか、サムネール情報の有無等、どの様な一覧表示が可能であるかを判定するための条件となる情報である。
【００９２】
Ｓ１３０６では、操作端末は、Ｓ１３０２で取得した操作種類情報及びＳ１３０５で取得したレスポンス内容情報より、対応するテンプレートを検索する。次に、Ｓ１３０７では、操作端末は、対応するテンプレートが存在していたか否かを判定する。存在していなかった場合、操作端末は、図１３に示す次画面ＵＩ生成処理を終了する。
【００９３】
テンプレートが存在していた場合には、Ｓ１３０８へと進み、操作端末は、デバイス情報を取得し、入出力の設定を行った後に、Ｓ１３１０において、ＵＩデータの生成処理を行う。ここで生成されたＵＩデータを基に、操作端末は、Ｓ１３１１においてＵＩ画面として表示を行い、図１３に示す次画面ＵＩ生成処理を終了する。
【００９４】
以下、Ｓ１３０６におけるテンプレートの検索処理のより詳細な説明を、図１４を用いて説明する。図１４は、本実施例において、次画面ＵＩ生成処理におけるテンプレートの検索処理を詳細に説明するフローチャートである。図１４において、Ｓ１４０１からＳ１４０５までは各ステップを示す。
【００９５】
まず、Ｓ１４０１において、操作端末は、操作種類情報を取得し、Ｓ１４０２においてレスポンス内容情報を取得する。これら取得した情報を基に、操作端末は、Ｓ１４０３において、テンプレートプール内に存在するテンプレートより、前記情報にマッチするテンプレートの検索を行う。
【００９６】
Ｓ１４０４では、操作端末は、テンプレートの検索が成功し、条件にマッチするテンプレートが有ったか否かを判定する。条件にマッチするテンプレートが無かった場合、操作端末は、図１４に示す対応テンプレート検索処理を終了する。一方、条件にマッチするテンプレートが存在した場合、操作端末は、Ｓ１４０５に進み、見つかった、対応するテンプレートを返す。
【００９７】
図１５から図１７は、図１２ｂのデバイス（メディアサーバ）１２１３が操作端末１２１２に接続された際の初期画面から、画面遷移を伴うユーザのＵＩ操作が行われた際の、ＵＩ画面を示した図である。
【００９８】
図１５は、ユーザが図１２ｂのＵＩ画面から「フォルダリスト」を選択した場合に、ビューワ部３０５において表示されるフォルダリストを表示するＵＩ画面の一例を示した図である。
【００９９】
図１６は、ユーザが図１５のフォルダリストを表示するＵＩ画面からフォルダＡを選択し場合に、ビューワ部３０５において表示されるフォルダＡの中に存在しているコンテンツの一覧をリスト表示するＵＩ画面の一例を示した図である。
【０１００】
図１７は、図１６と同様に、ユーザが図１５のフォルダリストを表示するＵＩ画面からフォルダＢを選択した場合に、ビューワ部３０５において表示されるフォルダＢの中に存在しているコンテンツの一覧をリスト表示するＵＩ画面の一例を示した図である。
【０１０１】
図１３及び図１４の処理により、例えば、操作種類情報がフォルダ内のコンテンツの一覧を指示するものであり、且つサーバより送られたレスポンス情報の内容情報が、サムネール付の写真のデータであった場合、図１６を表示するテンプレートが選択される。つまり、次画面のＵＩ表示用として選択されるテンプレートは、図１６の如くサムネール画像１６０６付の写真タイトルのリスト選択表示用のテンプレートとなる。
【０１０２】
また、同じ操作種類情報であっても、レスポンス内容情報が音楽ファイルの曲名タイトルリストであった場合、図１７を表示するテンプレートが選択される。つまり、次画面のＵＩ表示用として選択されるテンプレートは、図１７の如くアルバム名１７０４やアーティスト名１７０５が付加された曲名タイトルリストのリスト選択表示用のテンプレートとなる。
【０１０３】
以上説明した様に、本実施例の操作端末においては、ＵＩ操作により、ＵＩ画面の画面遷移を行う際、操作種類情報及びデバイスからのレスポンス内容情報により、次のＵＩ画面を構成するテンプレートを選択、決定する。このことにより、ユーザは、デバイスから必要とするデータの内容や、デバイスより取得したレスポンスデータが表示される際の表示構成の形態等を指定出来る。また、実際にデバイスより返送されたレスポンスデータの内容情報も利用することで、レスポンスデータを適用し、表示する際に、最適なテンプレートを確実に選択することができる。
【実施例２】
【０１０４】
上述した実施例１では、図１４に示したように、操作種類情報及びレスポンス内容情報の二つの情報が揃った後に、一度にテンプレートの検索を行い、目的のテンプレートを検出した。しかしながら、図３におけるテンプレートプール３０６を階層化し、先に得られる操作種類情報を基に、テンプレートの絞り込みを行うようにしてもよい。そして、テンプレートの絞り込みを行なった後に、デバイスからのレスポンス応答に含まれるレスポンス内容情報を基に、適切なテンプレートを決定してもよい。
【０１０５】
図１８は、本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。ここで、実施例１に示した図３との大きな違いは、図３のテンプレートプール３０６が、図１８では階層化テンプレートプール１８０６に示す様な階層化構造となっている点である。
【０１０６】
図１９は、階層化テンプレートプール１８０６の一例を示した概念図である。階層化テンプレートプール１９０１（階層化テンプレートプール１８０６）における最初の階層は、１９０２から１９０７までに示す様な、操作種類情報に基づく分類、即ち、ユーザの操作の目的と一致する分類になっている。それぞれのテンプレート群の中には、それぞれのテンプレート群の分類に基づいた、レスポンス内容情報毎の異なるテンプレートが格納されている。
【０１０７】
図２０は、本実施例において、次画面ＵＩ生成処理におけるテンプレートの検索処理を詳細に説明するフローチャートである。図２０において、Ｓ２００１からＳ２００８までは各ステップを示す。
【０１０８】
まず、Ｓ２００１において、操作端末は、操作種類情報を取得する。続いて、Ｓ２００２において、操作端末は、操作種類情報に基づいて、階層化テンプレートプール１８０６より、操作種類情報に対応するテンプレート郡を検索する。続いて、Ｓ２００３において、操作端末は、検索結果に基づいて、Ｓ２００１において取得した操作種類情報に対応するテンプレート郡が有ったか否かを判定する。操作端末は、Ｓ２００１において取得した操作種類情報に対応するテンプレート郡が有ったと判定すると、Ｓ２００４に進む。一方、端末装置は、Ｓ２００１において取得した操作種類情報に対応するテンプレート郡が無かったと判定すると、図２０に示す対応テンプレート検索処理を終了する。
【０１０９】
Ｓ２００４において、操作端末は、デバイスからのレスポンス応答が到着するまで待機状態となる。デバイスからのレスポンス応答が到着すると、操作端末は、Ｓ２００５において、レスポンス内容情報を取得する。
【０１１０】
Ｓ２００６では、操作端末が、Ｓ２００５において取得したレスポンス内容情報に基づいて、Ｓ２００２において絞り込まれたテンプレート群より、レスポンス内容情報に対応するテンプレートを検索する。続いて、Ｓ２００７において、操作端末は、検索結果に基づいて、Ｓ２００５において取得したレスポンス内容情報に対応するテンプレートが有ったか否かを判定する。操作端末は、Ｓ２００５において取得したレスポンス内容情報に対応するテンプレートが有ったと判定すると、Ｓ２００８に進む。一方、端末装置は、Ｓ２００５において取得したレスポンスないよう情報に対応するテンプレートが無かったと判定すると、図２０に示す対応テンプレート検索処理を終了する。
【０１１１】
Ｓ２００８において、操作端末は、検索の結果取得したテンプレートを返して、図２０に示す対応テンプレート検索処理を終了する。
【０１１２】
以上、説明した様に、本実施例の操作端末においては、操作種類情報を取得した時点でテンプレートの絞り込みが行われる。そして、デバイスからのレスポンス応答が到着した時点で、直ちに、レスポンス内容情報に基づいて、絞り込んだテンプレートの中から適切なテンプレートを選択することができる。よって、デバイスからのレスポンス応答が到着してからのＵＩ画面を構成するための動作を高速化することができる。つまり、結果として、ＵＩ操作から、ＵＩ操作に応じた適切なＵＩ画面の表示までの時間を短縮させることができる。
【実施例３】
【０１１３】
上述した各実施例においては、状態遷移を伴うＵＩ画面においては、画面を構成する際に、テンプレートに対して、デバイス情報や、デバイスからのレスポンス応答を適用させることでＵＩデータを生成していた。よって、一度ＵＩ画面の状態遷移を行った後に、前のＵＩ画面にもどるためには、ＵＩデータを構成するためのデバイス情報や、レスポンス応答等を全て保存する必要があった。或いは、デバイスが接続された際の初期ＵＩ画面からの、ユーザによる操作手順を保存し、過去に行って来たデバイスとの通信を繰り返すことが必要であった。
【０１１４】
しかしながら、操作端末は、次のＵＩ画面に遷移するとき、直前のＵ画面を構成する際に利用したＵＩデータを、逐次、スタック上に保存するようにしてもよい。そして、ＵＩ画面において、前の画面に戻る操作が行われた際には、操作端末が、スタックの最上位にあるＵＩデータを取り出して、これを用いてＵＩ画面を構成するようにしてもよい。
【０１１５】
図２１は、本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。ここで、実施例１及び実施例２との差異は、ＵＩデータ蓄積部２１２０が新たに追加されている点である。
【０１１６】
ＵＩデータ蓄積部２１２０は、ＵＩ画面の状態遷移が発生するときに、ＵＩ画面を構成するためのＵＩデータを、逐次、スタック上に格納する。即ち、状態遷移が完了し、次のＵＩ画面の表示が完了した時点では、スタックの取り出し口には、常に、現在の前のＵＩ画面を構成したＵＩデータが存在していることになる。
【０１１７】
任意のＵＩ画面において、状態遷移により遷移してきた方向とは逆の、前の画面に戻る操作が行われたときは、ビューワ部２１０５は、ＵＩデータ蓄積部２１２０を介して、スタックよりＵＩデータを取り出す。そして、ビューワ部２１０５は、このＵＩデータを用いてＵＩ画面を構成することで、直ちに、前の画面に復帰することができる。
【実施例４】
【０１１８】
上述した各実施例においては、操作端末は、操作種類情報及びレスポンス内容情報の二つの情報を用いて、テンプレートの選択を行った。しかしながら、操作端末は、レスポンス内容情報に対応するテンプレートが存在していなくても、操作種類情報に基づく、テンプレートの候補が存在している場合には、別途用意（予め用意）された、テンプレートを用いるようにしてもよい。
【０１１９】
この様な構成にすることで、ユーザのＵＩ操作により、デバイスからのレスポンス応答を利用した次なるＵＩ画面を構成しようとした際に、デバイスから予期せぬエラーを含むレスポンス応答が、返された場合でも、対応することができる。つまり、操作端末は、このような場合でも、別途用意された、エラー通知用のＵＩ画面を構成するためのテンプレートを適切に選択することができる。
【実施例５】
【０１２０】
上述した各実施例においては、操作端末は、操作種類情報及びレスポンス内容情報の二つの情報を用いて、テンプレートの選択を行い、条件に一致するテンプレートが存在した場合には、これを使用する構成としていた。しかしながら、操作端末は、レスポンス応答の中に、予め操作端末において決められた属性情報が存在していた場合は、前記条件と一致したテンプレートの使用を一時保留して、前記属性情報に対応した、別のテンプレートを使用する構成としてもよい。
【０１２１】
この様な構成にすることで、レスポンス応答の中に、プライベート情報であることを示す属性情報が存在していた場合、先に選択されたテンプレートを使用したＵＩ画面の構築を一時保留することができる。そして、操作端末は、プライベート情報の表示を許可するためのパスワード入力等を表示するＵＩ画面を構築するための、別のテンプレートを選択してＵＩ画面を表示することができる。然る後、ユーザによるパスワード入力が成功した場合に限って、操作端末は、先の一時保留したテンプレートを利用した本来の目的のＵＩ画面を構成することができる。
【０１２２】
（その他の実施例）
操作端末は、一つのＵＩ操作画面を構成するために、複数のテンプレートを組み合わせて使用してもよい。例えば、操作端末は、個々のデバイスのＵＩ操作画面を構成する個別のテンプレートを組み合わせて、複数のデバイスを同時に操作するＵＩ操作画面としてもよい。
【０１２３】
また、操作端末は、テンプレートに、デバイス情報や、レスポンス応答（レスポンス応答情報）を適用する際、単に情報の嵌め込みだけでは無く、スクリプト等を用いて、ＵＩ画面の構成を変更してもよい。
【０１２４】
また、表示装置を操作端末とは別体として、或いはビューワ部を含む表示装置を操作端末とは別体として構成してもよい。
【０１２５】
以上、上述した各実施例によれば、適切なテンプレートを速やかに選択し、状況に応じた適切なＵＩ操作画面を表示することができる。
【０１２６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。なお、上述した各実施例は任意の組み合わせで実施してもよい。
【図面の簡単な説明】
【０１２７】
【図１】全体構成の一例を示す概念図である。
【図２】操作端末のハードウェア構成の一例を示すブロック図である。
【図３】本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。
【図４】デバイスの初期接続時のＵＩ生成処理の流れの一例を示すフローチャートである。
【図５】デバイスのデバイス情報の一例を示すＸＭＬデータの図である。
【図６】種別テンプレート対応テーブルの一例を示す概念図である。
【図７】対応テンプレート検索処理の流れの一例を示すフローチャートである。
【図８】デバイステンプレートの一例を示すＸＭＬデータの一例を示す図である。
【図９】デバイスを操作するための操作サービスを示すデバイス情報の一例を示すＸＭＬデータの図である。
【図１０】ＵＩ生成処理の流れを示すフローチャートである。
【図１１】ＵＩデータ生成処理によって生成されたＵＩデータの一例を示すＸＭＬデータの図である。
【図１２】デバイスと、表示されるＵＩ画面との関係を示す概念図である。
【図１３】図１２ｂの様に、メディアサーバ等のデバイスが操作端末に接続され、メニューによるＵＩ操作が繰り返され、ＵＩ画面の状態遷移が行われる際の、次画面用対応テンプレートを決定する、次画面ＵＩの生成処理の流れを示したフローチャートである。
【図１４】本実施例において、次画面ＵＩ生成処理におけるテンプレートの検索処理を詳細に説明するフローチャートである。
【図１５】ユーザが図１２ｂのＵＩ画面から「フォルダリスト」を選択した場合に、ビューワ部３０５において表示されるフォルダリストを表示するＵＩ画面の一例を示した図である。
【図１６】ユーザが図１５のフォルダリストを表示するＵＩ画面からフォルダＡを選択し場合に、ビューワ部３０５において表示されるフォルダＡの中に存在しているコンテンツの一覧をリスト表示するＵＩ画面の一例を示した図である。
【図１７】図１６と同様に、ユーザが図１５のフォルダリストを表示するＵＩ画面からフォルダＢを選択した場合に、ビューワ部３０５において表示されるフォルダＢの中に存在しているコンテンツの一覧をリスト表示するＵＩ画面の一例を示した図である。
【図１８】本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。
【図１９】階層化テンプレートプール１８０６の一例を示した概念図である。
【図２０】本実施例において、次画面ＵＩ生成処理におけるテンプレートの検索処理を詳細に説明するフローチャートである。
【図２１】本実施例における操作端末の機能構成及び処理の一例を表わすブロック図である。
【符号の説明】
【０１２８】
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  記憶装置
２０６  入力装置
２０７  ネットワークＩ／Ｆ
２０８  出力装置
３０４  通信部
３０５  ビューワ部
３０７  テンプレート選択部
３０８  ＵＩデータ生成部
【図１】
2007286683.tif 000003
【図２】
2007286683.tif 000004
【図３】
2007286683.tif 000005
【図４】
2007286683.tif 000006
【図５】
2007286683.tif 000007
【図６】
2007286683.tif 000008
【図７】
2007286683.tif 000009
【図８】
2007286683.tif 000010
【図９】
2007286683.tif 000011
【図１０】
2007286683.tif 000012
【図１１】
2007286683.tif 000013
【図１２】
2007286683.tif 000014
【図１３】
2007286683.tif 000015
【図１４】
2007286683.tif 000016
【図１５】
2007286683.tif 000017
【図１６】
2007286683.tif 000018
【図１７】
2007286683.tif 000019
【図１８】
2007286683.tif 000020
【図１９】
2007286683.tif 000021
【図２０】
2007286683.tif 000022
【図２１】
2007286683.tif 000023