(57)【要約】本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム（１０）に関する。システム（１０）は、要求されたとき少なくとも１つのソフトウェアアプリケーションを実行するアプリケーションサーバ（１４．１）、及び通信ネットワークを介して少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示をエクスポートする表示エクスポート手段を含む。システム（１０）は、更に、クライアント端末（１２．２）を含む。クライアント端末（１２．２）は、ユーザインタフェース表示を受け取るために通信ネットワークへ接続された通信インタフェース、及びユーザインタフェース表示を表示するための表示手段を有する。本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法へ拡張される。【選択図】図１
2004503862.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示を、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示を表示する表示手段を有する第１のクライアント端末と、
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示を転送する転送手段と、
を含むシステム。
【請求項２】
ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含み、表示エクスポート手段がユーザインタフェース表示の画像フォーマットをエクスポートするように構成され、クライアント端末の通信インタフェースがユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上に表示するように構成される、請求項１に記載のシステム。
【請求項３】
ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第１のクライアント端末と、
を含むシステム。
【請求項４】
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段を含む、請求項３に記載のシステム。
【請求項５】
クライアント端末が、通信インタフェースへ接続されたユーザ入力手段を含み、それによってユーザは、その又は各ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求することができ、またユーザは、ユーザインタフェース表示の画像フォーマットを介してその又は各ソフトウェアアプリケーションと対話することができ、前記対話は通信インタフェースを介して容易にされる、請求項４に記載のシステム。
【請求項６】
第１又は第２のクライアント端末のいずれかが、転送手段の動作を制御するように構成される、請求項４又は５に記載のシステム。
【請求項７】
アプリケーションサーバが、転送手段の動作を制御するように構成される、請求項４又は５に記載のシステム。
【請求項８】
第１及び第２のクライアント端末の相対的位置を追跡する追跡手段を含み、転送手段が、第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される、請求項４から７のいずれか１項に記載のシステム。
【請求項９】
第１のアプリケーションサーバから少なくとも第２のアプリケーションサーバへその又は各ソフトウェアアプリケーションを転送するアプリケーション転送手段を含む、請求項８に記載のシステム。
【請求項１０】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、追跡手段が第１及び第２のアプリケーションサーバに相対させて監視するように構成され、アプリケーション転送手段が、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第１のアプリケーションサーバから第２のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成される、請求項９に記載のシステム。
【請求項１１】
その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含む、請求項４から１０のいずれか１項に記載のシステム。
【請求項１２】
アプリケーションサーバが、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含む、請求項４から１１のいずれか１項に記載のシステム。
【請求項１３】
処理手段が、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと比較するコンパレータ手段を含み、プロセッサ手段が、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと異なっているユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成される、請求項４から１２のいずれか１項に記載のシステム。
【請求項１４】
その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含む、請求項４から１３のいずれか１項に記載のシステム。
【請求項１５】
記憶手段がユーザデータを記憶するように構成される、請求項１４に記載のシステム。
【請求項１６】
処理手段が、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成される、請求項１５に記載のシステム。
【請求項１７】
クライアント端末の少なくとも１つが携帯又は手のひらサイズの装置である、請求項１から１６のいずれか１項に記載のシステム。
【請求項１８】
ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法であって、
少なくとも１つのソフトウェアアプリケーションを、少なくとも第１のアプリケーションサーバの上で実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第１のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。
【請求項１９】
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップと、を含む、請求項１８に記載の方法。
【請求項２０】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的距離に基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項１８又は１９に記載の方法。
【請求項２１】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的データ転送レートに基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項１８又は１９に記載の方法。
【請求項２２】
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングし、
第１又は第２のクライアント端末への将来のエクスポートのために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップと、を含む、請求項１８から２１のいずれか１項に記載の方法。
【請求項２３】
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートするステップと、を含む、請求項１８から２２のいずれか１項に記載の方法。
【請求項２４】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項１８から２３のいずれか１項に記載の方法。
【請求項２５】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項１８から２４のいずれか１項に記載の方法。
【請求項２６】
請求項１８から２５のいずれか１項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項２７】
アプリケーションサーバであって、
少なくとも１つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも１つのソフトウェアアプリケーションを実行し、少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを少なくとも第１のクライアント端末へエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを少なくとも１つの更なるクライアント端末へ転送する転送手段と、を含むアプリケーションサーバ。
【請求項２８】
アプリケーションサーバを操作する方法であって、
通信ネットワークを介してアプリケーションサーバへ接続された第１のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも１つのソフトウェアアプリケーションを実行するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、通信ネットワークを介して第１のクライアント端末へユーザインタフェース表示の画像フォーマットをエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。
【請求項２９】
クライアント端末のいずれかから要求されたとき、第１のクライアント端末から第２のクライアント端末へユーザインタフェース表示の画像フォーマットを転送するステップを含む、請求項２８に記載の方法。
【請求項３０】
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含む、請求項２８又は２９に記載の方法。
【請求項３１】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び前記アプリケーションサーバの間の相対的距離に基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項２８から３０のいずれか１項に記載の方法。
【請求項３２】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項２８から３０のいずれか１項に記載の方法。
【請求項３３】
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１又は第２のクライアント端末へ将来エクスポートするために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項２８から３２のいずれか１項に記載の方法。
【請求項３４】
その又は各ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートするステップを含む、請求項２８から３３のいずれか１項に記載の方法。
【請求項３５】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項２８から３４のいずれか１項に記載の方法。
【請求項３６】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項２８から３５のいずれか１項に記載の方法。
【請求項３７】
請求項２８から３６のいずれか１項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項３８】
クライアント装置であって、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも１つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
アプリケーションサーバによって通信インタフェースを介しクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが少なくとも第２のクライアント端末へ転送されることを要求する転送要求手段と、を含むクライアント装置。
【請求項３９】
通信インタフェース、表示手段、及びユーザ入力手段が、全てプレブートアップを操作するように構成される、請求項３８に記載のクライアント装置。
【請求項４０】
クライアント装置を操作する方法であって、
少なくとも１つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが少なくとも第２のクライアント装置へ転送されることを要求するステップと、
を含む方法。
【請求項４１】
更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項４０に記載の方法。
【請求項４２】
請求項４０又は４１に記載の方法をクライアント装置に実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項４３】
実質的に本明細書で説明及び例示されている、請求項１に記載のシステム。
【請求項４４】
実質的に本明細書で説明及び例示されている、請求項１８に記載の方法。
【請求項４５】
実質的に本明細書で説明及び例示されている、請求項２７に記載のアプリケーションサーバ。
【請求項４６】
実質的に本明細書で説明及び例示されている、請求項２８に記載のアプリケーションサーバを操作する方法。
【請求項４７】
実質的に本明細書で説明及び例示されている、請求項３８に記載のクライアント装置。
【請求項４８】
実質的に本明細書で説明及び例示されている、請求項４０に記載のクライアント装置を操作する方法。
【請求項４９】
実質的に本明細書で説明及び例示されている、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しいシステム、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しい方法、新しいアプリケーションサーバ、アプリケーションサーバを操作する新しい方法、新しいクライアント装置、又はクライアント装置を操作する新しい方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムに関する。本発明は、更に、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法、及びこの方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体に関する。本発明は、更に、アプリケーションサーバ、アプリケーションサーバを操作する方法、クライアント装置、及びクライアント装置を操作する方法に関する。
【０００２】
【発明の背景】
一般的に、デスクトップパーソナルコンピューティング装置は、マイクロプロセッサパフォーマンス及びメモリ容量の形式で十分なリソースを組み込んでいるが、それは複雑な多種のソフトウェアアプリケーションをリソースに実行させるためである。しかし、スペースとコストの制約から、小型の手のひらサイズ及び携帯装置は、それらの複雑なソフトウェアアプリケーションを実行するための十分なリソースを含んでいない。従って、多くの小型携帯装置は、正規のソフトウェアのカスタマイズされた希釈バージョンを有し、この希釈バージョンは、親製品の基本的機能をユーザに提供するにすぎない。更に、これらの希釈アプリケーションによって生成された文書その他は、デスクトップマシンに適したフォーマットへ変換される必要があり、同様に、デスクトップコンピュータの上で生成された文書を、携帯コンピュータの上で使用するには変換する必要がある。
【０００３】
【課題を解決するための手段】
本発明の目的は、これらの問題点の幾つかを少なくとも部分的に軽減することである。
【０００４】
本発明の１つの態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
通信ネットワークを介して少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示をエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため通信ネットワークへ接続された通信インタフェースを有し、ユーザインタフェース表示を表示する表示手段を有する第１のクライアント端末と、
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示を転送する転送手段と、を含む。
【０００５】
システムは、ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含んでもよく、その場合、表示エクスポート手段は、ユーザインタフェース表示の画像フォーマットをエクスポートするように構成されてもよく、クライアント端末の通信インタフェースは、ユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上で表示するように構成されてもよい。
【０００６】
システムは、従って、簡単なコンピューティング装置が、複雑なソフトウェアアプリケーションに典型的に必要なコンピューティングリソースを必要とすることなく複雑なソフトウェアを使用できるようにする。アプリケーションを走らせるのに必要なリソース要件は、アプリケーションサーバによって実現され、クライアント端末は単に表示端末として働く。
【０００７】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムが提供され、このシステムは、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
通信ネットワークを介してユーザインタフェース表示の画像フォーマットをエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第１のクライアント端末と、を含む。
【０００８】
システムは、少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段を含んでもよい。
【０００９】
システムは、従って、ユーザが、特定の手のひらサイズ又はデスクトップコンピューティング装置を介して、アプリケーションサーバの上で特定のアプリケーションの作業を開始することを可能にし、アプリケーションを中断することなく異なったコンピューティング装置の間で切り替える能力をユーザに提供する。従って、ユーザは、移動中に使用される手のひらサイズ装置と、特定の行き先で使用されるデスクトップマシンとを対話的に切り替えてもよい。
【００１０】
クライアント端末は、通信インタフェースへ接続されたユーザ入力手段を含んでもよい。ユーザ入力手段は、ユーザがソフトウェアアプリケーションの実行をアプリケーションサーバへ要求できるようにし、ユーザがユーザインタフェース表示の画像フォーマットを介して、ソフトウェアアプリケーションと対話できるようにする。前記対話は、通信インタフェースを介して容易にされる。
【００１１】
第１又は第２のクライアント端末のいずれかが、転送手段の動作を制御するように構成されてもよい。
【００１２】
その代わりに、又は追加的に、アプリケーションサーバが、転送手段の動作を制御するように構成されてもよい。
【００１３】
システムは、第１及び第２のクライアント端末の相対的位置を追跡する追跡手段を含んでもよく、その場合、転送手段は、第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される。
【００１４】
従って、移動中に、ユーザは、携帯コンピューティング装置を介して、アプリケーションサーバで利用可能なアプリケーションの作業を始めてもよく、追跡手段が、増大した表示又はインタフェース能力を有するコンピューティング装置へ接近してユーザが指定ロケーションに入ったことを検出すると、直ちにシステムは、アプリケーションのユーザインタフェース表示の画像フォーマットを、より強力なコンピューティング装置へ自動的にエクスポートしてもよい。
【００１５】
システムは、更に、第１のアプリケーションサーバから少なくとも第２のアプリケーションサーバへソフトウェアアプリケーションを転送するアプリケーション転送手段を含んでもよい。
【００１６】
追跡手段は、ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、第１及び第２のアプリケーションサーバに相対させて監視するように構成されてもよく、その場合、アプリケーション転送手段は、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第１のアプリケーションサーバから第２のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成されてもよい。
【００１７】
その又は各アプリケーションサーバは、クライアント端末へエクスポートする前に、その又は各ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含んでもよい。
【００１８】
アプリケーションサーバは、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含んでもよい。
【００１９】
処理手段は、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットと比較するコンパレータ手段を含んでもよく、またプロセッサ手段は、ユーザインタフェース表示の最も近似にエクスポートされた画像フォーマットとは異なったユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成されてもよい。
【００２０】
その又は各アプリケーションサーバは、その又は各クライアント端末へエクスポートする前にユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含んでもよい。従って、一度、プロセッサ手段が特定のユーザインタフェースを画像フォーマットへ変換すると、それは画像フォーマットをクライアント端末へ送る前に、それを記憶してもよい。
【００２１】
記憶手段は、ユーザデータを記憶するように構成されてもよい。従って、アプリケーション及びユーザデータは、アプリケーションサーバの上に記憶されてもよく、クライアント端末が破壊、喪失、又は損傷された場合にも失われないであろう。クライアント端末が破壊、喪失、又は損傷した場合、ユーザは、アプリケーションを中断することなく、又は情報を失うことなく、単純に他のクライアント端末へ移転する。
【００２２】
処理手段は、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成されてもよい。
【００２３】
典型的には、少なくとも１つのクライアント端末は、携帯又は手のひらサイズの装置である。
【００２４】
本発明の更なる態様によると、ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法が提供され、この方法は、
少なくとも第１のアプリケーションサーバの上で少なくとも１つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第１のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するするステップとを含む。
【００２５】
方法は、更に、
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップとを含んでもよい。
【００２６】
方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的距離に基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【００２７】
その代わりに、又は追加的に、方法は、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的データ転送レートに基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップとを含んでもよい。
【００２８】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１又は第２のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップとを含んでもよい。
【００２９】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートするステップとを含んでもよい。
【００３０】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【００３１】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップとを含んでもよい。
【００３２】
本発明の他の態様によると、ソフトウェアアプリケーションのユーザインタフェースを制御する方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【００３３】
更に、本発明の他の態様によると、アプリケーションサーバが提供され、このアプリケーションサーバは、
少なくとも１つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも１つのソフトウェアアプリケーションを実行し、少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも第１のクライアント端末へエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを、少なくとも１つの更なるクライアント端末へ転送する転送手段と、を含む。
【００３４】
本発明の更なる態様によると、アプリケーションサーバを操作する方法が提供され、この方法は、
通信ネットワークを介してアプリケーションサーバへ接続された第１のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも１つのソフトウェアアプリケーションを実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、通信ネットワークを介して、ユーザインタフェース表示の画像フォーマットを第１のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを選択的に転送するステップとを含む。
【００３５】
方法は、クライアント端末のいずれかから要求されたとき、第１のクライアント端末から第２のクライアント端末へ、ユーザインタフェース表示の画像フォーマットを転送するステップを含んでもよい。
【００３６】
方法は、
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近、及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含んでもよい。
【００３７】
方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的距離に基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【００３８】
その代わりに、又は追加的に、方法は、更に、
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含んでもよい。
【００３９】
方法は、更に、
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１又は第２のクライアント端末へ将来エクスポートするため、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【００４０】
方法は、更に、
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ソフトウェアアプリケーションの前のユーザインタフェース表示と比較し、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングし、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートする、ことを含んでもよい。
【００４１】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含んでもよい。
【００４２】
方法は、ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含んでもよい。
【００４３】
本発明の他の態様によると、方法に従ってコンピュータを操作するコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【００４４】
本発明の更なる態様によると、クライアント装置が提供され、この装置は、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも１つのソフトウェアアプリケーションの実行をアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
通信インタフェースを介してアプリケーションサーバによってクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが、少なくとも第２のクライアント装置へ転送されることを要求する転送要求手段と、を含む。
【００４５】
通信インタフェース、表示手段、及びユーザ入力手段は、全てプレブートアップ（ｐｒｅ−ｂｏｏｔ　ｕｐ）で、即ちオペレーティングシステムがメモリの中へロードされる前に動作するように構成されてもよい。従って、ユーザは、コンピューティング装置をオンにし、新しいクライアントのブートアップを待つ必要なしに、１つのクライアントから新しいクライアントへソフトウェアアプリケーションのユーザインタフェース表示を自動的に転送してもよい。それによって時間が節約される。
【００４６】
本発明の更なる態様によると、クライアント端末を操作する方法が提供され、この方法は、
少なくとも１つのソフトウェアアプリケーションを実行することをアプリケーションサーバに要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが、少なくとも第２のクライアント装置へ転送されることを要求するステップを含む。
【００４７】
方法は、更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含んでもよい。
【００４８】
本発明の他の態様によると、方法に従ってクライアント装置を操作させるコンピュータ読み取り可能コードを搬送するキャリア媒体が提供される。
【００４９】
【発明の実施の形態】
以下、例を使用し、添付の図面を参照して本発明を説明する。
【００５０】
図面を参照すると、参照番号１０は、本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムを概略的に示す。システム１０は、多数のクライアント装置又はクライアント１２、例えばＰＤＡ（パーソナルディジタルアシスタント）、デスクトップコンピュータなどを含む。各クライアント１２は、本発明に従ったソフトウェアプログラムを走らせる。このソフトウェアプログラムは、参照番号１３に示されるように、ユーザが、本発明に従ったアプリケーションサーバ１４へ、特定のソフトウェアアプリケーションの実行を要求することを可能にする。これらのソフトウェアアプリケーションは、アプリケーションサーバ１４の記憶手段１６に記憶される。次に、アプリケーションサーバ１４は、要求されたソフトウェアアプリケーションを実行し、ソフトウェアアプリケーションのユーザインタフェース表示を画像フォーマットへ変換し、参照番号１７に示されるようにユーザインタフェース表示の画像フォーマットを要求クライアント１２へ送信する。次に、クライアント１２は、ユーザインタフェース表示の画像フォーマットを表示する。次に、クライアント装置１２のユーザは、クライアント１２によって提供されたユーザ入力手段を介して、アプリケーションサーバ１４の上で走っているソフトウェアアプリケーションと対話してもよい。従って、ユーザがクライアント装置１２へ入力するコマンドは、サーバ１４へ送られ（１３）、サーバ１４は、命令を解釈し、ソフトウェアアプリケーションユーザインタフェースを更新し、ユーザインタフェースの画像フォーマットを再レンダリングし、更新された画像をクライアント１２へ送る（１７）。更に、システム１０は、ソフトウェアアプリケーションの実行を中断することなく、ユーザインタフェースの画像フォーマットを、１つのクライアント１２．２から他のクライアント１２．３へ転送してもよい。これは転送に関与しているクライアント１２．２及び１２．３のいずれかの要求によって、又はサーバ１４．１の要求によって、対話的に行なわれてもよい。
【００５１】
更に、システム１０は、ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを自動的に転送することも可能である。この場合、もしシステム１０が、ワイヤレス通信リンク２０を介して、より良好な表示能力を有するクライアント１２．３に近い指定区域１８へクライアント１２．２が入ったことを検出するならば、システム１０は、クライアント１２．２からクライアント１２．３へ表示を自動的に転送してもよい。
【００５２】
こうして、クライアント１２のユーザは、アプリケーションサーバ１４から離れて、ソフトウェアアプリケーションを実行し、異なったクライアント１２の間を移動しながら、そのアプリケーションを他のクライアント１２へ転送することができる。これは、２つのクライアント、即ち１２．２及び１２．３が相互に近づいたことをシステム１０が検出したとき、ユーザの要求に従って、又は自動的に行なわれてもよい。理解すべきは、クライアントが、サーバ１４．１と通信して情報を表示することができる任意の電子装置であってもよいことである。
【００５３】
更に、２つのクライアント装置１２．２及び１２．３は、相互及びサーバ１４との間で制御の転送を通知するように構成される。表示及び入力能力の変化の通知は、自動的に起こるか（例えば、ワイヤレスネットワークを介して）、ユーザによってイニシエートされてもよい。
【００５４】
従って、もしユーザがモバイル装置、例えばＰＤＡでワールドワイドウェブをブラウズしており、より優れた画面表示及びユーザ入力能力を有するＰＣ又はＰＣ類似のワークステーションを有するオフィスに到着したならば、そのユーザのモバイルセッションは、このワークステーションへ自動的に転送されるであろう。更に、前述したように、ユーザが手作業で転送を要求又はイニシエートすることも可能である。同様に、ユーザがオフィスを離れるとき、ユーザは、データを失うことなく、又はソフトウェアアプリケーションの実行又はインターネット接続と干渉することなく、実行していたブラウジングセッション又はアプリケーションインタフェースをＰＤＡへ戻すことができる。
【００５５】
クライアント１２とサーバ１４との間の通信及びデータ伝送は、データ伝送に使用される媒体から独立して、多様なデータ通信プロトコル又はインタフェースによって制御される。
【００５６】
図２は、アプリケーションサーバ１４の上で走っている本発明に従ったコンピュータプログラムのフローチャートである。図２は、プログラムの１つのスレッドが、ネットワークのクライアント１２を介してアプリケーションサーバ１４と対話しているユーザからの入力に応答して実行するメインタスクを示す。クライアント装置１２を操作しているソフトウェアアプリケーションを示す簡単なフローチャートが、図４に示される。
【００５７】
図２及び図４を参照すると、アプリケーションサーバ１４の上で走っているプログラムの単一スレッドの間に、イベントの次のシーケンスが起こる。スレッドは、ブロック２６に示されるように、ユーザからの入力を待つことによって始まる。この入力は、典型的には、クライアント１２のユーザからのコマンド又は命令に応答して、クライアント１２によってサーバ１４へ送られる。典型的なユーザ入力の例は、新しいウェブページの要求、マウスのクリック、タッチスクリーンへのスタイラスタッチ、又はキーボード入力であってもよい。これらのユーザ入力は、４４で解釈され、４６に示されるように、クライアント１２からサーバ１４へ通信ネットワークを介して送られる。
【００５８】
次に、サーバ１４は、ブロック２８に示されるように、ユーザ入力が特別のコマンドであるかどうかを決定する。もし特別のコマンドであれば、サーバ１４は、ブロック３０に示されるように、ユーザコマンドを処理する。ユーザコマンドの例は、新しいウェブページを検索すること、アプリケーションから出ること、又は他のクライアント装置１２へ表示及び入力オプションを転送することである。説明を簡単にするため、この例で示されるコマンドフローは、「新しいウェブページのゲット」コマンドだけである。従って、説明目的のために、システム１０が、アプリケーションサーバ１４を介してクライアント１２の上でインターネットをサーフィングするために使用されている例が示される。コマンドは３２で処理され、要求された新しいページがアプリケーションサーバ１４によってダウンロードされる。これは、インターネットから適切なウェブページを要求し、ウェブページに含まれるＨＴＭＬ又は他のスクリプト言語コマンドを解釈して、ウェブページを生成することを含む。
【００５９】
もしユーザが特別のコマンドを入力しなかったのであれば、クライアント１２は、ユーザイベントをサーバ１４へ送っている。ユーザイベントは、通常、マウスの移動とクリック、又はキーボードのキーストロークの形式をしたユーザ入力である。これらは、３４で処理され、新しいページが同じように生成される。
【００６０】
次に、新しいページ又はユーザインタフェース表示が３６でレンダリングされる。このステップは、３２又は３４で生成された新しいページを、画面ビュー又はユーザインタフェース表示の画像フォーマットへ変換する。次に、ユーザインタフェース表示の画像フォーマットは、ブロック３８に示されるように、ネットワークを介してクライアント１２へ送られる。クライアント１２は、４０で画像を受け取り、４２に示されるように画像を表示する。もしユーザインタフェース表示の画像フォーマットが圧縮されていれば、クライアント１２は、４２でユーザインタフェース表示の画像フォーマットを解凍する。従って、クライアント１２のユーザは、クライアントマシン１２が複雑なページレイアウトを解釈又はレンダリングする必要なしに、インターネットコンテンツを表示及び対話してもよい。これらのタスクはアプリケーションサーバ１４へ任されている。
【００６１】
更に、クライアント１２のユーザは、サーバ１４の上で他のプロセッサ集中ソフトウェアアプリケーションを走らせてもよい。クライアント１２は、そのようなプロセッサ集中ソフトウェアアプリケーションを実行する必要はない。アプリケーションサーバ１４は、実際に、これらのプログラムを走らせるか実行し、そのようなソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットの形式で、画像をクライアント１２へ送る。クライアント１２は、ユーザインタフェース表示の画像フォーマットと対話する能力、及び処理する命令をサーバ１４へ戻す能力をユーザに提供し、アプリケーション自身を走らせるか処理する必要はない。
【００６２】
サーバ１４で走っているコンピュータプログラムの詳細なフローチャートが、図３に示される。このフローチャートは、キャッシュマネージャ及び画像調整ユニットが含まれていることを除いて、図２のフローチャートと同じである。キャッシュマネージャの追加によって、複雑性の大部分が図４へ導入される。画像調整ユニットは図４の単一ブロックによって表され、この画像調整ブロックの詳細は図５に示される。
【００６３】
キャッシュマネージャは２つの主な機能を有する。第１の機能は、クライアント１２のユーザが、ソフトウェアアプリケーションのどのページ、又はベージ部分、又はユーザインタフェース部分を将来要求するであろうかを予測することであり、それらが要求されたとき、そのようなページの画像フォーマットをクライアント１２のために準備することである。これは、クライアント１２の受容速度を完全する。従って、サーバ１４から離れてクライアント１２で走っているアプリケーションがインターネットウェブブラウザである場合、キャッシュマネージャは、現在のページ上でインターネットリンクに関連づけられたページをダウンロード及びレンダリングするように構成される。実行されるアプリケーションがワードプロセッサ又は他のアプリケーションである場合、キャッシュマネージャは、作業している文書の後続のページを記憶するように構成される。キャッシュマネージャの第２の機能は、自立的操作の間に現れる。その場合、キャッシュマネージャはウェブサイトの全体をダウンロードし、これらのページを画像へレンダリングし、これらの画像をディスクへ記憶するか、後で使用するためネットワークを介してクライアント１２へ送るために使用される。
【００６４】
図３に示されるように、サーバスレッドは、４８のユーザ入力の要求、又はキャッシュマネージャ７０へ送られているページ要求のリスト７２によってイニシエートされることができる。もし入力がユーザからの入力であれば、サーバ１４は、５０で、入力が特別のコマンドであるかどうかを決定する。特別のコマンドである場合、サーバ１４は５２でコマンドを処理する。コマンドの処理は、ユーザのためにアプリケーションを走らせることを含んでもよい。コマンドは、更に、後で説明するようにクライアント１２を切り替えるコマンドであってもよい。もしユーザ入力がコマンドでなければ、入力はユーザイベントである。このイベントは５４で処理される。いずれの場合でも、結果は、ユーザ入力によって修正された新しいページ又は同じページの新しいビューに基づくクライアント１２による新しい画像の要求であろう。ソフトウェアは、５６で、この特定のビューを既にレンダリングしたかどうかを決定する。もしレンダリングしたのであれば、ソフトウェアはステップ６４へ進む。
【００６５】
もしソフトウェアがページのビューを既にレンダリングしたのでなければ、サーバ１４は、必要であればページをインターネットから検索し、又は５８に示されるように、単純にユーザ入力をページへ送る。ページが５８からの入力の更新及び処理を終了したとき、サーバ１４は、６０でページのビューをレンダリングする。従って、ページは純粋な画像フォーマットへ変換される。次に、この画像は将来の使用のためにキャッシュ６２の中に記憶される。
【００６６】
次に、ソフトウェアは、６４で、ページをユーザへ送るか否かを決定する。この決定は、レンダリングされたばかりのページをユーザが要求したかどうか、又はキャッシュマネージャ７０がページを要求したかどうかに基づく。もしキャッシュマネージャ７０が、ユーザの次のページ要求の予測に基づいてページを要求したのであれば、ページは局所的に記憶されるか、クライアントがキャッシュ能力を有する場合に、クライアント１２へ送られてもよい。
【００６７】
もしキャッシュマネージャ７０がダウンロードページ要求７２からページを要求したのであれば、ページはクライアント１２へ即時に送られることはなく、ディスクに記憶されて残されるか、オフサイト記憶のためにネットワークを介して送られる。これらのページは、記憶能力を有するクライアント装置１２へ後で送られてもよい。従って、クライアント１２のユーザは、フルデュプレックスリンクを介してサーバ１４へ接続されることを必要としないでクライアント１２を使用し、オフラインのブラウジングを実行してもよい。
【００６８】
もしサーバが、６４で、画像をユーザへ送ることを決定するならば、サーバは、６６で、伝送前に画像を調整する。６６で実行されるステップは、後で図５を参照して詳細に説明される。もしキャッシュマネージャがダウンロードページ要求７２からページを要求したのであれば、図５で実行される画像調整ステップは、代わりに６０で実行される。この分離は、キャッシングアルゴリズムの有効性を最大にする。一度、画像の調整が完了すると、画像は６８でクライアントへ送られる。６８は、図２のブロック３８と同じタスクを実行する。
【００６９】
次に、キャッシュマネージャ７０は、ユーザが欲する次のページ画像が何であるかを予測するか、もしキャッシュマネージャ７０が全体のウェブサイトをダウンロードしているのであれば、それは、リンクの要求されたリストに基づいてページの次のページ又はビューをダウンロードする。双方の場合、キャッシュマネージャ７０は、ページを検索してステップ５８へ戻る。
【００７０】
更に、ソフトウェアは、４８のユーザ入力がフローチャートの任意の部分で起こってもよいように構成されることに注意する必要がある。その場合、現在のプロセスは中断され、サーバスレッドはステップ４８へ進むように強制される。
【００７１】
図５は画像調整モジュールを示す。画像調整モジュールは、クライアント１２へ送られる画像のサイズを縮小する。画像サイズの縮小によって、画像が迅速に転送される結果となり、従って、同じ時間内に多くの画像を送ることができる。更に、モジュールは、画像の上で画像処理を実行して、クライアント１２の表示パラメータへ画像をマッチさせる。
【００７２】
ステップ７４において、クライアント１２へ現在送られようとしているユーザインタフェース表示の現在の画像フォーマットが、クライアント１２へ最も近時に送られたユーザインタフェース表示の前の画像フォーマットと比較される。このステップは、２つの画像の間の差異を発見する。もし画像の間の差異が小さければ、即ち、例えば、画面の小さな矩形部分が変更されたのであれば、矩形が画面上のどこに置かれるべきかの指示と共に、その矩形のディテールのみがクライアント１２へ送られる。このステップは、ステップ７６及び７８の後で実行されてもよい。
【００７３】
ステップ７６において、画像のサイズは、クライアント１２の画面へ当てはまるように変更される。もしクライアント１２が、実際の画像サイズよりもピクセル数が多いバーチャルウィンドウのスクロールをサポートするのであれば、このステップは、バーチャルウィンドウサイズへ画像をスケーリングすることができる。更に、このステップは、ページ上のフォント、テーブル、及びグラフィックスをインテリジェントにスケーリングして、クライアント１２のディスプレイの上で表示されたとき、ページが視覚的に読みやすく美的になるようにしてもよい。更に、７８で、同様のインテリジェントな調整が画像のカラー数に対して行われる。なぜなら、クライアント１２のディスプレイは、サーバ１４、又はクライアント１２の間の転送又はハンドオーバの場合に前のクライアント１２と同じ数のカラーを表示できないかも知れないからである。カラーの数は、典型的には、ディザリングアルゴリズムを使用して縮小される。
【００７４】
次に、ステップ７４、７６、及び７８から生じた画像は、ブロック８０に示されるように、標準の画像圧縮アルゴリズム、例えば、ジョイントフォトグラフィックエキスパートグループ（ＪＰＥＧ）又はポータブルネットワークグラフィック（ＰＮＧ）フォーマットで指定されるアルゴリズムを使用して圧縮される。これは、画像サイズの更なる縮小を生じる。
【００７５】
これまで説明されたサーバ１４の実行ステップは、典型的には、多数の並列実行スレッドとして実行される。これによって、単一のサーバ１４が、多くのクライアント１２へ同時にサービスすることができる。
【００７６】
更に、システム１０は、ユーザが、オンザフライで、即ち、サーバ１４から離れたクライアント１２によって実行されているソフトウェアアプリケーションの操作又は実行を中断することなく、クライアント１２を変更することを可能にする。ユーザは、作業を失うことなく、又はマシンを再スタートすることなく、１つのクライアント装置、例えば１２．２を他の１２．３へ切り替えることができる。ユーザインタフェース表示の画像フォーマットを転送又はリダイレクトするコマンドは、クライアント１２．２、１２．３、サーバ１４、又はネットワーク上の他のマシンから来てもよい。このコマンドは、現在のクライアント１２．２からクライアント１２．３へ表示及びユーザ入力をリダイレクトするようにサーバ１４へ命じる。クライアント１２．２及び１２．３も、このコマンドを通知される。従って、クライアント１２及びサーバ１４が、適切な資格証明なしにサーバ１４又はクライアント１２によって転送されないようにするため、セキュリティ及び認証プロセスが使用される。
【００７７】
この転送又はリダイレクトコマンドは、制御を他のクライアント１２．３へ転送することをクライアント１２．２へ命令するクライアント装置１２．２のユーザによって発行されるか、他のクライアント１２．２の上で現在表示されているユーザインタフェースの制御を取るようにクライアント１２．３へ要求することによって発行されてもよい。リダイレクトコマンドは、自動的に発行されてもよい。この場合、ユーザは、ローミングし、ソフトウェアアプリケーションの画像フォーマットを、最良の利用可能なクライアント１２へ転送させてもよい。図示された実施形態において、システム１０は、クライアント１２とサーバ１４との間のワイヤレス通信リンクを介してクライアント１２の間の接近を監視し、接近及び各々のクライアント１２の相対的能力に基づいて、クライアント１２の間でユーザインタフェースの画像フォーマットを自動的に転送する。
【００７８】
更に、システム１０は、１つのサーバ１４．１から他のサーバ１４．２へアプリケーションを転送又はリダイレクトさせるように構成される。従って、ユーザによって実行されているアプリケーションは、異なったアプリケーションサーバ１４．１と１４．２との間で切り替えられてもよい。これは、手動又は自動的に行われることができ、関係する認証及びリダイレクトコマンドは、クライアント１２の切り替えの場合と同じである。
【００７９】
多数のサーバ、例えば、サーバ１４．１及び１４．２が利用可能である環境では、クライアント１２が１つのサーバ１４．１から他のサーバ１４．２へ転送されることを、クライアント１２又はサーバ１４が要求することができる。これは、更に、コマンドとして、通常のコマンドループでサーバ１４によって単純に処理される。サーバ１４．１がコマンドを受け取るとき、それは、図１のクライアント１２．４へ新しいサーバ１４．２の詳細を通知し、クライアント１２．４のために構造及びデータを保存し、それらを他のサーバ１４．２へ送る。次に、新しいサーバ１４．２は、クライアント１２．４のために構造及びデータをロードして操作を継続する。こうして、クライアント１２によって実行されているソフトウェアアプリケーションは、クライアントの見地からはアプリケーションの動作と干渉することなく、サーバ１４．１及び１４．２の間で切り替えられる。
【００８０】
本発明の更なる特徴は、本発明のアプリケーションの多数の例を以下で説明する過程で明らかになるであろう。
【００８１】
ＰＤＡ（パーソナルディジタルアシスタント）は、典型的には、小さな手のひらサイズのバッテリー駆動コンピュータである。現在の例は、３Ｃｏｍ（商標）社によって製造されたポピュラーなＰａｌｍＰｉｌｏｔ（商標）シリーズ、及びＣａｓｉｏ（商標）、Ｃａｓｓｉｏｐｅｉａ（商標）並びにＨｅｗｌｅｔｔ　Ｐａｃｋａｒｄ（商標）、Ｊｏｕｒｎａｄａ（商標）のような、様々なＷｉｎｄｏｗｓ（商標）、ＣＥ（商標）（現在ではＰｏｃｋｅｔＰＣ（商標）として知られる）互換装置である。
【００８２】
これらの装置は、典型的には、ユーザが画面上でスタイラスをタップすることによって、ユーザから入力を受け取る。更に、大部分の装置は、テキストの入力を可能にする手書き認識ソフトウェアを有する。画面区域は、典型的には、ＰａｌｍＰｉｌｏｔ（商標）ファミリーの装置で１６０×１６０ピクセル、Ｗｉｎｄｏｗｓ（商標）、ＣＥ（商標）ファミリーで３２０×２４０ピクセルの範囲である。ピクセル当たりのカラーの数は、８つのグレー濃淡から約２１６色までの範囲である。ＰＤＡは、標準のモデム、直接接続、イーサネット、又はワイヤレスモデムを使用して、他のコンピュータへ接続することができる。
【００８３】
これに関連して、ワイヤレスモデムを介してサーバ１４と接続するＰＤＡのユーザは、クライアントアプリケーションを実行するであろう。次に、サーバ１４は、ユーザを認証し、デフォルトページをユーザに送るか、ウエルカムページを送る。次に、ユーザは、表示させたいページをウェブ上で選択する。次に、ＰＤＡはこのページ要求をサーバ１４へ送る。サーバ１４は、このページをインターネット又はサーバ１４のキャッシュから検索する。次に、サーバ１４は、このページを特定のＰＤＡに適した画像フォーマットへ変換し、ユーザインタフェース表示の画像フォーマットはＰＤＡへ送られるであろう。ＰＤＡはそれを画面上に表示する。この変換に関連する更なる詳細は、以下で説明される。
【００８４】
送信に先立ってＰＤＡのためにウェブページをフォーマット又は調整するため、２種類の主なステップがサーバ１４によって取られる。これらのステップは、ページレイアウトの前処理及びピクセルベースの画像処理である。
【００８５】
ウェブページが画像フォーマットへレンダリングされる前に、ページは前処理を施されてもよい。従って、多数の前処理ルーチンが実行される。
【００８６】
最初に、ページの外見を変更して、フォント、画像、テーブル、ボタン、及びフレームを正しくスケーリングするため、スタイルシートが使用される。例えば、ＰＤＡの画面は、典型的にサーバ１４の画面よりも小さいため、フォントのピッチサイズが増加される。
【００８７】
２番目に、ページの外見をフォーマットするため、Ｊａｖａスクリプト、Ｊａｖａアプレット、ＤＨＴＭＬ、ＡｃｔｉｖｅＸコンテンツ、及び他のスクリプト命令がサーバ側で実行されてもよい。
【００８８】
更に、或る要素が全く除去されるか、より高いレベルのページへ置かれてもよい。従って、例えば、フレームベースのページが多数のページへ分割されてもよい。各々のフレームのために別々のページを作ることができる。例えば、もしコンテンツが、左側にフレームを有するウェブページであり、このフレームがサイト上のページをユーザに検索させるインデックスとして働くならば、このページは、より高いレベルのページとして使用されるであろう。この高レベルページの上のリンクをクリックすると、ＰＤＡは、完全に新しいページを開くであろう。ユーザは、インデックスページへ戻るために「バック」ボタンを使用するであろう。
【００８９】
更に、アニメーション画像（例えば、バナー広告）は、静的画像へ変えることができる。更に、バックグラウンドグラフィックスを除去し、他の画像及びボタンを再スケーリングすることができる。
【００９０】
前処理に続く画像処理ステップは、ウェブページを画像へ変換する結果となる。どの程度のことがこのステップで起こるかは、図５を参照して説明したように、送られた最後のページと比較して、ページ上でどの程度の変更が生じたかによって決定される。
【００９１】
もしユーザが、画面の小さな区域のみを変更するアクション、例えば、ドロップダウンメニューボックスをプルダウンするアクションを実行したのであれば、変化した画面区域、この場合、ドロップダウンメニューのみが、画像へ変換され、ネットワークを介して送られる。従って、連続するページの差のみがクライアント１２へ送信され、それによって、帯域幅の要件が軽減される。もしユーザが、完全に新しいページを生じるアクションを実行したのであれば、全体のページがクライアント１２へ送られる。次に、図５に示されるように、ページはスケーリングされ、カラーが減らされ、圧縮される。
【００９２】
１６０×１６０ピクセルのディスプレイを有するＰａｌｍＰｉｌｏｔ（商標）ＰＤＡが使用され、各々のピクセルに１６のグレー濃淡がある例では、次のことが起こるであろう。第１に、現在の画像と、クライアント１２へ送られた前の画像との間の差が、前述したように決定される。もし小さな変化のみが生じたのであれば、これらの小さな変化のみを含む画像が送信のために作成される。この画像は、ドロップダウンメニューボックスの場合と同じように、全体の画像区域の中の小さな部分であるかも知れない。第２に、画像で使用されるカラーの数は、ウェブ画像で典型的に使用されるピクセル当たりの２４ビット（赤、緑、青の各々に８ビット）から１６のグレー濃淡（ピクセル当たり４ビット）へ縮小される。このステップで、結果の画像が眼に美的快感を与えることを確実にするため、画像ディザリングと強調アルゴリズムが使用される。次に、画像は、元のサイズから、使用可能な１６０×１６０ピクセルへスケーリングされる。再び、画像ディザリング、ポスタライズ、強調アルゴリズムが使用され、画像の品質が受容可能に維持される。次に、画像は、画像圧縮アルゴリズムを使用して圧縮される。次に、この圧縮及びフォーマットされた画像は、ネットワークを介してクライアント１２のＰＤＡへ送られる。
【００９３】
前記の画像を受け取ったとき、ＰＤＡ又はクライアント１２は、画像を解凍して表示するであろう。ＰＤＡは、画像を表示する前に画像の全体が到着するのを待つように構成されるか、データが到着するにつれて画像をラインごと又は領域ごとに構築してもよい。次に、ＰＤＡは、ユーザの命令、例えば、リンク上のクリック、データの入力、ページスクロール、又は他のユーザアクションを待つ。
【００９４】
もしこれらのアクションが新しいページの要求、又はＰＤＡ画面上で現在表示されている画像の更新を生じるならば、前述したように、これらのコマンドはサーバ１４へ送られ、新しいページがレンダリングされてＰＤＡへ送られる。
【００９５】
更に、前記の例でキャッシュマネージャが考慮されてもよい。キャッシュは２つの物理位置に記憶される。サーバ１４上のキャッシュは、そこを通過する全てのページ及び画像を記憶し、ＰＤＡ装置又はクライアント１２上のずっと小さな画像キャッシュは、制限された数の画像を記憶することができる。
【００９６】
ＰＤＡのユーザが、要求されているページの異なったビューを生じるアクションを実行したとき、ＰＤＡは、先ず、このページを表す画像をローカルメモリの中に有するかどうかをチェックする。もし有するならば、ＰＤＡはそれを表示する。これは、典型的には、ＰＤＡがページＡを表示しており、ユーザがページＢへ進み、ブラウザの上のバックボタンを押してページＡへ戻るときに起こる。その場合、ＰＤＡキャッシュは、ページＡをサーバ１４から検索する代わりに、それを即時に再ロードするであろう。
【００９７】
ＰＤＡのユーザがページを表示している間、サーバ１４は他のページ画像をＰＤＡへスプールすることができる。これらのページ画像は、ユーザが次に何をするかの予測に基づいている。そのような予測の１つの例は、ユーザがページダウンキーを押すことであってもよい。これは現在のページの下にあるページのビューがＰＤＡへストリームされる結果を生じる。他の例は、現在のページの上の最初のリンクをたどり、このリンクの画像をＰＤＡのキャッシュへストリームするか、それをローカルで記憶することである。
【００９８】
キャッシュマネージャの主な目的は、できるだけ早くユーザの次のウェブページを利用可能にし、それによって、到着するページの待ち時間を最小にすることである。
【００９９】
システム１０の能力の更なる例は、プレブートアップ（ｐｒｅ−ｂｏｏｔ　ｕｐ）ウェブブラウジング又は操作及びシン（ｔｈｉｎ）クライアントウェブブラウジングとの関連で説明される。プレブートアップウェブブラウジングは、オペレーティングシステムがロードされる前の段階で、通常のＰＣ（パーソナルコンピュータ）がオンにされた後、直ちにＰＣ上でウェブをブラウズすることを含む。シンクライアントウェブブラウジングは、最小のハードウェア及び制限されたオペレーティングシステムを有する「シン」ＰＣ型装置の上でウェブをブラウズすることを含む。
【０１００】
双方の場合、典型的なＰＣプラットフォーム上でオペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ（商標）９５）及びウェブブラウザプログラム（例えば、Ｉｎｔｅｒｎｅｔ　Ｅｘｐｌｏｒｅｒ（商標））によって提供される機能の多くが、サーバ１４によって提供される。プレブートアップ操作の場合、クライアント１２は、ネットワーキングソフトウェア、マウス及びカーソルサポートソフトウェア、及び画像ソフトウェアを提供する。この構成における典型的なハードウェアは、ネットワークカード又はモデムによって提供されるネットワーク接続を有する標準のＰＣを含む。
【０１０１】
そのような装置の操作は、前述したＰＤＡの操作と同じであるが、相違は、ネットワークトランスポートがＰＤＡよりも早いことである。それによって、より大きなページを送ることができ、典型的に、標準ＰＣクライアント１２の上で利用可能な大型メモリへ多くのページをキャッシュすることができる。更に、利用可能なスクリーン解像度及びカラー深度がＰＤＡよりも非常に良好であり、必要なサイズ変更及びディザリングが少なくなる。
【０１０２】
従って、ユーザは、ＰＣのスタートアップ及びオペレーティングシステムのロードを待つオーバヘッドなしに、ウェブをブラウズすることができる。ＰＣがパワーアップし、ネットワークが活動化された瞬間に、クライアント１２はウェブをブラウズするように使用されることができる。
【０１０３】
もしユーザが、ウェブブラウザ以外の或る他のソフトウェアアプリケーション、例えば、ワードプロセッサ、スプレッドシート、データベース、ｅメール、又はスケジューリングプログラムを走らせているならば、プレブートアップ操作によって、ユーザは、クライアント１２をオンにし、ユーザのアプリケーション、デスクトップ、及びデータを殆ど即時に回復させることができる。なぜなら、データ及び状態変数の全てはサーバ１４に記憶されているからである。ユーザは、更に、データ損失を心配する必要なしに、望むときはいつでも、装置をオフにすることができる。更に、データのセキュリティ及び記憶は、サーバ１４によって中央で処理され、ユーザはウィルス又はデータバックアップについて心配する必要はない。ユーザは、こうして、ローミングすることができ、どのような装置１２へログインしたとしても、同じデスクトップ及びアプリケーションを有する。更に、もしクライアント装置１２．３が故障すれば、ユーザは他のクライアント装置１２．２からサーバ１４へログインして、サポートチームがクライアント装置１２．３を修理するのを待ちながら、作業を続けることができる。
【０１０４】
シンクライアントブラウジングの場合、クライアント１２は、典型的には、大型記憶装置（典型的には、ハードディスクドライブ）、高帯域幅ダウンリンク（典型的には、衛星受信器）、ページを表示するためのテレビセット、小型プロセッサ、及びＴＶディスプレイカードを含む。
【０１０５】
ユーザは、興味を有するウェブサイト又はその一部分を指定する。サーバ１４は、これらのページをテレビ上で見るのに適した画像へ変換する。これらの画像は、サーバ１４からクライアント１２へ高帯域幅リンクを介してスプールダウンされ、ページへのインデックスと一緒にクライアントのハードディスクへ記憶される。
【０１０６】
ユーザが望むとき、ユーザは非常な高速でページをブラウズすることができる。なぜなら、ページはクライアント１２にローカルで記憶され、ダウンロードされる必要はないからである。もしユーザが望むならば、ユーザはＩＳＰへダイアルアップして、ページと対話することができる。しかし、もしユーザがページを見ることだけを望むならば、これは必要でない。
【０１０７】
サーバ１４は、その広告画像を画像の中に挿入した後に、クライアント１２へそれらをスプールダウンしてもよい。このサービスは数千のウェブページへの超高速アクセスを提供する。
【０１０８】
これから、システム１０のリダイレクト又は転送能力の例を説明する。ユーザが通勤の途上にあるとき、ユーザはＰＤＡであるクライアント１２．２の上で作業し、前述したようにインターネット又はサーバ１４上のアプリケーションへ接続している。
【０１０９】
ユーザがオフィスに到着したとき、ユーザはＰＣであるクライアント１２．３へ表示及び入力を切り替えることができる。これは、自動的に行なうか、ユーザインタフェース表示を転送又はリダイレクトすることをＰＤＡ１２．２又はＰＣ１２．３に命令することによって、ユーザからイニシエートされてもよい。
【０１１０】
転送は、ＰＣ１２．３とＰＤＡ１２．２との間でのみ起こる必要はない。１つのＰＣと他のＰＣとの間、ＰＣ１２．３と携帯電話との間、携帯電話とＰＤＡ１２．２との間、又は他の任意の２つのコンピューティング装置の間で制御を転送することも可能である。更に、ＰＣ１２．３は、Ｗｉｎｄｏｗｓ（商標）又はＵｎｉｘ（商標）を走らせているデスクトップ型ワークステーションであるか、ダム端末、又は他のデスクトップＰＣ類似装置であってもよい。
【０１１１】
ユーザは、元のクライアント（この場合、ＰＤＡ１２．２）から切り替え又は転送をイニシエートすることができるか、元のクライアント１２．２から引き継ぐことを新しいクライアント（この場合、ＰＣ１２．３）に命令することができる。
【０１１２】
ユーザが、ＰＣディスプレイ１２．３へ切り替えて制御を入力することをＰＤＡ１２．２へ命令する場合、ユーザは、ＰＤＡ１２．２の上でメニューオプションを選択する。ＰＤＡ１２．２は、コマンドをサーバ１４．１へ送り、表示及び入力サービスをユーザのデスクトップＰＣ１２．３へ切り替えることをサーバ１４．１へ命令する。次に、サーバ１４．１は、デスクトップＰＣ１２．３が利用可能であるかどうかをチェックし、ＰＣ１２．３からハードウェア情報、例えば、画面サイズ、利用可能な入力装置、及びネットワーク能力を検索するように構成される。サーバ１４．１は、更に、ＰＣ１２．３及びクライアント１２．２上のユーザを認証し、ユーザがＰＣ１２．３の使用を許されているかどうか、及びＰＤＡ１２．２が制御の転送を許されているかどうかをチェックする。転送の間、もし必要であれば、サーバ１４．１は、ＰＣへの早い接続を有する他のサーバ１４．２へ制御を譲渡してもよい。
【０１１３】
ユーザは、ＰＣ１２．３を介して、ＰＤＡ１２．２からＰＣ１２．３への転送をイニシエートしてもよい。これは、ＰＣ１２．３から、サーバ１４．１又はＰＤＡ１２．２へコマンドを送ることによって行なわれる。このコマンドは、制御をＰＣ１２．３へ転送するであろう。前述したコマンドフローと類似のコマンドフローが起こるであろう。
【０１１４】
こうして、ユーザは、ＰＤＡ１２．２からＰＣ１２．３へ作業環境を殆ど即時に転送し、中断することなく同じデータの作業又は同じウェブページの表示を継続することができる。ユーザが作業しているデータ、及びアプリケーション自身は、サーバ１４の上で実行及び記憶される。従って、ユーザは、データのバックアップ又はデータ損失の予防について心配する必要はない。なぜなら、これらは全てサーバ１４によって処理されるからである。
【０１１５】
ユーザがオフィスを離れることを決めたとき、ユーザは、更に、その作業環境をＰＤＡ１２．２へ戻すことができる。前述したように、転送する命令は、ＰＣ１２．３から来るか、ＰＤＡ１２．２から来ることができる。次に、認証、コマンドの切り替え、新しい装置能力の設定、及びサーバの切り替えが、前述したようにして処理される。
【０１１６】
ユーザインタフェースの画像フォーマットも、クライアント１２の間で自動的に転送されてもよい。自動的転送と手動転送との相違は、リダイレクト又は転送コマンドの発生点が異なるだけである。自動的リダイレクトの場合、ユーザは、もはやリダイレクトコマンドを送らない。なぜなら、それはシステム１０によって自動的に発行されるからである。
【０１１７】
自動的転送又は切り替えによって、ユーザは自由にローミングし、最良の表示装置を自動的に選択することができる。自動的転送の典型的な例において、ユーザは、移動中にＰＤＡ１２．２の上で作業した後でオフィスに到着し、ユーザがオフィスへ入るや否や、表示入力装置がＰＤＡ１２．２からＰＣ１２．３へ自動的に切り替えられる。この切り替えは、ワイヤレス通信リンク２０を介して処理されるか、直接物理接続、例えばドッキングステーションを介して処理されてもよい。もしユーザがＰＤＡ１２．２と一緒にオフィスを離れるならば、表示及び入力は、ＰＤＡ１２．２の環境へ自動的に回復される。
【０１１８】
ＰＤＡ１２．２とＰＣ１２．３との間、又はＰＤＡ１２．２、ビルディングの中の位置入力装置、及びサーバ１４との間のワイヤレス通信リンク２０は、通常、ブルートゥースのようなローミングプロトコル又はＧＳＭのようなセルラプロトコルを使用する赤外線通信又はＲＦ通信の形式を取る。
【０１１９】
ＰＤＡ１２．２及びＰＣ１２．３の双方が低レンジＲＦ通信インタフェースを有する場合、ＰＣ１２．３は、ＰＤＡ１２．２の接近を検出し、サーバ１４．１を介してＰＤＡ１２．２へコマンドを送るように構成される。このコマンドは制御の転送をＰＤＡ１２．２へ命令する。もしサーバ１４．１がこの転送を承認するならば、ＰＤＡ１２．２は、ＰＣ１２．３が今や新しい表示入力装置であることをサーバ１４．１へ知らせる。転送及びセキュリティは前述したように処理される。
【０１２０】
ＰＤＡ１２．２、又はＰＤＡ１２．２のユーザが位置入力装置を有し、サーバ１４．１がビルディング内のＰＤＡ１２．２又はユーザ位置を決定することができる場合、サーバ１４．１はコマンド転送を自動的にイニシエートし、従ってＰＤＡ１２．２から、ユーザに最も近いＰＣ１２．３又はワークステーションへ制御を移すように構成される。
【０１２１】
これまで説明されたローミング技術によって、ユーザは、特定のワークステーション又はＰＤＡ１２．２から解放されることができ、ユーザによって使用されるデータ及びアプリケーションは、ユーザの作業セッションを中断することなく、ユーザに追従することができる。更に、干渉を生じることなく、より安価又は代替の接続へシームレスに移ることができる。
【０１２２】
前述したように、システム１０によって、更に、クライアント１２は、特定のサーバ１４．１及び１４．２への接近に基づいて、他のサーバ１４への転送を要求することができる。典型的には、クライアント１２へ最も近いサーバ１４．１及び１４．２が、最速の接続を提供するであろう。
【０１２３】
更に、例えば、ユーザがＰＤＡクライアント１２．４と一緒にオフィスに到着し、そのオフィスが、それ自身のローカル（恐らく、ＬＡＮベース）サーバ１４．１を有するとき、クライアント１２はサーバ１４を切り替えることができる。ＰＤＡクライアント１２．４がＰＣクライアント１２．３へ切り替わったとき、モバイルサーバ１４．２は、ＰＣ１２．３と同じローカルエリアネットワークの上のローカルサーバ１４．１へソフトウェアアプリケーションを転送することができる。これは、ＰＣクライアント１２．３のために、より早くて安価なサーバアクセスを可能にするであろう。ユーザがオフィスを離れるとき、ＰＣ１２．３はクライアントをＰＤＡ１２．２へ切り替え、同時に、ローカルＬＡＮサーバ１４．１は、より中央のワイヤレスベースサーバ１４．２へ切り替わることができる。
【０１２４】
前述したように、サーバ１４．１は、更に、クライアント１２を、より早い他のサーバ１４．２へ自動的に切り替えることができる。サーバの切り替え又は転送の他の例は、サーバ１４の群が、サーバ１４のロードを共用又はバランスさせるため、クライアント１２をサーバの間で移動させるオフィス環境の場合であろう。
【０１２５】
出願人は、例示された発明が、ソフトウェアアプリケーションのユーザインタフェース表示を制御する比較的簡単なシステム１０を提供するものと信じる。システム１０によって、簡単な手のひらサイズ又は携帯装置の形式をしたクライアント装置１２は、アプリケーションサーバ１４から離れて複雑なソフトウェアを走らせることができる。アプリケーションサーバ１４は、ソフトウェアを実行し、ユーザインタフェース表示の画像フォーマットをレンダリングする。次に、画像フォーマットはクライアント装置１２へ送信される。クライアント装置１２は単に表示入力装置として働き、全ての処理及びデータ記憶はアプリケーションサーバ１４によって処理される。従って、簡単なコンピューティング装置が、典型的にはハイエンドのデスクトップマシンの上で走るように開発された複雑なソフトウェアを走らせることができる。従って、携帯装置とデスクトップ装置のために、もはや別々のアプリケーションが必要になることはない。この事は、手のひらサイズのコンピュータとデスクトップコンピュータとの間で異なったフォーマットの文書を転送する必要性を除く。このような転送は、多くの場合、時間を浪費し能率的ではなかった。更に、ユーザは、もはや２つの異なったアプリケーションをどのように使用するかを学習する必要はない。
【０１２６】
システム１０によって、更に、ユーザは、アプリケーションの実行を中断することなく、またデータの喪失又は破壊の危険を冒すことなく、任意数のアプリケーションを含むコンピューティング環境を、１つのクライアント１２から他のクライアントへシームレスに転送することができる。全てのデータ及びアプリケーションはサーバ１４から実行され、従ってユーザは、その携帯又は他のコンピューティング装置をオン及びオフに切り替え、場所を離れたところで作業を再開することができる。ユーザは、更に、ユーザの要件及び環境に依存して装置１２を簡単に切り替えることができる。更に、システムはネットワークから離れて作動し、インターネットへ接続可能であるから、ユーザは世界を自由にローミングすることができ、情報又はデータを喪失する危険を冒すことなく、ユーザのコンピューティング環境へログインすることができる。
【０１２７】
アプリケーション及びデータを中央で記憶することは、更に、システムのロバスト性及びメンテナンスを確実にする。例えば、システム１０は、ウィルス感染の危険が少ないであろう。なぜなら、全体のシステムが中央ロケーションから制御されるからである。更に、ユーザは、そのパーソナルコンピューティング装置又はソフトウェアを継続的にアップグレードする必要はない。なぜなら、これらは全て中央で処理されるからである。
【図面の簡単な説明】
【図１】
本発明に従ってソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムの概略ブロック図である。
【図２】
本発明に従ってアプリケーションサーバの上で走っているコンピュータプログラムの基本的フローチャートである。
【図３】
アプリケーションサーバの上で走っている図２のコンピュータプログラムの詳細なフローチャートである。
【図４】
本発明に従ってクライアント装置の上で走っているコンピュータプログラムのフローチャートである。
【図５】
画像調整モジュールの詳細なフローチャートである。
【符号の説明】
１０　ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステム
１２、１２．１、１２．２、１２．３、１２．４　クライアント、クライアント装置
１３　ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求する
１４、１４．１、１４．２　アプリケーションサーバ
１６、１６．１、１６．２　記憶手段
１７　ユーザインタフェース表示の画像フォーマットをクライアントへ送信する１８　良好な表示能力を有するクライアントへの接近区域
２０　ワイヤレス通信リンク
【図２】
2004503862.tif 000003
【図３】
2004503862.tif 000004
【図４】
2004503862.tif 000005
【図５】
2004503862.tif 000006
【国際公開パンフレット】
2004503862.tif 000007
2004503862.tif 000008
2004503862.tif 000009
2004503862.tif 000010
2004503862.tif 000011
2004503862.tif 000012
2004503862.tif 000013
2004503862.tif 000014
2004503862.tif 000015
2004503862.tif 000016
2004503862.tif 000017
2004503862.tif 000018
2004503862.tif 000019
2004503862.tif 000020
2004503862.tif 000021
2004503862.tif 000022
2004503862.tif 000023
2004503862.tif 000024
2004503862.tif 000025
2004503862.tif 000026
2004503862.tif 000027
2004503862.tif 000028
2004503862.tif 000029
2004503862.tif 000030
2004503862.tif 000031
2004503862.tif 000032
2004503862.tif 000033
2004503862.tif 000034
2004503862.tif 000035
2004503862.tif 000036
2004503862.tif 000037
2004503862.tif 000038
2004503862.tif 000039
2004503862.tif 000040
2004503862.tif 000041
2004503862.tif 000042
2004503862.tif 000043
2004503862.tif 000044
2004503862.tif 000045
2004503862.tif 000046
2004503862.tif 000047
2004503862.tif 000048
2004503862.tif 000049
【国際公開パンフレット（コレクトバージョン）】
2004503862.tif 000050
2004503862.tif 000051
【手続補正書】
【提出日】平成14年9月10日(2002.9.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示を、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示を受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示を表示する表示手段を有する第１のクライアント端末と、
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示を転送する転送手段と、
を含むシステム。
【請求項２】
ユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段を含み、表示エクスポート手段がユーザインタフェース表示の画像フォーマットをエクスポートするように構成され、クライアント端末の通信インタフェースがユーザインタフェース表示の画像フォーマットを受け取って、ユーザインタフェース表示の画像フォーマットを表示手段の上に表示するように構成される、請求項１に記載のシステム。
【請求項３】
ソフトウェアアプリケーションのユーザインタフェース表示を制御するシステムであって、
要求されたとき少なくとも１つのソフトウェアアプリケーションを実行する少なくとも１つのアプリケーションサーバと、
少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを、通信ネットワークを介してエクスポートする表示エクスポート手段と、
ユーザインタフェース表示の画像フォーマットを受け取るため、通信ネットワークへ接続された通信インタフェースを有し、またユーザインタフェース表示の画像フォーマットを表示する表示手段を有する第１のクライアント端末と、
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを転送する転送手段と、
を含む、システム。
【請求項４】
クライアント端末が、通信インタフェースへ接続されたユーザ入力手段を含み、それによってユーザは、その又は各ソフトウェアアプリケーションの実行をアプリケーションサーバへ要求することができ、またユーザは、ユーザインタフェース表示の画像フォーマットを介してその又は各ソフトウェアアプリケーションと対話することができ、前記対話は通信インタフェースを介して容易にされる、請求項３に記載のシステム。
【請求項５】
第１又は第２のクライアント端末のいずれかが、転送手段の動作を制御するように構成される、請求項３又は４に記載のシステム。
【請求項６】
アプリケーションサーバが、転送手段の動作を制御するように構成される、請求項３又は４に記載のシステム。
【請求項７】
第１及び第２のクライアント端末の相対的位置を追跡する追跡手段を含み、転送手段が、第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へユーザインタフェース表示の画像フォーマットを自動的に転送するように構成される、請求項３から６のいずれか１項に記載のシステム。
【請求項８】
第１のアプリケーションサーバから少なくとも第２のアプリケーションサーバへその又は各ソフトウェアアプリケーションを転送するアプリケーション転送手段を含む、請求項７に記載のシステム。
【請求項９】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末の位置を、追跡手段が第１及び第２のアプリケーションサーバに相対させて監視するように構成され、アプリケーション転送手段が、前記クライアント端末とアプリケーションサーバとの間の接近に基づいて、第１のアプリケーションサーバから第２のアプリケーションサーバへ、又はその逆へ、ソフトウェアアプリケーションを自動的に転送するように構成される、請求項８に記載のシステム。
【請求項１０】
その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮する圧縮手段を含む、請求項３から９のいずれか１項に記載のシステム。
【請求項１１】
アプリケーションサーバが、特定のクライアント端末の表示手段による表示を容易にするため、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットする画像フォーマット手段を含む、請求項３から１０のいずれか１項に記載のシステム。
【請求項１２】
処理手段が、ソフトウェアアプリケーションの現在のユーザインタフェース表示を、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと比較するコンパレータ手段を含み、プロセッサ手段が、ユーザインタフェース表示の最も近時にエクスポートされた画像フォーマットと異なっているユーザインタフェース表示の領域の画像フォーマットをキャプチャするように構成される、請求項３から１１のいずれか１項に記載のシステム。
【請求項１３】
その又は各アプリケーションサーバが、クライアント端末へエクスポートする前に、ユーザインタフェース表示の画像フォーマットを記憶する記憶手段を含む、請求項３から１２のいずれか１項に記載のシステム。
【請求項１４】
記憶手段がユーザデータを記憶するように構成される、請求項１３に記載のシステム。
【請求項１５】
処理手段が、将来のユーザインタフェース表示を予測し、そのように予測されたユーザインタフェース表示の画像フォーマットをプリエンプティブにキャプチャし、それらを記憶手段の中に記憶するように構成される、請求項１４に記載のシステム。
【請求項１６】
クライアント端末の少なくとも１つが携帯又は手のひらサイズの装置である、請求項１から１５のいずれか１項に記載のシステム。
【請求項１７】
ソフトウェアアプリケーションのユーザインタフェース表示を制御する方法であって、
少なくとも１つのソフトウェアアプリケーションを、少なくとも第１のアプリケーションサーバの上で実行するステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、ユーザインタフェース表示の画像フォーマットを第１のクライアント端末へエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。
【請求項１８】
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップと、を含む、請求項１７に記載の方法。
【請求項１９】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的距離に基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項１７又は１８に記載の方法。
【請求項２０】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、第１のアプリケーションサーバ、及び第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末及び第１並びに第２のアプリケーションサーバの間の相対的データ転送レートに基づいて、第１及び第２のアプリケーションサーバの間でソフトウェアアプリケーションを転送するステップと、を含む、請求項１７又は１８に記載の方法。
【請求項２１】
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングし、
第１又は第２のクライアント端末への将来のエクスポートのために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップと、を含む、請求項１７から２０のいずれか１項に記載の方法。
【請求項２２】
ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートするステップと、を含む、請求項１７から２１のいずれか１項に記載の方法。
【請求項２３】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項１７から２２のいずれか１項に記載の方法。
【請求項２４】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項１７から２３のいずれか１項に記載の方法。
【請求項２５】
請求項１７から２４のいずれか１項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項２６】
アプリケーションサーバであって、
少なくとも１つのソフトウェアアプリケーションを記憶する記憶手段と、
少なくとも１つのソフトウェアアプリケーションを実行し、少なくとも１つのソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをキャプチャするプロセッサ手段と、
ユーザインタフェース表示の画像フォーマットを少なくとも第１のクライアント端末へエクスポートする表示エクスポート手段と、
少なくとも１つのソフトウェアアプリケーションの動作を中断することなく、ユーザインタフェース表示の画像フォーマットを少なくとも１つの更なるクライアント端末へ転送する転送手段と、
を含むアプリケーションサーバ。
【請求項２７】
アプリケーションサーバを操作する方法であって、
通信ネットワークを介してアプリケーションサーバへ接続された第１のクライアント端末から要求されたとき、アプリケーションサーバに記憶された少なくとも１つのソフトウェアアプリケーションを実行するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１のクライアント端末の上で表示するため、通信ネットワークを介して第１のクライアント端末へユーザインタフェース表示の画像フォーマットをエクスポートするステップと、
ソフトウェアアプリケーションの実行を中断することなく、第１のクライアント端末から少なくとも第２のクライアント端末へユーザインタフェース表示の画像フォーマットを選択的に転送するステップと、
を含む方法。
【請求項２８】
クライアント端末のいずれかから要求されたとき、第１のクライアント端末から第２のクライアント端末へユーザインタフェース表示の画像フォーマットを転送するステップを含む、請求項２７に記載の方法。
【請求項２９】
第１及び第２のクライアント端末の相対的位置を追跡するステップと、
第１及び第２のクライアント端末の間の接近及び各々のクライアント端末の相対的能力に基づいて、第１のクライアント端末から第２のクライアント端末へ、又はその逆へ、ユーザインタフェース表示の画像フォーマットを自動的に転送するステップを含む、請求項２７又は２８に記載の方法。
【請求項３０】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間の相対的距離を監視するステップと、
前記クライアント端末及び前記アプリケーションサーバの間の相対的距離に基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項２７から２９のいずれか１項に記載の方法。
【請求項３１】
ユーザインタフェース表示の画像フォーマットが現在表示されているクライアント端末、アプリケーションサーバ、及び少なくとも第２のアプリケーションサーバの間のデータ転送レートを監視するステップと、
前記クライアント端末と前記アプリケーションサーバとの間の相対的データ転送レートに基づいて、アプリケーションサーバから第２のアプリケーションサーバへソフトウェアアプリケーションを転送するステップを含む、請求項２７から２９のいずれか１項に記載の方法。
【請求項３２】
ソフトウェアアプリケーションの将来のユーザインタフェース表示を予測するステップと、
予測されたユーザインタフェース表示の画像フォーマットをレンダリングするステップと、
第１又は第２のクライアント端末へ将来エクスポートするために、予測されたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項２７から３１のいずれか１項に記載の方法。
【請求項３３】
その又は各ソフトウェアアプリケーションの現在のユーザインタフェース表示を、その又は各ソフトウェアアプリケーションの前のユーザインタフェース表示と比較するステップと、
変化したユーザインタフェース表示の領域の画像フォーマットをレンダリングするステップと、
ユーザインタフェース表示の変化した領域の画像フォーマットを第１又は第２のクライアント端末へエクスポートするステップを含む、請求項２７から３２のいずれか１項に記載の方法。
【請求項３４】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットを圧縮するステップを含む、請求項２７から３３のいずれか１項に記載の方法。
【請求項３５】
ユーザインタフェース表示の画像フォーマットをエクスポートする前に、ユーザインタフェース表示の画像フォーマットをフォーマットするステップを含む、請求項２７から３４のいずれか１項に記載の方法。
【請求項３６】
請求項２７から３５のいずれか１項に記載の方法をコンピュータに実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項３７】
クライアント装置であって、
アプリケーションサーバと通信する通信インタフェースと、
少なくとも１つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するソフトウェアアプリケーション要求手段と、
アプリケーションサーバによって通信インタフェースを介しクライアント装置へエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示する表示手段と、
ユーザが、ユーザインタフェース表示の画像フォーマットを介してソフトウェアアプリケーションと対話できるようにするユーザ入力手段と、
ユーザインタフェース表示の画像フォーマットが少なくとも第２のクライアント端末へ転送されることを要求する転送要求手段と、
を含むクライアント装置。
【請求項３８】
通信インタフェース、表示手段、及びユーザ入力手段が、全てプレブートアップを操作するように構成される、請求項３７に記載のクライアント装置。
【請求項３９】
クライアント装置を操作する方法であって、
少なくとも１つのソフトウェアアプリケーションを実行するようにアプリケーションサーバへ要求するステップと、
アプリケーションサーバによって実行されてエクスポートされたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを受け取るステップと、
ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを表示するステップと、
実行されたソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットを介して、実行されたソフトウェアアプリケーションと対話するステップと、
その又は各ソフトウェアアプリケーションのユーザインタフェース表示の画像フォーマットが少なくとも第２のクライアント装置へ転送されることを要求するステップと、
を含む方法。
【請求項４０】
更に、アプリケーションサーバによってクライアント装置へスプールされたユーザインタフェース表示の画像フォーマットを記憶するステップを含む、請求項３９に記載の方法。
【請求項４１】
請求項３９又は４０に記載の方法をクライアント装置に実行させるコンピュータ読み取り可能コードを搬送するキャリア媒体。
【請求項４２】
実質的に本明細書で説明及び例示されている、請求項１に記載のシステム。
【請求項４３】
実質的に本明細書で説明及び例示されている、請求項１７に記載の方法。
【請求項４４】
実質的に本明細書で説明及び例示されている、請求項２６に記載のアプリケーションサーバ。
【請求項４５】
実質的に本明細書で説明及び例示されている、請求項２７に記載のアプリケーションサーバを操作する方法。
【請求項４６】
実質的に本明細書で説明及び例示されている、請求項３７に記載のクライアント装置。
【請求項４７】
実質的に本明細書で説明及び例示されている、請求項３９に記載のクライアント装置を操作する方法。
【請求項４８】
実質的に本明細書で説明及び例示されている、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しいシステム、ソフトウェアアプリケーションのユーザインタフェース表示を制御する新しい方法、新しいアプリケーションサーバ、アプリケーションサーバを操作する新しい方法、新しいクライアント装置、又はクライアント装置を操作する新しい方法。
【国際調査報告】
2004503862.tif 000052
2004503862.tif 000053
2004503862.tif 000054