(57)【特許請求の範囲】
【請求項１】
システムであって、
当該システムは、以下のようにコンフィギュレーションされた少なくとも１つのプロセッサを含む、すなわち、
・ディスプレイデバイスを介してビジュアルワークスペース上の第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスを介したオブジェクト選択入力に応答して、前記ディスプレイデバイスが、前記第１のオブジェクトロケーションに隣接する前記ビジュアルワークスペース上の、第１のアノテーションロケーションに、選択された前記第１のオブジェクトに関するプレビュー型の第１のアノテーション、および、第２のアノテーションロケーションに、選択された前記第１のオブジェクトに関するプレビュー型の第２のアノテーションを同時に表示するようにし、但し、プレビュー型として表示された第１および第２のアノテーションは前記入力デバイスを介した入力によって個々に選択可能であり、
・前記第１のアノテーションおよび／または前記第２のアノテーションがそれぞれプレビュー型からパーシステント型に変更される前に、前記第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、前記入力デバイスを介して受け取ると、前記ディスプレイデバイスは、前記ビジュアルワークスペース上での前記第１のアノテーションおよび／または前記第２のアノテーションの表示を停止するようにし、
・前記第１のオブジェクトが選択されているときに、前記第１のアノテーションの選択に該当する、前記入力デバイスを介した第１のアノテーション選択入力に応答して、前記第１のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトがオブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第１のアノテーションロケーションに視覚的に表示されたままであり、
前記第１のオブジェクトが選択され続けて、前記第１のアノテーションがパーシステント型に変化させられた後に、前記第１のアノテーション選択入力とは異なる、第２のアノテーションの選択に該当する、前記入力デバイスを介した当該第２のアノテーション選択入力に応答して、前記第２のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１および第２のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトがオブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第２のアノテーションロケーションに視覚的に表示されたままである、
システム。
【請求項２】
前記少なくとも１つのプロセッサは、
・前記第１のアノテーション選択入力に応答して、前記第１のオブジェクトと前記第１のアノテーションとの連関をメモリに記憶させ、
・前記入力デバイスを介した少なくとも１つの新たな入力に応答して行われた、前記ビジュアルワークスペース上に表示されている前記第１のオブジェクトに対する変更に対応して修正された情報を表示するために、前記連関に基づき前記第１のアノテーションを自動的に更新する、
ようにコンフィギュレーションされている、
請求項１記載のシステム。
【請求項３】
前記少なくとも１つのプロセッサは、前記第１のオブジェクトの少なくとも１つの特性を決定するようにコンフィギュレーションされており、前記少なくとも１つの特性は、前記第１のオブジェクトのタイプ、前記第１のオブジェクトの形状、前記第１のオブジェクトのサイズ、前記第１のオブジェクトと前記ビジュアルワークスペース内の他のオブジェクトとの関係、またはこれらの任意の組み合わせ、を含み
前記少なくとも１つのプロセッサは、選択された前記第１のオブジェクトの決定された前記少なくとも１つの特性に少なくとも部分的に基づき、前記第１および第２のアノテーションの外観を表示させるようにコンフィギュレーションされている、
請求項２記載のシステム。
【請求項４】
前記第１のオブジェクトが矩形に対応する形状を有しており、前記少なくとも１つのプロセッサは、
前記第１のオブジェクトの矩形の形状に基づき、前記第１のアノテーションが、前記矩形の長さ寸法測定量、前記矩形の幅寸法測定量、前記矩形の高さ寸法測定量、またはこれらの任意の組み合わせを視覚的に表示する、
ようにコンフィギュレーションされている、
請求項３記載のシステム。
【請求項５】
前記第１のオブジェクトが円弧に対応する形状を有しており、前記少なくとも１つのプロセッサは、前記第１のオブジェクトの円弧の形状に基づき、前記第１のアノテーションは、前記円弧の半径寸法測定量を視覚的に表示するようにコンフィギュレーションされている、
請求項３記載のシステム。
【請求項６】
前記少なくとも１つのプロセッサは、前記第１のアノテーションの選択に該当する、前記入力デバイスを介した新たな入力を受け取るように、コンフィギュレーションされており、前記第１のアノテーションの選択によって前記少なくとも１つのプロセッサは、前記第１のアノテーションの寸法線の視覚的フィーチャを変更する、
請求項１記載のシステム。
【請求項７】
前記第１および第２のアノテーションの選択入力は、第１および第２のアノテーション上のそれぞれでのマウスまたはタッチスクリーンでの選択入力にそれぞれ該当する、
請求項１記載のシステム。
【請求項８】
前記少なくとも１つのプロセッサは、
前記ビジュアルワークスペース上の新たなオブジェクトロケーションに表示された前記第１のオブジェクトと第２のオブジェクトの両方の選択に該当する、前記入力デバイスを介した少なくとも１つの新たなオブジェクト選択入力に応答して、前記第１のオブジェクトロケーションおよび前記新たなオブジェクトロケーションに隣接する前記ビジュアルワークスペース上の新たなアノテーションロケーションに、選択された前記第１のオブジェクトおよび前記第２のオブジェクトの組み合わせに関するプレビュー型の新たなアノテーションを、前記ディスプレイデバイスが表示する、
ようにコンフィギュレーションされており、
前記少なくとも１つのプロセッサは、
前記新たなアノテーションの選択に該当する、前記入力デバイスを介した新たなアノテーション選択入力に応答して、前記新たなアノテーションをプレビュー型からパーシステント型に変化させる、
ようにコンフィギュレーションされており、前記第１のオブジェクトおよび前記第２のオブジェクトのうち少なくとも１つのオブジェクトが選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上の前記新たなアノテーションロケーションに視覚的に表示されたままである、
請求項１記載のシステム。
【請求項９】
さらに以下のように構成されている、すなわち、
前記少なくとも１つのプロセッサは、前記第１のオブジェクトが前記第２のオブジェクトに対し角度配向関係に該当する関係を有する、ということを決定し、
前記新たなアノテーションは、決定された前記角度配向関係に基づき、前記第１のオブジェクトと前記第２のオブジェクトとの間に角度寸法測定量を視覚的に表示する、
請求項８記載のシステム。
【請求項１０】
さらにメモリと、アプリケーションソフトウェアコンポーネントと、前記入力デバイスおよび前記ディスプレイデバイスから成るタッチスクリーンとを備えており、
前記第１および第２のアノテーションは、前記第１のオブジェクトの寸法測定量を含んでおり、
前記アプリケーションソフトウェアコンポーネントは以下の命令から成り、すなわち、前記メモリに格納され前記少なくとも１つのプロセッサにより実行されると、前記命令によって前記少なくとも１つのプロセッサは、前記ビジュアルワークスペースのそれぞれ前記第１のオブジェクトロケーション、前記第１のアノテーションロケーションおよび前記第２のアノテーションロケーションのところで、ユーザが前記タッチスクリーンをタッチすることにより受け取った、前記オブジェクト選択入力および前記第１および第２のアノテーション選択入力に応答して、前記タッチスクリーン上でのプレビュー型およびパーシステント型の前記第１のアノテーションの表示を制御し、
前記アプリケーションソフトウェアコンポーネントは、ＣＡＤソフトウェアアプリケーションに対応し、該ＣＡＤソフトウェアアプリケーションは、前記タッチスクリーンを介した前記入力に少なくとも部分的に基づき、ＣＡＤ描画を生成するように動作する、
請求項１記載のシステム。
【請求項１１】
方法であって、
当該方法は以下のステップを含む、すなわち、
少なくとも１つのプロセッサのオペレーションにより、
・ディスプレイデバイスを介してビジュアルワークスペース上の第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスを介したオブジェクト選択入力に応答して、前記ディスプレイデバイスが、前記第１のオブジェクトロケーションに隣接する前記ビジュアルワークスペース上の、第１のアノテーションロケーションに、選択された前記第１のオブジェクトに関するプレビュー型の第１のアノテーション、および、第２のアノテーションロケーションに、選択された前記第１のオブジェクトに関するプレビュー型の第２のアノテーションを同時に表示し、前記第１のアノテーションがパーシステント型に変更される前に、前記第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、前記入力デバイスを介して受け取ると、前記プレビュー型の第１のアノテーションが前記ビジュアルワークスペースから視覚的に除去され、但し、プレビュー型として表示された第１および第２のアノテーションは前記入力デバイスを介した入力によって個々に選択可能であり、前記第１のアノテーションおよび／または前記第２のアノテーションがそれぞれプレビュー型からパーシステント型に変更される前に、前記第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、前記入力デバイスを介して受け取ると、前記ディスプレイデバイスは、前記ビジュアルワークスペース上での前記第１のアノテーションおよび／または前記第２のアノテーションの表示を停止するようにし、
・前記第１のオブジェクトが選択されているとき、前記第１のアノテーションの選択に該当する前記入力デバイスを介した第１のアノテーション選択入力に応答して、前記第１のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトが前記オブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第１のアノテーションロケーションに視覚的に表示されたままであり、
・前記第１のオブジェクトが選択され続けて、前記第１のアノテーションがパーシステント型に変化させられた後に、前記第１のアノテーション選択入力とは異なる第２のアノテーションの選択に該当する前記入力デバイスを介した当該第２のアノテーション選択入力に応答して、前記第２のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１および第２のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトがオブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第２のアノテーションロケーションに視覚的に表示されたままである、
方法。
【請求項１２】
さらに、
・前記少なくとも１つのプロセッサのオペレーションにより、前記第１のアノテーション選択入力に応答して、前記第１のオブジェクトと前記第１のアノテーションとの連関をメモリに記憶させるステップと、
・前記少なくとも１つのプロセッサのオペレーションにより、前記入力デバイスを介した少なくとも１つの新たな入力に応答して行われた、前記ビジュアルワークスペース上に表示されている前記第１のオブジェクトに対する変更に対応して修正された情報を表示するために、前記連関に基づき前記第１のアノテーションを自動的に更新するステップと、
を含む、
請求項１１記載の方法。
【請求項１３】
さらに、前記少なくとも１つのプロセッサのオペレーションにより、前記第１のオブジェクトの少なくとも１つの特性を決定するステップを含み、
・前記少なくとも１つの特性は、前記第１のオブジェクトのタイプ、前記第１のオブジェクトの形状、前記第１のオブジェクトのサイズ、前記第１のオブジェクトと前記ビジュアルワークスペース内の他のオブジェクトとの関係、またはこれらの任意の組み合わせを含み、
・表示させる前記第１および第２のアノテーションの外観は、選択された前記第１のオブジェクトの決定された前記少なくとも１つの特性に少なくとも部分的に基づいている、
請求項１１記載の方法。
【請求項１４】
前記第１のオブジェクトが矩形に対応する形状を有しており、さらに前記少なくとも１つのプロセッサのオペレーションにより、前記第１のアノテーションは前記第１のオブジェクトの矩形の形状に基づき、前記矩形の長さ寸法測定量、前記矩形の幅寸法測定量、前記矩形の高さ寸法測定量、またはこれらの任意の組み合わせを視覚的に表示する、
請求項１３記載の方法。
【請求項１５】
前記第１のオブジェクトが円弧に対応する形状を有しており、さらに前記少なくとも１つのプロセッサのオペレーションにより、前記第１のアノテーションは前記第１のオブジェクトの円弧の形状に基づき、前記円弧の半径寸法測定量を視覚的に表示する、
請求項１３記載の方法。
【請求項１６】
前記少なくとも１つのプロセッサのオペレーションにより、前記第１のアノテーション選択に該当する、前記入力デバイスを介した新たな入力を受け取るステップと、
前記少なくとも１つのプロセッサのオペレーションにより、前記第１のアノテーション選択に応答して、前記ディスプレイデバイスは、前記第１のアノテーションの寸法線の視覚的フィーチャを変更するステップと、
を含む、
請求項１１記載の方法。
【請求項１７】
前記第１および第２のアノテーション選択入力は、第１および第２のアノテーションのそれぞれの上でのマウスまたはタッチスクリーンでの選択入力に該当する、
請求項１１記載の方法。
【請求項１８】
さらに、
・前記少なくとも１つのプロセッサのオペレーションにより、前記ビジュアルワークスペース上の第２のオブジェクトロケーションに表示された前記第１のオブジェクトと第２のオブジェクトの両方の選択に該当する、前記入力デバイスを介した少なくとも１つの新たなオブジェクト選択入力に応答して、前記第１のオブジェクトロケーションおよび前記第２のオブジェクトロケーションに隣接する前記ビジュアルワークスペース上の新たなアノテーションロケーションに、選択された前記第１のオブジェクトおよび前記第２のオブジェクトの組み合わせに関するプレビュー型の新たなアノテーションを、前記ディスプレイデバイスが表示するステップと、
・前記少なくとも１つのプロセッサのオペレーションにより、前記新たなアノテーションの選択に該当する、前記入力デバイスを介した新たなアノテーション選択入力に応答して、前記新たなアノテーションをプレビュー型からパーシステント型に変化させるステップであって、前記第１のオブジェクトおよび前記第２のオブジェクトのうち少なくとも１つのオブジェクトが選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上の前記新たなアノテーションロケーションに視覚的に表示されたままである、ステップと、
を含む、
請求項１１記載の方法。
【請求項１９】
さらに、
・前記少なくとも１つのプロセッサのオペレーションにより、前記第１のオブジェクトが前記第２のオブジェクトに対し角度配向関係に該当する関係を有する、ということを決定するステップと、
・前記少なくとも１つのプロセッサのオペレーションにより、前記新たなアノテーションは、決定された前記角度配向関係に基づき、前記第１のオブジェクトと前記第２のオブジェクトとの間に角度寸法測定量を視覚的に表示するステップと、
を含む、
請求項１８記載の方法。
【請求項２０】
実行時に少なくとも１つのプロセッサに以下の方法を実施させる実行可能な命令がコーディングされた、コンピュータ読み取り可能な非一時的媒体であって、前記方法は以下のステップを含む、すなわち、
・ディスプレイデバイスを介してビジュアルワークスペース上の第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスを介したオブジェクト選択入力に応答して、前記ディスプレイデバイスが、前記第１のオブジェクトロケーションに隣接する前記ビジュアルワークスペース上の、第１のアノテーションロケーションに選択された前記第１のオブジェクトに関するプレビュー型の第１のアノテーション、および、第２のアノテーションロケーションに選択された前記第２のオブジェクトに関するプレビュー型の第２のアノテーションを同時に表示し、前記第１のアノテーションがパーシステント型に変更される前に、前記第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、前記入力デバイスを介して受け取ると、前記プレビュー型の第１のアノテーションが前記ビジュアルワークスペースから視覚的に除去され、但し、プレビュー型として表示された第１および第２のアノテーションは前記入力デバイスを介した入力によって個々に選択可能であり、前記第１のアノテーションおよび／または前記第２のアノテーションがそれぞれプレビュー型からパーシステント型に変更される前に、前記第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、前記入力デバイスを介して受け取ると、前記ディスプレイデバイスは、前記ビジュアルワークスペース上での前記第１のアノテーションおよび／または前記第２のアノテーションの表示を停止するようにし、
・前記第１のオブジェクトが選択されているとき、前記第１のアノテーションの選択に該当する前記入力デバイスを介した第１のアノテーション選択入力に応答して、前記第１のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトが前記オブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第１のアノテーションロケーションに視覚的に表示されたままであり、
・前記第１のオブジェクトが選択され続けて、前記第１のアノテーションがパーシステント型に変化させられた後に、前記第１のアノテーション選択入力とは異なる第２のアノテーションの選択に該当する前記入力デバイスを介した当該第２のアノテーション選択入力に応答して、前記第２のアノテーションがプレビュー型からパーシステント型に変化させられ、前記第１および第２のアノテーションが前記パーシステント型に変化した後に、前記第１のオブジェクトがオブジェクト選択解除入力を介して選択解除されたときでも、前記パーシステント型は、前記ビジュアルワークスペース上で前記第２のアノテーションロケーションに視覚的に表示されたままである、
媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にいえば、コンピュータ支援による設計、視覚化および製造システム、製品データマネージメント（ＰＤＭ）システム、製品ライフサイクルマネージメント（”ＰＬＭ”）システム、ならびに製品および他の項目のデータを生成および管理するために用いられる同等のシステム（これらをまとめて製品システムと称する）に関する。
【０００２】
背景技術
コンピュータ支援設計（ＣＡＤ）システムおよび他のタイプの描画システムは、製品の図面を生成可能なグラフィカルユーザインタフェース（ＧＵＩ）を含むことができる。かかるグラフィカルユーザインタフェースは、改善によって恩恵を受けることができる。
【０００３】
概要
種々の開示された実施形態には、ＣＡＤシステムまたは他のタイプの描画システムにおいてオブジェクトを描画するために用いることのできるシステムおよび方法が含まれる。１つの例によれば、システムは、入力デバイスおよびディスプレイデバイスと動作可能に接続された少なくとも１つのプロセッサを含むことができる。この少なくとも１つのプロセッサを、以下のようにコンフィギュレーションすることができる。すなわち、ディスプレイデバイスによりビジュアルワークスペース上の第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスを介したオブジェクト選択入力に応答して、第１のオブジェクトロケーションに隣接するビジュアルワークスペース上の第１のアノテーションロケーションのところに、選択された第１のオブジェクトに関するプレビュー型の第１のアノテーションを、ディスプレイデバイスが表示するように、コンフィギュレーションすることができる。同様に、少なくとも１つのプロセッサを、以下のようにコンフィギュレーションすることができる。すなわち、第１のアノテーションがパーシステント型に変更される前に、第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を、入力デバイスを介して受け取ると、ディスプレイデバイスがワークスペース上での第１のアノテーションの表示を停止するように、コンフィギュレーションすることができる。これに加え、第１のオブジェクトが選択されているときに、第１のアノテーションの選択に該当する入力デバイスを介したアノテーション選択入力に応答して、第１のアノテーションが、プレビュー型からパーシステント型に変化させられるように、少なくとも１つのプロセッサをコンフィギュレーションすることができる。この場合、第１のアノテーションがパーシステント型に変化した後、オブジェクト選択解除入力を介して第１のオブジェクトが選択解除されたときでも、パーシステント型は、ワークスペース上の第１のアノテーションロケーションに視覚的に表示されたままとなる。
【０００４】
別の例によれば、少なくとも１つのプロセッサのオペレーションにより実施される種々のアクションを、１つの方法に含めることができる。かかる方法は、以下のことを含むことができる。すなわち、少なくとも１つのプロセッサのオペレーションにより、ディスプレイデバイスを介してビジュアルワークスペース上で第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスによるオブジェクト選択入力に応答して、ディスプレイデバイスが、第１のオブジェクトロケーションに隣接するビジュアルワークスペース上の第１のアノテーションロケーションに、選択された第１のオブジェクトに関するプレビュー型の第１のアノテーションを表示し、この第１のアノテーションがパーシステント型に変更されるよりも前に、第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を入力デバイスを介して受け取ると、このプレビュー型の第１のアノテーションは、ワークスペースから視覚的に除去される。さらにこの方法は、以下のことを含むこともできる。すなわち、少なくとも１つのプロセッサのオペレーションにより、第１のアノテーションの選択に該当する入力デバイスを介したアノテーション選択入力に応答して、第１のアノテーションがプレビュー型からパーシステント型に変化させられ、第１のアノテーションがパーシステント型に変化した後、オブジェクト選択解除入力を介して第１のオブジェクトが選択解除されたときでも、パーシステント型は、ワークスペース上の第１のアノテーションロケーションに視覚的に表示されたままとなる。
【０００５】
さらに別の例として、（たとえばストレージデバイスにおけるソフトウェアコンポーネントなどのように）実行時に少なくとも１つのプロセッサに上述の方法を実施させる実行可能な命令によってコーディングされた、非一時的なコンピュータ読み取り可能媒体を挙げることができる。
【０００６】
これまでの記載は、以下の詳細な説明を当業者がよりよく理解できるよう、本開示の技術的特徴をどちらかといえば大雑把に略述したものである。各請求項の要旨を成す本発明のその他の特徴および利点については、以下で述べることにする。当業者であれば理解できるように、当業者は開示された着想および特定の実施形態を、本開示と同じ目的を成し遂げるための変更または他の構造の設計のベースとして、ただちに使用することができる。さらに当業者であれば、かかる等価の構造が最も広い形態で開示した本発明の着想および範囲を逸脱しないことを理解するであろう。
【０００７】
以下の発明の詳細な説明に入る前に、本明細書全体を通して用いられる可能性のあるいくつかの用語や表現について、ここで定義しておくのがよいと思われる。たとえば用語「含む」および「有する」ならびにそれらの派生語は、制限なく含有を意味する。単数形である「１つの」および「前記の」は複数形も同様に含むことを意図しており、このことは文脈によって明らかにそうではないことを指さないかぎりあてはまる。さらにここで用いられる用語「および／または」は、関連する一覧項目のうちの１つまたは複数のありとあらゆる可能な組み合わせのことを指し、かつそれらを包含するものである。用語「または」は、文脈によって明らかに別のことを指さないかぎり、「および／または」の意味を含む。表現「と対応づけられた」および「それと対応づけられた」ならびにそれらの派生語は、含む、中に含まれている、相互接続されている、含有する、中に含有されている、に接続されている、または、と接続されている、に結合されている、または、と結合されている、と通信可能である、と共同する、交互配置する、並置する、に近接している、に結び付けられている、または、と結び付けられている、有する、を所有している、または同等のものを意味することができる。
【０００８】
同様に、様々な要素、機能またはアクションを表すために、ここでは「第１の」、「第２の」、「第３の」といった用語が使われる場合もあるが、これらの用語によってそれらの要素、機能またはアクションが限定されるものではない。むしろこれらの数形容詞は、それぞれ異なる要素、機能またはアクションを互いに区別するために用いられる。たとえば、本開示の範囲から逸脱することなく、第１の要素、機能またはアクションを、第２の要素、機能またはアクションと称してもいいし、同様に第２の要素、機能またはアクションを、第１の要素、機能またはアクションと称してもよい。
【０００９】
これらに加え、１つまたは複数の機能またはプロセスを実施するように「プロセッサがコンフィギュレーションされている」といった表現は、ソフトウェア、ファームウェアおよび／または結線された回路を介して、それらの機能またはプロセスを実施するように、プロセッサの動作がコンフィギュレーションされている、ということを意味することができる。たとえば、ある機能／プロセスを実施するようにコンフィギュレーションされたプロセッサを、その機能／プロセスをプロセッサに実行させるようにプログラミングされたソフトウェア／ファームウェアを能動的に実行するプロセッサに対応するものとすることができ、またはその機能／プロセスを実施するためにプロセッサにより実行されるように使用可能なメモリまたはストレージデバイス内に、ソフトウェア／ファームウェアを有するプロセッサに対応するものとすることができる。さらにここで述べておくと、１つまたは複数の機能またはプロセスを実施するように「コンフィギュレーションされている」プロセッサを、それらの機能またはプロセスを実施するために特別に製造されたまたは「配線された」プロセッサ回路に対応するものとすることができる（たとえばＡＳＩＣまたはＦＰＧＡ設計）。
【００１０】
用語「に隣接する」は、ある要素が別の要素と相対的に近いが、その要素とは接触していないこと、または文脈により明らかに別のことを指していないかぎり、その要素が別の部分と接触していないこと、を意味する。
【００１１】
いくつかの用語および表現に対する定義は、本明細書全体にわたって規定されるものであり、当業者であれば理解できるように、かかる定義は、大部分の事例ではないにしても数多くの事例において、ここで定義した用語および表現の以前の使用にも将来の使用にも適用される。いくつかの用語は、幅広い種類の実施形態を含むことができるけれども、添付の特許請求の範囲は、それらの用語を特定の実施形態に明確に限定している場合もある。
【図面の簡単な説明】
【００１２】
【図１】描画オブジェクトのアノテーションを容易にする１つの例示的なシステムを示す機能ブロック図である。
【図２】描画オブジェクトのために生成されたアノテーションの例を示す図である。
【図３】描画オブジェクトのために生成されたアノテーションの例を示す図である。
【図４】描画オブジェクトのために生成されたアノテーションの例を示す図である。
【図５】描画オブジェクトのアノテーションを容易にする例示的な方法論を示すフローチャートである。
【図６】１つの実施形態を実現可能なデータ処理システムを示すブロック図である。
【００１３】
詳細な説明
次に、描画システムに属する様々な技術について、図面を参照しながら説明する。それらの図中、同様の構成要素は全体を通じて同じ参照符号によって表されている。本開示の基本原理を記述するために、以下で説明する図面および種々の実施形態が用いられているが、これらは例示の目的で用いたにすぎず、いかなるかたちであっても本開示の範囲の限定を意図したものではない。当業者であれば理解できるように、本開示の基本原理を、適切に構成された任意の装置において実現することができる。ここで理解されたいのは、特定のシステム構成要素によって実行されるものと記載された機能を、複数の構成要素によって実施することができる、という点である。同様にたとえば、複数の構成要素によって実行されるものと記載された機能を実施するために、１つの構成要素をコンフィギュレーションしてもよい。本発明の数多くの革新的な着想について、具体例として挙げた非限定的な実施形態を参照しながら説明する。
【００１４】
（ＣＡＤシステムなどのような）描画システムの多くの形態は、様々なタイプのビジュアルオブジェクトを操作するために動作する。かかるビジュアルオブジェクトとして、直線分、円弧、曲線およびスプラインなどのような幾何学的プリミティブを挙げることができる。かかるビジュアルオブジェクトとしてさらに、円、正方形、矩形、球、円錐、円筒、立方体、直方体などのような２Ｄ形状および３Ｄ形状を挙げることもできる。かかるビジュアルオブジェクトとしてさらに、複雑な２Ｄ構造または３Ｄ構造を形成するために、比較的単純なビジュアルオブジェクトの組み合わせを挙げることができる。したがって一般に、描画オブジェクトを、（たとえば表示画面などのような）ディスプレイデバイスにより表示可能な任意のタイプのグラフィカルオブジェクトに対応させることができ、そのようなオブジェクトを、入力デバイスによる入力を介して、形状、サイズ、配向および／またはポジションに関して、視覚的に操作することができる。
【００１５】
図１を参照すると、オブジェクトの描画およびアノテーションを容易にする例示的なシステム１００が示されている。システム１００は少なくとも１つのプロセッサ１０２を含むことができ、このプロセッサは、本明細書で説明する種々の特徴およびアクションを実施するために、メモリ１０６から１つまたは複数のアプリケーションソフトウェアコンポーネント１０４を実行するように、コンフィギュレーションされている。アプリケーションソフトウェアコンポーネント１０４は、ＣＡＤソフトウェアアプリケーションなどのような描画ソフトウェアアプリケーションまたはその一部を含むことができる。かかるＣＡＤソフトウェアアプリケーションは、ユーザによって与えられた入力に少なくとも部分的に基づき、ＣＡＤ図面を生成するように動作可能である。
【００１６】
本明細書で説明する機能の少なくともいくつかを含むように適合可能なＣＡＤ／ＣＡＭ／ＣＡＥソフトウェアの一例として、Siemens Product Lifecycle Management Software Inc. (Plano, Texas)から市販されているNX suite of applicationsが挙げられる。ただしここで理解されたいのは、かかる描画ソフトウェアアプリケーションを、他のタイプの描画ソフトウェアに対応させることができ、そのようなソフトウェアには、ベクタベースのイラストレーションソフトウェア、プレゼンテーションソフトウェア、図表作成ソフトウェア、ワードプロセッシングアプリケーション、ビジュアルプログラミングツール、および／または、オブジェクトの描画および操作を伴う他の任意のタイプのソフトウェアが含まれる、という点である。
【００１７】
既述のシステムは、少なくとも１つの（表示画面などのような）ディスプレイデバイス１０８と、少なくとも１つの入力デバイス１１０とを含むことができる。たとえばプロセッサ１０２を、入力デバイスとディスプレイデバイスの双方として用いられるタッチスクリーンを含むハウジング内に組み込むことができる。かかるシステムの例として、携帯電話、タブレットおよびノート型コンピュータを挙げることができる。ただし、例示的な実施形態が他のタイプの入力デバイスおよびディスプレイデバイスを用いてもよい、という点を理解されたい。たとえばシステムは、ＬＣＤモニタまたはプロジェクタといったタッチスクリーンを含まない表示画面を備えたディスプレイデバイスを含むことができる。さらにシステムは、オブジェクトを操作するための入力を与える他のタイプの入力デバイスを用いることができ、たとえばマウス、ポインタ、タッチパッド、ドローイングタブレット、トラックボール、ジョイスティック、キーパッド、キーボード、カメラ、モーションセンシングデバイス、または本明細書で説明する入力を与えることのできる他の任意の形態の入力デバイスを用いることができる。
【００１８】
さらにここで述べておくと、本明細書で説明するプロセッサを、本明細書で説明するディスプレイデバイスおよび入力デバイスとは離れた場所にあるサーバ内に配置させてもよい。かかる例によれば、既述のディスプレイデバイスおよび入力デバイスを、クライアントデバイス内に含めてもよく、このクライアントデバイスは、（インターネットを含むことのできる）有線または無線のネットワークを介してサーバ（および／またはサーバ上で実行されるバーチャルマシン）と通信する。いくつかの実施形態によれば、かかるクライアントデバイスはたとえば、入力デバイスからサーバへ入力を送信し、かつサーバから視覚情報を受信してディスプレイデバイスにより表示する目的で、リモートデスクトップアプリケーションを実行することができ、またはサーバと共にリモートデスクトッププロトコルを実行することができる。かかるリモートデスクトッププロトコルの例として、Teradici社のPCoIP、Microsoft社のRDPおよびRFBプロトコルが挙げられる。かかる例によれば、本明細書で説明するプロセッサを、サーバのプロセッサにおいて実行されるバーチャルマシンのバーチャルプロセッサに対応させることができる。
【００１９】
図１には、ディスプレイデバイス１０８における複数の異なるビュー（Ａ〜Ｅ）が概略的に描かれており、これらのビューは、入力デバイス１１０を介して受信した様々な入力に応答して、プロセッサ１０２により表示させられたものである。たとえばディスプレイデバイス１０８のビューＡの場合、プロセッサ１０２を以下のようにコンフィギュレーションすることができる。すなわち、入力デバイス１１０を介して受け取った描画入力１１６に応答して、ディスプレイデバイス１０８が（第１のオブジェクト１１２のような）１つまたは複数のビジュアルオブジェクトをワークスペース１１４上に描画するように、コンフィギュレーションすることができる。かかるワークスペース１１４を、二次元の背景表面に対応させることができ、この表面上で、アプリケーションソフトウェアコンポーネント１０４のグラフィカルユーザインタフェースにおいて、オブジェクトが描画され、表示され、操作される。ただしここで理解されたいのは、３Ｄ描画のために、ワークスペースを三次元空間の二次元ビューに対応させることもでき、そこにおいてオブジェクトが、アプリケーションソフトウェアコンポーネント１０４のグラフィカルユーザインタフェースを用いて、視覚的に描画され、表示され、操作される、という点である。さらに別の例として、３Ｄワークスペースにおいて３Ｄ描画のレンダリングのために、３Ｄディスプレイを使用することもできる。
【００２０】
同様に、ディスプレイデバイスのビューＢに示されているように、プロセッサ１０２を以下のようにコンフィギュレーションすることができる。すなわち、ディスプレイデバイス１０８によりビジュアルワークスペース１１４上の第１のオブジェクトロケーション１２０に表示された第１のオブジェクト１１２の選択に該当する、入力デバイス１１０を介したオブジェクト選択入力１１８に応答して、第１のオブジェクトロケーション１２０に隣接するビジュアルワークスペース上の第１のアノテーションロケーション１２４のところに、選択された第１のオブジェクトに関する少なくとも１つのプレビュー型アノテーション１２２（すなわち第１のアノテーション）を、ディスプレイデバイスが表示するように、コンフィギュレーションすることができる。かかるオブジェクト選択入力１１８をたとえば、ユーザが第１のオブジェクトロケーション１２０においてタッチスクリーンを指１３４（あるいはスタイラスペンまたは他のタイプの入力／入力デバイス）でタッチする、ということに該当させることができる。
【００２１】
この例によれば、第１のオブジェクト１１２を、線（または円弧、楕円またはスプラインなど他のタイプのプリミティブ）のような幾何学的プリミティブに該当させることができる。かかるオブジェクトを他の線と結合して、もっと複雑な幾何学的形状（たとえば図１に示した矩形など）を形成することができる。図１に示した例の場合には、第１のオブジェクト１１２だけしか選択されていない。ただしここで理解されたいのは、アプリケーションソフトウェアコンポーネントは、選択された複数のオブジェクトの組み合わせに対して適用可能なプレビュー型アノテーションを生成する目的で、同時に複数の付加的なオブジェクトが選択されるようにすることもできる、という点である。
【００２２】
１つの例示的な実施形態によれば、プレビュー型アノテーションは、以下のようなアノテーションに該当する。すなわちこのアノテーションは、選択可能なものであるけれども、ユーザがいくつかの特定のアクションを行って、そのアノテーションを持続的なものないしはパーシステントなものとするまでは、ワークスペースの持続的な部品ではないアノテーションに該当する。よって、ディスプレイデバイスのビューＣに示されているように、第１のアノテーションがプレビュー型のものである間、プロセッサ１０２を以下のようにコンフィギュレーションすることができる。すなわち、入力デバイス１１０を介してオブジェクト選択解除入力１２６を受け取り、それによって第１のアノテーションがパーシステント型に変更される前に、第１のオブジェクトの選択解除が生じた場合には、ディスプレイデバイス１０８がワークスペース１１４上での第１のアノテーション１２２の表示を停止する、ようにコンフィギュレーションすることができる。
【００２３】
このようにしてアノテーションが除去されてしまうのを回避するため、ユーザはプレビュー型アノテーションを選択して、それをパーシステント型に変更することができる。たとえば、ディスプレイデバイスのビューＤに示されているように（このときには第１のオブジェクトが選択されている）、プロセッサを以下のようにコンフィギュレーションすることができる。すなわち入力デバイスを介して、第１のアノテーション１２２の選択に該当するアノテーション選択入力１２８を受け取ると、第１のアノテーションがプレビュー型からパーシステント型に変化させられるように、コンフィギュレーションすることができる。かかるアノテーション選択入力１２８をたとえば、ユーザが第１のアノテーションロケーション１２４においてタッチスクリーンを指１３４（あるいはスタイラスペンまたは他のタイプの入力／入力デバイス）でタッチする、ということに該当させることができる。
【００２４】
ビューＥに示されているように、パーシステント型になった後、プロセッサを以下のようにコンフィギュレーションすることができる。すなわち、第１のアノテーションがパーシステント型に変化した後、オブジェクト選択解除入力１２６を介して第１のオブジェクト１１２が選択解除されたときでも、かかるパーシステント型の第１のアノテーションを、ワークスペース上の第１のアノテーションロケーション１２４のところで、視覚的に表示１２４させたままにするように、コンフィギュレーションすることができる。
【００２５】
１つの例示的な実施形態によれば、プレビュー型の表示を、あるオブジェクトが選択されたときのアプリケーションソフトウェアコンポーネント１０４のデフォルトの挙動に該当させることができる。換言すれば、アプリケーションソフトウェアコンポーネントは、オブジェクト選択時にかかるプレビュー型アノテーションの表示に切り替えるアノテーションコマンドをユーザが最初にアクティブにする必要なく、あるオブジェクトが選択されたならば、かかるプレビュー型アノテーションを表示することができる。ただし、択一的な実施形態によれば、アプリケーションソフトウェアコンポーネント１０４は、プレビュー型アノテーションをオン／オフ可能な機能を含むことができる、という点を理解されたい。たとえば、かかる択一的な例によれば、１つまたは複数のオブジェクトが選択されたときに、プレビュー型アノテーションの表示をアクティブまたは非アクティブにする目的で、ユーザ入力により（たとえばアノテーショングラフィカルユーザインタフェースボタンを介して）アノテーションコマンドが与えられなければならないようにしてもよい。
【００２６】
本明細書で用いられる「アノテーション」とは、寸法測定値、注記、コメント、説明、および／または、選択されたオブジェクトに対応づけられた、かつ／または関連するメタデータおよび／または他の情報をもたらす他の任意のタイプの視覚的表示、に該当する。図１に示されている例によれば、アノテーション１２２は、（たとえばオブジェクトの高さなどのように）オブジェクトの寸法のうちの１つに関する測定値を視覚的に表す。ＣＡＤソフトウェアアプリケーションの場合、アノテーションによって数字による測定値１３０（たとえば「４ｃｍ」など）を示すことができ、これによって描画のための特定のスケールに基づく何らかの測定単位で、オブジェクトの高さが表される。これに加え、アノテーション１２２は寸法線１３２を含むことができる。たとえば、長さ測定値アノテーションは、矢印と太線を有する２つの寸法線を含むことができ、これによって、アノテーションにより表示すべき数字による測定値に対応するオブジェクトの一部分の相対する端部の位置が表される。
【００２７】
他の例によれば、かかる寸法測定値アノテーションは、オブジェクトの一部分の幅または厚さの測定値、１つのオブジェクトのそれぞれ異なる部分間の角度、円形のオブジェクトの半径または直径、オブジェクトの湾曲部分（たとえばエッジ／ベンド）の曲率、および／または描画されたオブジェクトに関連する他の任意の測定値データ、を表すことができる。他の例によれば、アノテーションは、測定値に対応づけられた許容範囲を表すことができる（たとえば「±０．５ｍｍ」）。
【００２８】
これらに加えアノテーションデータは、オブジェクトに関連づけられた他のデータを表すことができ、たとえばオブジェクトを形成可能な材料（たとえば「ＰＶＣ」、「スチール」など）、オブジェクトの名称（たとえば「底板」、「穴」、「フランジ」など）、およびそれらの部品の配向の名称（たとえば「等角図」など）を表すことができる。
【００２９】
１つの例示的な実施形態によれば、プロセッサを以下のようにコンフィギュレーションすることができる。すなわち、選択された１つのオブジェクト（または複数のオブジェクト）の特性に基づき、ならびに描画および／またはその描画の選択された１つまたは複数のオブジェクトに対応づけられた先行して記憶されたオブジェクトデータ１４０（たとえばメタデータ）に基づき、アノテーションにどのような情報を含めるのか、を決定するようにコンフィギュレーションすることができる。たとえばプロセッサは、ワークスペース１１４内に示された描画されたオブジェクトの幅に基づき、ならびにワークスペース１１４内に描かれた部品のサイズに対し相対的な現実世界の部品の実際の寸法に対応づけられた予め定められたスケール（たとえば１０：１）に基づき、選択されたオブジェクトの長さを計算することができる。
【００３０】
例示的な実施形態によれば、プロセッサは以下のように動作することができる。すなわち、描画されたオブジェクトのフィーチャおよびユーザにより与えられた他の入力（たとえばオブジェクトの名称、オブジェクトの材料、注記、および／または他の情報など）に基づき、オブジェクトデータ１４０をメモリ１０６内または他のロケーションに記憶し、記憶されたオブジェクトデータ１４０を更新することができる。オブジェクトデータ内に格納された情報のタイプに基づき、かかるオブジェクトデータに対して表示される視覚情報を生成するように、プロセッサをコンフィギュレーションすることができる。たとえば、数字による測定寸法であれば、図１に示されているような寸法線と数字による測定量とを含むアノテーション表示を、オブジェクトに隣接して表示するように、プロセッサをコンフィギュレーションすることができる。ただし、名称、注記、コメント、材料記述、または他の英数字のテキストデータの場合に、オブジェクトに隣接してテキストデータを含むアノテーション表示と、オブジェクト（または選択されたその一部分）を指す矢印とを表示するように、プロセッサをコンフィギュレーションすることができる。
【００３１】
すでに述べたとおり、既述の選択入力１１８，１２８を、タッチスクリーン上に表示されたオブジェクトまたはアノテーションのポジションに、ユーザが指またはスタイラスペンを押すことにより生成されたタッチスクリーン入力に該当させることができる。マウスなどのような入力デバイスであれば、かかる選択入力を、オブジェクト／アノテーションのポジションにおいてユーザがマウスポインタをクリックすること、に該当させることができる。
【００３２】
同様に、既述の選択解除入力１２６を、ユーザがワークスペースを選択することに、オブジェクトを二度目に選択することに、および／または第３のオブジェクトを選択することに、該当させることもできる。かかる選択解除入力を、ユーザが行う他の何らかのアクションに該当させることもでき、たとえば異なるタイプのオブジェクトを描画するために新たな描画ツールを選択すること、またはアプリケーションソフトウェアコンポーネントのユーザインタフェースにより第１のオブジェクトを選択解除させる他の何らかのアクション、に該当させることもできる。同様に理解されたいのは、任意のタイプの入力デバイス（たとえばタッチスクリーン、マウス、タブレット、キーボード、トラックボール、ゲームパッド、マイクロフォン）からの任意のタイプの入力に応答して、既述の選択入力および選択解除入力をもたらすように、アプリケーションソフトウェアコンポーネントをコンフィギュレーションすることができる、という点である。
【００３３】
例示的な実施形態によれば、アノテーションに対応づけられたオブジェクトに加えられた変更に動的に応答して、アノテーションを更新するように、（たとえばアプリケーションソフトウェアコンポーネント１０４を介して）プロセッサをコンフィギュレーションすることができる。たとえばプロセッサを、以下のようにコンフィギュレーションすることができる。すなわち、（アノテーションを選択し、それをパーシステント型アノテーションにした）アノテーション選択入力１２８に応答して、第１のオブジェクトと第１のアノテーションとの間の連関をメモリに記憶させるように、コンフィギュレーションすることができる。この連関に基づき、プロセッサを以下のようにコンフィギュレーションすることができる。すなわち、入力デバイスによる少なくとも１つの新たな入力に応答してなされた、ワークスペース上に表示された第１のオブジェクトに対する変更に対応して修正された情報を表示するために、第１のアノテーションを自動的に更新するように、コンフィギュレーションすることができる。
【００３４】
かかる新たな入力によってたとえば、オブジェクトの長さを変更することができる。よって、この変更に応答して、アプリケーションソフトウェアコンポーネントは、そのオブジェクトの新たな長さを計算することができ、パーシステント型アノテーション１２４を更新して、そのオブジェクトの新たなサイズで寸法線を適切に整列させ、そのオブジェクトの新たに計算された長さに応じて、改定された数字による寸法測定量が含まれるようにすることができる。
【００３５】
すでに述べたように、１つまたは複数のプレビューアノテーションの外観を、アプリケーションソフトウェアコンポーネント１０４によって決定された１つまたは複数の選択されたオブジェクトの特性に基づくものとすることができる。かかる特性として、選択されたオブジェクトのタイプおよび／または形状を挙げることができる。かかる特性としてさらに、配向および／または選択された２つのオブジェクト間の関係を挙げることもできる。
【００３６】
したがって図２の例示的なワークスペースビュー２００に示されているように、２つの選択されたオブジェクト２０２が４５°（または他の角度）で結合されている場合、結合されたこれらのオブジェクト２０２の角度／コーナの度合いを表すプレビュー型の角度アノテーション２０４を生成するように、プロセッサをコンフィギュレーションすることができる。同様に、オブジェクト２０６が選択されている場合には、幅寸法測定量、高さ寸法測定量またはそれらの任意の組み合わせなどのような、長さ寸法測定量を視覚的に表示するために、複数のプレビューアノテーション２０８，２１０を生成するように、プロセッサをコンフィギュレーションすることができる。これらに加え、円弧型オブジェクト２１２が選択されている場合には、半径寸法測定量２１４を視覚的に表示するプレビュー型アノテーションを生成するように、プロセッサをコンフィギュレーションすることができる。同様に、円型オブジェクト２１６が選択されている場合には、直径寸法測定量２１８を視覚的に表示するプレビュー型アノテーションを生成するように、プロセッサをコンフィギュレーションすることもできる。
【００３７】
１つの例示的な実施形態によれば、選択されてはいるがワークスペース上で互いに結合されていない２つのオブジェクト間の関係を決定し、かかる関係に基づきプレビュー型アノテーションを生成するように、プロセッサをコンフィギュレーションすることができる。たとえば図３の例示的なワークスペースビュー３００に示されているように、選択入力１１８に応答して、（結合されていない）第１のオブジェクト３０２と第２のオブジェクト３０４とを同時に選択するように、プロセッサをコンフィギュレーションすることができる。鋭角で配向することのできる２つのオブジェクトのかかる選択に応答して、プロセッサを以下のようにコンフィギュレーションすることができる。すなわち、選択されたこれら２つのオブジェクト間の角度配向関係を決定し、これらのオブジェクト間で数字による角度寸法測定量（たとえば角度）を視覚的に表す、選択された両方のオブジェクトに関するプレビュー型アノテーション３０６を、生成するようにコンフィギュレーションすることができる。
【００３８】
別の例において、２つまたはそれよりも多くのオブジェクトが選択されている場合に、以下を表すアノテーションを生成して表示するよう、プロセッサをコンフィギュレーションすることができる。すなわち、１つの円弧中心と１つの線との間の垂直方向距離、２つの平行線間の平行距離、楕円中心と円中心との間の距離、または選択された複数のオブジェクトのタイプおよび個々の配向に関連する他の任意のアノテーション。
【００３９】
これらに加え理解されたいのは、複数のプレビュー型アノテーションが表示されている場合、ユーザは、それらのプレビュー型アノテーションのうちの１つまたは複数を選択して、パーシステント型アノテーションにすることができる、という点である。たとえば図４の例示的なワークスペース４００のビューＡに示されているように、プロセッサは、２つのオブジェクト４０２，４０４に対する２つの選択入力に応答することができ、それによってディスプレイデバイス１０８は、第１のアノテーションロケーションにおいてプレビュー型の第１のアノテーション４０６を表示し、選択されたオブジェクト４０２のオブジェクトロケーションに隣接するビジュアルワークスペース４００上の第２のアノテーションロケーションにおいて、プレビュー型の第２のアノテーション４０８を表示するようになる。また、３つまたはそれよりも多くのプレビュー型アノテーションも同様に表示することができる、という点も理解されたい。
【００４０】
ユーザが、プレビュー型の第１のアノテーション４０６に単独のアノテーション選択入力だけしか与えなければ、この第１のアノテーションだけがパーシステント型に変化する。その結果、ビューＢにおける例示的なワークスペース４００に示されているように、既述の選択解除入力を受け取ったときに、プロセッサを以下のようにコンフィギュレーションすることができる。すなわちディスプレイデバイスが、（パーシステント型アノテーションに変更されなかった）ワークスペース上の第２のアノテーション４０８の表示を停止する一方、第１のアノテーション４０６はパーシステント型アノテーション４１０になるように、コンフィギュレーションすることができる。
【００４１】
ただし、両方のプレビュー型アノテーションを持続的なものないしはパーシステントなものとすることをユーザが望むならば、ユーザは、両方のプレビュー型アノテーション４０６，４０８に対し、アノテーション選択入力を与えることができ、それによってこれらプレビュー型アノテーションの双方が、パーシステント型に変化させられる。その結果、ビューＣにおける例示的なワークスペース４００に示されているように、既述の選択解除入力を受けると、選択されたプレビュー型アノテーション４０６，４０８の代わりに、ワークスペース上にパーシステント型の第１および第２のアノテーション４１０，４１２をディスプレイデバイスが表示するように、プロセッサをコンフィギュレーションすることができる。
【００４２】
さらに理解されたいのは、１つの選択されたオブジェクトに対し、３つまたはそれよりも多くのアノテーションを表示することができ、それらのアノテーションを選択して、選択したオブジェクトに対し３つまたはそれよりも多くのパーシステント型アノテーションを生成することができる、という点である。さらにこれらに加え理解されたいのは、パーシステント型アノテーションを、プレビュー型アノテーションの厳密な複製としてもよいし、そのようにしなくてもよい、という点である。たとえば１つの実施形態によれば、プレビュー型アノテーションが目盛線および／または矢印を伴わない長さ寸法を含むようにすることができ、ただし対応するパーシステント型アノテーションは目盛線および／または矢印を含むことができる。
【００４３】
さらに理解されたいのは、１つまたは複数の選択されたオブジェクトに対し、アプリケーションソフトウェアコンポーネントによって表示可能な個数よりも多くのプレビュー型アノテーションを、アプリケーションソフトウェアコンポーネントが生成可能である、という点である。例示的なアプリケーションソフトウェアコンポーネントは、ワークスペース上に表示されるオブジェクトに対応づけられた特性および／またはアプリケーションソフトウェアコンポーネントによって決定可能な他の任意の判定基準に基づき、複数の候補プレビュー型アノテーションから成る比較的大きい想定可能な集合のうちいずれの部分集合を表示するのか、を決定するように動作可能である。
【００４４】
たとえば、いずれのプレビューアノテーションを表示するのかを、アプリケーションソフトウェアコンポーネントを用いるユーザの役割、アプリケーションのアクティブなモード／状態、および／またはアノテーションを表示するタイプおよびスタイルに関するユーザのコンフィギュレーション／プリファレンス、に基づくものとすることができる。同様に、種々のプレビューアノテーションおよび／またはそれらのプレビューアノテーションのポジションを、以下のことに依存して変化させることができる。すなわち、ユーザが画像の上に描画しているのか否かにかかわらず、アノテーションを配置するためのワークスペース上のロケーションの可用性、アノテーションを付けるためのユーザの選択が準拠している設計規格、および／またはアプリケーションソフトウェアコンポーネントの他の何らかの状態および／またはコンフィギュレーション、ならびにコンポーネントによって生成される作業製品、に依存して変化させることができる。
【００４５】
同様に、たとえば角度アノテーション２０４に関して、鋭角の場合には、アノテーションの寸法線矢印と角度数値とを、オブジェクトを形成する線の外側に表示させもよく、これに対し鈍角であれば、寸法線と角度数値とを配置するために、オブジェクトの内側に十分な空間が存在する可能性がある。同様に（図２に示されているような）円型オブジェクト２１６の場合には、生成されたプレビュー型アノテーション２１８を、直径の数値と、選択されたオブジェクト２１６を指す矢印が付いた単一の寸法線とに、対応させることができる。
【００４６】
これに加え、垂直方向の線分の場合には、高さ寸法測定量に関するプレビューアノテーションを表示させることができるけれども、幅寸法測定量は表示させなくてよい。水平方向の線分の場合には、幅寸法測定量に関するプレビューアノテーションを表示させることができるのに対し、高さ寸法測定量は表示させなくてよい。４５°の角度の線分の場合には、高さと幅の両方の寸法測定量に関するプレビューアノテーションを表示させることができる。
【００４７】
よって、選択される確率が高くかつ描画を作成するユーザにとって有用である、最も重要なアノテーションを表示する目的で、１つの例示的なアプリケーションソフトウェアコンポーネントを、以下のように動作させることができる。すなわち、選択された１つのオブジェクト（または選択された２つ以上のオブジェクト）のために、いずれのアノテーションを表示するのかを、選択された１つまたは複数のオブジェクトのタイプ、配向、物理的特性、ロケーションおよび他の特性に基づき、決定することができる。
【００４８】
これらに加え、アノテーションの外観を最適化するという手法で、アノテーションを生成および表示するように、アプリケーションソフトウェアコンポーネントを動作させることができる。たとえば、あるアノテーションと選択されたオブジェクトまたは他のアノテーションとのオーバラップが回避されるように、および判読可能であるようアノテーションが配向およびサイズ調整されることを保証するように、アプリケーションソフトウェアコンポーネントはアノテーションを生成および表示することができる。
【００４９】
例示的な実施形態によれば、ユーザは、アノテーションを追加することができ、かつ／または、アノテーションが追加されたのと類似の手法で、それらを除去することができる。たとえば、すでに１つのパーシステント型の第１のアノテーションを有する１つのオブジェクトを選択した場合、使用可能な他のプレビュー型アノテーションを表示するように、プロセッサをコンフィギュレーションすることができる。別のプレビュー型アノテーションを選択すれば、そのアノテーションをパーシステント型の第２のアノテーションに変化させることができ、このアノテーションは、オブジェクトが選択解除されても可視状態を維持することになる。さらに、パーシステントアノテーションを除去するために、対応づけられたオブジェクトを（オブジェクト選択入力を介して）選択することができ、いずれかのパーシステントアノテーションに対して選択入力を与えることによって、そのパーシステントアノテーションを再びプレビュー型に変更することができる。
【００５０】
さらに別の実施形態によれば、アノテーションの外観を変更する目的で、アノテーション選択入力を介してパーシステントアノテーションを選択可能とすることができる。たとえば、パーシステント型アノテーションがアノテーション選択入力を介して選択されたときに、ただちにプレビュー型アノテーションに変更するのではなく、パーシステント型アノテーションをまずは異なる外観に切り替えることができる。これらのアノテーションが複数の異なる外観を有するならば、別のアノテーション選択入力によって、パーシステントアノテーションを使用可能な次の外観に変更することができる。ある１つのアノテーションのために使用可能なすべての外観が表示されてしまったならば、この例では、次のアノテーション選択入力によって、パーシステント型アノテーションを再びプレビュー型アノテーションに変化させることができる。
【００５１】
たとえば、三角形のための角度配向寸法は、三角形外側にアノテーションの寸法線および数字による測定値を有する第１のビューと、三角形内側にアノテーションの寸法線および数字による測定値を有する第２のビューとを含むことができる。別の例によれば、異なるスタイルの寸法線、矢印、目盛線、数値単位および数値を、１つのパーシステント型アノテーションの選択可能な異なる複数のビューについて、表示させることができる。
【００５２】
ただしここで理解されたいのは、他の例示的な実施形態によって、パーシステント型アノテーションとプレビュー型アノテーションとを切り替えるために、および１つのアノテーションの複数の択一的なビューを切り替えるために、他のプロセスを使用することができる、という点である。たとえば、ある１つのアノテーションがパーシステント型であるならば、オブジェクト選択入力により最初にオブジェクトを選択することなく、単にアノテーション選択入力を与えるだけで、そのアノテーションをプレビュー型または択一的なビューへ変更できるように、プロセッサをコンフィギュレーションすることができる。このことに加え、アノテーション選択入力を受け取ったときに、パーシステント型からプレビュー型へアノテーションを変更するために、プロセッサは、アノテーションに隣接してＸまたはごみ箱などのような表示を生じさせることができ、さらに別の入力を介してその表示を選択して、そのアノテーションをプレビュー型に変更することができる（オブジェクトが選択されていなければ、これによってアノテーションをディスプレイからただちに除去することができる）。
【００５３】
これらに加え、さらに別の実施形態によれば、プレビューアノテーションおよび／またはパーシステントアノテーションを、対応づけられたオブジェクトに対し相対的に移動させるように、プロセッサをコンフィギュレーションすることができる。たとえば（指、スタイラスペン、またはマウスポインタまたは他のタイプの入力／入力デバイスを介して）ドラッグ入力を与えることによって、ワークスペース上でドラッグ入力が移動した場所に基づき、プロセッサは、アノテーションをワークスペース上のポジションに移動させることができる。
【００５４】
さらにこれに加えて、あるアノテーションの一部分についてアノテーション選択入力を与えることによって、そのアノテーションを変更可能にすることができる。たとえば、数字による寸法測定値（またはその単位）の上にアノテーション選択入力を与えることによって、測定値の異なる単位の間で（たとえばｍｍ，ｃｍ，ｉｎｃｈの間などで）切り替えられるように、プロセッサをコンフィギュレーションすることができ、かつ／またはプロセッサは、アノテーションに単位を追加／アノテーションから単位を除去することができる。
【００５５】
さらに別の実施形態によれば、アノテーション選択入力を数字による寸法測定値の上に与えることによって、数値を編集して新たな値にすることができる。物理的なまたは仮想のキーボードなどのような入力デバイスに対する別の入力を介して、新たな値が入力されると、この例によればアプリケーションソフトウェアコンポーネントは、更新された数字による寸法測定値に対応させるために、オブジェクトの形状を自動的に変化させるように動作可能である。換言すれば、ある矩形オブジェクトの高さのアノテーション寸法に関する数値が、４ｃｍから５ｃｍに変更されると、ワークスペース上のオブジェクトの高さを相応の量だけ増加させるように、プロセッサをコンフィギュレーションすることができる。
【００５６】
描画オブジェクトに関する寸法測定値の形態でプレビューアノテーションを生成することに加えて、表示されるオブジェクトに関する他の型のプレビューアノテーションの生成に使用するためにも、本明細書で説明する例およびプロセスを適合することができる。たとえば、閉鎖曲線ループによって規定されたオブジェクトのエリアに関して、ソフトウェアアプリケーションコンポーネント１０４は、このループに対して計算された以下のようなメタデータを示すラベルを有する、１つまたは複数の選択可能なプレビュー型アノテーションを生成することができる。すなわち、面積、重心、面積モーメント、および／またはエリアに関して特定可能な他の任意の情報。別の例によれば、固体の質量に関して、ソフトウェアアプリケーションコンポーネント１０４は、その固体に対して計算された以下のようなメタデータを示すラベルを有する、１つまたは複数の選択可能なプレビュー型アノテーションを生成することができる。すなわち、質量、質量中心、慣性モーメント、密度、および／または、固体の質量に関して特定可能な他の任意の情報。
【００５７】
これに加え、ＣＡＤシステム（または他のタイプの描画システム）の一部であるアプリケーションソフトウェアコンポーネントであれば、アプリケーションソフトウェアコンポーネントを、描画／表示される特定の部品の特性に関するプレビュー型アノテーションを生成するように動作させることができる。たとえばＣＡＤ描画の場合、ＣＡＤシステムのソフトウェアアプリケーションコンポーネントは、選択された部品に関する以下のようなメタデータを示すラベルを有する、１つまたは複数の選択可能なプレビュー型アノテーションを生成することができる。すなわち、所有ユーザ、リリースステータス、サプライヤ、材料、および／または、その部品に関して特定可能な他の任意のメタデータ。
【００５８】
同様に、オブジェクトまたは部品の描画に加えて、ワークスペースは、他のタイプのオブジェクトたとえば埋め込まれたドキュメントおよび／またはプレビュー型アノテーションの表示が望まれる可能性のある画像などを、視覚的に描画することができる。たとえば、選択された埋め込まれたＰＤＦドキュメントを視覚的に表示するために、ソフトウェアアプリケーションコンポーネント１０４は、そのＰＤＦドキュメントに関するメタデータを示すラベルを有する、１つまたは複数の選択可能なプレビュー型アノテーションを生成することができる。かかるメタデータは、所有ユーザ、ページ番号、ファイルサイズ、著者、および／または、そのＰＤＦドキュメントに関して特定可能な他の任意の情報、を含むことができる。
【００５９】
同様に、埋め込まれた画像を視覚的に表示するために、ソフトウェアアプリケーションコンポーネントは、その画像に関する以下のようなメタデータを示すラベルを有する、１つまたは複数の選択可能なプレビュー型アノテーションを生成することができる。すなわち、画像が撮影されたロケーション、画像の撮影に使用されたデバイス、画像のアスペクト比、画像のファイルサイズ、および／または、その画像に関して特定可能な他の任意の情報。
【００６０】
これに加え理解されたいのは、測定量（たとえば幅および高さの寸法）を記述する上述のプレビュー型アノテーションを、ワークスペース内に表示された選択された画像について表示することもできる、という点である。対応するパーシステント型アノテーションは、画像が操作されたときに表示された測定値を動的に更新する既述の能力も有することができる。よって、ユーザが画像のサイズを変更すると、画像の目下のサイズ寸法を示すようにパーシステントアノテーションは動的に更新可能である。
【００６１】
これに加え、さらに別の実施形態によれば、プレビュー型アノテーションを、選択されたオブジェクトのタイプ、形状、サイズおよび／または配向に基づいて、これらを有するさらに別のオブジェクトに対応させることができる。たとえば、円の形状が選択されたならば、円と同様のサイズを有する関連するオブジェクト（たとえば五角形、六角形、七角形、八角形）に対応するプレビュー型アノテーションを表示させることができる。かかるプレビュー型アノテーションを選択することで、このプレビュー型アノテーションに描かれていたオブジェクトに対応するパーシステント型オブジェクトを、ワークスペース上に配置することができる。その後、かかるパーシステント型オブジェクトを、元のオブジェクトと同じ手法で操作することができる（たとえば移動、サイズ変更、回転、方向転換など）。さらに、（選択されたプレビュー型アノテーションから生成された）かかるパーシステント型オブジェクト自体を選択すると、同様にこのオブジェクトに対してプレビュー型アノテーションを表示させることができる。
【００６２】
さらに別の例によれば、プレビュー型アノテーションを、選択されたオブジェクトの幾何学的変換（たとえば鏡像化、回転および／または方向転換）に対応させることができる。たとえば、選択されたオブジェクトがワークスペース上の鏡像線に隣接している場合、選択されたオブジェクトの鏡像に対応する鏡像線の反対側に、プレビュー型アノテーションを生成するように、プロセッサをコンフィギュレーションすることができる。かかる鏡像のプレビュー型アノテーションを選択することができ、それによってプロセッサは、プレビュー型アノテーションの代わりにパーシステントオブジェクトを配置し、このオブジェクトは、選択された元のオブジェクトの鏡像であり、かつ選択された元のオブジェクトと同じスペーシングで鏡像線から離間されている。
【００６３】
別の例によれば、プレビュー型アノテーションを、選択されたオブジェクトのオフセット曲線に対応させることができ、この曲線を選択して、選択された元のオブジェクトに隣接するオフセットオブジェクトを生成することができる。直線および／または曲線の線分型オブジェクトであれば、かかるプレビュー型アノテーションを、選択された元のオブジェクトに対し平行な経路を辿る隣接する直線および／または曲線に対応させることができる。もっと複雑な幾何学的形状（たとえば円）の場合には、かかるプレビュー型アノテーションを、選択された元のオブジェクトの周囲または内部に位置する（たとえば同軸の）形状を有するオフセット曲線（たとえばいっそう大きい円またはいっそう小さい円）に対応させることができる。
【００６４】
ここで理解されたいのは、既述の例を、プロセッサが以下のようにコンフィギュレーションされた１つの実施形態全体の実装に対応させることができる、という点である。すなわちこの実施形態によれば、メタデータ（寸法、材料、サイズ、日付、著者）の任意の集合、オフセット、鏡映、および／または選択されたオブジェクトの数学的変形に少なくとも部分的に基づき、１つまたは複数のプレビューアノテーションを生成するように、プロセッサがコンフィギュレーションされている。この場合、指／スタイラスペンによるタップ、マウスクリック、または複数のプレビュー型アノテーションから１つを選択したことを表す他の入力により、プレビュー型アノテーションを選択することによって、プレビューアノテーションをワークスペース上でパーシステント型にすることができる。
【００６５】
次に図５を参照しながら、種々の例示的な方法論について呈示し説明する。これらの方法論を、１つのシーケンス内で実施される一連のアクションとして説明するけれども、これらの方法論はこのシーケンスの順序によって限定されるものではない、という点を理解されたい。たとえばいくつかのアクションを、ここで説明するのとは異なる順序で生じさせてもよい。これに加え、あるアクションを他のアクションと同時に生じさせてもよい。しかもいくつかの事例においては、ここで説明する方法論を実現するために、すべてのアクションが必要とされるわけでもない。
【００６６】
ここで特に述べておきたいのは、本開示には、完全に機能的なシステムおよび／または一連のアクションに関連した説明が含まれているけれども、当業者であれば理解できるように、本開示におけるメカニズムおよび／または説明するアクションの少なくとも一部分は、機械で使用可能な、コンピュータで使用可能な、またはコンピュータで読み取り可能な、非一時的な媒体内に含まれるコンピュータにより実行可能な命令として、任意の種類の形態で配布可能なものであること、さらに本開示は、特定のタイプの命令、信号担体または記憶媒体が使用されようとも、そのような配布物を実際に実行するために等しく適用されること、である。機械で使用可能／読み取り可能またはコンピュータで使用可能／読み取り可能な非一時的媒体の例を以下に挙げておく：ＲＯＭ、ＥＰＲＯＭ、磁気テープ、フロッピーディスク、ハードディスクドライブ、ＳＳＤ、フラッシュメモリ、ＣＤ、ＤＶＤおよびブルーレイディスク。コンピュータで実行可能な命令として、ルーチン、サブルーチン、プログラム、アプリケーション、モジュール、ライブラリ、実行スレッド、および／またはこれらと同等のもの、を挙げることができる。さらに、方法論のアクションの結果を、コンピュータ読み取り可能媒体に記憶することができ、ディスプレイデバイスに表示することができ、および／または同等のことを実施することができる。
【００６７】
図５を参照すると、描画オブジェクトのアノテーションを容易にする方法論５００が示されている。ステップ５０２においてこの方法をスタートさせることができ、ステップ５０４においてこの方法論は以下のようなアクションを含むことができる。すなわち、少なくとも１つのプロセッサのオペレーションにより、ディスプレイデバイスを介してビジュアルワークスペース上で第１のオブジェクトロケーションに表示された第１のオブジェクトの選択に該当する、入力デバイスによるオブジェクト選択入力に応答して、ディスプレイデバイスが、第１のオブジェクトロケーションに隣接するビジュアルワークスペース上の第１のアノテーションロケーションに、選択された第１のオブジェクトに関するプレビュー型の第１のアノテーションを表示し、この第１のアノテーションがパーシステント型に変更されるよりも前に、第１のオブジェクトの選択解除に該当するオブジェクト選択解除入力を入力デバイスを介して受け取ると、このプレビュー型の第１のアノテーションは、ワークスペースから視覚的に除去される。
【００６８】
これに加えこの方法論５００は、以下のようなアクション５０６を含むことができる。すなわち、少なくとも１つのプロセッサのオペレーションにより、第１のアノテーションの選択に該当する入力デバイスを介したアノテーション選択入力に応答して、第１のアノテーションがプレビュー型からパーシステント型に変化させられ、第１のアノテーションがパーシステント型に変化した後、オブジェクト選択解除入力を介して第１のオブジェクトが選択解除されたときでも、パーシステント型は、ワークスペース上の第１のアノテーションロケーションに視覚的に表示されたままとなる。ステップ５０８において、この方法論を終了させることができる。
【００６９】
これらに加え、方法論５００は、システム１００に関してこれまで説明してきた他の動作および特徴を含むことができる。たとえば既述のようにこの方法論は、アノテーション選択入力に応答して、第１のオブジェクトと第１のアノテーションとの連関をメモリに記憶させるステップを含むことができる。この連関に基づきこの方法論は、入力デバイスによる少なくとも１つの新たな入力に応答してなされた、ワークスペース上に表示された第１のオブジェクトに対する変更に対応して修正された情報を表示するために、第１のアノテーションを自動的に更新するステップ、を含むことができる。
【００７０】
この方法論の例はさらに、第１のオブジェクトの少なくとも１つの特性を決定するアクションを含むことができる。既述のように、少なくとも１つの特性として以下を挙げることができる。すなわち、第１のオブジェクトのタイプ、第１のオブジェクトの形状、第１のオブジェクトのサイズ、第１のオブジェクトとワークスペース内の他のオブジェクトとの関係、またはこれらの任意の組み合わせ。表示させるべき第１のアノテーションの外観を、選択された第１のオブジェクトの決定された少なくとも１つの特性に少なくとも部分的に基づくものとすることができる。
【００７１】
たとえば第１のオブジェクトは、矩形に対応する形状および／またはタイプを有することができる。したがってオブジェクトのこのような形状またはタイプに基づき、この方法論は、矩形の長さ寸法測定量、矩形の幅寸法測定量、矩形の高さ寸法測定量、またはこれらの任意の組み合わせ、を第１のアノテーションによって視覚的に表示させるステップ、を含むことができる。同様に、たとえば第１のオブジェクトは、円弧に対応する形状および／またはタイプを有することができる。したがってオブジェクトのこのような形状またはタイプに基づき、この方法論は、第１のアノテーションによって円弧の半径寸法測定量を視覚的に表示させるステップ、を含むことができる。
【００７２】
同様に、例示的な実施形態によれば、この方法論はさらに、第１のアノテーションの選択に対応する入力デバイスを介した新たな入力を受け取るステップ、を含むことができる。この選択に応答して、この方法論は、ディスプレイデバイスによって第１のアノテーションの寸法線の視覚的フィーチャを変更させるステップ、を含むことができる。
【００７３】
さらにこの方法論の例示的な実施形態は、オブジェクト選択入力に応答して、第１のオブジェクトロケーションに隣接するビジュアルワークスペース内の１つの第２のアノテーションロケーション（またはもっと多くのロケーション）に、選択された第１のオブジェクトに関する１つのプレビュー型の第２のアノテーション（またはもっと多くのアノテーション）をディスプレイデバイスによって表示させるステップ、を含むことができる。第１のオブジェクトが選択されている間、プレビュー型の第１および第２のアノテーション（またはもっと多くのプレビュー型アノテーション）各々に対する個々のアノテーション選択入力に応答して、この方法論は、プレビュー型の第１および第２のアノテーション（またはもっと多くのプレビュー型アノテーション）各々をパーシステント型アノテーションに変更するステップ、を含むことができる。
【００７４】
これに加え、例示的な方法論は、第１のオブジェクトと、ビジュアルワークスペース上で第２のオブジェクトロケーションに表示された第２のオブジェクトの両方の選択に該当する、入力デバイスを介した少なくとも１つの新たなオブジェクト選択に応答して、第１および第２のオブジェクトロケーションに隣接するビジュアルワークスペース上の第２のアノテーションロケーションに、選択された第１および第２のオブジェクトの組み合わせに関するプレビュー型の第２のアノテーションを、ディスプレイデバイスによって表示させるステップ、を含むことができる。同様に、第２のアノテーションの選択に該当する入力デバイスを介した新たなアノテーション選択入力に応答して、この方法論は、第２のアノテーションをプレビュー型からパーシステント型に変化させるステップを含むことができ、パーシステント型は、第１および第２のオブジェクトのうち少なくとも１つのオブジェクトが選択解除されたときでも、ワークスペース上の第２のアノテーションロケーションに視覚的に表示されたままである。
【００７５】
別の例によれば、この方法論は、第１のオブジェクトが第２のオブジェクトに対して、角度配向関係に対応する関係を有することを決定するステップ、を含むことができる。決定された角度配向関係に基づき、この方法論は、第２のアノテーションによって第１のオブジェクトと第２のオブジェクトとの間に角度寸法測定量を視覚的に表示させるステップ、を含むことができる。
【００７６】
既述のとおり、これらの方法に対応づけられたかかるアクションを、１つまたは複数のプロセッサによって実行することができる。かかる１つまたは複数のプロセッサを、１つまたは複数のデータ処理システムに含めることができ、このデータ処理システムはたとえば、上述のアクションが１つまたは複数のプロセッサによって実施されるように動作するソフトウェアコンポーネントを実行する。１つの例示的な実施形態によれば、かかるソフトウェアコンポーネントを、Java, JavaScript, Python, C, C#, C++などのようなソフトウェア環境／言語／フレームワークにおいて、またはここで説明したアクションおよび特徴を実行するようにコンフィギュレーションされたコンポーネントおよびグラフィカルユーザインタフェースを生成可能な他の任意のソフトウェアツールにおいて、記述することができる。
【００７７】
図６には、データ処理システム６００（コンピュータシステムとも称する）のブロック図が示されている。このシステムに、たとえば本明細書で説明したプロセスを実行するためにソフトウェアまたは他の何らかの手段によって動作がコンフィギュレーションされたＰＬＭ、ＣＡＤおよび／または描画システムの一部分として、１つの実施形態を実装することができる。この図に描かれたデータ処理システムは、少なくとも１つのプロセッサ６０２（たとえばＣＰＵ）を含んでおり、これを１つまたは複数のブリッジ／コントローラ／バス６０４（たとえばノースブリッジ、サウスブリッジ）と接続することができる。バス６０４の１つとして、PCI Expressバスなどのような１つまたは複数のＩ／Ｏバスを挙げることができる。図示の例によれば、様々なバスに接続されるものとして、メインメモリ６０６（ＲＡＭ）およびグラフィックスコントローラ６０８を挙げることができる。グラフィックスコントローラ６０８を、１つまたは複数のディスプレイデバイス６１０と接続することができる。同様にここで述べておきたいのは、いくつかの実施形態によれば、１つまたは複数のコントローラ（たとえばグラフィックス、サウスブリッジ）を（同じチップまたはダイにおける）ＣＰＵと統合できる、という点である。ＣＰＵアーキテクチャの例には、ＩＡ−３２、ｘ８６−６４およびＡＲＭプロセッサアーキテクチャが含まれる。
【００７８】
１つまたは複数のバスに接続される他の周辺機器として、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、セルラネットワークおよび／または他の有線または無線のネットワーク６１４と接続するように動作する通信コントローラ６１２（イーサネットコントローラ、ＷｉＦｉコントローラ、セルラコントローラ）、または通信機器を挙げることができる。
【００７９】
種々のバスに接続されるさらに別のコンポーネントとして、１つまたは複数のＩ／Ｏコントローラ６１６、たとえばＵＳＢコントローラ、ブルートゥースコントローラ、および／または（スピーカおよび／またはマイクロフォンと接続される）専用オーディオコントローラなどを挙げることができる。同様に、様々な周辺機器を（種々のＵＳＢポートを介して）ＵＳＢコントローラに接続することができる、という点も理解されたい。それらの周辺機器として、入力デバイス６１８（たとえばキーボード、マウス、タッチスクリーン、トラックボール、カメラ、マイクロフォン、スキャナ）、出力デバイス６２０（たとえばプリンタ、スピーカ）、あるいは入力を供給するまたはデータ処理システムからの出力を受信するように動作する他の任意のタイプのデバイスが挙げられる。さらに、入力デバイスまたは出力デバイスと呼ばれる多くのデバイスが、入力を供給することができ、かつデータ処理システムとの通信の出力を受信することができる、という点を理解されたい。さらに理解されたいのは、Ｉ／Ｏコントローラ６１６に接続される他の周辺ハードウェア６２２として、データ処理システムと通信するようにコンフィギュレーションされた任意のタイプのデバイス、機械またはコンポーネントを挙げることができる、という点である。
【００８０】
種々のバスに接続される付加的なコンポーネントとして、１つまたは複数のストレージコントローラ６２４（たとえばＳＡＴＡ）を挙げることができる。ストレージコントローラをストレージデバイス６２６と接続することができ、たとえば１つまたは複数のストレージドライブ、および／または機械で使用可能または機械で読み取り可能な任意の適切な非一時的ストレージ媒体とすることができる任意の対応するリムーバル媒体、などと接続することができる。例として挙げられるのは、不揮発性デバイス、揮発性デバイス、リードオンリーデバイス、書き込み可能デバイス、ＲＯＭ、ＥＰＲＯＭ、磁気テープストレージ、フロッピーディスクドライブ、ハードディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、フラッシュメモリ、光ディスクドライブ（ＣＤ、ＤＶＤ、ブルーレイ）、および他の公知の光学的、電気的、または磁気的なストレージデバイスドライブおよび／またはコンピュータ媒体である。いくつかの例によれば、ＳＳＤなどのようなストレージデバイスを、PCI ExpressバスなどのようなＩ／Ｏバス６０４へ、ダイレクトに接続することもできる。
【００８１】
本開示の１つの実施形態によるデータ処理システムとして、オペレーティングシステム６２８、ソフトウェア／ファームウェア６３０、およびデータストア６３２（これらをストレージデバイス６２６に記憶させることができる）を挙げることができる。かかるオペレーションシステムは、コマンドラインインタフェース（ＣＬＩ）シェルおよび／またはグラフィカルユーザインタフェース（ＧＵＩ）シェルを採用することができる。ＧＵＩシェルは、複数のディスプレイウィンドウをグラフィカルユーザインタフェースにおいて同時に表示させることができ、各ディスプレイウィンドウによって、それぞれ異なるアプリケーションに対するインタフェースが提供され、または同じアプリケーションの異なるインスタンスに対するインタフェースが提供される。マウスまたはタッチスクリーンなどのようなポインティングデバイスによって、ユーザはグラフィカルユーザインタフェースのカーソルまたはポインタを操作することができる。この場合、カーソル／ポインタのポジションを変更することができ、かつ／または、望ましいレスポンスを生じさせるために、マウスボタンのクリックまたはタッチスクリーンのタッチといったイベントを発生させることができる。データ処理システムにおいて使用することのできるオペレーティングシステムの例として、Microsoft Windows, Linux, UNIX, iOSおよびAndroidオペレーティングシステムを挙げることができる。
【００８２】
通信コントローラ６１２を（データ処理システム６００の一部ではない）ネットワーク６１４に接続することができ、このネットワークを、インターネットを含め当業者に周知の任意のパブリックまたはプライベートのデータ処理システムネットワークまたはそれらのネットワークの組み合わせとすることができる。データ処理システム６００はネットワーク６１４を介して、（やはりデータ処理システム６００の一部ではない）サーバ６３４などのような１つまたは複数の他のデータ処理システムと通信することができる。ただし、１つの択一的なデータ処理システムを、分散システムの一部として実装された複数のデータ処理システムに対応させることができ、そのような分散システムにおいて、複数のデータ処理システムに対応づけられた複数のプロセッサを、１つまたは複数のネットワークコネクションを介して通信状態にすることができ、それらのプロセッサは、単一のデータ処理システムによって実施されるものとして説明したタスクを、共同で実施することができる。よって、１つのデータ処理システムについて言及するときには、かかるシステムを、ネットワークを介して互いに通信状態にある分散システム内に構築された複数のデータ処理システム全体にわたって実装されたものとしてもよい、という点を理解されたい。
【００８３】
なお、用語「コントローラ」とは、このデバイスがハードウェア、ファームウェア、ソフトウェア、またはそれらのうち少なくとも２つの何らかの組み合わせとして実現されていようが、少なくとも１つのオペレーションをコントロールする任意のデバイス、システムまたはそれらの一部分のことを意味する。さらにここで述べておきたいのは、いずれかの特定のコントローラと結び付けられた機能を、ローカルであろうとリモートであろうと、集中させてもよいし分散させてもよい、という点である。
【００８４】
これらに加え、データ処理システムを、バーチャルマシンアーキテクチャまたはクラウド環境においてバーチャルマシンとして実装することができる、という点を理解されたい。たとえばプロセッサ６０２および付随するコンポーネントを、１つまたは複数のサーバのバーチャルマシン環境において実行される１つのバーチャルマシンに対応させることができる。バーチャルマシンアーキテクチャの例として挙げられるのは、VMware ESCi, Microsoft Hyper- V, Xenおよび KVMである。
【００８５】
当業者であれば理解できるように、データ処理システムについて図示したハードウェアを、特定の実装形態に合わせて変更することができる。たとえばこの例におけるデータ処理システム６００を、コンピュータ、ワークステーションおよび／またはサーバに対応させることができる。ただしここで理解されたいのは、データ処理システムの択一的な実施形態を、相応のコンポーネントまたは択一的なコンポーネントによってコンフィギュレーションすることができる、という点であり、たとえば携帯電話、タブレット、コントローラボード、またはデータを処理しかつデータ処理システム、コンピュータ、プロセッサおよび／または本明細書で説明したコントローラのオペレーションと対応づけられた、本明細書で説明した機能および特徴を実施するように動作する他の任意のシステムの形態として、コンフィギュレーションすることができる。図示されている実施例は、例示目的で示されているにすぎず、本開示に関して構造上の制限を意図したものではない。
【００８６】
本明細書で用いた用語「コンポーネント」および「システム」は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの組み合わせを包含することを意図している。したがってたとえば、システムまたはコンポーネントをプロセス、プロセッサ上で実行されるプロセス、またはプロセッサとすることができる。これらに加え、コンポーネントまたはシステムを、単一のデバイス上に局所化してもよいし、複数のデバイスにわたって分散させてもよい。
【００８７】
同様に、ここで用いられているプロセッサは、データを処理するためにハードウェア回路、ソフトウェアおよび／またはファームウェアを介してコンフィギュレーションされた任意の電子デバイスに相応する。たとえば、本明細書で説明したプロセッサを、マイクロプロセッサ、ＣＰＵ、ＦＰＧＡ、ＡＳＩＣ、あるいは、コントローラボード、コンピュータ、サーバ、携帯電話、および／または他の任意のタイプの電子デバイスを有することができるデータ処理システムにおいてデータを処理可能である他の任意の集積回路（ＩＣ）または他のタイプの回路、のうちの１つまたは複数（またはこれらの組み合わせ）に対応させることができる。
【００８８】
さらに当業者に理解できるとおり、簡単かつ明瞭にするため、本発明による使用に適したあらゆるデータ処理システムの構造およびオペレーションを、本明細書においてすべて描いたまたは説明したわけではない。そうではなく、データ処理システムのうち、本発明に特有のところだけを、または本発明の理解に必要なところだけを描いて説明したにすぎない。データ処理システム６００の構造およびオペレーションのその他の部分は、この分野で周知の現在行われている様々な実装形態および実施手法の任意のものに適合させることができる。
【００８９】
これまで本発明の実施例について詳しく説明してきたが、当業者であれば理解できるように、最も広い形態で開示した本発明の着想および範囲を逸脱することなく、様々な変更、置き換え、変形ならびに本明細書で開示した改善を行うことができる。
【００９０】
本願の記載内容のいずれも、何らかの特定の部材、ステップ、アクションまたは機能が特許請求の範囲に含まれなければならない必須の要素である、という趣旨で読まれるべきではない。本発明の範囲は、特許付与された請求項によってのみ定められるものである。しかも、厳密な語「のための手段」の次に分詞が続かないのであれば、これらの請求項のいずれも、ミーンズ・プラス・ファンクション・クレーム（means plus function claim）の構造が適用されることを意図したものではない。
【図１】
0006538879.tif 000002
【図２】
0006538879.tif 000003
【図３】
0006538879.tif 000004
【図４】
0006538879.tif 000005
【図５】
0006538879.tif 000006
【図６】
0006538879.tif 000007