(57)【要約】  複数の電子ペンからの情報を管理するシステムにおいて、各電子ペンは、制御ソフトウェアとテンプレートのセットとを保存するように設計されたメモリを含む。各テンプレートは、制御ソフトウェアによって実現される機能にペン位置を関連付ける。電子ペンの動作を制御する方法および構成において、別々のテンプレートバージョンのセットが、制御ソフトウェアの複数の異なるバージョンの各々に対して生成される。ペンには、対応するセットが提供される。ペンは、制御ソフトウェアの所与のバージョンを保存するものであり、すべてのテンプレートバージョンが、ソフトウェアの所与のバージョンによって完全に実現される機能を適切に示す。
2008519326.tif 000002
【特許請求の範囲】
【請求項１】
電子ペンと通信するコンピュータシステムにおける方法であって、
前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記ペンから取得することと、
前記バージョン識別子に基づいて、ペン位置を少なくとも１つのルール識別子に関連付けるロジックバージョンを取得することであって、それによって、前記少なくとも１つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示すことと、
前記ロジックバージョンを前記ペンに提供することと、
を含むことを特徴とする方法。
【請求項２】
前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示すことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータシステムに関連付けられたデータベースからアップグレード参照を取得することを含み、
少なくとも、前記ロジックバージョンの提供が、前記アップグレード参照の所与の特性の検出によって条件付けされることをさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記ペンからアップグレード識別子を取得することを含み、
前記所与の特性が、前記アップグレード識別子と前記アップグレード参照との間の関係であることを特徴とする請求項３に記載の方法。
【請求項５】
前記コンピュータシステムに関連付けられたデータベース内に、前記ロジックバージョンの提供を識別するアップグレード参照を保存することをさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項６】
アップグレード識別子として前記ペン内に保存するために、前記アップグレード参照を前記ペンに提供することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記セットは、複数の異なる処理ルールのセットのうちの１つであり、別々のロジックバージョンが、各セットについて作成され、
そのような別々のロジックバージョンの各々は、
すべてのロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、
前記バージョン識別子に基づいて、構築命令を取得することと、
前記バージョン識別子によって示される前記セットに含まれない処理ルールを示して、サポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記別々のロジックバージョンを作成することと、
によって作成されることを特徴とする請求項１〜６のいずれか一項に記載の方法。
【請求項８】
少なくとも１つのサポートされないルール識別子が、省略によって除去されることを特徴とする請求項７に記載の方法。
【請求項９】
少なくとも１つのサポートされないルール識別子が、前記バージョン識別子によって示される前記セットに含まれる処理ルールを示すサポートされるルール識別子で置き換えられることによって除去されることを特徴とする請求項７または８に記載の方法。
【請求項１０】
前記サポートされるルール識別子が、否定フィードバックを与えるように前記ペンを制御するための処理ルールを示すことを特徴とする請求項９に記載の方法。
【請求項１１】
前記サポートされるルール識別子が、肯定フィードバックを与えるように前記ペンを制御するための処理ルールを示すことを特徴とする請求項９または１０に記載の方法。
【請求項１２】
別々のロジックバージョンの各々を、前記バージョン識別子と関連付けてデータベース内に保存することをさらに含むことを特徴とする請求項８〜１２のいずれか一項に記載の方法。
【請求項１３】
電子ペンと通信するための装置であって、
前記ペンと通信するためのインタフェースと、
前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記インタフェースを介して前記ペンから取得する第１の処理要素と、
前記バージョン識別子に基づいて、ペン位置を少なくとも１つのルール識別子に関連付けるロジックバージョンを取得する第２の処理要素であって、それによって、前記少なくとも１つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示す第２の処理要素と、
前記ロジックバージョンを前記インタフェースを介して前記ペンに提供する第３の処理要素と、
を備えることを特徴とする装置。
【請求項１４】
前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示すことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記第１の処理要素が、前記コンピュータシステムに関連付けられたデータベースからアップグレード参照を取得するように設計されており、
少なくとも、前記ロジックバージョンを提供する前記第３の処理要素の動作が、前記アップグレード参照の所与の特性を検出する前記第１の処理要素によって条件付けされることを特徴とする請求項１３または１４に記載の装置。
【請求項１６】
前記第１の処理要素が、前記ペンから前記インタフェースを介してアップグレード識別子を取得するように設計されており、
前記所与の特性が、前記アップグレード識別子と前記アップグレード参照との間の関係であることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記第３の処理要素が、前記コンピュータシステムに関連付けられたデータベース内に、前記ロジックバージョンを提供する動作を識別するアップグレード参照を保存するように設計されることを特徴とする請求項１３または１４に記載の装置。
【請求項１８】
前記第３の処理要素が、アップグレード識別子として前記ペン内に保存するために、前記アップグレード参照を前記インタフェースを介して前記ペンに提供するように設計されることを特徴とする請求項１７に記載の装置。
【請求項１９】
複数の異なる処理ルールのセットの１つを保存する電子ペンのために特定のロジックバージョンを作成するための方法であって、
別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも１つのルール識別子を含むように、各セットについて作成され、
前記方法は、
すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、
所与の処理ルールのセットを示すバージョン識別子を取得することと、
前記バージョン識別子に基づいて、構築命令を取得することと、
前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも１つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成することと、
を含むことを特徴とする方法。
【請求項２０】
前記バージョン識別子が、前記電子ペンから取得されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記特定のロジックバージョンが、前記バージョン識別子と関連付けてデータベース内に保存されることを特徴とする請求項１９または２０に記載の方法。
【請求項２２】
前記特定のロジックバージョンが、電子ネットワークを介して伝播信号として前記ペンに提供されることを特徴とする請求項１９〜２１のいずれか一項に記載の方法。
【請求項２３】
前記特定のロジックバージョンが、手動で配布可能であるコンピュータ読取り可能な記憶媒体上に保存されることを特徴とする請求項１９〜２１のいずれか一項に記載の方法。
【請求項２４】
複数の異なる処理ルールのセットの１つを保存する電子ペンのために特定のロジックバージョンを作成するための装置であって、
別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも１つのルール識別子を含むように、各セットについて作成され、
前記装置は、
すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得する第１の処理要素と、
所与の処理ルールのセットを示すバージョン識別子を取得する第２の処理要素と、
前記バージョン識別子に基づいて、構築命令を取得する第３の処理要素と、
前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも１つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成する第４の処理要素と、
を備えることを特徴とする装置。
【請求項２５】
前記第２の処理要素が、前記電子ペンから前記バージョン識別子を取得することを特徴とする請求項２４に記載の装置。
【請求項２６】
前記特定のロジックバージョンを、前記バージョン識別子と関連付けてデータベース内に保存する第５の処理要素をさらに備えることを特徴とする請求項２４または２５に記載の装置。
【請求項２７】
前記特定のロジックバージョンを、電子ネットワークを介して伝播信号として前記ペンに提供する第６の処理要素をさらに備えることを特徴とする請求項２４〜２６のいずれか一項に記載の装置。
【請求項２８】
前記特定のロジックバージョンを、手動で配布可能であるコンピュータ読取り可能な記憶媒体上に保存する第６の処理要素をさらに備えることを特徴とする請求項２４〜２６のいずれか一項に記載の装置。
【請求項２９】
情報管理システムにおいて複数の電子ペンの動作を制御する方法であって、
各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、
前記方法は、
前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成することと、
ペンに、対応するセットを提供することと、を含み、
前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示すことを特徴とする方法。
【請求項３０】
前記すべてのロジックバージョンが、処理ルールを示す少なくとも１つのルール識別子を含み、そのような処理ルールの各々は、前記制御ソフトウェアの前記所与のバージョンによって実行されることを特徴とする請求項２９に記載の方法。
【請求項３１】
各ロジックバージョンが、ペン位置を前記少なくとも１つのルール識別子に関連付けることを特徴とする請求項３０に記載の方法。
【請求項３２】
前記電子ペンが、位置符号化パターンのデジタル表現を生成するセンサ装置と、前記デジタル表現から前記ペン位置を取得する信号処理装置とを含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
前記ペン位置が、全体的な座標系における絶対位置であることを特徴とする請求項３１または３２に記載の方法。
【請求項３４】
前記メモリが、各ロジックバージョンを前記座標系のサブセットと関連付けて保存するように設計されることを特徴とする請求項３３に記載の方法。
【請求項３５】
前記ロジックバージョンが、前記サブセット内におけるページユニットのセットと、前記ページユニットの各々の中における少なくとも１つの機能エリアの場所とを定義し、そのような機能エリアの各々は、前記ルール識別子の１つと関連付けられることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記ロジックバージョンが、前記サブセット内におけるページユニットのセットを定義し、前記ルール識別子の１つを前記サブセットと関連付けることを特徴とする請求項３３または３４に記載の方法。
【請求項３７】
情報管理システムにおいて複数の電子ペンの動作を制御するための装置であって、
各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、
前記装置は、
前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成する手段と、
ペンに、対応するセットを提供する手段と、を備え、
前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示すことを特徴とする装置。
【請求項３８】
前記すべてのロジックバージョンが、処理ルールを示す少なくとも１つのルール識別子を含み、そのような処理ルールの各々は、前記制御ソフトウェアの前記所与のバージョンによって実行されることを特徴とする請求項３７に記載の装置。
【請求項３９】
各ロジックバージョンが、ペン位置を前記少なくとも１つのルール識別子に関連付けることを特徴とする請求項３８に記載の装置。
【請求項４０】
前記電子ペンが、位置符号化パターンのデジタル表現を生成するセンサ装置と、前記デジタル表現から前記ペン位置を取得する信号処理装置とを含むことを特徴とする請求項３９に記載の装置。
【請求項４１】
前記ペン位置が、全体的な座標系における絶対位置であることを特徴とする請求項３９または４０に記載の装置。
【請求項４２】
前記メモリが、各ロジックバージョンを前記全体的な座標系のサブセットと関連付けて保存するように設計されることを特徴とする請求項４１に記載の装置。
【請求項４３】
前記ロジックバージョンが、前記サブセット内におけるページユニットのセットと、前記ページユニットの各々の中における少なくとも１つの機能エリアの場所とを定義し、そのような機能エリアの各々は、前記ルール識別子の１つと関連付けられることを特徴とする請求項４２に記載の装置。
【請求項４４】
前記ロジックバージョンが、前記サブセット内におけるページユニットのセットを定義し、前記ルール識別子の１つを前記サブセットと関連付けることを特徴とする請求項４２または４３に記載の装置。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２００４年１１月５日に出願された米国仮特許出願第６０／６２５，１６７号、および２００４年１１月５日に出願されたスウェーデン国特許出願第０４０２７１０−８号の恩典を主張し、両出願は、参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本発明は一般に、サブストレート（substrate）上の手書き入力を反映した電子情報を生成することが可能な電子ペンに関する。
【背景技術】
【０００３】
電子ペンは、紙、プラスチック、ボール紙などの受動的なサブストレートに筆記するためにペンが使用されているときに、ペンの動きをトレースする測位システムを組み込んでもよい。測位システムは、例えば、サブストレートに接触するローラボール、１つまたは複数の外部送信器からの信号の三角測量（triangulation）、加速度センサ、サブストレートに接触するペン先に関連する歪みセンサ、サブストレート上のパターンの画像、またはそれらの組み合わせから、動きを推測してもよい。
【０００４】
そのような電子ペンは、ペンストロークを位置の並びとして電子的に記録することができる。
【０００５】
サブストレートは、専用情報の入力または選択用の１つまたは複数の入力フィールドを提供されてもよく、または、機能の始動用の１つまたは複数の入力フィールドを提供されてもよい。例えば、１つまたは複数の位置が入力フィールド内において実際に記録されたことをユーザに知らせるために、ペンが、フィールドに関係する（触覚的、聴覚的、または視覚的）ユーザフィードバックを与えることが望ましいことがある。同様に、ペンが、外部装置から独立に動作可能であることが望ましいこともある。
【０００６】
この目的のため、電子ペンは、１つまたは複数のロジック定義テンプレートを使用することができる。このロジック定義テンプレートは、ペンの製造中にペンのメモリに保存される。そのような各テンプレートは、１つまたは複数のサブストレートまたはサブストレートのクラスに関連付けられ、少なくともこれらのサブストレート上の入力フィールドの部分の場所（location）を示す。テンプレートは、そのような各入力フィールドに関する処理ルールも示す。処理ルールは、ユーザフィードバックを与えること、ある種のペンストロークを処理すること、ペンに外部装置にデータを提供させることなどの、ペンの任意の機能に関係してもよい。テンプレートのそのような使用は、出願人の先の米国特許出願公開第２００３／００６１１８８号にさらに開示されており、同公開は、参照により本明細書に組み込まれる。
【０００７】
ロジック定義テンプレートの使用は、いくつかの固有の問題を有する。新しいサブストレートが、既存のペン内のテンプレートによってサポートされるべきであるとするならば、そのような新しいサブストレートの開発は、深刻な妨げを受けるであろう。したがって、最初に開発されるテンプレートは、後々開発されるサブストレートを通して提供され得る機能を定義するであろう。
【０００８】
さらに、ペンの新しい世代は、新しい処理ルール、すなわち強化機能を含むソフトウェアを提供されてもよい。そのようなペンの新しい世代は、新しい処理ルールに関連付けられた入力フィールドを有する新しいテンプレートを保存するのが当然である。互換性の理由で、これらの「新しい」ペンは、「旧い」ペン用に開発されたサブストレート上でも動作することが望ましく、反対に、「旧い」ペンは、「新しい」ペン用に開発されたサブストレート上でも動作することが望ましい。これは、ある程度は、新しい入力フィールドを最初に開発されたテンプレートに追加して新しいテンプレートを作成することによって、達成されることができる。
【０００９】
最初に開発されたテンプレートへの依存を緩和するため、製造後に新規または更新テンプレートをメモリに追加することが可能なペンを作成することが考えられる。それによって、旧いペンは、新規または更新テンプレートに関連付けられた新しいサブストレートまたはサブストレートのクラス上で動作するようにすることができる。しかし、旧いペンのソフトウェアは、そのような新規追加テンプレートによって示されるすべての機能をサポートするわけではない。これは、旧いペンの潜在的に制御不能な挙動をもたらす結果となり、新規または更新テンプレートがリリースされるたびに、広範囲にわたる試験を必要とすることになる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、従来技術の上記の問題を克服することである。
【課題を解決するための手段】
【００１１】
一般に、本発明の目的は、独立請求項による方法、装置、および構成と、従属請求項によって定義される実施形態とによって、少なくとも部分的に達成される。
【００１２】
一の態様によれば、本発明は、電子ペンと通信するコンピュータシステムにおける方法であって、前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記ペンから取得することと、前記バージョン識別子に基づいて、ペン位置を少なくとも１つのルール識別子に関連付けるロジックバージョン（logic version）を取得することであって、それによって、前記少なくとも１つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示すことと、前記ロジックバージョンを前記ペンに提供することと、を含む方法に関する。
【００１３】
第２の態様によれば、本発明は、電子ペンと通信するための装置であって、前記ペンと通信するためのインタフェースと、前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記インタフェースを介して前記ペンから取得する第１の処理要素と、前記バージョン識別子に基づいて、ペン位置を少なくとも１つのルール識別子に関連付けるロジックバージョンを取得する第２の処理要素であって、それによって、前記少なくとも１つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示す第２の処理要素と、前記ロジックバージョンを前記インタフェースを介して前記ペンに提供する第３の処理要素と、を備える装置に関する。
【００１４】
ペンによって保存された処理ルールのセットに基づいて、ロジックバージョンをペンに選択的に提供することによって、ペンを試験する必要を減少させることができる。言い換えると、ロジックバージョンは、各ペンによって提供される機能に多かれ少なかれ適合させることができる。
【００１５】
第１および第２の態様は、コンピュータプログラムによって実装されることができ、コンピュータプログラムは、ペンに接続されたローカルコンピュータ上で、またはペンが接続したネットワークサーバ上で動作する。両方のケースで、ロジックバージョンは、伝播信号としてペンに提供される。
【００１６】
一の実施形態では、前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示してもよい。したがって、ロジックバージョンは、各ペンの機能に完全に適合させられ、新規または更新ロジックが導入されるたびに、旧いペンの動作を試験する必要はない。
【００１７】
第３の態様によれば、本発明は、複数の異なる処理ルールのセットの１つを保存する電子ペンのために特定のロジックバージョンを作成するための方法であって、別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも１つのルール識別子を含むように、各セットについて作成され、前記方法は、すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、所与の処理ルールのセットを示すバージョン識別子を取得することと、前記バージョン識別子に基づいて、構築命令を取得することと、前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも１つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成することと、を含む方法に関する。
【００１８】
第４の態様によれば、本発明は、複数の異なる処理ルールのセットの１つを保存する電子ペンのために特定のロジックバージョンを作成するための装置であって、別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも１つのルール識別子を含むように、各セットについて作成され、前記装置は、すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得する第１の処理要素と、所与の処理ルールのセットを示すバージョン識別子を取得する第２の処理要素と、前記バージョン識別子に基づいて、構築命令を取得する第３の処理要素と、前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも１つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成する第４の処理要素と、を備えることを特徴とする装置に関する。
【００１９】
第３および第４の態様は、異なるペン、すなわち、処理ルールの異なるセットを保存するペンのための別々のロジックバージョンの効率的な世代（efficient generation）を可能にする。これらの態様は、要求に応じて１つまたは複数のロジックバージョンを作成するため、上述のローカルコンピュータまたはネットワークサーバによって実装されてもよい。代替として、これらの態様は、独立のコンピュータによって実装されてもよい。このコンピュータは、１つまたは複数の結果として生じたロジックバージョンを、好ましくはそれぞれのバージョン識別子に適切に関連付けて、上述のローカルコンピュータもしくはネットワークサーバにアクセス可能なデータベース内に最終的に保存する。あるいは、上述のローカルコンピュータもしくはネットワークサーバによって使用され得るＣＤ−ＲＯＭ、フロッピーディスク（登録商標）、ＵＳＢメモリなどの手動で配布可能であるコンピュータ読取り可能な媒体上に最終的に保存する。
【００２０】
第５の態様によれば、本発明は、情報管理システムにおいて複数の電子ペンの動作を制御する方法であって、各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、前記方法は、前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成することと、ペンに、対応するセットを提供することと、を含み、前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示す方法に関する。
【００２１】
第６の態様によれば、本発明は、情報管理システムにおいて複数の電子ペンの動作を制御するための構成であって、各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、前記構成は、前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成する手段と、ペンに、対応するセットを提供する手段と、を備え、前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示す構成に関する。
【００２２】
本発明のまた他の目的、特徴、態様、および利点は、以下の詳細な開示、添付の従属請求項、および図面から明らかになるであろう。
【００２３】
ここで、現時点で好ましい実施形態を例示の目的で示す添付の概要図を参照しながら、本発明がより詳細に説明される。
【発明を実施するための最良の形態】
【００２４】
（概要）
図１は、内部ロジックを有する電子ペン１００のいくつかの基本原理を示している。ペン１００は、サブストレート１０２上で筆記するために使用されているとき、サブストレート１０２上におけるその位置を記録することができる。したがって、手書き（handwriting）は、ペン１００によってデジタル化されて、サブストレート１０２上における絶対位置（absolute locations）の並びになる。ペン１００は、サブストレート１０２を識別することもできる。サブストレート１０２は、入力フィールド１０４を示す支援グラフィックスを有し、適切な情報を入力するようユーザに適切に促し／指示を行う。各サブストレート１０２は、ペンのメモリ１０８内に保存された電子テンプレート１０６に関連付けられる。テンプレート１０６は、サブストレート１０２上における位置を機能エリア（functional area）１１０に関連付け、これらの機能エリア１１０をペン制御システムによって実行される機能に関連付ける。機能エリア１１０は、必ずしも必要ではないが、グラフィックスで示された入力フィールド１０４に対応することができる。ペン制御システムは、ペン内に保存され、そこで実行されるソフトウェアによって実装される。
【００２５】
ペン１００は、記録された位置を関連するテンプレートに対して連続的にマッピングする。位置が機能エリア１１０内に含まれると見なされる場合、ペン制御システムは、関連付けられた機能を実行する。
【００２６】
ペン１００は、記録されたデータの全部または一部を１つまたは複数の外部装置１１２、１１２’に送信または提示する。最終的に、そのように送信／提示されたデータは、ローカル装置１１２（コンピュータ、電話、携帯情報端末など）またはリモート装置１１２’（ネットワークサーバ、コンピュータなど）上に配置された処理アプリケーション１１４によって受信され、評価される。
【００２７】
（抽象パターンおよびテンプレート）
以下の説明は、ページユニットに細分される抽象的な位置符号化パターンの使用に基づいている。そのような抽象パターンの例は、米国特許第６，６６３，００８号および米国特許第６，５７０，１０４号で与えられており、両特許は、参照により本明細書に組み込まれる。ページユニットは、例えば、上記の米国特許出願公開第２００３／００６１１８８号で開示されているような、下位のサブセット（subordinate subsets）の階層においてアドレス可能である。
【００２８】
図２は、一例を示している。この例では、全体パターン２０６が「セグメント」２１０を含み、次にセグメントが複数の「シェルフ」２１１に分割される。各シェルフが複数の「ブック」２１２を含み、ブックが上記の複数の「ページユニット」２１３に分割される。このページユニットは、パターンページとも呼ばれる。適切には、すべてのパターンページは、上位のパターン階層の１つのレベル内において同じフォーマットを有する。以下の例示的な実施形態では、パターンページフォーマットは、セグメントレベルにおいて定義される。一例では、各セグメントは、各々が約５０×５０ｃｍ2のサイズの、２６，０００，０００個より多くのパターンページから構成される。例えば、そのようなセグメントは、５，１７５個のシェルフに分割され、各シェルフは、各々が２，５１７個のページを有する２個のブックから構成することができる。
【００２９】
抽象パターンにおけるあるパターンページの位置は、多かれ少なかれＩＰアドレスに類似した「セグメント．シェルフ．ブック．ページ」という形式のページアドレスとして、例えば「４６．５０００．１．１５００」のように書き示すことができる。処理効率の理由で、ページアドレスのペンの内部表現は異なるものでもよく、例えば、６４ビットなどの所定の長さの整数として与えられてもよい。
【００３０】
各パターンページは、符号化パターンの実際のサブセットと見なしてもよく、または、サブセットによって符号化された絶対位置と見なしてもよい。そのような各絶対位置は、ペーパー位置（paper position）、すなわち、全体パターンの座標系２１４におけるグローバル位置として表現されてもよく、または、論理位置（logical position）、すなわち、ページアドレスと、パターンページ内の座標系２１５におけるローカル位置として表現されてもよい。
【００３１】
以下の説明は、１つまたは複数のパターンページに対応する位置符号を含む各サブストレートに基づいている。しかし、サブストレート上の位置符号は、パターンページに一致する必要がないことに留意されたい。したがって、１つまたは複数のパターンページからの１つまたは複数のサブセットは、サブストレート上に恣意的に配置されてもよい。
【００３２】
適切な電子ペンは、位置符号化されたサブストレート上における自らの動きを、ペーパー位置の並び（すなわちグローバルペンストローク）として表現してもよく、または、対応するパターンページ上におけるローカル位置の並び（すなわちアドレス付きペンストローク）とページアドレスして表現することができる。
【００３３】
ペンの機能は、少なくとも部分的に、位置符号化パターンの特定の部分上でペンを操作するユーザによって制御される。ペンは、異なるテンプレートを保存する。その異なるテンプレートは、位置符号化パターンの異なる部分（機能エリア）から記録された情報がどのように解釈されるべきかを定義する。パターン階層の特定のレベルは、所与のテンプレートに関連付けられ、その結果、所与のテンプレートは、そのレベル内のすべてのパターンページに対して有効になる。例示的な実施形態では、テンプレートは、セグメントレベルにおいて定義される。
【００３４】
テンプレートは、ペンの動作に影響を与え得る機能エリアのサイズ、配置、および機能を定義する。そのような機能エリアは、「ピジェット（pidget）」と呼ばれる。図３は、パターンページ３０２上にレイアウトされたテンプレート３００を図解的に示しており、異なるピジェット３０４の配置を示している。
【００３５】
テンプレートにおいて、パターンページ内のどのピジェットによっても占められていないすべての位置は、描画エリアに属するとして定義される。したがって、描画エリアは、暗黙のピジェットと見なされることができる。描画エリア内で検出された位置は、ペンストロークとして記録および保存されるために、ペンによって解釈される。
【００３６】
ピジェットは、トリガー機能、サービス選択機能、装置選択機能、ローカルアクション機能、データ選択機能、または解釈機能を示してもよい。トリガー機能は、コンピュータ、電話、ネットワークサーバ、ＰＤＡなどの外部装置にデータを提示または送信するために、ペンをトリガリングする。サービス選択機能は、ペンの記録位置の処理に影響を与える文脈情報（例えば、電子メール、ファックス、ＳＭＳ）、および／または、ペンの処理される位置の選択に影響を与える範囲情報（例えば、ページ、ブック、シェルフ）を伝達することができるサービスを識別する。装置選択機能は、ペン用の接続装置（例えば、ＰＣ、モバイル装置、ＬＡＮアクセスポイント）を識別する。ローカルアクション機能は、ペンのメモリに影響を与えるアクションを始動する。データ選択機能は、記録位置をペン常駐データにマッピングする。例えば、キーボードピジェットは、位置をペンのメモリ内の文字にマッピングしてもよく、または、ショートカットピジェットは、位置をペンのメモリ内の通信アドレスにマッピングしてもよい。解釈機能は、ピジェット内における１つまたは複数のストロークを機械符号化文字に変換するように動作してもよい。
【００３７】
別のタイプのピジェットは、新規インスタンス機能（new instance function）を示し、新規インスタンス機能は、各ペンストロークをインスタンス識別子に関連付けることによって、潜在的にオーバーラップするペンストロークを分離するように動作する。例えば、新規インスタンス機能の各開始は、パターンページまたはブックなどの抽象パターンの関連部分のために生成される新しいインスタンス識別子を結果として生じさせてもよく、また、その後に記録されるペンストロークは、このインスタンス識別子に関連付けられてもよい。インスタンス識別子は、適切には、ページアドレスに関連付けられ、またはページアドレスに組み込まれる。
【００３８】
例示的な実施形態では、テンプレートは、ピジェットＩＤならびにパターンページ３０２内のローカル位置におけるサイズおよび配置によって各ピジェット３０４を定義する。ピジェットＩＤは、ペン制御システム（以下を参照）によって実行される処理ルールを示すことによって、ピジェット機能を決定する識別子である。
【００３９】
図３はさらに、パターンページ３０２、テンプレート３００、および具体的なサブストレート３０６の間の相互関係を示している。サブストレート３０６は、１つまたは複数のパターンページ３０２内における位置を定義する位置符号Ｐを含む（図３には１つだけ示されている）。ピジェット３０４は、パターンページ３０２内においては所定の配置およびサイズを有するが、サブストレート３０６上においては任意の配置を有してもよい。したがって、図３で点線の区画によって示されるように、パターンページの部分は、「切り出されて（cut out）」、サブストレート上に任意のやり方で再構成されてもよい。ペンは、サブストレートの符号化部分上に降ろされるたびに、位置を記録し、この位置を関連するテンプレートに関係付け、その位置に関連付けられた機能を識別することができる。サブストレートは、処理アプリケーション（図１の１１４）に知られるだけの入力フィールド３０８も含んでもよい。この処理アプリケーションは、処理命令をこれらの入力フィールドに関連付ける。
【００４０】
（ペンハードウェア）
図４は、上述のペン４００の一実施形態を示しており、ペン４００は、窓または開口４０４を定めるペン形状のケーシングまたはシェル４０２を有する。この窓または開口４０４を通して画像が記録される。ケーシングは、カメラシステムと、電子システムと、電源とを含む。
【００４１】
カメラシステム４０６は、少なくとも１つの照明光源と、レンズ配列と、光学イメージリーダ（図には示されず）とを備える。適切には発光ダイオード（ＬＥＤ）またはレーザダイオードである光源は、ウィンドウ４０４を通して視野に捕らえられ得るエリアの部分を赤外線によって照明する。視野エリアの画像は、レンズ配列によって、イメージリーダ上に投影される。イメージリーダは、２次元ＣＣＤまたはＣＭＯＳ検出器であってよく、２次元ＣＣＤまたはＣＭＯＳは、典型的には約７０〜１００Ｈｚの固定または可変レートで画像を取り込むためにトリガリングされる。
【００４２】
ペン用の電源は、バッテリ４０８であると有利であるが、代替として、バッテリは、主電源（図示されず）によって置換または補助されてもよい。
【００４３】
電子システムは、メモリブロック４１２に接続される制御ユニット４１０を備える。制御ユニット４１０は、電子ペンにおける異なる機能を担当し、ＣＰＵ（「中央処理装置」）などの市販のマイクロプロセッサや、ＤＳＰ（「デジタル信号プロセッサ」）によって、あるいは、ＦＰＧＡ（「フィールドプログラマブルゲートアレイ」）もしくは代替的にＡＳＩＣ（「特定用途向け集積回路」）、ディスクリートアナログおよびデジタル構成要素、またはそれらの何らかの組み合わせなどのその他のいくつかのプログラム可能な論理装置によって有利に実装されることができる。メモリブロック４１２は、好ましくは、作業メモリ（例えばＲＡＭ）や、プログラムコードおよび永続記憶メモリ（不揮発性メモリ、例えばフラッシュメモリ）などの異なるタイプのメモリを含む。電子ペンの動作のためのペン制御システムを提供するために、関連するペンソフトウェアは、メモリブロック４１２に保存され、制御ユニット４１０によって実行される。
【００４４】
ケーシング４０２は、ペン先４１４も備える。このペン先４１４は、面（surface）の上に置かれる顔料ベースのマーキングインクによって、ユーザが物理的に筆記または描画することを可能にする。ペン先４１４のマーキングインクは、電子ペンにおける光電子的な検出に対する妨害を回避するため、適切には照明光にとって透明である。接触センサ４１６は、ペンが押し付けられたとき（ペンダウン）および／または持ち上げられたとき（ペンアップ）を検出するために、また、任意選択で加えた力の決定を可能にするために、ペン先４１４に動作可能に接続される。接触センサ４１６の出力に基づいて、カメラシステム４０６は、ペンダウンとペンアップの間に画像を取り込むように制御される。制御ユニットは、画像の処理を行って、符号化パターンのイメージ化された部分によって符号化された位置を計算する。そのような処理は、例えば、出願人の先の公開であるＵＳ２００３／００５３６９９、ＵＳ２００３／０１８９６６４、ＵＳ２００３／０１１８２３３、ＵＳ２００２／００４４１３８、ＵＳ６，６６７，６９５、ＵＳ６，７３２，９２７、ＵＳ６，９２９，１８３、ＵＳ２００３／０１２８１９４、およびそれらの中の文献に従って実行することができる。結果として得られる時間的につながった位置の並びは、ペンストロークの電子的表現を形成する。
【００４５】
電子システムはさらに、通信インタフェース４１８を備える。この通信インタフェース４１８は、コンピュータ、モバイル電話、ＰＤＡ、ネットワークサーバなどの近くまたは遠くの装置にデータを送信または提示するためのものである。したがって、通信インタフェース４１８は、有線または無線近距離通信（例えば、ＵＳＢ、ＲＳ２３２、無線通信、赤外線通信、超音波通信、誘導結合など）用の構成要素、および／または、一般にコンピュータ、電話、もしくは衛星通信ネットワークを介した有線または無線遠隔通信用の構成要素を提供してもよい。
【００４６】
ペンは、ユーザフィードバック用に選択的に起動されるＭＭＩ（マンマシンインタフェース）４２０も含んでもよい。ＭＭＩは、ディスプレイ、インジケータランプ、バイブレータ、スピーカなどを含んでもよい。
【００４７】
またさらに、ペンは、１つまたは複数のボタン４２２を含んでもよく、それによって、起動および／または制御されることが可能になる。
【００４８】
（プロパティ記憶部）
ペンソフトウェアは、プロパティ記憶処理を実行する。このプロパティ記憶処理は、テンプレートの他に、製造中に設定されるペンパラメータおよび較正パラメータ、ペンの動作中に設定されるペンパラメータ（以下を参照）も含むプロパティを扱うものである。各プロパティは、ペンの不揮発性メモリ内に名前、サイズ、およびデータとともに保存される。プロパティはまた、プロパティが最後に変更されたのがいつであるかを示す少なくとも１つのアップグレードカウンタ（以下を参照）に関連付けられる。
【００４９】
プロパティ記憶処理は、プロパティの挿入、検索（retrieval）、および削除のためのインタフェースを提供する。
【００５０】
ペンパラメータの非網羅的リストは、ＰＥＮ＿ＩＤ（ペンの固有識別情報）、ＰＥＮ＿ＳＯＦＴＷＡＲＥ＿ＶＥＲＳＩＯＮ（ペンのソフトウェアのバージョン）、ＰＥＮ＿ＭＡＮＵＦＡＣＴＵＲＥＲ＿ＩＤ（ペン製造業者の識別情報）、ＯＰＥＲＡＴＯＲ＿ＩＤ（ペンへのネットワークアクセスを提供した操作者の固有識別子）、ＰＥＮ＿ＯＷＮＥＲ＿ＮＡＭＥ、ＰＥＮ＿ＯＷＮＥＲ＿ＡＤＤＲＥＳＳ、ＰＥＮ＿ＯＷＮＥＲ＿ＥＭＡＩＬ、ＰＥＮ＿ＯＷＮＥＲ＿ＰＨＯＮＥ、およびＰＥＮ＿ＯＷＮＥＲ＿ＦＡＸを含む。
【００５１】
（位置データベース）
図５は、位置データベース５１０の一例を示している。この例の位置データベース５１０は、ペンのメモリブロック４１２（図４）内に常駐しており、通信インタフェース４１８（図４）を介してプロパティ記憶処理によって編集または更新されることが可能である。位置データベース５１０は、トランスレータ処理（以下を参照）によって使用され、各セグメントをテンプレートインデックスによって与えられるテンプレートに関連付けるセグメントデータベース５１０Ａを含む。セグメントデータベース５１０Ａは、高速アクセスのため、適切にはＲＡＭメモリ内にキャッシュされる。位置データベース５１０は、テンプレートインデックスを、ペンの不揮発性メモリ内にプロパティとして保存され得るテンプレートへのポインタに関連付けるテンプレートデータベース５１０Ｂも含む。
【００５２】
そのようなテンプレートは、以下のものを含んでもよい。
ページのＸサイズ（１６ビット）
ページのＹサイズ（１６ビット）
ページの数（１６ビット）
ピジェットの数（１６ビット）
ピジェットリスト（ピジェット長の数）
【００５３】
ピジェットリストは、複数のピジェットから構成される。各ピジェットは、以下によって定義されてもよい。
ピジェットＩＤ（１６ビット）
左上のＸ座標（１６ビット）
左上のＹ座標（１６ビット）
幅（１６ビット）
高さ（１６ビット）
【００５４】
セグメントデータベース５１０Ａは、１つまたは複数の機能的属性（functional attribute）を各セグメントに関連付けることもできる。機能的属性は、以下でさらに説明されるように、セグメントにクラス分けを提供し、セグメントに属するデータの処理を条件付けし、またはセグメントに対する全体的処理ルールを示してもよい。
【００５５】
（トランスレータ）
上述されたトランスレータ処理は、位置符号化パターンの画像から得られたペーパー位置を論理位置に変換する。トランスレータ処理は、符号化パターンのパターンページへの階層的細分を定義するパターンフォーマッティングデータを使用する（図２）。パターンフォーマッティングデータの一部は、ペン内に事前に定義されるが、その他の部分は、位置データベース５１０から動的に得られる。
【００５６】
例示的な実施形態では、すべてのセグメントは、トランスレータ処理に知られた所定のサイズを有する。したがって、トランスレータ処理は、画像の復号の結果得られたペーパー位置のための現在のセグメントを識別してもよい。そして、現在のセグメントに基づいて、トランスレータ処理は、位置データベース５１０内のそのテンプレート定義から、現在のセグメントの細分上のデータを取得してもよい。例示的な実施形態では、トランスレータ処理は、各セグメント内のパターンページの各行がシェルフを定義することも知っている。このパターンフォーマッティングデータに基づいて、トランスレータ処理はさらに、ペーパー位置を処理して、現在のシェルフ、ブック、ページ、およびローカル位置を、すなわち、完全な論理位置を識別してもよい。トランスレータ処理は、セグメントデータベース５１０Ａ内で現在のセグメントと関連付けられた任意の機能的属性を取得してもよい。
【００５７】
ペンが普通にしばらくの間同一パターンページ上で操作されている場合、現在のパターンページの境界（boundaries）をペーパー位置によってキャッシュし、トランスレータ処理に新しいペーパー位置をこれらの境界に対して照合させることによって、大きなスピードアップが達成されてもよい。新しいペーパー位置が境界内に含まれる限り、ページアドレスを再計算する必要は排除される。
【００５８】
トランスレータ処理は、位置データベース５１０によって与えられる関連するテンプレートに対してローカル位置をマッピングすることによって、記録された位置が現在のパターンページ上のピジェット内に含まれるかどうかも検出する。ピジェットが識別されない場合、その位置は、描画エリア内に含まれると想定される。
【００５９】
したがって、各ペーパー位置に対して、トランスレータ処理は、少なくともページアドレスおよびローカル位置を提供する。各時間的につながった位置の並び、すなわちストロークに対して、トランスレータ処理は、１つまたは複数のピジェットＩＤ、および現在のセグメントに関連付けられた機能的属性を提供することもできる。
【００６０】
（ペン制御システム）
ペン制御システムは、トランスレータ処理の出力上で動作する。論理位置は、時間的につながった位置の並び、すなわちストロークにグループ化される。このストロークは、圧縮および符号化に関する前処理を施され、その後、不揮発性メモリ内に保存されてもよい。
【００６１】
ペン制御システムは、ペンソフトウェアがそれぞれのピジェットＩＤと関連付けた処理ルールの場所を見つけて、実行する。そのような各処理ルールは、１つまたは複数の処理命令を含んでもよい。処理ルールは、例えば、ピジェットＩＤが記録されているポジティブ／肯定フィードバックを与えるために、ペンにＭＭＩ（図４の４２０）を動作させてもよい。かつ／または、処理ルールは、（例えば、キーボードピジェット、ショートカットピジェット、もしくはトリガーピジェットの検出に基づいて）ペンにメモリブロックからデータを取り出させてもよい。かつ／または、処理ルールは、（例えば、解釈ピジェットの検出に基づいて）パターンページの所与の部分内で記録されたストロークに対してペンに所与の処理を実行させてもよい。かつ／または、処理ルールは、（例えば、トリガーピジェットの検出に基づいて）ペンに所与のデータのセットを所与の通信チャネルを介して送信もしくは提示させてもよい。
【００６２】
ペン制御システムは、処理ルールを、トランスレータ処理によって識別された機能的属性に関連付けてもよい。上で述べられたように、機能的属性は、テンプレートの上でロジックのレイヤを提供し、ペンによってもたらされる処理を、限定し、条件付けし、または指示するように動作してもよい。以下で、異なるカテゴリの各々について、少数の例が与えられる。
【００６３】
（機能的属性）
・限定属性（Qualifying attribute）
ペン制御システムは、例えば、ペン制御システムが専用ピジェットＩＤを検出することによって、所与の機能的属性を有するすべてのペンデータに対して動作させられてもよい。したがって、この属性は、ペン制御システムによってもたらされる処理を限定する。
【００６４】
例えば、利用可能なセグメントの少なくとも一部は、それぞれの機能的属性によって示されるＦＯＲＭまたはＮＯＴＥＰＡＤ＆ＯＲＧＡＮＩＺＥＲとしてクラス分けされてもよい（図５を参照）。例えば、ペン制御システムは、「Send all forms」トリガーピジェットを識別したとき、ＦＯＲＭ属性を有するセグメント内に含まれるすべてのペンストロークをメモリブロックから取り出すであろう。別の例として、「Delete all notepads＆organizers」トリガーピジェットは、ペン制御システムに、ＮＯＴＥＰＡＤ＆ＯＲＧＡＮＩＺＥＲ属性を有するセグメント内に含まれるすべてのペンストロークを識別させ、削除させるであろう。
【００６５】
・条件付け属性（Conditioning attribute）
条件付け属性は、メモリブロック内に保存されたペンデータへの外部装置のアクセスを制御してもよい。例えば、ＬＯＣＡＬ＿ＣＯＰＹ属性は、ペンがローカルＰＣに接続されたとき、この属性を有するセグメント内に含まれるすべてのペンストロークが転送されること、または転送され得ることを、ペン制御システムに知らせてもよい。ＬＯＣＡＬ＿ＤＥＬＥＴＥ属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロックから削除するようにローカルＰＣがペンに命令できることを、ペン制御システムに知らせてもよい。ＣＡＮ＿ＰＥＲＳＩＳＴ属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロック内に維持するようにペンに命令することをネットワークサーバが許可されることを、ペン制御システムに知らせてもよい。
【００６６】
・指示属性（Indicating attribute）
指示属性は、ペン制御システムによって実行される処理ルールを指示する。具体的には、指示属性は、特定のアクションをペンに直接取らせてもよく、または、ピジェットＩＤに関連付けられた処理ルールをペンに修正させてもよい。例えば、セグメントのＳＴＲＥＡＭＩＮＧ属性が、ペンにこのセグメント内に含まれるペンストロークを外部装置にストリーム送信させてもよい。セグメントのＤＯ＿ＮＯＴ＿ＳＴＯＲＥ属性が、このセグメント内に含まれる記録されたペンストロークの保存をペンに控えさせてもよい。ＯＵＴＢＯＸ属性が、ペンにメモリブロック内に含まれるアウトボックス構造（outbox structure）内にイベントを登録させてもよい。任意選択で、イベントは、トリガーピジェットの検出後にだけ登録される。アウトボックス構造は、基本的にイベントのリストであり、その中の各イベントは、ペンメモリ内のある種のペンストロークデータ、例えば、１つまたは複数の所与のパターンページ上で記録されたペンストロークを識別する。アウトボックス構造は、例えば、図１のローカル装置１１２などの所与の外部装置へのペンの接続時に、まとめて処理されるべきペンストロークデータを識別するために使用されてもよい。例えば、そのような接続時に、アウトボックスリスト（および任意選択で関連ペンストロークデータ）は、処理アプリケーションに伝達される前に、提示および確認／否認のため、この装置に転送されてもよい。
【００６７】
一般的に言えば、機能的属性は、パターンページ階層内の任意のレベルに設定されることができ、テンプレートによって提供されるロジックから包括的なロジックを分離する利点を提供する。したがって、機能的属性は、ロジックの第２のレベルを提供する。このロジックの第２のレベルは、テンプレートロジックとは独立に設けることができ、全範囲のパターンページのためにペン制御システムから利用可能にされる。
【００６８】
したがって、一般的意味において、機能的属性は、座標系におけるペン位置を記録し、この位置を処理するように構成された電子ペンの有利な動作を可能にする。動作は、データを座標系における個々にアドレス可能な位置グループ上に保存するステップと、そのような位置グループのセットをグローバル属性に関連付けるステップとを含んでもよく、位置グループのセットに含まれるどの記録された位置も、少なくとも部分的にグローバル属性に基づいて処理される。そのような各位置グループは、座標系における連接した位置のセットから構成されてもよい。位置グループは、位置グループのセット内では基本的に同一のフォーマットに属してもよい。したがって、位置グループは、上記のパターンページに対応してもよい。一実施形態では、グローバル属性は、位置グループのセット内に含まれる記録された位置のためのカテゴリを示してもよい。別の実施形態では、グローバル属性は、位置グループのセット内に含まれる記録された位置のための処理ルールを示してもよい。この処理ルールは、以下の群から選択されてもよい。すなわち、記録された位置を含む位置グループを識別し、そのように識別された位置グループをリストに追加すること、記録された位置をリアルタイムに外部装置に提供すること、記録された位置を内部メモリに保存することをペンに禁止すること、記録された位置が外部装置に提供されることを許可すること、外部装置が記録された位置をペンの内部メモリから削除することを許可すること、および外部装置が記録された位置のペンの内部メモリからの削除を禁止することを許可することからなる群から選択されてもよい。
【００６９】
（ロジック管理システム）
テンプレートおよび機能的属性は、ペンメモリ内にプロパティとして保存される。各ペン内のプロパティ記憶処理のインタフェースを呼び出すことによって、新規または更新テンプレート、属性などが、ペンメモリに追加されてもよい。この機能は、各ペンのロジック定義、すなわち、その位置データベースの内容を制御するために、ロジック管理システムによって使用される。
【００７０】
ペンは、ペン制御システムによって提供される機能に基づいて、異なる「世代（generation）」に類別される。同様に、所与のセグメントに関するロジック定義の異なるバージョンは、異なる「ロジックバージョン（logic version）」に類別される。ロジック管理システムは、所与の世代に属するペンが、ペン制御システムによってサポートされるロジックバージョンだけを保存することを確実にするように設計される。そのような「サポートされるロジックバージョン」は、ピジェットＩＤおよび／または属性を含み、それらのすべては、ペン制御システム内の有効な処理ルールに関連付けられる。以下では、サポートされるロジックバージョンの集まりは、ロジックバージョンの「ファミリ（family）」と呼ばれる。特定のペン世代は、複数の異なるファミリのうちの１つのファミリにだけ関連付けられることができる。
【００７１】
基礎をなす原理が、図６でさらに説明される。セグメント用の位置データベースが、３つの異なるロジックバージョン６０１〜６０３で与えられ、この場合、テンプレートの３つのバージョンは、それぞれファミリ１〜３に属する。ペンは、４つの異なる世代にクラス分けされる。世代（ソフトウェアバージョン）ＡおよびＢのペンは、ファミリ１に関連付けられ、世代（ソフトウェアバージョン）ＣおよびＤのペンは、それぞれファミリ２および３に関連付けられる。ロジックバージョン６０１〜６０３は、ピジェット６１０を共通で有し、ロジックバージョン６０２〜６０３は、ピジェット６１２を共通で有する。ピジェット６１４は、ロジックバージョン６０３にだけ含まれる。
【００７２】
ペンの位置データベースの内容は、ネットワーク上のロジックサーバに接続されるペンによって管理されてもよく、その場合、ロジックサーバが、位置データベースをアップグレードする。代替として、ペンは、ローカル装置（図１）に接続されてもよく、今度は、ローカル装置が、ロジックサーバから関連ロジックバージョンを検索し、位置データベースをアップグレードする。また別の代替では、ロジックアップグレードキット（logic upgrade kit）が、ＣＤ−ＲＯＭ、フロッピーディスク、ＵＳＢメモリなどによって、またはインターネットサイトからのダウンロードによって、ペンユーザに提供されてもよい。ペンと通信するローカル装置における適切なインストールの後、ローカル装置は、位置データベースをアップグレードすることができる。
【００７３】
図７は、ペンの位置データベースをアップグレードするための構成を示している。この構成は一般に、ハードウェアと、例えば上述されたローカル装置またはロジックサーバなどのコンピュータ上のソフトウェアとの組み合わせによって実装される。この構成は、ペンからペン世代情報を取得するための入力インタフェース７０１と、関連アップグレードデータを取得するためのアップグレードプロセッサ７０２と、そのようにして得られたアップグレードデータの少なくとも部分をペンに伝達するための出力インタフェース７０３とを有する。
【００７４】
図８は、図７の構成におけるアップグレードプロセスを示している。最初に、入力インタフェース７０１が、ペンからプロパティＰＥＮ＿ＳＯＦＴＷＡＲＥ＿ＶＥＲＳＩＯＮを取得する（ステップ８０１）。このプロパティは、ペンの世代を識別し、したがって、関連アップグレードデータを識別する。入力インタフェース７０１は、ペンからアップグレードカウンタも取得する（ステップ８０２）。このプロパティは、ペンの位置データベースが最後にアップグレードされたのがいつであるかを示す。アップグレードプロセッサ７０２は、例えば、データベース７０４から関連アップグレードデータ用の参照カウンタ（reference counter）を取得し（ステップ８０３〜８０４）、ペンのアップグレードカウンタを参照カウンタと比較する（ステップ８０５）。参照カウンタがアップグレードカウンタを超えた場合、出力インタフェース７０３は、アップグレードデータまたはその一部でペンの位置データベースをアップグレードするようにされ（ステップ８０６）、超えない場合は、そうならないようにされている。アップグレードデータは、以下のいずれかを含んでもよい。すなわち、新規または更新テンプレート、新規テンプレートインデックス、新規または更新機能的属性、新規または更新セグメントのいずれかを含んでもよい。最後に、ペンのアップグレードカウンタは、参照カウンタに一致するように更新される（ステップ８０７）。
【００７５】
参照カウンタは、ファミリのアップグレードデータに変更があるたびにインクリメントされる適切なベースの数としてもよい。したがって、カウンタは、任意の増加数列の一部分としてもよく、または最新アップグレードの時間を定めてもよい。
【００７６】
参照カウンタは、グローバル、かつ、ファミリ特有の、すなわちファミリ用の完全なロジック定義に適用可能としてもよい。したがって、データベース７０４は、ファミリ用の完全なロジック定義を保持してもよく、各ファミリは、グローバル参照カウンタに関連付けられる。その後、アップグレードプロセッサ７０２は、ステップ８０５における比較に基づいて、データベース７０４からそのような完全なロジック定義を得て、それを出力インタフェース７０３を介してペンに提供してもよい。
【００７７】
代替として、データベース７０４内の各プロパティ（すなわち、セグメント、テンプレートインデックス、テンプレート、属性）は、プロパティが最後に変更されたのがいつであるかを示す参照カウンタによってタグ付けされる。したがって、実際に変更されたファミリのちょうどそのようなプロパティが、データベース７０４から抽出され、ペンの位置データベースをアップグレードするために使用されてもよい。この実施形態では、データベース７０４は、アップグレードデータへの複数の変更から生じたある範囲の参照カウンタを含んでもよい。その結果として、ペンのアップグレードカウンタは、アップグレードプロセスによって識別された最も高い参照カウンタと一致するように更新される必要がある。
【００７８】
ロジック関係プロパティに加えて、アップグレードデータは、特定のペンに固有であり、ペンのロジック定義に無関係のプロパティを含んでもよい。例えば、この無関係のプロパティの１つは、上述のペンパラメータ（ＰＥＮ＿ＯＷＮＥＲ＿ＮＡＭＥ、ＯＰＥＲＡＴＯＲ＿ＩＤなど）である。この場合、ペンは、適切には、そのようなペン固有プロパティ用の第２のアップグレードカウンタ（「項目アップグレードカウンタ」）を保存する。同様に、アップグレードデータのペン固有部分は、適切には、項目参照カウンタに関連付けられる。したがって、図８と類似して、アップグレードプロセスは、ペンからペン識別子（ＰＥＮ＿ＩＤ）および項目アップグレードカウンタを取得し、ＰＥＮ＿ＩＤに基づいて、データベース７０４から少なくとも１つのペン固有プロパティおよび関連項目参照カウンタを取得し、項目参照カウンタが項目アップグレードカウンタを超えた場合、ペンのメモリをペン固有プロパティでアップグレードし、ペンの項目アップグレードカウンタを項目参照カウンタに等しく設定してもよい。項目参照カウンタは、ペン固有プロパティのセットに対して、または個々のペン固有プロパティに対して与えられてもよい。後者の場合、ペンの項目アップグレードカウンタは、適切には、アップグレードプロセスによって識別された最も高い項目参照カウンタに等しく設定される。
【００７９】
上で指摘されたように、データベース７０４は、各ファミリ用の事前に計算されたアップグレードデータを保存してもよい。一実施形態では、プロセッサは、特定のファミリ用のアップグレードルールを取得することによって、このファミリ用のそのようなアップグレードデータを事前に計算する。プロセッサは、完全な機能テンプレート（full functionality templates）のセットも取得する。各完全な機能テンプレートは、ペンの世代に関係なく、特定のセグメントに関係するすべてのピジェットおよび機能的属性を定義する。アップグレードルールは、完全な機能テンプレートからピジェットおよび機能的属性を抽出することによって、特定のファミリ用のアップグレードデータを構築するための、例えばフィルタを含むメカニズムを定義する。したがって、アップグレードルールを各完全な機能テンプレートに適用することによって、プロセッサは、適切なアップグレードデータを計算する。その後、結果のアップグレードデータは、ファミリによってインデックス付けされてデータベース７０４内に保存されるために提供される。
【００８０】
代替として、アップグレードデータは、事前に計算されず、代わりに、アップグレードデータを計算するための上記の手順を実行するアップグレードプロセッサ７０２によって、要求に応じて適切に計算される。
【００８１】
上述されたアップグレードルールは、サポートされないピジェットまたは機能的属性を削除することも含む。これは、ペンの位置データベースをペンによって保存されたソフトウェアと完全に互換性があるようにする。しかし、１つまたは複数の削除ピジェットは、テンプレートの動作可能性（operability）にとって必須であるかもしれない。これは、セグメントが元々は特定のペン世代に専用であった場合にその可能性がある。例えば、トリガーピジェット、サービス選択ピジェット、または装置選択ピジェットの削除は、ペンが記録されたデータを送信／提示をできないようにするかもしれない。さらに良くないことに、ペンは、その不能性（inability）をユーザに知らせることもできないかもしれない。
【００８２】
したがって、アップグレードルールは、サポートされないピジェットまたは機能的属性をサポートされるものと交換することも含む。任意の数のサポートされないピジェットが、任意の数のサポートされるピジェットと交換されてもよい。例えば、サポートされないトリガーピジェット（「Send page to network via PC」）は、サポートされるトリガーピジェット（「Send image of pen strokes on page to mobile phone」）と交換されてもよい。これにより上位互換性が保証され、後で開発されたペン世代のペンが、先のペン世代に専用のセグメント上で許容可能な動作を行うことができる。
【００８３】
完全な機能テンプレートは、ピュアフィードバックピジェット、すなわち、ペンにＭＭＩを動作させるだけのピジェットを含むように設計されてもよい。そのようなピジェットの例は、ユーザにピジェット検出を知らせる肯定ピジェット、およびユーザに動作失敗を知らせる否定フィードバックピジェットである。
【００８４】
フィードバックピジェットは、一様なユーザ体験を保証するために、その他のピジェットに置き換えてもよい。例えば、ペンストロークがピジェットに接触するたびに、ペンがＭＭＩを介して肯定フィードバックを与えることが望ましいことがある。したがって、サポートされないピジェットを完全な機能テンプレートから削除する代わりに、このピジェットの機能が、テンプレートのサポートされるピジェットによって提供される機能と相応する場合、サポートされないピジェットは、肯定ピジェットと交換されてもよい。例えば、「Send page」ピジェットが「Send image of pen strokes on page to mobile phone」ピジェットと交換される場合、「Connect via mobile phone」ピジェットは、冗長であるにもかかわらず、肯定ピジェットと交換されてもよい。一方、「Connect via PC」ピジェットは、否定フィードバックピジェットと交換されるべきである。
【００８５】
ユーザ体験における完全な一様性（uniformity）を保証するため、完全な機能テンプレート内のすべてのサポートされないピジェットは、肯定または否定フィードバックピジェットと交換されるべきである。
【００８６】
アップグレードプロセスが、ペン制御システムによってサポートされる機能に依存して、機能的属性を追加、変更、または削除してよいことも、上記のことから明らかであろう。
【００８７】
同様に、セグメントが、追加されてもよく、テンプレートインデックスが、追加または変更されてもよい。
【００８８】
テンプレートインデックスおよびテンプレートが位置データベースに追加されることによって、新しいセグメントが特定のペン世代のために「開かれた（opened）」場合、このセグメントは、先のペン世代においては、パターンページを純粋な描画エリアとして定義する「NULLテンプレート」を割り当ててもよい。このセグメント上でペン制御システムによって開始される任意の機能は、先のペン世代の位置データベースに追加される１つまたは複数の機能的属性によって与えられてもよい。そのような機能的属性は、ＬＯＣＡＬ＿ＣＯＰＹであり、ローカル装置への接続時に、このセグメント上で記録されたデータをペンに送信／提示させる。それによって、この開かれたセグメントからのデータは、先の世代のペンによって記録されたとしても、ユーザから利用可能にされるであろう。
【００８９】
本発明と矛盾しないようにされ得る多くの変形が存在する。上記の説明は、例示および説明の目的で提示された。それは網羅的ではなく、開示された通りの形態に本発明を限定しない。修正および変形が、上記の教示に照らして可能であり、本発明の実施から獲得されることができる。
【００９０】
一例では、各ペンは、管理システムに関連するファミリを直接識別するファミリ識別子を保存することができる。別の例では、管理システムは、ペンの固有識別子（ＰＥＮ＿ＩＤ）からペン世代／ファミリを推定する。
【００９１】
本発明は、上記のタイプの符号読み取りペンに限定されず、サブストレート上のその位置を記録し、記録された位置に基づいて機能を実行する任意のタイプの電子ペンに適用可能である。
【００９２】
例えば、ペンは、米国特許第５，４４２，１４７号、第５，６５２，４１２号、第５，６６１，５０６号、第５，８５２，４３４号、第６，３１０，９８８号、および第６，７９７，８９５号などのいずれか１つに開示されているような、絶対位置を符号化するその他のタイプのパターン上で動作してもよい。さらに、光学的特性に基づく代わりに、符号化パターンは、化学的、音響的、電磁気的、容量的、または誘導的特性を含むことができる。明らかに、ペンは、そのような代替的特性を捕らえるように適合されたセンサを有するべきである。またさらに、ペンは、少なくとも１つの絶対参照位置とこの参照位置に関する相対位置とをペンが記録することによって、絶対および相対測位技法を組み合わせてもよい。絶対参照位置は、サブストレート上の位置符号化パターンから取得されてもよく、または、ペンユーザがペンをサブストレート上の所定の場所へ／から動かすことによって取得されてもよい。相対位置は、例えば、サブストレートに接触するローラボール、１つまたは複数の外部送信器からの信号の三角測量、ペン内部の加速度センサ、サブストレートに接触するペン先に動作可能に接続される歪みセンサ、サブストレート上の面の不規則性もしくは任意のパターンの画像、またはそれらの組み合わせから取得されてもよい。
【００９３】
またさらに、サブストレート上に符号化された位置によって与えられるサブストレート識別情報の代わりに、明示的なサブストレート／ページ識別子が、符号化パターンに埋め込まれてもよい。代替として、サブストレート／ページ識別子は、サブストレート上のバーコードによって与えられ、またはサブストレート上に普通の言葉で印刷されて、ペン内のバーコードリーダまたはテキストスキャナによって記録されてもよい。
【００９４】
ペン制御は、ピジェットＩＤの検出以外のその他のイベントによって補助されてもよい。そのようなその他のイベントは、ペン上のボタンがユーザによって起動されたことの検出、または、ペン内のマイクロフォンによって記録された音声コマンドの検出を含む。例えば、トリガーピジェットの使用は、そのようなその他のイベントによって置換または補助されてもよい。同様に、範囲（scope）、文脈（context）、装置選択などについての情報は、そのようなその他のイベントによってペン制御システムに示されてもよい。
【図面の簡単な説明】
【００９５】
【図１】図１は、内部ロジックを有する電子ペンを含む情報処理システムを示す図である。
【図２】図２は、抽象位置符号化パターンの、ページユニットのアドレス可能なツリー構造への論理分割を示した図である。
【図３】図３は、位置符号化されたサブストレートに対するロジック定義テンプレートの関係を示した図である。
【図４】図４は、本発明の原理を実行する電子ペンの断面図である。
【図５】図５は、図４のペンのメモリブロック内に保存される位置データベースのレイアウトおよび内容を示した図である。
【図６】図６は、位置データベースの内容を異なるペン世代に適合させる原理を示した図である。
【図７】図７は、電子ペンの位置データベースをアップグレードするための構成を示した図である。
【図８】図８は、図７の構成によって実行されるアップグレードプロセスを示した図である。
【図１】
2008519326.tif 000003
【図２】
2008519326.tif 000004
【図３】
2008519326.tif 000005
【図４】
2008519326.tif 000006
【図５】
2008519326.tif 000007
【図６】
2008519326.tif 000008
【図７】
2008519326.tif 000009
【図８】
2008519326.tif 000010
【国際調査報告】
2008519326.tif 000011
2008519326.tif 000012
2008519326.tif 000013
2008519326.tif 000014