ユーザインターフェースを管理する装置及び方法
【課題】 ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態をHTML及びHTTPを用いて管理するユーザインターフェースを管理する装置及び方法を提供する。
【解決手段】 少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、通知パケットの配布結果として受信される状態の保存命令または抽出命令を管理するウェブサーバと、保存命令に従ってユーザインターフェースの状態を保存する状態保存部及び保存されたユーザインターフェースの状態のうち、抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部とを備える。
【解決手段】 少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、通知パケットの配布結果として受信される状態の保存命令または抽出命令を管理するウェブサーバと、保存命令に従ってユーザインターフェースの状態を保存する状態保存部及び保存されたユーザインターフェースの状態のうち、抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザインターフェースを管理する装置及び方法に係り、より詳細には、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態をHTML(ハイパーテキストマークアップランゲージ)及びHTTP(ハイパーテキストトランスファープロトコル)を用いて管理するユーザインターフェースを管理する装置及び方法に関する。
【背景技術】
【0002】
遠隔でサーバから提供されるアプリケーションを用いる技術としては、マイクロソフト社のRDP(リモートデスクトッププロトコル)とインテル社のERP(エクステンデッドリモーティングプロトコル)などがある。このような遠隔技術は、バイナリ基盤のビットマップ伝送プロトコルを基盤とするが、アプリケーションを提供するに当たって大きなネットワーク帯域幅を必要とするという短所がある。特に、遠隔アプリケーションのユーザインターフェースがオーディオ/ビデオストリーミングである場合、必要とするネットワークの帯域幅はさらに大きくなる。
【0003】
一方、特定クライアントを通じてサーバから提供されるアプリケーションについての作業を行っているユーザは、今後に他のクライアントを通じて該当アプリケーションについての作業実行時にユーザインターフェースの統一性を要求しうる。すなわち、ユーザは、第1クライアントを通じて特定アプリケーションについての作業が終了した時点のユーザインターフェースが第2クライアントを通じて表示されることを希望する。
【0004】
図1は、従来の変更されたクライアントを通じて遠隔アプリケーションを提供するシステムを示す図面であって、UPnP(ユニバーサルプラグアンドプレイ)環境下でシステムは遠隔制御ポイント10、遠隔サーバ20、第1遠隔クライアント31及び第2遠隔クライアント32を含んで構成される。
【0005】
UPnPのネットワーキングステップは、アドレス指定(アドレッシング)、検索(ディスかバリ)、説明(デスクリプション)、制御(コントロール)、イベント作業(イベンティング)及びプレゼンテーションで構成されるが、遠隔制御ポイント10は、第1遠隔クライアント31によって作業中の連結(コネクション)を確認する。そして、遠隔制御ポイント10は、遠隔サーバ20をして現在作業中の連結に対するユーザインターフェースの状態を一定時間保持させ、保存させる。
【0006】
そして、遠隔制御ポイント10は、遠隔サーバ20と第1遠隔クライアント31との連結を終了させ、遠隔サーバ20と第2遠隔クライアント32との連結を締結させた後、遠隔サーバ20をして保存されたユーザインターフェースを第2遠隔クライアント32に提供するように命令する。
【0007】
しかし、ユーザインターフェースの状態のうち、遠隔サーバ20によって管理されるもの以外に、遠隔クライアント31、32によって管理されるものもある。例えば、ウェブブラウザのクッキー(クライアントクッキー)、フォーム入力、オーディオ/ビデオオブジェクトは、いずれも遠隔クライアントによって管理されるが、これにより、従来の方式による遠隔サーバ20に保存されたユーザインターフェースの状態には、遠隔クライアント31、32によって管理されるものは含まれていない。
【0008】
特に、遠隔サーバ20に保存手段が備えられていない場合、ユーザインターフェースの状態を保存し、復元しうる方法がないので、これについての改善が必要となった。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態を別途の装置に保存させ、これをHTML及びHTTPを通じて提供するところにその目的がある。
【0010】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【0011】
前記目的を達成するために本発明の実施形態によるユーザインターフェースを管理する装置は、少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するウェブサーバと、前記保存命令に従って前記ユーザインターフェースの状態を保存する状態保存部及び前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部と、を備える。
【0012】
本発明の実施形態によるユーザインターフェースを表示する装置は、提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するサーバ検索部と、前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成する状態管理要請部と、前記ユーザインターフェースの状態または前記パケットを送信する通信部と、前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するウェブブラウザと、を備える。
【0013】
本発明の実施形態によるユーザインターフェースを管理する方法は、(a)少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するステップと、(b)前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するステップと、(c)前記保存命令に従って前記ユーザインターフェースの状態を保存するステップと、(d)前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信するステップと、を備える。
【0014】
本発明の実施形態によるユーザインターフェースを表示する方法は、(a)提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するステップと、(b)前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成するステップと、(c)前記ユーザインターフェースの状態または前記パケットを送信するステップと、(d)前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するステップと、を備える。
【非特許文献1】マイクロソフト社のRDP(リモートデスクトッププロトコル)
【発明の効果】
【0015】
本発明のユーザインターフェースを提供する装置及び方法によれば、次のような効果が1つあるいはそれ以上ある。
【0016】
第一に、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態を別途の装置に保存させることによって、相異なるクライアントを通じて該当アプリケーションの提供を受けるユーザに同じユーザインターフェースを提供しうる。
【0017】
第2に、ネットワーク上に存在する複数個のサーバから提供される複数個のアプリケーションについてのユーザインターフェースを同時に管理しうる。
【発明を実施するための最良の形態】
【0018】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。本発明の利点及び特徴、そしてこれを達成する方法は添付した図面に基づいて詳細に後述する実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形態で具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明によってのみ定義される。一方、明細書全体にわたって同一な参照符号は同一な構成要素を示す。
【0019】
以下、添付した図面を参照して本発明の望ましい実施形態を詳細に説明する。
【0020】
図2は、本発明の実施形態によるユーザインターフェースを管理するシステムを示す図面であって、システムは、遠隔サーバ300、保存サーバ400及び遠隔クライアント500を含んで構成される。
【0021】
ネットワーク200上に遠隔サーバ300は、少なくとも1つ以上存在できるが、遠隔サーバ300は、遠隔クライアント500にアプリケーションを提供する役割を果たす。このために、それぞれの遠隔サーバ211、212、213は、ウェブサーバを備え、自身がネットワーク200に参加しているという通知パケットを周期的に送信しうる。ここで、アプリケーションは、ウェブページだけでなく実行可能なアプリケーションプログラムが含まれうる。
【0022】
また、遠隔サーバ300は、遠隔クライアント500の要請に応じて自身の状態を送信することもできる。遠隔サーバ300の状態には提供中のアプリケーションのURL(ユニフォームリソースロケータ)が含まれうる。
【0023】
ここで、ネットワーク200は、有線または無線ネットワークであり得るが、HTTPを用いて各装置間のデータを伝達する役割を果たす。
【0024】
遠隔クライアント500は、遠隔サーバ300から提供されたアプリケーションを表示する役割を果たす。このために、遠隔クライアント500は、ウェブブラウザを備えうる。アプリケーションの提供を受けるために遠隔クライアント500は、まずネットワーク200上に遠隔サーバ300が存在しているか否かを検索する。遠隔サーバ300の検索は通知パケットを受信することによって行われうるが、遠隔クライアント500は、通知パケットに含まれた遠隔サーバ300のアドレスを参照して遠隔サーバ300と通信し、所望のアプリケーションを要請する。
【0025】
このような過程を通じてアプリケーションの提供を受ける途中に遠隔クライアント200は、アプリケーションの受信を中断しうる。この際、提供されていたアプリケーションは、後で再び提供されうるが、このために遠隔クライアント200は、中断時点でのアプリケーションについてのユーザインターフェースの状態を保存サーバ400に送信して保存させる。
【0026】
保存サーバ400も遠隔サーバ300と同様に自身がネットワーク200に参加しているという通知パケットを周期的に送信し、このためにウェブサーバを備えうる。保存サーバ400の通知パケットを受信した遠隔クライアント500は、通知パケットに含まれた保存サーバ400のアドレスを参照して保存サーバ400と通信し、自身が提供されていたアプリケーションについてのユーザインターフェースの状態を保存サーバ400に送信する。
【0027】
ここで、ユーザインターフェースの状態には、アプリケーションについての遠隔サーバ300側の状態及び遠隔クライアント500側の状態を含むが、遠隔サーバ300側の状態は、前述したようにアプリケーションのURLが含まれ、遠隔クライアント500側の状態はウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを含む。
【0028】
ユーザインターフェースの状態は、HTMLの形で保存サーバ400に提供されうるが、少なくとも1つ以上の遠隔サーバ300から提供されているアプリケーションに関するものであり得る。
【0029】
例えば、第1遠隔クライアント231は、第1遠隔サーバ211及び第2遠隔サーバ212から同時にアプリケーションを提供されうるが、この際、第1遠隔クライアント231が保存しようとするユーザインターフェースの状態には、第1遠隔サーバ211の状態、第2遠隔サーバ212の状態及び自身のウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを含む。
【0030】
一方、第1遠隔クライアント231を通じて少なくとも1つ以上の遠隔サーバ200から提供されたアプリケーションについての作業を行ったユーザは、これについての作業を中止してユーザインターフェースの状態を保存サーバ400に保存した後で第2遠隔クライアント231を通じて作業し続けることができる。
【0031】
この際、第2遠隔クライアント231は、保存サーバ400から送信される通知パケットを受信して保存サーバ400がネットワーク200上に存在していることを確認した後で保存サーバ400に該当ユーザインターフェースの状態を要請する。
【0032】
遠隔クライアント500の要請に応じて保存サーバ400は、該当ユーザインターフェースの状態を送信するが、該当ユーザインターフェースの状態には複数個の遠隔サーバ300から提供される複数個のアプリケーションについてのユーザインターフェースの状態が含まれうる。
【0033】
複数個のアプリケーションについてのユーザインターフェースの状態を受信した第2遠隔クライアント232は、ユーザインターフェースの状態に含まれた複数個のアプリケーションを同時に提供されるか、ユーザによって選択された1つまたは2つ以上のアプリケーションを提供されうる。
【0034】
図3は、本発明の実施形態によるアプリケーションを提供する遠隔サーバを示すブロック図であって、遠隔サーバ300はアプリケーション生成部310、パケット生成部320、ウェブサーバ330、制御部340、状態管理部350及び通信部360を含んで構成される。
【0035】
アプリケーション生成部310は、遠隔クライアント500に提供するアプリケーションを生成する役割を果たす。ここで、アプリケーションは、ウェブページだけでなく、遠隔クライアント500で実行されうるアプリケーションプログラムを含む。
【0036】
パケット生成部320は、遠隔サーバ300がネットワーク上に存在していることを示す通知パケットを生成する役割を果たす。通知パケットには、遠隔サーバ300のアドレスが含まれているが、これを参照して遠隔クライアント500は遠隔サーバ300と通信可能となる。通知パケットは、通信部360を通じて周期的に送信しうる。
【0037】
ウェブサーバ330は、クライアント/サーバモデルとHTTPとを用いてアプリケーションを遠隔クライアント500に提供する役割を果たす。ウェブサーバ330としては、遠隔サーバ300で駆動されている運用体系によってアパッチ、IIS(インターネットインフォメーションサーバー)、エンタープライズサーバまたはロータスドミノサーバなどが使われうる。
【0038】
状態管理部350は、提供中のアプリケーションについてのユーザインターフェースの状態を遠隔クライアント500に提供する役割を果たす。ここで、状態管理部350によって管理される状態は、遠隔サーバ300側の状態のみを意味するものであって、アプリケーシンのURLが含まれうる。
【0039】
遠隔クライアント500からユーザインターフェースの状態を要請されれば、状態管理部350は現在提供中のアプリケーションについてのユーザインターフェースの状態を確認した後で通信部360を通じて確認された結果を送信する。
【0040】
通信部360は、遠隔クライアント500と通信して通知パケット、アプリケーションまたはユーザインターフェースの状態を送信し、ユーザインターフェースの状態に対する要請パケットを受信する役割を果たす。
【0041】
通信部360と遠隔クライアント500との通信方式は、イーサネット(登録商標)、USB、IEEE1394、直列通信(シリアルコミュニケーション)及び並列通信(パラレルコミュニケーション)のような有線通信方式が使われ、赤外線通信、ブルートゥース、フォームRF及び無線LANのような無線通信方式が使われうる。
【0042】
ここで、通信部360を通じて送受信されるパケットは、HTML形式によるものであり、これにより、ユーザインターフェースを映像データとして提供する方式に比べてネットワークの部下を減少させうる。
【0043】
制御部340は、通信部360を通じて受信されたパケットの種類を判断する役割を行い、アプリケーション生成部310、パケット生成部320、ウェブサーバ330、状態管理部350、通信部360及び遠隔サーバ300の全般的な制御を行う。
【0044】
図4は、本発明の実施形態によるユーザインターフェースの状態を管理する保存サーバを示すブロック図であって、保存サーバ400は、状態保存部410、ウェブサーバ420、制御部430、パケット生成部440及び通信部450を含んで構成される。
【0045】
状態保存部410は、遠隔クライアント500から受信したユーザインターフェースの状態を保存する役割を果たす。ここで、ユーザインターフェースの状態は、遠隔クライアント500のウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及びアプリケーションを提供する遠隔サーバ300の状態を含むが、遠隔サーバ300の状態は少なくとも1つ以上の遠隔サーバ300の状態が含まれうる。
【0046】
ユーザインターフェース状態の保存において、各ユーザインターフェースの状態には所定の名称が与えられうる。ここで、名称は、遠隔クライアント500のユーザによって直接入力されるか、保存時点、アプリケーションの名称、遠隔サーバの名称または遠隔サーバのアドレスなどを自動で組合わせうる。
【0047】
状態保存部410は、ハードディスク、フラッシュメモリ、CFカード(コンパクトフラッシュ(登録商標)カード)、SDカード(セキュアデジタルカード)、SMカード(スマートメディアカード)、MMC(マルチメディアカード)またはメモリスティックなど情報の入出力が可能なモジュールを含む。
【0048】
ウェブサーバ420は、クライアント/サーバモデルとHTTPとを用いてユーザインターフェースの状態保存のためのインターフェースを遠隔クライアント500に提供する役割を果たす。すなわち、遠隔クライアント500のユーザは、ウェブサーバ420から提供されたインターフェースを通じてユーザインターフェースの状態を保存して抽出しうる。
【0049】
パケット生成部440は、保存サーバ400がネットワーク上に存在していることを示す通知パケットを生成する役割を果たす。通知パケットには、保存サーバ400のアドレスが含まれているが、これを参照して遠隔クライアント500は保存サーバ400と通信可能となる。通知パケットは、通信部450を通じて周期的に送信しうる。
【0050】
通信部450は、遠隔クライアント500と通信して通知パケット、保存命令、抽出命令またはユーザインターフェースの状態を送受信する役割を果たす。通信部450と遠隔クライアント500との間の通信方式は、イーサネット(登録商標)、USB、IEEE1394、直列通信及び並列通信のような有線通信方式が使われ、赤外線通信、ブルートゥース、フォームRF及び無線LANのような無線通信方式が使われうる。ここで、通信部450を通じて送受信されるパケットは、HTML形式によったものであり得る。
【0051】
制御部430は、通信部450を通じて受信されたパケットの種類を判断する役割を行い、状態保存部410、ウェブサーバ420、パケット生成部440、通信部450及び保存サーバ400の全般的な制御を行う。
【0052】
一方、遠隔サーバ300と保存サーバ400は、1つの装置(以下、統合サーバという)に備えられうる。すなわち、統合サーバは、遠隔クライアント500にアプリケーションを提供し、遠隔クライアント500の要請に応じてユーザインターフェースの状態を保存しうる。
【0053】
この際、統合サーバに保存されるユーザインターフェースの状態は統合サーバによって提供されるアプリケーションについてのユーザインターフェースだけでなく、別途の遠隔サーバによって提供されるアプリケーションについてのユーザインターフェースの状態が含まれうる。
【0054】
図5は、本発明の実施形態によるアプリケーションの提供を受ける遠隔クライアントを示すブロック図であって、遠隔クライアント500は、状態管理要請部510、保存部520、ウェブブラウザ530、制御部540、サーバ検索部550及び通信部560を含んで構成される。
【0055】
状態管理要請部510は、遠隔サーバ300の状態を要請するための要請パケット、ユーザインターフェースの状態に対する保存命令のためのパケット(以下、保存命令パケットと称する)及びユーザインターフェースの状態に対する抽出命令のためのパケット(以下、抽出命令パケットと称する)を生成する役割を果たす。
【0056】
各パケットは、通信部560を通じて送信されるが、要請パケットは遠隔サーバ300に送信され、保存命令パケット及び抽出命令パケットは保存サーバ400に送信される。
【0057】
ウェブブラウザ530は、遠隔サーバ300から提供されたアプリケーションを表示するか、抽出命令パケットについての応答として保存サーバ400から受信されたユーザインターフェースを表示する役割を果たす。
【0058】
ここで、ウェブブラウザ530は、保存サーバ400から提供された複数個のユーザインターフェースの状態に対する名称を表示するが、この際、ユーザは、表示された名称のうち、1つを選択することによって所望のアプリケーションについての作業を行う。
【0059】
サーバ検索部550は、遠隔サーバ300または保存サーバ400を検索する役割を行う。遠隔サーバ300及び保存サーバ400は、自分がネットワークに参加しているということを通知するために周期的に通知パケットを配布するが、サーバ検索部550は、通信部560を通じて受信された通知パケットを分析して遠隔サーバ300または保存サーバ400がネットワーク上に存在しているかを判断するものである。
【0060】
もし、遠隔サーバ300または保存サーバ400がネットワーク上に存在するものであって、サーバ検索部550によって判断された場合、通知パケットに含まれた遠隔サーバ300のアドレスまたは保存サーバ400のアドレスが制御部に伝えられる。
【0061】
制御部540は、サーバ検索部550から伝達されたアドレスを参照してウェブブラウザ530と遠隔サーバ300のウェブサーバ330または保存サーバ400のウェブサーバ420を互いに通信可能にする。また、制御部540は、状態管理要請部510、保存部520、ウェブブラウザ530、サーバ検索部550、通信部560及び遠隔クライアント500の全般的な制御を行う。
【0062】
保存部520は、ネットワークを構成する周辺装置についての情報であるキャッシュ情報を保存する。サーバ検索部510によって検索された遠隔サーバ300及び保存サーバ400のアドレスがキャッシュ情報に含まれ、また、保存サーバ400の場合、別途のフラグが付加されて保存されうる。保存部520は、ハードディスク、フラッシュメモリ、CFカード、SDカード、SMカード、MMCまたはメモリスティックなど情報の入出力が可能なモジュールを備える。
【0063】
通信部560は、遠隔サーバ300または保存サーバ400と通信してアプリケーション、要請パケット、保存命令パケット及び抽出命令パケットなどを送受信する役割を果たす。
【0064】
ここで、通信部560は、HTTPを用いてアプリケーション、ユーザインターフェースの状態またはパケットを送受信できるが、ユーザインターフェースの状態及びパケットは、HTMLで構成されうる。
【0065】
図6は、本発明の実施形態によるユーザインターフェースの状態に対するHTMLコードを示す図面であって、遠隔クライアントによって生成されて保存サーバに送信されるHTMLコード600を示す図面である。
【0066】
前述したように、ユーザインターフェースの状態には、アプリケーションのURL、遠隔クライアントのウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び遠隔サーバのアドレスが含まれうるが、HTMLコード600にはアプリケーションによる複数個のユーザインターフェースの状態が含まれうる。
【0067】
図6において、_url#_にはアプリケーションを提供する少なくとも1つ以上のアプリケーションについてのURLが入力されるが、例えば、_url1_には、最初のアプリケーションのURL(URLForPageToBeSaved#1)が入力され、_url2_には、二番目のアプリケーションのURL(URLForPageToBeSaved#2)が入力されうる。
【0068】
それぞれのユーザインターフェースの状態には、1つのクッキー(url#.cookie)及び少なくとも1つ以上のフォーム入力(url#.form.formid#)とオーディオ/ビデオオブジェクト(url.av.avobjid#.state#)が含まれ、遠隔サーバの状態(url#.server)が含まれうる。
【0069】
フォーム入力において、formid#は、フォーム入力の固有番号を示し、その形式(タイプ)は入力された値(formid#_value_string)の形式によって決定される。例えば、入力された値の形態がテキストである場合、フォーム入力の形式はテキストとなる。
【0070】
オーディオ/ビデオオブジェクトにおいてavobjid#は、オーディオ/ビデオオブジェクトの固有番号を示し、state#は、オーディオ/ビデオオブジェクトに対するURLまたは再生情報を示す。例えば、オーディオ/ビデオオブジェクトのURLを示す場合、url.av.avobjid.data=http://192.168.0.1/videos/efg.mpgのように示し、オーディオ/ビデオオブジェクトの再生情報を示す場合、url.av.avobjid.playPostion=93847のように示しうる。ここで、playPositionは、オーディオ/ビデオオブジェクトの再生における特定の再生位置を意味する。
【0071】
遠隔サーバの状態には、遠隔クライアントが遠隔サーバに要請した遠隔サーバの状態が入力される。例えば、遠隔クライアントが遠隔サーバに接続してアプリケーションとしてEPG(Electronic Program Guide)情報を提供されている場合、遠隔サーバは遠隔クライアントの要請に応じてprogid:123/recordStartTime:09¥:00AM/step:のように応答できるが、これにより、url.server=progid:123/recordStartTime:09¥:00AM/step:3のように示しうる。
【0072】
図7A及び図7Bは、本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図面であって、保存命令パケット700aは、ユーザインターフェースの名称(/SAVE?_name_)、遠隔クライアントの名称(HOST)、パケットの大きさ(コンテントレンクス)及びHTML文書の形式(コンテントタイプ)が含まれ、図6を通じて前述したユーザインターフェースの状態に対するHTMLコードが含まれる。
【0073】
ここで、ユーザインターフェースの名称は、遠隔クライアント500のユーザによって直接入力されるか、保存時点、アプリケーションの名称、遠隔サーバの名称または遠隔サーバのアドレスなどが自動で組合わせうる。
【0074】
この際、保存命令パケット700aに含まれたユーザインターフェースの名称が保存サーバ400に既保存されたユーザインターフェースの名称と同じ場合、ユーザによって異なる名称が指定されるか、保存サーバ400により任意の名称が指定されうる。例えば、保存サーバ400は、伝達されたユーザインターフェースの名称に所定数字を付け加えることによって、既保存されたユーザインターフェースの名称と区別可能にする。
【0075】
一方、遠隔クライアント500は、複数個の遠隔サーバ300から提供されたそれぞれのアプリケーションについての複数個のユーザインターフェースの状態を保存するための保存命令パケット700aを送信することもできるが、これにより、保存命令パケット700aには、複数個のユーザインターフェースの状態が含まれることもできる。
【0076】
図7Bに示されたように、抽出命令パケット700bは、抽出しようとするユーザインターフェースの名称(/RESTORE?_name_)及び遠隔クライアントの名称(ホスト)についてのHTMLコードが含まれる。
【0077】
抽出命令パケット700bを受信した保存サーバ400は、保存されたユーザインターフェースの状態のうち、該当ユーザインターフェースの名称を有する状態を抽出して遠隔クライアント500に送信する。
【0078】
図8は、本発明の実施形態による保存サーバを検索する過程を示すフローチャートである。
【0079】
遠隔サーバ300または保存サーバ400から通知パケットを受信した遠隔クライアント500は通知パケットに含まれたアドレスを参照して遠隔サーバ300または保存サーバ400にHTTP要請(HTTPリクエスト)パケットを送信する。
【0080】
まず、保存手段を備えていない遠隔サーバ300にHTTP要請パケットが送信された場合(S810)、遠隔サーバ300は、遠隔クライアント500にHTTP応答パケットを送信するが(S820)、ここで、HTTP応答パケットのヘッダには遠隔サーバ300に保存手段が備えられているというフラグが含まれていない。
【0081】
これにより、遠隔クライアント500がネットワーク上に存在するさらに他のサーバの保存サーバ400にHTTP要請パケットを送信すれば(S830)、保存サーバ400は、遠隔クライアント500にHTTP応答パケットを送信するが(S840)、ここで、HTTP応答パケットのヘッダには、保存サーバに保存手段が備えられているというフラグが含まれている。一例として、次のようなフラグがヘッダに挿入されうる。
【0082】
RUIS−Capabilities:StateStorage
ここで、RUISは、遠隔ユーザインターフェースサーバを示し、ウェブサーバ330、420を備える遠隔サーバ300、保存サーバ400及び統合サーバを意味する。
【0083】
そして、ユーザが保存命令を入力すれば(S850)、遠隔クライアント500は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集する(S860)。すなわち、アプリケーションを提供する遠隔サーバ300に要請してアプリケーションのURLを受信し、ウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを確認する。
【0084】
そして、遠隔クライアント500は、ユーザインターフェースの名称、遠隔クライアントの名称、パケットの大きさ、HTML文書の形式及び収集したユーザインターフェースの状態についてのHTMLコードが含まれた保存命令パケット700aを保存サーバ400に送信し(S870)、保存サーバは受信された保存命令パケット700aに含まれたユーザインターフェースの状態についてのHTMLコードを保存する。
【0085】
図9は、本発明の実施形態によるUPnP環境下で保存サーバを検索する過程を示すフローチャートである。
【0086】
遠隔クライアント500のサーバ検索部550がUPnPの制御ポイントの役割を行い、遠隔サーバ300または保存サーバ400の制御部340または430及びパケット生成部320または440が被制御装置の役割を行って遠隔クライアント500及びサーバ(遠隔サーバまたは保存サーバ)300または400間にUPnP通信が行われうる。
【0087】
遠隔サーバ300または保存サーバ400との検索ステップを通じて通知パケットを受信した遠隔クライアント500は通知パケットに含まれたアドレスを参照して遠隔サーバ300または保存サーバ400にDDD(デバイスデスクリプションドキュメント)要請パケットをHTTP GET方式で送信する。
【0088】
まず、保存手段を備えていない遠隔サーバ300にDDD要請パケットが送信された場合(S910)、遠隔サーバ300は、遠隔クライアント500にDDD応答パケットを送信するが(S920)、ここで、DDD応答パケットのヘッダには、遠隔サーバ300に保存手段が備えられているという情報が含まれていない。
【0089】
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してネットワークを構成する周辺装置についての情報であるキャッシュ情報を更新する(S930)。そして、更新されたキャッシュ情報を保存部520に保存した後、ネットワーク上に存在するさらに他のサーバの保存サーバ400にDDD要請パケットを送信する(S940)。
【0090】
DDD要請パケットを受信した保存サーバ400は、遠隔クライアント500にDDD応答パケットを送信するが(S950)、ここで、DDD応答パケットには、保存サーバ400に保存手段が備えられているという情報が含まれている。一例として、次のような情報がDDD応答パケットに挿入されうる。
<RUIS−Capabilities>StateStorage</RUIS−Capabilities>
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してキャッシュ情報を更新し(S960)、更新されたキャッシュ情報を保存部520に保存する。DDD要請パケットの送信及びDDD応答パケットの分析は、ネットワークに存在するあらゆる装置に対して行われるが、これにより、保存手段を備えた複数個の保存サーバ400についての情報がキャッシュ情報に含まれうる。
【0091】
そして、ユーザが保存命令を入力すれば(S970)、遠隔クライアント500は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集する(S980)。
【0092】
そして、遠隔クライアント500は、キャッシュ情報に含まれた保存サーバ400のリストのうち、1つを選択した後、選択された保存サーバ400にユーザインターフェースの状態が含まれた保存命令パケット700aを送信する(S990)。ここで、保存サーバ400の選択は、ユーザによって行われうる。
【0093】
図10は、本発明の実施形態によるUPnP環境下でユーザインターフェースの状態を検索する過程を示すフローチャートである。
【0094】
遠隔クライアント500のサーバ検索部550がUPnPの制御ポイントの役割を行い、保存サーバ400の制御部430及びパケット生成部440が被制御装置の役割を行う場合、遠隔クライアント500と保存サーバ400との間にUPnP通信が行われうる。
【0095】
保存サーバ400との検索ステップを通じて通知パケットを受信した遠隔クライアント500は、通知パケットに含まれたアドレスを参照して保存サーバ400にDDD要請パケットを送信する(S1010)。
【0096】
DDD要請パケットを受信した保存サーバ400は、遠隔クライアント500にDDD応答パケットを送信するが(S1020)、ここで、DDD応答パケットには、アプリケーションのリストが含まれている。また、DDD応答パケットには、各アプリケーションについてのユーザインターフェースのURLが含まれうる。
【0097】
一例として、次のようなXMLコードがDDD応答パケットに挿入されうる。
<uilist xmlns=“urn:schemas−upnp−org:remoteui:uilist−1−0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema−instance”
xsi:schemaLocation=“urn:schemas−upnp−org:remoteui:uilist−1−0CompatibleUIs.xsd”>
<ui>
<uiID>4560−9876−1265−8758</uiID>
<name>Musicplayer</name>
<description>Music browsing and playback application</description>
<iconList>・・・</iconList>
<fork>true</fork>
<lifetime>−1</lifetime>
<protocol shortName=“VNC”>
<uri>http://192.168.0.2/SRH</uri>
<protocolInfo>・・・opaque・・・</protocolInfo>
</protocol>
</ui>
ここで、http://192.168.0.2/SRHは、保存サーバ400でユーザインターフェースの状態を保存するモジュール、すなわち、状態保存部410のアドレスを示す。
【0098】
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してキャッシュ情報を更新し、更新されたキャッシュ情報を保存部520に保存する。
【0099】
そして、ユーザから入力されたユーザインターフェースの状態検索命令に従って遠隔クライアント500はキャッシュ情報に含まれた保存サーバ400の状態保存部410のアドレスを抽出し、抽出されたアドレスを用いて保存サーバ400との通信を行うためにHTTP要請パケットを送信する(S1030)。
【0100】
これにより、保存サーバ400は、HTTP応答パケットを送信するが(S1040)、HTTP応答パケットには、ユーザインターフェースの状態についてのリストがHTMLまたはXML(エクステンシブルマークアップランゲージ)形式で挿入されている。すなわち、各ユーザインターフェースの状態についてのハイパーリンクがHTTP応答パケットに含まれているものであって、ハイパーリンクは一例として次の通りである。
<a href=“http://RUIS−IP−ADDR:PORT/RESTORE?_name_=‘EPG Saved 21th Oct 9:00 AM’” on Click=“javascript:savedStateHandler”>EPG Saved 21th Oct9:00AM</a>
HTML形式のリストは遠隔クライアント500のウェブブラウザ530を通じて出力され、ユーザは出力されたリストのうち、自身が願うユーザインターフェースの状態を選択する。
【0101】
選択結果が挿入されたパケット、すなわち、抽出命令パケット700bは、保存サーバ400に送信され(S1050)、保存サーバ400は、抽出命令パケット700bに含まれたユーザインターフェースの状態を状態保存部410から抽出して遠隔クライアント500に送信し(S1060)、遠隔クライアント500は、受信されたユーザインターフェースの状態によって該当アプリケーションについてのユーザインターフェースを復元する。
【0102】
図11は、本発明の実施形態によるユーザインターフェースの状態を管理する過程を示すフローチャートである。
【0103】
ユーザインターフェースの状態を管理するために保存サーバ400のパケット生成部440は、保存サーバ400がネットワーク上に存在していることを示す通知パケットを生成する。通知パケットは、通信部450を通じて周期的に送信されるが(S1110)、通知パケットが送信されることによって、ウェブサーバ420は、通信部450を通じて遠隔クライアント500と通信を行う。
【0104】
そして、ウェブサーバ420は、遠隔クライアント500から保存命令パケット700aを受信するが(S1120)、状態保存部410は、受信された保存命令パケット700aに含まれたユーザインターフェースの状態を保存する。ここで、ユーザインターフェースの状態は、遠隔クライアント500のウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及びアプリケーションのURLを含む。
【0105】
そして、ウェブサーバ420は、遠隔クライアント500から抽出命令パケット700bを受信し(S1130)、制御部430は、状態保存部410を検索して抽出命令パケット700bに含まれたユーザインターフェースの状態を抽出する。
【0106】
抽出されたユーザインターフェースの状態は、通信部450を通じて遠隔クライアント500に送信され(S1140)、これにより、遠隔クライアント500は復元しようとするアプリケーションについてのユーザインターフェースを表示する。
【0107】
図12は、本発明の実施形態によるアプリケーションの提供を受ける過程を示すフローチャートである。
【0108】
遠隔サーバ300から提供されたアプリケーションを復元するために遠隔クライアント500のサーバ検索部550は提供されたアプリケーションについてのユーザインターフェースの状態を保存しうる保存サーバ400を検索する(S1210)。サーバ検索部550は、通信部560を通じて受信された通知パケットを分析して保存サーバ400がネットワーク上に存在しているか否かを判断する。
【0109】
サーバ検索部550の検索結果によってネットワーク上に保存サーバ400が存在すれば、ユーザの保存命令入力によって、状態管理要請部510は、ユーザインターフェースの状態についての保存命令パケット700aを生成する(S1220)。
【0110】
保存命令パケット700aを生成するために、状態管理要請部510は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集するが、ユーザインターフェースの状態にはアプリケーションのURL、ウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトなどが含まれる。保存命令パケット700aは、通信部560を通じて保存サーバ400に送信される(S1230)。
【0111】
ここで、アプリケーションのURLは、アプリケーションを提供する遠隔サーバ300から提供されうるが、一例として次のようなHTTPコードが含まれたHTTP要請パケットが遠隔サーバ300に送信されうる。
http://192.168.1.1/EPG/record/GETSTATE
HTTP要請パケットに対する応答として遠隔サーバ300は、HTTP応答パケットを遠隔クライアント500に送信するが、HTTP応答パケットにはアプリケーションについての情報が含まれている次のようなHTTPコードが含まれうる。
progid:123/recordStartTime:09¥:00AM/recordEndTime:10¥:00AM/step:3
前記のような遠隔サーバ300の状態が受信されることによって状態管理要請部510は、次のようなHTTPコードが含まれた保存命令パケット700aを生成しうる。
_url1_=http://192.168.1.1/EPG/record
url1.server=progid:123/recordStartTime:09¥:00AM/recordEndTime:10¥:30AM/step:3
ユーザからユーザインターフェースの状態についての復元命令が入力されることによって(S1240)、状態管理要請部510は、抽出命令パケット700bを生成し(S1250)、生成された抽出命令パケット700bは通信部560を通じて保存サーバ400に送信される(S1260)。
【0112】
抽出命令パケット700bが送信されることによって通信部560は、保存サーバ400からユーザインターフェースの状態を受信するが(S1270)、受信されたユーザインターフェースの状態は、ウェブブラウザ530に伝えられ、ウェブブラウザ530は受信されたユーザインターフェースの状態によって特定アプリケーションについてのユーザインターフェースを表示する(S1280)。
【0113】
以上、添付図を参照して本発明の実施例を説明したが、本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。
【産業上の利用可能性】
【0114】
本発明は、ユーザインターフェースを管理する装置及び方法に関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【0115】
【図1】従来の変更されたクライアントを通じて遠隔アプリケーションを提供するシステムを示す図である。
【図2】本発明の実施形態によるユーザインターフェースを管理するシステムを示す図である。
【図3】本発明の実施形態によるアプリケーションを提供する遠隔サーバを示すブロック図である。
【図4】本発明の実施形態によるユーザインターフェースの状態を管理する保存サーバを示すブロック図である。
【図5】本発明の実施形態によるアプリケーションの提供を受ける遠隔クライアントを示すブロック図である。
【図6】本発明の実施形態によるユーザインターフェースの状態についてのHTMLコードを示す図である。
【図7A】本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図である。
【図7B】本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図である。
【図8】本発明の実施形態による保存サーバを検索する過程を示すフローチャートである。
【図9】本発明の実施形態によるUPnP環境下で保存サーバを検索する過程を示すフローチャートである。
【図10】本発明の実施形態によるユーザインターフェースの状態を検索する過程を示すフローチャートである。
【図11】本発明の実施形態によるユーザインターフェースの状態を管理する過程を示すフローチャートである。
【図12】本発明の実施形態によるアプリケーションの提供を受ける過程を示すフローチャートである。
【符号の説明】
【0116】
410 状態保存部
420 ウェブサーバ
430 制御部
440 パケット生成部
450 通信部
【技術分野】
【0001】
本発明は、ユーザインターフェースを管理する装置及び方法に係り、より詳細には、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態をHTML(ハイパーテキストマークアップランゲージ)及びHTTP(ハイパーテキストトランスファープロトコル)を用いて管理するユーザインターフェースを管理する装置及び方法に関する。
【背景技術】
【0002】
遠隔でサーバから提供されるアプリケーションを用いる技術としては、マイクロソフト社のRDP(リモートデスクトッププロトコル)とインテル社のERP(エクステンデッドリモーティングプロトコル)などがある。このような遠隔技術は、バイナリ基盤のビットマップ伝送プロトコルを基盤とするが、アプリケーションを提供するに当たって大きなネットワーク帯域幅を必要とするという短所がある。特に、遠隔アプリケーションのユーザインターフェースがオーディオ/ビデオストリーミングである場合、必要とするネットワークの帯域幅はさらに大きくなる。
【0003】
一方、特定クライアントを通じてサーバから提供されるアプリケーションについての作業を行っているユーザは、今後に他のクライアントを通じて該当アプリケーションについての作業実行時にユーザインターフェースの統一性を要求しうる。すなわち、ユーザは、第1クライアントを通じて特定アプリケーションについての作業が終了した時点のユーザインターフェースが第2クライアントを通じて表示されることを希望する。
【0004】
図1は、従来の変更されたクライアントを通じて遠隔アプリケーションを提供するシステムを示す図面であって、UPnP(ユニバーサルプラグアンドプレイ)環境下でシステムは遠隔制御ポイント10、遠隔サーバ20、第1遠隔クライアント31及び第2遠隔クライアント32を含んで構成される。
【0005】
UPnPのネットワーキングステップは、アドレス指定(アドレッシング)、検索(ディスかバリ)、説明(デスクリプション)、制御(コントロール)、イベント作業(イベンティング)及びプレゼンテーションで構成されるが、遠隔制御ポイント10は、第1遠隔クライアント31によって作業中の連結(コネクション)を確認する。そして、遠隔制御ポイント10は、遠隔サーバ20をして現在作業中の連結に対するユーザインターフェースの状態を一定時間保持させ、保存させる。
【0006】
そして、遠隔制御ポイント10は、遠隔サーバ20と第1遠隔クライアント31との連結を終了させ、遠隔サーバ20と第2遠隔クライアント32との連結を締結させた後、遠隔サーバ20をして保存されたユーザインターフェースを第2遠隔クライアント32に提供するように命令する。
【0007】
しかし、ユーザインターフェースの状態のうち、遠隔サーバ20によって管理されるもの以外に、遠隔クライアント31、32によって管理されるものもある。例えば、ウェブブラウザのクッキー(クライアントクッキー)、フォーム入力、オーディオ/ビデオオブジェクトは、いずれも遠隔クライアントによって管理されるが、これにより、従来の方式による遠隔サーバ20に保存されたユーザインターフェースの状態には、遠隔クライアント31、32によって管理されるものは含まれていない。
【0008】
特に、遠隔サーバ20に保存手段が備えられていない場合、ユーザインターフェースの状態を保存し、復元しうる方法がないので、これについての改善が必要となった。
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態を別途の装置に保存させ、これをHTML及びHTTPを通じて提供するところにその目的がある。
【0010】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【0011】
前記目的を達成するために本発明の実施形態によるユーザインターフェースを管理する装置は、少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するウェブサーバと、前記保存命令に従って前記ユーザインターフェースの状態を保存する状態保存部及び前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部と、を備える。
【0012】
本発明の実施形態によるユーザインターフェースを表示する装置は、提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するサーバ検索部と、前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成する状態管理要請部と、前記ユーザインターフェースの状態または前記パケットを送信する通信部と、前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するウェブブラウザと、を備える。
【0013】
本発明の実施形態によるユーザインターフェースを管理する方法は、(a)少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するステップと、(b)前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するステップと、(c)前記保存命令に従って前記ユーザインターフェースの状態を保存するステップと、(d)前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信するステップと、を備える。
【0014】
本発明の実施形態によるユーザインターフェースを表示する方法は、(a)提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するステップと、(b)前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成するステップと、(c)前記ユーザインターフェースの状態または前記パケットを送信するステップと、(d)前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するステップと、を備える。
【非特許文献1】マイクロソフト社のRDP(リモートデスクトッププロトコル)
【発明の効果】
【0015】
本発明のユーザインターフェースを提供する装置及び方法によれば、次のような効果が1つあるいはそれ以上ある。
【0016】
第一に、ネットワーク上でサーバから提供されるアプリケーションのユーザインターフェースの状態を別途の装置に保存させることによって、相異なるクライアントを通じて該当アプリケーションの提供を受けるユーザに同じユーザインターフェースを提供しうる。
【0017】
第2に、ネットワーク上に存在する複数個のサーバから提供される複数個のアプリケーションについてのユーザインターフェースを同時に管理しうる。
【発明を実施するための最良の形態】
【0018】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。本発明の利点及び特徴、そしてこれを達成する方法は添付した図面に基づいて詳細に後述する実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形態で具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明によってのみ定義される。一方、明細書全体にわたって同一な参照符号は同一な構成要素を示す。
【0019】
以下、添付した図面を参照して本発明の望ましい実施形態を詳細に説明する。
【0020】
図2は、本発明の実施形態によるユーザインターフェースを管理するシステムを示す図面であって、システムは、遠隔サーバ300、保存サーバ400及び遠隔クライアント500を含んで構成される。
【0021】
ネットワーク200上に遠隔サーバ300は、少なくとも1つ以上存在できるが、遠隔サーバ300は、遠隔クライアント500にアプリケーションを提供する役割を果たす。このために、それぞれの遠隔サーバ211、212、213は、ウェブサーバを備え、自身がネットワーク200に参加しているという通知パケットを周期的に送信しうる。ここで、アプリケーションは、ウェブページだけでなく実行可能なアプリケーションプログラムが含まれうる。
【0022】
また、遠隔サーバ300は、遠隔クライアント500の要請に応じて自身の状態を送信することもできる。遠隔サーバ300の状態には提供中のアプリケーションのURL(ユニフォームリソースロケータ)が含まれうる。
【0023】
ここで、ネットワーク200は、有線または無線ネットワークであり得るが、HTTPを用いて各装置間のデータを伝達する役割を果たす。
【0024】
遠隔クライアント500は、遠隔サーバ300から提供されたアプリケーションを表示する役割を果たす。このために、遠隔クライアント500は、ウェブブラウザを備えうる。アプリケーションの提供を受けるために遠隔クライアント500は、まずネットワーク200上に遠隔サーバ300が存在しているか否かを検索する。遠隔サーバ300の検索は通知パケットを受信することによって行われうるが、遠隔クライアント500は、通知パケットに含まれた遠隔サーバ300のアドレスを参照して遠隔サーバ300と通信し、所望のアプリケーションを要請する。
【0025】
このような過程を通じてアプリケーションの提供を受ける途中に遠隔クライアント200は、アプリケーションの受信を中断しうる。この際、提供されていたアプリケーションは、後で再び提供されうるが、このために遠隔クライアント200は、中断時点でのアプリケーションについてのユーザインターフェースの状態を保存サーバ400に送信して保存させる。
【0026】
保存サーバ400も遠隔サーバ300と同様に自身がネットワーク200に参加しているという通知パケットを周期的に送信し、このためにウェブサーバを備えうる。保存サーバ400の通知パケットを受信した遠隔クライアント500は、通知パケットに含まれた保存サーバ400のアドレスを参照して保存サーバ400と通信し、自身が提供されていたアプリケーションについてのユーザインターフェースの状態を保存サーバ400に送信する。
【0027】
ここで、ユーザインターフェースの状態には、アプリケーションについての遠隔サーバ300側の状態及び遠隔クライアント500側の状態を含むが、遠隔サーバ300側の状態は、前述したようにアプリケーションのURLが含まれ、遠隔クライアント500側の状態はウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを含む。
【0028】
ユーザインターフェースの状態は、HTMLの形で保存サーバ400に提供されうるが、少なくとも1つ以上の遠隔サーバ300から提供されているアプリケーションに関するものであり得る。
【0029】
例えば、第1遠隔クライアント231は、第1遠隔サーバ211及び第2遠隔サーバ212から同時にアプリケーションを提供されうるが、この際、第1遠隔クライアント231が保存しようとするユーザインターフェースの状態には、第1遠隔サーバ211の状態、第2遠隔サーバ212の状態及び自身のウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを含む。
【0030】
一方、第1遠隔クライアント231を通じて少なくとも1つ以上の遠隔サーバ200から提供されたアプリケーションについての作業を行ったユーザは、これについての作業を中止してユーザインターフェースの状態を保存サーバ400に保存した後で第2遠隔クライアント231を通じて作業し続けることができる。
【0031】
この際、第2遠隔クライアント231は、保存サーバ400から送信される通知パケットを受信して保存サーバ400がネットワーク200上に存在していることを確認した後で保存サーバ400に該当ユーザインターフェースの状態を要請する。
【0032】
遠隔クライアント500の要請に応じて保存サーバ400は、該当ユーザインターフェースの状態を送信するが、該当ユーザインターフェースの状態には複数個の遠隔サーバ300から提供される複数個のアプリケーションについてのユーザインターフェースの状態が含まれうる。
【0033】
複数個のアプリケーションについてのユーザインターフェースの状態を受信した第2遠隔クライアント232は、ユーザインターフェースの状態に含まれた複数個のアプリケーションを同時に提供されるか、ユーザによって選択された1つまたは2つ以上のアプリケーションを提供されうる。
【0034】
図3は、本発明の実施形態によるアプリケーションを提供する遠隔サーバを示すブロック図であって、遠隔サーバ300はアプリケーション生成部310、パケット生成部320、ウェブサーバ330、制御部340、状態管理部350及び通信部360を含んで構成される。
【0035】
アプリケーション生成部310は、遠隔クライアント500に提供するアプリケーションを生成する役割を果たす。ここで、アプリケーションは、ウェブページだけでなく、遠隔クライアント500で実行されうるアプリケーションプログラムを含む。
【0036】
パケット生成部320は、遠隔サーバ300がネットワーク上に存在していることを示す通知パケットを生成する役割を果たす。通知パケットには、遠隔サーバ300のアドレスが含まれているが、これを参照して遠隔クライアント500は遠隔サーバ300と通信可能となる。通知パケットは、通信部360を通じて周期的に送信しうる。
【0037】
ウェブサーバ330は、クライアント/サーバモデルとHTTPとを用いてアプリケーションを遠隔クライアント500に提供する役割を果たす。ウェブサーバ330としては、遠隔サーバ300で駆動されている運用体系によってアパッチ、IIS(インターネットインフォメーションサーバー)、エンタープライズサーバまたはロータスドミノサーバなどが使われうる。
【0038】
状態管理部350は、提供中のアプリケーションについてのユーザインターフェースの状態を遠隔クライアント500に提供する役割を果たす。ここで、状態管理部350によって管理される状態は、遠隔サーバ300側の状態のみを意味するものであって、アプリケーシンのURLが含まれうる。
【0039】
遠隔クライアント500からユーザインターフェースの状態を要請されれば、状態管理部350は現在提供中のアプリケーションについてのユーザインターフェースの状態を確認した後で通信部360を通じて確認された結果を送信する。
【0040】
通信部360は、遠隔クライアント500と通信して通知パケット、アプリケーションまたはユーザインターフェースの状態を送信し、ユーザインターフェースの状態に対する要請パケットを受信する役割を果たす。
【0041】
通信部360と遠隔クライアント500との通信方式は、イーサネット(登録商標)、USB、IEEE1394、直列通信(シリアルコミュニケーション)及び並列通信(パラレルコミュニケーション)のような有線通信方式が使われ、赤外線通信、ブルートゥース、フォームRF及び無線LANのような無線通信方式が使われうる。
【0042】
ここで、通信部360を通じて送受信されるパケットは、HTML形式によるものであり、これにより、ユーザインターフェースを映像データとして提供する方式に比べてネットワークの部下を減少させうる。
【0043】
制御部340は、通信部360を通じて受信されたパケットの種類を判断する役割を行い、アプリケーション生成部310、パケット生成部320、ウェブサーバ330、状態管理部350、通信部360及び遠隔サーバ300の全般的な制御を行う。
【0044】
図4は、本発明の実施形態によるユーザインターフェースの状態を管理する保存サーバを示すブロック図であって、保存サーバ400は、状態保存部410、ウェブサーバ420、制御部430、パケット生成部440及び通信部450を含んで構成される。
【0045】
状態保存部410は、遠隔クライアント500から受信したユーザインターフェースの状態を保存する役割を果たす。ここで、ユーザインターフェースの状態は、遠隔クライアント500のウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及びアプリケーションを提供する遠隔サーバ300の状態を含むが、遠隔サーバ300の状態は少なくとも1つ以上の遠隔サーバ300の状態が含まれうる。
【0046】
ユーザインターフェース状態の保存において、各ユーザインターフェースの状態には所定の名称が与えられうる。ここで、名称は、遠隔クライアント500のユーザによって直接入力されるか、保存時点、アプリケーションの名称、遠隔サーバの名称または遠隔サーバのアドレスなどを自動で組合わせうる。
【0047】
状態保存部410は、ハードディスク、フラッシュメモリ、CFカード(コンパクトフラッシュ(登録商標)カード)、SDカード(セキュアデジタルカード)、SMカード(スマートメディアカード)、MMC(マルチメディアカード)またはメモリスティックなど情報の入出力が可能なモジュールを含む。
【0048】
ウェブサーバ420は、クライアント/サーバモデルとHTTPとを用いてユーザインターフェースの状態保存のためのインターフェースを遠隔クライアント500に提供する役割を果たす。すなわち、遠隔クライアント500のユーザは、ウェブサーバ420から提供されたインターフェースを通じてユーザインターフェースの状態を保存して抽出しうる。
【0049】
パケット生成部440は、保存サーバ400がネットワーク上に存在していることを示す通知パケットを生成する役割を果たす。通知パケットには、保存サーバ400のアドレスが含まれているが、これを参照して遠隔クライアント500は保存サーバ400と通信可能となる。通知パケットは、通信部450を通じて周期的に送信しうる。
【0050】
通信部450は、遠隔クライアント500と通信して通知パケット、保存命令、抽出命令またはユーザインターフェースの状態を送受信する役割を果たす。通信部450と遠隔クライアント500との間の通信方式は、イーサネット(登録商標)、USB、IEEE1394、直列通信及び並列通信のような有線通信方式が使われ、赤外線通信、ブルートゥース、フォームRF及び無線LANのような無線通信方式が使われうる。ここで、通信部450を通じて送受信されるパケットは、HTML形式によったものであり得る。
【0051】
制御部430は、通信部450を通じて受信されたパケットの種類を判断する役割を行い、状態保存部410、ウェブサーバ420、パケット生成部440、通信部450及び保存サーバ400の全般的な制御を行う。
【0052】
一方、遠隔サーバ300と保存サーバ400は、1つの装置(以下、統合サーバという)に備えられうる。すなわち、統合サーバは、遠隔クライアント500にアプリケーションを提供し、遠隔クライアント500の要請に応じてユーザインターフェースの状態を保存しうる。
【0053】
この際、統合サーバに保存されるユーザインターフェースの状態は統合サーバによって提供されるアプリケーションについてのユーザインターフェースだけでなく、別途の遠隔サーバによって提供されるアプリケーションについてのユーザインターフェースの状態が含まれうる。
【0054】
図5は、本発明の実施形態によるアプリケーションの提供を受ける遠隔クライアントを示すブロック図であって、遠隔クライアント500は、状態管理要請部510、保存部520、ウェブブラウザ530、制御部540、サーバ検索部550及び通信部560を含んで構成される。
【0055】
状態管理要請部510は、遠隔サーバ300の状態を要請するための要請パケット、ユーザインターフェースの状態に対する保存命令のためのパケット(以下、保存命令パケットと称する)及びユーザインターフェースの状態に対する抽出命令のためのパケット(以下、抽出命令パケットと称する)を生成する役割を果たす。
【0056】
各パケットは、通信部560を通じて送信されるが、要請パケットは遠隔サーバ300に送信され、保存命令パケット及び抽出命令パケットは保存サーバ400に送信される。
【0057】
ウェブブラウザ530は、遠隔サーバ300から提供されたアプリケーションを表示するか、抽出命令パケットについての応答として保存サーバ400から受信されたユーザインターフェースを表示する役割を果たす。
【0058】
ここで、ウェブブラウザ530は、保存サーバ400から提供された複数個のユーザインターフェースの状態に対する名称を表示するが、この際、ユーザは、表示された名称のうち、1つを選択することによって所望のアプリケーションについての作業を行う。
【0059】
サーバ検索部550は、遠隔サーバ300または保存サーバ400を検索する役割を行う。遠隔サーバ300及び保存サーバ400は、自分がネットワークに参加しているということを通知するために周期的に通知パケットを配布するが、サーバ検索部550は、通信部560を通じて受信された通知パケットを分析して遠隔サーバ300または保存サーバ400がネットワーク上に存在しているかを判断するものである。
【0060】
もし、遠隔サーバ300または保存サーバ400がネットワーク上に存在するものであって、サーバ検索部550によって判断された場合、通知パケットに含まれた遠隔サーバ300のアドレスまたは保存サーバ400のアドレスが制御部に伝えられる。
【0061】
制御部540は、サーバ検索部550から伝達されたアドレスを参照してウェブブラウザ530と遠隔サーバ300のウェブサーバ330または保存サーバ400のウェブサーバ420を互いに通信可能にする。また、制御部540は、状態管理要請部510、保存部520、ウェブブラウザ530、サーバ検索部550、通信部560及び遠隔クライアント500の全般的な制御を行う。
【0062】
保存部520は、ネットワークを構成する周辺装置についての情報であるキャッシュ情報を保存する。サーバ検索部510によって検索された遠隔サーバ300及び保存サーバ400のアドレスがキャッシュ情報に含まれ、また、保存サーバ400の場合、別途のフラグが付加されて保存されうる。保存部520は、ハードディスク、フラッシュメモリ、CFカード、SDカード、SMカード、MMCまたはメモリスティックなど情報の入出力が可能なモジュールを備える。
【0063】
通信部560は、遠隔サーバ300または保存サーバ400と通信してアプリケーション、要請パケット、保存命令パケット及び抽出命令パケットなどを送受信する役割を果たす。
【0064】
ここで、通信部560は、HTTPを用いてアプリケーション、ユーザインターフェースの状態またはパケットを送受信できるが、ユーザインターフェースの状態及びパケットは、HTMLで構成されうる。
【0065】
図6は、本発明の実施形態によるユーザインターフェースの状態に対するHTMLコードを示す図面であって、遠隔クライアントによって生成されて保存サーバに送信されるHTMLコード600を示す図面である。
【0066】
前述したように、ユーザインターフェースの状態には、アプリケーションのURL、遠隔クライアントのウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び遠隔サーバのアドレスが含まれうるが、HTMLコード600にはアプリケーションによる複数個のユーザインターフェースの状態が含まれうる。
【0067】
図6において、_url#_にはアプリケーションを提供する少なくとも1つ以上のアプリケーションについてのURLが入力されるが、例えば、_url1_には、最初のアプリケーションのURL(URLForPageToBeSaved#1)が入力され、_url2_には、二番目のアプリケーションのURL(URLForPageToBeSaved#2)が入力されうる。
【0068】
それぞれのユーザインターフェースの状態には、1つのクッキー(url#.cookie)及び少なくとも1つ以上のフォーム入力(url#.form.formid#)とオーディオ/ビデオオブジェクト(url.av.avobjid#.state#)が含まれ、遠隔サーバの状態(url#.server)が含まれうる。
【0069】
フォーム入力において、formid#は、フォーム入力の固有番号を示し、その形式(タイプ)は入力された値(formid#_value_string)の形式によって決定される。例えば、入力された値の形態がテキストである場合、フォーム入力の形式はテキストとなる。
【0070】
オーディオ/ビデオオブジェクトにおいてavobjid#は、オーディオ/ビデオオブジェクトの固有番号を示し、state#は、オーディオ/ビデオオブジェクトに対するURLまたは再生情報を示す。例えば、オーディオ/ビデオオブジェクトのURLを示す場合、url.av.avobjid.data=http://192.168.0.1/videos/efg.mpgのように示し、オーディオ/ビデオオブジェクトの再生情報を示す場合、url.av.avobjid.playPostion=93847のように示しうる。ここで、playPositionは、オーディオ/ビデオオブジェクトの再生における特定の再生位置を意味する。
【0071】
遠隔サーバの状態には、遠隔クライアントが遠隔サーバに要請した遠隔サーバの状態が入力される。例えば、遠隔クライアントが遠隔サーバに接続してアプリケーションとしてEPG(Electronic Program Guide)情報を提供されている場合、遠隔サーバは遠隔クライアントの要請に応じてprogid:123/recordStartTime:09¥:00AM/step:のように応答できるが、これにより、url.server=progid:123/recordStartTime:09¥:00AM/step:3のように示しうる。
【0072】
図7A及び図7Bは、本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図面であって、保存命令パケット700aは、ユーザインターフェースの名称(/SAVE?_name_)、遠隔クライアントの名称(HOST)、パケットの大きさ(コンテントレンクス)及びHTML文書の形式(コンテントタイプ)が含まれ、図6を通じて前述したユーザインターフェースの状態に対するHTMLコードが含まれる。
【0073】
ここで、ユーザインターフェースの名称は、遠隔クライアント500のユーザによって直接入力されるか、保存時点、アプリケーションの名称、遠隔サーバの名称または遠隔サーバのアドレスなどが自動で組合わせうる。
【0074】
この際、保存命令パケット700aに含まれたユーザインターフェースの名称が保存サーバ400に既保存されたユーザインターフェースの名称と同じ場合、ユーザによって異なる名称が指定されるか、保存サーバ400により任意の名称が指定されうる。例えば、保存サーバ400は、伝達されたユーザインターフェースの名称に所定数字を付け加えることによって、既保存されたユーザインターフェースの名称と区別可能にする。
【0075】
一方、遠隔クライアント500は、複数個の遠隔サーバ300から提供されたそれぞれのアプリケーションについての複数個のユーザインターフェースの状態を保存するための保存命令パケット700aを送信することもできるが、これにより、保存命令パケット700aには、複数個のユーザインターフェースの状態が含まれることもできる。
【0076】
図7Bに示されたように、抽出命令パケット700bは、抽出しようとするユーザインターフェースの名称(/RESTORE?_name_)及び遠隔クライアントの名称(ホスト)についてのHTMLコードが含まれる。
【0077】
抽出命令パケット700bを受信した保存サーバ400は、保存されたユーザインターフェースの状態のうち、該当ユーザインターフェースの名称を有する状態を抽出して遠隔クライアント500に送信する。
【0078】
図8は、本発明の実施形態による保存サーバを検索する過程を示すフローチャートである。
【0079】
遠隔サーバ300または保存サーバ400から通知パケットを受信した遠隔クライアント500は通知パケットに含まれたアドレスを参照して遠隔サーバ300または保存サーバ400にHTTP要請(HTTPリクエスト)パケットを送信する。
【0080】
まず、保存手段を備えていない遠隔サーバ300にHTTP要請パケットが送信された場合(S810)、遠隔サーバ300は、遠隔クライアント500にHTTP応答パケットを送信するが(S820)、ここで、HTTP応答パケットのヘッダには遠隔サーバ300に保存手段が備えられているというフラグが含まれていない。
【0081】
これにより、遠隔クライアント500がネットワーク上に存在するさらに他のサーバの保存サーバ400にHTTP要請パケットを送信すれば(S830)、保存サーバ400は、遠隔クライアント500にHTTP応答パケットを送信するが(S840)、ここで、HTTP応答パケットのヘッダには、保存サーバに保存手段が備えられているというフラグが含まれている。一例として、次のようなフラグがヘッダに挿入されうる。
【0082】
RUIS−Capabilities:StateStorage
ここで、RUISは、遠隔ユーザインターフェースサーバを示し、ウェブサーバ330、420を備える遠隔サーバ300、保存サーバ400及び統合サーバを意味する。
【0083】
そして、ユーザが保存命令を入力すれば(S850)、遠隔クライアント500は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集する(S860)。すなわち、アプリケーションを提供する遠隔サーバ300に要請してアプリケーションのURLを受信し、ウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトを確認する。
【0084】
そして、遠隔クライアント500は、ユーザインターフェースの名称、遠隔クライアントの名称、パケットの大きさ、HTML文書の形式及び収集したユーザインターフェースの状態についてのHTMLコードが含まれた保存命令パケット700aを保存サーバ400に送信し(S870)、保存サーバは受信された保存命令パケット700aに含まれたユーザインターフェースの状態についてのHTMLコードを保存する。
【0085】
図9は、本発明の実施形態によるUPnP環境下で保存サーバを検索する過程を示すフローチャートである。
【0086】
遠隔クライアント500のサーバ検索部550がUPnPの制御ポイントの役割を行い、遠隔サーバ300または保存サーバ400の制御部340または430及びパケット生成部320または440が被制御装置の役割を行って遠隔クライアント500及びサーバ(遠隔サーバまたは保存サーバ)300または400間にUPnP通信が行われうる。
【0087】
遠隔サーバ300または保存サーバ400との検索ステップを通じて通知パケットを受信した遠隔クライアント500は通知パケットに含まれたアドレスを参照して遠隔サーバ300または保存サーバ400にDDD(デバイスデスクリプションドキュメント)要請パケットをHTTP GET方式で送信する。
【0088】
まず、保存手段を備えていない遠隔サーバ300にDDD要請パケットが送信された場合(S910)、遠隔サーバ300は、遠隔クライアント500にDDD応答パケットを送信するが(S920)、ここで、DDD応答パケットのヘッダには、遠隔サーバ300に保存手段が備えられているという情報が含まれていない。
【0089】
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してネットワークを構成する周辺装置についての情報であるキャッシュ情報を更新する(S930)。そして、更新されたキャッシュ情報を保存部520に保存した後、ネットワーク上に存在するさらに他のサーバの保存サーバ400にDDD要請パケットを送信する(S940)。
【0090】
DDD要請パケットを受信した保存サーバ400は、遠隔クライアント500にDDD応答パケットを送信するが(S950)、ここで、DDD応答パケットには、保存サーバ400に保存手段が備えられているという情報が含まれている。一例として、次のような情報がDDD応答パケットに挿入されうる。
<RUIS−Capabilities>StateStorage</RUIS−Capabilities>
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してキャッシュ情報を更新し(S960)、更新されたキャッシュ情報を保存部520に保存する。DDD要請パケットの送信及びDDD応答パケットの分析は、ネットワークに存在するあらゆる装置に対して行われるが、これにより、保存手段を備えた複数個の保存サーバ400についての情報がキャッシュ情報に含まれうる。
【0091】
そして、ユーザが保存命令を入力すれば(S970)、遠隔クライアント500は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集する(S980)。
【0092】
そして、遠隔クライアント500は、キャッシュ情報に含まれた保存サーバ400のリストのうち、1つを選択した後、選択された保存サーバ400にユーザインターフェースの状態が含まれた保存命令パケット700aを送信する(S990)。ここで、保存サーバ400の選択は、ユーザによって行われうる。
【0093】
図10は、本発明の実施形態によるUPnP環境下でユーザインターフェースの状態を検索する過程を示すフローチャートである。
【0094】
遠隔クライアント500のサーバ検索部550がUPnPの制御ポイントの役割を行い、保存サーバ400の制御部430及びパケット生成部440が被制御装置の役割を行う場合、遠隔クライアント500と保存サーバ400との間にUPnP通信が行われうる。
【0095】
保存サーバ400との検索ステップを通じて通知パケットを受信した遠隔クライアント500は、通知パケットに含まれたアドレスを参照して保存サーバ400にDDD要請パケットを送信する(S1010)。
【0096】
DDD要請パケットを受信した保存サーバ400は、遠隔クライアント500にDDD応答パケットを送信するが(S1020)、ここで、DDD応答パケットには、アプリケーションのリストが含まれている。また、DDD応答パケットには、各アプリケーションについてのユーザインターフェースのURLが含まれうる。
【0097】
一例として、次のようなXMLコードがDDD応答パケットに挿入されうる。
<uilist xmlns=“urn:schemas−upnp−org:remoteui:uilist−1−0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema−instance”
xsi:schemaLocation=“urn:schemas−upnp−org:remoteui:uilist−1−0CompatibleUIs.xsd”>
<ui>
<uiID>4560−9876−1265−8758</uiID>
<name>Musicplayer</name>
<description>Music browsing and playback application</description>
<iconList>・・・</iconList>
<fork>true</fork>
<lifetime>−1</lifetime>
<protocol shortName=“VNC”>
<uri>http://192.168.0.2/SRH</uri>
<protocolInfo>・・・opaque・・・</protocolInfo>
</protocol>
</ui>
ここで、http://192.168.0.2/SRHは、保存サーバ400でユーザインターフェースの状態を保存するモジュール、すなわち、状態保存部410のアドレスを示す。
【0098】
これにより、遠隔クライアント500は、受信されたDDD応答パケットを分析してキャッシュ情報を更新し、更新されたキャッシュ情報を保存部520に保存する。
【0099】
そして、ユーザから入力されたユーザインターフェースの状態検索命令に従って遠隔クライアント500はキャッシュ情報に含まれた保存サーバ400の状態保存部410のアドレスを抽出し、抽出されたアドレスを用いて保存サーバ400との通信を行うためにHTTP要請パケットを送信する(S1030)。
【0100】
これにより、保存サーバ400は、HTTP応答パケットを送信するが(S1040)、HTTP応答パケットには、ユーザインターフェースの状態についてのリストがHTMLまたはXML(エクステンシブルマークアップランゲージ)形式で挿入されている。すなわち、各ユーザインターフェースの状態についてのハイパーリンクがHTTP応答パケットに含まれているものであって、ハイパーリンクは一例として次の通りである。
<a href=“http://RUIS−IP−ADDR:PORT/RESTORE?_name_=‘EPG Saved 21th Oct 9:00 AM’” on Click=“javascript:savedStateHandler”>EPG Saved 21th Oct9:00AM</a>
HTML形式のリストは遠隔クライアント500のウェブブラウザ530を通じて出力され、ユーザは出力されたリストのうち、自身が願うユーザインターフェースの状態を選択する。
【0101】
選択結果が挿入されたパケット、すなわち、抽出命令パケット700bは、保存サーバ400に送信され(S1050)、保存サーバ400は、抽出命令パケット700bに含まれたユーザインターフェースの状態を状態保存部410から抽出して遠隔クライアント500に送信し(S1060)、遠隔クライアント500は、受信されたユーザインターフェースの状態によって該当アプリケーションについてのユーザインターフェースを復元する。
【0102】
図11は、本発明の実施形態によるユーザインターフェースの状態を管理する過程を示すフローチャートである。
【0103】
ユーザインターフェースの状態を管理するために保存サーバ400のパケット生成部440は、保存サーバ400がネットワーク上に存在していることを示す通知パケットを生成する。通知パケットは、通信部450を通じて周期的に送信されるが(S1110)、通知パケットが送信されることによって、ウェブサーバ420は、通信部450を通じて遠隔クライアント500と通信を行う。
【0104】
そして、ウェブサーバ420は、遠隔クライアント500から保存命令パケット700aを受信するが(S1120)、状態保存部410は、受信された保存命令パケット700aに含まれたユーザインターフェースの状態を保存する。ここで、ユーザインターフェースの状態は、遠隔クライアント500のウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及びアプリケーションのURLを含む。
【0105】
そして、ウェブサーバ420は、遠隔クライアント500から抽出命令パケット700bを受信し(S1130)、制御部430は、状態保存部410を検索して抽出命令パケット700bに含まれたユーザインターフェースの状態を抽出する。
【0106】
抽出されたユーザインターフェースの状態は、通信部450を通じて遠隔クライアント500に送信され(S1140)、これにより、遠隔クライアント500は復元しようとするアプリケーションについてのユーザインターフェースを表示する。
【0107】
図12は、本発明の実施形態によるアプリケーションの提供を受ける過程を示すフローチャートである。
【0108】
遠隔サーバ300から提供されたアプリケーションを復元するために遠隔クライアント500のサーバ検索部550は提供されたアプリケーションについてのユーザインターフェースの状態を保存しうる保存サーバ400を検索する(S1210)。サーバ検索部550は、通信部560を通じて受信された通知パケットを分析して保存サーバ400がネットワーク上に存在しているか否かを判断する。
【0109】
サーバ検索部550の検索結果によってネットワーク上に保存サーバ400が存在すれば、ユーザの保存命令入力によって、状態管理要請部510は、ユーザインターフェースの状態についての保存命令パケット700aを生成する(S1220)。
【0110】
保存命令パケット700aを生成するために、状態管理要請部510は、現在作業中のアプリケーションについてのユーザインターフェースの状態を収集するが、ユーザインターフェースの状態にはアプリケーションのURL、ウェブブラウザのクッキー、フォーム入力及びオーディオ/ビデオオブジェクトなどが含まれる。保存命令パケット700aは、通信部560を通じて保存サーバ400に送信される(S1230)。
【0111】
ここで、アプリケーションのURLは、アプリケーションを提供する遠隔サーバ300から提供されうるが、一例として次のようなHTTPコードが含まれたHTTP要請パケットが遠隔サーバ300に送信されうる。
http://192.168.1.1/EPG/record/GETSTATE
HTTP要請パケットに対する応答として遠隔サーバ300は、HTTP応答パケットを遠隔クライアント500に送信するが、HTTP応答パケットにはアプリケーションについての情報が含まれている次のようなHTTPコードが含まれうる。
progid:123/recordStartTime:09¥:00AM/recordEndTime:10¥:00AM/step:3
前記のような遠隔サーバ300の状態が受信されることによって状態管理要請部510は、次のようなHTTPコードが含まれた保存命令パケット700aを生成しうる。
_url1_=http://192.168.1.1/EPG/record
url1.server=progid:123/recordStartTime:09¥:00AM/recordEndTime:10¥:30AM/step:3
ユーザからユーザインターフェースの状態についての復元命令が入力されることによって(S1240)、状態管理要請部510は、抽出命令パケット700bを生成し(S1250)、生成された抽出命令パケット700bは通信部560を通じて保存サーバ400に送信される(S1260)。
【0112】
抽出命令パケット700bが送信されることによって通信部560は、保存サーバ400からユーザインターフェースの状態を受信するが(S1270)、受信されたユーザインターフェースの状態は、ウェブブラウザ530に伝えられ、ウェブブラウザ530は受信されたユーザインターフェースの状態によって特定アプリケーションについてのユーザインターフェースを表示する(S1280)。
【0113】
以上、添付図を参照して本発明の実施例を説明したが、本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。
【産業上の利用可能性】
【0114】
本発明は、ユーザインターフェースを管理する装置及び方法に関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【0115】
【図1】従来の変更されたクライアントを通じて遠隔アプリケーションを提供するシステムを示す図である。
【図2】本発明の実施形態によるユーザインターフェースを管理するシステムを示す図である。
【図3】本発明の実施形態によるアプリケーションを提供する遠隔サーバを示すブロック図である。
【図4】本発明の実施形態によるユーザインターフェースの状態を管理する保存サーバを示すブロック図である。
【図5】本発明の実施形態によるアプリケーションの提供を受ける遠隔クライアントを示すブロック図である。
【図6】本発明の実施形態によるユーザインターフェースの状態についてのHTMLコードを示す図である。
【図7A】本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図である。
【図7B】本発明の実施形態による保存命令パケット及び抽出命令パケットについてのHTMLコードを示す図である。
【図8】本発明の実施形態による保存サーバを検索する過程を示すフローチャートである。
【図9】本発明の実施形態によるUPnP環境下で保存サーバを検索する過程を示すフローチャートである。
【図10】本発明の実施形態によるユーザインターフェースの状態を検索する過程を示すフローチャートである。
【図11】本発明の実施形態によるユーザインターフェースの状態を管理する過程を示すフローチャートである。
【図12】本発明の実施形態によるアプリケーションの提供を受ける過程を示すフローチャートである。
【符号の説明】
【0116】
410 状態保存部
420 ウェブサーバ
430 制御部
440 パケット生成部
450 通信部
【特許請求の範囲】
【請求項1】
少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、
前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するウェブサーバと、
前記保存命令に従って前記ユーザインターフェースの状態を保存する状態保存部と、
前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部と、を備えるユーザインターフェースを管理する装置。
【請求項2】
前記ネットワークは、HTTPを用いるネットワークを含む請求項1に記載のユーザインターフェースを管理する装置。
【請求項3】
前記通信部は、HTMLで構成された前記通知パケット、前記保存命令、前記抽出命令または前記ユーザインターフェースの状態を送受信する請求項1に記載のユーザインターフェースを管理する装置。
【請求項4】
前記ユーザインターフェースの状態は、前記アプリケーションを提供するサーバの状態及び前記アプリケーションの提供を受けるクライアントの状態のうち少なくとも1つを含む請求項1に記載のユーザインターフェースを管理する装置。
【請求項5】
前記アプリケーションを生成するアプリケーション生成部をさらに備える請求項1に記載のユーザインターフェースを管理する装置。
【請求項6】
提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するサーバ検索部と、
前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成する状態管理要請部と、
前記ユーザインターフェースの状態または前記パケットを送信する通信部と、
前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するウェブブラウザと、を備えるユーザインターフェースを表示する装置。
【請求項7】
前記ユーザインターフェースの状態は、前記ウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び前記アプリケーションを提供するサーバの状態のうち少なくとも1つを含む請求項6に記載のユーザインターフェースを表示する装置。
【請求項8】
前記通信部は、HTTPを用いて前記ユーザインターフェースの状態または前記パケットを送信する請求項6に記載のユーザインターフェースを表示する装置。
【請求項9】
前記通信部は、HTMLで構成された前記パケットまたは前記ユーザインターフェースの状態を送信する請求項6に記載のユーザインターフェースを表示する装置。
【請求項10】
前記ユーザインターフェースの状態は、少なくとも1つ以上のサーバから提供された少なくとも1つ以上のアプリケーションについてのユーザインターフェースの状態を含む請求項6に記載のユーザインターフェースを表示する装置。
【請求項11】
(a)少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するステップと、
(b)前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するステップと、
(c)前記保存命令に従って前記ユーザインターフェースの状態を保存するステップと、
(d)前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信するステップと、を含むユーザインターフェースを管理する方法。
【請求項12】
前記ネットワークは、HTTPを用いるネットワークを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項13】
前記(d)ステップは、HTMLで構成された前記通知パケット、前記保存命令、前記抽出命令または前記ユーザインターフェースの状態を送受信するステップを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項14】
前記ユーザインターフェースの状態は、前記アプリケーションを提供するサーバの状態及び前記アプリケーションの提供を受けるクライアントの状態のうち少なくとも1つを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項15】
前記アプリケーションを生成するステップをさらに含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項16】
(a)提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するステップと、
(b)前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成するステップと、
(c)前記ユーザインターフェースの状態または前記パケットを送信するステップと、
(d)前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するステップと、を含むユーザインターフェースを表示する方法。
【請求項17】
前記ユーザインターフェースの状態は、前記ウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び前記アプリケーションを提供するサーバの状態のうち少なくとも1つを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項18】
前記(c)ステップは、HTTPを用いて前記ユーザインターフェースの状態または前記パケットを送信するステップを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項19】
前記(c)ステップは、HTMLで構成された前記パケットまたは前記ユーザインターフェースの状態を送信するステップを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項20】
前記ユーザインターフェースの状態は、少なくとも1つ以上のサーバから提供された少なくとも1つ以上のアプリケーションについてのユーザインターフェースの状態を含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項1】
少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するパケット生成部と、
前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するウェブサーバと、
前記保存命令に従って前記ユーザインターフェースの状態を保存する状態保存部と、
前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信する通信部と、を備えるユーザインターフェースを管理する装置。
【請求項2】
前記ネットワークは、HTTPを用いるネットワークを含む請求項1に記載のユーザインターフェースを管理する装置。
【請求項3】
前記通信部は、HTMLで構成された前記通知パケット、前記保存命令、前記抽出命令または前記ユーザインターフェースの状態を送受信する請求項1に記載のユーザインターフェースを管理する装置。
【請求項4】
前記ユーザインターフェースの状態は、前記アプリケーションを提供するサーバの状態及び前記アプリケーションの提供を受けるクライアントの状態のうち少なくとも1つを含む請求項1に記載のユーザインターフェースを管理する装置。
【請求項5】
前記アプリケーションを生成するアプリケーション生成部をさらに備える請求項1に記載のユーザインターフェースを管理する装置。
【請求項6】
提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するサーバ検索部と、
前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成する状態管理要請部と、
前記ユーザインターフェースの状態または前記パケットを送信する通信部と、
前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するウェブブラウザと、を備えるユーザインターフェースを表示する装置。
【請求項7】
前記ユーザインターフェースの状態は、前記ウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び前記アプリケーションを提供するサーバの状態のうち少なくとも1つを含む請求項6に記載のユーザインターフェースを表示する装置。
【請求項8】
前記通信部は、HTTPを用いて前記ユーザインターフェースの状態または前記パケットを送信する請求項6に記載のユーザインターフェースを表示する装置。
【請求項9】
前記通信部は、HTMLで構成された前記パケットまたは前記ユーザインターフェースの状態を送信する請求項6に記載のユーザインターフェースを表示する装置。
【請求項10】
前記ユーザインターフェースの状態は、少なくとも1つ以上のサーバから提供された少なくとも1つ以上のアプリケーションについてのユーザインターフェースの状態を含む請求項6に記載のユーザインターフェースを表示する装置。
【請求項11】
(a)少なくとも1つ以上の遠隔サーバがネットワーク上に存在することを示す通知パケットを生成するステップと、
(b)前記ネットワークを通じて伝送される所定アプリケーションのユーザインターフェースの状態に対して、前記通知パケットの配布結果として受信される前記状態の保存命令または抽出命令を管理するステップと、
(c)前記保存命令に従って前記ユーザインターフェースの状態を保存するステップと、
(d)前記保存されたユーザインターフェースの状態のうち、前記抽出命令に従って抽出された特定ユーザインターフェースの状態を送信するステップと、を含むユーザインターフェースを管理する方法。
【請求項12】
前記ネットワークは、HTTPを用いるネットワークを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項13】
前記(d)ステップは、HTMLで構成された前記通知パケット、前記保存命令、前記抽出命令または前記ユーザインターフェースの状態を送受信するステップを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項14】
前記ユーザインターフェースの状態は、前記アプリケーションを提供するサーバの状態及び前記アプリケーションの提供を受けるクライアントの状態のうち少なくとも1つを含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項15】
前記アプリケーションを生成するステップをさらに含む請求項11に記載のユーザインターフェースを管理する方法。
【請求項16】
(a)提供されたアプリケーションについてのユーザインターフェースの状態を保存するサーバを検索するステップと、
(b)前記検索結果によって前記ユーザインターフェースの状態に対する保存命令または抽出命令のためのパケットを生成するステップと、
(c)前記ユーザインターフェースの状態または前記パケットを送信するステップと、
(d)前記抽出命令のためのパケットの送信に対する応答として受信された特定ユーザインターフェースを表示するステップと、を含むユーザインターフェースを表示する方法。
【請求項17】
前記ユーザインターフェースの状態は、前記ウェブブラウザのクッキー、フォーム入力、オーディオ/ビデオオブジェクト及び前記アプリケーションを提供するサーバの状態のうち少なくとも1つを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項18】
前記(c)ステップは、HTTPを用いて前記ユーザインターフェースの状態または前記パケットを送信するステップを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項19】
前記(c)ステップは、HTMLで構成された前記パケットまたは前記ユーザインターフェースの状態を送信するステップを含む請求項16に記載のユーザインターフェースを表示する方法。
【請求項20】
前記ユーザインターフェースの状態は、少なくとも1つ以上のサーバから提供された少なくとも1つ以上のアプリケーションについてのユーザインターフェースの状態を含む請求項16に記載のユーザインターフェースを表示する方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−141235(P2007−141235A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2006−303991(P2006−303991)
【出願日】平成18年11月9日(2006.11.9)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【Fターム(参考)】
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願日】平成18年11月9日(2006.11.9)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【Fターム(参考)】
[ Back to top ]