JP2004503862A - ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム - Google Patents
ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム Download PDFInfo
- Publication number
- JP2004503862A JP2004503862A JP2002511074A JP2002511074A JP2004503862A JP 2004503862 A JP2004503862 A JP 2004503862A JP 2002511074 A JP2002511074 A JP 2002511074A JP 2002511074 A JP2002511074 A JP 2002511074A JP 2004503862 A JP2004503862 A JP 2004503862A
- Authority
- JP
- Japan
- Prior art keywords
- user interface
- interface display
- image format
- client terminal
- software application
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
Abstract
本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム(10)に関する。システム(10)は、要求されたとき少なくとも1つのソフトウェアアプリケーションを実行するアプリケーションサーバ(14.1)、及び通信ネットワークを介して少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示をエクスポートする表示エクスポート手段を含む。システム(10)は、更に、クライアント端末(12.2)を含む。クライアント端末(12.2)は、ユーザインタフェース表示を受け取るために通信ネットワークへ接続された通信インタフェース、及びユーザインタフェース表示を表示するための表示手段を有する。本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法へ拡張される。
【選択図】図1
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムに関する。本発明は、更に、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法、及びこの方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体に関する。本発明は、更に、アプリケーションサーバ、アプリケーションサーバを操作する方法、クライアント装置、及びクライアント装置を操作する方法に関する。
【0002】
【発明の背景】
一般的に、デスクトップパーソナルコンピューティング装置は、マイクロプロセッサパフォーマンス及びメモリ容量の形式で十分なリソースを組み込んでいるが、それは複雑な多種のソフトウェアアプリケーションをリソースに実行させるためである。しかし、スペースとコストの制約から、小型の手のひらサイズ及び携帯装置は、それらの複雑なソフトウェアアプリケーションを実行するための十分なリソースを含んでいない。従って、多くの小型携帯装置は、正規のソフトウェアのカスタマイズされた希釈バージョンを有し、この希釈バージョンは、親製品の基本的機能をユーザに提供するにすぎない。更に、これらの希釈アプリケーションによって生成された文書その他は、デスクトップマシンに適したフォーマットへ変換される必要があり、同様に、デスクトップコンピュータの上で生成された文書を、携帯コンピュータの上で使用するには変換する必要がある。
【0003】
【課題を解決するための手段】
本発明の目的は、これらの問題点の幾つかを少なくとも部分的に軽減することである。
【0004】
本発明の1つの態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
通信ネットワークを介して少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示をエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため通信ネットワークへ接続された通信インタフェースを有し、ユーザインタフェース表示を表示する表示手段を有する第1のクライアント端末と、
少なくとも1つのソフトウェアアプリケーションの動作を中断することなく第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示を転送する転送手段と、を含む。
【0005】
システムは、ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含んでもよく、その場合、表示エクスポート手段は、ユーザインタフェース表示の画像フォーマットをエクスポートするように構成されてもよく、クライアント端末の通信インタフェースは、ユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上で表示するように構成されてもよい。
【0006】
システムは、従って、簡単なコンピューティング装置が、複雑なソフトウェアアプリケーションに典型的に必要なコンピューティングリソースを必要とすることなく複雑なソフトウェアを使用できるようにする。アプリケーションを走らせるのに必要なリソース要件は、アプリケーションサーバによって実現され、クライアント端末は単に表示端末として働く。
【0007】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
通信ネットワークを介してユーザインタフェース表示の画像フォーマットをエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第1のクライアント端末と、を含む。
【0008】
システムは、少なくとも1つのソフトウェアアプリケーションの動作を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段を含んでもよい。
【0009】
システムは、従って、ユーザが、特定の手のひらサイズ又はデスクトップコンピューティング装置を介して、アプリケーションサーバの上で特定のアプリケーションの作業を開始することを可能にし、アプリケーションを中断することなく異なったコンピューティング装置の間で切り替える能力をユーザに提供する。従って、ユーザは、移動中に使用される手のひらサイズ装置と、特定の行き先で使用されるデスクトップマシンとを対話的に切り替えてもよい。
【0010】
クライアント端末は、通信インタフェースへ接続されたユーザ入力手段を含んでもよい。ユーザ入力手段は、ユーザがソフトウェアアプリケーションの実行をアプリケーションサーバへ要求できるようにし、ユーザがユーザインタフェース表示の画像フォーマットを介して、ソフトウェアアプリケーションと対話できるようにする。前記対話は、通信インタフェースを介して容易にされる。
【0011】
第1又は第2のクライアント端末のいずれかが、転送手段の動作を制御するように構成されてもよい。
【0012】
その代わりに、又は追加的に、アプリケーションサーバが、転送手段の動作を制御するように構成されてもよい。
【0013】
システムは、第1及び第2のクライアント端末の相対的位置を追跡する追跡手段を含んでもよく、その場合、転送手段は、第1及び第2のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される。
【0014】
従って、移動中に、ユーザは、携帯コンピューティング装置を介して、アプリケーションサーバで利用可能なアプリケーションの作業を始めてもよく、追跡手段が、増大した表示又はインタフェース能力を有するコンピューティング装置へ接近してユーザが指定ロケーションに入ったことを検出すると、直ちにシステムは、アプリケーションのユーザインタフェース表示の画像フォーマットを、より強力なコンピューティング装置へ自動的にエクスポートしてもよい。
【0015】
システムは、更に、第1のアプリケーションサーバから少なくとも第2のアプリケーションサーバへソフトウェアアプリケーションを転送するアプリケーション転送手段を含んでもよい。
【0016】
追跡手段は、ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、第1及び第2のアプリケーションサーバに相対させて監視するように構成されてもよく、その場合、アプリケーション転送手段は、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第1のアプリケーションサーバから第2のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成されてもよい。
【0017】
その又は各アプリケーションサーバは、クライアント端末へエクスポートする前に、その又は各ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含んでもよい。
【0018】
アプリケーションサーバは、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含んでもよい。
【0019】
処理手段は、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットと比較するコンパレータ手段を含んでもよく、またプロセッサ手段は、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットとは異なったユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成されてもよい。
【0020】
その又は各アプリケーションサーバは、その又は各クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含んでもよい。従って、一度、プロセッサ手段が特定のユーザインタフェースを画像フォーマットへ変換すると、それは画像フォーマットをクライアント端末へ送る前に、それを記憶してもよい。
【0021】
記憶手段は、ユーザデータを記憶するように構成されてもよい。従って、アプリケーション及びユーザデータは、アプリケーションサーバの上に記憶されてもよく、クライアント端末が破壊、喪失、又は損傷された場合にも失われないであろう。クライアント端末が破壊、喪失、又は損傷した場合、ユーザは、アプリケーションを中断することなく、又は情報を失うことなく、単純に他のクライアント端末へ移転する。
【0022】
処理手段は、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成されてもよい。
【0023】
典型的には、少なくとも1つのクライアント端末は、携帯又は手のひらサイズの装置である。
【0024】
本発明の更なる態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法が提供され、この方法は、
少なくとも第1のアプリケーションサーバの上で少なくとも1つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第1のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するするステップとを含む。
【0025】
方法は、更に、
第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップとを含んでもよい。
【0026】
方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的距離に基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【0027】
その代わりに、又は追加的に、方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的データ転送レートに基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【0028】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1又は第2のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップとを含んでもよい。
【0029】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートするステップとを含んでもよい。
【0030】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【0031】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップとを含んでもよい。
【0032】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェースを制御する方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0033】
更に、本発明の他の態様によると、アプリケーションサーバが提供され、このアプリケーションサーバは、
少なくとも1つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも1つのソフトウェアアプリケーションを実行し、少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも第1のクライアント端末へエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも1つの更なるクライアント端末へ転送する転送手段と、を含む。
【0034】
本発明の更なる態様によると、アプリケーションサーバを操作する方法が提供され、この方法は、
通信ネットワークを介してアプリケーションサーバへ接続された第1のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも1つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、通信ネットワークを介して、ユーザインタフェース表示の画像フォーマットを第1のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを選択的に転送するステップとを含む。
【0035】
方法は、クライアント端末のいずれかから要求されたとき、第1のクライアント端末から第2のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを転送するステップを含んでもよい。
【0036】
方法は、
第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含んでもよい。
【0037】
方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的距離に基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【0038】
その代わりに、又は追加的に、方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【0039】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1又は第2のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【0040】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較し、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングし、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートする、ことを含んでもよい。
【0041】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【0042】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含んでもよい。
【0043】
本発明の他の態様によると、方法に従ってコンピュータを操作するコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0044】
本発明の更なる態様によると、クライアント装置が提供され、この装置は、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも1つのソフトウェアアプリケーションの実行をアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
通信インタフェースを介してアプリケーションサーバによってクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが、少なくとも第2のクライアント装置へ転送されることを要求する転送要求手段と、を含む。
【0045】
通信インタフェース、表示手段、及びユーザ入力手段は、全てプレブートアップ(pre−boot up)で、即ちオペレーティングシステムがメモリの中へロードされる前に動作するように構成されてもよい。従って、ユーザは、コンピューティング装置をオンにし、新しいクライアントのブートアップを待つ必要なしに、1つのクライアントから新しいクライアントへソフトウェアアプリケーションのユーザインタフェース表示を自動的に転送してもよい。それによって時間が節約される。
【0046】
本発明の更なる態様によると、クライアント端末を操作する方法が提供され、この方法は、
少なくとも1つのソフトウェアアプリケーションを実行することをアプリケーションサーバに要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが、少なくとも第2のクライアント装置へ転送されることを要求するステップを含む。
【0047】
方法は、更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【0048】
本発明の他の態様によると、方法に従ってクライアント装置を操作させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0049】
【発明の実施の形態】
以下、例を使用し、添付の図面を参照して本発明を説明する。
【0050】
図面を参照すると、参照番号10は、本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムを概略的に示す。システム10は、多数のクライアント装置又はクライアント12、例えばPDA(パーソナルディジタルアシスタント)、デスクトップコンピュータなどを含む。各クライアント12は、本発明に従ったソフトウェアプログラムを走らせる。このソフトウェアプログラムは、参照番号13に示されるように、ユーザが、本発明に従ったアプリケーションサーバ14へ、特定のソフトウェアアプリケーションの実行を要求することを可能にする。これらのソフトウェアアプリケーションは、アプリケーションサーバ14の記憶手段16に記憶される。次に、アプリケーションサーバ14は、要求されたソフトウェアアプリケーションを実行し、ソフトウェアアプリケーションのユーザインタフェース表示を画像フォーマットへ変換し、参照番号17に示されるようにユーザインタフェース表示の画像フォーマットを要求クライアント12へ送信する。次に、クライアント12は、ユーザインタフェース表示の画像フォーマットを表示する。次に、クライアント装置12のユーザは、クライアント12によって提供されたユーザ入力手段を介して、アプリケーションサーバ14の上で走っているソフトウェアアプリケーションと対話してもよい。従って、ユーザがクライアント装置12へ入力するコマンドは、サーバ14へ送られ(13)、サーバ14は、命令を解釈し、ソフトウェアアプリケーションユーザインタフェースを更新し、ユーザインタフェースの画像フォーマットを再レンダリングし、更新された画像をクライアント12へ送る(17)。更に、システム10は、ソフトウェアアプリケーションの実行を中断することなく、ユーザインタフェースの画像フォーマットを、1つのクライアント12.2から他のクライアント12.3へ転送してもよい。これは転送に関与しているクライアント12.2及び12.3のいずれかの要求によって、又はサーバ14.1の要求によって、対話的に行なわれてもよい。
【0051】
更に、システム10は、ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを自動的に転送することも可能である。この場合、もしシステム10が、ワイヤレス通信リンク20を介して、より良好な表示能力を有するクライアント12.3に近い指定区域18へクライアント12.2が入ったことを検出するならば、システム10は、クライアント12.2からクライアント12.3へ表示を自動的に転送してもよい。
【0052】
こうして、クライアント12のユーザは、アプリケーションサーバ14から離れて、ソフトウェアアプリケーションを実行し、異なったクライアント12の間を移動しながら、そのアプリケーションを他のクライアント12へ転送することができる。これは、2つのクライアント、即ち12.2及び12.3が相互に近づいたことをシステム10が検出したとき、ユーザの要求に従って、又は自動的に行なわれてもよい。理解すべきは、クライアントが、サーバ14.1と通信して情報を表示することができる任意の電子装置であってもよいことである。
【0053】
更に、2つのクライアント装置12.2及び12.3は、相互及びサーバ14との間で制御の転送を通知するように構成される。表示及び入力能力の変化の通知は、自動的に起こるか(例えば、ワイヤレスネットワークを介して)、ユーザによってイニシエートされてもよい。
【0054】
従って、もしユーザがモバイル装置、例えばPDAでワールドワイドウェブをブラウズしており、より優れた画面表示及びユーザ入力能力を有するPC又はPC類似のワークステーションを有するオフィスに到着したならば、そのユーザのモバイルセッションは、このワークステーションへ自動的に転送されるであろう。更に、前述したように、ユーザが手作業で転送を要求又はイニシエートすることも可能である。同様に、ユーザがオフィスを離れるとき、ユーザは、データを失うことなく、又はソフトウェアアプリケーションの実行又はインターネット接続と干渉することなく、実行していたブラウジングセッション又はアプリケーションインタフェースをPDAへ戻すことができる。
【0055】
クライアント12とサーバ14との間の通信及びデータ伝送は、データ伝送に使用される媒体から独立して、多様なデータ通信プロトコル又はインタフェースによって制御される。
【0056】
図2は、アプリケーションサーバ14の上で走っている本発明に従ったコンピュータプログラムのフローチャートである。図2は、プログラムの1つのスレッドが、ネットワークのクライアント12を介してアプリケーションサーバ14と対話しているユーザからの入力に応答して実行するメインタスクを示す。クライアント装置12を操作しているソフトウェアアプリケーションを示す簡単なフローチャートが、図4に示される。
【0057】
図2及び図4を参照すると、アプリケーションサーバ14の上で走っているプログラムの単一スレッドの間に、イベントの次のシーケンスが起こる。スレッドは、ブロック26に示されるように、ユーザからの入力を待つことによって始まる。この入力は、典型的には、クライアント12のユーザからのコマンド又は命令に応答して、クライアント12によってサーバ14へ送られる。典型的なユーザ入力の例は、新しいウェブページの要求、マウスのクリック、タッチスクリーンへのスタイラスタッチ、又はキーボード入力であってもよい。これらのユーザ入力は、44で解釈され、46に示されるように、クライアント12からサーバ14へ通信ネットワークを介して送られる。
【0058】
次に、サーバ14は、ブロック28に示されるように、ユーザ入力が特別のコマンドであるかどうかを決定する。もし特別のコマンドであれば、サーバ14は、ブロック30に示されるように、ユーザコマンドを処理する。ユーザコマンドの例は、新しいウェブページを検索すること、アプリケーションから出ること、又は他のクライアント装置12へ表示及び入力オプションを転送することである。説明を簡単にするため、この例で示されるコマンドフローは、「新しいウェブページのゲット」コマンドだけである。従って、説明目的のために、システム10が、アプリケーションサーバ14を介してクライアント12の上でインターネットをサーフィングするために使用されている例が示される。コマンドは32で処理され、要求された新しいページがアプリケーションサーバ14によってダウンロードされる。これは、インターネットから適切なウェブページを要求し、ウェブページに含まれるHTML又は他のスクリプト言語コマンドを解釈して、ウェブページを生成することを含む。
【0059】
もしユーザが特別のコマンドを入力しなかったのであれば、クライアント12は、ユーザイベントをサーバ14へ送っている。ユーザイベントは、通常、マウスの移動とクリック、又はキーボードのキーストロークの形式をしたユーザ入力である。これらは、34で処理され、新しいページが同じように生成される。
【0060】
次に、新しいページ又はユーザインタフェース表示が36でレンダリングされる。このステップは、32又は34で生成された新しいページを、画面ビュー又はユーザインタフェース表示の画像フォーマットへ変換する。次に、ユーザインタフェース表示の画像フォーマットは、ブロック38に示されるように、ネットワークを介してクライアント12へ送られる。クライアント12は、40で画像を受け取り、42に示されるように画像を表示する。もしユーザインタフェース表示の画像フォーマットが圧縮されていれば、クライアント12は、42でユーザインタフェース表示の画像フォーマットを解凍する。従って、クライアント12のユーザは、クライアントマシン12が複雑なページレイアウトを解釈又はレンダリングする必要なしに、インターネットコンテンツを表示及び対話してもよい。これらのタスクはアプリケーションサーバ14へ任されている。
【0061】
更に、クライアント12のユーザは、サーバ14の上で他のプロセッサ集中ソフトウェアアプリケーションを走らせてもよい。クライアント12は、そのようなプロセッサ集中ソフトウェアアプリケーションを実行する必要はない。アプリケーションサーバ14は、実際に、これらのプログラムを走らせるか実行し、そのようなソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットの形式で、画像をクライアント12へ送る。クライアント12は、ユーザインタフェース表示の画像フォーマットと対話する能力、及び処理する命令をサーバ14へ戻す能力をユーザに提供し、アプリケーション自身を走らせるか処理する必要はない。
【0062】
サーバ14で走っているコンピュータプログラムの詳細なフローチャートが、図3に示される。このフローチャートは、キャッシュマネージャ及び画像調整ユニットが含まれていることを除いて、図2のフローチャートと同じである。キャッシュマネージャの追加によって、複雑性の大部分が図4へ導入される。画像調整ユニットは図4の単一ブロックによって表され、この画像調整ブロックの詳細は図5に示される。
【0063】
キャッシュマネージャは2つの主な機能を有する。第1の機能は、クライアント12のユーザが、ソフトウェアアプリケーションのどのページ、又はベージ部分、又はユーザインタフェース部分を将来要求するであろうかを予測することであり、それらが要求されたとき、そのようなページの画像フォーマットをクライアント12のために準備することである。これは、クライアント12の受容速度を完全する。従って、サーバ14から離れてクライアント12で走っているアプリケーションがインターネットウェブブラウザである場合、キャッシュマネージャは、現在のページ上でインターネットリンクに関連づけられたページをダウンロード及びレンダリングするように構成される。実行されるアプリケーションがワードプロセッサ又は他のアプリケーションである場合、キャッシュマネージャは、作業している文書の後続のページを記憶するように構成される。キャッシュマネージャの第2の機能は、自立的操作の間に現れる。その場合、キャッシュマネージャはウェブサイトの全体をダウンロードし、これらのページを画像へレンダリングし、これらの画像をディスクへ記憶するか、後で使用するためネットワークを介してクライアント12へ送るために使用される。
【0064】
図3に示されるように、サーバスレッドは、48のユーザ入力の要求、又はキャッシュマネージャ70へ送られているページ要求のリスト72によってイニシエートされることができる。もし入力がユーザからの入力であれば、サーバ14は、50で、入力が特別のコマンドであるかどうかを決定する。特別のコマンドである場合、サーバ14は52でコマンドを処理する。コマンドの処理は、ユーザのためにアプリケーションを走らせることを含んでもよい。コマンドは、更に、後で説明するようにクライアント12を切り替えるコマンドであってもよい。もしユーザ入力がコマンドでなければ、入力はユーザイベントである。このイベントは54で処理される。いずれの場合でも、結果は、ユーザ入力によって修正された新しいページ又は同じページの新しいビューに基づくクライアント12による新しい画像の要求であろう。ソフトウェアは、56で、この特定のビューを既にレンダリングしたかどうかを決定する。もしレンダリングしたのであれば、ソフトウェアはステップ64へ進む。
【0065】
もしソフトウェアがページのビューを既にレンダリングしたのでなければ、サーバ14は、必要であればページをインターネットから検索し、又は58に示されるように、単純にユーザ入力をページへ送る。ページが58からの入力の更新及び処理を終了したとき、サーバ14は、60でページのビューをレンダリングする。従って、ページは純粋な画像フォーマットへ変換される。次に、この画像は将来の使用のためにキャッシュ62の中に記憶される。
【0066】
次に、ソフトウェアは、64で、ページをユーザへ送るか否かを決定する。この決定は、レンダリングされたばかりのページをユーザが要求したかどうか、又はキャッシュマネージャ70がページを要求したかどうかに基づく。もしキャッシュマネージャ70が、ユーザの次のページ要求の予測に基づいてページを要求したのであれば、ページは局所的に記憶されるか、クライアントがキャッシュ能力を有する場合に、クライアント12へ送られてもよい。
【0067】
もしキャッシュマネージャ70がダウンロードページ要求72からページを要求したのであれば、ページはクライアント12へ即時に送られることはなく、ディスクに記憶されて残されるか、オフサイト記憶のためにネットワークを介して送られる。これらのページは、記憶能力を有するクライアント装置12へ後で送られてもよい。従って、クライアント12のユーザは、フルデュプレックスリンクを介してサーバ14へ接続されることを必要としないでクライアント12を使用し、オフラインのブラウジングを実行してもよい。
【0068】
もしサーバが、64で、画像をユーザへ送ることを決定するならば、サーバは、66で、伝送前に画像を調整する。66で実行されるステップは、後で図5を参照して詳細に説明される。もしキャッシュマネージャがダウンロードページ要求72からページを要求したのであれば、図5で実行される画像調整ステップは、代わりに60で実行される。この分離は、キャッシングアルゴリズムの有効性を最大にする。一度、画像の調整が完了すると、画像は68でクライアントへ送られる。68は、図2のブロック38と同じタスクを実行する。
【0069】
次に、キャッシュマネージャ70は、ユーザが欲する次のページ画像が何であるかを予測するか、もしキャッシュマネージャ70が全体のウェブサイトをダウンロードしているのであれば、それは、リンクの要求されたリストに基づいてページの次のページ又はビューをダウンロードする。双方の場合、キャッシュマネージャ70は、ページを検索してステップ58へ戻る。
【0070】
更に、ソフトウェアは、48のユーザ入力がフローチャートの任意の部分で起こってもよいように構成されることに注意する必要がある。その場合、現在のプロセスは中断され、サーバスレッドはステップ48へ進むように強制される。
【0071】
図5は画像調整モジュールを示す。画像調整モジュールは、クライアント12へ送られる画像のサイズを縮小する。画像サイズの縮小によって、画像が迅速に転送される結果となり、従って、同じ時間内に多くの画像を送ることができる。更に、モジュールは、画像の上で画像処理を実行して、クライアント12の表示パラメータへ画像をマッチさせる。
【0072】
ステップ74において、クライアント12へ現在送られようとしているユーザインタフェース表示の現在の画像フォーマットが、クライアント12へ最も近時に送られたユーザインタフェース表示の前の画像フォーマットと比較される。このステップは、2つの画像の間の差異を発見する。もし画像の間の差異が小さければ、即ち、例えば、画面の小さな矩形部分が変更されたのであれば、矩形が画面上のどこに置かれるべきかの指示と共に、その矩形のディテールのみがクライアント12へ送られる。このステップは、ステップ76及び78の後で実行されてもよい。
【0073】
ステップ76において、画像のサイズは、クライアント12の画面へ当てはまるように変更される。もしクライアント12が、実際の画像サイズよりもピクセル数が多いバーチャルウィンドウのスクロールをサポートするのであれば、このステップは、バーチャルウィンドウサイズへ画像をスケーリングすることができる。更に、このステップは、ページ上のフォント、テーブル、及びグラフィックスをインテリジェントにスケーリングして、クライアント12のディスプレイの上で表示されたとき、ページが視覚的に読みやすく美的になるようにしてもよい。更に、78で、同様のインテリジェントな調整が画像のカラー数に対して行われる。なぜなら、クライアント12のディスプレイは、サーバ14、又はクライアント12の間の転送又はハンドオーバの場合に前のクライアント12と同じ数のカラーを表示できないかも知れないからである。カラーの数は、典型的には、ディザリングアルゴリズムを使用して縮小される。
【0074】
次に、ステップ74、76、及び78から生じた画像は、ブロック80に示されるように、標準の画像圧縮アルゴリズム、例えば、ジョイントフォトグラフィックエキスパートグループ(JPEG)又はポータブルネットワークグラフィック(PNG)フォーマットで指定されるアルゴリズムを使用して圧縮される。これは、画像サイズの更なる縮小を生じる。
【0075】
これまで説明されたサーバ14の実行ステップは、典型的には、多数の並列実行スレッドとして実行される。これによって、単一のサーバ14が、多くのクライアント12へ同時にサービスすることができる。
【0076】
更に、システム10は、ユーザが、オンザフライで、即ち、サーバ14から離れたクライアント12によって実行されているソフトウェアアプリケーションの操作又は実行を中断することなく、クライアント12を変更することを可能にする。ユーザは、作業を失うことなく、又はマシンを再スタートすることなく、1つのクライアント装置、例えば12.2を他の12.3へ切り替えることができる。ユーザインタフェース表示の画像フォーマットを転送又はリダイレクトするコマンドは、クライアント12.2、12.3、サーバ14、又はネットワーク上の他のマシンから来てもよい。このコマンドは、現在のクライアント12.2からクライアント12.3へ表示及びユーザ入力をリダイレクトするようにサーバ14へ命じる。クライアント12.2及び12.3も、このコマンドを通知される。従って、クライアント12及びサーバ14が、適切な資格証明なしにサーバ14又はクライアント12によって転送されないようにするため、セキュリティ及び認証プロセスが使用される。
【0077】
この転送又はリダイレクトコマンドは、制御を他のクライアント12.3へ転送することをクライアント12.2へ命令するクライアント装置12.2のユーザによって発行されるか、他のクライアント12.2の上で現在表示されているユーザインタフェースの制御を取るようにクライアント12.3へ要求することによって発行されてもよい。リダイレクトコマンドは、自動的に発行されてもよい。この場合、ユーザは、ローミングし、ソフトウェアアプリケーションの画像フォーマットを、最良の利用可能なクライアント12へ転送させてもよい。図示された実施形態において、システム10は、クライアント12とサーバ14との間のワイヤレス通信リンクを介してクライアント12の間の接近を監視し、接近及び各々のクライアント12の相対的能力に基づいて、クライアント12の間でユーザインタフェースの画像フォーマットを自動的に転送する。
【0078】
更に、システム10は、1つのサーバ14.1から他のサーバ14.2へアプリケーションを転送又はリダイレクトさせるように構成される。従って、ユーザによって実行されているアプリケーションは、異なったアプリケーションサーバ14.1と14.2との間で切り替えられてもよい。これは、手動又は自動的に行われることができ、関係する認証及びリダイレクトコマンドは、クライアント12の切り替えの場合と同じである。
【0079】
多数のサーバ、例えば、サーバ14.1及び14.2が利用可能である環境では、クライアント12が1つのサーバ14.1から他のサーバ14.2へ転送されることを、クライアント12又はサーバ14が要求することができる。これは、更に、コマンドとして、通常のコマンドループでサーバ14によって単純に処理される。サーバ14.1がコマンドを受け取るとき、それは、図1のクライアント12.4へ新しいサーバ14.2の詳細を通知し、クライアント12.4のために構造及びデータを保存し、それらを他のサーバ14.2へ送る。次に、新しいサーバ14.2は、クライアント12.4のために構造及びデータをロードして操作を継続する。こうして、クライアント12によって実行されているソフトウェアアプリケーションは、クライアントの見地からはアプリケーションの動作と干渉することなく、サーバ14.1及び14.2の間で切り替えられる。
【0080】
本発明の更なる特徴は、本発明のアプリケーションの多数の例を以下で説明する過程で明らかになるであろう。
【0081】
PDA(パーソナルディジタルアシスタント)は、典型的には、小さな手のひらサイズのバッテリー駆動コンピュータである。現在の例は、3Com(商標)社によって製造されたポピュラーなPalmPilot(商標)シリーズ、及びCasio(商標)、Cassiopeia(商標)並びにHewlett Packard(商標)、Journada(商標)のような、様々なWindows(商標)、CE(商標)(現在ではPocketPC(商標)として知られる)互換装置である。
【0082】
これらの装置は、典型的には、ユーザが画面上でスタイラスをタップすることによって、ユーザから入力を受け取る。更に、大部分の装置は、テキストの入力を可能にする手書き認識ソフトウェアを有する。画面区域は、典型的には、PalmPilot(商標)ファミリーの装置で160×160ピクセル、Windows(商標)、CE(商標)ファミリーで320×240ピクセルの範囲である。ピクセル当たりのカラーの数は、8つのグレー濃淡から約216色までの範囲である。PDAは、標準のモデム、直接接続、イーサネット、又はワイヤレスモデムを使用して、他のコンピュータへ接続することができる。
【0083】
これに関連して、ワイヤレスモデムを介してサーバ14と接続するPDAのユーザは、クライアントアプリケーションを実行するであろう。次に、サーバ14は、ユーザを認証し、デフォルトページをユーザに送るか、ウエルカムページを送る。次に、ユーザは、表示させたいページをウェブ上で選択する。次に、PDAはこのページ要求をサーバ14へ送る。サーバ14は、このページをインターネット又はサーバ14のキャッシュから検索する。次に、サーバ14は、このページを特定のPDAに適した画像フォーマットへ変換し、ユーザインタフェース表示の画像フォーマットはPDAへ送られるであろう。PDAはそれを画面上に表示する。この変換に関連する更なる詳細は、以下で説明される。
【0084】
送信に先立ってPDAのためにウェブページをフォーマット又は調整するため、2種類の主なステップがサーバ14によって取られる。これらのステップは、ページレイアウトの前処理及びピクセルベースの画像処理である。
【0085】
ウェブページが画像フォーマットへレンダリングされる前に、ページは前処理を施されてもよい。従って、多数の前処理ルーチンが実行される。
【0086】
最初に、ページの外見を変更して、フォント、画像、テーブル、ボタン、及びフレームを正しくスケーリングするため、スタイルシートが使用される。例えば、PDAの画面は、典型的にサーバ14の画面よりも小さいため、フォントのピッチサイズが増加される。
【0087】
2番目に、ページの外見をフォーマットするため、Javaスクリプト、Javaアプレット、DHTML、ActiveXコンテンツ、及び他のスクリプト命令がサーバ側で実行されてもよい。
【0088】
更に、或る要素が全く除去されるか、より高いレベルのページへ置かれてもよい。従って、例えば、フレームベースのページが多数のページへ分割されてもよい。各々のフレームのために別々のページを作ることができる。例えば、もしコンテンツが、左側にフレームを有するウェブページであり、このフレームがサイト上のページをユーザに検索させるインデックスとして働くならば、このページは、より高いレベルのページとして使用されるであろう。この高レベルページの上のリンクをクリックすると、PDAは、完全に新しいページを開くであろう。ユーザは、インデックスページへ戻るために「バック」ボタンを使用するであろう。
【0089】
更に、アニメーション画像(例えば、バナー広告)は、静的画像へ変えることができる。更に、バックグラウンドグラフィックスを除去し、他の画像及びボタンを再スケーリングすることができる。
【0090】
前処理に続く画像処理ステップは、ウェブページを画像へ変換する結果となる。どの程度のことがこのステップで起こるかは、図5を参照して説明したように、送られた最後のページと比較して、ページ上でどの程度の変更が生じたかによって決定される。
【0091】
もしユーザが、画面の小さな区域のみを変更するアクション、例えば、ドロップダウンメニューボックスをプルダウンするアクションを実行したのであれば、変化した画面区域、この場合、ドロップダウンメニューのみが、画像へ変換され、ネットワークを介して送られる。従って、連続するページの差のみがクライアント12へ送信され、それによって、帯域幅の要件が軽減される。もしユーザが、完全に新しいページを生じるアクションを実行したのであれば、全体のページがクライアント12へ送られる。次に、図5に示されるように、ページはスケーリングされ、カラーが減らされ、圧縮される。
【0092】
160×160ピクセルのディスプレイを有するPalmPilot(商標)PDAが使用され、各々のピクセルに16のグレー濃淡がある例では、次のことが起こるであろう。第1に、現在の画像と、クライアント12へ送られた前の画像との間の差が、前述したように決定される。もし小さな変化のみが生じたのであれば、これらの小さな変化のみを含む画像が送信のために作成される。この画像は、ドロップダウンメニューボックスの場合と同じように、全体の画像区域の中の小さな部分であるかも知れない。第2に、画像で使用されるカラーの数は、ウェブ画像で典型的に使用されるピクセル当たりの24ビット(赤、緑、青の各々に8ビット)から16のグレー濃淡(ピクセル当たり4ビット)へ縮小される。このステップで、結果の画像が眼に美的快感を与えることを確実にするため、画像ディザリングと強調アルゴリズムが使用される。次に、画像は、元のサイズから、使用可能な160×160ピクセルへスケーリングされる。再び、画像ディザリング、ポスタライズ、強調アルゴリズムが使用され、画像の品質が受容可能に維持される。次に、画像は、画像圧縮アルゴリズムを使用して圧縮される。次に、この圧縮及びフォーマットされた画像は、ネットワークを介してクライアント12のPDAへ送られる。
【0093】
前記の画像を受け取ったとき、PDA又はクライアント12は、画像を解凍して表示するであろう。PDAは、画像を表示する前に画像の全体が到着するのを待つように構成されるか、データが到着するにつれて画像をラインごと又は領域ごとに構築してもよい。次に、PDAは、ユーザの命令、例えば、リンク上のクリック、データの入力、ページスクロール、又は他のユーザアクションを待つ。
【0094】
もしこれらのアクションが新しいページの要求、又はPDA画面上で現在表示されている画像の更新を生じるならば、前述したように、これらのコマンドはサーバ14へ送られ、新しいページがレンダリングされてPDAへ送られる。
【0095】
更に、前記の例でキャッシュマネージャが考慮されてもよい。キャッシュは2つの物理位置に記憶される。サーバ14上のキャッシュは、そこを通過する全てのページ及び画像を記憶し、PDA装置又はクライアント12上のずっと小さな画像キャッシュは、制限された数の画像を記憶することができる。
【0096】
PDAのユーザが、要求されているページの異なったビューを生じるアクションを実行したとき、PDAは、先ず、このページを表す画像をローカルメモリの中に有するかどうかをチェックする。もし有するならば、PDAはそれを表示する。これは、典型的には、PDAがページAを表示しており、ユーザがページBへ進み、ブラウザの上のバックボタンを押してページAへ戻るときに起こる。その場合、PDAキャッシュは、ページAをサーバ14から検索する代わりに、それを即時に再ロードするであろう。
【0097】
PDAのユーザがページを表示している間、サーバ14は他のページ画像をPDAへスプールすることができる。これらのページ画像は、ユーザが次に何をするかの予測に基づいている。そのような予測の1つの例は、ユーザがページダウンキーを押すことであってもよい。これは現在のページの下にあるページのビューがPDAへストリームされる結果を生じる。他の例は、現在のページの上の最初のリンクをたどり、このリンクの画像をPDAのキャッシュへストリームするか、それをローカルで記憶することである。
【0098】
キャッシュマネージャの主な目的は、できるだけ早くユーザの次のウェブページを利用可能にし、それによって、到着するページの待ち時間を最小にすることである。
【0099】
システム10の能力の更なる例は、プレブートアップ(pre−boot up)ウェブブラウジング又は操作及びシン(thin)クライアントウェブブラウジングとの関連で説明される。プレブートアップウェブブラウジングは、オペレーティングシステムがロードされる前の段階で、通常のPC(パーソナルコンピュータ)がオンにされた後、直ちにPC上でウェブをブラウズすることを含む。シンクライアントウェブブラウジングは、最小のハードウェア及び制限されたオペレーティングシステムを有する「シン」PC型装置の上でウェブをブラウズすることを含む。
【0100】
双方の場合、典型的なPCプラットフォーム上でオペレーティングシステム(例えば、Windows(商標)95)及びウェブブラウザプログラム(例えば、Internet Explorer(商標))によって提供される機能の多くが、サーバ14によって提供される。プレブートアップ操作の場合、クライアント12は、ネットワーキングソフトウェア、マウス及びカーソルサポートソフトウェア、及び画像ソフトウェアを提供する。この構成における典型的なハードウェアは、ネットワークカード又はモデムによって提供されるネットワーク接続を有する標準のPCを含む。
【0101】
そのような装置の操作は、前述したPDAの操作と同じであるが、相違は、ネットワークトランスポートがPDAよりも早いことである。それによって、より大きなページを送ることができ、典型的に、標準PCクライアント12の上で利用可能な大型メモリへ多くのページをキャッシュすることができる。更に、利用可能なスクリーン解像度及びカラー深度がPDAよりも非常に良好であり、必要なサイズ変更及びディザリングが少なくなる。
【0102】
従って、ユーザは、PCのスタートアップ及びオペレーティングシステムのロードを待つオーバヘッドなしに、ウェブをブラウズすることができる。PCがパワーアップし、ネットワークが活動化された瞬間に、クライアント12はウェブをブラウズするように使用されることができる。
【0103】
もしユーザが、ウェブブラウザ以外の或る他のソフトウェアアプリケーション、例えば、ワードプロセッサ、スプレッドシート、データベース、eメール、又はスケジューリングプログラムを走らせているならば、プレブートアップ操作によって、ユーザは、クライアント12をオンにし、ユーザのアプリケーション、デスクトップ、及びデータを殆ど即時に回復させることができる。なぜなら、データ及び状態変数の全てはサーバ14に記憶されているからである。ユーザは、更に、データ損失を心配する必要なしに、望むときはいつでも、装置をオフにすることができる。更に、データのセキュリティ及び記憶は、サーバ14によって中央で処理され、ユーザはウィルス又はデータバックアップについて心配する必要はない。ユーザは、こうして、ローミングすることができ、どのような装置12へログインしたとしても、同じデスクトップ及びアプリケーションを有する。更に、もしクライアント装置12.3が故障すれば、ユーザは他のクライアント装置12.2からサーバ14へログインして、サポートチームがクライアント装置12.3を修理するのを待ちながら、作業を続けることができる。
【0104】
シンクライアントブラウジングの場合、クライアント12は、典型的には、大型記憶装置(典型的には、ハードディスクドライブ)、高帯域幅ダウンリンク(典型的には、衛星受信器)、ページを表示するためのテレビセット、小型プロセッサ、及びTVディスプレイカードを含む。
【0105】
ユーザは、興味を有するウェブサイト又はその一部分を指定する。サーバ14は、これらのページをテレビ上で見るのに適した画像へ変換する。これらの画像は、サーバ14からクライアント12へ高帯域幅リンクを介してスプールダウンされ、ページへのインデックスと一緒にクライアントのハードディスクへ記憶される。
【0106】
ユーザが望むとき、ユーザは非常な高速でページをブラウズすることができる。なぜなら、ページはクライアント12にローカルで記憶され、ダウンロードされる必要はないからである。もしユーザが望むならば、ユーザはISPへダイアルアップして、ページと対話することができる。しかし、もしユーザがページを見ることだけを望むならば、これは必要でない。
【0107】
サーバ14は、その広告画像を画像の中に挿入した後に、クライアント12へそれらをスプールダウンしてもよい。このサービスは数千のウェブページへの超高速アクセスを提供する。
【0108】
これから、システム10のリダイレクト又は転送能力の例を説明する。ユーザが通勤の途上にあるとき、ユーザはPDAであるクライアント12.2の上で作業し、前述したようにインターネット又はサーバ14上のアプリケーションへ接続している。
【0109】
ユーザがオフィスに到着したとき、ユーザはPCであるクライアント12.3へ表示及び入力を切り替えることができる。これは、自動的に行なうか、ユーザインタフェース表示を転送又はリダイレクトすることをPDA12.2又はPC12.3に命令することによって、ユーザからイニシエートされてもよい。
【0110】
転送は、PC12.3とPDA12.2との間でのみ起こる必要はない。1つのPCと他のPCとの間、PC12.3と携帯電話との間、携帯電話とPDA12.2との間、又は他の任意の2つのコンピューティング装置の間で制御を転送することも可能である。更に、PC12.3は、Windows(商標)又はUnix(商標)を走らせているデスクトップ型ワークステーションであるか、ダム端末、又は他のデスクトップPC類似装置であってもよい。
【0111】
ユーザは、元のクライアント(この場合、PDA12.2)から切り替え又は転送をイニシエートすることができるか、元のクライアント12.2から引き継ぐことを新しいクライアント(この場合、PC12.3)に命令することができる。
【0112】
ユーザが、PCディスプレイ12.3へ切り替えて制御を入力することをPDA12.2へ命令する場合、ユーザは、PDA12.2の上でメニューオプションを選択する。PDA12.2は、コマンドをサーバ14.1へ送り、表示及び入力サービスをユーザのデスクトップPC12.3へ切り替えることをサーバ14.1へ命令する。次に、サーバ14.1は、デスクトップPC12.3が利用可能であるかどうかをチェックし、PC12.3からハードウェア情報、例えば、画面サイズ、利用可能な入力装置、及びネットワーク能力を検索するように構成される。サーバ14.1は、更に、PC12.3及びクライアント12.2上のユーザを認証し、ユーザがPC12.3の使用を許されているかどうか、及びPDA12.2が制御の転送を許されているかどうかをチェックする。転送の間、もし必要であれば、サーバ14.1は、PCへの早い接続を有する他のサーバ14.2へ制御を譲渡してもよい。
【0113】
ユーザは、PC12.3を介して、PDA12.2からPC12.3への転送をイニシエートしてもよい。これは、PC12.3から、サーバ14.1又はPDA12.2へコマンドを送ることによって行なわれる。このコマンドは、制御をPC12.3へ転送するであろう。前述したコマンドフローと類似のコマンドフローが起こるであろう。
【0114】
こうして、ユーザは、PDA12.2からPC12.3へ作業環境を殆ど即時に転送し、中断することなく同じデータの作業又は同じウェブページの表示を継続することができる。ユーザが作業しているデータ、及びアプリケーション自身は、サーバ14の上で実行及び記憶される。従って、ユーザは、データのバックアップ又はデータ損失の予防について心配する必要はない。なぜなら、これらは全てサーバ14によって処理されるからである。
【0115】
ユーザがオフィスを離れることを決めたとき、ユーザは、更に、その作業環境をPDA12.2へ戻すことができる。前述したように、転送する命令は、PC12.3から来るか、PDA12.2から来ることができる。次に、認証、コマンドの切り替え、新しい装置能力の設定、及びサーバの切り替えが、前述したようにして処理される。
【0116】
ユーザインタフェースの画像フォーマットも、クライアント12の間で自動的に転送されてもよい。自動的転送と手動転送との相違は、リダイレクト又は転送コマンドの発生点が異なるだけである。自動的リダイレクトの場合、ユーザは、もはやリダイレクトコマンドを送らない。なぜなら、それはシステム10によって自動的に発行されるからである。
【0117】
自動的転送又は切り替えによって、ユーザは自由にローミングし、最良の表示装置を自動的に選択することができる。自動的転送の典型的な例において、ユーザは、移動中にPDA12.2の上で作業した後でオフィスに到着し、ユーザがオフィスへ入るや否や、表示入力装置がPDA12.2からPC12.3へ自動的に切り替えられる。この切り替えは、ワイヤレス通信リンク20を介して処理されるか、直接物理接続、例えばドッキングステーションを介して処理されてもよい。もしユーザがPDA12.2と一緒にオフィスを離れるならば、表示及び入力は、PDA12.2の環境へ自動的に回復される。
【0118】
PDA12.2とPC12.3との間、又はPDA12.2、ビルディングの中の位置入力装置、及びサーバ14との間のワイヤレス通信リンク20は、通常、ブルートゥースのようなローミングプロトコル又はGSMのようなセルラプロトコルを使用する赤外線通信又はRF通信の形式を取る。
【0119】
PDA12.2及びPC12.3の双方が低レンジRF通信インタフェースを有する場合、PC12.3は、PDA12.2の接近を検出し、サーバ14.1を介してPDA12.2へコマンドを送るように構成される。このコマンドは制御の転送をPDA12.2へ命令する。もしサーバ14.1がこの転送を承認するならば、PDA12.2は、PC12.3が今や新しい表示入力装置であることをサーバ14.1へ知らせる。転送及びセキュリティは前述したように処理される。
【0120】
PDA12.2、又はPDA12.2のユーザが位置入力装置を有し、サーバ14.1がビルディング内のPDA12.2又はユーザ位置を決定することができる場合、サーバ14.1はコマンド転送を自動的にイニシエートし、従ってPDA12.2から、ユーザに最も近いPC12.3又はワークステーションへ制御を移すように構成される。
【0121】
これまで説明されたローミング技術によって、ユーザは、特定のワークステーション又はPDA12.2から解放されることができ、ユーザによって使用されるデータ及びアプリケーションは、ユーザの作業セッションを中断することなく、ユーザに追従することができる。更に、干渉を生じることなく、より安価又は代替の接続へシームレスに移ることができる。
【0122】
前述したように、システム10によって、更に、クライアント12は、特定のサーバ14.1及び14.2への接近に基づいて、他のサーバ14への転送を要求することができる。典型的には、クライアント12へ最も近いサーバ14.1及び14.2が、最速の接続を提供するであろう。
【0123】
更に、例えば、ユーザがPDAクライアント12.4と一緒にオフィスに到着し、そのオフィスが、それ自身のローカル(恐らく、LANベース)サーバ14.1を有するとき、クライアント12はサーバ14を切り替えることができる。PDAクライアント12.4がPCクライアント12.3へ切り替わったとき、モバイルサーバ14.2は、PC12.3と同じローカルエリアネットワークの上のローカルサーバ14.1へソフトウェアアプリケーションを転送することができる。これは、PCクライアント12.3のために、より早くて安価なサーバアクセスを可能にするであろう。ユーザがオフィスを離れるとき、PC12.3はクライアントをPDA12.2へ切り替え、同時に、ローカルLANサーバ14.1は、より中央のワイヤレスベースサーバ14.2へ切り替わることができる。
【0124】
前述したように、サーバ14.1は、更に、クライアント12を、より早い他のサーバ14.2へ自動的に切り替えることができる。サーバの切り替え又は転送の他の例は、サーバ14の群が、サーバ14のロードを共用又はバランスさせるため、クライアント12をサーバの間で移動させるオフィス環境の場合であろう。
【0125】
出願人は、例示された発明が、ソフトウェアアプリケーションのユーザインタフェース表示を制御する比較的簡単なシステム10を提供するものと信じる。システム10によって、簡単な手のひらサイズ又は携帯装置の形式をしたクライアント装置12は、アプリケーションサーバ14から離れて複雑なソフトウェアを走らせることができる。アプリケーションサーバ14は、ソフトウェアを実行し、ユーザインタフェース表示の画像フォーマットをレンダリングする。次に、画像フォーマットはクライアント装置12へ送信される。クライアント装置12は単に表示入力装置として働き、全ての処理及びデータ記憶はアプリケーションサーバ14によって処理される。従って、簡単なコンピューティング装置が、典型的にはハイエンドのデスクトップマシンの上で走るように開発された複雑なソフトウェアを走らせることができる。従って、携帯装置とデスクトップ装置のために、もはや別々のアプリケーションが必要になることはない。この事は、手のひらサイズのコンピュータとデスクトップコンピュータとの間で異なったフォーマットの文書を転送する必要性を除く。このような転送は、多くの場合、時間を浪費し能率的ではなかった。更に、ユーザは、もはや2つの異なったアプリケーションをどのように使用するかを学習する必要はない。
【0126】
システム10によって、更に、ユーザは、アプリケーションの実行を中断することなく、またデータの喪失又は破壊の危険を冒すことなく、任意数のアプリケーションを含むコンピューティング環境を、1つのクライアント12から他のクライアントへシームレスに転送することができる。全てのデータ及びアプリケーションはサーバ14から実行され、従ってユーザは、その携帯又は他のコンピューティング装置をオン及びオフに切り替え、場所を離れたところで作業を再開することができる。ユーザは、更に、ユーザの要件及び環境に依存して装置12を簡単に切り替えることができる。更に、システムはネットワークから離れて作動し、インターネットへ接続可能であるから、ユーザは世界を自由にローミングすることができ、情報又はデータを喪失する危険を冒すことなく、ユーザのコンピューティング環境へログインすることができる。
【0127】
アプリケーション及びデータを中央で記憶することは、更に、システムのロバスト性及びメンテナンスを確実にする。例えば、システム10は、ウィルス感染の危険が少ないであろう。なぜなら、全体のシステムが中央ロケーションから制御されるからである。更に、ユーザは、そのパーソナルコンピューティング装置又はソフトウェアを継続的にアップグレードする必要はない。なぜなら、これらは全て中央で処理されるからである。
【図面の簡単な説明】
【図1】
本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムの概略ブロック図である。
【図2】
本発明に従ってアプリケーションサーバの上で走っているコンピュータプログラムの基本的フローチャートである。
【図3】
アプリケーションサーバの上で走っている図2のコンピュータプログラムの詳細なフローチャートである。
【図4】
本発明に従ってクライアント装置の上で走っているコンピュータプログラムのフローチャートである。
【図5】
画像調整モジュールの詳細なフローチャートである。
【符号の説明】
10 ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム
12、12.1、12.2、12.3、12.4 クライアント、クライアント装置
13 ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求する
14、14.1、14.2 アプリケーションサーバ
16、16.1、16.2 記憶手段
17 ユーザインタフェース表示の画像フォーマットをクライアントへ送信する18 良好な表示能力を有するクライアントへの接近区域
20 ワイヤレス通信リンク
【発明の属する技術分野】
本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムに関する。本発明は、更に、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法、及びこの方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体に関する。本発明は、更に、アプリケーションサーバ、アプリケーションサーバを操作する方法、クライアント装置、及びクライアント装置を操作する方法に関する。
【0002】
【発明の背景】
一般的に、デスクトップパーソナルコンピューティング装置は、マイクロプロセッサパフォーマンス及びメモリ容量の形式で十分なリソースを組み込んでいるが、それは複雑な多種のソフトウェアアプリケーションをリソースに実行させるためである。しかし、スペースとコストの制約から、小型の手のひらサイズ及び携帯装置は、それらの複雑なソフトウェアアプリケーションを実行するための十分なリソースを含んでいない。従って、多くの小型携帯装置は、正規のソフトウェアのカスタマイズされた希釈バージョンを有し、この希釈バージョンは、親製品の基本的機能をユーザに提供するにすぎない。更に、これらの希釈アプリケーションによって生成された文書その他は、デスクトップマシンに適したフォーマットへ変換される必要があり、同様に、デスクトップコンピュータの上で生成された文書を、携帯コンピュータの上で使用するには変換する必要がある。
【0003】
【課題を解決するための手段】
本発明の目的は、これらの問題点の幾つかを少なくとも部分的に軽減することである。
【0004】
本発明の1つの態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
通信ネットワークを介して少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示をエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため通信ネットワークへ接続された通信インタフェースを有し、ユーザインタフェース表示を表示する表示手段を有する第1のクライアント端末と、
少なくとも1つのソフトウェアアプリケーションの動作を中断することなく第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示を転送する転送手段と、を含む。
【0005】
システムは、ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含んでもよく、その場合、表示エクスポート手段は、ユーザインタフェース表示の画像フォーマットをエクスポートするように構成されてもよく、クライアント端末の通信インタフェースは、ユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上で表示するように構成されてもよい。
【0006】
システムは、従って、簡単なコンピューティング装置が、複雑なソフトウェアアプリケーションに典型的に必要なコンピューティングリソースを必要とすることなく複雑なソフトウェアを使用できるようにする。アプリケーションを走らせるのに必要なリソース要件は、アプリケーションサーバによって実現され、クライアント端末は単に表示端末として働く。
【0007】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
通信ネットワークを介してユーザインタフェース表示の画像フォーマットをエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第1のクライアント端末と、を含む。
【0008】
システムは、少なくとも1つのソフトウェアアプリケーションの動作を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段を含んでもよい。
【0009】
システムは、従って、ユーザが、特定の手のひらサイズ又はデスクトップコンピューティング装置を介して、アプリケーションサーバの上で特定のアプリケーションの作業を開始することを可能にし、アプリケーションを中断することなく異なったコンピューティング装置の間で切り替える能力をユーザに提供する。従って、ユーザは、移動中に使用される手のひらサイズ装置と、特定の行き先で使用されるデスクトップマシンとを対話的に切り替えてもよい。
【0010】
クライアント端末は、通信インタフェースへ接続されたユーザ入力手段を含んでもよい。ユーザ入力手段は、ユーザがソフトウェアアプリケーションの実行をアプリケーションサーバへ要求できるようにし、ユーザがユーザインタフェース表示の画像フォーマットを介して、ソフトウェアアプリケーションと対話できるようにする。前記対話は、通信インタフェースを介して容易にされる。
【0011】
第1又は第2のクライアント端末のいずれかが、転送手段の動作を制御するように構成されてもよい。
【0012】
その代わりに、又は追加的に、アプリケーションサーバが、転送手段の動作を制御するように構成されてもよい。
【0013】
システムは、第1及び第2のクライアント端末の相対的位置を追跡する追跡手段を含んでもよく、その場合、転送手段は、第1及び第2のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される。
【0014】
従って、移動中に、ユーザは、携帯コンピューティング装置を介して、アプリケーションサーバで利用可能なアプリケーションの作業を始めてもよく、追跡手段が、増大した表示又はインタフェース能力を有するコンピューティング装置へ接近してユーザが指定ロケーションに入ったことを検出すると、直ちにシステムは、アプリケーションのユーザインタフェース表示の画像フォーマットを、より強力なコンピューティング装置へ自動的にエクスポートしてもよい。
【0015】
システムは、更に、第1のアプリケーションサーバから少なくとも第2のアプリケーションサーバへソフトウェアアプリケーションを転送するアプリケーション転送手段を含んでもよい。
【0016】
追跡手段は、ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、第1及び第2のアプリケーションサーバに相対させて監視するように構成されてもよく、その場合、アプリケーション転送手段は、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第1のアプリケーションサーバから第2のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成されてもよい。
【0017】
その又は各アプリケーションサーバは、クライアント端末へエクスポートする前に、その又は各ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含んでもよい。
【0018】
アプリケーションサーバは、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含んでもよい。
【0019】
処理手段は、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットと比較するコンパレータ手段を含んでもよく、またプロセッサ手段は、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットとは異なったユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成されてもよい。
【0020】
その又は各アプリケーションサーバは、その又は各クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含んでもよい。従って、一度、プロセッサ手段が特定のユーザインタフェースを画像フォーマットへ変換すると、それは画像フォーマットをクライアント端末へ送る前に、それを記憶してもよい。
【0021】
記憶手段は、ユーザデータを記憶するように構成されてもよい。従って、アプリケーション及びユーザデータは、アプリケーションサーバの上に記憶されてもよく、クライアント端末が破壊、喪失、又は損傷された場合にも失われないであろう。クライアント端末が破壊、喪失、又は損傷した場合、ユーザは、アプリケーションを中断することなく、又は情報を失うことなく、単純に他のクライアント端末へ移転する。
【0022】
処理手段は、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成されてもよい。
【0023】
典型的には、少なくとも1つのクライアント端末は、携帯又は手のひらサイズの装置である。
【0024】
本発明の更なる態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法が提供され、この方法は、
少なくとも第1のアプリケーションサーバの上で少なくとも1つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第1のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するするステップとを含む。
【0025】
方法は、更に、
第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップとを含んでもよい。
【0026】
方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的距離に基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【0027】
その代わりに、又は追加的に、方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的データ転送レートに基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【0028】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1又は第2のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップとを含んでもよい。
【0029】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートするステップとを含んでもよい。
【0030】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【0031】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップとを含んでもよい。
【0032】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェースを制御する方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0033】
更に、本発明の他の態様によると、アプリケーションサーバが提供され、このアプリケーションサーバは、
少なくとも1つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも1つのソフトウェアアプリケーションを実行し、少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも第1のクライアント端末へエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも1つの更なるクライアント端末へ転送する転送手段と、を含む。
【0034】
本発明の更なる態様によると、アプリケーションサーバを操作する方法が提供され、この方法は、
通信ネットワークを介してアプリケーションサーバへ接続された第1のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも1つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、通信ネットワークを介して、ユーザインタフェース表示の画像フォーマットを第1のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを選択的に転送するステップとを含む。
【0035】
方法は、クライアント端末のいずれかから要求されたとき、第1のクライアント端末から第2のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを転送するステップを含んでもよい。
【0036】
方法は、
第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含んでもよい。
【0037】
方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的距離に基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【0038】
その代わりに、又は追加的に、方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【0039】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1又は第2のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【0040】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較し、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングし、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートする、ことを含んでもよい。
【0041】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【0042】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含んでもよい。
【0043】
本発明の他の態様によると、方法に従ってコンピュータを操作するコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0044】
本発明の更なる態様によると、クライアント装置が提供され、この装置は、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも1つのソフトウェアアプリケーションの実行をアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
通信インタフェースを介してアプリケーションサーバによってクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが、少なくとも第2のクライアント装置へ転送されることを要求する転送要求手段と、を含む。
【0045】
通信インタフェース、表示手段、及びユーザ入力手段は、全てプレブートアップ(pre−boot up)で、即ちオペレーティングシステムがメモリの中へロードされる前に動作するように構成されてもよい。従って、ユーザは、コンピューティング装置をオンにし、新しいクライアントのブートアップを待つ必要なしに、1つのクライアントから新しいクライアントへソフトウェアアプリケーションのユーザインタフェース表示を自動的に転送してもよい。それによって時間が節約される。
【0046】
本発明の更なる態様によると、クライアント端末を操作する方法が提供され、この方法は、
少なくとも1つのソフトウェアアプリケーションを実行することをアプリケーションサーバに要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが、少なくとも第2のクライアント装置へ転送されることを要求するステップを含む。
【0047】
方法は、更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【0048】
本発明の他の態様によると、方法に従ってクライアント装置を操作させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【0049】
【発明の実施の形態】
以下、例を使用し、添付の図面を参照して本発明を説明する。
【0050】
図面を参照すると、参照番号10は、本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムを概略的に示す。システム10は、多数のクライアント装置又はクライアント12、例えばPDA(パーソナルディジタルアシスタント)、デスクトップコンピュータなどを含む。各クライアント12は、本発明に従ったソフトウェアプログラムを走らせる。このソフトウェアプログラムは、参照番号13に示されるように、ユーザが、本発明に従ったアプリケーションサーバ14へ、特定のソフトウェアアプリケーションの実行を要求することを可能にする。これらのソフトウェアアプリケーションは、アプリケーションサーバ14の記憶手段16に記憶される。次に、アプリケーションサーバ14は、要求されたソフトウェアアプリケーションを実行し、ソフトウェアアプリケーションのユーザインタフェース表示を画像フォーマットへ変換し、参照番号17に示されるようにユーザインタフェース表示の画像フォーマットを要求クライアント12へ送信する。次に、クライアント12は、ユーザインタフェース表示の画像フォーマットを表示する。次に、クライアント装置12のユーザは、クライアント12によって提供されたユーザ入力手段を介して、アプリケーションサーバ14の上で走っているソフトウェアアプリケーションと対話してもよい。従って、ユーザがクライアント装置12へ入力するコマンドは、サーバ14へ送られ(13)、サーバ14は、命令を解釈し、ソフトウェアアプリケーションユーザインタフェースを更新し、ユーザインタフェースの画像フォーマットを再レンダリングし、更新された画像をクライアント12へ送る(17)。更に、システム10は、ソフトウェアアプリケーションの実行を中断することなく、ユーザインタフェースの画像フォーマットを、1つのクライアント12.2から他のクライアント12.3へ転送してもよい。これは転送に関与しているクライアント12.2及び12.3のいずれかの要求によって、又はサーバ14.1の要求によって、対話的に行なわれてもよい。
【0051】
更に、システム10は、ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを自動的に転送することも可能である。この場合、もしシステム10が、ワイヤレス通信リンク20を介して、より良好な表示能力を有するクライアント12.3に近い指定区域18へクライアント12.2が入ったことを検出するならば、システム10は、クライアント12.2からクライアント12.3へ表示を自動的に転送してもよい。
【0052】
こうして、クライアント12のユーザは、アプリケーションサーバ14から離れて、ソフトウェアアプリケーションを実行し、異なったクライアント12の間を移動しながら、そのアプリケーションを他のクライアント12へ転送することができる。これは、2つのクライアント、即ち12.2及び12.3が相互に近づいたことをシステム10が検出したとき、ユーザの要求に従って、又は自動的に行なわれてもよい。理解すべきは、クライアントが、サーバ14.1と通信して情報を表示することができる任意の電子装置であってもよいことである。
【0053】
更に、2つのクライアント装置12.2及び12.3は、相互及びサーバ14との間で制御の転送を通知するように構成される。表示及び入力能力の変化の通知は、自動的に起こるか(例えば、ワイヤレスネットワークを介して)、ユーザによってイニシエートされてもよい。
【0054】
従って、もしユーザがモバイル装置、例えばPDAでワールドワイドウェブをブラウズしており、より優れた画面表示及びユーザ入力能力を有するPC又はPC類似のワークステーションを有するオフィスに到着したならば、そのユーザのモバイルセッションは、このワークステーションへ自動的に転送されるであろう。更に、前述したように、ユーザが手作業で転送を要求又はイニシエートすることも可能である。同様に、ユーザがオフィスを離れるとき、ユーザは、データを失うことなく、又はソフトウェアアプリケーションの実行又はインターネット接続と干渉することなく、実行していたブラウジングセッション又はアプリケーションインタフェースをPDAへ戻すことができる。
【0055】
クライアント12とサーバ14との間の通信及びデータ伝送は、データ伝送に使用される媒体から独立して、多様なデータ通信プロトコル又はインタフェースによって制御される。
【0056】
図2は、アプリケーションサーバ14の上で走っている本発明に従ったコンピュータプログラムのフローチャートである。図2は、プログラムの1つのスレッドが、ネットワークのクライアント12を介してアプリケーションサーバ14と対話しているユーザからの入力に応答して実行するメインタスクを示す。クライアント装置12を操作しているソフトウェアアプリケーションを示す簡単なフローチャートが、図4に示される。
【0057】
図2及び図4を参照すると、アプリケーションサーバ14の上で走っているプログラムの単一スレッドの間に、イベントの次のシーケンスが起こる。スレッドは、ブロック26に示されるように、ユーザからの入力を待つことによって始まる。この入力は、典型的には、クライアント12のユーザからのコマンド又は命令に応答して、クライアント12によってサーバ14へ送られる。典型的なユーザ入力の例は、新しいウェブページの要求、マウスのクリック、タッチスクリーンへのスタイラスタッチ、又はキーボード入力であってもよい。これらのユーザ入力は、44で解釈され、46に示されるように、クライアント12からサーバ14へ通信ネットワークを介して送られる。
【0058】
次に、サーバ14は、ブロック28に示されるように、ユーザ入力が特別のコマンドであるかどうかを決定する。もし特別のコマンドであれば、サーバ14は、ブロック30に示されるように、ユーザコマンドを処理する。ユーザコマンドの例は、新しいウェブページを検索すること、アプリケーションから出ること、又は他のクライアント装置12へ表示及び入力オプションを転送することである。説明を簡単にするため、この例で示されるコマンドフローは、「新しいウェブページのゲット」コマンドだけである。従って、説明目的のために、システム10が、アプリケーションサーバ14を介してクライアント12の上でインターネットをサーフィングするために使用されている例が示される。コマンドは32で処理され、要求された新しいページがアプリケーションサーバ14によってダウンロードされる。これは、インターネットから適切なウェブページを要求し、ウェブページに含まれるHTML又は他のスクリプト言語コマンドを解釈して、ウェブページを生成することを含む。
【0059】
もしユーザが特別のコマンドを入力しなかったのであれば、クライアント12は、ユーザイベントをサーバ14へ送っている。ユーザイベントは、通常、マウスの移動とクリック、又はキーボードのキーストロークの形式をしたユーザ入力である。これらは、34で処理され、新しいページが同じように生成される。
【0060】
次に、新しいページ又はユーザインタフェース表示が36でレンダリングされる。このステップは、32又は34で生成された新しいページを、画面ビュー又はユーザインタフェース表示の画像フォーマットへ変換する。次に、ユーザインタフェース表示の画像フォーマットは、ブロック38に示されるように、ネットワークを介してクライアント12へ送られる。クライアント12は、40で画像を受け取り、42に示されるように画像を表示する。もしユーザインタフェース表示の画像フォーマットが圧縮されていれば、クライアント12は、42でユーザインタフェース表示の画像フォーマットを解凍する。従って、クライアント12のユーザは、クライアントマシン12が複雑なページレイアウトを解釈又はレンダリングする必要なしに、インターネットコンテンツを表示及び対話してもよい。これらのタスクはアプリケーションサーバ14へ任されている。
【0061】
更に、クライアント12のユーザは、サーバ14の上で他のプロセッサ集中ソフトウェアアプリケーションを走らせてもよい。クライアント12は、そのようなプロセッサ集中ソフトウェアアプリケーションを実行する必要はない。アプリケーションサーバ14は、実際に、これらのプログラムを走らせるか実行し、そのようなソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットの形式で、画像をクライアント12へ送る。クライアント12は、ユーザインタフェース表示の画像フォーマットと対話する能力、及び処理する命令をサーバ14へ戻す能力をユーザに提供し、アプリケーション自身を走らせるか処理する必要はない。
【0062】
サーバ14で走っているコンピュータプログラムの詳細なフローチャートが、図3に示される。このフローチャートは、キャッシュマネージャ及び画像調整ユニットが含まれていることを除いて、図2のフローチャートと同じである。キャッシュマネージャの追加によって、複雑性の大部分が図4へ導入される。画像調整ユニットは図4の単一ブロックによって表され、この画像調整ブロックの詳細は図5に示される。
【0063】
キャッシュマネージャは2つの主な機能を有する。第1の機能は、クライアント12のユーザが、ソフトウェアアプリケーションのどのページ、又はベージ部分、又はユーザインタフェース部分を将来要求するであろうかを予測することであり、それらが要求されたとき、そのようなページの画像フォーマットをクライアント12のために準備することである。これは、クライアント12の受容速度を完全する。従って、サーバ14から離れてクライアント12で走っているアプリケーションがインターネットウェブブラウザである場合、キャッシュマネージャは、現在のページ上でインターネットリンクに関連づけられたページをダウンロード及びレンダリングするように構成される。実行されるアプリケーションがワードプロセッサ又は他のアプリケーションである場合、キャッシュマネージャは、作業している文書の後続のページを記憶するように構成される。キャッシュマネージャの第2の機能は、自立的操作の間に現れる。その場合、キャッシュマネージャはウェブサイトの全体をダウンロードし、これらのページを画像へレンダリングし、これらの画像をディスクへ記憶するか、後で使用するためネットワークを介してクライアント12へ送るために使用される。
【0064】
図3に示されるように、サーバスレッドは、48のユーザ入力の要求、又はキャッシュマネージャ70へ送られているページ要求のリスト72によってイニシエートされることができる。もし入力がユーザからの入力であれば、サーバ14は、50で、入力が特別のコマンドであるかどうかを決定する。特別のコマンドである場合、サーバ14は52でコマンドを処理する。コマンドの処理は、ユーザのためにアプリケーションを走らせることを含んでもよい。コマンドは、更に、後で説明するようにクライアント12を切り替えるコマンドであってもよい。もしユーザ入力がコマンドでなければ、入力はユーザイベントである。このイベントは54で処理される。いずれの場合でも、結果は、ユーザ入力によって修正された新しいページ又は同じページの新しいビューに基づくクライアント12による新しい画像の要求であろう。ソフトウェアは、56で、この特定のビューを既にレンダリングしたかどうかを決定する。もしレンダリングしたのであれば、ソフトウェアはステップ64へ進む。
【0065】
もしソフトウェアがページのビューを既にレンダリングしたのでなければ、サーバ14は、必要であればページをインターネットから検索し、又は58に示されるように、単純にユーザ入力をページへ送る。ページが58からの入力の更新及び処理を終了したとき、サーバ14は、60でページのビューをレンダリングする。従って、ページは純粋な画像フォーマットへ変換される。次に、この画像は将来の使用のためにキャッシュ62の中に記憶される。
【0066】
次に、ソフトウェアは、64で、ページをユーザへ送るか否かを決定する。この決定は、レンダリングされたばかりのページをユーザが要求したかどうか、又はキャッシュマネージャ70がページを要求したかどうかに基づく。もしキャッシュマネージャ70が、ユーザの次のページ要求の予測に基づいてページを要求したのであれば、ページは局所的に記憶されるか、クライアントがキャッシュ能力を有する場合に、クライアント12へ送られてもよい。
【0067】
もしキャッシュマネージャ70がダウンロードページ要求72からページを要求したのであれば、ページはクライアント12へ即時に送られることはなく、ディスクに記憶されて残されるか、オフサイト記憶のためにネットワークを介して送られる。これらのページは、記憶能力を有するクライアント装置12へ後で送られてもよい。従って、クライアント12のユーザは、フルデュプレックスリンクを介してサーバ14へ接続されることを必要としないでクライアント12を使用し、オフラインのブラウジングを実行してもよい。
【0068】
もしサーバが、64で、画像をユーザへ送ることを決定するならば、サーバは、66で、伝送前に画像を調整する。66で実行されるステップは、後で図5を参照して詳細に説明される。もしキャッシュマネージャがダウンロードページ要求72からページを要求したのであれば、図5で実行される画像調整ステップは、代わりに60で実行される。この分離は、キャッシングアルゴリズムの有効性を最大にする。一度、画像の調整が完了すると、画像は68でクライアントへ送られる。68は、図2のブロック38と同じタスクを実行する。
【0069】
次に、キャッシュマネージャ70は、ユーザが欲する次のページ画像が何であるかを予測するか、もしキャッシュマネージャ70が全体のウェブサイトをダウンロードしているのであれば、それは、リンクの要求されたリストに基づいてページの次のページ又はビューをダウンロードする。双方の場合、キャッシュマネージャ70は、ページを検索してステップ58へ戻る。
【0070】
更に、ソフトウェアは、48のユーザ入力がフローチャートの任意の部分で起こってもよいように構成されることに注意する必要がある。その場合、現在のプロセスは中断され、サーバスレッドはステップ48へ進むように強制される。
【0071】
図5は画像調整モジュールを示す。画像調整モジュールは、クライアント12へ送られる画像のサイズを縮小する。画像サイズの縮小によって、画像が迅速に転送される結果となり、従って、同じ時間内に多くの画像を送ることができる。更に、モジュールは、画像の上で画像処理を実行して、クライアント12の表示パラメータへ画像をマッチさせる。
【0072】
ステップ74において、クライアント12へ現在送られようとしているユーザインタフェース表示の現在の画像フォーマットが、クライアント12へ最も近時に送られたユーザインタフェース表示の前の画像フォーマットと比較される。このステップは、2つの画像の間の差異を発見する。もし画像の間の差異が小さければ、即ち、例えば、画面の小さな矩形部分が変更されたのであれば、矩形が画面上のどこに置かれるべきかの指示と共に、その矩形のディテールのみがクライアント12へ送られる。このステップは、ステップ76及び78の後で実行されてもよい。
【0073】
ステップ76において、画像のサイズは、クライアント12の画面へ当てはまるように変更される。もしクライアント12が、実際の画像サイズよりもピクセル数が多いバーチャルウィンドウのスクロールをサポートするのであれば、このステップは、バーチャルウィンドウサイズへ画像をスケーリングすることができる。更に、このステップは、ページ上のフォント、テーブル、及びグラフィックスをインテリジェントにスケーリングして、クライアント12のディスプレイの上で表示されたとき、ページが視覚的に読みやすく美的になるようにしてもよい。更に、78で、同様のインテリジェントな調整が画像のカラー数に対して行われる。なぜなら、クライアント12のディスプレイは、サーバ14、又はクライアント12の間の転送又はハンドオーバの場合に前のクライアント12と同じ数のカラーを表示できないかも知れないからである。カラーの数は、典型的には、ディザリングアルゴリズムを使用して縮小される。
【0074】
次に、ステップ74、76、及び78から生じた画像は、ブロック80に示されるように、標準の画像圧縮アルゴリズム、例えば、ジョイントフォトグラフィックエキスパートグループ(JPEG)又はポータブルネットワークグラフィック(PNG)フォーマットで指定されるアルゴリズムを使用して圧縮される。これは、画像サイズの更なる縮小を生じる。
【0075】
これまで説明されたサーバ14の実行ステップは、典型的には、多数の並列実行スレッドとして実行される。これによって、単一のサーバ14が、多くのクライアント12へ同時にサービスすることができる。
【0076】
更に、システム10は、ユーザが、オンザフライで、即ち、サーバ14から離れたクライアント12によって実行されているソフトウェアアプリケーションの操作又は実行を中断することなく、クライアント12を変更することを可能にする。ユーザは、作業を失うことなく、又はマシンを再スタートすることなく、1つのクライアント装置、例えば12.2を他の12.3へ切り替えることができる。ユーザインタフェース表示の画像フォーマットを転送又はリダイレクトするコマンドは、クライアント12.2、12.3、サーバ14、又はネットワーク上の他のマシンから来てもよい。このコマンドは、現在のクライアント12.2からクライアント12.3へ表示及びユーザ入力をリダイレクトするようにサーバ14へ命じる。クライアント12.2及び12.3も、このコマンドを通知される。従って、クライアント12及びサーバ14が、適切な資格証明なしにサーバ14又はクライアント12によって転送されないようにするため、セキュリティ及び認証プロセスが使用される。
【0077】
この転送又はリダイレクトコマンドは、制御を他のクライアント12.3へ転送することをクライアント12.2へ命令するクライアント装置12.2のユーザによって発行されるか、他のクライアント12.2の上で現在表示されているユーザインタフェースの制御を取るようにクライアント12.3へ要求することによって発行されてもよい。リダイレクトコマンドは、自動的に発行されてもよい。この場合、ユーザは、ローミングし、ソフトウェアアプリケーションの画像フォーマットを、最良の利用可能なクライアント12へ転送させてもよい。図示された実施形態において、システム10は、クライアント12とサーバ14との間のワイヤレス通信リンクを介してクライアント12の間の接近を監視し、接近及び各々のクライアント12の相対的能力に基づいて、クライアント12の間でユーザインタフェースの画像フォーマットを自動的に転送する。
【0078】
更に、システム10は、1つのサーバ14.1から他のサーバ14.2へアプリケーションを転送又はリダイレクトさせるように構成される。従って、ユーザによって実行されているアプリケーションは、異なったアプリケーションサーバ14.1と14.2との間で切り替えられてもよい。これは、手動又は自動的に行われることができ、関係する認証及びリダイレクトコマンドは、クライアント12の切り替えの場合と同じである。
【0079】
多数のサーバ、例えば、サーバ14.1及び14.2が利用可能である環境では、クライアント12が1つのサーバ14.1から他のサーバ14.2へ転送されることを、クライアント12又はサーバ14が要求することができる。これは、更に、コマンドとして、通常のコマンドループでサーバ14によって単純に処理される。サーバ14.1がコマンドを受け取るとき、それは、図1のクライアント12.4へ新しいサーバ14.2の詳細を通知し、クライアント12.4のために構造及びデータを保存し、それらを他のサーバ14.2へ送る。次に、新しいサーバ14.2は、クライアント12.4のために構造及びデータをロードして操作を継続する。こうして、クライアント12によって実行されているソフトウェアアプリケーションは、クライアントの見地からはアプリケーションの動作と干渉することなく、サーバ14.1及び14.2の間で切り替えられる。
【0080】
本発明の更なる特徴は、本発明のアプリケーションの多数の例を以下で説明する過程で明らかになるであろう。
【0081】
PDA(パーソナルディジタルアシスタント)は、典型的には、小さな手のひらサイズのバッテリー駆動コンピュータである。現在の例は、3Com(商標)社によって製造されたポピュラーなPalmPilot(商標)シリーズ、及びCasio(商標)、Cassiopeia(商標)並びにHewlett Packard(商標)、Journada(商標)のような、様々なWindows(商標)、CE(商標)(現在ではPocketPC(商標)として知られる)互換装置である。
【0082】
これらの装置は、典型的には、ユーザが画面上でスタイラスをタップすることによって、ユーザから入力を受け取る。更に、大部分の装置は、テキストの入力を可能にする手書き認識ソフトウェアを有する。画面区域は、典型的には、PalmPilot(商標)ファミリーの装置で160×160ピクセル、Windows(商標)、CE(商標)ファミリーで320×240ピクセルの範囲である。ピクセル当たりのカラーの数は、8つのグレー濃淡から約216色までの範囲である。PDAは、標準のモデム、直接接続、イーサネット、又はワイヤレスモデムを使用して、他のコンピュータへ接続することができる。
【0083】
これに関連して、ワイヤレスモデムを介してサーバ14と接続するPDAのユーザは、クライアントアプリケーションを実行するであろう。次に、サーバ14は、ユーザを認証し、デフォルトページをユーザに送るか、ウエルカムページを送る。次に、ユーザは、表示させたいページをウェブ上で選択する。次に、PDAはこのページ要求をサーバ14へ送る。サーバ14は、このページをインターネット又はサーバ14のキャッシュから検索する。次に、サーバ14は、このページを特定のPDAに適した画像フォーマットへ変換し、ユーザインタフェース表示の画像フォーマットはPDAへ送られるであろう。PDAはそれを画面上に表示する。この変換に関連する更なる詳細は、以下で説明される。
【0084】
送信に先立ってPDAのためにウェブページをフォーマット又は調整するため、2種類の主なステップがサーバ14によって取られる。これらのステップは、ページレイアウトの前処理及びピクセルベースの画像処理である。
【0085】
ウェブページが画像フォーマットへレンダリングされる前に、ページは前処理を施されてもよい。従って、多数の前処理ルーチンが実行される。
【0086】
最初に、ページの外見を変更して、フォント、画像、テーブル、ボタン、及びフレームを正しくスケーリングするため、スタイルシートが使用される。例えば、PDAの画面は、典型的にサーバ14の画面よりも小さいため、フォントのピッチサイズが増加される。
【0087】
2番目に、ページの外見をフォーマットするため、Javaスクリプト、Javaアプレット、DHTML、ActiveXコンテンツ、及び他のスクリプト命令がサーバ側で実行されてもよい。
【0088】
更に、或る要素が全く除去されるか、より高いレベルのページへ置かれてもよい。従って、例えば、フレームベースのページが多数のページへ分割されてもよい。各々のフレームのために別々のページを作ることができる。例えば、もしコンテンツが、左側にフレームを有するウェブページであり、このフレームがサイト上のページをユーザに検索させるインデックスとして働くならば、このページは、より高いレベルのページとして使用されるであろう。この高レベルページの上のリンクをクリックすると、PDAは、完全に新しいページを開くであろう。ユーザは、インデックスページへ戻るために「バック」ボタンを使用するであろう。
【0089】
更に、アニメーション画像(例えば、バナー広告)は、静的画像へ変えることができる。更に、バックグラウンドグラフィックスを除去し、他の画像及びボタンを再スケーリングすることができる。
【0090】
前処理に続く画像処理ステップは、ウェブページを画像へ変換する結果となる。どの程度のことがこのステップで起こるかは、図5を参照して説明したように、送られた最後のページと比較して、ページ上でどの程度の変更が生じたかによって決定される。
【0091】
もしユーザが、画面の小さな区域のみを変更するアクション、例えば、ドロップダウンメニューボックスをプルダウンするアクションを実行したのであれば、変化した画面区域、この場合、ドロップダウンメニューのみが、画像へ変換され、ネットワークを介して送られる。従って、連続するページの差のみがクライアント12へ送信され、それによって、帯域幅の要件が軽減される。もしユーザが、完全に新しいページを生じるアクションを実行したのであれば、全体のページがクライアント12へ送られる。次に、図5に示されるように、ページはスケーリングされ、カラーが減らされ、圧縮される。
【0092】
160×160ピクセルのディスプレイを有するPalmPilot(商標)PDAが使用され、各々のピクセルに16のグレー濃淡がある例では、次のことが起こるであろう。第1に、現在の画像と、クライアント12へ送られた前の画像との間の差が、前述したように決定される。もし小さな変化のみが生じたのであれば、これらの小さな変化のみを含む画像が送信のために作成される。この画像は、ドロップダウンメニューボックスの場合と同じように、全体の画像区域の中の小さな部分であるかも知れない。第2に、画像で使用されるカラーの数は、ウェブ画像で典型的に使用されるピクセル当たりの24ビット(赤、緑、青の各々に8ビット)から16のグレー濃淡(ピクセル当たり4ビット)へ縮小される。このステップで、結果の画像が眼に美的快感を与えることを確実にするため、画像ディザリングと強調アルゴリズムが使用される。次に、画像は、元のサイズから、使用可能な160×160ピクセルへスケーリングされる。再び、画像ディザリング、ポスタライズ、強調アルゴリズムが使用され、画像の品質が受容可能に維持される。次に、画像は、画像圧縮アルゴリズムを使用して圧縮される。次に、この圧縮及びフォーマットされた画像は、ネットワークを介してクライアント12のPDAへ送られる。
【0093】
前記の画像を受け取ったとき、PDA又はクライアント12は、画像を解凍して表示するであろう。PDAは、画像を表示する前に画像の全体が到着するのを待つように構成されるか、データが到着するにつれて画像をラインごと又は領域ごとに構築してもよい。次に、PDAは、ユーザの命令、例えば、リンク上のクリック、データの入力、ページスクロール、又は他のユーザアクションを待つ。
【0094】
もしこれらのアクションが新しいページの要求、又はPDA画面上で現在表示されている画像の更新を生じるならば、前述したように、これらのコマンドはサーバ14へ送られ、新しいページがレンダリングされてPDAへ送られる。
【0095】
更に、前記の例でキャッシュマネージャが考慮されてもよい。キャッシュは2つの物理位置に記憶される。サーバ14上のキャッシュは、そこを通過する全てのページ及び画像を記憶し、PDA装置又はクライアント12上のずっと小さな画像キャッシュは、制限された数の画像を記憶することができる。
【0096】
PDAのユーザが、要求されているページの異なったビューを生じるアクションを実行したとき、PDAは、先ず、このページを表す画像をローカルメモリの中に有するかどうかをチェックする。もし有するならば、PDAはそれを表示する。これは、典型的には、PDAがページAを表示しており、ユーザがページBへ進み、ブラウザの上のバックボタンを押してページAへ戻るときに起こる。その場合、PDAキャッシュは、ページAをサーバ14から検索する代わりに、それを即時に再ロードするであろう。
【0097】
PDAのユーザがページを表示している間、サーバ14は他のページ画像をPDAへスプールすることができる。これらのページ画像は、ユーザが次に何をするかの予測に基づいている。そのような予測の1つの例は、ユーザがページダウンキーを押すことであってもよい。これは現在のページの下にあるページのビューがPDAへストリームされる結果を生じる。他の例は、現在のページの上の最初のリンクをたどり、このリンクの画像をPDAのキャッシュへストリームするか、それをローカルで記憶することである。
【0098】
キャッシュマネージャの主な目的は、できるだけ早くユーザの次のウェブページを利用可能にし、それによって、到着するページの待ち時間を最小にすることである。
【0099】
システム10の能力の更なる例は、プレブートアップ(pre−boot up)ウェブブラウジング又は操作及びシン(thin)クライアントウェブブラウジングとの関連で説明される。プレブートアップウェブブラウジングは、オペレーティングシステムがロードされる前の段階で、通常のPC(パーソナルコンピュータ)がオンにされた後、直ちにPC上でウェブをブラウズすることを含む。シンクライアントウェブブラウジングは、最小のハードウェア及び制限されたオペレーティングシステムを有する「シン」PC型装置の上でウェブをブラウズすることを含む。
【0100】
双方の場合、典型的なPCプラットフォーム上でオペレーティングシステム(例えば、Windows(商標)95)及びウェブブラウザプログラム(例えば、Internet Explorer(商標))によって提供される機能の多くが、サーバ14によって提供される。プレブートアップ操作の場合、クライアント12は、ネットワーキングソフトウェア、マウス及びカーソルサポートソフトウェア、及び画像ソフトウェアを提供する。この構成における典型的なハードウェアは、ネットワークカード又はモデムによって提供されるネットワーク接続を有する標準のPCを含む。
【0101】
そのような装置の操作は、前述したPDAの操作と同じであるが、相違は、ネットワークトランスポートがPDAよりも早いことである。それによって、より大きなページを送ることができ、典型的に、標準PCクライアント12の上で利用可能な大型メモリへ多くのページをキャッシュすることができる。更に、利用可能なスクリーン解像度及びカラー深度がPDAよりも非常に良好であり、必要なサイズ変更及びディザリングが少なくなる。
【0102】
従って、ユーザは、PCのスタートアップ及びオペレーティングシステムのロードを待つオーバヘッドなしに、ウェブをブラウズすることができる。PCがパワーアップし、ネットワークが活動化された瞬間に、クライアント12はウェブをブラウズするように使用されることができる。
【0103】
もしユーザが、ウェブブラウザ以外の或る他のソフトウェアアプリケーション、例えば、ワードプロセッサ、スプレッドシート、データベース、eメール、又はスケジューリングプログラムを走らせているならば、プレブートアップ操作によって、ユーザは、クライアント12をオンにし、ユーザのアプリケーション、デスクトップ、及びデータを殆ど即時に回復させることができる。なぜなら、データ及び状態変数の全てはサーバ14に記憶されているからである。ユーザは、更に、データ損失を心配する必要なしに、望むときはいつでも、装置をオフにすることができる。更に、データのセキュリティ及び記憶は、サーバ14によって中央で処理され、ユーザはウィルス又はデータバックアップについて心配する必要はない。ユーザは、こうして、ローミングすることができ、どのような装置12へログインしたとしても、同じデスクトップ及びアプリケーションを有する。更に、もしクライアント装置12.3が故障すれば、ユーザは他のクライアント装置12.2からサーバ14へログインして、サポートチームがクライアント装置12.3を修理するのを待ちながら、作業を続けることができる。
【0104】
シンクライアントブラウジングの場合、クライアント12は、典型的には、大型記憶装置(典型的には、ハードディスクドライブ)、高帯域幅ダウンリンク(典型的には、衛星受信器)、ページを表示するためのテレビセット、小型プロセッサ、及びTVディスプレイカードを含む。
【0105】
ユーザは、興味を有するウェブサイト又はその一部分を指定する。サーバ14は、これらのページをテレビ上で見るのに適した画像へ変換する。これらの画像は、サーバ14からクライアント12へ高帯域幅リンクを介してスプールダウンされ、ページへのインデックスと一緒にクライアントのハードディスクへ記憶される。
【0106】
ユーザが望むとき、ユーザは非常な高速でページをブラウズすることができる。なぜなら、ページはクライアント12にローカルで記憶され、ダウンロードされる必要はないからである。もしユーザが望むならば、ユーザはISPへダイアルアップして、ページと対話することができる。しかし、もしユーザがページを見ることだけを望むならば、これは必要でない。
【0107】
サーバ14は、その広告画像を画像の中に挿入した後に、クライアント12へそれらをスプールダウンしてもよい。このサービスは数千のウェブページへの超高速アクセスを提供する。
【0108】
これから、システム10のリダイレクト又は転送能力の例を説明する。ユーザが通勤の途上にあるとき、ユーザはPDAであるクライアント12.2の上で作業し、前述したようにインターネット又はサーバ14上のアプリケーションへ接続している。
【0109】
ユーザがオフィスに到着したとき、ユーザはPCであるクライアント12.3へ表示及び入力を切り替えることができる。これは、自動的に行なうか、ユーザインタフェース表示を転送又はリダイレクトすることをPDA12.2又はPC12.3に命令することによって、ユーザからイニシエートされてもよい。
【0110】
転送は、PC12.3とPDA12.2との間でのみ起こる必要はない。1つのPCと他のPCとの間、PC12.3と携帯電話との間、携帯電話とPDA12.2との間、又は他の任意の2つのコンピューティング装置の間で制御を転送することも可能である。更に、PC12.3は、Windows(商標)又はUnix(商標)を走らせているデスクトップ型ワークステーションであるか、ダム端末、又は他のデスクトップPC類似装置であってもよい。
【0111】
ユーザは、元のクライアント(この場合、PDA12.2)から切り替え又は転送をイニシエートすることができるか、元のクライアント12.2から引き継ぐことを新しいクライアント(この場合、PC12.3)に命令することができる。
【0112】
ユーザが、PCディスプレイ12.3へ切り替えて制御を入力することをPDA12.2へ命令する場合、ユーザは、PDA12.2の上でメニューオプションを選択する。PDA12.2は、コマンドをサーバ14.1へ送り、表示及び入力サービスをユーザのデスクトップPC12.3へ切り替えることをサーバ14.1へ命令する。次に、サーバ14.1は、デスクトップPC12.3が利用可能であるかどうかをチェックし、PC12.3からハードウェア情報、例えば、画面サイズ、利用可能な入力装置、及びネットワーク能力を検索するように構成される。サーバ14.1は、更に、PC12.3及びクライアント12.2上のユーザを認証し、ユーザがPC12.3の使用を許されているかどうか、及びPDA12.2が制御の転送を許されているかどうかをチェックする。転送の間、もし必要であれば、サーバ14.1は、PCへの早い接続を有する他のサーバ14.2へ制御を譲渡してもよい。
【0113】
ユーザは、PC12.3を介して、PDA12.2からPC12.3への転送をイニシエートしてもよい。これは、PC12.3から、サーバ14.1又はPDA12.2へコマンドを送ることによって行なわれる。このコマンドは、制御をPC12.3へ転送するであろう。前述したコマンドフローと類似のコマンドフローが起こるであろう。
【0114】
こうして、ユーザは、PDA12.2からPC12.3へ作業環境を殆ど即時に転送し、中断することなく同じデータの作業又は同じウェブページの表示を継続することができる。ユーザが作業しているデータ、及びアプリケーション自身は、サーバ14の上で実行及び記憶される。従って、ユーザは、データのバックアップ又はデータ損失の予防について心配する必要はない。なぜなら、これらは全てサーバ14によって処理されるからである。
【0115】
ユーザがオフィスを離れることを決めたとき、ユーザは、更に、その作業環境をPDA12.2へ戻すことができる。前述したように、転送する命令は、PC12.3から来るか、PDA12.2から来ることができる。次に、認証、コマンドの切り替え、新しい装置能力の設定、及びサーバの切り替えが、前述したようにして処理される。
【0116】
ユーザインタフェースの画像フォーマットも、クライアント12の間で自動的に転送されてもよい。自動的転送と手動転送との相違は、リダイレクト又は転送コマンドの発生点が異なるだけである。自動的リダイレクトの場合、ユーザは、もはやリダイレクトコマンドを送らない。なぜなら、それはシステム10によって自動的に発行されるからである。
【0117】
自動的転送又は切り替えによって、ユーザは自由にローミングし、最良の表示装置を自動的に選択することができる。自動的転送の典型的な例において、ユーザは、移動中にPDA12.2の上で作業した後でオフィスに到着し、ユーザがオフィスへ入るや否や、表示入力装置がPDA12.2からPC12.3へ自動的に切り替えられる。この切り替えは、ワイヤレス通信リンク20を介して処理されるか、直接物理接続、例えばドッキングステーションを介して処理されてもよい。もしユーザがPDA12.2と一緒にオフィスを離れるならば、表示及び入力は、PDA12.2の環境へ自動的に回復される。
【0118】
PDA12.2とPC12.3との間、又はPDA12.2、ビルディングの中の位置入力装置、及びサーバ14との間のワイヤレス通信リンク20は、通常、ブルートゥースのようなローミングプロトコル又はGSMのようなセルラプロトコルを使用する赤外線通信又はRF通信の形式を取る。
【0119】
PDA12.2及びPC12.3の双方が低レンジRF通信インタフェースを有する場合、PC12.3は、PDA12.2の接近を検出し、サーバ14.1を介してPDA12.2へコマンドを送るように構成される。このコマンドは制御の転送をPDA12.2へ命令する。もしサーバ14.1がこの転送を承認するならば、PDA12.2は、PC12.3が今や新しい表示入力装置であることをサーバ14.1へ知らせる。転送及びセキュリティは前述したように処理される。
【0120】
PDA12.2、又はPDA12.2のユーザが位置入力装置を有し、サーバ14.1がビルディング内のPDA12.2又はユーザ位置を決定することができる場合、サーバ14.1はコマンド転送を自動的にイニシエートし、従ってPDA12.2から、ユーザに最も近いPC12.3又はワークステーションへ制御を移すように構成される。
【0121】
これまで説明されたローミング技術によって、ユーザは、特定のワークステーション又はPDA12.2から解放されることができ、ユーザによって使用されるデータ及びアプリケーションは、ユーザの作業セッションを中断することなく、ユーザに追従することができる。更に、干渉を生じることなく、より安価又は代替の接続へシームレスに移ることができる。
【0122】
前述したように、システム10によって、更に、クライアント12は、特定のサーバ14.1及び14.2への接近に基づいて、他のサーバ14への転送を要求することができる。典型的には、クライアント12へ最も近いサーバ14.1及び14.2が、最速の接続を提供するであろう。
【0123】
更に、例えば、ユーザがPDAクライアント12.4と一緒にオフィスに到着し、そのオフィスが、それ自身のローカル(恐らく、LANベース)サーバ14.1を有するとき、クライアント12はサーバ14を切り替えることができる。PDAクライアント12.4がPCクライアント12.3へ切り替わったとき、モバイルサーバ14.2は、PC12.3と同じローカルエリアネットワークの上のローカルサーバ14.1へソフトウェアアプリケーションを転送することができる。これは、PCクライアント12.3のために、より早くて安価なサーバアクセスを可能にするであろう。ユーザがオフィスを離れるとき、PC12.3はクライアントをPDA12.2へ切り替え、同時に、ローカルLANサーバ14.1は、より中央のワイヤレスベースサーバ14.2へ切り替わることができる。
【0124】
前述したように、サーバ14.1は、更に、クライアント12を、より早い他のサーバ14.2へ自動的に切り替えることができる。サーバの切り替え又は転送の他の例は、サーバ14の群が、サーバ14のロードを共用又はバランスさせるため、クライアント12をサーバの間で移動させるオフィス環境の場合であろう。
【0125】
出願人は、例示された発明が、ソフトウェアアプリケーションのユーザインタフェース表示を制御する比較的簡単なシステム10を提供するものと信じる。システム10によって、簡単な手のひらサイズ又は携帯装置の形式をしたクライアント装置12は、アプリケーションサーバ14から離れて複雑なソフトウェアを走らせることができる。アプリケーションサーバ14は、ソフトウェアを実行し、ユーザインタフェース表示の画像フォーマットをレンダリングする。次に、画像フォーマットはクライアント装置12へ送信される。クライアント装置12は単に表示入力装置として働き、全ての処理及びデータ記憶はアプリケーションサーバ14によって処理される。従って、簡単なコンピューティング装置が、典型的にはハイエンドのデスクトップマシンの上で走るように開発された複雑なソフトウェアを走らせることができる。従って、携帯装置とデスクトップ装置のために、もはや別々のアプリケーションが必要になることはない。この事は、手のひらサイズのコンピュータとデスクトップコンピュータとの間で異なったフォーマットの文書を転送する必要性を除く。このような転送は、多くの場合、時間を浪費し能率的ではなかった。更に、ユーザは、もはや2つの異なったアプリケーションをどのように使用するかを学習する必要はない。
【0126】
システム10によって、更に、ユーザは、アプリケーションの実行を中断することなく、またデータの喪失又は破壊の危険を冒すことなく、任意数のアプリケーションを含むコンピューティング環境を、1つのクライアント12から他のクライアントへシームレスに転送することができる。全てのデータ及びアプリケーションはサーバ14から実行され、従ってユーザは、その携帯又は他のコンピューティング装置をオン及びオフに切り替え、場所を離れたところで作業を再開することができる。ユーザは、更に、ユーザの要件及び環境に依存して装置12を簡単に切り替えることができる。更に、システムはネットワークから離れて作動し、インターネットへ接続可能であるから、ユーザは世界を自由にローミングすることができ、情報又はデータを喪失する危険を冒すことなく、ユーザのコンピューティング環境へログインすることができる。
【0127】
アプリケーション及びデータを中央で記憶することは、更に、システムのロバスト性及びメンテナンスを確実にする。例えば、システム10は、ウィルス感染の危険が少ないであろう。なぜなら、全体のシステムが中央ロケーションから制御されるからである。更に、ユーザは、そのパーソナルコンピューティング装置又はソフトウェアを継続的にアップグレードする必要はない。なぜなら、これらは全て中央で処理されるからである。
【図面の簡単な説明】
【図1】
本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムの概略ブロック図である。
【図2】
本発明に従ってアプリケーションサーバの上で走っているコンピュータプログラムの基本的フローチャートである。
【図3】
アプリケーションサーバの上で走っている図2のコンピュータプログラムの詳細なフローチャートである。
【図4】
本発明に従ってクライアント装置の上で走っているコンピュータプログラムのフローチャートである。
【図5】
画像調整モジュールの詳細なフローチャートである。
【符号の説明】
10 ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム
12、12.1、12.2、12.3、12.4 クライアント、クライアント装置
13 ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求する
14、14.1、14.2 アプリケーションサーバ
16、16.1、16.2 記憶手段
17 ユーザインタフェース表示の画像フォーマットをクライアントへ送信する18 良好な表示能力を有するクライアントへの接近区域
20 ワイヤレス通信リンク
Claims (49)
- ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示を、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示を表示する表示手段を有する第1のクライアント端末と、
少なくとも1つのソフトウェアアプリケーションの動作を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示を転送する転送手段と、
を含むシステム。 - ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含み、表示エクスポート手段がユーザインタフェース表示の画像フォーマットをエクスポートするように構成され、クライアント端末の通信インタフェースがユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上に表示するように構成される、請求項1に記載のシステム。
- ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも1つのソフトウェアアプリケーションを実行する少なくとも1つのアプリケーションサーバと、
少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第1のクライアント端末と、
を含むシステム。 - 少なくとも1つのソフトウェアアプリケーションの動作を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段を含む、請求項3に記載のシステム。
- クライアント端末が、通信インタフェースへ接続されたユーザ入力手段を含み、それによってユーザは、その又は各ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求することができ、またユーザは、ユーザインタフェース表示の画像フォーマットを介してその又は各ソフトウェアアプリケーションと対話することができ、前記対話は通信インタフェースを介して容易にされる、請求項4に記載のシステム。
- 第1又は第2のクライアント端末のいずれかが、転送手段の動作を制御するように構成される、請求項4又は5に記載のシステム。
- アプリケーションサーバが、転送手段の動作を制御するように構成される、請求項4又は5に記載のシステム。
- 第1及び第2のクライアント端末の相対的位置を追跡する追跡手段を含み、転送手段が、第1及び第2のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される、請求項4から7のいずれか1項に記載のシステム。
- 第1のアプリケーションサーバから少なくとも第2のアプリケーションサーバへその又は各ソフトウェアアプリケーションを転送するアプリケーション転送手段を含む、請求項8に記載のシステム。
- ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、追跡手段が第1及び第2のアプリケーションサーバに相対させて監視するように構成され、アプリケーション転送手段が、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第1のアプリケーションサーバから第2のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成される、請求項9に記載のシステム。
- その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含む、請求項4から10のいずれか1項に記載のシステム。
- アプリケーションサーバが、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含む、請求項4から11のいずれか1項に記載のシステム。
- 処理手段が、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと比較するコンパレータ手段を含み、プロセッサ手段が、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと異なっているユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成される、請求項4から12のいずれか1項に記載のシステム。
- その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含む、請求項4から13のいずれか1項に記載のシステム。
- 記憶手段がユーザデータを記憶するように構成される、請求項14に記載のシステム。
- 処理手段が、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成される、請求項15に記載のシステム。
- クライアント端末の少なくとも1つが携帯又は手のひらサイズの装置である、請求項1から16のいずれか1項に記載のシステム。
- ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法であって、
少なくとも1つのソフトウェアアプリケーションを、少なくとも第1のアプリケーションサーバの上で実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第1のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。 - 第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップと、を含む、請求項18に記載の方法。 - ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的距離に基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項18又は19に記載の方法。 - ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第1のアプリケーションサーバ、及び第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第1並びに第2のアプリケーションサーバの間の相対的データ転送レートに基づいて、第1及び第2のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項18又は19に記載の方法。 - ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングし、
第1又は第2のクライアント端末への将来のエクスポートのために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップと、を含む、請求項18から21のいずれか1項に記載の方法。 - ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートするステップと、を含む、請求項18から22のいずれか1項に記載の方法。 - ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項18から23のいずれか1項に記載の方法。
- ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項18から24のいずれか1項に記載の方法。
- 請求項18から25のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
- アプリケーションサーバであって、
少なくとも1つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも1つのソフトウェアアプリケーションを実行し、少なくとも1つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを少なくとも第1のクライアント端末へエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを少なくとも1つの更なるクライアント端末へ転送する転送手段と、を含むアプリケーションサーバ。 - アプリケーションサーバを操作する方法であって、
通信ネットワークを介してアプリケーションサーバへ接続された第1のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも1つのソフトウェアアプリケーションを実行するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1のクライアント端末の上で表示するため、通信ネットワークを介して第1のクライアント端末へユーザインタフェース表示の画像フォーマットをエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第1のクライアント端末から少なくとも第2のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。 - クライアント端末のいずれかから要求されたとき、第1のクライアント端末から第2のクライアント端末へユーザインタフェース表示の画像フォーマットを転送するステップを含む、請求項28に記載の方法。
- 第1及び第2のクライアント端末の相対的位置を追跡するステップと、
第1及び第2のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第1のクライアント端末から第2のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含む、請求項28又は29に記載の方法。 - ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び前記アプリケーションサーバの間の相対的距離に基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項28から30のいずれか1項に記載の方法。 - ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第2のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第2のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項28から30のいずれか1項に記載の方法。 - ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第1又は第2のクライアント端末へ将来エクスポートするために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項28から32のいずれか1項に記載の方法。 - その又は各ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第1又は第2のクライアント端末へエクスポートするステップを含む、請求項28から33のいずれか1項に記載の方法。 - ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項28から34のいずれか1項に記載の方法。
- ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項28から35のいずれか1項に記載の方法。
- 請求項28から36のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
- クライアント装置であって、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも1つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
アプリケーションサーバによって通信インタフェースを介しクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが少なくとも第2のクライアント端末へ転送されることを要求する転送要求手段と、を含むクライアント装置。 - 通信インタフェース、表示手段、及びユーザ入力手段が、全てプレブートアップを操作するように構成される、請求項38に記載のクライアント装置。
- クライアント装置を操作する方法であって、
少なくとも1つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが少なくとも第2のクライアント装置へ転送されることを要求するステップと、
を含む方法。 - 更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項40に記載の方法。
- 請求項40又は41に記載の方法をクライアント装置に実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
- 実質的に本明細書で説明及び例示されている、請求項1に記載のシステム。
- 実質的に本明細書で説明及び例示されている、請求項18に記載の方法。
- 実質的に本明細書で説明及び例示されている、請求項27に記載のアプリケーションサーバ。
- 実質的に本明細書で説明及び例示されている、請求項28に記載のアプリケーションサーバを操作する方法。
- 実質的に本明細書で説明及び例示されている、請求項38に記載のクライアント装置。
- 実質的に本明細書で説明及び例示されている、請求項40に記載のクライアント装置を操作する方法。
- 実質的に本明細書で説明及び例示されている、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しいシステム、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しい方法、新しいアプリケーションサーバ、アプリケーションサーバを操作する新しい方法、新しいクライアント装置、又はクライアント装置を操作する新しい方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ZA200002943 | 2000-06-12 | ||
ZA200004017 | 2000-08-07 | ||
PCT/IB2001/001000 WO2001097014A2 (en) | 2000-06-12 | 2001-06-07 | System for controlling a display of the user interface of a software application |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004503862A true JP2004503862A (ja) | 2004-02-05 |
Family
ID=27145471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002511074A Pending JP2004503862A (ja) | 2000-06-12 | 2001-06-07 | ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040027375A1 (ja) |
EP (1) | EP1292884A2 (ja) |
JP (1) | JP2004503862A (ja) |
CN (1) | CN1197001C (ja) |
AU (1) | AU2001260549A1 (ja) |
WO (1) | WO2001097014A2 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009102010A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 移動領域検出装置 |
JP2009194627A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
JP2011505607A (ja) * | 2007-10-23 | 2011-02-24 | ビアクリックス・インコーポレイテッド | マルチメディア管理、広告、コンテンツ及びサービス |
US7904513B2 (en) | 2006-08-31 | 2011-03-08 | Casio Computer Co., Ltd. | Client apparatus, server apparatus, server-based computing system, and program |
JP2011055212A (ja) * | 2009-09-01 | 2011-03-17 | Fujifilm Corp | 画像送信装置、方法およびプログラム、画像出力装置ならびに画像送信システム |
US8004532B2 (en) | 2006-03-29 | 2011-08-23 | Casio Computer Co., Ltd | Server apparatus and server control method in computer system |
US8331696B2 (en) | 2008-02-14 | 2012-12-11 | Nec Corporation | Update region detection device |
US8620997B2 (en) | 2009-03-24 | 2013-12-31 | Casio Computer Co., Ltd | Client apparatus, computer system, computer readable program storage medium and display method, each for detecting change of display contents in status bar area to display the change |
US8681870B2 (en) | 2008-02-14 | 2014-03-25 | Nec Corporation | Motion vector detection device |
US8918450B2 (en) | 2006-02-14 | 2014-12-23 | Casio Computer Co., Ltd | Server apparatuses, server control programs, and client apparatuses for a computer system in which created drawing data is transmitted to the client apparatuses |
US9083975B2 (en) | 2009-08-21 | 2015-07-14 | Nec Corporation | Moving image coding device |
US9258682B2 (en) | 2006-06-23 | 2016-02-09 | Casio Computer Co., Ltd. | Server apparatus, server control program, and server client system |
US9986239B2 (en) | 2013-03-27 | 2018-05-29 | Nec Corporation | Image encoding apparatus, image encoding method, and recording medium |
JP2021515949A (ja) * | 2018-03-13 | 2021-06-24 | イングラム マイクロ インコーポレーテッド | Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法 |
Families Citing this family (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934915B2 (en) * | 2001-10-09 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | System and method for personalizing an electrical device interface |
AU2003209194A1 (en) | 2002-01-08 | 2003-07-24 | Seven Networks, Inc. | Secure transport for mobile communication network |
AU2003208477A1 (en) | 2002-03-01 | 2003-09-16 | T5 Labs Ltd | Centralised interactive graphical application server |
US7434169B2 (en) | 2002-11-25 | 2008-10-07 | Aol Llc, A Delaware Limited Liability Company | Facilitating communications between computer users across a network |
US8176428B2 (en) * | 2002-12-03 | 2012-05-08 | Datawind Net Access Corporation | Portable internet access device back page cache |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US8316361B2 (en) * | 2003-01-09 | 2012-11-20 | Hewlett-Packard Development Company, L.P. | Method of enabling a user to update one or more low-level resources of a computer system in a user-friendly manner |
US20040148608A1 (en) * | 2003-01-24 | 2004-07-29 | Gendreau James K. | Portable executable software architecture |
EP1603286A4 (en) * | 2003-03-03 | 2012-10-24 | Nat Inst Inf & Comm Tech | COMMUNICATION SYSTEM WITH SERVICE TRANSFER FUNCTION, USER TERMINAL DEVICE, TERMINAL DEVICE FOR TRANSMISSION DESTINATION, AND PROXY SERVER DEVICE |
US7827232B2 (en) * | 2003-05-05 | 2010-11-02 | Microsoft Corporation | Record button on a computer system |
US7221331B2 (en) * | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US20040235520A1 (en) * | 2003-05-20 | 2004-11-25 | Cadiz Jonathan Jay | Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer |
US7216221B2 (en) * | 2003-09-30 | 2007-05-08 | Microsoft Corporation | Method and system for unified audio control on a personal computer |
US7562131B2 (en) * | 2004-06-25 | 2009-07-14 | Intel Corporation | UPnP user interface system and method |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US8010082B2 (en) * | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US7509659B2 (en) * | 2004-11-18 | 2009-03-24 | International Business Machines Corporation | Programming portal applications |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
US7711868B2 (en) * | 2004-11-23 | 2010-05-04 | Microsoft Corporation | Waking a main computer system to pre-fetch data for an auxiliary computing device |
FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
US20060129829A1 (en) * | 2004-12-13 | 2006-06-15 | Aaron Jeffrey A | Methods, systems, and computer program products for accessing data with a plurality of devices based on a security policy |
US7784065B2 (en) * | 2005-02-07 | 2010-08-24 | Microsoft Corporation | Interface for consistent program interaction with auxiliary computing devices |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US20060242590A1 (en) * | 2005-04-21 | 2006-10-26 | Microsoft Corporation | Simple content format for auxiliary display devices |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US20070005605A1 (en) * | 2005-06-30 | 2007-01-04 | Hampton Arthur D | System and method for selectively delivering content to a user having one or more accessible devices |
KR100752630B1 (ko) * | 2005-07-11 | 2007-08-30 | 주식회사 로직플랜트 | 저속통신망과 저사양 개인용통신단말기에 최적화된 컴퓨터원격제어방법 및 그 시스템 |
US8069166B2 (en) * | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
EP1818812B1 (en) * | 2006-01-25 | 2016-01-06 | Brandt Technologies Limited | System and method for effecting simultaneous control of remote computers |
US8166390B2 (en) * | 2006-02-15 | 2012-04-24 | Microsoft Corporation | Figure sizing and positioning on dynamic pages |
US7769395B2 (en) * | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US20080001717A1 (en) * | 2006-06-20 | 2008-01-03 | Trevor Fiatal | System and method for group management |
US20070290787A1 (en) * | 2006-06-20 | 2007-12-20 | Trevor Fiatal | Systems and methods for group messaging |
US20080034095A1 (en) * | 2006-08-01 | 2008-02-07 | Motorola, Inc. | Multi-representation media event handoff |
US7680908B2 (en) * | 2006-09-28 | 2010-03-16 | Microsoft Corporation | State replication |
US8693494B2 (en) * | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
JP2009009330A (ja) * | 2007-06-27 | 2009-01-15 | Fujitsu Ltd | 情報処理装置、情報処理システム及び情報処理装置の制御方法 |
US8375133B2 (en) * | 2007-08-07 | 2013-02-12 | Sony Computer Entertainment Inc. | Methods and apparatuses for synchronizing and managing content over multiple devices |
US20090063690A1 (en) * | 2007-09-05 | 2009-03-05 | Motorola, Inc. | Continuing an application session using a different device from one that originally initiated the application session while preserving session while preserving session state and data |
US20090096810A1 (en) * | 2007-10-11 | 2009-04-16 | Green Brian D | Method for selectively remoting windows |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
JP4725587B2 (ja) | 2008-03-18 | 2011-07-13 | カシオ計算機株式会社 | サーバ装置及びサーバ制御プログラム |
US9269059B2 (en) * | 2008-03-25 | 2016-02-23 | Qualcomm Incorporated | Apparatus and methods for transport optimization for widget content delivery |
US20090248670A1 (en) * | 2008-03-31 | 2009-10-01 | Trevor Fiatal | Content search engine |
EP2283421B1 (en) * | 2008-05-20 | 2019-08-14 | Citrix Systems, Inc. | Methods and systems for using external display devices with a mobile computing device |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
CN101620498B (zh) * | 2008-07-01 | 2012-11-14 | 宏达国际电子股份有限公司 | 互动系统及方法 |
KR101531164B1 (ko) * | 2008-08-12 | 2015-06-25 | 삼성전자주식회사 | 사용자 인터페이스 디렉터리를 이용한 사용자 인터페이스 제공/수신하는 방법 및 장치 |
US8909759B2 (en) * | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US20100100584A1 (en) * | 2008-10-19 | 2010-04-22 | Ergin Guney | Web Application Framework Method Enabling Optimum Rendering Performance on a Client Based Upon Detected Parameters of the Client |
WO2010043025A1 (en) * | 2008-10-19 | 2010-04-22 | Research In Motion Limited | Web application framework for enabling the creation of applications that provide an interface with clients that is independent of scripting capability |
KR101562792B1 (ko) * | 2009-06-10 | 2015-10-23 | 삼성전자주식회사 | 목표 예측 인터페이스 제공 장치 및 그 방법 |
US9537957B2 (en) | 2009-09-02 | 2017-01-03 | Lenovo (Singapore) Pte. Ltd. | Seamless application session reconstruction between devices |
US9122545B2 (en) | 2010-02-17 | 2015-09-01 | Qualcomm Incorporated | Interfacing a multimedia application being executed on a handset with an independent, connected computing device |
US9043731B2 (en) | 2010-03-30 | 2015-05-26 | Seven Networks, Inc. | 3D mobile user interface with configurable workspace management |
KR20120001336A (ko) * | 2010-06-29 | 2012-01-04 | 삼성전자주식회사 | 컨텐트 변환 방법 및 그 장치 |
WO2012018430A1 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Mobile network traffic coordination across multiple applications |
US9077630B2 (en) | 2010-07-26 | 2015-07-07 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
EP2599280A2 (en) | 2010-07-26 | 2013-06-05 | Seven Networks, Inc. | Mobile application traffic optimization |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
US8417823B2 (en) | 2010-11-22 | 2013-04-09 | Seven Network, Inc. | Aligning data transfer to optimize connections established for transmission over a wireless network |
WO2012061437A1 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8326985B2 (en) | 2010-11-01 | 2012-12-04 | Seven Networks, Inc. | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US9021048B2 (en) | 2010-11-01 | 2015-04-28 | Seven Networks, Inc. | Caching adapted for mobile application behavior and network conditions |
GB2500327B (en) | 2010-11-22 | 2019-11-06 | Seven Networks Llc | Optimization of resource polling intervals to satisfy mobile device requests |
US8589950B2 (en) | 2011-01-05 | 2013-11-19 | Blackberry Limited | Processing user input events in a web browser |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
US8941675B2 (en) | 2011-04-05 | 2015-01-27 | Blackberry Limited | Backing store memory management for rendering scrollable webpage subregions |
EP2700019B1 (en) | 2011-04-19 | 2019-03-27 | Seven Networks, LLC | Social caching for device resource sharing and management |
WO2012149221A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
WO2012149434A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
EP2737742A4 (en) | 2011-07-27 | 2015-01-28 | Seven Networks Inc | AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK |
WO2013086225A1 (en) | 2011-12-06 | 2013-06-13 | Seven Networks, Inc. | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
WO2013086447A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
EP2788889A4 (en) | 2011-12-07 | 2015-08-12 | Seven Networks Inc | FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC |
WO2013090834A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
WO2013090212A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
WO2013116852A1 (en) | 2012-02-03 | 2013-08-08 | Seven Networks, Inc. | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
US10263899B2 (en) | 2012-04-10 | 2019-04-16 | Seven Networks, Llc | Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network |
US10931735B2 (en) * | 2012-06-28 | 2021-02-23 | Netflix, Inc. | Application discovery |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
CN103810100A (zh) * | 2013-12-02 | 2014-05-21 | 中标软件有限公司 | 一种软件进化趋势分析系统及方法 |
TWI582625B (zh) * | 2014-07-03 | 2017-05-11 | 阿貝爾環球國際有限公司 | 使工具運作於作業環境的方法以及應用該方法的機器 |
US20160048309A1 (en) * | 2014-08-12 | 2016-02-18 | I/O Interconnect Inc. | Method for automatically changing display version of website |
US10382518B2 (en) * | 2016-03-22 | 2019-08-13 | Google Llc | Low latency applications using multiple servers |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594688B2 (en) * | 1993-10-01 | 2003-07-15 | Collaboration Properties, Inc. | Dedicated echo canceler for a workstation |
US5729687A (en) * | 1993-12-20 | 1998-03-17 | Intel Corporation | System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information |
IL116804A (en) * | 1996-01-17 | 1998-12-06 | R N S Remote Networking Soluti | Application user interface redirector |
US5757925A (en) * | 1996-07-23 | 1998-05-26 | Faybishenko; Yaroslav | Secure platform independent cross-platform remote execution computer system and method |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US6448978B1 (en) * | 1996-09-26 | 2002-09-10 | Intel Corporation | Mechanism for increasing awareness and sense of proximity among multiple users in a network system |
GB2324175B (en) * | 1997-04-10 | 2002-07-31 | Ibm | Personal conferencing system |
DE69840672D1 (de) * | 1997-11-14 | 2009-04-30 | Microsoft Corp | Serversbetriebssystem zur unterstützung von mehreren client-serverssitzungen und dynamischer wiederverbindung der benutzer an vorhergehenden sitzungen |
WO2000026803A1 (en) * | 1998-11-02 | 2000-05-11 | Cardsoft International Pty Limited | Improved computing system and computing device |
US7043529B1 (en) * | 1999-04-23 | 2006-05-09 | The United States Of America As Represented By The Secretary Of The Navy | Collaborative development network for widely dispersed users and methods therefor |
US6584493B1 (en) * | 1999-03-02 | 2003-06-24 | Microsoft Corporation | Multiparty conferencing and collaboration system utilizing a per-host model command, control and communication structure |
FI109951B (fi) * | 1999-12-29 | 2002-10-31 | Valtion Teknillinen | Ohjain ja sen ohjausmenetelmä |
JP3754912B2 (ja) * | 2000-11-13 | 2006-03-15 | キヤノン株式会社 | マルチメディアコンテンツの配信方法 |
US6910078B1 (en) * | 2001-11-15 | 2005-06-21 | Cisco Technology, Inc. | Methods and apparatus for controlling the transmission of stream data |
-
2001
- 2001-06-07 CN CNB018138152A patent/CN1197001C/zh not_active Expired - Fee Related
- 2001-06-07 WO PCT/IB2001/001000 patent/WO2001097014A2/en not_active Application Discontinuation
- 2001-06-07 US US10/311,039 patent/US20040027375A1/en not_active Abandoned
- 2001-06-07 EP EP01934256A patent/EP1292884A2/en not_active Withdrawn
- 2001-06-07 JP JP2002511074A patent/JP2004503862A/ja active Pending
- 2001-06-07 AU AU2001260549A patent/AU2001260549A1/en not_active Abandoned
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918450B2 (en) | 2006-02-14 | 2014-12-23 | Casio Computer Co., Ltd | Server apparatuses, server control programs, and client apparatuses for a computer system in which created drawing data is transmitted to the client apparatuses |
US8004532B2 (en) | 2006-03-29 | 2011-08-23 | Casio Computer Co., Ltd | Server apparatus and server control method in computer system |
US9258682B2 (en) | 2006-06-23 | 2016-02-09 | Casio Computer Co., Ltd. | Server apparatus, server control program, and server client system |
US7904513B2 (en) | 2006-08-31 | 2011-03-08 | Casio Computer Co., Ltd. | Client apparatus, server apparatus, server-based computing system, and program |
JP2011505607A (ja) * | 2007-10-23 | 2011-02-24 | ビアクリックス・インコーポレイテッド | マルチメディア管理、広告、コンテンツ及びサービス |
WO2009102010A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 移動領域検出装置 |
JP2009194627A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
US8331696B2 (en) | 2008-02-14 | 2012-12-11 | Nec Corporation | Update region detection device |
US8629936B2 (en) | 2008-02-14 | 2014-01-14 | Nec Corporation | Moving region detection device |
US8681870B2 (en) | 2008-02-14 | 2014-03-25 | Nec Corporation | Motion vector detection device |
JP5471449B2 (ja) * | 2008-02-14 | 2014-04-16 | 日本電気株式会社 | 移動領域検出装置 |
US8620997B2 (en) | 2009-03-24 | 2013-12-31 | Casio Computer Co., Ltd | Client apparatus, computer system, computer readable program storage medium and display method, each for detecting change of display contents in status bar area to display the change |
US9083975B2 (en) | 2009-08-21 | 2015-07-14 | Nec Corporation | Moving image coding device |
JP2011055212A (ja) * | 2009-09-01 | 2011-03-17 | Fujifilm Corp | 画像送信装置、方法およびプログラム、画像出力装置ならびに画像送信システム |
US9986239B2 (en) | 2013-03-27 | 2018-05-29 | Nec Corporation | Image encoding apparatus, image encoding method, and recording medium |
JP2021515949A (ja) * | 2018-03-13 | 2021-06-24 | イングラム マイクロ インコーポレーテッド | Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法 |
JP7087098B2 (ja) | 2018-03-13 | 2022-06-20 | クラウドブルー エルエルシー | Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法 |
JP2022095655A (ja) * | 2018-03-13 | 2022-06-28 | クラウドブルー エルエルシー | Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法 |
JP7416845B2 (ja) | 2018-03-13 | 2024-01-17 | クラウドブルー エルエルシー | Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2001097014A2 (en) | 2001-12-20 |
AU2001260549A1 (en) | 2001-12-24 |
CN1197001C (zh) | 2005-04-13 |
EP1292884A2 (en) | 2003-03-19 |
US20040027375A1 (en) | 2004-02-12 |
WO2001097014A3 (en) | 2002-05-16 |
CN1446333A (zh) | 2003-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004503862A (ja) | ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム | |
US7155681B2 (en) | Platform-independent distributed user interface server architecture | |
US10104188B2 (en) | Customized browser images | |
US10331769B1 (en) | Interaction based prioritized retrieval of embedded resources | |
EP1109371B1 (en) | System and method for dynamically limiting information sent to a handheld device | |
US8566103B2 (en) | Multi-modal web interaction over wireless network | |
KR101413130B1 (ko) | 상태기반 브라우징 | |
JP2010508734A (ja) | リモートインターラクションに応答してビデオコンテンツを配信するためのアーキテクチャー | |
US20020129096A1 (en) | Platform-independent distributed user interface client architecture | |
US7167142B2 (en) | Multi-user display system | |
US20020111995A1 (en) | Platform-independent distributed user interface system architecture | |
WO2008092131A2 (en) | Mobile device user interface for remote interaction | |
US20090006977A1 (en) | Method and System of Computer Remote Control that Optimized for Low Bandwidth Network and Low Level Personal Communication Terminal Device | |
KR20040089600A (ko) | 웹페이지에 디스플레이된 소프트웨어 어플리케이션과의상호작용 | |
JP2007011531A (ja) | インタフェース制御プログラム、インタフェース制御方法、インタフェース制御装置、プラグインプログラム | |
US20160246494A1 (en) | Method for defining content download parameters with simple gesture | |
US9396165B2 (en) | Information display system, information display apparatus, information display method, information display program, information providing apparatus, and recording medium | |
US7076523B2 (en) | Interaction interface for a composite device computing environment | |
US20040194023A1 (en) | User selective reload of images | |
CN113515244B (zh) | 基于投屏的终端遥控方法、装置、设备及存储介质 | |
CN112836158A (zh) | 显示设备上的资源加载方法及显示设备 | |
CN112861049B (zh) | 动态管理图片缓存空间的方法及显示设备 | |
CN114040341B (zh) | 一种蓝牙广播包上报处理方法及显示设备 | |
JP2008112339A (ja) | 中継装置、並びに中継方法 | |
JP2003091371A (ja) | 情報処理装置、入出力処理方法、プログラム及び記録媒体 |