(57)【要約】【課題】形状が２つの半径と弧によって仕切られたメニューを提供すること。【解決手段】セクタメニューは、ポインティングデバイスが移動される際にポインタの位置を追跡する。各セクタメニューは、円の２つの半径と円に含まれる弧によって仕切られた幾何学形状である。メニュー項目は、セクタメニューを切り取る複数の半径から形成された複数のセグメントに収容される。ユーザは、所望のメニュー項目の動作を呼び出すために所望のメニュー項目上を通過するよう軌道から方向変更を行うことによって、セグメントに収容されたメニュー項目を選択する。セクタメニューは、セグメントを欠いており、ポインタが移動する方向に向けられた、欠けているセグメントを規定する。セクタメニューは、各メニュー項目をユーザが選択する尤度の反映する、異なるサイズのセグメントを使用できる。【選択図】図３Ｃ
2010198643.tif 000002
【特許請求の範囲】
【請求項１】
コンテキストセンシティブメニューを提供するためのコンピュータシステムであって、
ポインティングデバイスによりターゲットに向かって移動する画面上のカーソルと、
前記画面上のカーソルに合わせて移動する、複数のメニュー項目を有するセクタメニューであって、各メニュー項目が前記ターゲットに置かれたユーザインターフェース要素の動作を表すセクタメニューと
を含むことを特徴とするコンピュータシステム。
【請求項２】
各ユーザインターフェース要素に、ユーザが前記ユーザインターフェース要素を選択する確率を示すスコアが示されていることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
スコアの高いメニュー項目が他のメニュー項目と異なるサイズで提示されることを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
スコアの高いメニュー項目が他のメニュー項目と異なるテキスト形式で提示されることを特徴とする請求項２に記載のコンピュータシステム。
【請求項５】
スコアの高いメニュー項目が他のメニュー項目と異なる色で提示されることを特徴とする請求項２に記載のコンピュータシステム。
【請求項６】
ユーザがポインタをナビゲートする際に、コンテキストセンシティブメニューを提示するためのコンピュータシステムで実施される方法であって、
前記ポインタをナビゲートするウィンドウ環境に関するデータを収集するステップと、
前記ポインタのナビゲート先であるターゲットでユーザインターフェース要素を推論するステップと、
前記ポインタに合わせて移動するセクタメニューを表示するステップであって、前記セクタメニューを切り取る複数の半径によって形成された複数のセグメントを表示するステップを含み、セグメントが前記ポインタのナビゲート先である前記ターゲットでユーザインターフェース要素を含むメニュー項目を収容するステップと
を含むことを特徴とする方法。
【請求項７】
表示するステップが、前記セクタメニューを表示する際に存在する必要のある事前定義されたメニュー項目を表示するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
推論するステップが、前記ターゲット内の各ユーザインターフェース要素にスコアを割り当てるステップを含み、前記スコアは、ユーザが前記ユーザインターフェース要素を選択する尤度を示すことを特徴とする請求項６に記載の方法。
【請求項９】
表示するステップが、スコアの低いメニュー項目を表示するステップとは異なる、スコアの高いメニュー項目を表示するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ポインタが選択されたメニュー項目上を通過する場合に前記メニュー項目の選択を受信するステップをさらに備えることを特徴とする請求項６に記載の方法。
【請求項１１】
コンテキストセンシティブメニューを提供する方法を実施するコンピュータの実行可能な命令を有するコンピュータ読み取り可能な媒体であって、前記方法が、
ポインタがナビゲートするウィンドウ環境に関するデータを収集するステップと、
前記ポインタのナビゲート先であるターゲットでユーザインターフェース要素を推論するステップと、
前記ポインタに合わせて移動するセクタメニューを表示するステップであって、前記セクタメニューを切り取る複数の半径によって形成された複数のセグメントを表示するステップを含み、セグメントが前記ポインタのナビゲート先である前記ターゲットでユーザインターフェース要素を含むメニュー項目を収容するステップと
を含むことを特徴とするコンピュータ読み取り可能な媒体。
【請求項１２】
表示するステップが、前記セクタメニューを表示する際に不可欠な事前定義されたメニュー項目を表示するステップを含むことを特徴とする請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
推論するステップが、前記ターゲットの各ユーザインターフェース要素にスコアを割り当てるステップを含み、前記スコアは、ユーザが前記ユーザインターフェース要素を選択する尤度を示すことを特徴とする請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１４】
表示するステップが、スコアの低いメニュー項目を表示するステップとは異なる、スコアの高いメニュー項目を表示するステップを含むことを特徴とする請求項１３に記載のコンピュータ読み取り可能な媒体。
【請求項１５】
前記ポインタが選択されたメニュー項目上を通過する場合に前記メニュー項目の選択を受信するステップをさらに備えることを特徴とする請求項１１に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ヒューマンマシンインターフェースに関し、より詳細には、ユーザインターフェース内でのポインタのナビゲート中に、円の２つの半径と円の一部を成す弧によって仕切られた幾何学的図形のメニューの表示に関する。
【背景技術】
【０００２】
グラフィカルユーザインターフェースは、アイコン、メニュー、およびダイヤログボックスのようなグラフィカルイメージによってプログラム、ファイル、およびオプションをコンピュータ画面上に表現する視覚コンピュータ環境である。ユーザは、マウス（マウス１０４など）またはしばしばキーボードを使用してポイントまたはクリックすることによってこれらのオプションを選択し、起動することができる。グラフィカルユーザインターフェースがこれらの要素を処理し、ユーザのアクション（特定アイコンまたはテキストの特定位置でのマウスのクリックまたはキーの押し下げなど）をレポートするための標準ソフトウェアルーチンを提供するので、すべてのアプリケーションにおいてある特定のアイテム（スクロールバーなど）は、ユーザにとって同じ方法で働く。
【０００３】
メニューはグラフィカルユーザインターフェースと共に使用されることがしばしばある。メニューは、オプションのリストであり、これによりコマンドの選択または特定の形式をドキュメントの一部に適用することなどの所望のアクションをユーザが選択し、実行することができる。メニューの選択肢はメニュー項目と呼ばれ、キーボードまたはマウスによって選択可能である。場合によっては、所与の状況に使用できない（または適切でない）メニュー項目は「グレイ表示」される（有効なメニュー選択肢と比較して淡色表示になる）。多くのアプリケーションプログラム、特にグラフィカルユーザインターフェース環境で動作するアプリケーションプログラムは、プログラムコマンドとそれらの適切な使用法を記憶することに対する、習得し易く使い勝手のよい代替形態をユーザに提供する手段としてメニューを使用する。
【０００４】
多くの異なるタイプのメニューが存在する。ドロップダウンメニューは、要求された場合にメニューバー１０８などメニューバーから垂れ下り、ユーザがそれを閉じるか、メニュー項目を選択するまで他のアクションを行わずに開いたまま維持されるメニューである。プルダウンメニューは、メニューバーから引き下げられ、ユーザがそれを開いたまま保持している限り使用可能な状態で維持されるメニューである。ポップアップメニューは、ユーザがマウスで特定の選択をしたとき画面に表示されるメニューである。ポップアップメニューは、画面のどこにでも表示することができ、一般に、ユーザがそのポップアップメニューのメニュー項目を選択すると消える。
【０００５】
ポップアップメニューの種類の１つにコンテキストメニューがある。コンテキストメニューは、他のメニューと同様、一般的なテーマでグループ化されたコマンドを保持する。コンテキストメニューの通常の趣旨は、（ユーザがしばしば使用するものとプログラマーが考える）一組の一般的な動作にユーザがアクセスできるようにすることである。コンテキストメニューは、ユーザ入力に応じて、所与のコンピュータ画面位置およびアプリケーション状態について行われるその一組の一般的な動作を提供する（さらに、通常は、マウスの右クリックに応答して「ポップアップ」する）。
【０００６】
初心者のユーザがコンテキストメニューを探すことはしばしば困難であり、これらのユーザが複雑なコンピューティング環境を操作する際に自信と確信を得るのに役立つコンテキストメニューの潜在的な有用性を損なうことが、操作性の研究で既に示されている。初心者のユーザは、自分が完全には理解していないユーザインターフェース要素上でクリックすることをしばしば不安に思うものである。さらに、現在のコンテキストメニューは、コンテキストメニューを表示させるためにコンピュータ画面上の任意の場所で右クリックすることを要求するが、これは初心者のユーザには不適当と思われる。
【０００７】
ユーザがコンテキストメニューを先に進める方法を理解している場合でも、その内容（すなわち、メニュー項目）は変化せず、ユーザの希望を必ずしも表してはいない。コンテキストメニューのメニュー項目は、グラフィカルユーザインターフェースにポインタの置かれた位置によって決定される。例えば、デスクトップから呼び出されるコンテキストメニューに関連付けられたメニュー項目（グラフィカルユーザインターフェースでディスク上部をシミュレートするためにアイコンとメニューを使用する画面上の作業域）は、ワードプロセッシングアプリケーションから呼び出されたコンテキストメニューに関連付けられたメニュー項目とは異なる。これらのメニュー項目は静的である。コンテキストメニューを構築したプログラマーの経験知識に基づく予測は多くのユーザにとって有用な場合があるが、複雑なコンピューティング環境で操作することに熟達して長い間に独自の好みを形成したユーザには適していない。この問題は、図１Ａに示すシステム１００と図１Ｂに示すアプリケーション１０６によってさらに詳細に示す。
【０００８】
システム１００は、一度に一人が使用するように設計されたコンピュータであるパーソナルコンピュータ１０２を含む。パーソナルコンピュータは他のコンピュータの処理、ディスク、およびプリンタ資源を共有する必要はない。ＩＢＭ  ＰＣ互換コンピュータ、およびＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈはどちらもパーソナルコンピュータの例である。パーソナルコンピュータ１０２がグラフィカルユーザインターフェースを使用する場合、そのようなグラフィカルユーザインターフェースで実行中のアプリケーションでポインタをナビゲートするためにパーソナルコンピュータ１０２に結合されているマウス１０４を使用することができる。
【０００９】
アプリケーションの一例は、ワードプロセッシング、経理、または在庫管理のような特定のコンピュータタスクの実行を支援するよう設計されたプログラムであるアプリケーション１０６である。図１Ｂを参照されたい。ほとんどのアプリケーションに典型的なように、アプリケーション１０６は、アプリケーション１０６の画面上のウィンドウの、しばしば上部に表示され、そのメニューからユーザが選択することのできる長方形のバーであるメニューバー１０８を含む。「ＦＩＬＥ」メニュー１１０、「ＥＤＩＴ」メニュー１１２、および「ＨＥＬＰ」メニュー１１４のような使用可能なメニューの名前がメニューバーに表示される。キーボードまたはマウス１０４で１つを選択することによってメニューのオプションリストが表示される。
【００１０】
アプリケーション１０６は長方形の作業域１１６を含む。コンテキストメニュー１１７のように、様々なユーザインターフェース要素を作業域１１６に表示することができる。「ＣＵＴ」メニュー項目１１８、「ＣＯＰＹ」メニュー項目１２０、「ＰＡＳＴＥ」メニュー項目１２２、および「ＦＯＲＭＡＴ」メニュー項目１２４のような複数のメニュー項目は、ポインタ１２８が示す特定位置でユーザがマウス１０４を右クリックする場合に表示される。ポインタ１２８は、左または右に少し傾いた矢印のような画面上シンボルとして表示され、マウス１０４または他の入力装置によって制御することができ、コンテキストメニュー１１７のメニュー項目１１８〜１２４のようなコンピュータ画面上の位置または選択肢を指示（また、選択）するための手段として使用される。
【００１１】
メニュー項目１１８〜１２２（切り取り、コピー、および貼り付け）は、内容（ドキュメントなど）を再編成し、または異なるソースからのドキュメントを編集するために、パーソナルコンピュータ１０２が鋏と糊を電子的に組み合わせたものとして作用する手順における複数の動作である。ＣＵＴメニュー項目１１８は、テキスト「ＣＵＴ」の左側に置かれた鋏に似た画面上シンボルを有する。ＣＵＴメニュー項目１１８は、ユーザがドキュメントの部分除去することを可能にし、この場合、ユーザは通常、切り取った部分をどこにでも挿入する（貼り付けする）ことができるようにそれを一時的にメモリに置く。ＣＯＰＹメニュー項目１２０は、テキスト「ＣＯＰＹ」の左側に置かれた一組のドキュメントコピーに似た画面上シンボルを有する。ＣＯＰＹメニュー項目１２０は、情報を、ドキュメントの別の部分、異なるファイルもしくはメモリ位置、または異なる媒体で複製し、再現することを可能にする。ＣＯＰＹメニュー項目１２０によって呼び出されているコピー動作は、１文字からテキストとグラフィックイメージの大きなセグメントまでの範囲のデータに影響を与えることができる。例えばテキストとグラフィックは、ドキュメントの別の部分、コンピュータのメモリ（クリップボードのような一時記憶機能の手段により）、または異なるファイルにコピーすることができる。多くの場合、コピー動作は元の情報を定位置に残す。クリップボードに似た画面上シンボルは、ＰＡＳＴＥメニュー項目１２２のテキスト「ＰＡＳＴＥ」の左側に置かれる。貼り付けメニュー項目１２２は、同じドキュメントまたは異なるドキュメントの異なる位置で１つのドキュメントから切り取られ、またはコピーされたテキストまたはグラフィックの挿入を可能にする。ＦＯＲＭＡＴメニュー項目１２４に関連付けられた画面上シンボルはない。ＦＯＲＭＡＴメニュー項目１２４は、テキスト、グラフィックス、または場合によってはスプレッドシートのセルのような選択された内容の表示における変更を可能にする。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
コンテキストメニュー１１７（特に、ユーザが１つしかボタンのないマウスを有する場合）を見つけ、それによって、アプリケーション１０６のメニュー１１０〜１１４のような複数のメニューをくまなく探らずに、メニュー項目１１８〜１２４に都合よくアクセスすることは初心者のユーザにとって困難である。さらに、メニュー項目１１８〜１２４は静的であり、ユーザの好みの変化には応答しない。コンテキストメニューが均一であることにより、パーソナルコンピュータ１０２の標準化が進み、すべてのユーザがコンテキストメニューを呼び出し、使用することについて類似のコンピューティング体験を共有することを可能にする。ユーザ自身の好みに敏感なコンテキストメニューを各ユーザが見つけるのを助けることによってパーソナルコンピューティング体験に再び焦点を当てる解決策がなければ、ユーザは、最終的に、システム１００が所望のパーソナルコンピューティング体験を提供することを最早信頼することができず、結果的にシステム１００に対する市場の需要を低下させることになる。したがって、既存のコンテキストメニューに関連する上記および他の問題を回避または削減しながら、強化されたコンテキストメニューを提供する方法およびシステムが求められている。
【課題を解決するための手段】
【００１３】
本発明によれば、セクタメニューを提示するシステム、方法、およびコンピュータ読み取り可能な媒体が提供される。「セクタメニュー」という用語は、円の２つの半径と円の一部を成す弧によって仕切られた幾何学形状を有するメニューのことである。（すなわち、否定的に言えばセグメントを除去した円形幾何学形状、肯定的に言えばセグメントのない円形幾何学形状である。）「推論（ｅｄｕｃｉｎｇ）」という用語は、ユーザのポインティングデバイスの使用に潜在するユーザの意図を引き出す動作のことである。「共感（ｅｍｐａｔｈｅｔｉｃ）」という用語は、意図的な明示的方法（例えば、単なるマウスの移動で十分である）で完璧に意図を伝達することなく、過去または現在の入力装置の使用体験に基づいてユーザの意図を推論するよう理解し、気付き、感じ得るヒューマンマシンインターフェースの機能を意味している。
【００１４】
本発明のシステム形態は、コンテキストセンシティブメニューを提供するためのコンピュータシステムを含む。コンピュータシステムは、ポインティングデバイスの動きに合わせて移動する画面上のカーソルと、画面上のカーソルを囲んでいるセクタメニューとを含んでいる。セクタメニューは、円の２つの半径と円の一部を成す弧によって仕切られた幾何学形状である。
【００１５】
本発明の別の態様によれば、本発明の別のシステムは、コンテキストセンシティブメニューを提供するためのコンピュータシステムを含む。コンピュータシステムは、ポインティングデバイスの動きに合わせて移動する画面上のカーソルと、画面上のカーソル付近に表示されているセクタメニューとを含んでいる。セクタメニューは、セクタメニューを切り取る複数の半径から形成された複数のセグメントを有する。各セグメントは、セクタメニューに対するメニュー項目を収容する。
【００１６】
本発明の別の態様によれば、本発明の別のシステムの実施形態は、コンテキストセンシティブメニューを提供するためのコンピュータシステムを含む。このコンピュータシステムは、ポインティングデバイスによってターゲット方向に移動する画面上のカーソルと画面上のカーソルに合わせて移動するセクタメニューとを含んでいる。セクタメニューは複数のメニュー項目を有する。各メニュー項目は、ターゲットに置かれたユーザインターフェース要素の動作を表す。
【００１７】
本発明の別の態様によれば、本発明の方法の一実施形態は、ユーザがポインタをナビゲートする際にコンテキストセンシティブメニューを提示するためのコンピュータシステムで実施される方法を含む。この方法は、ポインタがその中でナビゲートするウィンドウ環境に関するデータを収集するステップを含んでいる。この方法は、ポインタのナビゲート先であるターゲットのユーザインターフェース要素を推論するステップも含んでいる。この方法は、ポインタに合わせて移動するセクタメニューを表示するステップもさらに含んでいる。表示する動作は、セクタメニューを切り取る複数の半径によって形成される複数のセグメントを表示するステップであって、１つのセグメントがポインタのナビゲート先であるターゲットのユーザインターフェース要素を含むメニュー項目を収容するステップを含む。
【００１８】
本発明の別の態様によれば、本発明のコンピュータ読み取り可能な媒体の一実施形態は、ユーザがポインタをナビゲートする際にコンテキストセンシティブメニューを提示する方法を実施するコンピュータ実行可能な命令を有するコンピュータ読み取り可能な媒体を含む。この方法は、ポインタがナビゲートするウィンドウ環境に関するデータを収集するステップを含んでいる。この方法は、ポインタのナビゲート先であるターゲットのユーザインターフェース要素を推論するステップも含んでいる。この方法は、ポインタに合わせて移動するセクタメニューを表示するステップをさらに含んでいる。表示する動作は、セクタメニューを切り取る複数の半径によって形成される複数のセグメントを表示するステップであって、１つのセグメントがポインタのナビゲート先であるターゲットのユーザインターフェース要素を含むメニュー項目を収容するステップを表示するステップを含む。
【００１９】
本発明の上記態様および多くの付随する利点は、添付の図面と共に以下の詳細な説明を参照することにより理解が進むので、より容易に理解されよう。
【図面の簡単な説明】
【００２０】
【図１Ａ】従来システムを示す図である。
【図１Ｂ】コンテキストメニューを示す従来型アプリケーションを示すブロック図である。
【図２】コンピューティングデバイス例を示すブロック図である。
【図３Ａ】例示的マウスを有する例示的パーソナルコンピュータを使用する例示的ユーザを示す図である。
【図３Ｂ】本発明の一実施形態による、ユーザインターフェースのポインタによるセクタメニューの動きを示す図である。
【図３Ｃ】本発明の一実施形態による、ユーザインターフェースの軌道に沿ったナビゲート中の２つの異なる時点でポインタによるセクタメニューの移動を示す図である。
【図３Ｄ】本発明の一実施形態による、セクタメニュー、より具体的にはセクタメニューのメニュー項目の選択を示す図である。
【図３Ｅ】本発明の一実施形態による、ユーザインターフェースのポインタをナビゲート中に、マウスのようなポインティングデバイスのニュアンスの動きによりユーザの意図を推論し、また、セクタメニューを提示するためのシステムの部分を示すブロック図である。
【図４Ａ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｂ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｃ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｄ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｅ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｆ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【図４Ｇ】本発明の一実施形態による、ユーザがポインタをナビゲートする際にセクタメニューを提示するための方法を示すプロセス図である。
【発明を実施するための形態】
【００２１】
図２は、ユーザがポインタのような画面上のカーソルをナビゲートする際にユーザの意図からそのメニュー項目が推論されるセクタメニューを提示するステップのような、本発明の特定の態様を実行するために適したコンピューティングシステム環境２００の一例を示す図である。コンピューティングシステム環境２００は、適切なコンピューティング環境の一例に過ぎず、本発明の機能の範囲または使用に対するいかなる限定をも示唆することは意図しない。また、コンピューティング環境２００は、図示し説明するコンポーネントのどれか、またはその組み合わせに関するいかなる依存または要求を有するものと理解されるべきではない。
【００２２】
本発明は、多数の他の汎用または専用コンピューティングシステム環境または構成により動作可能である。本発明と共に使用するのに適している場合のある、良く知られたコンピューティングシステム、環境、および／または構成の例は、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのどれかを含む分散型コンピューティング環境などを含む。
【００２３】
本発明は、コンピュータによって実行されるプログラムモジュールのようなコンピュータ実行可能な命令の一般的な状況で説明する。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは特定のタスクを実行または特定の抽象データタイプを実施する。
【００２４】
本発明は、通信ネットワークを介してリンクされる遠隔処理装置によってタスクが実行される分散型コンピューティング環境でも実行することができる。分散型コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含めて、ローカルなコンピュータストレージ媒体と遠隔のコンピュータストレージ媒体の両方に置くことができる。
【００２５】
図２に示されるコンピューティングシステム環境は、コンピュータ２１０形式の汎用コンピューティングデバイスを含む。コンピュータ２１０のコンポーネントは、以下に限定されないが、処理装置２２０、システムメモリ２３０、およびシステムメモリを含めて様々なシステムコンポーネントを処理装置２２０に結合するシステムバス２２１を含むことができる。システムバス２２１は、様々なバスアーキテクチャのどれかを使用するメモリバスまたはメモリコントローラ、周辺機器バス、およびローカル・バスを含む、いくつかのタイプのバス構造のどれであってもよい。限定ではなく一例として、このようなバスアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子標準化協会（ＶＥＳＡ）ローカル・バス、およびメザニンバスとしても知られる周辺装置相互接続（ＰＣＩ）バスを含む。
【００２６】
コンピュータ２１０は、通常、様々なコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータ２１０によってアクセスすることができ、揮発性／不揮発性媒体、取り外し可能／取り外し不可能な媒体の両方を含むいかなる使用可能な媒体であってもよい。限定ではなく一例として、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータのように情報を記憶するためのいかなる方法または技術でも実施される揮発性／不揮発性の取り外し可能／取り外し不可能な媒体の両方を含む。コンピュータ記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、またはいかなる他のコンピュータ記憶媒体をも含む。通信媒体は、通常、搬送波またはいかなる情報搬送媒体をも含む他の転送機構のようなコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または変調されたデータ信号形式の他のデータを実施する。「変調されたデータ信号」という用語は、その特徴の１つまたは複数が、情報を信号に符号化するような方法で設定または変更された信号を意味する。限定ではなく一例として、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、および音響、ＲＦ、赤外線、および他の無線媒体のような無線媒体を含む。上記のどの組み合わせも、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
【００２７】
システムメモリ２３０は、読み取り専用メモリ（ＲＯＭ）２３１およびランダムアクセスメモリ（ＲＡＭ）２３２のような揮発性および／または不揮発性メモリの形式のコンピュータ記憶媒体を含む。起動時などにコンピュータ２１０内の素子間で情報を転送することに役立つ基本ルーチンを含んでいる基本入出力システム２３３（ＢＩＯＳ）は、通常、ＲＯＭ２３１に記憶される。ＲＡＭ２３２は、通常、データおよび／またはプログラムモジュールを含んでいて、これらは処理装置２２０によって即座にアクセス可能であり、かつ／または現在動作中である。限定ではなく一例として、図２は、オペレーティングシステム２３４、アプリケーションプログラム２３５、他のプログラムモジュール２３６、およびプログラムデータ２３７を示している。
【００２８】
コンピュータ２１０は、他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図２は、取り外し不可能な不揮発性磁気媒体から読み取り／に書き込むハードディスクドライブ２４１、取り外し可能な不揮発性磁気ディスク２５２から読み取り／に書き込む磁気ディスクドライブ２５１、ＣＤ−ＲＯＭまたは他の光媒体のような取り外し可能な不揮発性光ディスク２５６から読み取り／に書き込む光ディスクドライブ２５５を示している。オペレーティングシステム例で使用することのできる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体は、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含む。ハードディスクドライブ２４１は、通常、インターフェース２４０のような取り外し不可能なメモリインターフェースを介してシステムバス２２１に接続されており、磁気ディスクドライブ２５１および光ディスクドライブ２５５は、通常、インターフェース２５０のような取り外し可能なメモリインターフェースによってシステムバス２２１に接続されている。
【００２９】
上記で説明し、図２に示したドライブおよびそれらの関連するコンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの記憶をコンピュータ２１０に提供する。図２では、例えばハードディスクドライブ２４１は、オペレーティングシステム２４４、アプリケーションプログラム２４５、他のプログラムモジュール２４６、およびプログラムデータ２４７を記憶しているように示されている。これらのコンポーネントは、オペレーティングシステム２３４、アプリケーションプログラム２３５、他のプログラムモジュール２３６、およびプログラムデータ２３７と同じであっても異なってもよいということに留意されたい。オペレーティングシステム２４４、アプリケーションプログラム２４５、他のプログラムモジュール２４６、およびプログラムデータ２４７には、少なくともこれらが異なるコピーであることを示すために本明細書では異なる番号を付した。ユーザは、キーボード２６２およびポインティングデバイス２６１のような入力装置によってコンピュータ２１０にコマンドおよび情報を入力することができ、入力装置の後者は、一般に、マウス、トラックボール、またはタッチパッドと称される。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含むことができる。これらの入力装置および他の入力装置は、システムバスに結合されているが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）のような他のインターフェースおよびバス構造によって接続することができるユーザ入力インターフェース２６０を介して処理装置２２０に接続されることがしばしばある。モニタ２９１または他のタイプの表示装置も、ビデオインターフェース２９０のようなインターフェースを介してシステムバス２２１に接続される。モニタに加えて、コンピュータは、入出力周辺インターフェース２９５を介して接続することのできるスピーカ２９７およびプリンタ２９６のような他の周辺出力装置も含むことができる。
【００３０】
コンピュータ２１０は、遠隔コンピュータ２８０のような１つまたは複数の遠隔コンピュータへの論理接続を使用してネットワーク接続された環境で動作することができる。遠隔コンピュータ２８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、通常は、コンピュータ２１０に関して上記で説明した要素の多くまたはすべてを含むが、但し、図２にはメモリストレージデバイス２８１しか示していない。図２に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）２７１およびワイドエリアネットワーク（ＷＡＮ）２７３を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００３１】
ＬＡＮネットワーク接続環境で使用される場合、コンピュータ２１０はネットワークインターフェースまたはアダプタ２７０を介してＬＡＮ２７１に接続される。ＷＡＮネットワーク接続環境で使用される場合、コンピュータ２１０は、通常、モデム２７２、またはインターネットのようなＷＡＮ２７３経由の通信を確立するための他の手段を含む。内蔵型であっても外付けであってもよいモデム２７２は、入出力周辺インターフェース２９５または他の適切な機構を介してシステムバス２２１に接続することができる。ネットワーク接続された環境では、コンピュータ２１０に関して示したプログラムモジュールまたはその一部を、遠隔メモリストレージデバイスに格納することができる。限定ではなく一例として、図２は、メモリデバイス２８１に常駐するように遠隔アプリケーションプログラム２８５を示している。図示したネットワーク接続は説明のみを目的としたものであり、コンピュータ間に通信リンクを確立する他の手段を使用することができるということを理解されたい。
【００３２】
円の２つの半径と円の一部を成す弧によって仕切られた幾何学形状の形式のコンテキストメニュー（「セクタメニュー」）は、パーソナルコンピュータの操作でユーザをよりよく支援するために本発明の様々な実施形態によってユーザに表示される。これらのセクタメニューは、ユーザが手動で呼び出すことも（ポインティングデバイスの右クリックのように）、ユーザがポインタをナビゲートする際に本発明の様々な実施形態によって自動的に呼び出すこともできる。セクタメニューは、セクタメニューを切り取る複数の半径から形成される複数のセグメントを含む。各メニュー項目はセクタメニューのセグメントによって収容されており、テキストで記述するか、または図形で表現することができる。セクタメニューのセグメントのメニュー項目で表される動作は、そのセグメント上をポインタが移動することによって選択可能である。各メニュー項目は、静的に定義するか、ユーザがポインタをナビゲートする際にそのユーザの意図から動的に推論することができる。セクタメニューが使用されるシステム３００を図３Ａに示し、アプリケーション３０８のコンテキストに表示される例示的セクタメニュー３３４を図３Ｂに示す。
【００３３】
システム３００は、ハードウェア、ソフトウェアアプリケーション、およびその上で実行されているオペレーティングシステムを有するコンピューティング環境である。ユーザ３０２は、パーソナルコンピュータ３０４で動作中のグラフィカルユーザインターフェースでポインタ３３６をナビゲートするためにマウス３０６を操作する。パーソナルコンピュータ３０４は、計算および命令を反復的に高速で実行することのできる、一度に一人が使用するように設計されたマシンである。パーソナルコンピュータ３０４は、スーパーコンピュータ、メインフレームコンピュータ、およびワークステーションのような他のクラスのコンピュータよりも小型、安価であり、使用し易い。パーソナルコンピュータ３０４のようなパーソナルコンピュータは、プログラミング経験の乏しい人に安価に計算機能を提供する。ユーザ３０２は、パーソナルコンピュータ３０４を操作し、インターネットまたはワールドワイドウェブとして知られるグラフィックベースの情報データベースのようなワールドワイド通信ネットワークと接続し、実質上いかなる主題に関する情報も見つける。
【００３４】
パーソナルコンピュータ３０４で実行中のアプリケーションの中にアプリケーション３０８がある。他のウィンドウアプリケーションと同様にアプリケーション３０８も、タイトルバー３１０を含む。このタイトルバーは、ウィンドウの名前（図示せず）を含んでいるウィンドウ上部の水平空間である。タイトルバー３１０のようなほとんどのタイトルバーは、ボタン３１０〜３２２のようなウィンドウを閉じ、サイズ変更するためのボタンのボックスも含んでいる。タイトルバー３１０上でクリックすることにより、ユーザ３０２はアプリケーション３０８を含んでいるウィンドウ全体を移動することができる。ボタン３１８は、アプリケーション３０８の右上隅に置かれた最小化ボタンである。クリックされると、最小化ボタンはアプリケーション３０８を隠す。最小化ボタン３１８の隣に表示されているのは最大化ボタン３２０である。最大化ボタン３２０は、アプリケーション３０８のようなウィンドウをより大きなウィンドウ内で使用可能な空間全体に拡大し、充填する。最大化ボタン３２０の隣にあるのは、クローズボタン３２２であり、Ｘマークの付いた四角いボタンである。クローズボタン３２２の上をクリックすることによりアプリケーション３０８は閉じられる。
【００３５】
タイトルバー３１０の下には、メニューバー３２４があり、これはアプリケーション３０８において表示され、そこからユーザ３０２がメニュー３１１〜３１４を選択することのできる長方形のバーである。「ＦＩＬＥ」、「ＥＤＩＴ」、および「ＨＥＬＰ」のような使用可能なメニューの名前がメニューバー３２４に表示される。キーボードまたはマウス３０６で１つのメニューを選択することにより、そのメニューのオプションのリストが表示される。ヘルプボタン３２６は、ヘルプメニュー３１４をクリックせずにヘルプポップアップメニュー（図示せず）を表示させるためにユーザ３０２が選択することもできる。ヘルプボタン３２６は疑問符の隣にある吹き出しに似た画面上シンボルによって表される。メニューバー３２４の下には、アプリケーション３０８の作業域３２８があり、そこでアプリケーション３０８は独自のドキュメントまたは内容３３０のような内容を含み、または提示することができる。内容３３０は雲に隠れた太陽を模したビットマップ図形である。
【００３６】
ユーザ３０２が、ポインタ３３６の位置から出発して、ＥＤＩＴメニュー３１２であるターゲット３１６で終了する軌道３３２に沿ってポインタ３３６を移動したものと仮定する。本発明の様々な実施形態は、セグメント３３４Ａ〜３３４Ｄを含むセクタメニュー３３４を提示し、アプリケーション３０８のユーザ３０２の動作においてユーザを支援する。これら各セグメントはメニュー項目に対応しており、メニュー項目は動作に対応している。ポインタ３３６が移動している方向には、セグメントを表示せず、ユーザ３０２がターゲット３１６の方にポインタ３３６をナビゲートする際にユーザを阻止したり、分かりにくくしたり、または妨害しないようにする。セクタメニュー３３４がユーザ３０２に対して自動的に提示されることは好ましいが、セクタメニュー３３４は、キーボードのキーの組み合わせを押すなどして手動で呼び出すこともできる。
【００３７】
セクタメニュー３３４はポインタ３３６の周辺を囲んでおり、ポインタ３３６はセクタメニュー３３４の中央に置かれる。一度表示されると、セクタメニュー３３４はポインタ３３６の動きを追跡し、ポインタ３３６に沿って移動する。セクタメニュー３３４は４つのセグメント３３４Ａ〜３３４Ｄで示されているが、いかなる適切な数のセグメントを使用することもできる。セグメント３３４Ａ〜３３４Ｄは、テキスト記述「ＣＵＴ」、「ＣＯＰＹ」、「ＰＡＳＴＥ」、および「ＵＮＤＯ」を含んでおり、それぞれ切り取り、コピー、貼り付け、および取り消し動作を示す。セグメント３３４Ａは、メニュー項目を、ユーザ３０２が内容３３０のような内容の一部を除去することを可能にする切り取り動作を表すメニュー項目を収容する。セグメント３３４Ｂは、コピー動作を表しており、ユーザ３０２が情報を複製し、アプリケーション３０８のドキュメントの別の部分でそれを再現することを可能にするメニュー項目を収容する。セグメント３３４Ｃは、ユーザ３０２があるドキュメントから同じドキュメントの異なる位置または異なるドキュメントに切り取りまたはコピーされた内容３３０のようなテキストまたは図形を挿入することを可能にする貼り付け動作を表すメニュー項目を収容する。セグメント３３４Ｄは、ユーザ３０２の最後のアクションを後戻りさせるための取り消し動作を表すメニュー項目を収容する。例えば削除を取り消すために、セグメント３３４Ｄのメニュー項目の取り消し動作が選択され、したがって削除されたテキストまたは内容３３０のような内容がドキュメントに回復される。アプリケーション３０８のような多くのアプリケーションプログラムは、ユーザ３０２がアクションを取り消し、やり直すことを可能にする。いかなる適切な動作またはユーザインターフェース制御でも、切り取り、コピー、貼り付け、および取り消し動作ではなくセグメント３３４Ａ〜３３４Ｄから呼び出すことができる。
【００３８】
本発明の一実施形態では、セグメント３３４Ａ〜３３４Ｄの動作はプログラマーによって静的に事前定義される。本発明の別の実施形態において、セグメント３３４Ａ〜３３４Ｄから呼び出された動作は、ユーザ３０２が最近使用した動作、ユーザ３０２が最も頻繁に使用した動作、アプリケーション３０８のコンテキストに最も関連した動作、または上記カテゴリの組み合わせに基づいて変更される。本発明のさらなる実施形態では、メニュー項目の動作は、ドロップ動作を含み、このドロップ動作はコンピューティング環境のどこかで選択されたコンピューティング資源をドロップすることができる。本発明のさらに別の実施形態では、セグメント３３４Ａ〜３３４Ｄに収容されているメニュー項目の動作は、ユーザ３０２の意図に基づくが、その動作は、ユーザ３０２がパーソナルコンピュータ３０４をさらに良く操作することができるように、ユーザ３０２に関して学習している、ユーザ３０２の意図を推論することのできる共感ヒューマンマシンインターフェース（以下、「共感インターフェース」と称す）により推論される。このような共感インターフェース（図示せず）の説明は、２００３年６月６日に提出された「Ｅｍｐａｔｈｅｔｉｃ  Ｈｕｍａｎ−Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅｓ」という名称の米国特許出願第１０／４５６，３６５号明細書に記載されている。
【００３９】
共感インターフェースを使用すると、ユーザ３０２の意図を推論することができる。ユーザ３０２によって選択される可能性のあるユーザインターフェース要素の動作は、セクタメニュー３３４のセグメント３３４Ａ〜３３４Ｄによって収容されているメニュー項目として置かれる。ユーザ３０２がアプリケーション３０８でポインタ３３６をナビゲートする際、セクタメニュー３３４のセグメントによって収容されるメニュー項目の動作は、ユーザ３０２がポインタ３３６をナビゲートする方向に基づいて変更することができる。図３Ｃは、２つの異なる時点で捉えられるセクタメニュー３３４の表示を示している（セクタメニュー３３４のセグメント３３４Ａ〜３３４Ｄによって収容されるメニュー項目の動作の変更をよりよく示すために同時に示してある）。図３Ｃに示された複数の要素は、図３Ｂに示された要素に類似しているので、簡約化のためこれらの説明は繰り返さない。
【００４０】
第１回目のスナップショット中、ユーザ３０２は、ターゲット３１６Ａへ向けて軌道３３１の第１の部分に沿ってポインタ３３６−１をナビゲートする。共感インターフェースは、ポインタ３３６−１が移動している方向が、ターゲット３１６Ａに含まれる一組の対象のユーザインターフェース要素（最小化ボタン３１８、最大化ボタン３２０、クローズボタン３２２、およびヘルプボタンを含む）すべてを含むことをプログラム上判定する。共感インターフェースは、ユーザ３０２（または、ユーザの集団）が各ボタン３１８〜３２６を選択することのできる確率を反映する対応するボタン３１８〜３２６のスコアを計算する。ボタン３１８〜３２６が十分に高いスコアを有している場合、その動作は、セグメント３３４Ａ−１〜３３４Ｄ−１によって収容されるメニュー項目の動作となる。したがって、実際にターゲット３１６Ａを訪れることを必要とせずに、ユーザ３０２は、セクタメニュー３３４−１のセグメント３３４Ａ―１〜３３４Ｄ−１のメニュー項目を選択することによって所望の動作を呼び出すことができる。
【００４１】
セグメント３３４Ａ−１は、起動の際に最小化ボタン３１８の動作を呼び出す最小化ボタン３１８に類似した画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｂ−１は、起動の際に最大化ボタン３２０の動作を呼び出す最大化ボタン３２０に類似した画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｃ−１は、起動の際にクローズボタン３２２の動作を呼び出すクローズボタン３２２に類似した画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｄ−１は、起動の際にヘルプボタン３２６の動作を呼び出すヘルプボタン３２６に類似した画面上シンボルと共にメニュー項目を収容する。したがって、セクタメニュー３３４−１は、ボタン３１８〜３２６の動作が、セクタメニュー３３４−１のセグメント３３４Ａ−１〜３３４Ｄ−１によって収容される選択可能なメニュー項目として示されるターゲット３１６Ａを訪れるためにユーザ３０２の意図を推論する。
【００４２】
ポインタ３３６−１のナビゲーションを最終的にターゲット３１６Ａで完了する代わりに、ユーザ３０２は、ポインタ３３６−１をターゲット３１６Ａから遠ざけ、ＥＤＩＴメニュー３１２である別のターゲット３１６Ｂの方にナビゲートする。ポインタ３３６−２は、ポインタ３３６−１があった位置からポインタ３３６−２が置かれている位置にユーザ３０２がナビゲートした２回目のスナップショットを表している。セクタメニュー３３４−２のメニュー項目の動作は、セクタメニュー３３４−１のメニュー項目の動作から既に変換されている。
【００４３】
ユーザ３０２がターゲット３１６Ａから離してターゲット３１６Ｂの方にポインタ３３６−２を移動するので、共感インターフェースは、ユーザ３０２がＥＤＩＴメニュー３１２とそのメニュー項目の１つを選択することを希望していると推論する。共感インターフェースは、ＥＤＩＴメニュー３１２の各メニュー項目のスコアを計算する。十分にスコアの高いＥＤＩＴメニュー３１２のメニュー項目の場合、それらのメニュー項目はセクタメニュー３３４−２のセグメント３３４Ａ−２〜３３４Ｄ−２によって収容される。（あるいは、ＥＤＩＴメニュー３１２のすべてのメニュー項目をセクタメニュー３３４−２によって収容することができるが、対応するメニュー項目を収容している各セグメントの表示はその計算されたスコアにより異なる。これらの表示は、サイズ、色、透明度などに関して異なる場合がある。）切り取り動作はセグメント３３４Ａ−２によって収容されるメニュー項目によって表され、コピー動作はセグメント３３４Ｂ−２によって収容されるメニュー項目によって表され、貼り付け動作はセグメント３３４Ｃ−２によって収容されるメニュー項目によって表され、取り消し動作はセグメント３３４Ｄ−２によって収容されるメニュー項目によって表される。これらの動作は、ユーザ３０２が実際にＥＤＩＴメニュー３１２を訪れることを必要とせずに容易に選択することができる。図３Ｄは、セクタメニューのメニュー項目を選択する方法を示している。
【００４４】
別のセクタメニュー３３４−３を図３Ｄに示す。セクタメニュー３３４−１は画面上シンボルとしてのみメニュー項目を表し、セクタメニュー３３４−２がテキスト記述としてのみメニュー項目を表しているのに対し、セクタ３３４−３は画面上シンボルとテキスト記述の組み合わせを含んでいるメニュー項目を表す。セグメント３３４Ａ−３は、切り取り動作を示すために鋏に似た画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｂ−３は、コピー動作を示す、一組のドキュメントコピーに似た画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｃ−３は、貼り付け動作を示す、クリップボードに似た画面上シンボルと共にメニュー項目を収容する。セグメント３３４Ｄ−３は、取り消し動作を示すテキスト「ＵＮＤＯ」と共にメニュー項目を収容する。
【００４５】
ポインタ３３６−３は、ユーザ３０２によって軌道３３２−１に沿ってナビゲートされるものと仮定する。セグメント３３４Ａ−３によって収容されるメニュー項目により表される切り取り動作を選択するために、ユーザ３０２は、軌道３３２−１の方向から意図的に突然離れ、新しい軌道３３２−２に迂回し、セグメント３３４Ａ―３上を通過する。セグメント３３４Ａ―３上でポインタ３３６−３をドラッグすることにより、切り取り動作が起動される。他のセグメント３３４Ｂ−３〜３３４Ｄ−３に含まれるメニュー項目も同様に選択される。
【００４６】
多くの他の適切な技術によって、メニュー項目によって表された動作を選択することが可能である。例えば、１つの適切な技術は、メニュー項目のテキスト記述の文字（例えば、「ＵＮＤＯ」）を示すためにキーボードキューを使用することを含む。この結果、ユーザがキー（例えば、「Ｕ」）を別のキー（例えば、ＣＴＲＬキー）と組み合わせて押した場合、このメニュー項目に関連付けられた動作（例えば、取り消し動作）が選択される。他の適切な技術は、セクタメニューの各セグメントを番号にプログラムによって関連付けることを含む。この結果、その番号が選択された場合（例えば、キー「１」がＣＴＲＬキーと共に押された場合）、セグメントによって収容されたメニュー項目に関連付けられた動作が選択される。さらなる適切な技術は、マウス上のボタンを対応するセグメントに関連付けることを含む。この結果、マウスのそのボタンを作動させた場合、メニュー項目によって収容されるメニュー項目に関連付けられた動作が選択される。
【００４７】
セクタメニュー３３４−３は、ユーザ３０２に有用でなくなった時点で消える。セクタメニュー３３４−３を適切な時点で消すいかなる適切な技術でも使用することができる。１つの適切な技術は、メニュー項目が表す動作の選択が完了した時点でセクタメニュー３３４−３を除去することを含む。別の適切な技術は、セクタメニュー３３４−３の表示後一定期間が経過した後でセクタメニュー３３４−３を除去することを含む。さらなる適切な技術は、メニュー項目が表す動作の選択を目的としないマウス３０６を作動させることによる突然の動きを含む。多くの他の適切な技術が可能である。
【００４８】
図３Ｅは、セクタメニューを表示するためのシステム３３８を示している。システム３３８は、セクタメニュー３３４−３のようなセクタメニューを提示するための一群のコンポーネントである。システム３３８は、ウィンドウ環境３４０を含む。ウィンドウ環境３４０は、情報を含んでおり、ウィンドウおよびウィンドウ内のユーザインターフェース要素に関する情報を提供する。これらのユーザインターフェース要素とウィンドウが配置される位置もウィンドウ環境３４０によって提供される。これらの情報を得ることのできるウィンドウ環境の一実施態様はツリーである。このツリーは、階層方式で互いにリンクされている１つまたは複数のノードを含んでいるデータ構造である。１つのノードはルートであり、グラフィカルユーザインターフェースのメインウィンドウを表しており、ルート以外の各ノードは、１つの、通常は唯一の、同様にウィンドウである他のノードの子であり、各ノードは、それぞれが同様にウィンドウでもある０または１つ以上のノードを子として有する。このツリーをトラバースすることによって、殊にメニュー、ボタン、ツールバー、およびリストボックスのようなすべてのユーザインターフェース要素、およびコンピュータ画面上にそれらが配置されている位置を得ることができる。ツリーの一部はキャッシュ３５０に置かれる。
【００４９】
マウス３０６の動きはマウス情報ギャザラー（ｇａｔｈｅｒｅｒ）３４２により検出される。マウス情報ギャザラー３４２は、上記の参照文献で説明されており、簡約化のためこれ以上は説明しない。マウス情報ギャザラー３４２は、殊に位置、速度、および加速度のような特定の情報をキャッシュ３５０に提供する。
【００５０】
キャッシュ３５０は、メニュー、ボタン、ツールバー、およびリストボックスのようなユーザインターフェース要素だけでなく、ポインタ３３６−３のナビゲーション情報もプログラムで含んでいる。様々な情報をキャッシュ３５０から推論することができるが、その様な情報には、ユーザ３０２が軌道３３２−１のような特定の軌道を進むと、ユーザ３０２が遭遇する可能性のあるユーザインターフェース要素などがある。
【００５１】
システム３３８は、中央階層データベース３４６も含む。中央階層データベースは、オペレーティングシステム、アプリケーション、およびハードウェアデバイスをパーソナルコンピュータ３０４用に構成するために必須の情報を記憶するために使用される。中央階層データベースは、オペレーティングシステムが、通常、セクタメニュー３３４−３の動作中に参照する情報を含んでいる。中央階層データベースの一実施例は、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのレジストリである。セクタメニュー３３４−３に関する中央階層データベース３４６に記憶されている情報は、ユーザ３０２が特定のユーザインターフェース要素を使用した回数を含む。この回数はカウント形式で記憶されている。さらに、中央階層データベース３４６は、ユーザ３０２が特定のユーザインターフェース要素を使用した最後の時点に関連付けられたタイムスタンプを記憶している。記憶されている他の情報は、セクタメニュー３３４−３がユーザ３０２に提示された方法、セクタメニュー３３４−３で表示されるべき特定のメニュー項目、セクタメニュー３３４−３のセグメントのメニュー項目が静的か動的か、セクタメニュー３３４−３のセグメントに示されるメニュー項目がアプリケーション依存か否か（例えば、ワードプロセッシングアプリケーションはセクタメニュー３３４−３のメニュー項目が表す動作を有することができるが、これはスプレッドシートアプリケーションの動作とは異なる）、セクタメニュー３３４−３がユーザ３０２に提示される状況、提示されるときのセクタメニュー３３４−３のサイズ、セクタメニュー３３４−３の形状、および特定ユーザインターフェース要素がセクタメニュー３３４−３の提示と共に常に表示されるべきか否かを含む。
【００５２】
設定コンポーネント３４４は、これらの情報を中央階層データベース３４６から取り出し、共感インターフェース３４８による分析のためにキャッシュ３５０に置く。共感インターフェース３４８は、上記の参照文献で説明されており、簡約化のためここではその説明を繰り返さない。キャッシュ３５０で情報を使用することによって、共感インターフェース３４８は、ユーザ３０２がポインタ３３６−３をナビゲートする方向にあるターゲットエリアを予測する。予測されたターゲットエリア内で捉えられたユーザインターフェース要素は、分析されて、共感インターフェース３４８によりスコアが与えられる。十分にスコアの高いこれらのユーザインターフェース要素は、セクタメニュー３３４−３のセグメントにメニュー項目として表示される。
【００５３】
各メニュー項目の提示は、その対応するスコアによって他とは異なる。ユーザ３０２によって選択される可能性がより高いユーザインターフェース要素は、他のメニュー項目よりも目に付きやすい方法でシステム３３８により提示される。例えば、スコアの高いメニュー項目を含んでいるセグメントの面積は、他のセグメントよりも広い。または、スコアの高いメニュー項目をセグメントに提示するために使用される色を他のセグメントよりも明るくしたり、太字にしたりすることができる。アルファブレンディングを使用することにより、スコアの高いメニュー項目は、他のものに比べより透明度の低い状態で表示することができる。多くの他の適切な提示技術も使用可能である。
【００５４】
グラフィックエンジン３５２は、メニュー項目を収容するセグメントと共にセクタメニュー３３４−３をレンダリングするよう共感エンジン３４８によって命令される。グラフィックエンジン３５２は、パーソナルコンピュータ３０４上のセクタメニュー３３４−３をレンダリングするようパーソナルコンピュータのグラフィックハードウェアへの直接アクセス権を有する。一度セクタメニュー３３４−３が表示されると、ユーザ３０２は、マウス３０６を使用して、ポインタ３３６−３を移動し、セグメント３３４Ａ―３の切り取り動作のようなメニュー項目を選択することができる。このようなユーザのアクションは、ユーザアクションコンポーネント３５４により記録され、キャッシュ３５０に記憶される。定期的に（好ましくは、１０分から３０分毎に）、設定コンポーネント３４４は、キャッシュ３５０の一部をコピーして、それを中央階層データベース３４６に記憶し、将来の分析で共感インターフェース３４８を支援する。
【００５５】
図４Ａ〜４Ｇは、ユーザインターフェースでユーザがポインタをナビゲートする際にセクタメニューを提示するための方法４００を示している。明瞭化のために、方法４００の以下の説明は、システム３００（図３Ａ〜３Ｄ）およびシステム３３８（図３Ｅ）に関して示される様々な要素を参照する。開始ブロックから、方法４００は、連結端子（「端子Ａ」）と終了端子（「端子Ｂ」）の間に規定される一組の方法ステップ４０４に進む。一組の方法ステップ４０４は、ポインタ３３６−３のようなポインタとそのウィンドウ環境に関する情報を収集するプロセスを示している。
【００５６】
端子Ａ（図４Ｂ）から方法４００はブロック４１０に進み、そこでユーザ３０２が、ターゲット３１６Ａのようなユーザインターフェースターゲットの方にポインタ３３６−３をナビゲートする。マウス情報ギャザラー３４２は、ユーザ３０２がポインタ３３６−３をナビゲートする際にマウス３０６からマウス情報を得る。ブロック４１２を参照されたい。次に、方法４００はマウス情報（例えば、位置、速度、加速度など）をキャッシュ３５０に置く。ブロック４１４を参照されたい。ブロック４１６で、方法４００は、ウィンドウ環境３４０から対象のユーザインターフェース要素に関する情報を得る。上述のように、ウィンドウ環境の一実施態様はツリーデータ構造を含む。この場合、ツリーデータ構造をトラバースすることができ、対象のユーザインターフェース要素をそこから得ることができる。方法４００は、ユーザインターフェース要素情報（例えば、ボタン、制御など）をツリーデータ構造から得た後で、その情報をキャッシュ３５０に置く。ブロック４１８を参照されたい。設定コンポーネント３４４は、ユーザインターフェース要素の使用カウント（人気）およびタイムスタンプ（年齢）を共感インターフェース３４８が後で分析するためにキャッシュに置く。ブロック４２０を参照されたい。ここから、方法４００は別の連結端子（「端子Ａ１」）に進む。
【００５７】
端子Ａ１（図４Ｃ）から、設定コンポーネント３４４は、静的または動的となるべきメニュー項目に関する情報をキャッシュ３５０に置く。ブロック４２２を参照されたい。静的メニュー項目は、ポインタ３３６−３の動きの変化によっては変化せず、動的メニュー項目はポインタ３３６−３が移動している方向に応じて変化する。ブロック４２４で、設定コンポーネント３４４はセクタメニュー３３４−３に不可欠な１つまたは複数のメニュー項目をキャッシュに置く。次いで設定コンポーネント３４４は、ある特定のソフトウェアアプリケーションに対する固有のメニュー項目に関する情報をキャッシュ３５０に置く。ブロック４２６を参照されたい。例えば、ワードプロセッシングアプリケーションはファイルメニュー項目がセクタメニュー３３４−３に存在することを常に必要としていると仮定する。ブロック４２６の処理ステップは、セクタメニュー３３４−３がユーザ３０２に提示されるときはいつでもファイルメニュー項目が存在するという要件を課す。
【００５８】
次いで方法４００はブロック４２８に進み、そこで設定コンポーネント３４４はセクタメニュー３３４−３がユーザ３０２にいつ提示されるかに関する情報をキャッシュ３５０に置く。設定コンポーネント３４４は、ブロック４３０で、セクタメニュー３３４−３の形状に関する情報をキャッシュ３５０に置く。セクタメニューの幾何学的形状を円形として示したが、長方形、三角形、または楕円形のような他の適切な幾何学的形状を使用することもできる。次いで設定コンポーネント３４４は、セクタメニュー３３４−３のサイズに関する情報をキャッシュ３５０に置く。ブロック４３２を参照されたい。次いで方法４００は、別の連結端子（「端子Ａ２」）に進む。
【００５９】
端子Ａ２（図４Ｄ）から、方法４００はブロック４３４に進み、そこで設定コンポーネント３４４はアルファブレンディング情報をキャッシュ３５０に置く。アルファブレンディングは、２つのグラフィックイメージをマージする（ｍｅｒｇｅ）ことを可能にする技術であり、各グラフィックは足し合わせると１００パーセントになる割合を含んでいる。アルファブレンディング技術は、セクタメニュー３３４−３のセグメントのような融合したグラフィックの不透明性または透明性を作り出す。次いで方法４００はブロック４３６に進み、そこで設定コンポーネント３４４はセクタメニュー３３４−３のセグメントのテキスト形式の情報をキャッシュ３５０に置く。テキスト情報は、他のテキスト形式の中でも特にイタリック体やボールド体にしたり、下線を付けたりすることができる。ブロック４３８で、設定コンポーネント３４４はセクタメニュー３３４−３のセグメントの色形式情報をキャッシュ３５０に置く。設定コンポーネント３４４はアイコンがメニュー項目用に使用されるべきか否かをキャッシュ３５０に置く。ブロック４４０を参照されたい。次いで方法４００は終了端子Ｂに入る。
【００６０】
端子Ｂ（図４Ａ）から、方法４００は、連結端子（「端子Ｃ」）と終了端子（「端子Ｄ」）の間に規定される一組の方法ステップ４０６に進む。一組の方法ステップ４０６は、セクタメニュー３３４−３の提示のために、ポインタ３３６−３をナビゲートする際、ユーザ３０２の意図を推論することを説明する。端子Ｃ（図４Ｅ）から、方法４００は決定ブロック４４２に進み、そこでセクタメニュー３３４−３が動的か否かをチェックするためにテストが行われる。決定ブロック４４２でのテストに対する答えがＮＯの場合、方法４００は終了端子Ｄに進む。そうでなく、決定ブロック４４２でのテストに対する答えがＹＥＳの場合、共感インターフェース３４８は、ユーザ３０２がポインタ３３６−３をナビゲートしている方向にあるターゲットエリアを予測する。ブロック４４４を参照されたい。ブロック４４６で、共感インターフェース３４８は、予測されたターゲットエリア内の対象のユーザインターフェース要素を決定する。次いで共感インターフェース３４８は対象のユーザインターフェース要素それぞれのスコアを計算する。ブロック４４８を参照されたい。次いで共感インターフェース３４８は、スコアを対象のユーザインターフェース要素に関連付けられたキャッシュ３５０に置く。ブロック４５０を参照されたい。ここから、方法４００は終了端子Ｄに進む。
【００６１】
端子Ｄ（図４Ａ）から、方法４００は、連結端子（「端子Ｅ」）と終了端子「（「端子Ｆ」）の間に規定される一組の方法ステップ４０８に進む。一組の方法ステップ４０８は、ポインタ３３６−３に合わせて移動するセクタメニュー３３４−３を表示するプロセスを説明する。端子Ｅ（「図４Ｆ」）から、方法４００は決定ブロック４５２に進み、そこでセクタメニュー３３４−３を表示するか否かをチェックするためにテストが行われる。そのテストに対する答えがＹＥＳの場合、方法４００は、ユーザインターフェース要素に対応する確率スコアとキャッシュ３５０で示すようなフォーマット規格とに従い、各メニュー項目をフォーマットする。ブロック４５４を参照されたい。次いで方法４００は、グラフィックエンジン３５２にセクタメニュー３３４−３をレンダリングさせ、セクタメニュー３３４−３をポインタ３３６−３と共に移動させる。ブロック４５６を参照されたい。次いで方法４００は、別の連結端子（「端子Ｅ１」）に入る。
【００６２】
決定ブロック４５２でのテストに対する答えがＮＯの場合、設定コンポーネント３４４はキャッシュ３５０の新しい情報を得て、それを中央階層データベース３４６に書き込む。ブロック４５８を参照されたい。好適には、設定コンポーネント３４４は、１０〜３０分毎にキャッシュ３５０をチェックし、新しい情報を中央階層データベース３４６に書き込む。ユーザが特定のユーザインターフェース要素を選択した回数のような情報は、共感インターフェース３４８の将来の分析にとって有用である。次いで方法４００は、決定ブロック４４２にループバックするために別の連結端子（「端子Ｃ１」）に入り、決定ブロック４４２で上記処理ステップが反復される。
【００６３】
端子Ｅ１（図４Ｇ）から、方法４００は決定ブロック４６０に進み、そこでポインタ３３６−３が軌道の方向を既に変更したか否かを判定するようにテストが行われる。答えがＮＯである場合、方法４００は決定ブロック４４２にループバックするために端子Ｃ１へ進み、決定ブロック４４２で上記の処理ステップが反復される。そうでなければ、決定ブロック４６０でのテストに対する答えがＹＥＳであり、方法４００は、別の決定ブロック４６２に進み、そこでポインタ３３６−３がメニュー項目の上を通過したか否かを判定するために別のテストが行われる。決定ブロック４６２でのテストに対する答えがＮＯである場合、方法４００は端子Ｃ１に進み、決定ブロック４４２からの上記の処理ステップを反復する。
【００６４】
決定ブロック４６２でのテストに対する答えがＹＥＳの場合、方法４００は、ポインタ３３６−３が通過したメニュー項目に対応するユーザインターフェース要素を起動する。ブロック４６４を参照されたい。例えば、ポインタ３３６−３が切り取り動作に関するメニュー項目を含んでいるセグメント３３４Ａ−３の上を通過する場合、その切り取り動作が呼び出される。次いで共感エンジン３４８は、将来の分析のためにユーザのアクションをキャッシュ３５０に書き込む。そのキャッシュ３５０を最終的に中央階層データベース３４６に記憶することができる。ブロック４６６を参照されたい。ここから、方法４００は、上記の処理ステップが反復される決定ブロック４４２にループバックするために端子Ｃ１に入る。
【００６５】
以上、本発明の好ましい実施形態を図示し、説明したが、本発明の趣旨および範囲を逸脱せずにこの実施形態に様々な変更を行うことができることを理解されたい。
【符号の説明】
【００６６】
３１０  タイトルバー
３３０  内容
３３４  セクタメニュー
３３６  ポインタ
３４０  ウィンドウ環境
３４２  マウス情報ギャザラー
３４４  設定コンポーネント
３４６  中央階層データベース
３４８  共感インターフェース
３５０  キャッシュ
３５２  グラフィックエンジン
３５４  ユーザのアクション
【図１Ａ】
2010198643.tif 000003
【図１Ｂ】
2010198643.tif 000004
【図２】
2010198643.tif 000005
【図３Ａ】
2010198643.tif 000006
【図３Ｂ】
2010198643.tif 000007
【図３Ｃ】
2010198643.tif 000008
【図３Ｄ】
2010198643.tif 000009
【図３Ｅ】
2010198643.tif 000010
【図４Ａ】
2010198643.tif 000011
【図４Ｂ】
2010198643.tif 000012
【図４Ｃ】
2010198643.tif 000013
【図４Ｄ】
2010198643.tif 000014
【図４Ｅ】
2010198643.tif 000015
【図４Ｆ】
2010198643.tif 000016
【図４Ｇ】
2010198643.tif 000017