(57)【要約】  アプリケーションプログラムへの遠隔アクセスを提供するためのシステムおよび方法。サーバ遠隔アクセスプログラムは、クライアントコンピューティングデバイスに画面データを提供するように画面抽出アプリケーションと協働することができる。アプリケーションプログラムと関連付けられる表示は、クライアントコンピューティングデバイス上の表示のためにサーバによってサイズ変更または切り取りされ得る。クライアントは、ユーザインターフェースプログラムからの入力を受信するクライアント遠隔アクセスプログラムを使用してサーバに接続することができる。【選択図】図２Ｃ
2014531626.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのアプリケーションプログラムへの遠隔アクセスを提供する方法であって、
サーバコンピューティングデバイスでサーバ遠隔アクセスプログラムを提供することと、
前記少なくとも１つのアプリケーションプログラムと関連付けられる少なくとも１つのユニフォームリソースロケータ（ＵＲＬ）を列挙することと、
前記少なくとも１つのＵＲＬでクライアントからの通信を受信することと、
前記少なくとも１つのＵＲＬと関連付けられた前記少なくとも１つのアプリケーションプログラムと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記サーバ遠隔アクセスプログラムを使用して前記表現データを前記クライアントコンピューティングデバイスに通信することと、を含む、方法。
【請求項２】
前記少なくとも１つのアプリケーションプログラムが前記サーバコンピューティングデバイス上で実行することを決定することと、前記決定に応答して前記ＵＲＬを列挙することとをさらに含む、請求項１に記載の方法。
【請求項３】
実行していると決定されたそれぞれのアプリケーションプログラムに対して固有のＵＲＬを列挙することをさらに含む、請求項１〜２のいずれかに記載の方法。
【請求項４】
リンク、メニュー時間、またはアイコンのうちの１つを使用して前記固有のＵＲＬへのアクセスをさらに提供する、請求項３に記載の方法。
【請求項５】
複数のＵＲＬで前記クライアントコンピューティングデバイスからの複数の要求を受信することと、
前記複数のＵＲＬと関連付けられた複数のアプリケーションと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記表現データを前記クライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記少なくとも１つのＵＲＬで複数のクライアントコンピューティングデバイスからの要求を受信することと、
前記少なくとも１つのＵＲＬと関連付けられた前記少なくとも１つのアプリケーションと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記サーバ遠隔アクセスプログラムを使用して前記表現データを前記複数のクライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項１〜５のいずれかに記載の方法。
【請求項７】
前記複数のクライアントコンピューティングデバイス間の協調を提供することをさらに含み、前記表現データが、前記複数のクライアントコンピューティングデバイス間で同期される、請求項６に記載の方法。
【請求項８】
アプリケーションプログラムへの遠隔アクセスを提供するための方法であって、
サーバコンピューティングデバイスでサーバ遠隔アクセスプログラムを提供することと、
前記サーバコンピューティングデバイスで前記アプリケーションプログラムにアクセスするクライアントコンピューティングデバイスからの通信を受信することと、
前記アプリケーションプログラムと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記アプリケーションプログラムの対応する状態を含む状態モデルを更新することと、
前記サーバ遠隔アクセスプログラムを使用して前記表現データおよび前記状態モデルを前記クライアントコンピューティングデバイスに通信することと、を含む、方法。
【請求項９】
前記クライアントコンピューティングデバイスにおける対話に従って前記状態モデルを更新することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記クライアントコンピューティングデバイスの表示特性に関する情報を受信することをさらに含む、請求項８〜９のいずれかに記載の方法。
【請求項１１】
前記特性に従って前記画面データを拡大縮小または切り取ることをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記サーバコンピューティングデバイスで第２のアプリケーションプログラムにアクセスする前記クライアントコンピューティングデバイスからの通信を受信することと、
前記第２のアプリケーションプログラムと関連付けられる第２の画面データを抽出することと、
前記第２の画面データから第２の表現データを生成することと、
前記第２のアプリケーションプログラムの対応する状態を含む前記状態モデルを更新することと、
前記サーバ遠隔アクセスプログラムを使用して前記第２の表現データおよび前記状態モデルを前記クライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項８〜１１のいずれかに記載の方法。
【請求項１３】
前記クライアントコンピューティングデバイスで前記表現データおよび前記第２の表現データを単一のユーザインターフェースに組み合わせることをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記サーバコンピューティングデバイスでアプリケーションにアクセスする複数のクライアントコンピューティングデバイスからの通信を受信することと、
前記表現データおよび前記状態モデルを前記複数のクライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項８〜１３のいずれかに記載の方法。
【請求項１５】
前記状態モデルを介して前記複数のクライアントコンピューティングデバイス間の協調を可能にすることをさらに含む、請求項１４に記載の方法。
【請求項１６】
アプリケーションプログラムへの非侵襲的遠隔アクセスを提供するための方法であって、
サーバコンピューティングデバイスでサーバ遠隔アクセスプログラムを提供することと、
前記アプリケーションプログラムによって生成される表示インターフェースを、前記表示インターフェースへの変更のために監視する画面抽出アプリケーションを提供することと、
前記表示インターフェースと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記サーバコンピューティングデバイスで前記アプリケーションプログラムにアクセスする要求を受信することと、
前記アプリケーションプログラムの対応する状態を含む状態モデルを更新することであって、前記対応する状態が、前記アプリケーションプログラムの前記表示インターフェースに関する情報を含む少なくとも１つの論理要素を含むことと、
前記要求に応答する前記サーバ遠隔アクセスプログラムを使用して前記表現データおよび前記状態モデルを通信すること、を含む、方法。
【請求項１７】
前記サーバ遠隔アクセスプログラムに論理的に接続されるクライアントコンピューティングデバイス上で実行するクライアント遠隔アクセスプログラムからの前記要求を受信すること、
をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記サーバ遠隔アクセスプログラムに論理的に接続される第２のクライアントコンピューティングデバイス上で実行する第２のクライアント遠隔アクセスプログラムからの第２の要求を受信することと、
前記サーバコンピューティングデバイスで、前記クライアントコンピューティングデバイスと前記第２のクライアントコンピューティングデバイスとの間の前記表現および前記状態モデルを同期することと、
前記クライアントコンピューティングデバイスおよび前記第２のクライアントコンピューティングデバイスの両方が同一情報を表示するように、同期された表現データおよび同期された状態モデルを前記クライアントコンピューティングデバイスおよび前記第２のクライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項１６〜１７のいずれかに記載の方法。
【請求項１９】
前記状態モデルから前記クライアントコンピューティングデバイスの表示の特性を取得することと、
前記特性に従って前記表現データを修正することと、
をさらに含む、請求項１６〜１８のいずれかに記載の方法。
【請求項２０】
第２のアプリケーションプログラムへの遠隔アクセスを提供することと、
前記第２の画面データから第２の表現データを生成する前記第２のアプリケーションプログラムと関連付けられる第２の画面データを抽出することと、
前記第２のアプリケーションプログラムの対応する状態を含む前記状態モデルを更新することと、
前記状態モデルを使用して前記表現データおよび前記第２の表現データを単一のユーザインターフェースに組み合わせることと、
をさらに含む、請求項１６〜１９のいずれかに記載の方法。
【請求項２１】
サーバベースのアプリケーションプログラムへの遠隔アクセスを提供する方法であって、
サーバコンピューティングデバイスで遠隔アクセスプログラムを提供することと、
前記サーバコンピューティングデバイス上で実行しているアプリケーションプログラムを決定することと、
前記サーバコンピューティングデバイスによって実行していると決定されたそれぞれのアプリケーションプログラムと関連付けられるユニフォームリソースロケータ（ＵＲＬ）を列挙することと、
前記サーバコンピューティングデバイスによって実行していると決定されたそれぞれのアプリケーションプログラムの前記ＵＲＬへのアクセスを提供することと、
選択されたアプリケーションプログラムの前記ＵＲＬでクライアントコンピューティングデバイスからの選択を受信することと、
前記ＵＲＬで前記アプリケーションプログラムへの遠隔アクセスを提供することと、を含む、方法。
【請求項２２】
前記選択されたアプリケーションプログラムと関連付けられる画面データを抽出することと、
前記画面データから表現データを生成することと、
前記表現データを前記クライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項２１に記載の方法。
【請求項２３】
複数のＵＲＬで、それぞれが複数のアプリケーションプログラムと関連付けられる要求を受信することと、
前記複数のアプリケーションと関連付けられる画面データを抽出することと、
複数のプログラムと関連付けられた前記画面データから表現データを生成することと、
前記表現データを前記クライアントコンピューティングデバイスに通信することと、
をさらに含む、請求項２１〜２２のいずれかに記載の方法。
【請求項２４】
複数のクライアントコンピューティングデバイス間に協調を提供することをさらに含む、請求項２１〜２３のいずれかに記載の方法。
【請求項２５】
前記選択されたアプリケーションプログラムの前記ＵＲＬで前記複数のクライアントコンピューティングデバイスからの選択を受信することと、
前記ＵＲＬで前記選択されたアプリケーションプログラムへの遠隔アクセスを提供することと、
をさらに含む、請求項２１〜２４のいずれかに記載の方法。
【請求項２６】
前記選択されたアプリケーションプログラムの表現データの同期されたビューを前記複数のクライアントに提供することをさらに含む、請求項２５に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
アプリケーションプログラム、およびデータに対する遍在する遠隔アクセスは、ブロードバンドならびにワイヤレスネットワークアクセスの成長および可用性によって、当たり前のものとなった。さらに、ユーザは、増え続けている種々のクライアントデバイス（例えば、モバイルデバイス、テーブルコンピューティングデバイス、ラップトップ／ノートブック／デスクトップコンピュータなど）を使用してアプリケーションプログラムおよびデータにアクセスする。データは、３Ｇおよび４Ｇ移動データネットワークまたはＷｉＦｉもしくはＷｉＭａｘなどのワイヤレスネットワーク上で遠隔サーバからモバイルデバイスに通信され得る。大部分のモバイルデバイスは、インターネットにアクセスすることができ、様々な種類のアプリケーションプログラムと対話することができる。
【発明の概要】
【０００２】
例えば、サーバ上で実行するアプリケーションプログラムへの遠隔アクセスを非侵襲的に提供するためのシステムおよび方法が本明細書に開示される。いくつかの実装形態によれば、サーバベースのアプリケーションプログラムへの遠隔アクセスを提供するための方法が開示される。本方法は、サーバコンピューティングデバイスで遠隔アクセスプログラムを提供することと、サーバコンピュータコンピューティングデバイスでアプリケーションにアクセスするクライアントからの通信を受信することと、アプリケーションと関連付けられる画面データを抽出することと、画面データから表現データを生成することと、アプリケーションの対応する状態を含む状態モデルを更新することと、表現データおよび状態モデルをクライアントに通信することとを含む。
【０００３】
いくつかの実装形態によれば、サーバベースのアプリケーションプログラムへの遠隔アクセスを提供する別の方法が開示される。本方法は、サーバコンピューティングデバイスで遠隔アクセスプログラムを提供することと、少なくとも１つのアプリケーションと関連付けられる少なくとも１つのユニフォームリソースロケータ（ＵＲＬ）を列挙することと、少なくとも１つのＵＲＬでクライアントからの通信を受信することと、少なくとも１つのＵＲＬと関連付けられた少なくとも１つのアプリケーションと関連付けられる画面データを抽出することと、画面データから表現データを生成することと、表現データをクライアントに通信することとを含むことができる。
【０００４】
いくつかの実装形態によれば、アプリケーションプログラムへの非侵襲的遠隔アクセスを提供するための方法が提供される。本方法は、サーバコンピューティングデバイスでサーバ遠隔アクセスプログラムを提供することと、アプリケーションプログラムによって生成される表示インターフェースを、該表示インターフェースへの変更のために監視する画面抽出アプリケーションを提供することと、表示インターフェースと関連付けられる画面データを抽出することと、画面データから表現データを生成することと、サーバコンピューティングデバイスでアプリケーションプログラムにアクセスする要求を受信することと、アプリケーションプログラムの対応する状態を含む状態モデルを更新することであって、対応する状態がアプリケーションプログラムの表示インターフェースに関する情報を含む少なくも１つの論理要素を含むことと、要求に応答するサーバ遠隔アクセスプログラムを使用して表現データおよび状態モデルを通信することとを含むことができる。
【０００５】
さらに他の実装形態によれば、サーバコンピューティングデバイスで遠隔アクセスプログラムを提供することと、サーバコンピューティングデバイス上で実行するアプリケーションプログラムを決定することと、サーバコンピューティングデバイスによって実行していると決定されたそれぞれのアプリケーションプログラムと関連付けられるユニフォームリソースロケータ（ＵＲＬ）を列挙することと、サーバコンピューティングデバイスによって実行していると決定されたそれぞれのアプリケーションプログラムのＵＲＬへのアクセスを提供することと、選択されたアプリケーションプログラムのＵＲＬでクライアントコンピューティングデバイスからの選択を受信することと、ＵＲＬでアプリケーションプログラムへの遠隔アクセスを提供することとを含むサーバベースのアプリケーションプログラムへの遠隔アクセスを提供する方法が提供される。
【０００６】
以下の図面および詳細な説明を検討することによって、当業者には他のシステム、方法、特徴および／または利点が明らかとなる、あるいは明らかになり得る。すべてのそのような追加のシステム、方法、特徴および／または利点は、この説明に含まれ、添付のクレームによって保護されることが意図される。
【０００７】
図面における構成要素は、必ずしも互いに対して一定の縮尺であるとは限らない。同様の参照番号は、いくつかの図面を通して対応する部分を示している。
【図面の簡単な説明】
【０００８】
【図１】コンピュータネットワークを介してアプリケーションプログラムへの遠隔アクセスを提供するためのシステムを例示する簡略化されたブロック図である。
【図２Ａ】画面抽出アプリケーション、サーバ、およびクライアント遠隔アクセスプログラム（複数可）の動作を例示する簡略化されたブロック図である。
【図２Ｂ】画面抽出アプリケーション、サーバ、およびクライアント遠隔アクセスプログラム（複数可）の動作を例示する簡略化されたブロック図である。
【図２Ｃ】画面抽出アプリケーション、サーバ、およびクライアント遠隔アクセスプログラム（複数可）の動作を例示する簡略化されたブロック図である。
【図３】図１のシステムの状態モデルを例示する。
【図４】図１〜３のシステム内で行われる動作例のフロー図を例示する。
【図５】図１〜２のシステム内で行われる動作例のフロー図を例示する。
【図６】例示的なコンピューティング環境を例示する。
【発明を実施するための形態】
【０００９】
特に定義されない限り、本明細書において使用されるすべての技術的および科学的な用語は、本開示が属する技術の当業者によって一般的に理解されるものと同一の意味を有する。本明細書において説明されるものと類似または同等とみなされる方法および用具は、本開示の実施または実験において使用され得る。アプリケーションプログラムに遠隔でアクセスおよびそれを視認するために実装形態が記載されるが、実装形態がそれに限定されないことが当業者に明らかになるであろう。
【００１０】
図１および２Ａ〜２Ｃを参照すると、コンピュータネットワークを介してアプリケーションプログラムへの遠隔アクセスを提供するためのシステム１００が例示される。システム１００は、１つ以上のサーバコンピューティングデバイス１０２Ａ、１０２Ｂと、１つ以上のクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎとを含むことができる。クライアントコンピューティングデバイスは、通信ネットワーク１１０、例えば、インターネットなどを介してサーバコンピューティングデバイス１０２Ａおよび／またはサーバコンピューティングデバイス１０２Ｂに接続されるワイヤレス手持ち型デバイス、例えば、ＩＰＨＯＮＥ１１２ＡまたはＢＬＡＣＫＢＥＲＲＹ１１２Ｂなどを含み得るがこれに限定されない。同様に、クライアントコンピューティングデバイスはまた、通信ネットワーク１１０によってサーバコンピューティングデバイス１０２Ａおよび／またはサーバコンピューティングデバイス１０２Ｂに接続されるデスクトップ／ノートブックパーソナルコンピュータ１１２Ｃまたはタブレットデバイス１１２Ｎを含んでもよい。通信ネットワーク１１０への接続が任意の種類の接続、例えば、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２．１１ｘ）、ＷｉＭａｘ（ＩＥＥＥ８０２．１６）、Ｅｔｈｅｒｎｅｔ（登録商標）、３Ｇ、４Ｇなどであり得ることに留意されたい。
【００１１】
サーバコンピューティングデバイス１０２Ａは、第１のローカルエリアネットワーク（ＬＡＮ）１０９Ａに接続されてもよく、サーバコンピューティングデバイス１０２Ｂは、通信ネットワーク１１０に接続される第２のローカルエリアネットワーク（ＬＡＮ）１０９Ｂに接続される。いくつものサーバコンピュータが本開示に従って通信ネットワーク１１０に接続され得ることに留意されたい。図６は、サーバコンピューティングデバイス１０２Ａ、サーバコンピューティングデバイス１０２Ｂ、またはクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎとして使用され得る例示的なコンピューティングデバイスを例示する。
【００１２】
図１に示されるように、クライアント遠隔アクセスプログラムは、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのプロセッサ１１８Ａ、１１８Ｂ、１１８Ｃ…１１８Ｎ上で実行される。クライアント遠隔アクセスプログラムは、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのメモリ１２０Ａ、１２０Ｂ、１２０Ｃ…１２０Ｎ内に記憶される実行可能なコマンドとして提供される。クライアント遠隔アクセスプログラムは、ユーザ対話プログラム、例えば、ウェブブラウザまたはネイティブアプリケーションなどと通信する。ユーザ対話プログラムは、（サーバコンピューティングデバイス１０２Ａまたは１０２Ｂから）画面データを表示するか、またはクライアントコンピューティングデバイスのタッチスクリーン１１４Ａ、１１４Ｎ、グラフィックディスプレイ１１４Ｂ、またはキーボード１１６Ｂ、１１６Ｃを有する、例えば、グラフィック表示を使用して第１および第２の画面抽出アプリケーションと対話するためのユーザ入力データを受信することができる。
【００１３】
サーバ遠隔アクセスプログラム１０７Ａおよび１０７Ｂならびにクライアント遠隔アクセスプログラムは、標準のプログラミング言語を使用して実装されてもよく、当業者に周知である標準の通信技術、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、仮想プライベートネットワーク（ＶＰＮ）、およびセキュアソケットレイヤー（ＳＳＬ）などを使用して通信が有効にされる。さらに、サーバ遠隔アプリケーションのインスタンスが、画面抽出アプリケーションを実行するサーバとは異なるサーバ上で提供されてもよい。このような実装形態では、画面抽出アプリケーションを実行するサーバとサーバ遠隔アプリケーションを実行する他のサーバとの間の直接またはネットワーク化された接続上で画面データが通信されてもよい。いくつかの実装形態では、サーバ遠隔アクセスプログラム１０７Ａおよび１０７Ｂならびにクライアント遠隔アクセスプログラムは、サーバ側ならびにクライアント側上の既存の技術に対する改良として本開示の態様の実装形態を可能にする。
【００１４】
図２Ａに示されるように、いくつかの実装形態によれば、サーバコンピューティングデバイス１０２Ａは、ディスプレイにおける画素を変更させる事象に対してアプリケーションプログラム１０３Ａによって生成される表示インターフェースを監視する画面抽出アプリケーション１０５Ａを実行することができる。画面抽出アプリケーション１０５Ａは、メモリ１０６Ａ内に記憶され、サーバコンピューティングデバイス１０２Ａのプロセッサ１０４Ａ上で実行される。事象が生じたとき、画面抽出アプリケーション１０５Ａは、フレームバッファ（図示せず）からディスプレイの変更された領域を読み取り、画面画像データを圧縮し、圧縮された画像データをそれぞれのサーバ遠隔アクセスプログラム１０７Ａに送信することができる。サーバ遠隔アクセスプログラム１０７Ａは、メモリ１０６Ａ内に記憶され、サーバコンピューティングデバイス１０２Ａのプロセッサ１０４Ａ上で実行される。本開示によれば、アプリケーションプログラム１０３Ａと画面抽出アプリケーション１０５Ａの対話は、後述されるように、アプリケーションプログラム１０３Ａへの遠隔アクセスを可能にする非侵襲的実装を提供する。
【００１５】
アプリケーションプログラム１０３Ａへの遠隔アクセスを提供するために、例えば、アプリケーションプログラム１０３Ａと関連付けられる列挙されたＵＲＬにおけるクライアントコンピューティングデバイスとサーバコンピューティングデバイス１０２Ａとの間に通信が確立される。特に、この通信は、図２Ａに示されるように、サーバ遠隔アクセスプログラム１０７Ａおよびクライアント遠隔アクセスプログラムによって有効にされる。この通信は、上述されるように、任意の種類のネットワーク上であってもよい。クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのうちのいずれが図２Ａに例示されるクライアントデバイスであり得ることに留意されたい。
【００１６】
クライアントコンピューティングデバイスとの遠隔通信セッション中、サーバ遠隔アクセスプログラム１０７Ａは、画面抽出アプリケーション１０５Ａから画面データを受信する。受信すると、サーバ遠隔アクセスプログラム１０７Ａは、画面画像データの表現データ１０９Ａを生成し、同一のものをクライアント遠隔アクセスプログラムに送信する。
【００１７】
任意にまたは加えて、表現データ１０９Ａは、例えば、処理能力、メモリサイズ、グラフィックディスプレイの種類、およびユーザインターフェースの種類を占めるクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ、または１１２Ｎのハードウェア能力によって生成されてもよい。したがって、サーバコンピューティングデバイス１０２Ａは、画面データがデバイスの特性に従ってクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎ上に表示されるように、クライアントコンピューティングデバイスに通信される画面データを拡大縮小またはサイズ変更することができる。したがって、協調セッションに参加しているデバイスのそれぞれの種類は、後述される図３の状態モデル内に含まれる情報に基づいてデバイスに応じた解像度を有するユーザインターフェースを提示する。例えば、ラップトップコンピュータのために生成され、送信される表現データは、手持ち型デバイス、例えば、ＩＰＨＯＮＥなどのために生成され、送信される表現データとは異なる。
【００１８】
いくつかの実装形態では、表現データ１０９Ａは、アプリケーションプログラム１０３Ａのウインドウまたはディスプレイ領域の選択に基づいて生成される。例えば、クライアントコンピューティングデバイス上に表示される領域またはウインドウの選択は、サーバコンピューティングデバイス１０２Ａで受信されてもよい。次に、サーバコンピューティングデバイス１０２Ａは、選択された領域またはウインドウのみが表現データ１０９Ａで生成され、かつサーバ遠隔アクセスプログラム１０７Ａによってクライアント遠隔アクセスプログラムに通信されるように画面データを切り取ってもよい。
【００１９】
いくつかの実装形態では、表現データ１０９Ａはまた、サーバコンピューティングデバイス１０２Ａに提供されてもよい。これは、サーバコンピューティングデバイス１０２Ａにおけるユーザがクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ、または１１２Ｎで何が表示されているかを見ることを可能にする。
【００２０】
ここで図２Ｂを参照すると、いくつかの実装形態では、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ、または１１２Ｎは、アプリケーションプログラム１０３Ａおよび１０３Ｂのそれぞれと関連付けられるそれぞれの列挙されたＵＲＬでアプリケーションプログラム１０３Ａおよび１０３Ｂにアクセスことによってサーバコンピューティングデバイス１０２Ａおよび１０２Ｂ上で動作するアプリケーションプログラム１０３Ａおよび１０３Ｂの両方と対話することができる。したがって、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ、または１１２Ｎは、サーバコンピューティングデバイス１０２Ａおよび１０２Ｂと協調セッションに参加することができ、アプリケーションプログラム１０３Ａおよび１０３Ｂの表示を含むビューを提示することができる。
【００２１】
任意にまたは加えて、アプリケーションプログラム１０３Ａおよび１０３Ｂの表示は、再結合と呼ばれるプロセスを通じて提示されてもよく、これは、後述される図３の状態モデル内に含まれる情報に基づいてもよい。再結合によって、アプリケーションプログラム１０３Ａおよび１０３Ｂは、アプリケーションプログラム１０３Ａおよび１０３Ｂの両方のビューが同時に提示され得るように、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ、または１１２Ｎの同一のユーザインターフェースにシームレスに統合される。任意にまたは加えて、アプリケーションプログラム１０３Ａおよび１０３Ｂと関連付けられる機能性および制御は、同一のユーザインターフェース内で組み合わせられてもよい。
【００２２】
図２Ｂに示されるように、いくつかの実装形態によれば、サーバコンピュータ１０２Ａおよび１０２Ｂは、ディスプレイにおける画素を変更させる事象に対してアプリケーションプログラム１０３Ａおよび１０３Ｂによって生成される表示インターフェースを監視するそれぞれの画面抽出アプリケーション１０５Ａおよび１０５Ｂを実行する。事象が生じたとき、画面抽出アプリケーション１０５Ａおよび１０５Ｂは、フレームバッファ（図示せず）からディスプレイの変更された領域を読み取り、画面画像データを圧縮し、圧縮された画像データをそれぞれのサーバ遠隔アクセスプログラム１０７Ａおよび１０７Ｂに送信することができる。上述されるように、アプリケーションプログラム１０３Ａおよびアプリケーションプログラム１０３Ｂと画面抽出アプリケーション１０５Ａおよび１０５Ｂの対話はそれぞれ、アプリケーションプログラム１０３Ａおよびアプリケーションプログラム１０３Ｂへの遠隔アクセスを可能にするために非侵襲的実装を提供する。図２Ｂの環境の他の態様は、図２Ａに関して記載されるように実質的に同様の様式で機能する。
【００２３】
ここで図２Ｃを参照すると、いくつかの実装形態では、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのうちの２つ以上が、同一の列挙されたＵＲＬにアクセスすることによってサーバコンピューティングデバイス１０２Ａ上で動作するアプリケーションプログラム１０３Ａと協調して対話することができる。したがって、協調セッションに参加するクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎ（およびサーバコンピューティングデバイス１０２Ａ）のそれぞれは、列挙されたＵＲＬで利用されるアプリケーションプログラム１０３Ａの表示の同期されたビューを提示することができる。あるいは、クライアントコンピューティングデバイスは、サーバコンピューティングデバイス１０２Ｂ上で動作するアプリケーションプログラム１０３Ｂと対話することができる。
【００２４】
クライアントコンピューティングデバイスとの遠隔通信セッション中、サーバ遠隔アクセスプログラム１０７Ａは、画面抽出アプリケーション１０５Ａから画面データを受信する。受信すると、サーバ遠隔アクセスプログラム１０７Ａは、第１の画面画像データの第１の表現データ１０９Ａを生成し、同一のものをクライアント遠隔アクセスプログラム１１２Ａおよび１１２Ｎに送信する。図２Ｃの環境の他の態様は、図２Ａに関して記載されるように実質的に同様の様式で機能する。
【００２５】
図２Ｃの環境は、アプリケーションプログラム１０３Ａの協調閲覧（共同閲覧）をさらに提供する。例えば、クライアントコンピューティングデバイス１１２Ａのユーザおよびクライアントコンピューティングデバイス１１２Ｎのユーザは、サーバコンピューティングデバイス１０２Ａにおけるアプリケーションプログラム１０３Ａを含むセッションに参加することを望むことができる。クライアントコンピューティングデバイス１１２Ａおよびクライアントコンピューティングデバイス１１２Ｎは、ユーザ対話プログラム、例えば、ウェブブラウザなどと通信するクライアント遠隔アクセスプログラムを使用してアプリケーション１０３Ａに遠隔でアクセスしてもよい。アプリケーションプログラム１０３Ａの共同閲覧は、クライアントコンピューティングデバイス１１２Ａおよびクライアントコンピューティングデバイス１１２Ｎの両方におけるユーザがユーザのそれぞれのウェブブラウザ上で同一の文書、画像などと対話および視認することを可能にする。したがって、ユーザクライアントコンピューティングデバイス１１２Ａが表示のためにアプリケーションプログラム１０３Ａから情報を要求する場合、クライアントコンピューティングデバイス１１２Ｎ上で動作するセッションにおける他のブラウザは、同一の情報を受信する。
【００２６】
このような実装形態では、遠隔アクセスプログラム１０７Ａは、共同閲覧セッションにおいて様々なウェブブラウザからの要求を遮断するようにプロキシサーバとして機能してもよい。プロキシサーバとして遠隔アクセスプログラム１０７Ａを使用するように構成されると、ウェブブラウザは、完全なＵＲＬ要求を遠隔アクセスプログラム１０７Ａに送信する。次に、遠隔アクセスプログラム１０７Ａは、アプリケーションプログラム１０３Ａと関連付けられる画面抽出アプリケーション１０５Ａから画面データを取り出し、要求の結果をウェブブラウザに返送する。
【００２７】
ウェブブラウザは、共同閲覧セッションが情報を受信することを可能にするようにクライアント遠隔アクセスプログラム（例えば、Ｆｌａｓｈ、Ｓｉｌｖｅｒｌｉｇｈｔ、Ｊａｖａ（登録商標））を実行してもよい。加えてまたはあるいは、ＨＴＭＬ５は、ウェブブラウザが情報をネイティブに受信することを可能にするために使用されてもよい。したがって、ウェブブラウザは、クライアント遠隔アクセスプログラムであってもよい。
【００２８】
いくつかの実装形態では、システム１００内のユーザ共同閲覧は、複数のアプリケーションプログラム１０３Ａおよび１０３Ｂ（例えば、図２Ｂおよび２Ｃの環境の混成）との対話であってもよい。したがって、本開示は、アプリケーションプログラム１０３Ａおよび１０３Ｂの再結合を提供することができ、ここでアプリケーションが共同閲覧セッションに参加するクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのそれぞれに提示される同一のユーザインターフェースにシームレスに統合される。再結合は、後述される図３の状態モデル内に含まれる情報に基づいて提供されてもよい。
【００２９】
いくつかの実装形態では、遠隔アクセスプログラム（サーバおよびクライアント）の動作は、図３に例示されるように、状態モデル３００と協働して行われる。実行されると、クライアント遠隔アクセスプログラムは、ユーザインターフェースプログラムから受信したユーザ入力データに従って状態モデル３００を更新する。遠隔アクセスプログラムは、更新された状態モデルに従って制御データを生成し、サーバコンピューティングデバイス１０２Ａまたは１０２Ｂ上で（画面抽出アプリケーションを介して）動作するアプリケーションプログラムに同一のものを提供することができる。アプリケーションプログラムは、エンドユーザがクライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのうちの１つを使用して対話するサーバコンピューティングデバイス１０２Ａまたは１０２Ｂ上で動作する任意のアプリケーションであってもよい。
【００３０】
画面抽出アプリケーションからアプリケーションデータを受信すると、サーバ遠隔アクセスプログラムは、画面またはアプリケーションデータに従って状態モデル３００を更新し、更新された状態モデルに従って表現データを生成し、クライアントコンピューティングデバイス上のユーザインターフェースプログラムに同一のものを提供する。状態モデル３００には、アプリケーションプログラムの論理要素の、アプリケーションプログラムの対応する状態との関連付けが含まれ、論理要素は、階層的順序にある。例えば、論理要素は、アプリケーションプログラムユーザインターフェースを構成する、スクリーン、メニュー、サブメニュー、ボタンなどであり得る。これは、クライアントデバイスが、例えば、論理要素をネイティブに表示することを可能にする。そのように、移動電話上に提示されるアプリケーションプログラム１０３Ａのメニューは、移動電話のネイティブメニューのように見えることになる。同様に、デスクトップコンピュータ上に提示されるアプリケーションプログラム１０３Ａのメニューは、デスクトップコンピュータオペレーティングシステムのネイティブメニューのように見えることになる。本開示の態様によれば、画面画像は、別個のチャネルにおける単一の論理要素としてクライアントに通信されてもよい。画面画像は、クライアント遠隔アクセスプログラムが別個のチャネルから画面画像を取り出し、かつそれをクライアント上に表示することを可能にするために状態モデルで参照されてもよい。したがって、画面は、クライアントコンピューティングデバイス１１２Ａ、１１２Ｂ、１１２Ｃ…１１２Ｎのそれぞれに実質的に類似の外観を有するが、それぞれのデバイスの特性によって拡大縮小されてもよい。
【００３１】
状態モデル３００は、それぞれの論理要素がアプリケーションプログラムの対応する状態に関連付けられるように決定される。状態モデルは３００、論理要素がユーザとの相互作用に関連付けられるように決定されてもよい。例えば、アプリケーションプログラムの論理要素は、論理要素が遷移要素を含むように決定され、それぞれの遷移要素は、状態モデル３００の変更を、制御データおよびそれに関連付けられたアプリケーション表現データのうちの１つに関連付ける。
【００３２】
いくつかの実装形態では、状態情報は、アプリケーションプログラムによって生成される画面画像を含む１つ以上の矩形領域への１つまたは複数の参照を含むことができる。ユーザがクライアントデバイスにおける表示のために１つ以上の矩形領域の中で選択することを可能にするようにクライアント遠隔アクセスプログラムによって制御が提供されてもよい。いくつかの実装形態では、この制御は、ユーザによる選択のために複数のアプリケーションプログラム（例えば、１０３Ａおよび１０３Ｂ）によって作成される画面画像データの１つ以上の矩形領域の中の選択を提供してもよい。
【００３３】
いくつの実装形態では、図２Ａ〜２Ｃに関して上述されるように、状態情報は、クライアントコンピューティングデバイスのディスプレイの状態に関する情報を含んでもよい。例えば、ディスプレイ解像度は、状態モデル３００で維持されてもよく、クライアントコンピューティングデバイスの能力に従って表現データのリファクタリングの一部として使用されてもよい。状態モデルはまた、再結合目的に使用され得る情報を含んでもよい。
【００３４】
図４は、状態モデル３００を利用するサーバベースのアプリケーションプログラムへの遠隔アクセスを提供するように行われるプロセスの動作フロー図４００を例示する。４０２では、遠隔アクセスプログラムがサーバコンピューティングデバイスで提供される。例えば、サーバ遠隔アクセスプログラム１０７Ａは、補完的なクライアント遠隔アクセスプログラムを動作するクライアントコンピューティングデバイスによる遠隔アクセスを可能にするようにサーバコンピューティングデバイス１０２Ａ上に提供されてもよい。
【００３５】
４０４では、クライアントから通信が受信される。ユーザは、クライアントコンピューティングデバイス上のユーザ対話プログラムを使用してサーバコンピューティングデバイス１０２Ａと連絡を取ることができる。クライアントはまた、クライアントコンピューティングデバイスの特性および能力に関してサーバ遠隔アクセスプログラム１０７Ａに情報を提供することができる。
【００３６】
４０６では、アプリケーションと関連付けられる画面が抽出される。この表示は、画面抽出アプリケーション１０５Ａによって抽出されるアプリケーションプログラム１０３Ａによって生成される。４０７では、画面は、所望されればアプリケーションプログラム（サービス）によって拡大縮小または切り取られてもよい。４０８では、表現データは、クライアントへの通信のために生成される。クライアントコンピューティングデバイスの特性および能力に従って、サービス（すなわち、画面抽出アプリケーション）は、クライアントコンピューティングデバイスに提供される表示情報を、それがクライアントコンピューティングデバイスに対して適切にサイズ決めされるように拡大縮小または切り取ることができる。
【００３７】
４１０では、状態モデルが更新される。上述されるように、状態モデル３００は、論理要素のそれぞれがアプリケーションプログラムの対応する状態と関連付けられるように決定される。別個のチャネルで通信される画面画像は、状態モデルで参照される単一の論理要素として使用されてもよい。４１２では、表現データおよび状態モデルは、クライアントへ通信される。この通信は、通信ネットワーク１１０上であってもよい。４１４では、画面データは、別個のチャネルから取り出され、視認するためにクライアントデバイス上に提示される。
【００３８】
いくつかの実装形態によれば、ユーザは、ユーザ対話プログラムおよびクライアントとサーバ遠隔アクセスプログラムとの協働によってアプリケーションプログラム１０３Ａと対話することができる。したがって、ユーザ対話（複数可）は、４１６で状態モデルを更新するために使用されてもよく、アプリケーションプログラム１０３Ａを更新するためにサーバコンピューティングデバイス１０２Ａに戻されてもよい。
【００３９】
したがって、上記を考慮して、サーバ上で動作するアプリケーションプログラムへの遠隔アクセスを非侵襲的に提供するためのシステムおよび方法が提供される。
【００４０】
図５は、サーバベースのアプリケーションプログラムへの遠隔アクセスを提供するために行われるプロセスの動作フロー図５００を例示する。いくつかの実装形態では、サーバ遠隔アクセスプログラム１０７Ａおよび１０７Ｂは、クライアントコンピューティングデバイスがサーバコンピューティングデバイス１０２Ａまたは１０２Ｂ上で動作する１つ以上のアプリケーションプログラムに接続することができる１つ以上のユニフォームリソースロケータ（ＵＲＬ）を生成する。それぞれのアプリケーションプログラムは、それと関連付けられた固有のＵＲＬを有することができる。このＵＲＬは、ユーザがサーバコンピューティングデバイス上のアプリケーションプログラムのうちの１つ以上を選択およびそれと対話することを可能にするようにクライアントコンピューティングデバイスに通信される。例えば、ユーザ対話プログラムでは、アイコン、リンク、メニュー項目などが、列挙されたＵＲＬのそれぞれを表すことを提示されてもよい。ユーザは、適切なアイコン、リンク、メニュー項目などの選択によってＵＲＬを選択することができる。
【００４１】
動作フロー５００では、上述されるＵＲＬ機構は、サーバベースのアプリケーションプログラムへの遠隔アクセスを提供するために用いられる。５０２では、１つ以上のアプリケーションと関連付けられた１つ以上のＵＲＬを列挙するために遠隔アクセスプログラムがサーバコンピューティングデバイスで提供される。例えば、サーバ遠隔アクセスプログラム１０７Ａは、サーバコンピューティングデバイス１０２Ａ上に提供されてもよい。ＵＲＬは、例えば、サーバコンピューティングデバイス１０２Ａ上で動作するアプリケーションプログラム１０３Ａにアクセスするためにクライアントコンピューティングデバイス上のユーザ対話プログラム内でアクセスされてもよい。サーバ遠隔アクセスプログラム１０７Ａは、どのアプリケーションプログラムがサーバコンピューティングデバイス１０２Ａ上で動作しているかを決定して、アプリケーションのそれぞれと関連付けられたＵＲＬを列挙し、ＵＲＬで決定されたアプリケーションプログラムへのアクセスを提供することができる。
【００４２】
５０４では、クライアントから通信が受信される。ユーザは、クライアントコンピューティングデバイス上のユーザ対話プログラムで提供される列挙されたＵＲＬのうちの１つ以上に接続することによってサーバコンピューティングデバイス１０２Ａと連絡を取ることができる。クライアントはまた、クライアントコンピューティングデバイスの特性および能力に関してサーバ遠隔アクセスプログラム１０７Ａに情報を提供することができる。
【００４３】
５０６では、アプリケーションと関連付けられた画面が抽出される。この表示は、画面抽出アプリケーション１０５Ａによって抽出されるアプリケーションプログラム１０３Ａによって生成される。５０８では、表現データは、クライアントへの通信のために生成される。クライアントコンピューティングデバイスの特性および能力に従って、サーバコンピューティングデバイス１０２Ａは、クライアントコンピューティングデバイスに提供される表示情報を、それがクライアントコンピューティングデバイスに対して適切にサイズ決めされるように、拡大縮小、サイズ変更、または切り取るすることができる。
【００４４】
５１０では、表現データは、クライアントに通信される。この通信は、通信ネットワーク１１０上であってもよい。５１２では、画面データは、視認するためにクライアントデバイス上に提示される。いくつかの実装形態によれば、ユーザは、ユーザ対話プログラムおよびクライアントとサーバ遠隔アクセスプログラムとの協働によってアプリケーションプログラム１０３Ａと対話することができる。したがって、ユーザ対話（複数可）は、ユーザ対話プログラムで提示される１つ以上のＵＲＬにアクセスするために使用されてもよい。５１４では、ユーザが異なるアプリケーションまたは現在複数のアプリケーションと対話することができるように選択されたＵＲＬを介して接続が確立されてもよい。さらに、複数のクライアントコンピューティングデバイスは、複数のクライアントコンピューティングデバイスが列挙されたＵＲＬでアプリケーションプログラムと同時に対話する協調環境を提供するために図３に従ってアプリケーションプログラムと遠隔で対話することができる。
【００４５】
したがって、上記を考慮して、サーバ上で動作するアプリケーションプログラムへの遠隔アクセスを非侵襲的に提供するためのさらに別のシステムおよび方法が提供される。
【００４６】
図６は、実施形態および態様例が実装され得る例示的なコンピューティング環境を示す。コンピューティングシステム環境は、適切なコンピューティング環境の単なる一例であり、使用または機能性の範囲についての何の限定も提案することを意図されない。
【００４７】
多くの他の汎用または特別目的のコンピューティングシステム環境または構成が、使用され得る。使用に適するであろう周知のコンピューティングシステム、環境、および／または構成の例は、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、手持ち型またはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、ネットワークパーソナルコンピュータ（ＰＣ）、ミニコンピュータ、メインフレームコンピュータ、埋め込み型システム、上記システムまたはデバイスのいずれかを含む分散型コンピューティング環境、および同様のものを含む。
【００４８】
コンピュータによって実行される、例えばプログラムモジュールなどのコンピュータで実行可能な命令が、使用され得る。一般的に、プログラムモジュールは、特定のタスクを機能させるまたは特定の抽象データ種類を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。分散型コンピューティング環境が、使用され得、そこでは、タスクは、通信ネットワークまたは他のデータ伝送媒体を通してつなげられる遠隔処理デバイスによって機能される。分散型コンピューティング環境では、プログラムモジュールおよび他のデータは、メモリ記憶デバイスを含むローカルおよび遠隔の両方のコンピュータ記憶媒体内に位置し得る。
【００４９】
図６を参照にして、本明細書において説明される態様を実装するための例示的なシステムは、コンピューティングデバイス６００などのコンピューティングデバイスを含む。それの最も基本的な構成において、コンピューティングデバイス６００は、典型的には少なくとも１つの処理部６０２およびメモリ６０４を含む。正確な構成およびコンピューティングデバイスの種類次第で、メモリ６０４は、揮発性（例えば、ランダムアクセスメモリ（ＲＡＭ）など）、不揮発性（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリなど）、またはその２つのいくつかの組み合わせとすることができる。これの最も基本的な構成は、破線６０６によって図６に例示される。
【００５０】
コンピューティングデバイス６００は、付加的な特徴／機能性を有し得る。例えば、コンピューティングデバイス６００は、限定されるものではないが、磁気もしくは光学ディスクまたはテープを含む付加的な（取り外し可能および／または取り外し不可能な）記憶装置を含み得る。そのような付加的な記憶装置は、取り外し可能な記憶装置６０８および取り外し不可能な記憶装置６１０によって、図６に例示される。  
【００５１】
コンピューティングデバイス６００は典型的に、様々な有形的コンピュータ読み取り可能な媒体を含む。有形的コンピュータ読み取り可能な媒体は、デバイス６００によってアクセスされ得る任意の利用可能な媒体であってもよく、揮発性かつ不揮発性媒体、取り外し可能かつ取り外しができない媒体の両方を含む。
【００５２】
有形的コンピュータ記憶媒体は、例えばコンピュータで読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性の、ならびに取り外し可能および取り外し不可能な媒体を含む。メモリ６０４、取り外し可能な記憶装置６０８、および取り外し不可能な記憶装置６１０は、コンピュータ記憶媒体のすべての例である。有形的コンピュータ記憶媒体は、限定されるものではないが、ＲＡＭ、ＲＯＭ、電気的に消去可能なプログラム読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、ＣＤ‐ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を格納するために使用され得るおよびコンピューティングデバイス６００によってアクセスされ得る任意の他の媒体を含む。任意のそのようなコンピュータ記憶媒体は、コンピューティングデバイス６００の一部とすることができる。
【００５３】
コンピューティングデバイス６００は、デバイスが他のデバイスと通信することを可能にする通信接続（複数可）６１２を含み得る。コンピューティングデバイス６００はまた、例えばキーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス（複数可）６１４を含み得る。ディスプレイ、スピーカ、プリンタなどの出力デバイス（複数可）６１６もまた、含まれ得る。すべてのこれらのデバイスは、当技術分野において周知であり、ここで長々と記述される必要はない。
【００５４】
本明細書において説明される様々な技法は、ハードウェアまたはソフトウェアに関して、あるいは適切な場合には両者の組み合わせに関して実装され得ることが理解されるべきである。それ故、現在開示された主題の方法および装置、あるいはそれらの一定の態様または部分は、例えばフロッピー（登録商標）ディスケット、ＣＤ‐ＲＯＭ、ハードドライブ、または任意の他の機械で読み取り可能な記憶媒体などの有形的媒体に具現化されたプログラムコード（すなわち、命令）の形態を取り得、プログラムコードがコンピュータなどの機械にロードされ、その機械によって実行されると、機械は、現在開示された主題を実践するための装置になる。プログラム化できるコンピュータ上のプログラムコードの実行の場合には、コンピューティングデバイスは、一般的に、プロセッサ、プロセッサによって読み取り可能な（揮発性および不揮発性メモリならびに／あるいは記憶要素を含む）記憶媒体、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含む。１つ以上のプログラムは、例えば、アプリケーションプログラミングインターフェース（ＡＰＩ）、再使用可能な制御、または同様のものの使用を通して、現在開示された主題に関して説明される処理を実装し得るまたは利用し得る。そのようなプログラムは、コンピュータシステムと通信するための高レベル手順またはオブジェクト指向プログラミング言語で実装され得る。しかしながら、プログラム（複数可）は、必要に応じて、アセンブリまたは機械言語で実装され得る。いずれの場合においても、言語は、コンパイルされたまたは解釈された言語であり得、それは、ハードウェア実装と組み合わされ得る。  
【００５５】
主題は、構造的特徴および／または方法の動作に特有の言語で説明されたが、特許請求の範囲において定義された主題は、必ずしも上記特有の特徴または動作に限定されないことが理解されることになる。むしろ、上記特有の特徴または動作は、特許請求の範囲を実施する形態例として開示される。
【図１】
2014531626.tif 000003
【図２Ａ】
2014531626.tif 000004
【図２Ｂ】
2014531626.tif 000005
【図２Ｃ】
2014531626.tif 000006
【図３】
2014531626.tif 000007
【図４】
2014531626.tif 000008
【図５】
2014531626.tif 000009
【図６】
2014531626.tif 000010
【国際調査報告】
2014531626.tif 000011
2014531626.tif 000012
2014531626.tif 000013
2014531626.tif 000014
2014531626.tif 000015
2014531626.tif 000016
2014531626.tif 000017
2014531626.tif 000018
2014531626.tif 000019
2014531626.tif 000020
2014531626.tif 000021