図面 (/)

この項目の情報は公開日時点(2006年8月10日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

モニタまたは他のディスプレイ機構の接続時にコンピュータ・システムのモニタ関連設定を動的且つインテリジェントに構成する。

解決手段

モニタ構成は、1つまたは複数のディスプレイ機構、それらのビデオ設定、相対的な位置決め、およびパワースキーム・データを含むことができる。モニタがコンピュータ・システムにプラグインされるかまたは該コンピュータ・システムからアンプラグされると、モニタのマネージャコンポーネント通知され、該モニタのマネージャ・コンポーネントは、モニタ識別子などに基づいて現在の構成を判断する。前のモニタ構成データが検出される場合は、前のモニタ構成が適用される。正確な合致がない場合には、持続される類似した構成データに基づき、または能力を問い合わせ、必要に応じてビデオカードおよびモニタが使用できるビデオ・モードの検索を繰り返すことによって、構成データが構築される。

概要

背景

特定のコンピュータ・システム・ユーザ、特に、ラップトップ型コンピュータのようなモバイルコンピューティング装置のユーザは、多くの場合、コンピュータ・システムを、ディスプレイモニタ(または、単にモニタ)のような異なるディスプレイ機構に接続する必要がある。例えば、ラップトップ型コンピュータは内部モニタを有するが、プレゼンテーションをするときに、コンピュータ・ユーザは、ラップトップ型コンピュータを大きなモニタまたは同等の投影装置に接続することがある。他の例は、モバイル・コンピュータを、仕事中はあるモニタに接続し、自宅では異なるコンピュータに接続するユーザを含む。実際、特定のタイプのモバイル・コンピュータ・システムは、モニタなしで設計され、移動先間で移動されるように意図されており、そこで、各々の移動先のモニタに接続される。

さらに、広く知られてはいないが、現代オペレーティング・システム(本件特許出願人のWindows(登録商標)XPオペレーティング・システムのような)は、多数のモニタの画面を1つのより大きい画面として用いることを可能にする方法など、多数のモニタを種々の方法でサポートする。換言すると、2つまたはそれ以上のモニタ等上で同じ画像を同時に表示する(クローン・モードと呼ばれる)のではなく、オペレーティング・システムが、組み込まれたビデオカード(または、マルチヘッド・カード)に接続されたモニタを拡張して単一のデスクトップとして働き、ユーザは、モニタ間マウスポインタおよびドラッグプログラムウィンドウを動かすことができる。この拡張された画面モードにおいて、オペレーティング・システムは、例えば、解像度リフレッシュレート、色の深み等のような、各モニタについてのソフトウェアにより管理される別個の設定を維持する。多数のモニタを、これらのモニタにわたる単一のアプリケーションのために使用できるゲーム用アプリケーションの場合のような状況もあり、このスパン・モードにおいて、モニタは、通常、同じ設定を有する。

このように、ユーザは、該ユーザがコンピュータ・システムを1つまたは複数のディスプレイ機構に接続することができる点に関して、かなりの柔軟性を有する。しかしながら、例えば、モニタが接続されるまたは切断されるといった、ディスプレイ機構のコンピュータ・システムの現在の構成に変更があるときはいつでも、この変更に合わせて調整するために、かなりの量のユーザ動作を必要とする可能性がある。これにより、ユーザが、再構成に基づいて設定を変更する方法に関する知識をもつことが必要となり、ユーザが、所望の設定を記憶するかまたは試してみることが必要になることもある。

この再構成要件についての1つの理由は、ユーザが接続可能な多くのタイプのディスプレイ機構があり、多くが、異なる能力、画面サイズ等を有することである。別の理由は、一部のコンピュータ・システムが多数のユーザを有し、各ユーザが異なる設定を必要とすることである。一部のユーザは、仕事用モニタから家庭用モニタにまたはその逆に変更するとき、あるいは異なるユーザのログアウト後ログインするたびに、設定を再構成することを気にしないが、他のユーザは、所望の変更を行うことについて十分な知識をもっていないか、または、例えば、ユーザが別のユーザの好みを許容するといったように変更を苦にしないか、あるいは2つの場所で同じ設定を使用する(「最小公分母」の解法、モニタの1つの他の設定が好ましいものであったとしても)。他の状況においては、利用可能などのような大きなモニタまたは投射装置にも接続する必要がある、プレゼンテーションを行うユーザのような、高度化したコンピュータ・ユーザでさえ、接続の必要がある特定のディスプレイ機構について何も知らないことがある。さらに、近い将来、多くのテレビ受信機および航空機に組み込まれたディスプレイが、コンピュータに接続されてコンピュータ・モニタとして働き、これにより旅客および/またはホテルの部屋に滞在している旅行者等が、テレビまたはディスプレイに接続し、そのテレビまたはディスプレイに適合するようにコンピュータのビデオ設定を再構成することが必要になる可能性が高い。例えば、様々な状況のために、予め設定された解法は実行可能ではなく、例えば、ホテルの部屋のテレビは、航空機の座席に組み込まれたディスプレイより大きくすべきことはほぼ間違いないように、各々が異なる能力を備えた多種多様のこうしたディスプレイ機構があることに注意されたい。

実際には、特定のディスプレイ機構に接続するとき、解像度、色の深みおよびリフレッシュレートが、ユーザが再構成する必要があるまたは再構成したいと望む全ての変数である。これらの設定は、コンピュータ・システムに組み込まれたビデオ・カードの能力と併せて、ディスプレイ機構の能力によって決定される。1つのディスプレイ機構上では良好に見え表示可能なオブジェクトも、別のディスプレイ機構の設定で用いられるときに、小さ過ぎたり、大き過ぎたりすることがあるので、画面サイズは、既存の設定を変更する別の理由になる。特定の設定(例えば、より高いリフレッシュレート)を有することが、他のものより多くの電力消費し、バッテリ寿命を節約しようとするときに望ましくないことがあるので、電力消費は、考慮する必要がある更に別の要因である。

概要

モニタまたは他のディスプレイ機構の接続時にコンピュータ・システムのモニタ関連設定を動的且つインテリジェントに構成する。モニタ構成は、1つまたは複数のディスプレイ機構、それらのビデオ設定、相対的な位置決め、およびパワースキーム・データを含むことができる。モニタがコンピュータ・システムにプラグインされるかまたは該コンピュータ・システムからアンプラグされると、モニタのマネージャコンポーネント通知され、該モニタのマネージャ・コンポーネントは、モニタ識別子などに基づいて現在の構成を判断する。前のモニタ構成データが検出される場合は、前のモニタ構成が適用される。正確な合致がない場合には、持続される類似した構成データに基づき、または能力を問い合わせ、必要に応じてビデオ・カードおよびモニタが使用できるビデオ・モードの検索を繰り返すことによって、構成データが構築される。

目的

この再構成要件についての1つの理由は、ユーザが接続可能な多くのタイプのディスプレイ機構があり、多くが、異なる能力、画面サイズ等を有することである

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータ・システムにおける方法であって、少なくとも1つのディスプレイ機構を含む構成が変更されたという表示を受信するステップと、変更された前記構成が、前記コンピュータ・システム上で維持される構成データを有するものに対応するかどうかを判断し、対応する場合には、前記構成データに基づいて該構成を変更するステップとを備えることを特徴とする方法。

請求項2

変更された前記構成は、構成データを有するものに対応せず、変更された該構成内の少なくとも1つのディスプレイ機構に対応する情報に基づいて構成を決定するステップをさらに備えることを特徴とする請求項1に記載の方法。

請求項3

能力情報について前記ディスプレイ機構に問い合わせるステップをさらに備えることを特徴とする請求項2に記載の方法。

請求項4

現在組み込まれているビデオカードを用いて前記能力情報に基づいて設定を試験するステップをさらに備えることを特徴とする請求項3に記載の方法。

請求項5

前記試験は成功せず、異なる設定の試験を繰り返すステップをさらに備えることを特徴とする請求項4に記載の方法。

請求項6

識別子について少なくとも1つのディスプレイ機構に問い合わせるステップをさらに備えることを特徴とする請求項1に記載の方法。

請求項7

表示を受信するステップは、接続されるまたは切断されるディスプレイ機構に対応するイベントを受信するステップを含むことを特徴とする請求項1に記載の方法。

請求項8

前記構成データに基づいて前記構成を変更するステップは、1組のビデオ関連設定を少なくとも1つのディスプレイ機構に適用するステップを含み、前記組は、解像度の設定、リフレッシュレートの設定、色の深みの設定、配向の設定、輝度の設定、コントラストの設定、ビデオ・ヘッド状態の設定、および/または、インチ当たりのドットの設定の中から少なくとも1つの設定を含むことを特徴とする請求項1に記載の方法。

請求項9

前記構成データへの変更を持続させるステップをさらに備えることを特徴とする請求項1に記載の方法。

請求項10

実行されるときに請求項1に記載の方法を行うコンピュータ実行可能命令を有することを特徴とする少なくとも1つのコンピュータ可読媒体

請求項11

実行されるときに、切断される前記組の機構の結果として該組が変更された後に前記ディスプレイ機構の構成データを維持することを含めて、少なくとも1つのディスプレイ機構を含む組のビデオ関連の設定を含むディスプレイ機構の構成データを持続させ、再接続される前記組の機構の結果として、該組が実質的にいつ復元されるかを判断し、前記持続されるディスプレイ機構の構成データに基づいて、少なくとも前記再接続されるディスプレイ機構についてのビデオ関連設定を適用することを含む該組を復元させることを含むステップを行うコンピュータ実行可能命令を有する少なくとも1つのコンピュータ可読媒体。

請求項12

前記ディスプレイ機構の構成データを持続させるステップは、情報を持続性ストアに書き込むステップを含み、前記情報は、1組のディスプレイ機構設定の少なくとも1つの設定を含み、前記組は、解像度の設定、リフレッシュレートの設定、色の深みの設定、配向の設定、輝度の設定、コントラストの設定、ビデオ・ヘッド状態の設定、および/または、インチ当たりのドットの設定を含むことを特徴とする請求項11に記載のコンピュータ可読媒体。

請求項13

前記ディスプレイ機構の構成データを持続させるステップは、幾何学形状情報をデータ・ストアに書き込むステップをさらに含むことを特徴とする請求項11に記載のコンピュータ可読媒体。

請求項14

現在取り付けられているビデオ・カードを用いて、前記再接続されたディスプレイ機構についての前記ビデオ関連設定を試験するステップと、前記試験が成功しない場合に、異なるビデオ関連設定の試験を繰り返すステップとをさらに備えることを特徴とする請求項11に記載のコンピュータ可読媒体。

請求項15

前記組が実質的にいつ復元されるかを判断するステップは、現在のパワースキームを評価するステップを含むことを特徴とする請求項11に記載のコンピュータ可読媒体。

請求項16

前記ディスプレイ機構の構成データへのユーザ変更に対応する情報を受信するステップと、前記変更を持続させるステップとをさらに備えることを特徴とする請求項11に記載のコンピュータ可読媒体。

請求項17

コンピュータ・システムにおけるサブシステムであって、現在のディスプレイ機構の構成への変更についての情報を受信するディスプレイ機構のマネージャコンポーネントと、ディスプレイ機構の構成データを含むデータ・ストアとを備え、a)前記ディスプレイ機構の構成データに対応する情報は手動で変更され、b)ディスプレイ機構を切断することによって、前記現在の構成への変更が加えられ、c)ディスプレイ機構を接続することによって、前記現在の構成への変更が加えられるときに、前記ディスプレイ機構のマネージャ・コンポーネントが、更新されたディスプレイ機構の構成データを用いて前記データ・ストアを更新することを特徴とするサブシステム。

請求項18

ディスプレイ機構を接続するまたは切断することによって、前記現在の構成への変更が加えられ、前記ディスプレイ機構のマネージャ・コンポーネントは、前記変更されたディスプレイ機構の構成内にある各ディスプレイ機構を識別することを特徴とする請求項17に記載のサブシステム。

請求項19

前記マネージャ・コンポーネントは、前記変更された現在の構成に対応する構成データを検索し、検出された場合には、前記検索において配置されたときに前記構成データに基づいて設定を適用することを特徴とする請求項24に記載のサブシステム。

請求項20

前記検索は成功せず、前記ディスプレイ機構は、類似した構成データに基づいてまたは該ディスプレイ機構に対応する能力情報に基づいて設定を適用することを特徴とする請求項25に記載のサブシステム。

技術分野

0001

本発明は、一般に、コンピュータ・システムに関し、より具体的には、コンピュータ・ディスプレイおよび他のディスプレイ機構の管理に関する。

背景技術

0002

特定のコンピュータ・システム・ユーザ、特に、ラップトップ型コンピュータのようなモバイルコンピューティング装置のユーザは、多くの場合、コンピュータ・システムを、ディスプレイ・モニタ(または、単にモニタ)のような異なるディスプレイ機構に接続する必要がある。例えば、ラップトップ型コンピュータは内部モニタを有するが、プレゼンテーションをするときに、コンピュータ・ユーザは、ラップトップ型コンピュータを大きなモニタまたは同等の投影装置に接続することがある。他の例は、モバイル・コンピュータを、仕事中はあるモニタに接続し、自宅では異なるコンピュータに接続するユーザを含む。実際、特定のタイプのモバイル・コンピュータ・システムは、モニタなしで設計され、移動先間で移動されるように意図されており、そこで、各々の移動先のモニタに接続される。

0003

さらに、広く知られてはいないが、現代オペレーティング・システム(本件特許出願人のWindows(登録商標)XPオペレーティング・システムのような)は、多数のモニタの画面を1つのより大きい画面として用いることを可能にする方法など、多数のモニタを種々の方法でサポートする。換言すると、2つまたはそれ以上のモニタ等上で同じ画像を同時に表示する(クローン・モードと呼ばれる)のではなく、オペレーティング・システムが、組み込まれたビデオカード(または、マルチヘッド・カード)に接続されたモニタを拡張して単一のデスクトップとして働き、ユーザは、モニタ間マウスポインタおよびドラッグプログラムウィンドウを動かすことができる。この拡張された画面モードにおいて、オペレーティング・システムは、例えば、解像度リフレッシュレート、色の深み等のような、各モニタについてのソフトウェアにより管理される別個の設定を維持する。多数のモニタを、これらのモニタにわたる単一のアプリケーションのために使用できるゲーム用アプリケーションの場合のような状況もあり、このスパン・モードにおいて、モニタは、通常、同じ設定を有する。

0004

このように、ユーザは、該ユーザがコンピュータ・システムを1つまたは複数のディスプレイ機構に接続することができる点に関して、かなりの柔軟性を有する。しかしながら、例えば、モニタが接続されるまたは切断されるといった、ディスプレイ機構のコンピュータ・システムの現在の構成に変更があるときはいつでも、この変更に合わせて調整するために、かなりの量のユーザ動作を必要とする可能性がある。これにより、ユーザが、再構成に基づいて設定を変更する方法に関する知識をもつことが必要となり、ユーザが、所望の設定を記憶するかまたは試してみることが必要になることもある。

0005

この再構成要件についての1つの理由は、ユーザが接続可能な多くのタイプのディスプレイ機構があり、多くが、異なる能力、画面サイズ等を有することである。別の理由は、一部のコンピュータ・システムが多数のユーザを有し、各ユーザが異なる設定を必要とすることである。一部のユーザは、仕事用モニタから家庭用モニタにまたはその逆に変更するとき、あるいは異なるユーザのログアウト後ログインするたびに、設定を再構成することを気にしないが、他のユーザは、所望の変更を行うことについて十分な知識をもっていないか、または、例えば、ユーザが別のユーザの好みを許容するといったように変更を苦にしないか、あるいは2つの場所で同じ設定を使用する(「最小公分母」の解法、モニタの1つの他の設定が好ましいものであったとしても)。他の状況においては、利用可能などのような大きなモニタまたは投射装置にも接続する必要がある、プレゼンテーションを行うユーザのような、高度化したコンピュータ・ユーザでさえ、接続の必要がある特定のディスプレイ機構について何も知らないことがある。さらに、近い将来、多くのテレビ受信機および航空機に組み込まれたディスプレイが、コンピュータに接続されてコンピュータ・モニタとして働き、これにより旅客および/またはホテルの部屋に滞在している旅行者等が、テレビまたはディスプレイに接続し、そのテレビまたはディスプレイに適合するようにコンピュータのビデオ設定を再構成することが必要になる可能性が高い。例えば、様々な状況のために、予め設定された解法は実行可能ではなく、例えば、ホテルの部屋のテレビは、航空機の座席に組み込まれたディスプレイより大きくすべきことはほぼ間違いないように、各々が異なる能力を備えた多種多様のこうしたディスプレイ機構があることに注意されたい。

0006

実際には、特定のディスプレイ機構に接続するとき、解像度、色の深みおよびリフレッシュレートが、ユーザが再構成する必要があるまたは再構成したいと望む全ての変数である。これらの設定は、コンピュータ・システムに組み込まれたビデオ・カードの能力と併せて、ディスプレイ機構の能力によって決定される。1つのディスプレイ機構上では良好に見え表示可能なオブジェクトも、別のディスプレイ機構の設定で用いられるときに、小さ過ぎたり、大き過ぎたりすることがあるので、画面サイズは、既存の設定を変更する別の理由になる。特定の設定(例えば、より高いリフレッシュレート)を有することが、他のものより多くの電力消費し、バッテリ寿命を節約しようとするときに望ましくないことがあるので、電力消費は、考慮する必要がある更に別の要因である。

発明が解決しようとする課題

0007

要約すると、ディスプレイ機構と共に動作させるためにコンピュータ・システムを構成する多くの方法があり、ユーザが接続することができる多くのタイプのディスプレイ機構がある。コンピュータ・システムに接続させるための多数のディスプレイ機構が利用可能であるとき、種々の選択肢も存在する。必要とされるのは、1つまたは複数のディスプレイ機構に接続するときにユーザ体験簡単化し、さらに、多くの可能なユーザ・シナリオ対処して、ユーザに望ましい結果を与えるように柔軟にこれを行う方法である。

課題を解決するための手段

0008

手短に言えば、本発明は、モニタまたは他のディスプレイ機構の接続時にコンピュータ・システムのモニタ関連設定を動的且つインテリジェントに構成し、および/または、切断時に再構成するためのシステムおよび方法を提供するものである。本発明は、特定のディスプレイ機構について設定変更を行うだけでなく、全体としてモニタ構成についての設定変更を行うことができ、このモニタ構成は、互いに対するモニタ画面の相対的位置のような情報、およびそれらのビデオ・モード(例えば、パワースキーム)に影響を与える情報と共に、1つまたは複数のディスプレイ機構の概念と、それぞれのビデオ設定およびモードとを含む。ここで用いられる「モニタ」および「ディスプレイ機構」という用語は同等のものであり、一般に交換可能に用いられる(他の特定の状況では、プロジェクタのようなディスプレイ機構は、文字通りの意味でモニタと考えることができないが)ことに留意されたい。

0009

モニタがコンピュータ・システムにプラグインされると、ソフトウェア内の一時モニタ・マネージャコンポーネント通知され、該一時モニタ・マネージャ・コンポーネントは、該モニタを識別しようと試み、該モニタがコンピュータ・システム上で前に構成されたかどうかを確認する。互いに接続されたモニタのそれぞれの識別子と共に維持することができる、接続されたばかりのモニタの識別子を含むものについて、持続されるモニタ構成が検索される。モニタ構成データが前に確立されたものである場合には、接続されたばかりのモニタの確立されたビデオ・モードを獲得し、同様に他のいずれかの接続されたモニタのビデオ・モードを獲得することもできる。正確に合致しない場合には、前に確立された類似した構成からデータを獲得することができる。変更を必要とする場合には、全てのモニタについてのビデオ・モードを一度に適用することができるので、ユーザとの対話なしに、「フラッシュ」すなわちリフレッシュを1度だけ必要とする。既にプラグインされたモニタのビデオ・モードを変更する必要がないモニタ構成を検出することもできる。

0010

一実施において、本発明は、オペレーティング・システム内のビデオ・スタックによって提供されるプラグアンドプレイイベントの受信によって示されるように、モニタの接続または切断によって動作する。本発明はまた、ユーザがログインするとき、ユーザがコンピュータをロックし、次にロック解除するとき、あるいはユーザの高速切り替えが行われるときにも動作し、ユーザのログアウト時にモニタの変更を行う状況に対処する。

0011

一時モニタ・マネージャ・コンポーネントは、受信と同時に1つまたは複数のモニタを構成し、こうした既知の構成が前に確立された場合は既知の構成内に、あるいは前に確立されなかった場合は最も可能な望ましい構成(可能な限り)にすることができる。より具体的には、合致する構成が検出されない場合には、接続されている各モニタの能力およびシステムのビデオ能力に基づいて新しい構成が判断されるが、電力および動作のタイプのような他の要因(例えば、メディア再生対画像表示)が、所定のモニタ構成を変更することもある。

0012

一実施において、モニタが前にコンピュータ・システムに接続されなかった場合、可能なビデオ・モードについて該モニタに問い合わせされる。モニタが応答する場合は、戻された情報を用いて、現在のビデオ・カードの能力に関するそのモニタについての最良の可能な設定を求め、ユーザ対話なしにビデオ・モードを適用することができるが、代替的に、初めて特定のモニタに遭遇したときのように、何らかのユーザ・インターフェースをユーザに提供することも実行可能である。モニタがビデオ・モード情報を有していない場合には、標準的な(例えば、最小の)ビデオ・モード構成を用いることができる。大抵の場合、モニタ構成が正しいかどうかに関するユーザ確認は、システムがモニタ構成を検出できず、モニタがビデオ・モード情報を提供しないときにだけ必要とされる。

0013

最良推定のモニタ構成を検索するためにさらなる拡張を行い、最良と思われるモニタ構成を検出することができる。これらの拡張は、現在プラグインしているモニタが前に確認されたものであるが、同じモニタ構成ではないシナリオにおける既存の設定を用いることを含むことができる。

0014

切断時に新たに接続されたモニタをインテリジェントに構成することに加えて、マネージャ・コンポーネントは、あらゆる残存している(依然として接続されている)モニタを再構成し、構成変更に合わせて調整することができる。このことは、設定の変更を含むことができ、さらにウィンドウの入れ替え、および残存しているモニタにわたって切断されたモニタ上に表示される他の画像を含むことができる。マネージャ・コンポーネントは、ユーザが構成(例えば、設定の1つまたはそれ以上)に対して行うあらゆる手動変更も追跡し、同じモニタまたは類似したタイプのモニタに遭遇したときに該構成を自動的に復元する。

0015

さらに、本発明がモニタ構成の変更時にビデオ・モードを設定する役割を担っているので、本発明は、低バッテリ状態に遭遇する可能性があるモバイル装置を取り扱うときなど、節電が重要なコンピュータにおいて電力を保存するのに必要とされるビデオ・モードの変更の対処に拡張可能である。一時モニタ・マネージャにパワー・スキームの変更を通知することができ、該一時モニタ・マネージャは、均一のパワー・ポリシー規則を適用するように働くことができる。現在、モバイル装置の最新ディスプレイ装置ドライバマルチモニタ認識型ではないため、この機能は、多くの場合、モバイル装置がその内部モニタだけに電力関連ビデオモード変更を加えるという点で、付加的な利益を提供する。

0016

他の利点は、図面と併せて、以下の詳細な説明から明らかになるであろう。

発明を実施するための最良の形態

0017

例示的な動作環境
図1は、本発明を実施することができる適切なコンピューティングシステム環境100の一例を示す。コンピューティング・システム環境100は適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能性の範囲について何らの制限を示唆するように意図されるものではない。また、コンピューティング環境100は、例示的なオペレーティング環境100に示されるコンポーネントの任意の1つまたは組み合わせに関連する依存関係または要件を有するものとして解釈すべきでもない。

0018

本発明は、他の多数の汎用または特殊用途のコンピューティング・システム環境または構成によって動作することができる。本発明と共に用いるのに適した公知のコンピューティング・システム、環境、および/または構成の例には、これらに限定されるものではないが、パーソナル・コンピュータ、サーバ・コンピュータ、手持ち式またはラップトップ型装置タブレット装置マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セットトップボックスプログラム可能家庭用電化製品ネットワークPC、ミニコンピュータメインフレーム・コンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境等が含まれる。

0019

本発明は、コンピュータによって実行されるプログラム・モジュールのようなコンピュータ実行可能命令との一般的なコンテクストに即して説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本発明は、通信ネットワークを通してリンクされたリモート処理装置によってタスクを行う分散コンピューティング環境において実施することもできる。分散コンピューティング環境においては、メモリ記憶装置を含む局所的なおよび/またはリモートコンピュータ記憶媒体内にプログラム・モジュールを配置することができる。

0020

図1を参照すると、本発明を実施するための例示的なシステムが、コンピュータ110の形態の汎用コンピューティング装置を含む。コンピュータ110のコンポーネントは、これらに限定されるものではないが、処理ユニット120、システム・メモリ130、および該システム・メモリを含む種々のシステム・コンポーネントを該処理ユニット120に連結するシステム・バス121を含むことができる。システム・バス121は、あらゆる種類のバス・アーキテクチャを用いるメモリ・バスまたはメモリ・コントローラ周辺バス、およびローカル・バスなど、幾つかのタイプのバス構造体のいずれかにすることができる。限定のためではなく一例として、こうしたアーキテクチャには、業界標準アーキテクチャISA)バス、マイクロチャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準化協会(VESA)ローカル・バス、およびメザニン・バスとしても知られる周辺コンポーネント相互接続PCI)バスが含まれる。

0021

コンピュータ110は、通常、種々のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によりアクセス可能な如何なる利用可能な媒体とすることができ、揮発性および不揮発性媒体、並びに取り外し可能媒体および固定媒体の両方を含む。限定のためではなく一例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体とを含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報の格納のために、いずれかの方法または技術で実装される揮発性および不揮発性、取り外し可能および固定媒体を含む。コンピュータ記憶媒体は、これらに限定されるものではないが、RAM、ROM、EEPROMフラッシュメモリまたは他のメモリ技術CD−ROMデジタル多用途ディスク(DVD)または他の光ディスクストレージ磁気カセット磁気テープ磁気ディスク格納部または他の磁気ストレージ、あるいは所望の情報を格納するのに用いることができ、且つ、コンピュータ110によりアクセス可能な他の何らかの媒体を含む。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータを、搬送波若しくは他の伝送機構のような変調されたデータ信号具現化するものであり、如何なる情報送達媒体をも含む。「変調されたデータ信号」という用語は、情報を信号もエンコードする方法で設定または変更された1つまたは複数の特性を有する信号を意味する。限定のためではなく一例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、RF、赤外線および他の無線媒体のような無線媒体とを含む。上記のいずれの組み合わせも、コンピュータ可読媒体の範囲内に含ませるべきである。

0022

システム・メモリ130は、読取り専用メモリ(ROM)131およびランダムアクセス・メモリ(RAM)132のような揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。基本入力/出力システム133(BIOS)は、起動中などに、コンピュータ110内の要素間における情報の転送を助ける基本ルーチンを含み、通常、ROM131に格納される。RAM132は、一般に、処理ユニット120に即時にアクセス可能であり、および/または、現在処理ユニット120によって動作しているデータおよび/またはプログラム・モジュールを含む。限定のためではなく一例として、図1は、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、およびプログラム・データ137を示す。

0023

コンピュータ110は、他の取り外し可能/固定の、揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。一例に過ぎないが、図1は、固定不揮発性の磁気媒体との間で読み取りまたは書き込みを行うハードディスクドライブ141、取り外し可能で不揮発性の磁気ディスク152との間で読み取りまたは書き込みを行う磁気ディスク・ドライブ151、およびCD ROMまたは他の光媒体のような取り外し可能で不揮発性の光ディスク156との間で読み取りまたは書き込みを行う光ディスク・ドライブ155を示す。例示的なオペレーティング環境に用いることができる他の取り外し可能/固定の揮発性/不揮発性のコンピュータ記憶媒体には、これらに限定されるものではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープソリッドステートRAM、ソリッド・ステートROM等が含まれる。通常、ハードディスク・ドライブ141は、インターフェース140のような固定メモリ・インターフェースを通してシステム・バス121に接続されており、磁気ディスク・ドライブ151と光ディスク・ドライブ155とは、通常、インターフェース150のような取り外し可能メモリ・インターフェースによってシステム・バス121に接続される。

0024

上記で説明され、図1に示されたドライブおよびこれらの関連したコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラム・モジュールおよびコンピュータ110についての他のデータが格納される。図1において、例えば、ハードディスク・ドライブ141は、格納オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146およびプログラム・データ147として示される。これらのコンポーネントは、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、およびプログラム・データ137と同一または異なるもののいずれかにできることに留意されたい。最低限それらが異なるコピーであることを示すために、ここでは、オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146およびプログラム・データ147には、異なる番号が与えられている。ユーザは、タブレットのような入力装置、または電子デジタイザ164、マイクロホン163、キーボード162、および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161を通してコマンドおよび情報をコンピュータ110に入力することができる。図1に示されていない他の入力装置は、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナスキャナ等を含むことができる。これらおよび他の入力装置は、システム・バスに連結されるユーザ入力インターフェース160を通して処理ユニット120に接続されることが多いが、パラレルポート、ゲーム・ポート、またはユニバーサルシリアル・バス(USB)のような他のインターフェースおよびバス構造体によって接続することもできる。モニタ191または他のタイプのディスプレイ装置も、ビデオ・インターフェース190のようなインターフェースを介してシステム・バス121に接続される。モニタ191は、タッチ・スクリーンパネル等と一体化させることもできる。モニタおよび/またはタッチ・スクリーン・パネルは、タブレット型パーソナル・コンピュータにおけるように、コンピューティング装置110が組み込まれたハウジング物理的に連結させ得ることに留意されたい。さらに、コンピューティング装置110のようなコンピュータは、スピーカ195およびプリンタ196のような、周辺出力インターフェース194等を通して接続できる他の周辺出力装置を含むこともできる。

0025

コンピュータ110は、リモート・コンピュータ180のような1つまたは複数のリモート・コンピュータへの論理接続を用いてネットワーク化された環境で動作することができる。リモート・コンピュータ180は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の一般的なネットワーク・ノードとすることができ、一般に、コンピュータ110に関する上述した要素の多くまたは全てを含むが、メモリ記憶装置181だけが、図1には示されている。図1に示される論理接続は、ローカル・エリア・ネットワーク(LAN)171およびワイドエリア・ネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。こうしたネットワーク化環境は、事務所、企業全体にわたるコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、普通のものである。

0026

LANネットワーク化環境で用いられる際、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を通してLAN171に接続される。WANネットワーク化環境で用いられる際、コンピュータ110は、一般的に、インターネットのようなWAN173上で通信を確立するためのモデム172または他の手段を含む。モデム172は、内蔵にもまたは外付けにもできるが、ユーザ入力インターフェース160または他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク化された環境においては、コンピュータ110またはその一部に関連して示されたプログラム・モジュールは、リモートのメモリ記憶装置に格納することができる。限定のためではなく一例として、図1は、リモート・アプリケーション・プログラム185を記憶装置181上に常駐するものとして示している。図示のネットワーク接続は例示的なものであり、コンピュータ間における通信リンクを確立する他の手段を用い得ることが理解されるであろう。

0027

以下に説明されるように、本発明は、一般に、1つまたは多数のリモート・システム上に常駐する、例えばSQLサーバおよび/またはXMLデータプロバイダウェブサービス)に対応するデータ・ソースを含むことができるデータ・ソースに向けられることに注意されたい。図1のコンピューティング環境100は、SQLサーバにより提供されるデータ、ウェブ・サービス・サーバにより提供されるデータおよび他のものを含むデータの任意の局所的および/またはリモート・ソースを含むように理解される。

0028

モニタ構成の管理
本発明は、一般に、1つまたは複数のモニタが構成される方法のあらゆる変更が、マネージャ・コンポーネントで検知され、次に、コンピュータにより管理されたモニタ構成データを自動的に適用し、大部分のユーザが好むと思われる方法でこの変更を補償する、システムおよび方法に向けられる。理解されるように、本発明を実施する多数の方法が実行可能であり、代替案の一部だけがここに説明されている。例えば、本発明は、1つまたは複数のビデオ・カードを組み込むことができ、コンピュータ・システムとの間のモニタの接続及び切断が、プラグ・アンド・プレイ(PNP)技術に基づいて、コンポーネントのようなオペレーティング・システム・コンポーネントによって検知されるコンピュータ・システムを参照して説明される。しかしながら、本発明は、テレビ受信機に接続するメディアプレイヤのような、他のタイプの装置上に代わって実装することもできる。実際に、その能力に対応する一部のデータまたは識別子を別の装置に通信することができる、コンピュータ・モニタ、テレビ受信機、プロジェクタ装置等のような如何なるディスプレイ機構も、本発明から利益を得ることができる。したがって、本発明は、ここに用いられるいずれかの特定の例に限定されるものではなく、寧ろ、一般にコンピューティングの際に利益および利点を提供する種々の方法において用いることができる。

0029

さらに、本発明の特定の例は、識別子、特に、ビデオ電子標準化協会によって定義される「拡張ディスプレイ識別データ」すなわちEDIDを有するコンピュータ・モニタへの種々の参照を用いて説明される。一般に、EDIDは、コンピュータ・モニタが、接続されたホスト・コンピュータ・システムに、そのアイデンティティおよび能力(E−EDIDと呼ばれる拡張されたEDIDデータ構造は、こうした識別子のより新しいバージョンである)を通知することが可能なデータ構造である。しかしながら、本発明は、EDIDを有するモニタに限られるものではなく、寧ろ、任意の識別システムと共に動作する。したがって、ここに用いられる「識別子」という用語およびその変形は、EDIDおよびE−EDID規格に基づいたデータ構造を含む、ディスプレイ機構がそれ自体および/または接続されたホスト・システムに対する能力を識別する任意の方法を含む。

0030

さらに、ここで用いられる「接続される(connected)」、「連結される(coupled)」、「プラグインされる(plugged−in)」という用語およびそれらの変形は、同等のものであり、一般に、データが有線または無線媒体上で通信されるかどうかに関係なく、モニタとコンピュータ・システムとの間で少なくとも1つの方向にデータを通信できる状態を意味することに留意されたい。物理的な通信媒体の取り外し、無線の範囲外または干渉状態、モニタまたはビデオ・ヘッド電源オフ状態(ラップトップの場合のような、電源オフの内部モニタなど)等を含む、どのような理由でもデータを通信することができない反対の状態は、それぞれの変形と共に、「切断される(disconnected)」、「切り離される(decoupled)」または「アンプラグされる(unplugged)」と同様な意味合いで呼ばれる。

0031

図面を参照すると、図2は、本発明を実施することができる例示的なコンポーネントの構成を示す。図2において、1つまたは複数のモニタ2021および2022を含むディスプレイ機構は、ビデオ・ケーブルを介してモニタに物理的にプラグインすることなどによって、1つまたは複数のビデオ・カード(ビデオ・アダプタ)204との間で接続または切断することができる。図2には、2つモニタだけが示されているが、任意の実際的な数のモニタを接続できることも理解される。現代のコンピュータ・システムがAGPまたはPCIベースのビデオ・カードのような多数のビデオ・カードをサポートすること、およびさらに多数のビデオ・ヘッドを有する単一のビデオ・カードも市販されていることにも留意されたい。図2に具体的には示されないが、ビデオ「カード」の概念は、実際には取り外し可能なカード上にない内蔵ビデオ回路匹敵することにも留意されたい。

0032

プラグ・アンド・プレイ(PNP)コンポーネント210によって図2に示されるように、コンピュータ・システムが動作している間に、モニタ2022のようなディスプレイ機構が接続または切断されるときはいつでも、ビデオ・スタック(例えば、ハードウェアドライバ層206およびソフトウェア・ドライバ層208等)を通してビデオ・カード204から、ハードウェアの変更を感知するように構成されたオペレーティング・システム機構に信号が送られる。プラグ・アンド・プレイ・コンポーネント210は、システムを通してイベントを適切なエンティティ送り、それにより一時モニタ・マネージャ212と呼ばれるユーザ・モード・コンポーネントが、接続イベントまたは切断イベントを知る。この構成は、現在の技術を活用するものであり、代替的な構成において、一時モニタ・マネージャは、カーネル・コンポーネントとして実装することができ、および/または、プラグ・アンド・プレイ・コンポーネント210なしにモニタ接続および切断を感知するように構成することができることに留意されたい。

0033

本発明を踏まえて、一時モニタ・マネージャ212は、例えば、グラフィックス・インターフェース(例えば、GDIベースのソフトウェア)213を通したAPI呼び出しを介して、問い合わせを行うことなどによって、接続されたモニタについての情報を検出することができる。モニタがこの規格に対応する場合、こうした第1の問い合わせは、モニタの関連した識別子(例えばEDID)を得ることに向けられ、可能な範囲で部分的なEDIDを用い、ディスプレイ機構を何らかの最低値に設定し、ユーザ確認を得ることによって、ヌルEDIDを処理する。より具体的には、実際には、全てのモニタが固有のシリアル番号を有するわけではないので、新しいモニタがプラグインされた際、同様のモニタ構成を用いることができる。システムは、モニタの製造コードおよび製品識別子検査し、この組み合わせが以前に見られたかを確認することができる。これらの2つの情報の断片についての合致があった場合には、シリアル番号を用いて、モニタをさらに識別することができる。シリアル番号が固有のものでない場合には、モニタからの他の情報(例えば、EDIDデータ構造からの)を用いて、該モニタを識別することができる。

0034

シリアル番号は、必ずしもモニタを識別する最良の手段ではない。モニタを識別する別の方法は、EDID全体または該EDIDの一部をハッシュ・コードに変換し、該EDIDをハッシュ・テーブルに格納するというものである。モニタの型(make)およびモデルはEDIDの一部であるので、該EDIDについてのハッシュ・テーブルへのエントリポイントは、型およびモデル情報についてのハッシュ・テーブルを含む。これにより、より多くの情報(以下に説明されるような)について再度モニタに問い合わせる必要性が無くなる。このように、一部のモニタは、シリアル番号または該モニタの型およびモデルについての固有のシリアル番号を持たないことがあるので、EDIDを識別子として使用することは好ましいことである。モニタをさらに識別するのを助けるために、コンピュータを接続するネットワークを識別し、EDIDのために用いられるハッシュ・コードに情報を収めることができる。

0035

モニタがEDIDを持たない(すなわち、ヌルEDIDを有する)場合には、他の種々の識別機構を伴うことができる。例えば、モニタが内部モニタ(例えば、ラップトップの内蔵LCDパネル)であることを確立できる場合には、これは、モニタを区別するのに用いられる識別の1つの形態とすることができる。モニタを区別する他の方法がなく、ヌルEDIDを有する場合には、アルゴリズム(一般的に以下に説明される)が、特定のモニタ識別子を指定することができる。しかしながら、1つより多くのヌルEDIDモニタがある場合には、2つのモニタについて異なるモニタ設定を保存する方法はない。この場合、2つのモニタは同じビデオ設定を共有するか、またはアルゴリズムがこれらのモニタを新しいモニタと考える。

0036

以下に説明されるように、現在のモニタ構成を判断するために、接続されたばかりのモニタの識別子が(使用可能な場合)、接続されることが既に知られている1つまたは複数の他のモニタの1つまたは複数の識別子と共に使用される。必要に応じて、一時モニタ・マネージャ212は、接続さているモニタの全て(応答が可能なもの)に問い合わせて、接続されている1つまたは複数のモニタの現在の組を見つけ出すことができることに留意されたい。例えば、このことは、対応する感知されたPnPイベントなしに、シャットダウン(または、ハイバネート等)中に最後のモニタ構成への任意の数の変更が加えられたときに、必要とされる次の起動である。同様に、どのモニタが切断されたのかを識別しない切断イベントにおいて、一時モニタ・マネージャ212は、あらゆる残存しているモニタに問い合わせ、どのモニタが切断されたかを消去法によって判断することができる。

0037

本発明の態様によると、一時モニタ・マネージャ212が現在接続されている1つまたは複数のモニタの組を知ると、該一時モニタ・マネージャ212は、その組に適用されるモニタ構成(一組のデータ)を決定し、場合によっては如何なるユーザ確認も必要とすることなく、これを適用する。以下に説明されるように、モニタ構成の決定は、モニタ構成が、この組について前に確立されたかどうか、またはこの組が新しいモニタ構成に対応するかどうかに依存し、どのイベントにおいても、一時モニタ・マネージャ212は、本質的に、この組についての新しいモニタ構成をインテリジェントな方法で構成し、次に構成されたモニタ構成を適用する。

0038

対応するモニタ構成が前に確立されたどうかを判断するために、一時モニタ・マネージャ212は、データ・ストア214内に維持されるモニタ構成データにアクセスする。一般に、合致するモニタ構成が検出された場合には、それを適用し、それにより新たに接続されたモニタおよび他のいずれかの接続されたモニタが、必要に応じて自動的に変更され、前のビデオ状態を各モニタに復元する。ビデオ状態とは、ソフトウェアによって設定することができるビデオに関連した何らかの値(例えば、モニタの解像度、リフレッシュレート、色の深み、配向輝度コントラスト、ビデオ・ヘッド状態のオンオフ、および/またはDPI)を意味する。多数のモニタを有する構成に関し、ビデオ状態は、幾何学形状と呼ばれる、互いに対するモニタの(対応するコンピュータ・デスクトップ上の)相対的論理位置も含む。このように、モニタ構成の概念は、幾何学形状と共に1つまたは複数のモニタの組のビデオ設定/モードと、ビデオ設定/モード(例えば、パワースキーム)に影響を与える他の情報とを含むことに留意されたい。しかしながら、容易に理解できるように、モニタ構成を持続させ、適用するために可能な情報の全てを知る必要はないが、利用可能で持続される構成情報が多い程、次に同じ組が再接続されたとき、より良好に一時モニタ・マネージャ212がシステムを前の状態に復元することができる。

0039

一時モニタ・マネージャ212が、モニタの組を少なくとも一時的に修正できる電源API220において、モニタの組に適用される設定も示される。一時モニタ・マネージャ212において、低バッテリ状態のような電源関連イベントまたは電源に再接続されるモバイル装置を検知し、これによりビデオ設定の変更のための基礎として用いることができることが容易に理解される。

0040

テップ300を介して示されるように、図3は、モニタが、例えばプラグ・アンド・プレイ・イベントを介してプラグインされたものとして検知される際、一時モニタ・マネージャ212によって実行される種々の動作を概説するフロー図である。ステップ302は、これが新しいモニタであるかまたはこのコンピュータ・システムによって前に遭遇したものであるかについての判断を示す。このステップは、モニタと関連付けられた識別子の評価を暗黙的に含んでおり、これは、次の問い合わせ型の操作を介して識別子が獲得されるが、接続イベントと共に識別子を提供することも実行可能であると考えられる。モニタが前に接続されたかどうかを判断する種々の方法が以下に説明されるが、一般に、モニタが前に接続された場合には、該モニタは、データがデータ・ストア214内に持続される少なくとも1つのモニタ構成に対応する。ユーティリティ・プログラム等を用いて、これ以上必要でないモニタ構成をデータ・ストア214から一掃することができるものの、この例示的な説明のために、いずれかの前のモニタ構成がデータ・ストア214内に格納されたままであると仮定されることに留意されたい。

0041

モニタが少なくとも1つのモニタ構成に対応し、よって、このコンピュータ・システムにとって新しいものでない場合には、ステップ302は、構成全体(他の任意の接続されたモニタを含む)が評価されるステップ304に分岐し、接続されたばかりのモニタの識別子に対応するデータを含むいずれかのモニタ構成に対する正確な合致を探す。一般に、一時モニタ・マネージャ212は、ユーザが前に有していたものと同一の構成を探す。ステップ304においてそれが検出された場合には、ステップ306においてモニタ構成が用いられ、(1つまたは複数の)モニタの組を前の構成に再設定し、この一時モニタ・マネージャ212のプロセスは、再び必要になるまで終了する。例えば、接続されたばかりのモニタが、合致すると考えられる別のモニタと十分に類似している(例えば、同じ型およびモデル)際には、ステップ302および/または304において正確な合致より緩やかなものを要求することも可能であることに留意されたい。容易に理解できるように、既存のモニタ構成を適用することは、位置間でモバイル装置を移動させ、各々の位置でモニタにプラグインするユーザ、同じコンピュータを共有するが異なる設定を有する(モニタ構成が、ユーザ毎に持続される)ユーザ等を含む、多くのタイプのユーザが比較的頻繁に行っていることである。

0042

ステップ304においては、ステップ302でモニタが認識されたものの、構成全体が新しいものであることも可能である。例えば、接続されたばかりのモニタが、前に使用されたことのないモニタの組み合わせを形成してもよく、または接続されたばかりのモニタが、常に組み合わせられた状態で用いられたものの、現在は単独で接続されていてもよい。構成全体が新しいものである場合には、ステップ304は、この新しいモニタの「最良」の構成が一時モニタ・マネージャ212によって自動的に選択されるステップ314に分岐する(「最良」とは、これが最良であるとは限らないが、大部分のユーザが望ましいと考える可能性が高い最良の推測に過ぎないことを示すように、引用符が付されていることに留意されたい)。例えば、このモニタが直近に用いられた合致しないモニタ構成からの設定を、最良の推測として選択し適用することができる。構成を適用する前に、モニタが最後に接続されたものと同じカードではないビデオ・カードとの両立性について設定を評価する必要があることに留意されたい。両立性がない場合には、もっと前に使用された構成を選択し、および/または、ビデオ・カードと両立性のある最も近い値に設定を変更することができる。

0043

ステップ314は、適用される構成がユーザにとって許容可能なものであることを、ユーザ・インターフェース・ダイアログ等を介して確認する(任意の)ステップ320に分岐し、一般的に、ユーザが構成の変更を好む場合には、ユーザ・インターフェースが、モニタ構成(例えば、ディスプレイ特性)を修正するためのリンクを提供する。ステップ320におけるユーザ対話(ユーザは、将来、バイパスすることを選択することができる)の後、この一時モニタ・マネージャ212のこのプロセスは、再び接続イベントにおいて必要とされるまで終了する。

0044

ユーザ対話によって、付加的な情報を獲得できることに留意されたい。例えば、ユーザに、プレゼンテーションを行っているかどうかをねることができる。プレゼンテーションを行っている場合には、例えば、スクリーン・ブランキングも/スリーンセーバもないようにモニタ構成を設定する、通知をオフにするといったような、他のタイプの変更を加えることができる。

0045

ステップ302に戻ると、モニタがコンピュータ・システムにとって新しいものである(例えば、該コンピュータ・システムの既存のモニタ構成において検出されない)場合には、ステップ302は、代わりに、その能力、すなわちモニタが提供可能なあらゆる構成関連情報について、該モニタに問い合わせることを示すステップ310に分岐する。例えば、一部の現代のモニタは、画像寸法のような情報を提供することができ、これから、好ましい操作上の解像度、リフレッシュレート、色の深み、および/または他の設定のような他の情報と共にDPIを決定することができる。この情報の一部または全てが、ステップ302において前に評価した識別子内にある可能性があり、ステップ302において前に評価された識別子内にある場合には、ステップ310でそのことを再び問い合わせる理由はないことに留意されたい。しかしながら、以下に説明されるように、APIなどを提供することができ、そこで、例えば、1つの呼び出しにおけるシリアル番号、別の呼び出しにおける能力といった、EDIDの選択された部分を取り出すことができ、よって、多数の問い合わせを行うことができる。

0046

代替的に、ステップ312において、詳細な情報は入手可能でないが十分な他の情報が入手可能であり、接続されたばかりのモニタが、システムに知られている別のモニタと非常に類似している(例えば、同じ型およびモデル)ことを示す場合には、他のモニタの構成情報を、このモニタの構成情報と置き換えることができる。図3に示されるように、ステップ312は、十分な情報が入手可能であるとき、ステップ314に分岐し、この情報を用いて、接続されたばかりのモニタについての最良推測の構成を選択し、適用するビデオ・カードを制限する結果として、モニタが提供する(または、置き換えられた類似した)情報を修正する必要があり、このことは、以下に説明されるような反復を介して達成され得ることに留意されたい。

0047

ステップ312においてモニタが十分な情報を提供できなかった場合には、ステップ316が代わりに実行され、何らかの最小の構成を試みる。例えば、大部分のパーソナル・コンピュータおよびモニタは、少なくともVGA規格に対応し、ユーザが、ビデオ設定を手動で変更するのに十分なユーザ・インターフェースを含む意味のあるグラフィックスを見ることを可能にする。ステップ320は、構成の試みに従い、ユーザが、こうした変更を加え、および/または構成が許容可能であることを確認することを可能にする。図3には示されないが、ステップ316が何かVGAより良いもの(例えば、より高い解像度を有するなど)で開始し、次いでユーザが何の動作もとらない場合、ステップ320で時間切れになり、続いてステップ316に戻り、そこで、何かより劣ったものを試みることができることに留意されたい。換言すれば、このプロセスは、ステップ316からステップ320まで進むことができ、暫時対話を可能にした後、折り返してステップ316に戻り、ステップ320においてユーザが対話するか、または最低値(VGAのような)が達成されるまで、解像度が最低値の方に後退される。ステップ320においてユーザが確認すると、プロセスが終了する。ユーザが全く確認しない場合には、モニタが適切に動作していないか、または少なくともVGA対応でないと仮定することができ、そのイベントにおいて、コンピュータ・システムは、別のモニタによってユーザに問題を通知し、および/または、接続したことがなかったかのように、このモニタを現在の構成の一部として含まないといった、他の動作をとることができる。

0048

このように、モニタがプラグインされた際、モニタ構成を検出または構成する必要があるので、ビデオ設定への変更を適用することができる。これを行う迅速な方法は、構成の一部であったモニタに基づいて、過去のモニタ構成を調べることである。このように、新たに接続されたモニタが前にモニタ構成の一部であったかどうかを迅速に識別するための第1の検索が行われる。モニタのアイデンティティは、EDID内に含まれるシリアル番号によって判断することができ、これは、現在のバージョンにおいては32ビット数である。上述のように、シリアル番号がない場合には、1つまたは複数の他の(例えば、EDID)種々のフィールドをハッシュして、識別のために有用な値を提供することが可能である。インスツルメンテーションAPI呼び出し等(例えば、グラフィックス・インターフェース・コンポーネント213を介するような)を用いて、EDIDを取り出すこともできる。

0049

例示的な実施において、検索を迅速化する種々の方法には、ハッシュ・テーブルの使用、および/または、既知のモニタの識別子を平衡二分木内に配置することが含まれ、例えば、既知のモニタ情報を配列内に含ませることができ、二分木内の各ノードはモニタの配列への指標とすることができるので、モニタの配列内の各エントリは、各々が、モニタがその一部であった各モニタ構成にポイントするポインタのリストを含む。一般に、1つの可能な実施を示すように、以下に二分木が用いられる。こうした実施において、モニタ構成は、モニタ構成リストと呼ばれるごく最近用いられたモニタ構成リストに格納され、モニタ構成リストへのポインタのリンク・リストは、モニタ配列の要素内に含められ、ソートされるので、リストの先端にあるポインタは、モニタがその一部であったごく最近のモニタ構成をポイントする。

0050

モニタ構成はユーザごとに変更できるので、一時モニタ・マネージャ212がカーネル・コンポーネントである場合には、ユーザ・コンテキストの変更がある際にモニタ配列とモニタ構成リストとの間のリンクが再設定される。モニタ構成リスト内の各ノードは、タイムスタンプ(ごく最近使用された順序で配置するための)、該構成内のモニタの数、パワー・スキーム(例えば、GUIDとして表される)、バージョン番号(データ構造の可能な将来のバージョンについての)、ビデオ・ポート状態(すなわち、ビデオ・ポートが活動状態であるかまたは非活動状態であるか)、モニタの幾何学形状、およびこの構成およびそれぞれの状態においてモニタを識別するモニタ/状態配列(state array)のようなデータを含むことができる。代替的に、ビデオ設定は、モニタ状態情報から抽出することができる。

0051

モニタ/状態配列は、該モニタ配列内のモニタに対応する指標エントリを含む要素と、モニタの状態を含む構造とを有する。この状態は、モニタの解像度、リフレッシュレート、色の深み、および配向等の情報を含む。モニタの存在と関係なく、ビデオ・ヘッド状態を追跡する必要がある場合がある。この場合、ビデオ・ヘッド状態がモニタ状態の代わりにモニタ構成リスト・エントリに格納される。

0052

既知のモニタを用いてマシンが起動するとき、モニタのアイデンティティが獲得される。例えば、モニタA、モニタB、およびモニタCは、モニタAが5のIDを有し、モニタBが3のIDを有し、モニタCが7のIDを有する状態で構成内にある。二分木が検査され、これらが既知のモニタであるこの例において、ID5、3、および7に対応するノードが検出される。各ノードは、指標をモニタ配列内に含む。各配列要素に含まれたモニタ構成リストへのポインタのリストは、ちょうどモニタの数(3つ)および現在使用されているパワー・スキームに対応するものにフィルタリングされる。次に、合致があるかどうかを確認するために、各モニタのモニタ構成リストへのポインタについて比較が行われる。3つのモニタとの合致がある場合には、モニタ構成リストのモニタ状態から得られたビデオ設定および該モニタ構成リストのノードから得られた幾何学形状が、(グラフィックス・インターフェース214を介して)適用される。モニタの如何なる幾何学形状も格納された幾何学形状と合致しない場合には、該格納された幾何学形状は使用されない。一例として、モニタCがプラグインされる前に、モニタBがモニタAの左側に移動されることを考える。この状況においては、モニタBがモニタAの左に移動し、よって、格納された幾何学形状が、モニタBをモニタAの右に示すので、モニタA、BおよびC(プラグインされたとき)について格納された幾何学形状が使用されないことは周知である。

0053

未知のモニタがプラグインされた場合には、できる限り過去の設定を復元するために可能なモードを繰り返すことによって、ビデオ・モードを求めることができるが、ユーザに、類似したモニタについて過去に用いられたれたモードを提供しようとして、モニタのモデル番号についての検索が行われる。モデル番号の検索に失敗した場合には、代わりにモニタ能力を用いることができ、このモニタ能力は、画面サイズ、および/またはモード、並びに該モニタがサポートするリフレッシュレートの組み合わせを含む。例えば、LCD、CRTプラズマまたは他の何らかのタイプといったタイプのモニタ等の情報が、望ましいモードの選択を高めることができる。一例として、ユーザがある会議室から別の会議室に移動し、同一ではないものの類似した会議室のモニタに同じコンピュータをプラグインする場合である。このような状況では、モニタIDの二分木を用いて、モニタ配列内にモニタIDを検出することができない。検索に失敗した場合、検索は、ディスプレイ機構のモデル番号について行われる。

0054

モデル番号を検索する2つの方法は、モデル番号を検索できる別の二分木を生成すること、またはモニタの配列によって線形検索を行うことを含む。大部分のユーザにとって、未知のモニタが付加された回数は、既知のモニタがコンピュータにプラグインされ、該コンピュータからアンプラグされる回数と比べて相対的にわずかである可能性が高く、二分木の生成には、モニタ配列による線形検索を必要とすることから、簡単な線形検索は有利なものである。

0055

未知のモニタをプラグインできる別のシナリオは、内部モニタを持たないモバイル・コンピューティング装置の場合のように、未知のモニタがプラグインされた単独のモニタである場合を含む。コンピュータが既に動作している場合には、プラグインされた1つまたは複数の新しいモニタが、一時モニタ・マネージャ212に通知される。代替的に、コンピュータが最初に起動する場合、一時モニタ・マネージャ212は、最初にどのモニタが該コンピュータにプラグインされているかを確認する。いずれの場合も、各々の新しいモニタのモニタIDが獲得され、この「未知のモニタ」の例においては、二分木の検査により、このモニタIDを有する既知のモニタが存在しないことが示される。次に、モデル番号が獲得され、これを用いて、該モデル番号の各々の場合についてモニタの配列を(例えば、線形に)検索する。合致があるたびに、リンク・リストに配列指標が付加される。

0056

リンク・リストが1つしかない場合には、該リンク・リストを線形に検査し、配列指標を用いて、モニタ構成リストへのポインタを利用できる。1つのモニタについてのモニタ構成リストのエントリがフィルタリングされ、最新のエントリが検出されたとき、モニタ構成を設定するために関連したビデオ設定データが用いられ、モニタ構成リストが更新される。次に、合致がない場合には、ビデオ・モードが繰り返され、モニタ構成が、最適な解像度およびリフレッシュレートによって決定される。

0057

このプロセス中に付加された別のモニタがある場合には、別のリンク・リストが、同じように作成され、ポピュレートされる。リンク・リストが検索され、2つの(またはそれ以上の)モニタについてのあらゆるモニタ構成リストのエントリがフィルタリングされる。リンク・リストの全てによって共有される最新のモニタ構成リスト・エントリが用いられる。

0058

各リンク・リストがポピュレートされた後でさらにビデオ設定データを適用する直前に、モニタのプラグイン/アンプラグ・イベントが検査される。変更がある場合には、新しいモニタ構成を判断する。未知のモニタがプラグインされる際に1つまたは複数の既知のモニタが既にプラグインされている場合には、モニタ構成リスト・エントリが既知のモニタ配列エントリによってポイントされるものと比較される点を除くと、未知のモニタの条件だけに類似した状況が存在する。

0059

新たに識別されたモニタを用いてモニタ配列を更新するために、未知のモニタに問い合わせされたとき、該新たに識別されたモニタは、該モニタ配列の終わりに追加される。この時点で、配列エントリは、モニタ構成リストへの如何なるポインタも持たない。次に、二分木が、新しいモニタIDを用いて更新される。モニタがモニタ構成リストに付加されると、ビデオ設定を更新するコードが、モニタ構成リスト・エントリおよびモニタIDの組へのポインタを取り、各モニタについて関連した配列指標を戻す方法を用いて、モニタ配列を維持するコードを呼び出すときに、モニタ配列が更新される。この機能により、モニタ構成リスト・エントリへのポインタが、パラメータとして送られるモニタの組内の各モニタと関連した各配列エントリに付加される。

0060

次に、切断操作の考察に移ると、ステップ400で表されるように、図4は、切断イベントに応答して一時モニタ・マネージャ212が取る例示的な論理を示す。以下に説明されるように、切断されたモニタ上で表示される他のプログラム、ウィンドウ、アイコン等はもはや見えないので、単に何の行動も起こさないことが、一般的に望ましくないことに留意されたい。したがって、ステップ402では、切断されたモニタがもたらした全体の構成を評価する。上述のように、このことは、どのモニタが切断されたか、どの1つまたは複数のモニタが接続されたかを知ることを暗黙的に必要とし、それは、それらの識別子について残存しているモニタに問い合わせ、どのモニタが切断されたかを消去法により判断することを必要とする。

0061

一般に、修正されたモニタの組が与えられた場合、一時モニタ・マネージャ212は、ユーザが前に持っていたものと同一の(または十分に類似した)構成を探す。ステップ402においてそれが検出された場合、ステップ406においてモニタ構成が適用され、残存している組の(1つまたは複数の)モニタをその前の構成に再設定し、一時モニタ・マネージャ212のこの切断処理プロセスは、再び必要とされるまで終了する。

0062

代わりに、ステップ402においてモニタの組が新しいものであると考えられた場合には、例えば、類似した構成データまたは接続されたままの各モニタの能力に基づいて上述されたように、ステップ402は、最良の推測の構成が選択されるステップ406に分岐する。ステップ408は、ユーザが確認することを可能にし、このことは、一般的にあらゆるユーザ変更をも容易にする。

0063

既知のモニタがアンプラグされたときの例として、モニタA、BおよびCが接続されたコンピュータの別の構成を考える。コンピュータが動作している間に、モニタCがアンプラグされ、それにより一時モニタ・マネージャ212は、モニタがアンプラグされたというPnP通知を受け取り、アンプラグされたモニタが識別されなかった場合には、一時モニタ・マネージャ212は、消去法により、すなわち接続されたままのモニタのモニタIDを再獲得し、そのIDをモニタ構成リストと比較することによって、どのモニタがアンプラグされたかを判断する。

0064

図4を参照して上述されたように、一実施においては、このことによりモニタ構成を変更し、モニタAおよびBを前の状態に復元させることができる。代替的に、(ユーザ設定できる)1つの代替的な実施においては、ユーザの混乱を回避するために、残りのモニタの状態を完全な状態のままにすることができ、例えば、モニタAまたはBの解像度も、リフレッシュレートも変更されない。しかしながら、モニタCのビデオ・ヘッドはスイッチが切られ、現在のモニタ構成のコピーをとり、モニタCをモニタ・リストから排除することによって、モニタ構成リスト内の新しいエントリが準備される。ビデオ設定は、古いモニタ構成のGUIDに取って代わる新しいGUIDによってアクセス可能な格納位置シリアル化され、格納され、タイムスタンプが更新される。残りのモニタの幾何学形状が記録され、データは、タイムスタンプによってアドレス指定可能な格納位置に配置された。次に、新しいモニタ構成が、モニタ構成リストの先頭に配置される。

0065

モニタCが再びプラグインされる場合には、一時モニタ・マネージャ212は、モニタがプラグインされたというPnP通知を受け取る。モニタのシリアル番号を獲得した後、モニタIDの二分木を介して、モニタCがプラグインされたことが判断される。理解されるように、これは「既知のモニタ」の状態であるので、使用すべき適切なビデオ設定は、上述のように決定される。

0066

既知のモニタを用いて電源切断中にモニタを再構成することも可能である。アンプラグ・イベントの受信と幾分類似しているが、PnP通知は受信されない。ユーザがコンピュータの電源を切断し、モニタCをアンプラグする、モニタA、B、およびCに接続されたコンピュータの例を再考する。この例において、コンピュータは、モニタAおよびBだけを有する構成にこれまで遭遇したことがない。電源投入時にモニタAおよびBがプラグインされ、これに応じて識別されるが、モニタAおよびBを含む2つのモニタを有するモニタ構成リスト内にエントリは存在しない。

0067

2つのモニタの設定方法を決定する第1の任意の方法の1つは、2つのモニタがサポートできる可能なモードにわたって繰り返すことによって、最適な解像度およびリフレッシュレートを決定することである。第2の方法は、モニタの数が既存の構成に合致する3に等しく、それにより一時モニタ・マネージャ212が、モニタAおよびBを含むモニタ構成を検出する必要がないように、モニタ構成リストの検索規則を修正することである。このように、コンピュータ・システムの電源が投入されている間、モニタCがアンプラグされているかに類似した、新しいモニタ構成を見出すことができる。この第2の選択肢が用いられる場合、モニタAおよびBを含む最新の構成だけが用いられることに留意されたい。ユーザにとっては、モニタAおよびBについてのモニタ設定は、モニタCがプラグインされたときと同じままであるので、モニタCがないことが唯一の変更である。もちろん、モニタAおよびBがさらに別のモニタとプラグインされることも可能であるが、一般には、モニタAおよびBのモニタ設定値が同じままであることが望ましい。ビデオ設定が設定され、第3のモニタについてのビデオ・ヘッドの電源が切られる。次に、モニタ構成が記録され、モニタ構成リストが更新される。ビデオ設定を設定しようとする試みが失敗する場合には、第1の選択肢を用いることができる。

0068

本発明の別の態様によると、モニタが切断されるとき、そのモニタ上に表示されていたいずれのプログラム・ウィンドウ、アイコン等も、一時モニタ・マネージャ212によって、1つまたは複数の残存しているモニタの組に切り替えることができる。このため、切断の検出および残存しているモニタの何らかの再構成時に、ウィンドウの位置、サイズ等に関するデータが依然としてメモリ内に存在し、現在拡張されていないかまたはあまり拡張されていないデスクトップから、残っているデスクトップ領域に情報を「シャッフル」するために、このデータが用いられる。新しい領域に適合させるために、必要に応じてウィンドウおよび他の画像を調整(scale)することができる。切断されたモニタからのプログラム・ウィンドウを新しい領域に移動させてもよく、または選択されるまで接続されたモニタのタスクバー等に最小化することもでき、選択時に該プログラム・ウィンドウが該接続されたモニタ上で復元される。

0069

切断されたモニタ(または類似したモニタ)が再接続される場合には、ウィンドウおよび他の画像を復元させることができる。しかしながら、ユーザの混乱を回避するために、ウィンドウの処理に適用される規則があり、例えば、単にウィンドウがあった場所に復元させるのではなく、例えば、それをタイプまたはクリックし、移動させ、サイズ変更し、および/または、そのウィンドウに焦点を合わせるといったように、ユーザが何からの十分な方法でそれと対話する場合に、ウィンドウを現在の位置のままにすることができる。

0070

高速ユーザ・スイッチ」を用いる場合、ユーザはログアウトせず、よって、ユーザのウィンドウについての位置決めデータが維持されることに留意されたい。したがって、イベント時にコンピュータが別のユーザに切り換えられたときでさえ、切断および/または再接続の構成変更後、必要に応じて多数のユーザについてのデータを再シャッフルすることができる。構成変更に続くハイバネートも、同様にウィンドウ等のシャッフルをもたらすことがあるが、現在のモニタ構成を求めることができるように、ハイバネーション・モードから出たときに一時モニタ・マネージャ212に通知する必要がある。

0071

図5を参照すると、図3および図4から明らかなように、特定の状況において、一時モニタ・マネージャ212の選択は、例えば、「ディスプレイ特性」/制御パネル・ユーザ・インターフェースといった適切なユーザ・インターフェースとの手動のユーザ対話によってオーバーライドすることができる。ユーザは、通常の動作の際などの他の時にも構成データを変更することができる。理解できるように、これらの変更は、現在のモニタの組についてのモニタ構成データ内で持続させる必要があり、他の場合には、接続または切断の結果もたらされる次の構成変更時に失われることになる。

0072

ステップ500で表されるように、図5は、構成を変更するユーザ対話時に一時モニタ・マネージャ212がとる動作を表す。例えば、ユーザは、「ディスプレイ特性」ユーザ・インターフェースを選択することができ、何らかの変更が適用されると、一時モニタ・マネージャが、モニタの組に変更を加え、さらに該変更を持続させる。ステップ502において、変更を持続させるために、構成更新プロセスが、現在接続されている(1つまたは複数の)モニタの組を識別する。とりわけ、変更が構成に対するものである(例えば、ユーザがモニタの除去を望む)か、または最近使用された構成である対応する構成データをデータ・ストア214(図2)に配置することである場合に、これを使用することができる。次に、ステップ506において、ユーザが加えるあらゆる変更を含む全体の構成が格納される。

0073

上述のように、モニタ構成を決定できる1つまたは複数のモニタの組以外にも多数の要因がある。これらの要因の1つは、通常適用される設定を変更またはオーバーライドできる電力状態である。例えば、電力を保存するために、リフレッシュレート、色の深み、解像度、バックライト輝度、コントラスト等の全てを修正することができる。実際には、例えば、ラップトップはバッテリ電源不足した状態で動作するが、モニタ構成が、十分に動力供給されたモニタが接続されたようなものであるとき、ラップトップの内蔵モニタの電源を自動的に切ることができる。

0074

モニタ構成を自動的に修正する別の方法は、一時モードによるものである。例えば、ビデオ再生は、60ヘルツのリフレッシュレートで良好に動作することが知られている。例えば、グラフィックスの呈示に対して、こうした再生の検出を用い、条件が変更するまでモードを変更することができる。

0075

モニタ製造業者は、一時モニタ・マネージャ212等への呼び出しによって持続/復元される顧客設定を有することもできる。例えば、テレビ・ベースのモニタは、特定の領域が特定の時期に画面上にトリミングされ、それらの領域が、他の条件においてはユーザ対話なしに復元されることを必要とする。さらに、色空間補正ガンマのような顧客設定を、モニタ構成と共に保存することができる。

0076

例示的な論理
図6は、1つの具体的な例の実施における一時モニタ・マネージャ212の概要を示す。図6に表されるように、一般に、一時モニタ・マネージャ212の起動時またはユーザ・コンテキストの切り換えが行われるとき、ステップ600におけるものを含めて、一時モニタ・マネージャ212へのエントリ・ポイントが2つある。一時モニタ・マネージャ212が起動されるかまたはユーザ・コンテキストの切り換えがある場合には、適切なユーザ・データを読み込む必要がある。このため、ステップ602で表されるように、モニタ構成リストおよびモニタ配列がメモリから読み込まれ、二分探索木が構築され、該モニタ構成リストと該モニタ配列との間に接続が確立される。

0077

ステップ604で表されるように、第2のエントリ・ポイントは、モニタのプラグイン/アンプラグ・イベントが行われるときである。いずれのエントリにおいても、現在のモニタ構成を決定し、試験し、モニタ構成リストを更新するために、ステップ606が実行される。上述のように、一般に、グラフィックス・インターフェース/インスツルメンテーションAPI呼び出しまたは他の適切な方法を用いて、現在のモニタ構成の各モニタについての各モニタIDが獲得される。次に、ステップ608で表されるように、モニタIDを検索するために、二分検索木が用いられる。

0078

ステップ610で表されるように、モニタIDのいずれかで検索の失敗があったかどうかによって、新しいモニタ構成の判断が、2つの異なる分岐のうちの1つをとることになる。その後、以下に説明されるように、モニタ構成が決定され、試験されると、モニタ構成リストが更新され、該モニタ構成リストとモニタ配列との間の接続が更新される。

0079

モニタIDの一部または全てが検出されなかった場合には、プロセスは、図7に表されるさらに別のステップへの移動を表すステップ612に分岐する。逆に、モニタIDの全てが検出された場合には、ステップ610において、プロセスは、ステップ614、616、および618に分岐し、そこで、モニタIDと関連した各配列要素内のモニタ構成リストへのポインタが比較され、ステップ616において、各モニタによってポイントされるそれらのモニタ構成リスト・エントリが、モニタ構成リスト・エントリのリンク・リストに付加される。モニタ構成リスト・エントリは異なるパワー・スキームのもとで記録されたモニタ構成を含むことができるので、あるいは新しいモニタが、より良い合致を得るために、より大きなモニタ構成のサブセットであった場合には、該モニタ構成リスト・エントリをフィルタリングすることができる(ステップ618)。これを達成するために、リンク・リスト・イテレータが、異なるパワー・スキームまたは現在の状態と異なるモニタ数のもとで記録されたモニタ構成リスト・エントリをポイントする、それらのリンク・リスト・ノードをスキップオーバーする。この時点で、図8に移動するステップ620で表される最良のモニタ構成リスト・エントリが見出される。

0080

ステップ610に戻ると、検出されなかったモニタIDを有する1つまたは複数のモニタ(ステップ608およびステップ610、「未知のモニタ」と呼ばれる)がある場合には、プロセスは図7に分岐する。この時点で、既知のものでない場合(例えば、EDID全体が前にマネージャ212に戻されている場合)、ステップ702においてAPI/メソッド呼び出しを用いて、検出されなかったモニタIDを有する各モニタのモデル番号を獲得する。より具体的には、二分検索木の検索に失敗したそれらのモニタについて、ステップ704においてモニタ配列による別の(例えば、線形)検索が行われ、同じモデル番号を有する一組のモニタを検出する。

0081

この検索は、ステップ706において評価される際に失敗する可能性があるが、その場合、識別されたモニタは、モニタ構成リスト・エントリ内にあるモニタのサブセットを形成する。既知のモニタのアルゴリズムにおいて行われたように、モニタ構成リスト・エントリのリンク・リストを作成するために、二分検索木によって検出された配列要素と共に、この組の配列要素が用いられる。この例において、ステップ706においてモデル番号が検出された場合には、モニタIDと関連した各配列要素内のモニタ構成リストへのポインタが比較され、ステップ708において、各モニタによってポイントされたそれらのモニタ構成リスト・エントリが、モニタ構成リスト・エントリのリンク・リストに付加される。ステップ710が、未知のモニタの各々について繰り返される。

0082

モニタ構成リスト・エントリは、異なるパワー・スキームのもとで記録されたモニタ構成を含むことができるので、あるいは新しいモニタがより大きなモニタ構成のサブセットであった場合には、より良い合致を得るために、該モニタ構成リスト・エントリをフィルタリングすることができる(ステップ714)。これを達成するために、リンク・リスト・イテレータが、異なるパワー・スキームまたは現在の状態と異なるモニタ数のもとで記録されたモニタ構成リスト・エントリをポイントする、それらのリンク・リスト・ノードをスキップオーバーする。

0083

これが達成された後、未知のモニタがモニタ配列に付加され、二分検索木は、再びバランスが取られるかまたは再構築される。この時点で、未知のモニタが既知のものになるが、モニタ構成リストへのポインタは存在しない。上述のように、新しいモニタ構成が所定の位置に設定されると、モニタ配列とモニタ構成リストとの間が接続される。この時点で、図8に移動するステップ718で表されるように、最良のモニタ構成リスト・エントリが検出される。

0084

フィルタリングされたエントリのリストからモニタ構成リストにおける最良のエントリを検出するために、図8の例示的なステップを実行することができる。このエントリは、新しいモニタ構成と同じモニタを有することができ、あるいは他のモニタを含むこともできる。以下に説明されるように、モニタ構成リスト・エントリがない場合には、プロセスが進み、未知のモニタにおいてビデオ・モードを繰り返すことができることに留意されたい。

0085

本質的にステップ802において再評価されるように、モニタのプラグイン/アンプラグ・イベントのために、一時モニタ・マネージャ212が現在このプロセスを実行している場合には、一態様が既存のモニタ状態の変更を回避し、このことは、イベント前の構成と同じ状態とのモニタ合致を探すことによって達成される。イベント前の構成のモニタ状態は、モニタ構成リストの先頭に置かれる(それがごく最近使用された構成であるため)。ステップ804において、モニタ構成リスト・エントリのリストにおいて検索を行い、既存のモニタおよび状態と共に新しいモニタ(プラグ・イベントの場合)を含むモニタ構成を見出す。多数の合致が存在する場合には、最新のモニタ構成リスト・エントリが用いられる。代わりに、ステップ806において、モニタのプラグイン/アンプラグ・イベントのために一時モニタ・マネージャ212が現在プロセスを実行している場合、新しい構成のモニタを有する最新のモニタ構成リスト・エントリが選択される。

0086

ステップ808においてモニタ構成リスト・エントリが検出されず、モニタの数によってフィルタリングされない場合には(ステップ810)、リストをフィルタリングするためにもはやモニタの数を使用しないように、ステップ812において、モニタ構成リスト・エントリのリンク・リストについてのイテレータが調整される。ステップ808に戻ることによって、モニタ構成リスト・エントリにおいて、再び検索が行われる。

0087

ステップ810において、モニタの数によってフィルタリングされず、モニタ構成リスト・エントリが依然として検出されないとき、例えば、モニタAおよびBが一緒に構成されるもののモニタCと協働しないといったように、モニタの全てが前と同じ構成にあるわけではないという可能性もある。解法は、ステップ812で表されるように、最も多いモニタの合致を有するモニタ構成リスト・エントリを検出することであり、上記の例においては、解法は、モニタAおよびBを有するモニタ構成リスト・エントリを見出す。これは、既知の状態を用いずにモニタCを残すというものである(これは、図9において解決される)。

0088

ステップ902を介して図9に表されるように、モニタ構成リスト・エントリについての検索が、モニタおよび状態について正確な合致をもたらす場合には、次のステップ918は、図10に進むことによってビデオ・カードの能力に対する構成を試験するというものである。しかしながら、例えば、確立されたビデオ状態を持たない余分のモニタのために、検索が正確な合致を提供しない場合には、ステップ902は、モニタ構成を試験する前にステップ904に分岐する。

0089

より具体的には、ステップ904において、新しい構成内にないモニタが、モニタ構成リスト・エントリ内に存在する場合には、ステップ906を介してそれらを除去する必要がある。また、関連したビデオ状態を有していないモニタが存在する場合には、ステップ908およびステップ910を介して、その利用可能なモードについてモニタに問い合わせする。ステップ912においてモードが検出される場合には、最良の合致を見出す必要があり、このことは、ビデオ設定に対してモニタ構成を試験することによって、ステップ914で実行される。これらの設定が許容される場合には、そのモニタ構成を用いることもできる。

0090

一時モニタ・マネージャ212のプロセスが終了する前に、モニタ構成が試験される。これは、たとえ正確な合致がモニタ構成リスト内に検出されたとしても、その後ビデオ・カードが消され、以前有効だったモニタ構成がもはや新しいカードにより動作しないという可能性があるためである。ビデオ・モードについての検索(ステップ912)が失敗し、モニタを設定状態のないままにすることも考えられる。図10は、例示的な試験ステップを表す。

0091

ステップ1002において、モニタのいずれも試験前に該モニタについて設定された状態を有していない場合、あるいはビデオ設定に対して試験されたときにモニタ構成に失敗するとき(ステップ1016およびステップ1018)、使用可能なビデオ・モードが繰り返される(ステップ1004)。リフレッシュレート(ステップ1006における限界値に対して評価される)を減少させることが可能である場合には、ステップ1008において第1の試みがそれを行い、ステップ1016に進むことによってビデオ・カードの能力に対して試験を行う。(例えば、60Hzのような)限界値に達するまでリフレッシュレートを減少させることが繰り返し失敗した場合、ステップ1010および1012を介して実行されるように、可能であれば、次のステップがモニタの解像度を減少させる。モニタの解像度が減少されるときはいつでも、リフレッシュレートを増大させ、ビデオ設定を再び試験し、入れ子式ループ内でリフレッシュレートを(必要に応じて)その最小限界値まで減少させ得ることに留意されたい。最終的に使用可能なモードが失敗した場合には、ステップ1014において、ディスプレイ制御パネル・ダイアログが示される。示されていないが、ディスプレイ制御パネルを示す前に、1つまたは複数の試みを行い、色の深みを減少させる得ることに留意されたい。

0092

ステップ622に戻る図10により表されるように、試験が完了すると、モニタ構成リストを更新し用いるために、ステップ624が実行される。このように、既存の構成が適用されるか、または現在のモニタの組およびそれらの現在の状態について新しい構成が構築される。

0093

上記の詳細な説明から分かるように、1つまたは複数のディスプレイ機構に接続するときに、多くの可能なユーザ・シナリオに対処する柔軟な方法でユーザ体験を簡単化するシステムおよび方法が提供される。合致するときに確立された構成を適用することによって、または合致しないときにインテリジェントな推測をすることによって、多くの場合、ユーザ対話を必要とすることなく、ほぼ望ましい結果がユーザに与えられる。

0094

本発明には種々の修正および代替的な構成が可能であるが、その特定の例証となる実施形態が図面に示され、上記に詳細に説明された。しかしながら、本発明を開示された特定の形態に限定することを意図するものではなく、逆に、本発明の精神および範囲内に含まれる全ての修正、代替的な構成および等価物網羅することが意図されることを理解すべきである。

図面の簡単な説明

0095

本発明を組み込むことができるパーソナル・コンピュータ・システムの形態の汎用コンピューティング装置を表すブロック図である。
本発明の種々の態様による、現在の組のモニタに基づいてモニタ構成データを適用することを含む、1つまたは複数のモニタを管理するためのコンポーネントを全体的に表すブロック図である。
本発明の種々の態様による、モニタをコンピュータ・システムに接続したときに一時モニタ・マネージャ・コンポーネントによって取られる例示的なステップを全体的に表すフロー図である。
本発明の種々の態様による、モニタをコンピュータ・システムから切断したときに一時モニタ・マネージャ・コンポーネントによって取られる例示的なステップを全体的に表すフロー図である。
本発明の種々の態様による、ユーザが対話によりモニタ構成データを変更するときに一時モニタ・マネージャ・コンポーネントによって取られる例示的なステップを全体的に表すフロー図である。
本発明の種々の態様による、種々のシナリオに対処するために一時モニタ・マネージャ・コンポーネントによって取られるステップを全体的に表すフロー図である。
本発明の種々の態様による、種々のシナリオに対処するために一時モニタ・マネージャ・コンポーネントによって取られるステップを全体的に表すフロー図である。
本発明の種々の態様による、種々のシナリオに対処するために一時モニタ・マネージャ・コンポーネントによって取られるステップを全体的に表すフロー図である。
本発明の種々の態様による、種々のシナリオに対処するために一時モニタ・マネージャ・コンポーネントによって取られるステップを全体的に表すフロー図である。
本発明の種々の態様による、種々のシナリオに対処するために一時モニタ・マネージャ・コンポーネントによって取られるステップを全体的に表すフロー図である。

符号の説明

0096

100:コンピューティング環境
120:処理ユニット
121:システム・バス
130:システム・メモリ
134:オペレーティング・システム
204:ビデオ・カード
210:プラグ・アンド・プレイ・コンポーネント
212:一時モニタ・マネージャ
213:グラフィック・インターフェース
214:データ・ストア

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ