(57)【特許請求の範囲】
【請求項１】
リモートユーザインターフェース（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＵＩ）クライアントを操作する方法であって、
ＵＩサーバとの第１の接続を設定するステップと、
前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信するステップと、
前記第１の接続を終了するステップと、
前記文書を実行するステップと、
前記第２の命令に基づいて前記第１の接続を終了した状態で前記ＵＩサーバとの持続的な新たな接続である第２の接続を設定するステップと、
前記第２の接続を設定するステップにおいて、前記ＵＩクライアントが前記ＵＩサーバに前記ＵＩクライアントの能力を伝送した場合、前記ＵＩサーバから前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を受信するステップと、を含み、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とする方法。
【請求項２】
前記第１の命令は、実行される時、前記ＵＩクライアントに存在するスクリプトオブジェクトが呼び出しされるようにするオブジェクトを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ＵＩサーバからドローイングプリミティブ（ｄｒａｗｉｎｇ  ｐｒｉｍｉｔｉｖｅｓ）を受信するステップと、
前記ドローイングプリミティブを前記文書と互換可能な言語に変換するステップと、
前記変換されたドローイングプリミティブを前記文書に適用するステップと、をさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
ドローイングプリミティブと前記変換されたドローイングプリミティブ間でマッピングを維持するステップをさらに含む
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記ＵＩサーバによって予め提示されたドローイングプリミティブの属性を変更するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記文書のための属性値（ｐｒｏｐｅｒｔｙ  ｖａｌｕｅｓ）を変更するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
イベントを検出するステップと、
前記イベントに応答してイベントハンドラを呼び出しするステップと、をさらに含み、
前記イベントハンドラは、前記文書を直接更新する
ことを特徴とする請求項１に記載の方法。
【請求項８】
イベントを検出するステップと、
前記イベントに応答してイベントハンドラを呼び出しするステップと、をさらに含み、
前記イベントハンドラは、前記ＵＩサーバが前記文書を直接更新するようにするメッセージを前記ＵＩサーバに伝送する
ことを特徴とする請求項１に記載の方法。
【請求項９】
リモートユーザインターフェース（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＵＩ）サーバを操作する方法であって、
ＵＩクライアントとの第１の接続を設定するステップと、
前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を前記ＵＩクライアントに送信するステップと、
前記第１の接続を終了するステップと、
前記ＵＩクライアントから持続的な接続の要請を受信するステップと、
前記第１の接続を終了した状態で前記ＵＩクライアントとの持続的な新たな接続である第２の接続を設定するステップと、
前記第２の接続を設定するステップにおいて、前記ＵＩサーバが前記ＵＩクライアントから前記ＵＩクライアントの能力を受信した場合、前記ＵＩクライアントに前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を伝送するステップと、を含み、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とする方法。
【請求項１０】
前記ＵＩクライアントに位置する文書オブジェクトモデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ：ＤＯＭ）ツリーを直接編集するステップをさらに含む
ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記第２の接続を通じてウェブページのマークアップ要素属性（ｍａｒｋｕｐ  ｅｌｅｍｅｎｔ  ｐｒｏｐｅｒｔｉｅｓ）を直接変更するステップをさらに含む
ことを特徴とする請求項９に記載の方法。
【請求項１２】
前記ＵＩクライアントにスクリプトパッケージを伝送するステップと、
前記第２の接続を通じて前記スクリプトパッケージを直接呼び出しするステップと、をさらに含む
ことを特徴とする請求項９に記載の方法。
【請求項１３】
前記ＵＩクライアントのイベントハンドラから前記ＵＩサーバにイベントの発生を通知するメッセージを受信するステップと、
前記メッセージの受信に応答して、前記第２の接続を通じて前記ＵＩクライアント上の前記文書を直接編集するステップと、をさらに含む
ことを特徴とする請求項９に記載の方法。
【請求項１４】
プロセッサと、
インターフェースと、
ＵＩクライアントと、を含み、
前記ＵＩクライアントは、
前記インターフェースを通じてＵＩサーバとの第１の接続を設定し、
前記インターフェースを介した前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信し、
前記第１の接続を終了し、
前記プロセッサを用いて前記文書からの命令を実行することによって前記文書を実行し、
前記第２の命令に基づいて前記インターフェースを通じて前記第１の接続を終了した状態で前記ＵＩサーバとの持続的な新たな接続である第２の接続を設定し、
前記第２の接続を設定する時、前記ＵＩクライアントが前記ＵＩサーバに前記ＵＩクライアントの能力を伝送した場合、前記ＵＩサーバから前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を受信するように構成され、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とする装置。
【請求項１５】
前記装置は、表示装置である
ことを特徴とする請求項１４に記載の装置。
【請求項１６】
プロセッサと、
インターフェースと、
ＵＩサーバと、を含み、
前記ＵＩサーバは
前記インターフェースを通じてＵＩクライアントとの第１の接続を設定し、
前記インターフェースを介した前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を前記ＵＩクライアントに送信し、
前記第１の接続を終了し、
前記ＵＩクライアントから前記インターフェースを通じて持続的な接続の要請を受信し、
前記インターフェースを通じて前記第１の接続を終了した状態で前記ＵＩクライアントとの持続的な新たな接続である第２の接続を設定し、
前記第２の接続を設定する時、前記ＵＩサーバが前記ＵＩクライアントから前記ＵＩクライアントの能力を受信した場合、前記ＵＩクライアントに前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を伝送するように構成され、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とする装置。
【請求項１７】
前記装置は、セットトップボックスである
ことを特徴とする請求項１６に記載の装置。
【請求項１８】
リモートＵＩクライアントを操作する方法を遂行するために機器（ｍａｃｈｉｎｅ）によって実行可能な命令のプログラムを実体的に具現する、前記機器によって読み取り可能なプログラム格納媒体であって、
前記方法は、
ＵＩサーバとの第１の接続を設定するステップと、
前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信するステップと、
前記第１の接続を終了するステップと、
前記文書を実行するステップと、
前記第２の命令に基づいて前記第１の接続を終了した状態で前記ＵＩサーバとの持続的な新たな接続である第２の接続を設定するステップと、
前記第２の接続を設定するステップにおいて、前記ＵＩクライアントが前記ＵＩサーバに前記ＵＩクライアントの能力を伝送した場合、前記ＵＩサーバから前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を受信するステップと、を含み、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とするプログラム格納媒体。
【請求項１９】
リモートＵＩサーバを操作する方法を遂行するために機器（ｍａｃｈｉｎｅ）によって実行可能な命令のプログラムを実体的に具現する、前記機器によって読み取り可能なプログラム格納媒体であって、
前記方法は、
ＵＩクライアントとの第１の接続を設定するステップと、
前記第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と前記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を前記ＵＩクライアントに送信するステップと、
前記第１の接続を終了するステップと、
前記ＵＩクライアントから持続的な接続の要請を受信するステップと、
前記第１の接続を終了した状態で前記ＵＩクライアントとの持続的な新たな接続である第２の接続を設定するステップと、を含み、
前記第２の接続を設定するステップにおいて、前記ＵＩサーバが前記ＵＩクライアントから前記ＵＩクライアントの能力を受信した場合、前記ＵＩクライアントに前記ユーザインターフェースを操作する方法に対する前記第１の命令の修正を伝送するステップと、を含み、
前記第１の命令の修正は、前記ＵＩクライアントのＵＩ状態更新を実行する主体を前記ＵＩサーバと前記ＵＩクライアントのうちで選択可能な複数のオプションを含む
ことを特徴とするプログラム格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートユーザインターフェースに関し、特に、リモートユーザインターフェース連携アプリケーションに関する。
【背景技術】
【０００２】
リモートユーザインターフェース(User Interface:ＵＩ）は、ホストでないリモート装置がアプリケーションのためのユーザインターフェースの表示を可能にするので、多様な家電製品(consumer electronics)で重要となっている。例えば、家庭環境において、一つの部屋に位置するホスト(例えば、セットトップボックス)は、該当家内の他の部屋に位置する装置を含む複数の装置にホームネットワークを通じてコンテンツを伝達するように配置されることもできる。そのような環境において、ユーザがリモート装置に表示されるユーザインターフェースを介してこのホスト装置を対話型で操作できることが望ましい。
【０００３】
現在まで、リモートユーザインターフェースの開発のための標準を定義するために、様々な努力がなされている。現在、あらゆる状況に適合したリモートユーザインターフェースは存在しない。ストリームビットマップリモートユーザインターフェース(Intel's XRT、VNC、JPEG2000、など)は、ストリームをデコーディングするために特定クライアントを必要とする。ＨＴＭＬ(Hypertext Markup Language)ユーザインターフェースは、ＨＴＭＬで記述され得るユーザインターフェースであるが、ＨＴＭＬの使用では容易に記述されないユーザインターフェースを扱うには困難さがある。ビデオベースのユーザインターフェースは、最初にユーザインターフェースを生成するためにサーバ側に高価のビデオエンコーダを必要とする。
【０００４】
米国家電協会(Consumer Electronics Association：ＣＥＡ）は、リモートユーザインターフェースを促進するためのウェブベースのプロトコルとフレームワークを定義するための標準化案(standardization initiative) ＣＥＡ ２０１４-Ａを発表した。ＣＥＡ２０１４-Ａ標準は、ユーザインターフェースが、基本ロジック(underlying logic）をホスティングするもの以外の装置または制御要素(control points)により遠隔地で表示されたり、リモートで制御されることを可能にするために必要なメカニズムを定義する。基本装置の発見は、家庭では汎用プラグアンドプレー(Universal Plug and Play:ＵＰｎＰ)ネットワーク及びＵＰｎＰ装置のためのＵＰｎＰ装置構造に基づいてなされる。また、当該標準は、家庭にあるＵＰｎＰ装置に対する第３者のインターネットサービスにより提供されるユーザインターフェースの遠隔表示を許容し、ＴＶ、携帯電話、及び移動装置のための広い範囲のユーザインターフェース能力を保証する。
【０００５】
一般に、ブラウザベースのリモートユーザインターフェースシステム(例えば、ＣＥＡ ２０１４）は、ウェブページをＰＣ(Personal Computer)画面上に生成する方法と同一の方法でリモート装置上にユーザインターフェースを生成するために、ＨＴＭＬを使用する。このようなモデルでは、ＵＩサーバ（例えば、セットトップボックス）及びＵＩクライアント（例えば、ＴＶ）の両方は、(有／無線イーサネット（登録商標）、ホーム-プラグ、またはその他類似のネットワーキング技術を通じて接続した)ネットワーク上ではクライアントとなる。しかしながら、ネットワーク技術は普通装置間の継続的な接続を維持せず、したがって、ネットワークベース技術は、一般的にＵＩクライアントに命令の束（bundle）を伝送した後、そのＵＩクライアントはほとんど自律的（autonomously）に動作するようになる。
【０００６】
ただし、リモートユーザインターフェースの導入前のセットトップボックスのモデルは、そのセットトップボックスが表示装置の連続的な制御を維持することであった。そのような連続的な制御は、既存のリモートユーザインターフェースシステムでは不可能であった。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、リモートユーザインターフェースシステムでリモートＵＩクライアントとＵＩサーバ間のリモートＵＩ連携のための方法及び装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の第１実施形態によれば、リモートユーザインターフェース(User Interface：ＵＩ)クライアントを操作する方法を提供する。上記方法は、ＵＩサーバとの第１の接続を設定するステップと、第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令と上記ＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信するステップと、第１の接続を終了するステップと、上記文書を実行するステップと、第２の命令に基づいて上記ＵＩサーバと第２の接続を設定するステップと、を含むことを特徴とする。
【０００９】
本発明の第２実施形態によれば、リモートユーザインターフェース(User Interface：ＵＩ)サーバを操作する方法を提供する。上記方法は、ＵＩクライアントとの第１の接続を設定するステップと、第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令とＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書をＵＩクライアントに送信するステップと、第１の接続を終了するステップと、ＵＩクライアントから持続的な接続の要請を受信するステップと、ＵＩクライアントと持続的な接続である第２の接続を設定するステップと、を含むことを特徴とする。
【００１０】
本発明の第３実施形態によれば、装置を提供する。上記装置は、プロセッサと、インターフェースと、ＵＩクライアントと、を含み、ＵＩクライアントは、上記インターフェースを通じてＵＩサーバとの第１の接続を設定し、上記インターフェースを介した第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令とＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信し、第１の接続を終了し、上記プロセッサを用いて上記文書からの命令を実行することによって上記文書を実行し、第２の命令に基づいて上記インターフェースを通じて上記ＵＩサーバと第２の接続を設定するように構成されることを特徴とする。
【００１１】
本発明の第４実施形態によれば、装置を提供する。上記装置は、プロセッサと、インターフェースと、ＵＩサーバと、を含み、上記ＵＩサーバは、上記インターフェースを通じてＵＩクライアントとの第１の接続を設定し、上記インターフェースを介した第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令とＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書をＵＩクライアントに送信し、第１の接続を終了し、ＵＩクライアントから上記インターフェースを通じて持続的な接続の要請を受信し、上記インターフェースを通じてＵＩクライアントと持続的な接続である第２の接続を設定し、上記インターフェースを通じて伝送される命令を生成するために上記プロセッサを用いることによってＵＩクライアント上に上記文書を直接編集することを特徴とする。
【００１２】
本発明の第５実施形態によれば、プログラム格納媒体を提供する。上記プログラム格納媒体は、リモートＵＩクライアントを操作する方法を遂行するために機器(machine)によって実行可能な命令のプログラムを実体的に具現する、上記機器によって読み取り可能なプログラム格納媒体であって、上記方法は、ＵＩサーバとの第１の接続を設定するステップと、第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令とＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書を受信するステップと、第１の接続を終了するステップと、上記文書を実行するステップと、第２の命令に基づいてＵＩサーバと第２の接続を設定するステップと、を含むことを特徴とする。
【００１３】
本発明の第６実施形態によれば、プログラム格納媒体を提供する。上記プログラム格納媒体は、リモートＵＩサーバを操作する方法を遂行するために機器(machine)によって実行可能な命令のプログラムを実体的に具現する、上記機器によって読み取り可能なプログラム格納媒体であって、上記方法は、ＵＩクライアントとの第１の接続を設定するステップと、第１の接続を通じて、ユーザインターフェースを操作する方法に関する第１の命令とＵＩサーバと持続的な接続を設定するための第２の命令とを含む文書をＵＩクライアントに送信するステップと、第１の接続を終了するステップと、ＵＩクライアントから持続的な接続の要請を受信するステップと、ＵＩクライアントと持続的な接続である第２の接続を設定するステップと、を含むことを特徴とする。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるリモートＵＩ連携のためのシステムの構成図である。
【図２】本発明の一実施形態による、後続の段階が実行される時の図１のシステムの構成図である。
【図３】本発明の一実施形態による、後続の段階が実行される時の図２のシステムの構成図である。
【図４】本発明の他の実施形態による、後続の段階が実行される時の図２のシステムの構成図である。
【図５Ａ】本発明の一実施形態による連携ＵＩ変更方法のフローチャートである。
【図５Ｂ】本発明の一実施形態による連携ＵＩ変更方法のフローチャートである。
【図５Ｃ】本発明の一実施形態による連携ＵＩ変更方法のフローチャートである。
【図５Ｄ】本発明の一実施形態による連携ＵＩ変更方法のフローチャートである。
【図６】本発明の一実施形態によるリモートＵＩクライアントを操作する方法のフローチャートである。
【図７】本発明の一実施形態によるリモートＵＩサーバを操作する方法のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するために発明者により期待される最上の態様を含む本発明の特定の実施形態が詳細に説明される。特定の実施形態の例が添付図面で例示される。本発明が特定の実施形態と関連して説明されても、本発明が説明される実施形態に制限されないことは明らかである。逆に、代案、変更、及び均等なものは後述する請求の範囲により定義される本発明の趣旨及び範囲に含まれる。本発明の説明において、特定の詳細な説明は、本発明の完全な理解のために提供される。本発明は、このような特定の詳細な説明の一部または全部がなくても実施することもできる。また、公知の特徴は、本発明の要旨を必要もなく不明りょうにすることを避けるために、説明されないことがある。
【００１６】
本発明に従って、構成要素、工程段階、及び／またはデータ構造は、各種動作システム、プログラミング言語、コンピュータプラットフォーム、コンピュータプログラム、及び／または汎用機器を利用して具現されることもできる。また、本発明が属する技術分野で通常の知識を持った者は、ハードウェアに内蔵された装置、現場プログラム可能なゲートアレイ(Field Programmable Gate Arrays：ＦＰＧＡｓ)、特定用途集積回路(Application Specific Integrated Circuits：ＡＳＩＣｓ)、またはそれと類似した汎用性が欠けた装置も、ここで開示された本発明の範囲及び思想を逸脱せず使用可能なことを認識するはずである。本発明はまたメモリ装置のようなコンピュータ読み取り可能な媒体に格納されたコンピュータ命令の集合で実体的に具現されることもできる。
【００１７】
本発明の一実施形態において、ＵＩサーバからＵＩクライアントへのソフトウェアスタック(software stacks)のマイグレーション(migration）を収容するためにウェブベースのＵＩモデルに拡張（extension）が提供される。
【００１８】
現在のＵＩモデルにおいて、リモートＵＩクライアントは、所望のクライアント側のエンド-ユーザＵＩ行為と同様に、サーバ応用ロジックをカプセル化する文書(document)を実行する責任がある。このようなモデルにおいて、リモートＵＩサーバは、リモートＵＩクライアントに単純に情報を提供するバックエンドデータベースの役割を頻繁に遂行する。
【００１９】
本発明の一実施形態において、連携モデルが提供される。この連携モデルにおいて、ＵＩサーバは、ＵＩクライアントが前記文書をローディングした後にもＵＩクライアントと継続相互作用する。ＵＩクライアントにローディングされた初期文書は、ＵＩクライアントがＵＩサーバとの持続的な接続を要請するようにするコードを含むこともできる。この時、ＵＩクライアントとＵＩサーバ間の命令及び反応がこのような接続を通じて伝送されることができる。
【００２０】
本発明の一実施形態において、上記サーバは前記文書に含まれた拡張可能なＨＴＭＬ(Extensible Hypertext Markup Language：ＸＨＴＭＬ)／ＳＶＧ(Scalable Vector Graphics)マークアップ要素を変更することなどによって、上記文書を直接提示(submit)、削除、及び／または変更することができる。言い換えれば、ＵＩサーバは、上記文書の要素を直接編集することができる。これで、この特定の実施形態が、ＵＩサーバが上記要素の基本言語で前記要素を編集可能であることを要求するとしても(例えば、ＵＩサーバはＸＨＴＭＬ／ＳＶＧ(Extensible Hypertext Markup Language／Scalable Vector Graphics)要素を編集するために、ＸＨＴＭＬ／ＳＶＧに関する充分の知識を含まなければならない)、一般的なリモートＵＩシステムより、非常に多くの制御権限がＵＩサーバ側に付与される。
【００２１】
他の実施形態において、上記サーバは、前記クライアントがＸＨＴＭＬ／ＳＶＧマークアップ要素のような宣言型要素（declarative elements）に変換することができるドローイングプリミティブを提示、削除、及び／または変更することができる。本実施形態において、前記クライアントは提示されたドローイングプリミティブ(primitives）と生成されたＸＨＴＭＬ／ＳＶＧ要素間にマッピング部を維持することができる。言い換えれば、ＵＩサーバは前記文書の要素を間接的に編集することができる。このような特定の実施形態は前の実施形態の直接制御の一部を諦めるが、ＵＩサーバが前記要素の基本言語で前記要素を編集する必要性がなくなる。
【００２２】
また、ＵＩサーバは、前記クライアントがユーザ入力イベントを処理するだけでなく、提示されたドローイングプリミティブ及び宣言型要素(declarative elements）の属性を制御及び／または変更することを許諾するためにスクリプトオブジェクト(例えば、ＥＸＭＡスクリプトオブジェクト）を提示することができる。
【００２３】
本発明の他の実施形態において、マークアップ言語のコンテキストにおいて、前記サーバは、文書オブジェクトモデル(Document Object Model：ＤＯＭ)コアインターフェースを使用して前記クライアントで実行される文書オブジェクトモデルツリー(ＤＯＭ tree)を直接アクセス及び／または変更することができる。前記文書オブジェクトモデルツリーは、文書の前記要素の階層的表現である。前記文書オブジェクトモデルツリーを直接変更させる能力は、ＵＩサーバに前例のないレベルの制御を提供する。
【００２４】
図１は、本発明の一実施形態によるリモートＵＩ連携のためのシステムの構成図である。ここで、デジタルＴＶ１００のようなリモートＵＩクライアント装置は、ウェブブラウザアプリケーション１０２とＵＩクライアント１０４を含む。デジタルＴＶ１００が図１に示されているが、本発明が属する技術分野において通常の知識を持った者は、ＵＩクライアントがどんな形態の装置でも可能であり、本請求の範囲は特別に記述されない限り、デジタルＴＶに制限されないことを認識するはずである。また、ウェブブラウザアプリケーション１０２は、ＵＩクライアントを介してダウンロードされた文書を活用することができるアプリケーションの一例であるにすぎない。本発明が属する技術分野において通常の知識を持った者は、他のアプリケーションが前記文書を実行(run)するために使用されることができ、本請求の範囲は特別に記述されない限りウェブブラウザに制限されないということを認識するはずである。本開示の目的のために、用語“クライアントユーザエージェント”は、これら多様な形態のクライアントＵＩアプリケーションのうちいずれか一つであることと理解される。
【００２５】
ホームネットワーク１０６は、ＵＩクライアント１０４をセットトップボックス１１０のようなリモートＵＩサーバ装置で動作するＵＩサーバ１０８と接続させることもできる。セットトップボックス１１０は、前記セットトップボックスによりホスティングされるサービスを提供するセットトップボックスアプリケーション１１２をさらに含むことができる。図示しないが、リモートＵＩクライアント装置１００及びリモートＵＩサーバ装置１１０の各々は、プロセッサとインターフェースを含むことができる。前記プロセッサは、本開示で説明されたプロセッサと関連した多様な命令を実行するために使われることもできる一方、前記インターフェースは、リモートＵＩクライアント装置１００及びリモートＵＩサーバ装置１１０間の通信のために使われることもできる。前記ウェブブラウザと同様に、前記セットトップボックスアプリケーションは、文書を生成及び／または変更できるアプリケーションの一例であるにすぎない。本発明が属する技術分野で通常の知識を持った者は、他のアプリケーションがこのような目的のために使われることができ、本請求の範囲は特別に記述されない限り、セットトップボックスアプリケーションに制限されないということを認識するはずである。本開示の目的のために、用語“ホストソフトウェア”はこれら多様な形態のサーバＵＩアプリケーションのうちいずれか一つであることと理解される。
【００２６】
また、図１には、ウェブブラウザアプリケーション１０２が文書を要請することが示されている。この要請は、ＵＩクライアント１０４に伝えられる。すると、ＵＩクライアント１０４は、ＵＩサーバ１０８との接続を設定する。このような接続の設定は、業界標準によって実施され得る。前記接続の設定は、普通ＵＩクライアントとＵＩサーバの両者で遂行する動作を含み、したがって、ＵＩクライアント、ＵＩサーバ、またはその両方とも前記接続を設定する動作を遂行することとも見えることに周知すべきである。ＵＩクライアントが前記接続を設定すると言及されるとき、これは前記接続を設定するために必要なＵＩクライアント側での動作の遂行を含むということが前提となる。同じように、ＵＩサーバが前記接続を設定すると言及されるとき、これは前記接続を設定するために必要なＵＩサーバ側での動作の遂行を含むということが前提となる。
【００２７】
ＵＩクライアント１０４は、第１の接続を通じてＵＩサーバ１０８から文書(例えば、ＣＥ-ＨＴＭＬページ)を要請する。ＵＩサーバ１０８は、前記アプリケーションに試みられた接続に対してホストソフトウェア１１２に通知する。ＵＩサーバ１０８は、応答文書を生成してＵＩクライアント１０４に伝達することにより、ＵＩクライアント要請に応答し、ＵＩクライアント１０４は、これをウェブブラウザアプリケーション１０２に伝達する。その後、ＵＩクライアント１０４は、ＵＩサーバ１０８との前記接続を終了する。
【００２８】
この時点で、ウェブブラウザアプリケーション１０２は、前記文書を受信しており、ＵＩクライアントとＵＩサーバ間の前記接続は終了されている。図２は、本発明の一実施形態による、後続段階が実行される時の図１のシステムの構成図である。図２に示したように、文書２００は、特殊コード２０２を含む。特殊コード２０２は、ウェブブラウザアプリケーション１０２が、ＵＩクライアント１０４にとってＵＩサーバ１０８との新たな接続を設定するように設計された特殊コードである。この新たな接続は持続的なことになるはずである。
【００２９】
本明細書で使われた用語、“持続的な接続(persistent connection)”は、初期データ伝達に続き開通されたままで維持された、いかなる接続でも意味することと理解される。これがＵＩクライアントとＵＩサーバ間の持続的なデータ伝達がなされる接続を含むこともできる一方、これを明白にするために前記接続が絶えず通信の中(busy)である必要はない。前記接続は、後続のデータ伝達のために開通されたままで充分である(例えば、接続交渉(link negotiation）は、データ伝達が発生する時、再度遂行される必要はない)。
【００３０】
また、ＵＩサーバ１０８は、ＵＩクライアント１０４が画面解像度のような装置能力を提供するように要請し、セットトップボックスアプリケーション１１２が後続の段階で前記文書に行なわれるいかなる変更も、より一層精巧に行うようにすることもできる。
【００３１】
この時点で、第２の接続、すなわち、持続的な接続は、ＵＩクライアント１０４とＵＩサーバ１０８間で設定されている。図３は、本発明の一実施形態による、後続の段階が実行される時の図２のシステムの構成図である。本実施形態において、セットトップボックスアプリケーション１１２は、デジタルＴＶ１００に対するＵＩを変更することを希望する。まず、セットトップボックスアプリケーション１１２は、新たなドローイングプリミティブ／ドローインググループ命令を生成してＵＩサーバ１０８に伝達する。ＵＩサーバ１０８は、この命令をＸＨＴＭＬ／ＳＶＧマークアップ命令のような、前記文書によりサポートされる形式(format)に変換する。その後、ＵＩサーバ１０８は、この変換された命令をＵＩクライアント１０４に伝達し、ＵＩクライアント１０４は、直接または前記文書と関連したＤＯＭツリー３００を変更することによって、前記文書を更新する動作をする。
【００３２】
図４は、本発明の他の実施形態による、後続の段階が実行される時の図２のシステムの構成図である。本実施形態において、セットトップボックスアプリケーション１１２は、デジタルＴＶ１００に対するＵＩを変更することを希望するが、ここでは、ＵＩサーバ１０８でドローイングプリミティブ／ドローインググループ命令の変換を遂行する代わりに、リモートアプリケーションエージェント４００が前記変換を遂行し、前記変換は、新たなマークアップをＤＯＭツリーに挿入するように呼び出しすることができるＵＩクライアント１０４で遂行される。また、前記リモートアプリケーションは、前記変換過程をサポートするためにドローイングプリミティブ／ドローインググループ命令及びそれに該当するＸＨＴＭＬ／ＳＶＧマークアップ命令のマッピング部４０２を維持することができる。
【００３３】
本発明の他の実施形態において、ドローイングプリミティブ／グループは、前記クライアントに提示されたＥＣＭＡScriptパッケージに含まれたＥＣＭＡScriptイベントハンドラのようなスクリプトハンドラと関連されることができる。前記クライアントＥＣＭＡScriptは、ドローインググループまたはＸＨＴＭＬ／ＳＶＧマークアップを直接変更することによってイベントを扱うことができる。前記クライアントは、提示されたドローイングプリミティブ／グループまたはＸＨＴＭＬ／ＳＶＧマークアップを生成、変更、及び／または選択できるメッセージを前記サーバに伝送することができる。
【００３４】
図５Ａ乃至図５Ｂは、本発明の一実施形態による連携ＵＩ変更方法のフローチャートである。図５Ａを参照すると、ステップ５００で、クライアントユーザエージェントはＵＩクライアントから文書を要請することができる。たとえ前記クライアントユーザエージェントが異なる形態のアプリケーションである実施形態が可能であるとしても、前記クライアントユーザエージェントは、例えば、ウェブブラウザのようなウェブアプリケーションであり得る。ステップ５０２で、ＵＩクライアントは、ＵＩサーバと第１の接続を設定する。ステップ５０４で、ＵＩクライアントは、ＵＩサーバから文書を要請する。ステップ５０６で、ＵＩサーバは前記要請を受信し、ホストソフトウェアに接続試みを通知する。これはセットトップボックスアプリケーションのような、サーバによりホスティングされるいかなるアプリケーションであり得る。
【００３５】
ステップ５０８で、ＵＩサーバは前記ホストソフトウェアから文書を受信する。ステップ５１０で、ＵＩサーバは前記文書をＵＩクライアントに伝送することができる。ステップ５１２で、ＵＩクライアントは前記文書を前記クライアントユーザエージェントに伝送する。ステップ５１４で、ＵＩクライアントはＵＩサーバとの第１の接続を終了する。
【００３６】
ステップ５１６で、前記クライアントユーザエージェントは前記文書をローディングする。前記文書は、実行される時、ＵＩクライアントがＵＩサーバと持続的な接続を要請するようにする要素を含むことができる。これは、例えば、type=“application／remote_application”である＜object＞要素を含む。＜object＞要素は、また＜param＞子要素(child element)を使用して前記サーバが前記接続要請を識別するための詳細内容を含むこともできる。＜object＞要素は、ＵＩクライアントに含まれたスクリプトオブジェクト(scripting object)が呼び出しされるようにすることができる。ステップ５１８で、前記スクリプトオブジェクトはＵＩサーバと伝送制御プロトコル(Transmission Control Protocol：ＴＣＰ)接続のような第２の接続を設定し、ＵＩサーバとの第２の接続を識別して認証することができる。本発明の一実施形態において、ＵＩサーバからＵＩクライアントへの要請及び応答は、ＵＩクライアントとＵＩサーバ間に設定された前記接続を通じて単純オブジェクトアクセスプロトコル(Simple Object Access Protocol：ＳＯＡＰ）を使用して遂行されることができる。
【００３７】
ステップ５２０で、ＵＩサーバはＵＩクライアントの能力を知るためにＵＩクライアントにクエリ(query)を伝送することができる。ステップ５２２で、ＵＩクライアントは、ＵＩクライアントの能力に関する情報を返送することができる。この情報は、ＵＩを変更する方法に対して知能型決定(intelligent decision)をするために、ＵＩクライアントで前記ＵＩを実行するアプリケーションと前記装置に関して文書アプリケーションが十分に理解できるようにする。ステップ５２４で、ＵＩクライアントは前記文書の残り部分を継続処理することもできる。
【００３８】
この時点で、ステップ５２６で、ＵＩサーバ(及びＵＩクライアント）は、持続的な接続である第２の接続を通じていつでも遂行可能な、前記ＵＩを更新する方法に関する多くの選択種を有するようになる。一部例示的な代案が図５Ｂ乃至図５Ｄに示されている。図５Ｄを参照すると、第１グループの代案は、サーバがクライアントのＵＩ状態を更新することと関連がある。ステップ５２８で、ＵＩサーバはＵＩクライアントで文書プロトコルに変換されるドローイングプリミティブを提示することもできる。ステップ５３０で、ＵＩサーバは前記文書で直接属性変更をするか、またはＤＯＭツリーが前記文書と関連させることによって、既に提示されたドローイングプリミティブ／グループの色相及び鮮明度のような属性を変更することもできる。ステップ５３２で、ＵＩサーバは前記文書のマークアップ要素自体を提示するか、変更することもできる。ステップ５３４で、ＵＩサーバは既に提示されたマークアップ要素の属性を追加するか、除去することもできる。ステップ５３６で、ＵＩサーバは既に提示されたマークアップ要素の属性値を変更することもできる。
【００３９】
図５Ｃを参照すると、第２グループの代案は、サーバがクライアントにスクリプトパッケージを提示することと関連がある。ステップ５３８で、ＵＩサーバはＵＩクライアントで実行されるようにＥＣＭＡScript方法を直接呼び出しすることもできる。ステップ５４０で、ＵＩサーバは提示されたドローイングプリミティブ／グループまたは提示されたＸＨＴＭＬ／ＳＶＧマークアップと関連されたクライアントイベントを処理するようにＥＣＭＡScript方法をキャプチャーすることもできる。これはクライアントが、選択されたイベントをＥＣＭＡScriptルートに伝送するように指示する、前記クライアントが実行するＥＣＭＡScriptルーチンを提示するステップを含むこともできる。ＥＣＭＡScriptルーチンイベントハンドラは、前記キャプチャーされたイベントを自体処理するか、ＵＩサーバに通知することができる。ＵＩクライアントで実行されるＥＣＭＡScript方法は、メッセージを前記サーバに伝送することもできる。
【００４０】
第３グループの代案は、クライアントが自身のＵＩ状態を更新することと関連がある。ステップ５４２で、既に提示されたドローイングプリミティブ／グループの色相及び鮮明度のような属性は、ＵＩクライアントにより変更され得る。ステップ５４４で、既に提示されたマークアップの属性値は、ＵＩクライアントにより変更されることもできる。ステップ５４６で、ＸＨＴＭＬ／ＳＶＧマークアップは、ＵＩクライアントにより提示されるか、変更されることもできる。
【００４１】
図５Ｂを参照すると、第４グループの代案は、イベント処理(event handling)と関連がある。ステップ５４８で、ＵＩクライアントで発生するイベントは、前記イベントに割り当てられる、ＵＩクライアントのＥＣＭＡScriptハンドラにより処理される。ステップ５５０で、ＵＩクライアントは、前記イベントをローカルで処理するか、またはステップ５４２〜５４６を参照して説明したように、前記クライアントＵＩを変更することもできる。また、ステップ５５２で、ＵＩクライアントはＥＣＭＡScript方法を使用してメッセージを前記サーバに伝送することもでき、前記サーバは、ステップ５２８〜５３６を参照して説明したように前記文書を変更することもできる。
【００４２】
このように、ドローイングプリミティブ／グループ命令は、ＵＩサーバからＵＩクライアントに伝送され、前記クライアントユーザエージェントによりＵＩクライアントの前記文書形式と互換可能なマークアップ命令に変換されることもできる。このようなモデルにおいて、グラフィックドローイング応用プログラムインターフェース(Application Program Interface：ＡＰＩ)がＵＩサーバに提供されることもできる。前記命令が前記サーバにより発行される時、その命令はＵＩクライアントと互換可能な命令に変換される。すると、ＵＩクライアントは、このようなグラフィックドローイング命令を該当するマークアップ命令に変換することができる。リモートアプリケーションエージェントは、前記サーバが作図されたグラフィックオブジェクトの属性を後に変更するようにするために、前記グラフィックドローイング命令と前記生成されたマークアップ命令間にマッピング部を維持することもできる。たとえこれがＵＩクライアントに対してより多くの要求を提起することもあるが、一般的なセットトップボックスアプリケーションがコーディングされることに、より近接することに期待されるようなサーバ側のＡＰＩを招く。
【００４３】
ＵＩサーバは、クライアントＵＩ装置上に作図するために(ストローク及び塗りつぶし属性と同様に、円、線、四角形、曲線、及び経路のような)ドローイングプリミティブを使用することもできる。前記クライアントＵＩ装置で実行されるエージェントは、このようなプリミティブを収容可能なマークアップ言語に変換し、前記マークアップを前記クライアント装置のＤＯＭツリーに挿入する。前記プリミティブのためのドローインググループも使用されることができる。ドローインググループは、一つの単位で処理されるグラフィック命令の集合を定義する。このようなグループの各々は、階層でのレベルを示す‘ｚ-順位(order)’に割り当てられることもできる。各グループは見えることも見えないこともでき、並進(translated)／回転／縮尺(scaled)／フェードイン／アウトされることができる。
【００４４】
図６は、本発明の一実施形態によるリモートＵＩクライアントを操作する方法のフローチャートである。前記方法は、ホームネットワークに位置する表示装置のようなクライアント装置で遂行されることができる。ステップ６００で、ＵＩサーバとの第１の接続が設定される。ステップ６０２で、文書が第１の接続を通じて受信される。ステップ６０４で、第１の接続が終了される。ステップ６０６で前記文書が実行される。前記文書は、ＵＩを操作する方法に関する第１の命令及びＵＩサーバとの持続的な接続を設定することに関する第２の命令を含むこともできる。第１の命令は実行される時、ＵＩクライアントに存在するスクリプトオブジェクトが呼び出しされるようにするオブジェクトを含むこともできる。ステップ６０８で、第２の命令に基づいてＵＩサーバとの第２の接続が設定される。このステップはＵＩサーバにＵＩクライアントの能力を伝送するステップを含むこともできる。
【００４５】
図７は、本発明の一実施形態による、リモートＵＩサーバを操作する方法のフローチャートである。この方法は、ホームネットワークに位置するセットトップボックスのようなサーバ装置で遂行されることができる。ステップ７００で、ＵＩクライアントとの第１の接続が設定される。ステップ７０２で、文書が第１の接続を通じてＵＩクライアントに伝送され、前記文書はＵＩを操作する方法に関する第１の命令及びＵＩサーバとの持続的な接続を設定することに関する第２の命令を含む。ステップ７０４で第１の接続が終了される。ステップ７０６で、持続的な接続の要請がＵＩクライアントから受信される。ステップ７０８でＵＩクライアントとの持続的な接続である第２の接続が設定される。
【００４６】
上述した実施形態の多様な態様、実施形態、具現、または特徴が別途／または組み合わせて使われることができる。上述した実施形態の多様な態様がソフトウェア、ハードウェア、またはその組み合わせによって具現され得る。上述した実施形態はまたコンピュータ読み取り可能な媒体でコンピュータ読み取り可能なコードで具現され得る。コンピュータ読み取り可能な媒体はデータを格納し、その後、コンピュータシステム読み取り可能ないかなるデータ格納装置でも定義できる。コンピュータ読み取り可能な媒体の例には、ロム(ＲＯＭ)、ラム(ＲＡＭ)、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、及び光学的データ格納装置などがある。またコンピュータ読み取り可能な媒体は、ネットワークに接続したコンピュータシステムに分散され、分散方式でコンピュータ読み取り可能なコードが格納されて実行されることができる。
【００４７】
以上、本発明を具体的な実施形態に関して図示及び説明したが、添付した特許請求の範囲により規定されるような本発明の趣旨及び範囲を逸脱することなく、形式や細部の様々な変更が可能であることは、当該技術分野における通常の知識を有する者には明らかである。
【符号の説明】
【００４８】
１００  リモートＵＩクライアント装置
１０２  ウェブブラウザアプリケーション
１０４  ＵＩクライアントクライアント
１０６  ホームネットワーク
１０８  ＵＩサーバ
１１０  セットトップボックス
１１０  リモートＵＩサーバ装置
１１２  セットトップボックスアプリケーション
１１２  ホストソフトウェア
２００  文書
２０２  特殊コード
３００  ＤＯＭツリー
４００  リモートアプリケーションエージェント
４０２  マッピング部
【図１】
0005914467.tif 000002
【図２】
0005914467.tif 000003
【図３】
0005914467.tif 000004
【図４】
0005914467.tif 000005
【図５Ａ】
0005914467.tif 000006
【図５Ｂ】
0005914467.tif 000007
【図５Ｃ】
0005914467.tif 000008
【図５Ｄ】
0005914467.tif 000009
【図６】
0005914467.tif 000010
【図７】
0005914467.tif 000011