(57)【要約】  第２のコンピューティング装置を制御する第１のコンピューティング装置であって、第１のコンピューティング装置は、プロセッサと、ユーザに向けてデータを表示するディスプレイと、制御をユーザが入力するためにディスプレイにわたって移動可能なポインタの形式のユーザ入力と、第１のコンピューティング装置を第２のコンピューティング装置と接続するデータ・リンクであって、第２のコンピューティング装置からの画像データがデータ・リンクを介して第１のコンピューティング装置において受け取られ、ユーザ制御が、第１のコンピューティング装置から第２のコンピューティング装置に送られ、それにより、第１のコンピューティング装置は第２のコンピューティング装置を制御するデータ・リンクとを備える。ディスプレイは、ディスプレイ上のウィンドウ内に第２のコンピューティング装置からの画像データを表示し、ウィンドウはディスプレイよりも小さい。プロセッサは、ポインタがウィンドウを離れたことを判定し、ポインタがウィンドウを離れたことの判定に応じて、ウィンドウのエッジ上の交点を求め、交点は、ポインタがウィンドウを離れた場所であり、交点が、ウィンドウの最も近い隅部からの閾値距離内にあるか否かを判定し、交点が閾値距離内にあることの判定に応じて、ポインタが、最も近い隅部上に配置されている旨のメッセージを第２のコンピューティング装置に出力するよう構成される。
2015529353.tif 000002
【特許請求の範囲】
【請求項１】
第２のコンピューティング装置を制御する第１のコンピューティング装置であって、前記第１のコンピューティング装置は、
プロセッサと、
ユーザに向けてデータを表示するディスプレイと、
ユーザが制御を入力するために前記ディスプレイにわたって移動可能なポインタの形式のユーザ入力と、
前記第１のコンピューティング装置を前記第２のコンピューティング装置と接続するデータ・リンクであって、前記第２のコンピューティング装置からの画像データが、前記データ・リンクを介して前記第１のコンピューティング装置で受け取られ、ユーザ制御が前記第１のコンピューティング装置から前記第２のコンピューティング装置に送られ、それにより、前記第１のコンピューティング装置は前記第２のコンピューティング装置を制御するデータ・リンクと
を備え、
前記ディスプレイは、前記ディスプレイ上のウィンドウ内に前記第２のコンピューティング装置からの画像データを表示し、前記ウィンドウは前記ディスプレイよりも小さく、
前記プロセッサは、
前記ポインタが前記ウィンドウを離れたことを判定する機能と、
前記ポインタが前記ウィンドウを離れたことの判定に応じて、前記ウィンドウのエッジ上の交点を求める機能であって、前記交点は、前記ポインタが前記ウィンドウを離れた場所である機能と、
前記交点が、前記ウィンドウの最も近い隅部からの閾値距離内にあるか否かを判定する機能と、
前記交点が前記閾値距離内にあることの判定に応じて、前記ポインタが、前記最も近い隅部上に配置されている旨のメッセージを前記第２のコンピューティング装置に出力する機能と
を行うよう構成されたコンピューティング装置。
【請求項２】
請求項１記載のコンピューティング装置であって、前記第１のコンピューティング装置は前記ディスプレイ上の前記ポインタの場所を追跡するオペレーティング・システムを備え、前記プロセッサは、前記ポインタが前記ウィンドウを離れた旨のメッセージを前記オペレーティング・システムから受け取ることにより、前記ポインタが前記ウィンドウを離れたことを判定するよう構成されたコンピューティング装置。
【請求項３】
請求項２記載のコンピューティング装置であって、前記プロセッサは、前記ポインタが前記ウィンドウを離れた前記場所を前記オペレーティング・システムから受け取ることにより、前記交点を求めるよう構成されたコンピューティング装置。
【請求項４】
請求項１記載のコンピューティング装置であって、前記プロセッサは、
前記ディスプレイ上の前記ポインタの場所を受け取る機能と、
前記場所が前記ウィンドウ内にあるか否かを判定する機能と、
前記場所が前記ウィンドウ外にあることの判定に応じて、前記ポインタが以前、前記ディスプレイ内にあったか否かを判定する機能と、
前記ポインタが以前、前記ディスプレイ内にあったことの判定に応じて、前記ポインタが前記ウィンドウを離れたことを判定する機能と
を行うことにより、前記ポインタが前記ウィンドウを離れたことを判定するよう構成されたコンピューティング装置。
【請求項５】
請求項４記載のコンピューティング装置であって、前記場所が前記ウィンドウ内にあることの判定に応じて、前記プロセッサは、前記場所が前記ウィンドウ内にある旨を示すためのフラグをセットし、前記ポインタの次の場所の受け取りを待つよう構成されたコンピューティング装置。
【請求項６】
請求項５記載のコンピューティング装置であって、前記ポインタが以前、前記ディスプレイ内にあったか否かを判定する機能は、前記フラグがセットされているか否かを判定する機能を含むコンピューティング装置。
【請求項７】
請求項４乃至６の何れか一項に記載のコンピューティング装置であって、前記プロセッサは、前記ウィンドウのどの境界が、前記受け取られた場所に最も近いかを判定し、前記最も近い境界の座標であるとして前記場所の一座標を設定することにより、前記交点を求めるよう構成されたコンピューティング装置。
【請求項８】
請求項４乃至６の何れか一項に記載のコンピューティング装置であって、前記プロセッサは、前記ウィンドウ外にある前記受け取られた場所と、前記境界内の以前の場所との間を内挿することにより、前記交点を求めるよう構成されたコンピューティング装置。
【請求項９】
請求項４乃至８の何れか一項に記載のコンピューティング装置であって、前記第１のコンピューティング装置は、前記ディスプレイ上の前記ポインタの前記場所を追跡し、前記ディスプレイ上の前記ポインタの前記場所を前記プロセッサに送るオペレーティング・システムを備えるコンピューティング装置。
【請求項１０】
請求項９記載のコンピューティング装置であって、前記オペレーティング・システムは、前記ポインタを移動させる都度、前記ポインタの前記場所を備えるメッセージを送出するコンピューティング装置。
【請求項１１】
請求項１乃至１０の何れか一項に記載のコンピューティング装置であって、前記交点が前記閾値距離外にあることの判定に応じて、前記プロセッサは、前記ポインタが前記交点に配置されている旨のメッセージを前記第２のコンピューティング装置に出力するよう構成されたコンピューティング装置。
【請求項１２】
請求項１乃至１１の何れか一項に記載のコンピューティング装置であって、前記閾値距離は３０画素であるコンピューティング装置。
【請求項１３】
請求項１乃至１２の何れか一項に記載のコンピューティング装置であって、前記閾値距離は、前記ウィンドウの長さの４％及び幅の４％の小さい方であるコンピューティング装置。
【請求項１４】
請求項１乃至１３の何れか一項に記載のコンピューティング装置であって、前記閾値距離は１／４インチであるコンピューティング装置。
【請求項１５】
請求項１乃至１４の何れか一項に記載のコンピューティング装置であって、前記プロセッサは前記閾値距離を定義するためのユーザ入力を受け取るよう構成されたコンピューティング装置。
【請求項１６】
請求項１乃至１５の何れか一項に記載の前記第１のコンピューティング装置と、前記第１のコンピューティング装置に結合された第２のコンピューティング装置とを備えるシステムであって、前記第２のコンピューティング装置は、最も近い隅部上に前記ポインタが配置されている旨の前記メッセージを受け取るとユーザ・インタフェースを起動させるよう構成されたシステム。
【請求項１７】
第１のコンピューティング装置を使用して第２のコンピューティング装置を制御する方法であって、前記方法は、
前記第１のコンピューティング装置のディスプレイ上のウィンドウ内に前記第２のコンピューティング装置からの画像データを表示する工程であって、前記ウィンドウは前記ディスプレイよりも小さい工程と、
前記ディスプレイにわたって移動可能なポインタが前記ウィンドウを離れたことを判定する工程と、
前記ポインタが前記ウィンドウを離れたことの判定に応じて、前記ウィンドウのエッジ上の交点を判定する工程であって、前記交点は、前記ポインタが前記ウィンドウを離れた場所である工程と、
前記交点が、前記ウィンドウの最も近い隅部からの閾値距離内にあるか否かを判定する工程と、
前記交点が前記閾値距離内にあることの判定に応じて、前記ポインタが、前記最も近い隅部上に配置されている旨のメッセージを前記第２のコンピューティング装置に出力する工程と
を含む方法。
【請求項１８】
プロセッサ上で実行されると請求項１７記載の工程を前記プロセッサに行わせるプロセッサ制御コードを収容する担体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング装置を遠隔制御し、かつ／又はビューする方法及びシステムに関する。
【背景技術】
【０００２】
第１のコンピュータ装置（ＶＮＣビューア）上で実行されている仮想ネットワーク・コンピューティング（ＶＮＣ）ビューア・アプリケーション及び第２のコンピュータ装置（ＶＮＣサーバ）上で実行されているＶＮＣサーバ・アプリケーションを使用して第２のコンピュータ装置をビューし、制御するために第１のコンピュータ装置を使用することが知られている。第２のコンピュータ装置の表示の内容は、通常、第２のコンピュータから遠く離れた第１のコンピュータ装置上に複製される。第１のコンピュータ装置は、装置上の物理キーを押す工程、マウス・カーソルを移動させる工程、又はタッチ画面入力に接触する工程などのユーザ入力イベントを、制御されている第２のコンピュータ装置にユーザが送出することを可能にするインタフェース機構を有する。データ・リンクの形式、及びコンピュータ装置の性質が、使用されている状況に応じて変わり得るということが分かる。
【０００３】
第１のコンピュータ装置は、遠隔制御機能を使用するサポート技術者が、第２のコンピュータ装置を使用する顧客に装置サポートを提供するためのものであり得る。会社の顧客が、そのコンピュータ装置の問題点に直面した場合、サポート技術者は、第１の装置を使用することにより、顧客の装置をビューし、又は顧客の装置と相互作用することにより、問題点について診断し、解決することが可能である。あるいは、サポート技術者は第１の装置を使用して、ユーザの装置上のソフトウェア又は他の設定をインストールし、又は更新し得る。あるいは、第１のコンピュータ装置は、ユーザが遠隔制御機能を使用して別のコンピュータ装置を制御するためのものであり得る。
【０００４】
コンピュータ装置上で実行されているオペレーティング・システムは、ユーザがマウスを画面の特定の隅部（又はエッジ）に移動させることに依存することが知られている。例えば、マイクロソフト（商標登録）は、ウィンドウズ（商標登録）８のデスクトップ挙動においてモダン（Ｍｏｄｅｒｎ）ＵＩ「スタート・スクリーン（Ｓｔａｒｔ  Ｓｃｒｅｅｎ）」を導入している。モダン（Ｍｏｄｅｒｎ）ＵＩ「スタート・スクリーン（Ｓｔａｒｔ  Ｓｃｒｅｅｎ）」は、画面の左下隅部内をクリックすることによって起動され、その他の隅部及びエッジを、他のユーザ・インタフェースの目的で使用される。ＭａｃＯＳ  Ｘの最近のバージョンは更に、画面の隅部のうちの１つにカーソルが配置されると行われるカスタム動作をユーザが定義することを可能にする。画面のエッジにカーソルを移動させると、折りたたみ可能なドック／タスクバーを提供するオペレーティング・システム（ＯＳ）及びサードパーティー・アプリケーションが存在している。
【０００５】
図１は、第１のコンピュータ装置（ＶＮＣビューアを実行させる局所デスクトップ）からのディスプレイのスクリーンショットを示す。第２のコンピュータ装置（ＶＮＣサーバを実行させる遠隔デスクトップ）からのディスプレイのビューを、第１のコンピュータ装置のフル・ディスプレイ内のウィンドウとして示す。前述のウィンドウは、ＶＮＣビューア・ウィンドウと呼び得る。よって、ＶＮＣビューアは、ユーザが、ＶＮＣビューア・ウィンドウを何ら違ったふうに扱うことなく、他の局所デスクトップ・ウィンドウを扱うことを可能にするので望ましい「ウィンドウ化された」モードにおいて使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１は、前述の状況において生じる、遠隔制御機能の課題を示す。遠隔カーソル（すなわち、遠隔デスクトップ上のカーソル）は、局所カーソル（すなわち、局所デスクトップ上のカーソル）とアラインされた状態から始まる。ユーザは、遠隔ディスプレイ内の左下隅部のユーザ・インタフェースを移動させたく、よって、遠隔デスクトップ・ビューの隅部にほぼ、狙いを定めて、すばやい動作で局所カーソルをＢに移動させる。ユーザが物理的に遠隔デスクトップにおいて作業していた場合、前述のすばやく、粗いやり方でマウスを左下に移動させることには、後の補正移動は必要でなく、所望のユーザ・インタフェースをトリガする。一般に、個々のすばやいマウスの移動はあまり正確でなく、ユーザは通常、精度を実現するためにマウスをゆっくりと移動させる時間を費やしたくない。ユーザが、遠隔デスクトップのウィンドウの隅部にマウスのカーソルの狙いを定めて、正確な精度を有する可能性は低い。
【０００７】
しかし、図１に示すように、前述の粗い移動により、所望のユーザ・インタフェースをトリガするのに、隅部に十分近い訳でない点Ｃにおいて遠隔カーソルが停止することになる。このことは、局所カーソル及び遠隔カーソルが、限られた速度でしか更新されないために生じる。例えば、マイクロソフト（登録商標）ウィンドウズ（商標登録）７の下で実行される通常のＵＳＢマウスは、１２５Ｈｚで更新される。よって、１６８０画素の幅のディスプレイの場合、ディスプレイにわたるすばやい移動は、約２００ｍｓで実現することが可能である。これは、遠隔デスクトップが約７０画素の間隔でカーソル更新を受け取ることを意味する。よって、局所デスクトップ上のマウス・カーソルは、遠隔マシンをユーザが制御しようとしている際に、遠隔デスクトップ・ディスプレイの所望の隅部／エッジに「定着」するものでない。その代わりに、ユーザは、遠隔デスクトップのビューの隅部／エッジ上に、非常に正確にマウスのカーソルを配置しなければならない。これは、特に、ユーザ・インタフェース機構の検出領域が非常に小さい場合、遅く、まどろっこしいことがあり得る。
【０００８】
局所デスクトップ及び遠隔デスクトップの画面解像度、及びＶＮＣビューアのディスプレイのスケーリング設定に応じてフル画面モードで生じ得る。通常、ＶＮＣビューア画面は、局所デスクトップの全体のディスプレイに及ぶことがなく、局所ディスプレイ上に「レターボックス化されている」とみなし得る。前述の状況では、ユーザは、遠隔デスクトップのディスプレイの隅部を当てようとすると、図１に示すフラストレーションを経験する。局所デスクトップのディスプレイ全体にＶＮＣビューア画面が完全に及ぶ場合にのみ、「隅部を当てる」という問題はなくなり、局所デスクトップ上でのユーザ体験は、物理的に遠隔デスクトップにおいて作業していることと非常に類似することになる。
【０００９】
本願の出願人は、遠隔制御の向上に対する必要性を認識している。
【課題を解決するための手段】
【００１０】
本発明の第１の局面によれば、遠隔コンピューティング装置を制御するための第１のコンピューティング装置が提供され、第１のコンピューティング装置は、
プロセッサと、
ユーザに向けてデータを表示するディスプレイと、
ユーザが制御を入力するためにディスプレイにわたって移動可能なポインタの形式のユーザ入力と、
第１のコンピューティング装置を遠隔コンピューティング装置と接続するデータ・リンクであって、遠隔コンピューティング装置からの画像データが、データ・リンクを介して第１のコンピューティング装置で受け取られ、ユーザ制御が第１のコンピューティング装置から遠隔コンピューティング装置に送られ、第１のコンピューティング装置は遠隔コンピューティング装置を制御するデータ・リンクとを備え、
ディスプレイは、ディスプレイ上のウィンドウ内に遠隔コンピューティング装置からの画像データを表示し、ウィンドウはディスプレイよりも小さく、
プロセッサは、
ポインタがウィンドウを離れたことを判定する機能と、
ポインタがウィンドウを離れたことの判定に応じて、ウィンドウのエッジ上の交点を求める機能であって、交点は、ポインタがウィンドウを離れた場所である機能と。
【００１１】
交点が、ウィンドウの最も近い隅部からの閾値距離内にあるか否かを判定する機能と、
交点が閾値距離内にあることの判定に応じて、ポインタが、最も近い隅部上に配置されている旨のメッセージを遠隔コンピューティング装置に出力する機能とを行う
よう構成される。
【００１２】
本発明の第２の局面によれば、第１のコンピューティング装置を使用して遠隔コンピューティング装置を制御する方法が提供され、方法は、
第１のコンピューティング装置のディスプレイ上のウィンドウ内に遠隔コンピューティング装置からの画像データを表示する工程であって、ウィンドウがディスプレイよりも小さい工程と、ディスプレイにわたって移動可能なポインタがウィンドウを離れたことを判定する工程と、
ポインタがウィンドウを離れたことの判定に応じて、ウィンドウのエッジ上の交点を判定する工程であって、上記交点は、ポインタがウィンドウを離れた場所である工程と、
交点が、ウィンドウの最も近い隅部からの閾値距離内にあるか否かを判定する工程と、
交点が閾値距離内にあることの判定に応じて、ポインタが、最も近い隅部上に配置されている旨のメッセージを遠隔コンピューティング装置に出力する工程とを含む。
【００１３】
以下の構成は、方法及びシステムに適用される。
【００１４】
第１の装置及び第２の装置（局所及び遠隔）は、何れかのコンピューティング端末（例えば、デスクトップ、ＰＣ、サーバ、及び（携帯電話機、ＰＤＡ、ラップトップ、タブレット、及び同様な装置などの）ポータブル装置であり得る。遠隔とは、通常、２つの装置が互いに、物理的に離れていることを意味する。装置は、互いにかなりの距離だけ、離れて配置されていてもよく、（例えば、何れも車両内で）近くに配置されていてもよい。しかし、装置の一方又は両方が仮想マシンであることも考えられ、その場合、実行される対象の装置は同じ物理マシン上にある。第２の装置（遠隔装置）は、ＶＮＣサーバと呼び得る。第１の装置上（局所装置上）でビューする対象の情報を送出するからである。第１の装置はＶＮＣビューアと呼び得る。前述の語は、明細書を通して同義で使用される。
【００１５】
ポインタは、ディスプレイにわたって移動可能な何れかのユーザ入力であり、通常、これは、マウスの制御下にあるカーソルであるが、それに制限されるものでない。例えば、ディスプレイはタッチ感応型であり得、ポインタは画面上のユーザ・タッチであり得る。
【００１６】
本発明では、ポインタの場所は、ウィンドウの外に移動する場合、特定の場所まで強いられるに過ぎない。よって、ユーザが最初にウィンドウにクリックする際にポインタを捕捉し、ウィンドウに制限されるようにポインタの移動を積極的に監視する必要性は存在しない。よって、ポインタは、第１のコンピューティング装置のディスプレイ全体にわたってその通常のやり方で挙動することが可能になる。このことは、別々のソフトウェアを有するユーザに対して問題をもたらすリスクを軽減する。ユーザがポインタをリリースするために、別のアイコン又は機構（例えば、キーの組み合わせ、数秒の間、ウィンドウのエッジに対して把持すること、ウィンドウのエッジに対するダブル・バウンス）を含める必要性も存在しない。よって、ユーザ体験は遅くならない。本発明は更に、ウィンドウ内の遠隔コンピューティング装置のビューの修正を何ら必要としない（すなわち、ウィンドウのエッジ／隅部に当たるうえでの精度の低下を考慮するための境界又はバッファ・ゾーンは必要でない。）
上記背景部分で説明したように、遠隔コンピューティング装置をビューするウィンドウを何ら違ったふうに扱うことなく、ユーザが他の局所デスクトップ・ウィンドウを扱うことを可能にするため、「ウィンドウ化された」モードにおいてコンピューティング装置を使用することが望ましい。前述の実施例では、「ウィンドウ」の語は、周知の専門用語である。上記背景部分は、遠隔コンピューティング装置のディスプレイが、フル画面モードで動作していても第１のコンピューティング装置のディスプレイ全体に及ばないことがあり得ることを明確にしている。前述の実施例では、遠隔コンピューティング装置のディスプレイは更に、第１のコンピューティング装置のディスプレイ上のウィンドウ内にあるとみなされる。よって、本発明のコンテキストにおけるウィンドウは単に、ディスプレイのフル領域よりも小さい、ディスプレイ上の領域であり、ディスプレイの最も近いエッジと離間した少なくとも１つの境界（エッジ）を有する。前述の領域は通常、矩形であるが、第１のコンピューティング装置によってサポートされる場合、他の形状を使用することが可能である。
【００１７】
前述の第１のコンピューティング装置は、ディスプレイ上のポインタの場所を追跡するオペレーティング・システムを含み得る。オペレーティング・システムは、ディスプレイ上のポインタの場所に関する定期的な更新をプロセッサに提供し得る。あるいは、オペレーティング・システムは、ポインタをユーザによって移動させる限り、更新を提供し得る。オペレーティング・システムは、ポインタがウィンドウを離れる時点を判定することができ、よって、ポインタがウィンドウを離れる都度、メッセージを生成し得る。更に、オペレーティング・システムは、交点の位置も提供し得る。よって、前述の実施例では、プロセッサは、ポインタがウィンドウを離れた旨のメッセージをオペレーティング・システムから受け取ることにより、ポインタがウィンドウを離れたことを判定するよう構成し得る。同様に、プロセッサは、ポインタがウィンドウを離れた場所をオペレーティング・システムから受け取ることにより、交点を求めるよう構成し得る。
【００１８】
オペレーティング・システムがないか、又は、オペレーティング・システムが、（例えば、フル画面モードで動作している場合に）ポインタがウィンドウを離れる時点を判定することが可能でない実施例が存在し得る。前述の実施例では、プロセッサは、ポインタがウィンドウを離れた旨の、オペレーティング・システムからのメッセージを合成するよう構成し得る。例えば、プロセッサは、ディスプレイ上のポインタの場所を受け取り、上記場所がウィンドウ内にあるか否かを判定するよう構成し得る。受け取られた場所がウィンドウ外にあると判定された場合、プロセッサは、ポインタが以前、ディスプレイ内にあったか否かを判定し、ポインタが以前、ディスプレイ内にあったことの判定に応じて、ポインタがウィンドウを離れたことを判定するよう構成し得る。
【００１９】
ポインタが以前、ディスプレイ内にあったか否かの判定は、ブール値を記憶することによって実現し得る。例えば、受け取られた場所がウィンドウ内にあると判定された場合、ブール値を真に設定して、上記場所がウィンドウ内にある旨を示し得る。プロセッサは次いで、ポインタの次の場所の受け取りを待つよう構成し得る。すなわち、プロセッサは、開始時にループバックする。受け取られた場所がウィンドウ外にあると判定された場合、プロセッサは、ポインタが以前、ディスプレイ内にあったか否かを、ブール値が設定されているか否かを判定することによって判定するよう構成し得る。ブール値が設定されている場合、以前の場所はウィンドウ内であり得、よって、ポインタが直前にウィンドウを離れており、よって、プロセッサは効果的に「ウィンドウを離れた」とのメッセージを生成する。しかし、ブール値が設定されていない場合、以前の場所は更に、ウィンドウ外であり、よって、ポインタは、先行するイベントにおいてウィンドウを離れている。前述の状態では、プロセッサは、次いで、開始にループバックし、ポインタの次の場所の受け取りを待つよう構成し得る。
【００２０】
ポインタが直前にウィンドウを離れたことをプロセッサが判定する場合、プロセッサは次いで、交点を判定し得る。これは、ウィンドウのどの境界が、受け取られた場所に最も近いかを判定し、場所の一座標を、最も近い境界の座標であるように設定することによって行い得る。あるいは、これは、ウィンドウ外の受け取られた場所と、境界内の先行する場所との間で補間することによって行い得る。この方法では、交点は、補間線が境界と交差する点である。
【００２１】
閾値距離は、寸法のパーセンテージ（例えば、ディスプレイ、若しくはディスプレイ内のウィンドウの幅／長さの４％）、又は、距離値（例えば、１／４インチ（２．５ｃｍ））として表し得る。あるいは、閾値距離は画素（例えば、３０画素又は２４画素）で提供し得る。閾値は、ウィンドウを表示したディスプレイによって通知されたインチ毎画素／ドット（ＤＰＩ）を検査することによって設定し得る。ＤＰＩは、閾値として使用する対象の画素数を算出するために使用し得る。例えば、１／４インチは、適切なサイズの標的であり、９６ＤＰＩの通常のディスプレイの場合、これは、２４画素という閾値をもたらす。この方法は、最新のマックブック（ＭａｃＢｏｏｋ）上に存在している、非常に高いＤＰＩを有するディスプレイ（例えば、２２０ＤＰＩの「レティナ（Ｒｅｔｉｎａ）」ディスプレイ）上の、当てるのが容易な標的を提供する。前述の装置の場合の画素数が固定であることにより、前述のディスプレイ上に当てる対象の物理標的はずっと小さくなる。閾値はユーザ構成可能であり得、例えば、プロセッサは、閾値距離を定義するためにユーザ入力を受け取るよう構成し得る。
【００２２】
交点が閾値距離外にあると判定された場合、プロセッサは、ポインタが交点に配置されている旨のメッセージを遠隔コンピューティング装置に出力するよう構成し得る。このようにして、遠隔コンピューティング装置上のポインタは、局所ポインタをウィンドウ外に移動させた場合にディスプレイ遠隔コンピューティング装置のエッジに配置される。これは、エッジベースのユーザ・インタフェース・エレメントを起動させ得る。
【００２３】
本発明の別の局面によれば、上述したような第１のコンピューティング装置、及び第１のコンピューティングに結合された遠隔コンピューティング装置を備えるシステムが提供され、遠隔コンピューティング装置は、最も近い隅部上にポインタが配置されている旨のメッセージを遠隔コンピューティング装置が受け取ると、ユーザ・インタフェースを起動させるよう構成される。
【００２４】
本発明は更に、（例えば汎用コンピュータ・システム上、又はディジタル信号プロセッサ（ＤＳＰ）上に）上記システム及び方法を実現するためのプロセッサ制御コードを提供する。コードは、不揮発性メモリ（例えば、フラッシュ）又はリードオンリ・メモリ（ファームウェア）などのプログラムされたメモリ上、ディスク上、ＣＤ−ＲＯＭ上、又はＤＶＤ−ＲＯＭ上などの担体上に提供し得る。本発明の実施例を実現するためのコード（及び／又はデータ）は、アセンブラ・コード、又はＣなどの（解釈又はコンパイルされた）通常のプログラミング言語におけるソース・・コード、オブジェクト・コード、又は実行可能なコードを含み得る。当業者が認識するように、前述のコード及び／又はデータは、互いに通信し合う結合された複数の構成部分間で分散させ得る。
【図面の簡単な説明】
【００２５】
【図１】第２のコンピュータ装置（遠隔デスクトップ）のディスプレイを示すウィンドウと、第１のコンピュータ装置（局所デスクトップ）上のディスプレイからのスクリーンショットを示す概略図である。
【図２】システムの構成部分を示す概略ブロック図である。
【図３ａ】図２のシステムを制御する方法を示すフローチャートである。
【図３ｂ】図３ａに表すようにカーソル移動が補正された図１のスクリーンショットを示す概略図である。
【図４】第２のコンピュータ装置のディスプレイを示すウィンドウであって、標的領域を有するウィンドウ、及び、第１のコンピュータ装置上のディスプレイからのスクリーンショットの概略図である。
【図５】「カーソルがウィンドウを離れた」を合成して、図３ｂの方法をトリガする方法を示すフローチャートである。
【発明を実施するための形態】
【００２６】
本発明は、添付図面において例として模式的に図示する。
【実施例】
【００２７】
図２は、第２のコンピュータ装置（遠隔装置）３０にネットワーク接続２４を介して接続された第１のコンピュータ装置（局所装置）１０を備える遠隔制御システムの構成部分を示す。局所デスクトップ１０は、プロセッサ１２と、オペレーティング・システム１６と、ポインタ入力サブシステム１８と、ディスプレイ・サブシステム２０と、ネットワーク接続に接続されたネットワーキング・サブシステム２２とを備える。遠隔装置３０は、プロセッサ３２と、ポインタ入力サブシステム３６と、ポインタ位置認識器３８と、ディスプレイ・サブシステム４０と、ネットワーク接続に接続されたネットワーキング・サブシステム４２とを備える。ＶＮＣサーバ・アプリケーション３４は、ディスプレイ・サブシステム４０の画像を捕捉し、局所装置に（データ・リンクとも呼ばれる）ネットワーク接続ネットワーキング・サブシステムを介して送出するために遠隔装置上で実行される。よって、遠隔装置はＶＮＣサーバと呼び得る。対応するＶＮＣビューア・アプリケーション１４が、ネットワーキング・サブシステム２２を介してディスプレイの画像を受け取り、局所ディスプレイ・サブシステム２０上に出力するために局所装置プロセッサ１２上で実行され、よって、局所装置はＶＮＣビューアと呼び得る。
【００２８】
局所装置は、ユーザからのカーソル（ポインタ）移動を入力するためのポインタ入力サブシステム１８を備える。以下に更に詳細に説明するために、局所装置上のカーソル移動は、遠隔装置のディスプレイ上のカーソル移動をトリガすることが可能であり得る。ポインタ・インジェクション・サブシステム３６及びオペレーティング・システム・ポインタ位置認識器サブシステム３８は遠隔装置のＶＮＣサーバ・アプリケーションとともに、遠隔装置上のイベントに、前述のカーソル移動を変換する。
【００２９】
図３ａ及び図３ｂは、図２に示すシステム上で実行される図１に示す課題に対する本願提案の解決策を示す。図３ｂに示すように、局所カーソルはＡからＢに移動する（これは、図３ａの開始工程を表す）。図３ａにおける次の工程では、「Ｄにおいてカーソルがウィンドウを離れた」メッセージを受け取る。局所装置１０が「ウィンドウ化された」モードでＶＮＣビューア・アプリケーション１４を実行している場合（すなわち、遠隔装置３０からのディスプレイが、局所装置１０のディスプレイ上のＶＮＣビューア・ウィンドウ内に示される場合）、オペレーティング・システム１６は、カーソルがＶＮＣビューア・ウィンドウを離れると局所装置のプロセッサ１２に通知を提供する。前述の通知は更に、カーソルがウィンドウを離れた点（図３ｂに示す位置Ｄ）の（局所）座標も提供する。前述の通知はよって、ＶＮＣビューア・ウィンドウのエッジ、及び位置Ａと位置Ｂとの間の線の交点を提供する。
【００３０】
背景部分で説明したように、ＶＮＣビューア・アプリケーションは更に、局所装置上で「フル画面」モードで実行され得る。一部の場合には、ＶＮＣビューア・ウィンドウは、局所装置のディスプレイ全体に及ぶ。しかし、一部の場合には、ＶＮＣビューア・ウィンドウはディスプレイ全体に及ぶ訳でない（例えば、遠隔装置ディスプレイのビューが縮小された場合、又は、遠隔装置ディスプレイのビューが、局所装置の解像度と遠隔装置の解像度との間の差により、「レターボックス化されており」、よって、遠隔装置ディスプレイのビュー周りに黒色の「境界ゾーン」が存在している場合）。フル画面モードで動作している場合、局所装置のオペレーティング・システムは、ＶＮＣビューア・ウィンドウを、局所装置のディスプレイ全体とみなす。よって、オペレーティング・システムは、ユーザが局所カーソルをＶＮＣビューア・ウィンドウ外に移動させた際に「カーソルがウィンドウを離れた」メッセージを生成しない。この場合、図５を参照して説明したような「カーソルがウィンドウを離れた」メッセージを合成する必要がある。
【００３１】
図３ａに戻るに、「カーソルがウィンドウを離れた」が局所装置プロセッサ１２で受け取られた場合の次の工程は、交点（Ｄ）が隅部の特定の範囲内に存在しているか否かを検査する。隅部の点は、図３ｂにおいて位置Ｆとして示す。よって、局所装置プロセッサ１２は、線ＤＥの長さが、閾値よりも短いか、又は長いかを検査し得る。交点が範囲内にある場合、遠隔カーソルの場所は、ＶＮＣポインタ・イベント・メッセージを介して実際の隅部の点に「スナップされる（snapped）」。あるいは、交点が範囲外である場合、交点（Ｄ）に遠隔カーソルの場所を位置付けるＶＮＣポインタ・イベント・メッセージが、局所装置ネットワーキング・サブシステム２２及びネットワーク接続２４を介して局所装置プロセッサ１２から送出される。前述のメッセージは、遠隔装置３０によって受け取られ、遠隔装置のオペレーティング・システム・ポインタ認識器サブシステム３８は前述の場所を処理して、遠隔センサの場所を移動させる。遠隔カーソルの場所は、適宜、イベントをトリガするポインタ・インジェクション・システム３６によって受け取られる。例えば、場所が隅部にスナップされた場合、隅部のユーザ・インタフェースがトリガされる。
【００３２】
検査工程の範囲は局所マシン画素で規定し得、デフォールト閾値（例えば、３０画素）に設定し得る。閾値は更に、局所画面の高さ／幅のパーセンテージであり得る。閾値は更に、別々のサーバ接続について、異なる設定を有し得る。閾値は、ユ―ザ構成可能であり得、ユーザ選好に合うように、ＶＮＣビューア・オプション・ダイアログを介して調節することが可能である。更に、この全体の新たな挙動は、何らかの理由で既存の挙動の維持を望むユーザのために、「範囲」値を０に設定することによってディセーブルすることが可能である。
【００３３】
本願提案の解決策は、よって、局所カーソルを外に移動させると遠隔デスクトップ・ビューのエッジに遠隔カ―ソルが常に配置され、それにより、エッジベースのユーザ・インタフェース・エレメントを起動させることがずっと容易になることを確実にする。更に、ユーザには、次いで、隅部ベースのユーザ・インタフェース・エレメントをトリガするために隅部に狙いを定める場合の、特定の量の（調節可能な）許容範囲が与えられる。
【００３４】
一般に、ポップアップ・ユーザ・インタフェース・エレメントは、起動させると、カーソル場所に関して特定の度合いのヒステリシスを有する。すなわち、隅部／エッジが当たり、ユーザ・インタフェースがフェードイン／スライドインすると、ユーザ・インタフェース・エレメントのフェード・アウェイ／スライド・アウェイを再び行うために、隅部／エッジから離れて、デスクトップの中心に向かう、より大きな移動が必要である。例えば、カーソルが、左下隅部から約５画素内にカーソルがある場合に、ウィンドウズ（登録商標）８リリース・プレビュー「スタート・タイル」ユーザ・インタフェース・エレメントがポップアップするが、一旦現れると、ユーザは、ＵＩエレメントが再び隠れるまで、約２５画素分、離れた所まで移動することが可能である。
【００３５】
上述のように、マウス・カーソルは、局所装置のディスプレイ上の場所Ｂで終了している。図４に示す例では、隅部のユーザ・インタフェース・エレメントは、場所Ｂへの移動によってトリガされている。ユーザ・インタフェース・エレメントがトリガされると、ユーザは通常、ユーザ・インタフェース・エレメントの適切な部分上をクリックしてイベント（例えば、新たなアプリケーションを開く）をトリガする。よって、ユーザは、ＶＮＣビューア・ウィンドウ外の場所Ｂからマウス・カーソルを、ポップアップ・ユーザ・インタフェース・エレメントに戻す必要がある。図４に示すように、ユーザ・インタフェース・エレメントは、移動する際に、狙いを定める対象の極めて大きな「標的領域」を表し、これにより、関連するユーザ・インタフェース・エレメントをクリックすることがずっと容易になる。標的領域の大きさは、図３ａの閾値／閾値範囲で表す領域の大きさの３倍、４倍、又は５倍であり得る。
【００３６】
上述の通り、ＶＮＣビューアを「フル画面」モードで実行させる場合、ＶＮＣビューア・ウィンドウは、局所装置のオペレーティング・システムに関する限り、実際には、画面全体である。よって、「カーソルがウィンドウを離れた」メッセージは、ユーザが、ＶＮＣビューア・ウィンドウ外に局所カーソルを移動させる場合にはトリガされない。「フル画面」という語にもかかわらず、ＶＮＣビューア・ウィンドウが局所装置のディスプレイ全体に及ばない場合が存在する。例えば、遠隔装置の解像度が局所装置の解像度よりも低い場合、異なるアスペクト比を有するディスプレイを装置が有する場合、又は、ＶＮＣビューアにおけるスケーリング・オプションを適用することにより、ユーザがＶＮＣビューア・ウィンドウを小さくした場合、このことが考えられる。それぞれの場合では、遠隔デスクトップ・ビュー外の画素領域が存在する。ＶＮＣビューアは前述のものを黒色にする。図５は、代わりに「カーソルが移動した」旨のメッセージを受け取ることにより、この場合における「カーソルがウィンドウを離れた」メッセージを再生するために使用し得るアルゴリズムを示す。
【００３７】
第１の工程Ｓ５０２では、局所カーソルが、ＶＮＣビューア・ウィンドウ内に実際に配置されているか否かに応じて、「ウィンドウ内カーソル」フラグを真又は偽に初期化する。例えば、これは、コールを介してカーソル位置をオペレーティング・システムに問い合わせ、カーソル位置が、ＶＮＣビューア・ウィンドウを画定する境界内にあるか否かを判定することによって判定することが可能である。次の工程Ｓ５０４では、局所装置オペレーティング・システムからの「カーソルが移動した」メッセージを待つ。工程Ｓ５０６に示すように、「カーソルが（Ｘ，Ｙ）（局所座標）に移動した」旨のメッセージをオペレーティング・システムから受け取っている。システムは次いで、工程Ｓ５０８において、座標（Ｘ，Ｙ）がＶＮＣビューア・ウィンドウ内に（すなわち、遠隔デスクトップ・ビュー内に）あるか否かをみるために検査する。肯定の場合、「ウィンドウ内カーソル」フラグが真にセットされ、システムは、工程Ｓ５０４にループバックして、次の「カーソルが移動した」メッセージを待つ。
【００３８】
座標（Ｘ，Ｙ）が境界内にない場合、次の工程Ｓ５１２では、「ウィンドウ内カーソル」フラグが現在、真にセットされているか否かを検査する。肯定の場合、この最新のカーソル移動は、遠隔デスクトップ・ビュー外にカーソルを出していることが分かり、「カーソルがウィンドウを離れた」イベントを合成する必要がある。図５は、単純な手法を使用して、「カーソルがウィンドウを離れた」イベントの座標を生成する一実現形態を示す。工程Ｓ５１４では、局所座標（Ｘ，Ｙ）は、ＶＮＣビューア・ウィンドウの境界毎にｘ，ｙ座標値と値Ｘ及びＹを比較し、どのエッジが最も近いかを判定することにより、ＶＮＣビューア・ウィンドウの最も近いエッジに固定される。座標は次いで、（Ｘ’，Ｙ’）にセットされ、Ｘ’又はＹ’の一方は最も近い境界の値を表し、他方の座標は、局所座標の元の値を表す。例えば、ＶＮＣビューア・ウィンドウの左側の垂直境界及び下の水平境界が、座標（２，１０）を有する位置についてｘ＝０及びｙ＝０それぞれの値を有する場合、左側の垂直境界は明らかに最も近く、よって、新たな位置は（０，１０）である。次の工程Ｓ５１６では、新たな座標（Ｘ’，Ｙ’）を使用して「カーソルがウィンドウを離れた」を合成する。「カーソルがウィンドウを離れた」フラグもクリアされ（すなわち、工程Ｓ５１８で、偽にセットされ）、システムは工程Ｓ５０４にループバックして、次の「カーソルが移動した」メッセージを待つ。「カーソルがウィンドウを離れた」メッセージは図３ａの「カーソルがウィンドウを離れたカーソルがウィンドウを離れた」メッセージと同等であり、システムは次いで、上記主アルゴリズムに進む。
【００３９】
工程Ｓ５１４の代替として、工程Ｓ５１０で「ウィンドウ内カーソル」フラグが真にセットされる都度、システムは更に、カーソルの座標を記憶する。よって、工程Ｓ５１２で、「ウィンドウ内カーソル」フラグが真にセットされているとシステムが判定した場合、記憶されている最後の組の座標（すなわち、カーソルがＶＮＣビューア・ウィンドウ内にあった際の最後の組の座標）、及びＶＮＣビュー・ウィンドウ外の座標の最新の組の座標から、新たな位置（Ｘ’，Ｙ’）を求めることが可能である。新たな座標は、前述の２つの座標間を内挿し、ＶＮＣビューア・ウィンドウのエッジ、及び２つの座標を結合する線の交点を求めることによって求められる。
【００４０】
他の多くの効果的な代替策を当業者が思いつくことに疑いの余地はない。本発明は、上記実施例に制限されず、特許請求の範囲記載の趣旨及び範囲内にある、当業者に明らかな修正を包含する。
【図１】
2015529353.tif 000003
【図２】
2015529353.tif 000004
【図３ａ】
2015529353.tif 000005
【図３ｂ】
2015529353.tif 000006
【図４】
2015529353.tif 000007
【図５】
2015529353.tif 000008
【国際調査報告】
2015529353.tif 000009
2015529353.tif 000010