(57)【特許請求の範囲】
【請求項１】
グラフィカル・ユーザ・インターフェースの共用スペースの同期ステータスを提供するための方法であって、
コンピューティング装置のディスプレイ上のレンダされたグラフィカル・ユーザ・インターフェースの少なくとも一部分の共用スペースを識別するステップであって、前記共用スペースに対応し且つ前記共用スペースに変化を反映させるように実時間で動的に更新されるグラフィカル内容を含むグラフィカル・ユーザ・インターフェースのレンダされた共用スペースを別のコンピューティング装置における別のディスプレイが表示し、前記コンピューティング装置および前記別のコンピューティング装置が遠隔的に設置され且つネットワークを介して相互に通信可能にリンクされる、前記識別するステップと、
前記レンダされた共用スペースの同期ステータスに関するデータであって、第１のサブセットと第２のサブセットとを含むデータを検出するステップであって、前記同期ステータスは、レンダされた共用スペースのグラフィカル内容が前記共用スペースのグラフィカル内容と適切に同期しているかどうかを表わす、前記検出するステップと、
フィルタ操作後のステータスを生じさせるために前記検出されたデータに対して少なくとも１つのフィルタを適用するステップであって、前記少なくとも１つのフィルタは、前記レンダされた共用スペースおよび前記共用スペース間の同期ステータスに関して定義された相違点のセットの重要度を最小にするものである、前記適用するステップと、
前記フィルタ操作後のステータスを利用して前記レンダされた共用スペースの同期ステータスを示すステップと、
を含む方法。
【請求項２】
前記フィルタを適用するステップは、前記同期ステータスを生じさせるとき、相違点が無視されるよう、前記定義された相違点のセットを無視する、請求項１に記載の方法。
【請求項３】
前記検出されたデータを解析して主要共用要素のセット及び副次的共用要素のセットにするステップであって、前記第１または前記第２のサブセットは、前記検出されたデータの要素が解析されて前記主要共用要素のセットまたは副次的共用要素のセットのどちらになるかを決定するために使用される、当該ステップと、
同期ステータスを生じさせるとき、前記副次的共用要素よりも大きなウェートを前記主要共用要素に与えるステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記主要共用要素のセットだけを使い且つ前記副次的共用要素のセットを無視して前記同期ステータスを生じさせるステップを更に含む、請求項３に記載の方法。
【請求項５】
前記第１または前記第２のサブセットは、ユーザが前記同期ステータスを受け取ることによって構成し得る値である、請求項１に記載の方法。
【請求項６】
前記第１または前記第２のサブセットは、前記同期ステータスを生成した装置のユーザによって構成し得る値である、請求項１に記載の方法。
【請求項７】
前記コンピューティング装置をホスト・コンピューティング装置として定義するステップであって、前記ホスト・コンピューティング装置は、前記共用スペースを定義するために少なくとも一部分が使用されるグラフィカル・ユーザ・インターフェースを構成する、前記定義するステップと
前記別のコンピューティング装置が前記共用スペースと適切に同期しているかどうかを表示するために前記ホスト・コンピューティング装置のグラフィカル・ユーザ・インターフェース上に同期ステータスを表示するステップと、
を更に含む、請求項１に記載の方法。
【請求項８】
前記コンピューティング装置をホスト・コンピューティング装置として定義するステップであって、前記ホスト・コンピューティング装置は、前記共用スペースを定義するために少なくとも一部分が使用されるグラフィカル・ユーザ・インターフェースを構成する、前記定義するステップと、
前記ホスト・コンピューティング装置のグラフィカル・ユーザ・インターフェース上に少なくとも２つの個別のインジケータを表示するステップであって、前記２つの個別のインジケータの一方は前記主要共用要素に対するものであり、前記２つの個別のインジケータの他方は前記副次的共用要素に対するものであり、前記少なくとも２つの個別のインジケータは前記別のコンピューティング装置に対するものである、前記表示するステップと、
を更に含む、請求項３または４に記載の方法。
【請求項９】
前記少なくとも１つのフィルタを適用するステップは、システム・レベル・フィルタ、アプリケーション・レベル・フィルタ、およびユーザ定義のインターフェース・レベル・フィルタを適用する、請求項１に記載の方法。
【請求項１０】
請求項１〜９の何れかに記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ共用の分野に関し、特に、スクリーン共用システムにおいてレンダ・ステータスを決定するためのインテリジェント・フィルタ操作に関する。
【背景技術】
【０００２】
共用表示スペースの概念は多くの企業の通信ツールにおける標準的な特徴機能になっている。共用表示スペースは、ほとんどのオンライン共同作業システムおよびウェブ会議アプリケーションの焦点である。そのようなソフトウェア・システムの多くは、ホスト・ユーザがそのシステムの実際のコンピュータ・スクリーン（即ち、デスクトップ）を共用することを可能にする。この機能は、ソフトウェア・デモンストレーション、トレーニング、および、ネイティブ・ソフトウェア・アプリケーションを使用する一般的なデータ共用、のようなタスクにとって特に価値がある。
【０００３】
一般に、ホスト・ユーザは、受信者が自分の共用スクリーンを受信することによって被る如何なる遅延または問題点も気づかない。この問題点は、従来技術に関する特許においても取扱われている。それらの特許の少なくとも1つは、各受信者に対するスクリーン・レンダ・ステータスを決定するためのコンポーネントを含むスクリーン共用サービスを教示している。従って、スクリーン共用システムは、いつホスト・ユーザのスクリーンが受信者によって完全にレンダされたかを表わすフィードバックをそのホスト・ユーザに供給する。
【０００４】
しかし、多くのソフトウェア・アプリケーションおよびコンピュータ・システムにおいて使用される動的な要素（例えば、カーソル・アニメーション、ウェブ広告、自動的要素ポジショニング等）は、何らかの既知のシステムまたはサービスによって決定されたスクリーン・レンダ・ステータスの有効性を低下させる。例えば、ホスト・ユーザのコンピュータ上のツールバーにおいて１つのアニメ化されたグラフィックを使用する背景アプリケーションは、スクリーン共用が受信者にとって不完全なものであるということを既知の技術が誤って示すというかなりの変化をディスプレイにおいて生じさせる。
【０００５】
他のシステム（例えば、IBM (IBM Corporation の商標) LOTUS SAMETIME、LOTUSLIVE MEETINGS等） は、包括的なデスクトップ・スクリーン共用の代わりに、ホスト・ユーザが共用したいソフトウェア・アプリケーションを選択することを可能にする。これは受信者のレンダ・ステータスを決定することに焦点を限定するのには役立つが、それは共用されるアプリケーションに固有の動的要素を説明するものではない。
【０００６】
更に、ホスト・ユーザによってなされた意図的ではない変更（即ち、マウス・ポインタを偶然に移動させること）は、受信者にとって、スクリーン・レンダ・ステータスを正確に決定することに関して更なる障害となる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、グラフィカル・ユーザ・インターフェースにおける共用スペースのスクリーン・レンダ・ステータスを提供するための方法、コンピュータ・プログラム、システム、および／または、装置を提供することにある。
【課題を解決するための手段】
【０００８】
１つの実施態様では、少なくとも２つの異なるコンピューティング装置のセットの間で共用され且つ同時に表示可能であるグラフィカル・ユーザ・インターフェースの一部分を表わす共用スペースが識別され得る。２つの異なるコンピューティング装置のうちの一方が、共用スペースに関して、その２つの異なるコンピューティング装置の他方によって示されたグラフィカル内容と同じグラフィカル内容を示す程度を表す同期ステータスに関するデータが決定され得る。その決定されたデータは、潜在的相違点に関する定義されたサブセットを最小にするフィルタ操作済みデータを生成するようにフィルタ操作され得る。例えば、その定義されたサブセットにおける要素は、スクリーン・レンダ・ステータスを決定するときには無視され得る。フィルタ操作済みデータは、スクリーン・レンダ・ステータスを生じさせるために利用され得る。
【０００９】
別の実施態様では、コンピューティング装置のディスプレイ上のレンダされたグラフィカル・ユーザ・インターフェースの一部分または全体である共用スペースが識別され得る。別のコンピューティング装置の別のディスプレイは、共用スペースに対応し且つ変化を共用スペースに反映するよう実時間で動的に更新されるグラフィカル・ユーザ・インターフェースのレンダされた共用スペースを表示し得る。コンピューティング装置および別のコンピューティング装置は遠隔的に設置され得るし、ネットワークを介して相互に通信可能にリンクされ得る。レンダされた共用スペースの同期ステータスに関するデータが検知され得る。その同期ステータスは、レンダされた共用スペースのグラフィカル内容が、共用スペースのグラフィカル内容と適切に同期されているかどうかを表わし得る。フィルタ操作後のステータスを生成するために、少なくとも１つのフィルタがその検知されたデータに対して適用され得る。フィルタは、共用スペースとレンダされた共用スペースとの間の定義された相違点のセットの大きさを最小にし得る。適用されるフィルタが存在しない場合、検知されたデータにおけるその定義された相違点のセットの存在は、少なくとも１つのフィルタが適用されるときに生じるフィルタ操作後のステータスよりも不利な同期ステータスを生じるであろう。定義された相違点のセットの少なくとも１つがその検知されたデータに存在しない場合、同期ステータスはフィルタ操作後のステータスと実質的に同じとなり得る。そのフィルタ操作後のステータスは、レンダされた共用スペースの同期ステータスを表わすために利用され得る。
【図面の簡単な説明】
【００１０】
【図１】本明細書に開示された発明の実施例に従って、スクリーン共用システムによって行われるスクリーン・レンダ・ステータスの決定事項から無関係の共用要素を自動的に排除するシステムを示す概略図である。
【図２】本明細書に開示された発明の実施例に従って、スクリーン共用システムにおけるレンダ・ステータス・フィルタリング・コンポーネントのオペレーションを示す流れの概略図である。
【図３】本明細書に開示された発明の実施例に従って、レンダ・ステータス・フィルタリング・コンポーネントのオペレーションを示す詳細な方法のフローチャートである。
【発明を実施するための形態】
【００１１】
本発明は、スクリーン共用セッション中にスクリーン・レンダ・ステータス（同期ステータスとも呼ばれる）を決定するとき、無関係と思われる共用スペースの要素の変化を排除するための解決策を提供する。スクリーン・レンダ・ステータスのコンポーネントを利用するスクリーン共用システムは、レンダ・ステータス・フィルタリング・コンポーネントを含むように構成され得る。レンダ・ステータス・フィルタリング・コンポーネントは、スクリーン共用セッションの受信者からの受信されたスクリーン・レンダ・データにフィルタリング・インテリジェンスおよびフィルタリング・プレファレンスを適用するように構成され得る。しかる後、そのフィルタ操作されたスクリーン・レンダ・データは、共用スペースの主要要素を反映するその受信者に対するスクリーン・レンダ・ステータスを生成するために、スクリーン・レンダ・ステータスのコンポーネントによって処理され得る。
【００１２】
本明細書において使用される用語は、特定の実施例のみを説明することを目的とするものであり、本発明を限定することを意図するものではない。更に、用語「含む」または「含み」は、それが本明細書において使用された場合、記述された特徴、整数、ステップ、オペレーション、要素、および／または、コンポーネントの存在を指すが、１つまたは複数の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、および／または、それのグループの存在または追加を妨げないことは当然である。
【００１３】
「特許請求の範囲」の記載におけるすべての手段またはステップ並びに機能要素の対応する構造、材料、行為、および均等物は、「特許請求の範囲」に特定的に記載されているように他の要素と組み合わせてその機能を遂行するための任意の構造、材料、または行為を含むことを意図される。本発明に関する記述は、図解および説明を目的として示されており、網羅したものであること或いは開示された形式の発明に限定されることを意図するものではない。本発明の技術的範囲および主旨から逸脱することのない多く修正および変更が当業者には明らかであろう。実施例は、本発明の原理および実用的な応用例を最もよく説明するために、および意図された特定の用途に適合するように種々の修正を伴う種々の実施例に関して当業者が本発明を理解することを可能にするために、選択および記述されている。
【００１４】
当業者には明らかなように、本発明の実施態様は、システム、方法、またはコンピュータ・プログラムとして具体化され得る。従って、本発明の実施態様は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例（ファームウェア、駐在ソフトウェア、マイクロコード等を含む）、または、本明細書では一般的に「回路」、「モジュール」、もしくは「システム」と呼ばれ得るソフトウェアおよびハードウェアの態様を組み合わせた実施例の形態を取り得る。更に、本発明の実施態様は、１つまたは複数のコンピュータ可読媒体に実装されることも可能である、コンピュータ可読プログラム・コードとして具現化されたコンピュータ・プログラムの形態を取り得る。
【００１５】
１つまたは複数のコンピュータ可読媒体の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線、もしくは半導体システム、装置、またはデバイス、或いはそれらの任意の適切な組み合わせであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより特定的な例（非網羅的なリスト）は、１つまたは複数の配線を有する電気的接続体、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光学的記憶装置、磁気的記憶装置、またはそれらの任意の適切な組み合わせを含む。本明細書に関しては、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによる使用のために、或いはそれらに接続した使用のために、プログラムを内蔵または格納し得る任意の実体的な媒体であってもよい。
【００１６】
コンピュータ可読信号媒体は、それに組み込まれたコンピュータ可読プログラム・コードと共に伝播データ信号を、例えば、ベースバンドでまたは搬送波の一部として含み得る。そのような伝播信号は、電磁気的、光学的、またはそれの任意の適切な組み合わせを含むがそれに限定されない任意の種々な形態を取り得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによる使用またはそれに接続した使用のためのプログラムを伝送、伝播、または搬送し得る任意のコンピュータ可読媒体であってもよい。
【００１７】
コンピュータ可読媒体上に組み込まれたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦ等、またはそれらの任意の適切な組み合わせを含むがそれに限定されない任意の適切な媒体を使用して送信され得る。本発明の実施態様に関するオペレーションを実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語のような通常の手続的プログラミング言語、または同様のプログラミング言語を含む１つまたは複数のプログラミング言語の任意の組み合わせで書かれ得る。プログラム・コードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、独立型ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的に、およびリモート・コンピュータ上で部分的に、或いはリモート・コンピュータまたはサーバ上で全体的に実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るし、外部コンピュータへの接続は（例えば、インターネット・サービス・プロバイダを使ってインターネットを介して）行われ得る。
【００１８】
本発明の態様は、本発明の実施例に従って、方法、装置（システム）、およびコンピュータ・プログラムのフローチャートおよび／またはブロック図に関連して後述される。フローチャートおよび／またはブロック図の各ブロック、並びにフローチャートおよび／またはブロック図におけるブロックの組み合わせがコンピュータ・プログラム命令によって実施され得るということは明らかであろう。これらのコンピュータ・プログラム命令は、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／行為を実施するための手段を作成するようにマシンを製造するための汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供され得る。
【００１９】
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に格納されることが可能であるその命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／行為を実施する命令を含む製品を生産すべく、特定の方法で機能するようにコンピュータ、他のプログラム可能データ処理装置、または他の装置を指示し得る。
【００２０】
コンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置上で実行される命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／行為を実施するためのプロセスを提供するよう、コンピュータ実装プロセスを生じさせるための一連の動作ステップをそのコンピュータ、他のプログラム可能データ処理装置、または他の装置において遂行させるために、コンピュータ、他のプログラム可能データ処理装置、または他の装置にロードされ得る。
【００２１】
図１は、本明細書に開示された発明の実施例に従って、スクリーン共用システム１４５によって行われたスクリーン・レンダ・ステータスの決定から副次的共用要素１２４を自動的に排除するシステム１００を示す概略図である。システム１００では、ホスト１０５が、ネットワーク１８０を介して１つまたは複数の受信者１３０と共用スペース１２０を共用するために、スクリーン共用システム１４５のスクリーン共用ユーザ・インターフェース１１５を使用し得る。
【００２２】
スクリーン共用システム１４５は、ホスト１０５および受信者１３０のスクリーン共用ユーザ・インターフェース１１５間のスクリーン共用オペレーションをサポートするために必要なハードウェアおよび／またはソフトウェア・コンポーネントを表わし得る。スクリーン共用システム１４５は種々のコンポーネントから構成され得るが、本発明のこの実施例への特定インポートのコンポーネントは、スクリーン共用コンポーネント１５０およびスクリーン・レンダ・ステータス・コンポーネント１５５を含み得る。１つの非限定的な実施例では、米国特許公開公報２００６／０２７１６２４に開示された細部によると、スクリーン共用コンポーネントおよびスクリーン・レンダ・ステータス・コンポーネントが実装され得る。更に、スクリーン共用システム１４５は、スクリーン共用ユーザ・インターフェース１１５と、フィルタリング・インテリジェンス１７０およびユーザ・フィルタリング・プレファレンス１７５を含むデータ記憶装置１６５とを含み得る。
【００２３】
スクリーン共用ユーザ・インターフェース１１５は、ホスト１０５および受信者１３０のクライアント装置１１０および１３５上で実行することができるソフトウェア・アプリケーションを表わし得る。クライアント装置１１０および１３５は、スクリーン共用システム１４５と対話することができる種々のコンピューティング装置を表わし得る。それらのコンピューティング装置は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ワークステーション、ネットワーク・サーバ等を含むが、それに限定されない。
【００２４】
ホスト１０５は、スクリーン共用ユーザ・インターフェース１１５を使用して、スクリーン共用セッションの指定された受信者１３０に送られるべき共用スペース１２０を定義し得る。共用スペース１２０は、クライアント装置１１０またはデスクトップ・ディスプレイ上で稼動する特殊なソフトウェア・アプリケーションのウィンドウのようなスクリーン共用システム１４５によって認識される１つまたは複数の境界付けされたエリアを表わし得る。１つの実施例では、共用スペース１２０は、受信者１３０がそのスペース１２０の作用に影響を与え得ない表示のみであってもよい。１つの実施例では、共用スペース１２０は、受信者１３０が対応の共用スペース１２０と対話することによってそのスペースの作用に影響を与え得る対話型のものであってもよい。共用スペース１２０は、リアルタイムまたは略リアルタイムで１つまたは複数の種々のクライアント装置１３５上に（レンダされたスペースとして）表示され得る。
【００２５】
一般に、ホスト１０５のクライアント装置１１０における共用スペース１２０に含まれた可視情報は、スクリーン共用システム１４５のスクリーン共用コンポーネント１５０およびネットワーク１８０を介して、受取人１３０のクライアント装置１３５上で稼動するスクリーン共用ユーザ・インターフェース１１５に搬送され、その結果、レンダされた共用スペース１４０を生じさせ得る。
【００２６】
スクリーン共用システム１４５のこの基本機能は、共用スペース１２０の定義に関係なく、共用スペース１２０の全体において遂行され得るということに留意されたい。即ち、ホスト１０５のデスクトップとして定義された共用スペース１２０は、ホスト１０５のデスクトップにおいて受信者１３０に表示されたすべての情報を共用する。アプリケーション・ウィンドウの共用スペース１２０は、アプリケーション・ウィンドウのみの内容をすべて搬送する。このように、ホスト１０５は、使用されるべき共用スペース１２０を定義または選択するときに余分な注意を払うことを必要とされ得るし、多過ぎるまたは少な過ぎる共用は余分な問題を引き起こすことがある。
【００２７】
例えば、ホスト１０５は、１つのデスクトップ１２０を共用するとき、それが共用することを望むソフトウェア・アプリケーションだけが、不要な中断を制限するように稼動することを保証するために余分な対策を講じること（即ち、電子メールおよびチャットのポップアップ・ウィンドウ）を必要とすることがある。ホスト１０５がスクリーン共用セッションを始めるたびに、これらの余分な対策の遂行が必要となり得る。
【００２８】
スクリーン共用システム１４５によっては、ホスト１０５は共用スペース１２０を少数の指定されたアプリケーション・ウィンドウに制限し得ることがある。これは余分な対策を不要にし得るが、ホスト１０５は、スクリーン共用セッションに新しいアプリケーション・ウィンドウを加えることができないことがある。
【００２９】
例えば、ホスト１０５は、製品デモンストレーションのために共用スペース１２０としてApp XおよびApp Yのウィンドウを指定し得る。顧客１３０がそのデモンストレーション中にApp Zを見ることを要求した場合、ホスト１０５は、共用スペース１２０にApp Zを含む新しいスクリーン共用セッションを始めるために、現在のスクリーン共用セッションを終了することを必要とされることがある。
【００３０】
受信者１３０のスクリーン共用ユーザ・インターフェース１１５が共用スペース１２０宛のデータを受け取るとき、スクリーン・レンダ・データ１４２は、スクリーン・レンダ・ステータス・コンポーネント１５５において生成及び搬送され得る。スクリーン・レンダ・ステータス・コンポーネント１５５は、スクリーン・レンダ・データ１４２を利用して、そのレンダされた共用スペース１４０の完全性に関するフィードバックをホストに１０５を（即ち、例えば、米国特許公開公報２００６／０２７１６２４において教示されているように）供給し得る。（なお、別の例も可能であり、本発明は、米国特許公開公報２００６／０２７１６２４に詳述された技術の使用に限定されると解釈されるべきではない）。
【００３１】
例えば、共用スペース１２０の伝送中にネットワーク１８０が受けるデータ喪失／待ち時間のために、スクリーン・レンダ・ステータス・コンポーネント１５５によって生成され、レンダ・ステータス・ディスプレイ１２５に表示されたスクリーン・レンダ・ステータスは、そのレンダされた共用スペース１４０がオリジナルの共用スペース１２０の１０パーセントを欠いているということを表わすことがある。どの１０パーセントが脱落しているかによって、ホスト１０５がスクリーン共用セッションを続けることが可能である（即ち、デスクトップ１２０を共用するとき、デスクトップ・アイコンのレンダリングを損なうことは、それがアプリケーション・ウィンドウに集中している場合には重大ではない）。通常のスクリーン共用システム（レンダ・ステータス機能を有する）によって発生されたスクリーン・レンダ・ステータスは、レンダされた共用スペース１４０のどんなデータ損失も受容可能であるかどうかを識別するためにホスト１０５を支援し得ない、ということに留意されたい。
【００３２】
従って、本発明の実施例は、レンダ・ステータス・フィルタリング・コンポーネント１６０でもってスクリーン・レンダ・ステータス・コンポーネント１５５の機能の強化することにより既知のシステムを改善する。レンダ・ステータス・フィルタリング・コンポーネント１６０は、スクリーン・レンダ・ステータス・コンポーネント１５５によるスクリーン・レンダ・ステータスの決定前にフィルタリング・インテリジェンス１７０および／またはフィルタリング・プレファレンス１７５をスクリーン・レンダ・データ１４２に適用するように構成され得る。
【００３３】
レンダ・ステータス・フィルタリング・コンポーネント１６０の機能を説明するためには、共用スペース１２０を主要共用要素１２２および副次的共用要素１２４の抽象的集合体と見なすことが有用である。主要共用要素１２２は、スクリーン共用セッションの焦点である変化を有する共用スペース１２０のエリアまたはコンテナを表わし得る。それとは反対に、副次的共用要素１２４は、スクリーン共用セッションの焦点ではない変更を有する共用スペース１２０のエリアまたはコンテナを表わし得る。主要共用要素１２２および副次的共用要素１２４は、アプリケーションおよび／またはクライアント装置１１０および１３５の構成に基づいて変わり得る。システム・レベル・フィルタ、アプリケーション・レベル・フィルタ、およびユーザ定義のフィルタを含む種々のタイプのフィルタがフィルタリング・コンポーネント１６０に対して定義され得る。それらフィルタの各々は、フィルタリング・インテリジェンス１７０および／またはユーザ・フィルタリング・プレファレンス１７５の設定のようなカスタマイズ可能な設定内に指定され得る。
【００３４】
フィルタリングの例を示すために、メイン・フレームにおいてテキストを表わし、二次フレームにおいて広告を表わすウェブ・ページが共用スペース１２０内に表示され得る。ウェブ・ページが、広告のためではなくテキストのために表示されると仮定すると、メイン・フレームは主要共用要素１２２として判断され得るし、二次フレームは副次的共用要素１２４として判断され得る。システム・レベル・フィルタまたはアプリケーション・レベル・フィルタは、広告の存在を検知し、それを阻止し得る。更に、ユーザは、広告が示される領域を（例えば、マウスを用いて）ドロー／定義し得るし、共用スペースのレンダ・ステータスを決定するとき、この領域（例えば、広告）を排除するためにフィルタを作成し得る。
【００３５】
従って、スクリーン・レンダ・ステータス・コンポーネント１５５が、受信者１３０のスクリーン・レンダ・ステータスを決定する前に、（システム・レベル、アプリケーション・レベル、および／またはユーザ・レベルで定義された）副次的共用要素１２４をスクリーン・レンダ・データ１４２から排除することがレンダ・ステータス・フィルタリング・コンポーネント１６０の最終目標となり得る。この最終目標を達成するために、レンダ・ステータス・フィルタリング・コンポーネント１６０はフィルタリング・インテリジェンス１７０および／またはプレファレンス１７５を利用し得る。
【００３６】
フィルタリング・インテリジェンス１７０は、主要共用要素１２２、副次的共用要素１２４、および／またはこれらの要素１２２および１２４内の動作を定義するルールを表わし得る。フィルタリング・インテリジェンス１７０は、システム・レベル、アプリケーション・レベル、および／またはユーザ・レベルで（ユーザ・フィルタリング・プレファレンス１７５が定義され得るように）定義され得る。レンダ・ステータス・フィルタリング・コンポーネント１６０は、種々のレベル間における手続きを調整するためのアルゴリズムを含み得る。
【００３７】
フィルタリング・インテリジェンス１７０のシステム・レベルの例は、タスク・バー、タスク・マネージャ・インジケータ、クロック・アプリケーション、事前定義された距離許範囲内のカーソル移動等に対する変化を無視するルールを含み得る。フィルタリング・インテリジェンス１７０のシステム・レベルの例は、レンダされた共用スペース１４０の小さい部分を不明瞭にするクライアント装置１３５の「ポップ・アップ」ウィンドウも無視し得る。レンダされたスクリーン・スペース１４０が不適正なレンダリング・ステータスをトリガすることなく無視され得る量に関する制約または制限が（フィルタリング・インテリジェンス１７０のパラメータにおいて）設定され得る。例えば、一時的な制約は、不適正なレンダリング・ステータスをトリガすることなく、ポップ・アップが３秒以下の間クライアント装置１３５において表示されることを許容し得る。ここでは、不適正なレンダリング・ステータスは、ホスト１５０に対して表示可能なものであってもよい。別の例では、ポップ・アップがセマンティック内容を欠いてスクリーン境界を不明瞭にすることを許容するが、レンダされた共用スペース１４０に表示されるべきポップ・アップがセマンティック内容を不明瞭にするときには、不適正なステータスのメッセージをトリガするというようなスペース上の制約がシステム・レベルで設定され得る。これらは、わずかなシステム・レベルの例であり、他の例も想起され得る。
【００３８】
フィルタリング・インテリジェンス１７０のアプリケーション・レベルの例は、アニメ化されたオブジェクト（アニメーション・アプリケーションの場合を除く）、焦点の合ってないアプリケーション・ペイン、カーソル明滅、ステータス・バー等に対する変化を無視するルールを含み得る。特定の内容項目が「重要である」かどうか（例えば、主要共用要素１２２または副次的共用要素１２４であるかどうか）を判断するために、アプリケーション・レベル内容のフィルタが使用され得る。例えば、共用スペース１２０がインスタント・メッセージング（ＩＭ）コミュニケーション・アプリケーションのユーザ・インターフェースを含む場合、ウィンドウに示されたテキスト交換は主要共用要素であるとして定義され得るが、フレンド・ステータス・インジケータ（例えば、バディ・リスト）は副次的共用要素１２４であるとして定義され得る。アプリケーション・レベル・フィルタ・ルール、制約、および設定は、アプリケーション・インターフェース（共用スペース１２０に示される）のレイアウトおよび対話的特徴並びにアプリケーション・レベル・セマンティック・イベントに適用され得る。
【００３９】
ユーザ定義のフィルタは、共用スペース１２０の表示された領域に対して明示的に定義されたフィルタであってもよい。換言すれば、ユーザ定義のフィルタは、特定の共用スペース１２０に適用するインターフェース・レベル・フィルタであってもよい。ウェブ・ページを示す例では、メイン・フレームと二次フレームにおける広告のセットとは、共用スペース１２０に表示され得る。ユーザ（例えば、ホスト１０５）は、排除されるべきスクリーンの領域を定義するためにマウス・ポインタを利用し得る。なお、そのマウスで定義された領域は、ユーザ定義のフィルタ（インターフェース・レベル・フィルタ）とみなされる。１つの実施例では、ホスト１０５だけが、ユーザ定義のフィルタを指定することを許され得る。１つの実施例では、受信者１３０が、レンダされた共用スペース１４０に対するユーザ定義のフィルタを指定し得る。１つの実施例では、ホスト１０５及び受信者１３０の両方がユーザ定義のフィルタを指定し得る。ホスト１０５および受信者１３０の両方がユーザ・レベル・フィルタを定義することを許容する１つの実施態様では、ホスト１０５は、管理者が、レンダ・ステータス・ディスプレイ１２５に示されるように、スペース１４０のレンダ・ステータスに影響を与える受信者１３０の設定のユーザ・レベル・フィルタをオーバライド（または、少なくとも表示）し得るよう、高い（管理者レベルの）特権を持ち得る。
【００４０】
フィルタリング・インテリジェンス１７０は、レンダ・ステータス・フィルタリング・コンポーネント１６０およびスクリーン共用システム１４５の実施態様に依存して種々の方法で管理され得る。それらの例は、スクリーン共用システム１４５を用いて配備されたフィルタリング・インテリジェンス１７０の一般的な補足、スクリーン共用システム１４５の管理上のインターフェース（図示されてない）を介した手操作エントリ、第三者からのインポート等を含み得るが、それらに限定されない。
【００４１】
ユーザ・フィルタリング・プレファレンス１７５は、レンダ・ステータス・フィルタリング・コンポーネント１６０の動作を調整するためのユーザ構成可能なパラメータを表わし得る。ユーザ・フィルタリング・プレファレンス１７５を使用して、ホスト１０５は、それらのスクリーン共用セッションのためのスクリーン・レンダ・データ１４２の処理をカスタマイズし得る。ユーザ・フィルタリング・プレファレンス１７５の構成はスクリーン共用ユーザ・インターフェース１１５を使用して行われ得る。
【００４２】
フィルタリング・コンポーネント１６０は、他のスクリーン共用システム１４５のオプション（図示されてない）と共同的に利用され得る。例えば、１つの実施例では、意図的にフィルタ操作する要素が、対応するスペース１４０においてレンダされないように共用スペース１２０の要素を意図的に阻止またはフィルタ操作するために利用され得る。フィルタリング・インテリジェンス１７０はこのタイプの意図的フィルタリングを可能にするために使用され得る。フィルタリングは、共用スペース１２０等の要素の機密性を保護するために帯域幅を保存することを強いられ得る。従って、ステータス・コンポーネント１６０は、（１つの計画された実施例における）アクティブなフィルタとは無関係に使用され得るが、それは、（別の計画された実施例における）同様にアクティブなフィルタと共同的に使用され得る。
【００４３】
１つの実施例では、フィルタリング・インテリジェンス１７０は、共用スペース１２０における種々の部分のリフレッシュ・レートを変えるために使用され得る。例えば、スペース１２０の一部分（焦点を受けるアクティブな部分）は、スペース１２０の別の部分より大きいレートでリフレッシュされ得る。そのリフレッシュ・レートの差は、帯域幅が限定されるとき、リアルタイムの更新を保証し得る。それとは関係なく、レンダ・ステータス・フィルタリング・コンポーネント１６０およびスクリーン・レンダ・ステータスコンポーネント１５５は、レンダ・ステータスに関する問題が存在するかどうかを判断するとき、共用スペース１２０のサブ部分に対して定義されたリフレッシュ・レートにおける何らかの意図的な差を任意選択的に考慮し得る。
【００４４】
ネットワーク１８０は、搬送波内のエンコードされたデータを搬送するに必要な任意のハードウェア、ソフトウェア、および／またはファームウェアを含み得る。データはアナログまたはデジタル信号内に含まれ、データまたは音声チャネルを介して搬送され得る。ネットワーク１８０は、コンピューティング装置のコンポーネント間で、および統合装置のコンポーネントと周辺装置との間でコミュニケーションを交換するために必要なローカル・コンポーネントおよびデータ・パスを含み得る。ネットワーク１８０は、更に、ルータ、データ・ライン、ハブ、および、インターネットのようなデータ・ネットワークを形成する中間のサーバのようなネットワーク機器を含み得る。ネットワーク１８０は、更に、電話交換機、モデム、携帯電話中継器等のような回路ベースの通信コンポーネントおよびモバイル通信コンポーネントを含み得る。ネットワーク１８０は回線ベース・パスおよび／または無線通信パスを含み得る。
【００４５】
本明細書において使用されるように、図示のデータ記憶装置１６５は、デジタル情報を格納するように構成された物理的または仮想的記憶スペースであってもよい。データ記憶装置１６５は、磁気ディスク、光ディスク、半導体メモリ、デジタル的にエンコードされたプラスティック・メモリ、ホログラム・メモリ、または任意の他の記録媒体を含むがそれに限定されない任意のタイプのハードウェアにおいて物理的に具現化され得る。データ記憶装置１６５は、独立型の記憶装置または複数の物理装置から形成された記憶装置であってもよい。更に、情報は種々の方法でデータ記憶装置１６５内に格納され得る。例えば、情報はデータベース構造内に格納され得るし、或いはファイル記憶システムの１つまたは複数のファイル内に格納され得る。その場合、各ファイルは情報サーチ目的で指標付けされてもよく、或いはされなくてもよい。更に、データ記憶装置１６５は、無許可のアクセスから格納情報を保護するために１つまたは複数の暗号化機構を利用し得る。
【００４６】
共用スペース１２０の共用を促進するために、集中管理システム１４５が利用されることをシステム１００のコンポーネントは示しているが、他の実施態様の選択が計画され得るし、それは本発明の技術的範囲内で考察されるべきである。例えば、ピア・ツー・ピアの（中心的なサーバのない）実施例が使用され得る。別の実施例では、クライアント装置１１０はスクリーン共用を目的としたサーバとして機能し得る。その場合、１つまたは複数のスクリーン共用コンポーネント１５０、１５５、１６５がクライアント装置１１０において実行される。１つの実施例では、スクリーン・ステータス・レンダリング・コンポーネントおよび／またはステータス・フィルタリング・コンポーネント１６０は、ステータス・メッセージが装置１１０（またはシステム１４５）に返送される前に装置１３５のステータスが（フィルタリング・コンポーネント１６０で）フィルタ操作されるよう、レンダされた共用スペース１４０を提供するクライアント装置１３５を実行し得る。
【００４７】
別の実施例では、レンダ・ステータスの機能は、既存のスクリーン共用システム１４５に加えられた外部的に実装された機能であってもよい。例えば、レンダ・ステータス機能は、任意選択的なウェブ・サービスとして提供され得る。このウェブ・サービスは、ミドルウェアによって任意選択的に提供され得る。更に、フィルタ操作されたステータス機能を提供するソフトウェア・サービスはサービス指向アーキテクチャ（ＳＯＡ）のソフトウェア・サービスであってもよい。
【００４８】
図２は、本明細書に開示された装置の実施例に従ってスクリーン共用システム２２５内のレンダ・ステータス・フィルタリング・コンポーネント２３５のオペレーションを示すプロセス・フロー２００である。プロセス・フロー２００は、システムのコンテキスト内で、またはスクリーン・レンダ・ステータスを生成する前にスクリーン・レンダ・データを知的にフィルタ操作するように構成された任意の他のスクリーン共用システムのコンテキスト内で、遂行され得る。
【００４９】
プロセス・フロー２００は、受信者のクライアント装置２４５に示されたレンダされた共用スペース２５０に対するスクリーン・レンダ・ステータス２７０の生成時のレンダ・ステータス・フィルタリング・コンポーネント２３５の影響を表わし得る。プロセス・フロー２００のアクションはホストのクライアント装置２０５から開始し得る。
【００５０】
スクリーン共用ユーザ・インターフェース２１０はホストのクライアント装置２０５において稼動し得る。主要共用要素２１７および副次的共用要素２１８を含む共用スペース２１５は、ホストのクライアント装置２０５からスクリーン共用システム２２５のスクリーン共用コンポーネント２３０を介して受信者のクライアント装置２４５まで共用され得る。
【００５１】
レンダされた共用スペース２５０は、受信者のクライアント装置２４５において稼動しているスクリーン共用ユーザ・インターフェース２１０内に示され得る。レンダされた共用スペース２５０はオリジナルの共用スペース２１５と同じ主要共用要素２１７および副次的共用要素２１８を含むということに留意されたい。
【００５２】
受信者のクライアント装置２４５におけるスクリーン共用ユーザ・インターフェース２１０はスクリーン・レンダ・データ２５５を生成し、そのスクリーン・レンダ・データ２５５をスクリーン共用システム２２５に送り得る。スクリーン・レンダ・ステータス・コンポーネント２４０を利用する通常のスクリーン共用システム２２５では、スクリーン・レンダ・データ２５５は、破線の矢印により示されたスクリーン・レンダ・ステータス・コンポーネント２４０に直接送られるであろう。
【００５３】
しかし、本発明の１つの実施例では、レンダ・ステータス・フィルタリング・コンポーネント２３５は、スクリーン・レンダ・データ２５５がスクリーン・レンダ・ステータス・コンポーネント２４０へ送られる前に、そのデータ２５５をインターセプトし得る。しかる後、レンダ・ステータス・フィルタリング・コンポーネント２３５は、フィルタリング・インテリジェンス２６２およびデータ記憶装置２６０から得られたユーザ・フィルタリング・プレファレンス２６３を使用してスクリーン・レンダ・データ２５５をフィルタ操作し得る。
【００５４】
しかる後、フィルタ操作されたスクリーン・レンダ・データ２６５は、スクリーン・レンダ・ステータス・コンポーネント２４０に搬送され得る。スクリーン・レンダ・ステータス・コンポーネント２４０は、フィルタ操作されたスクリーン・レンダ・データ２６５を使用してそのレンダされた共用スペース２４０のスクリーン・レンダ・ステータス２７０を生成し得る。しかる後、スクリーン・レンダ・ステータス２７０は、レンダ・ステータス・ディスプレイ２２０に表示するために、ホストのクライアント装置２０５のスクリーン共用ユーザ・インターフェース２１０へ搬送され得る。
【００５５】
本明細書において使用されるように、図示のデータ記憶装置２６０は、デジタル情報を格納するように構成された物理記憶スペースまたは仮想記憶スペースであってもよい。データ記憶装置２６０は、磁気ディスク、光ディスク、半導体メモリ、デジタル的にエンコードされたプラスティック・メモリ、ホログラフィ・メモリ、または他の記録媒体を含むがそれに限定されない任意のタイプのハードウェアにおいて物理的に具現化され得る。データ記憶装置２６０は、独立型の記憶装置であってもよく、複数の物理装置から形成された記憶装置であってもよい。更に、情報は、種々の方法でデータ記憶装置２６０内に格納され得る。例えば、情報はデータベース構造内に格納され得るし、或いはファイル記憶システムの１つまたは複数のファイル内に格納され得る。その場合、各ファイルは情報サーチの目的で指標付けされても、またはされなくてもよい。更に、データ記憶装置２６０は、格納された情報を権限のないアクセスから保護するために、１つまたは複数の暗号化機構を利用し得る。
【００５６】
図３は、本明細書に示された本発明の実施例に従ってレンダ・ステータス・フィルタリング・コンポーネントのオペレーションを詳述する方法３００のフローチャートである。方法３００は、システム１００および／またはプロセス・フロー２００の背景において遂行され得る。
【００５７】
方法３００はステップ３０５において開始し、そのステップ３０５では、レンダ・ステータス・フィルタリング・コンポーネントがスクリーン共用システムによりスクリーン・レンダ・データの受信者を検出し得る。ステップ３１０において、スクリーン・レンダ・データは、それがスクリーン・レンダ・ステータス・コンポーネントに搬送される前にインターセプトされ得る
【００５８】
スクリーン・レンダ・データ内に含まれた共用要素がステップ３１５で解析され得る。ステップ３２０において、ホスト・ユーザのフィルタリング・インテリジェンスおよびフィルタリング・プレファレンスがアクセスされ得る。しかる後、フィルタリング・プレファレンスおよびユーザ・フィルタリング・インテリジェンスはステップ３２５において共用要素に適用され得る。
【００５９】
ステップ３３０において、共用要素がフィルタリグ・インテリジェンスおよび／またはユーザ・フィルタリング・プレファレンスを満たすかどうかが決定され得る。共用要素がフィルタリグ・インテリジェンス／ユーザ・フィルタリング・プレファレンスを満たす（即ち、共用要素が副次的要素であると決定される）とき、共用要素に関連したデータがスクリーン・レンダ・データから排除され得るステップ３３５が遂行され得る。
【００６０】
共用要素がフィルタリグ・インテリジェンス／ユーザ・フィルタリング・プレファレンスを満たさないとき（即ち、共用要素が主要要素であるとき）またはステップ３３５の終了時に、ステップ３４０において処理すべき更なる共用要素が存在するかどうかが決定され得る。処理すべき更なる共用要素が存在する場合、フローはステップ３２５に戻り、次の共用要素に対するフィルタリング・インテリジェンス／ユーザ・フィルタリング・プレファレンスの適用を繰り返し得る。
【００６１】
処理すべき共用要素が最早存在しないとき、フィルタ操作されたスクリーン・レンダ・・データは、ステップ３４５においてスクリーン・レンダ・ステータス・コンポーネントに搬送され得る。
【００６２】
１つの実施例では、主要要素および非主要要素の両方並びにそれらのレンダリング・ステータスがスクリーン・レンダ・ステータス・コンポーネント３４５に搬送され得るということは明らかであろう。即ち、ステップ３３５においてデータを排除する代わりに、データが保持され得るが、非主要要素であるとしてラベル付けされ得る。しかる後、レンダ・ステータス・コンポーネント３４５は、任意の望ましいアクションのセットを遂行するためにこのデータを利用し得る。例えば、共用クライアント（例えば、クライアント装置１１０）は、共用スペースをレンダする各リモート装置（例えば、レンダされた共用スペース１４０）の主要要素および非主要要素の連続的なステータス・インジケータを提供され得る。このように、共用クライアントのユーザ（例えば、ホスト１０５）は、利用可能な情報のセットを意図的に不明瞭になるのではなく、まとめ易い形ですべての利用可能な情報を連続的に知らされ得る。例えば、受信者が表示した共用スペースの種々のレンダリング・ステータスを表わすように種々の色を示すステータス・バーが、ホスト１０５にグラフィック的に示され得る（この場合、非主要要素ステータス・インジケータを示す／隠すというオプションが存在する）。
【００６３】
添付図面におけるフローチャートおよびブロック図は、本発明の種々の実施例に従って、システム、方法、およびコンピュータ・プログラムの可能な実施態様のアーキテクチャ、機能、およびオペレーションを示す。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または、指定された論理的機能を具現化するための１つまたは複数の実行可能な命令を含むコードの部分を表わし得る。或る代替実施態様では、ブロックに記載された機能は、図に示された順序から外れて生じることもあるということに留意されたい。例えば、連続して示された２つのブロックが実際には実質的に同時に実行されることがあり、或いはそれらのブロックが、時には関連する機能に依存して逆の順序で実行されることがある。更に、ブロック図および／またはフローチャートの各ブロック並びにブロック図および／またはフローチャートにおけるブロックの組み合わせが、指定された機能または行為を遂行する特別目的のハードウェア・ベースのシステムによって、または特別目的のハードウェアおよびコンピュータ命令の組み合わせによって、具現化され得るということにも留意されたい。
【図１】
0005868019.tif 000002
【図２】
0005868019.tif 000003
【図３】
0005868019.tif 000004