【誤訳訂正書】
【提出日】平成23年11月24日(2011.11.24)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
電子ペンにおいて、デジタルに記録された位置データを管理する方法であって、
前記方法は、
ファイルシステムでの保存に適したファイルオブジェクトに、前記位置データを組み込むことと、
前記ファイルオブジェクトを、外部データハンドラへプッシュすること又は外部データハンドラからのプルで利用できる状態にすることにより、前記位置データを外部データハンドラへ提示することと、
を含むことを特徴とする方法。
【請求項２】
前記電子ペンにおいて、前記位置データを位置データベースにマッピングすること、をさらに含み、
前記位置データベースは、位置データを処理規則に関連付けるものである請求項１に記載の方法。
【請求項３】
前記位置データを組み込むことは、前記記録されている位置データに基づいて専用の処理規則が前記位置データベース内で特定されたときに開始される請求項２に記載の方法。
【請求項４】
前記専用の処理規則を示す規則識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項３に記載の方法。
【請求項５】
前記マッピングの間に特定された各処理規則を示す規則識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項２または３に記載の方法。
【請求項６】
規則識別子ごとの時間識別子を、前記ファイルオブジェクトに含めること、をさらに含む請求項４または５に記載の方法。
【請求項７】
前記位置データの中で、少なくとも一つのページユニット識別子と、一組の位置項目を特定することと、
少なくとも一部の前記位置項目を時間的にコヒーレントなストローク項目にグループ化し、各ストローク項目をそのページユニット識別子と関連付けることと、
前記ストローク項目と前記ページユニット識別子を、前記ファイルオフジェクトに組み込むことと、
をさらに含む請求項１〜６のいずれか一項に記載の方法。
【請求項８】
各ストローク項目についての時間識別子と、前記電子ペンの特徴を示すペン常駐パラメータの値と、前記電子ペン所有者の特徴を示すペン常駐パラメータの値とのうち、少なくとも一つを、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項７に記載の方法。
【請求項９】
前記ストローク項目を組み込むことが、ページユニット識別子により前記ストローク項目をグループ化することを含む、請求項７または８に記載の方法。
【請求項１０】
前記位置データを組み込むことが、前記記録されている位置データに基づいて専用の処理規則が前記位置データベース内で特定されたときに開始され、
前記方法は、
前記専用の処理規則から少なくとも一つのページユニット識別子を特定することと、
特定されたページユニット識別子と関連付けられているストローク項目を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項７〜９のいずれか一項に記載の方法。
【請求項１１】
各ページユニット識別子が、コーディングパターン内でのその特定のページユニットに対するグローバルアドレスである請求項７〜１０のいずれか一項に記載の方法。
【請求項１２】
前記位置項目が、前記特定のページユニット内のローカル位置である請求項１１に記載の方法。
【請求項１３】
前記位置データが、前記コーディングパターンから前記電子ペンによって記録されるものである請求項１１または１２に記載の方法。
【請求項１４】
前記電子ペンにおいて、前記位置データを位置データベースにマッピングすること、をさらに含み、前記位置データベースは、位置データを処理規則に関連付けるものであり、
前記位置データベースは、各ページユニットを、そのページユニットにおける機能領域を定義するテンプレートと関連付け、各機能領域は、複数の前記処理規則のうちの一つを示すものであり、
前記マッピングすることが、
前記位置データに基づいて複数の前記ページユニットのうちの一つを特定することと、
前記特定されたページユニットに関連付けられた前記テンプレートを特定することと、
前記特定されたテンプレートに前記位置項目をマッピングすることにより、少なくとも一つの機能領域を特定することと、
を含む、請求項１１〜１３のいずれか一項に記載の方法。
【請求項１５】
前記位置データベースから、前記位置データに基づいて、処理規則を取り出すことと、
前記取り出された処理規則を少なくとも一部の前記位置データに適用して、動的パラメータ値を生成すること、
をさらに含む請求項２〜６のいずれか一項に記載の方法。
【請求項１６】
前記動的パラメータを、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項１５に記載の方法。
【請求項１７】
前記処理規則が、文字認識プロセスの命令を含み、前記動的パラメータ値が、テキスト項目である請求項１５または１６に記載の方法。
【請求項１８】
前記ファイルオブジェクトが、処理命令も処理命令に対する呼び出しも持たないデータ記憶オブジェクトである請求項１〜１７のいずれか一項に記載の方法。
【請求項１９】
前記電子ペンのワーキングセッションが変化したことを検出することと、
現在のワーキングセッションに一意なセッション識別子を割り当てることと、
をさらに含む請求項１〜１８のいずれか一項に記載の方法。
【請求項２０】
前記セッション識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項１９に記載の方法。
【請求項２１】
テキストデータベースから、前記位置データに基づいて、前記電子ペンのメモリに記憶されているテキスト項目を取り出すこと、をさらに含む請求項１〜２０のいずれか一項に記載の方法。
【請求項２２】
前記テキスト項目を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項２１に記載の方法。
【請求項２３】
前記テキスト項目が、電子通信のためのアドレスである請求項２１または２２に記載の方法。
【請求項２４】
前記テキストデータベースが、位置データの複数のセットを複数の文字にそれぞれ関連付けるキーボード定義を含み、前記テキスト項目が、前記複数の文字のうちの少なくとも一つを含む請求項２１または２２に記載の方法。
【請求項２５】
前記位置データが、前記電子ペンの移動を反映するグラフィック情報を表す第一のタイプの位置データと、前記電子ペンの外部で前記第一のタイプの位置データに適用される処理規則を表す第二タイプの位置データと、を含み、
前記方法は、
前記第一のタイプの位置データを、時間的にコヒーレントなストローク項目として前記ファイルオブジェクトに組み込むことと、
ストローク項目ごとの時間識別子を、前記ファイルオブジェクトに組み込むことと、
前記第二のタイプの位置データから特定される処理規則ごとに、規則識別子を前記ファイルオブジェクトに組み込むことと、
規則識別子ごとに、時間識別子を前記ファイルオブジェクトに組み込むことと、
をさらに含む請求項１〜２４のいずれか一項に記載の方法。
【請求項２６】
前記処理規則が、視覚的なグラフィック特性、時間分解能または空間分解能、背景画像、解釈コンテキスト、もしくは制限されているアクセスの表示、に適用される請求項２５に記載の方法。
【請求項２７】
非位置データを前記ファイルオブジェクトに組み込むこと、をさらに含む請求項１〜２６のいずれか一項に記載の方法。
【請求項２８】
前記非位置データが、前記電子ペンにより記録されるバーコードデータ、前記電子ペンにより記録される音声データ、前記電子ペンにより記録される画像データ、前記電子ペンにより外部通信のためのインタフェース上で受信される画像データ、前記電子ペンにより取り出される文字データ、あるいは、前記電子ペンにより外部通信のためのインタフェース上で受信される文字データ、を含む請求項２７に記載の方法。
【請求項２９】
外部通信のためのインタフェース上で文字データを受信することと、
前記文字データを位置データに変換することと、
前記変換された文字データを前記ファイルオブジェクトに組み込むことと、
をさらに含む請求項１〜２８のいずれか一項に記載の方法。
【請求項３０】
前記位置データを前記外部データハンドラへ提示することが、前記ファイルオブジェクトを前記外部データハンドラに送信することを含む請求項１〜２９の内のいずれか一項に記載の方法。
【請求項３１】
前記位置データを前記外部データハンドラへ提示することが、前記ファイルオブジェクトを前記電子ペンの中のファイルシステムに記憶することを含み、
前記ファイルシステムが、前記外部データハンドラにアクセス可能である請求項１〜２９のいずれか一項に記載の方法。
【請求項３２】
提示されるべき位置データの選択を特定することと、
前記選択に従って、前記電子ペンのメモリから以前に記録されていた位置データを抽出することと、
をさらに含み、
前記抽出された位置データが、前記ファイルオブジェクトに組み込まれている請求項１〜３１のいずれか一項に記載の方法。
【請求項３３】
製品上の第一のコードの記録を、座標系における少なくとも一つの絶対位置に変換することと、
第二のコードの記録を、入力データに変換することと、
前記入力データに基づいて、前記少なくとも一つの絶対位置を処理することと、
をさらに含む請求項１〜３２のいずれか一項に記載の方法。
【請求項３４】
前記第一のコードの記録には、前記製品の表面部分の画像が含まれる請求項３３に記載の方法。
【請求項３５】
前記入力データが、前記座標系における少なくとも一つの機能領域を定めるものであり、
前記方法は、
前記入力データに前記少なくとも一つの絶対位置をマッピングして、前記少なくとも一つの絶対位置が前記少なくとも一つの機能領域の範囲に入るか否かを特定することをさらに含む請求項３３または３４に記載の方法。
【請求項３６】
前記少なくとも一つの機能領域のための処理規則を、前記入力データに基づいて取り出すことをさらに含む請求項３５に記載の方法。
【請求項３７】
前記機能領域の範囲に含まれる前記少なくとも一つの絶対位置に、前記処理規則を適用すること、をさらに含む請求項３６に記載の方法。
【請求項３８】
前記少なくとも一つの機能領域の範囲に含まれる前記少なくとも一つの絶対位置の特定に基づいて、前記電子ペンのＭＭＩを動作させることをさらに含む請求項３５〜３７のいずれか一項に記載の方法。
【請求項３９】
前記第一のコードが、前記製品の一意な識別子を定義するものであり、
前記方法は、
前記第一のコードの記録から前記一意な識別子を取り出すことと、
前記取り出された識別子を前記入力データに含まれている対応する識別子と比較することと、
を含む請求項３３〜３８のいずれか一項に記載の方法。
【請求項４０】
前記入力データが、使用制限データを含み、
前記方法が、前記使用制限データに基づいて、前記少なくとも一つの絶対位置の処理を制限すること、をさらに含む請求項３３〜３９のいずれか一項に記載の方法。
【請求項４１】
前記使用制限データが、それ以後に前記処理が禁止される期限、前記処理の最大許容起動数を定義する第一のイベント制限、前記第一のコードの記録を変換することの最大許容起動数を定義する第二のイベント期限、のうちの少なくとも一つを示すものである請求項４０に記載の方法。
【請求項４２】
前記入力データが、前記少なくとも一つの絶対位置を暗号化するときに使用されるセキュリティデータを含む請求項３３〜４１のいずれか一項に記載の方法。
【請求項４３】
前記セキュリティデータが、暗号キーと暗号化方法のうちの少なくとも一つを示す請求項４２に記載の方法。
【請求項４４】
プロセッサが有するメモリにロードすることができ、請求項１〜４３のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【請求項４５】
請求項１〜４３のいずれか一つの方法を実行するように構成されたプロセッサを備える電子ペン。
【請求項４６】
製品上での書き込みに用いられる電子ペンであって、
前記書き込みの間、前記製品の少なくとも一つの画像を記録する手段と、
前記少なくとも一つの画像に基づいて、前記書き込みを示す位置データを求める手段と、
ファイルシステムでの保存に適したファイルオブジェクトに、前記位置データを組み込む手段と、
前記ファイルオブジェクトを、外部データハンドラへプッシュすること又は外部データハンドラからのプルで利用できる状態にすることにより、前記位置データを前記外部データハンドラへ提示する手段と、
を備えることを特徴とする電子ペン。
【請求項４７】
前記製品には、二次元座標系における位置の連続的な並びをコード化する位置コーディングパターンの少なくとも一つの部分集合が設けられ、前記位置データが、前記位置コーディングパターンから取り出し可能なものである請求項４６に記載の電子ペン。
【請求項４８】
前記二次元座標系における複数のページユニットを定義する位置データベースを記憶するメモリと、
前記位置データベースに前記位置データをマッピングする処理手段と、
をさらに備える請求項４７に記載の電子ペン。
【請求項４９】
前記処理手段が、前記位置データを前記位置データベースにマッピングすることによって、前記複数のページユニットのうちの一つを示すページユニット識別子を特定し、
前記位置データを組み込む手段が、前記ページユニット識別子を前記ファイルオブジェクトに組み込むために制御される請求項４８に記載の電子ペン。
【請求項５０】
前記処理手段が、前記位置データベースに基づき、前記一つのページユニットに属する一組の位置項目を特定し、
前記位置データを組み込む手段が、前記一組の位置項目を前記ページユニット識別子と関連付けて前記ファイルオブジェクトに組み込むように、制御される請求項４９に記載の電子ペン。
【請求項５１】
前記位置データベースが、各ページユニットを、そのページユニットにおける機能領域を定義するテンプレートと関連付け、各機能領域が、処理規則を示すものであり、
前記処理手段が、前記位置データに基づいて前記複数のページユニットのうちの一つを特定し、前記特定されたページユニットに関連付けられた前記テンプレートを特定し、前記特定されたテンプレートに前記位置項目をマッピングすることにより少なくとも一つの機能領域を特定する請求項５０に記載の電子ペン。
【請求項５２】
前記位置データを求める手段が、前記製品上の第一のコードの少なくとも一つの画像に基づいて前記位置データを求めるために動作可能であり、
前記位置データが、座標系の少なくとも一つの絶対位置を含み、
前記位置データを求める手段が、第二のコードの少なくとも一つの画像に基づいて入力データを求めるために動作可能であり、
前記処理手段が、前記入力データに基づいて前記少なくとも一つの絶対位置を処理するために動作可能である請求項４６〜５１のいずれか一項に記載の電子ペン。
【請求項５３】
前記入力データが、前記座標系における少なくとも一つの機能領域を定めるものであり、
前記処理手段が、前記入力データに前記少なくとも一つの絶対位置をマッピングして、前記少なくとも一つの絶対位置が前記少なくとも一つの機能領域の範囲に含まれるか否かを特定する請求項５２に記載の電子ペン。
【請求項５４】
前記処理手段が、前記入力データに基づいて前記少なくとも一つの機能領域のための処理規則を取り出す請求項５３に記載の電子ペン。
【請求項５５】
前記処理手段が、前記機能領域の範囲に含まれる前記少なくとも一つの絶対値に前記処理規則を適用する請求項５４に記載の電子ペン。
【請求項５６】
前記入力データが、使用制限データを含み、
前記処理手段が、前記使用制限データに基づいて、前記少なくとも一つの絶対位置の処理を制限する請求項５２〜５５のいずれか一項に記載の電子ペン。
【請求項５７】
前記入力データが、セキュリティデータを含み、
前記電子ペンが、前記セキュリティデータに基づいて、前記少なくとも一つの絶対位置を暗号化するために動作可能であるエンクリプタをさらに備える請求項５２〜５６のいずれか一項に記載の電子ペン。
【請求項５８】
前記位置データを組み込む手段が、トリガイベントの受信時に前記ファイルオブジェクトへの前記位置データの組み込みを開始するイベントリスナーを含む請求項４６〜５７のいずれか一項に記載の電子ペン。
【請求項５９】
前記位置データを前記外部データハンドラへ提示する手段が、トリガイベントの受信時に、前記位置データの提示を開始するイベントリスナーを含む請求項４６〜５８のいずれか一項に記載の電子ペン。
【請求項６０】
前記処理手段が、前記位置データに基づいて前記トリガイベントを生成する請求項５８または５９に記載の電子ペン。
【請求項６１】
前記処理手段に動作可能に接続される音声センサをさらに備え、
前記処理手段が、前記音声センサによって記録される口頭のコマンドに基づいて、前記トリガイベントを生成する請求項５８または５９に記載の電子ペン。
【請求項６２】
前記処理手段に動作可能に接続されるトリガボタンをさらに備え、
前記処理手段が、前記トリガボタンの状態変化の検出に基づいて、前記トリガイベントを生成する請求項５８または５９に記載の電子ペン。
【請求項６３】
位置コーディングパターンの少なくとも一つの部分集合を備える製品と、
請求項４５〜６２のいずれか一項に記載の電子ペンと、
前記外部データハンドラから前記ファイルオブジェクトを取得し、前記位置データを処理するアプリケーションプロセッサと、
を備える情報管理システム。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】電子ペンでのデータ管理
【技術分野】
【０００１】
本発明は、概してデジタルで記録されたデータの管理に関し、詳細には電子ペンでのこのデータの管理に関する。
【背景技術】
【０００２】
電子ペンは、書き込み面を有する製品上での手書きの入力を電子的に表現する情報の生成のために使用できる。電子情報がさらなる処理のために異なる宛先装置に効率的に伝達できるように、情報管理システムにこのような電子ペンを組み込むことが望ましいであろう。
【０００３】
参照としてここに組み込まれている米国第２００３／００６１１８８号、米国第２００３／００４６２５６号、および米国第２００２／００９１７１１号では、本出願人は、製品上で複数の絶対位置をコーディングするために各製品に位置コードが適用される情報管理システムを提案している。電子ペンは、位置コードを読み取ることにより製品上でのペンの動きを反映する位置の並びを電子的に記録できる。
【０００４】
各製品上での位置コードは、はるかに大きな抽象的な位置コーディングパターンの部分集合である。このような抽象的なパターンの例は、参照としてここに組み込まれている米国第６，５７０，１０４号、米国第６，３３０，９７６号、および米国第６，６６７，６９５号に開示されている。
【０００５】
抽象パターンは、所与のサイズの部分集合に分割され、各部分集合は、システム内で一意の識別子に関連付けられている。各部分集合が、各々の物理的なページ向けである場合には、それはパターンページで示され、一意のページアドレスにより表現される。このようなケースでは、各々の絶対位置は、ページアドレスと、関連付けられたパターンページ内のローカルな位置で表現されてよい。
【０００６】
電子ペンは、例えば出願人の公報である米国第２００３／００６１１８８号に記載されているように、いわゆるテンプレートを介して抽象位置コーディングパターンの知識を有することができる。テンプレートは、ペンに事前に記憶され、パターンの中に特定の機能領域を定義する。ペンは、テンプレートにより示される機能に基づいて、記録されている位置を処理する、および／または、例えば特定の機能領域内に位置を記録するときに振動することによってペンユーザにフィードバックを行うことができる。
【０００７】
抽象的なパターンの異なる部分を異なる宛先装置に指定することによって、電子情報を、ペンから処理のための正しい宛先装置に自動的に向けることができる。例えば、システムは、中継サーバを含んでもよい。中継サーバは、ペンから一つ以上の絶対位置を受信すると、正しい動作主（アクタ）の関連付けられたネットワークアドレスを特定し、このアドレスへのデータの流れに向ける。
【０００８】
このようなシステムは、出願人の従前の公開、米国第２００３／００５５８６５号に開示されている。そのシステムでは、電子ペンが、第一の往復（ラウンドトリップ）でいわゆるペーパールックアップサーバ（ＰＬＳ）と接続し、位置コード化されたされた製品からペンが引き出した位置データに基づいて情報をルーティングするためにそれを照会する。次に、ＰＬＳからのルーティング情報を受信すると、第二の往復（ラウンドトリップ）で、電子ペンが、ルーティング情報によって示されるように、アプリケーションサーバと接続する。それからアプリケーションサーバは、ペンから関連位置データを要求する。
【０００９】
システムは、トランスペアレントで合理化されたデータの流れを提供することにより恩恵を受けるが、エンドツーエンド装置であるという不都合もある。具体的には、システムは、データが転送されなければならないときは常に、各々の通信経路のみではなく、ペン、ＰＬＳおよび各々のアプリケーションに、アクセス可能となることを必要とする。通信の連鎖のいずれかでの障害により、おそらくペンのユーザがそれについて適切に知らされないまま、データが失われる可能性がある。
【００１０】
別の不利な点は、製品を情報管理システムの他のコンポーネントと無関係に生成できないという点である。例えば、ペンはその製品のためのテンプレートを記憶しなければならず、中継サーバは特定の製品から記録された情報をいずれに向けるのかを知らなければならず、アプリケーションサーバはこの情報をどのように処理するのかを知らなければならない。
【特許文献１】米国第２００３／００６１１８８号
【特許文献２】米国第２００３／００４６２５６号
【特許文献３】米国第２００２／００９１７１１号
【特許文献４】米国第６，５７０，１０４号
【特許文献５】米国第６，３３０，９７６号
【特許文献６】米国第６，６６７，６９５号
【特許文献７】米国第２００３／００５５８６５号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、従来の技術の前記の問題を克服することにある。
【課題を解決するための手段】
【００１２】
一般に、本発明の目的は、独立クレームによる方法、電子ペン、コンピュータプログラム製品、および情報管理システムによって少なくとも部分的に達成され、好適実施形態は従属クレームにより定義されている。
【００１３】
本発明の一つの態様は、電子ペンにおいてデジタルで記録された位置データを管理する方法であって、位置データをファイルシステムでの記憶に適したデータファイルオブジェクトの中に組み込むことと、ファイルオブジェクトを外部データハンドラに露呈することとを備える方法である。
【００１４】
本発明の別の態様は製品上に書き込むための電子ペンである。電子ペンは、書き込み中に製品の少なくとも一つの画像を記録する画像読取装置と、少なくとも一つの画像に基づいて、書き込みを示す位置データを決定する画像プロセッサと、ファイルシステムでの記憶に適したデータファイルオブジェクトに位置データを組み込むファイルアセンブラと、ファイルオブジェクトを外部データハンドラに露呈する露呈器とを備える。
【００１５】
これらの態様の一般的な利点は、ペンによって記録される位置データが、情報管理システム内で非同期で処理できるという点である。情報管理システムのペンと他のコンポーネントと間で、往復（ラウンドトリップ）通信をする必要はない。記録される位置データが、自律的なデータファイルオブジェクトとしてペンにより露呈されてよいからである。したがって、データファイルオブジェクトは、転送の順次連鎖でシステム内で送ることができ、各転送は、他の転送とは無関係である。連鎖の特定の部分は、位置データがシステム内で失われることなく一時的に動作不能となることがある。本発明は、外部データハンドラと転送動作に関与する他のコンポーネントを適切に設計することによって、トランスペアレントで合理化されたデータの流れを可能とする。
【００１６】
データの露呈は、データファイルオブジェクトが外部データハンドラに対してプッシュされること、または、データファイルオブジェクトが外部データハンドラによって、適切にはペンのメモリ内のファイルシステムから、取り出される（プルされる）ために使用できるようにされること、を含んでよい。プッシュによる露呈は、外部データハンドラがアクティブであることが必要であるが、システムの他の任意のコンポーネントはオフラインであってよい。取り出し（プル）のための露呈は、システムの他のコンポーネントすべてがオフラインであるときに達成されてよい。
【００１７】
方法の一実施形態では、方法は、製品上の第一のコードの記録を座標系の少なくとも一つの絶対位置に変換することと、第二のコードの記録を入力データに変換することと、入力データに基づいて少なくとも一つの絶対位置を処理することと、をさらに含んでいる。入力データは座標系で少なくとも一つの機能領域を定義してよい。この方法は、少なくとも一つの絶対位置が少なくとも一つの機能領域の範囲に入るか否かを特定するために入力データに対して少なくとも一つの絶対位置をマッピングすることをさらに含んでよい。
【００１８】
電子ペンの一実施形態では、画像プロセッサは、製品上の第一のコードの少なくとも一つの画像に基づいて位置データを決定するために動作可能であり、位置データは、座標系の少なくとも一つの絶対位置を備え、画像プロセッサは、第二のコードの少なくとも一つの画像に基づいて入力データを決定するためにも動作可能である。さらに、ペンの処理論理回路は、入力データに基づいて少なくとも一つの絶対位置を処理するために動作可能であり、入力データは座標系の少なくとも一つの機能領域を定義してよく、処理論理回路は、少なくとも一つの絶対位置が少なくとも一つの機能領域の範囲に入るか否かを特定するために入力データに対して少なくとも一つの絶対位置をマッピングしてよい。
【００１９】
これらの実施形態の一般的な利点は、ペンが、製品の機能レイアウトの完全な記述（ディスクリプション）、または、部分的な記述を、動的に与えられてよいという点である。記述は、ペンメモリに事前に記憶されていた任意の説明を、補足または置換するために使用されてもよい。ペンは、製品すべてのためのこのような記述を事前に記憶する必要はない。新しい記述および製品は、製品またはペンのプロバイダがペンの中の対応する記述を更新する必要なく、導入されてよい。
【００２０】
ペンは、機能レイアウトの完全な記述にアクセスできる場合、例えばペンのＭＭＩを介して、製品上の任意の機能領域に関する高度なユーザフィードバックを行うことができる。さらに、ペンは、このような完全な記述を鑑みて記録された位置を処理するため、さらに高い精緻化レベル（リファインメントレベル）でデータを出力できる。例えば、精緻化は、記録された位置を機能領域に割り当てることと、および／または、機能領域と関連付けられる規則が第二のコードによって示されているか、あるいは、第二のコードに含まれている場合には、記録された位置をその規則に従って処理すること、を含んでよい。製品の機能レイアウトに関するペンの知識を増やすと、情報管理システムの他の部分での事前の記憶のために機能レイアウトデータを分配する必要性も低減できる。データがペンデータ出力から直接的に推論されてよいからである。
【００２１】
データファイルオブジェクトの中の記録されている位置データを出力するという態様を、機能レイアウトデータをコーディングするという態様と結合することにより、情報管理システムに対するペンの依存性、および、ペンに対する情報管理システムの依存性を、さらに緩和することが可能になる。
【００２２】
本発明のさらに他の目的、特徴、態様および利点は、図面からだけではなく、以下の詳細な開示、添付される従属クレームから示されるであろう。
【００２３】
添付の概略図を参照して、本発明をさらに詳細に説明する。
【発明を実施するための最良の形態】
【００２４】
＜抽象パターン＞
以下の説明は、複数のページユニットに分割される抽象的な位置コーディングパターンの使用に基づいている。複数のページユニットは、ページユニットグループの階層の中でそれぞれ個別にアドレス指定できる。図１には、一つの例が示される。この例では、パターン１０６が、複数の「セグメント」１１０を含んでおり、「セグメント」が複数の「シェルフ」１１１に分割され、「シェルフ」１１１が複数の「ブック」１１２を含んでおり、「ブック」１１２が複数の「ページユニット」１１３に分割される。「ページユニット」は、「パターンページ」とも呼ばれる。適切には、すべてのパターンページは、パターン階層の一つのレベルの中で、同じフォーマットを有する。例えば、あるシェルフは、Ａ４フォーマットのパターンページから成り、他のシェルフは、Ａ５フォーマットのパターンページから成る。抽象的なパターンの特定のパターンページの位置は、幾分、ＩＰアドレスのような、例えば「９９．５０００．１．１５００」などの「セグメント．シェルフ．ブック．ページ」形式で書くことができる。処理の効率の理由から、ページアドレスの内部の表現は異なってもよく、例えば６４ビット等の所定の長さの整数として示されてよい。
【００２５】
一例では、各セグメントは、２６，０００，０００を超えるパターンページから成り、パターンページの各々は、約５０×５０ｃｍ2のサイズを持つ。ある実施形態では、少なくとも一つのセグメントが、５，１７５のシェルフに分割され、各シェルフは、２，５１７ページの２冊のブックから成る。
【００２６】
各パターンページは、コーディングパターンの実際の部分集合として、又は、部分集合によってコード化される絶対位置として見なされてよい。このような絶対位置は、全体的なパターンの座標系１１４の中のグローバルな位置として表現されてよく、又は、論理位置、すなわちパターンページの中の座標系１１５のローカルな位置として表現されてよい。
【００２７】
電子ペンは、その動きを位置コード化された製品上で、グローバルな位置の並び（つまり、グローバルペンストローク）、または、ページアドレスおよび対応するパターンページ上のローカルな位置（つまりアドレス指定されたペンストローク）のいずれかとして記録してよい。
【００２８】
以下の説明も、一つ以上のパターンページに対応する位置コードを含む各製品に基づいている。しかしながら、製品上の位置コードがパターンページに準拠する必要がないことが留意されなければならない。一つ以上のパターンページからの一つ以上の部分集合は、製品上に任意に配列されてよい。製品は、埋め込まれた機能性を有しており、製品上の位置コードは、特定の位置を含む電子ペンストロークに選択的に作用する、一つ以上の機能と関連付けられている。
【００２９】
ペンの機能性は、位置コーディングパターンの特定部分でペンを操作するユーザによって、少なくとも部分的に制御される。この目的のため、ペンは、一つ以上のテンプレートを記憶する。テンプレートは、位置コーディングパターンの異なる部分（機能領域）から記録される情報にペンがどのように作用すべきかを定義する。ある実施形態では、例えばセグメントまたはシェルフ等のページ階層の中の特定のページユニットグループが、その特定の部分集合の中のパターンページすべてに有効である、所与のテンプレート定義と関連付けられている。テンプレートは、ペンの動作に影響を及ぼしてよい任意の機能領域のサイズ、配置、および機能を定義する。このような機能領域は「ピジェット」として示されている。図４は、パターンページ４０２の上にレイアウトされるようなテンプレート４００を描いており、様々なピジェット４０４の配置を示している。
【００３０】
テンプレートでは、パターンページの中のピジェットによって占有されていない全ての位置が、描画領域に属すると定義される。描画領域は、黙示的なピジェットと見なされてよい。描画領域内で検出される位置は、ペンによって解釈され、ペンストロークとして記録される。
【００３１】
ピジェットは、トリガ機能、サービス選択機能、デバイス選択機能、ローカルアクション機能、データ選択機能、解釈機能またはフィードバック機能を示してよい。トリガ機能は、後述するようにデータを露呈するためにペンをトリガする。サービス選択機能は、サービスを特定する。サービスは、ペンによる処理（記録位置の処理）に影響を及ぼすコンテキスト情報（例えば、ｅメール、ファックス、ＳＭＳ）を伝達するものでもよく、および／または、ペンによる選択（処理される位置の選択）に影響を及ぼすコンテンツ情報（例えば、ページ、ブック、シェルフ）を伝達するものでもよい。デバイス選択機能は、ペンのための接続装置（例えば、ＰＣ、モバイル機器、ＬＡＮアクセスポイント）を特定する。ローカルアクション機能は、ペンメモリに影響を及ぼすアクションを開始する。データ選択機能は、記録された位置をペン常駐データにマッピングする。例えば、キーボードピジェットは、ペンメモリ内の文字に位置をマッピングしてよく、また、ショートカットピジェットは、ペンメモリ内の通信アドレスに位置をマッピングしてよい。解釈機能は、ピジェット内の一つ以上のストロークを機械コーディング文字に変換するために動作してよい。フィードバック機能は、ペンに、バイブレータ、ディスプレイまたはスピーカ等の内部ＭＭＩをアクティブ化させてよい。
【００３２】
別のタイプのピジェットは、新しいインスタンス機能を示す。新しいインスタンス機能は、各ペンストロークをインスタンス識別子に関連付けることによって、潜在的に重複するペンストロークを分離するために動作する。例えば、新しいインスタンス機能が開始されると、新しいインスタンス識別子が、パターンページまたはブック等の抽象的なパターンの関連性のある部分について生成されることになり、その結果、それ以後に記録される任意のペンストロークは、そのインスタンス識別子と関連付けられてよい。インスタンス識別子は、ページアドレスと適切に関連付けられるか、または、ページアドレスに組み込まれる。
【００３３】
一実施形態では、テンプレートが、ピジェットＩＤによって各ピジェットを定義し、パターンページ４０２内のローカルな位置のサイズと配置を定義する（図４）。ピジェットＩＤは、ピジェット機能を決定する１６ビットの識別子である。ピジェットＩＤは、ピジェットタイプ（ビット８〜１５）とピジェット番号（ビット０〜７）から成る。ピジェットタイプは、前述の機能を特定し、ピジェット番号は、サブ機能を特定してよい。
【００３４】
前述のトリガピジェットは、特定のものまたは一般のものとなり得る。特定のトリガピジェットは、ピジェット番号を介して特定の接続装置と特定のサービスの両方を特定するピジェットＩＤを有する。ペンは、このような特定のトリガピジェット内の位置を記録する場合は、必ず、データの露呈を達成できる。一般のトリガピジェットは、特定の接続装置および／または特定のサービスを特定しないピジェットＩＤを有する。データの露呈をトリガするために、一般のトリガピジェットは、ペンが対応する位置を記録し、有効なサービスと有効な接続装置の両方を特定するトリガピジェットＩＤを形成することにより、デバイス選択ピジェットおよび／またはサービス選択ピジェットと組み合わせて使用しなければならない。
【００３５】
＜電子ペン＞
図２は、ペン２００の実施形態を描いている。ペン２００は、ウィンドウまたは開口部２０４を定める、ペン状の筺体またはシェル２０２を有している。そのウィンドウまたは開口部２０４を通して、画像が記録される。筺体は、カメラシステム、電子システムおよび電源を含んでいる。
【００３６】
カメラシステム２０６は、少なくとも一つの照明光源、レンズ装置、および光画像読取装置（図１では図示せず）を備える。光源、適切には発光ダイオード（ＬＥＤ）またはレーザダイオードは、赤外線照射によってウィンドウ２０４を通して見られる領域の一部を照明する。見られる領域の画像は、レンズ装置によって画像読取装置に投影される。画像読取装置は、通常、約７０Ｈｚから１００Ｈｚの固定された速度で画像を捕捉するためにトリガされる二次元ＣＣＤまたはＣＭＯＳ検出器であってよい。
【００３７】
センサデバイス用の電源は、代替的に主電源（図示せず）によって置き換える、または補足することができる電池２０８である。
【００３８】
電子システムは、メモリブロック２１２に接続される制御装置２１０を備える。制御装置２１０は、電子ペンの様々な機能に関与し、ＣＰＵ（中央演算処理装置）等の市販されているマイクロプロセッサ、ＤＳＰ（デジタル信号プロセッサ）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、または、代替的にＡＳＩＣ（特定用途向け集積回路）等のいくつかの他のプログラマブルロジックデバイス、個別のアナログコンポーネントとデジタルコンポーネント、あるいは上記のいくつかの組み合わせによって実現できる。メモリブロック２１２は、好ましくは、ワーキングメモリ（例えば、ＲＡＭ）とプログラムコード、および固定記憶メモリ（フラッシュメモリ等の不揮発性メモリ）等の様々なタイプのメモリを含む。関連ソフトウェアは、電子ペンの動作のためのペン制御システムを提供するために、メモリブロック２１２に記憶され、制御装置２１０によって実行される。
【００３９】
また、筺体２０２は、ユーザが、その上に置かれている通常の色素ベースのマーキングインクによって表面に物理的に書き込み、描画することを可能にするペン先２１４も持つ。ペン先２１４の中のマーキングインクは、適切には、電子ペンでの光電子検出との干渉を回避するために照射光に対して透明である。接触センサ２１６は、何時ペンが下ろされるのか（ペンダウン）、および／または持ち上げられるのか（ペンアップ）を検出するために、および、場合により動作力の決定を可能とするためにペン先２１４に動作可能に接続される。接触センサ２１６の出力に基づき、カメラシステム２０６は、ペンダウンとペンアップの間で画像を捕捉するために制御される。制御装置２１０は、ペンストロークを電子的に表す時間的にコヒーレントな位置の並びを生成するために、これらの画像を処理する。
【００４０】
電子システムは、さらに後述するように、コンピュータ、携帯電話、ＰＡ、ネットワークサーバ等の近傍の装置または遠隔装置にデータを露呈するための通信インタフェース２１８をさらに備える。通信インタフェース２１８は、このようにして有線または無線の短距離通信（例えば、ＵＳＢ、ＲＳ２３２、無線、赤外線送信、超音波送信、誘導結合等）にコンポーネント、および／または、通常はコンピュータ、電話、または衛星通信ネットワークを介して有線または無線の遠隔通信にコンポーネントを提供してよい。
【００４１】
ペンは、ユーザフィードバックのために選択的にアクティブ化されるＭＭＩ（マンマシンインタフェース）も含んでよい。ＭＭＩは、ディスプレイ、インジケータランプ、バイブレータ、スピーカ等を含んでよい。
【００４２】
さらに、ペンは、それをアクティブ化および／または制御可能にする一つ以上のボタンを含んでよい。
【００４３】
＜情報管理システム＞
図３は、本発明が使用されてよい情報管理システムの概要である。後述するように、ペン２００は、システムの他のコンポーネントに露呈されるファイルオブジェクト３００にペンストロークデータを取り込む。一実施形態では、ファイルオブジェクト３００は、図３の経路３００Ａ〜３００Ｃによって示されるように、所与のローカル受信側デバイス３０２または遠隔受信側デバイス３０４にプッシュされる。経路３００Ａは、通信ネットワーク３１０を介してペン２００と遠隔装置３０４の間で直接的にセットアップされる。経路３００Ｂは、ペン２００からローカル装置３０２を通って、ネットワーク３１０を介して遠隔装置３０４にセットアップされる。経路３００Ｃは、ペン２００とローカル装置３０２の間にセットアップされる。別の実施形態では、ファイルオブジェクト３００は、経路３００Ａ〜３００Ｃのいずれか一つに沿って、受信側デバイス３０２、３０４によってペン２００からプルされるために露呈される。
【００４４】
ローカル受信側デバイスまたは遠隔受信側装置は、フローコントローラ３０６を含んでよい。フローコントローラ３０６は、経路３００Ｃ１、３００Ｃ２によって例証されるように、ファイルオブジェクト３００、または、ファイルオブジェクト３００から引き出されるデータを、ローカルに受信側デバイス上、または遠隔装置上のいずれかに常駐するアプリケーションプログラム３０８に中継する。このようなフローコントローラの例は、前述の米国第２００３／００４７２５６号および国際公開第０３／０５６４２０号パンフレットと国際公開第０３／１０５０６４号パンフレットに開示されている。複数のフローコントローラが、ペンからアプリケーションプログラムへのデータ転送に関与してよい。
【００４５】
フローコントローラ３０６は、例えばＨＴＴＰ（ハイパーテキスト転送プロトコル）ポスト、ＳＭＴＰ（簡易メール転送プロトコル）、Ｘ．４００、ＭＭＳ（マルチメディアメッセージングサービス）、ＳＭＳ（ショートメッセージサービス）、データベース同期等を介して、適切なデータを宛先アドレスに中継するように構成されてよい。宛先アドレスは、フローコントローラ３０６がファイルオブジェクト３００から抽出する中継データによって直接的にまたは間接的に与えられてよい。一実施形態では、フローコントローラは、明示的な宛先アドレスをファイルオブジェクトから抽出する。別の実施形態では、フローコントローラ３０６は、ファイルオブジェクトからアドレスインジケータを抽出し、該アドレスインジケータに基づいて宛先アドレスを引き出すためにルックアップテーブルにアクセスする。例えば、アドレスインジケータは、ページアドレス、グローバルポジション、ピジェットＩＤ、ペン常駐パラメータ値等であってよい。また、中継される適切なデータは、中継データによって直接的にまたは間接的に与えられてよい。ファイルオブジェクト３００を中継する代替策として、フローコントローラ３０６は、ファイルオブジェクト３００が取り出しのために使用可能である宛先アドレスに通知を送信してよい。
【００４６】
ファイルオブジェクト３００、または、ファイルオブジェクト３００から引き出されるデータを受信すると、アプリケーションプログラム３０８は、送信側の物理的な製品、つまりファイルオブジェクト３００の中の位置データがそこから発生する製品（図３では、符号Ｐで示されている）を定義するページ記述にアクセスしてよい。ページ記述は、送信側製品Ｐのレイアウトを定義する。レイアウトは、製品の物理的レイアウトと機能レイアウトの両方を含む。物理的レイアウトは、サポートグラフィックス、つまりユーザに指示すること、ユーザを制御すること、および／または、ユーザに知らせることを目的とした人間が理解できる情報を含む。機能レイアウトは、関連するパターンページ上のいわゆるユーザ領域の配置とサイズを定義する。ユーザ領域は、アプリケーションに特化した機能領域であり、配置、サイズおよび機能は特定のアプリケーションプログラム３０８に一意であってよい。ページ記述では、各ユーザ領域に、アプリケーションプログラムがアクセスできる専用の処理命令の識別子が割り当てられてよい。代替的に、各処理命令はページ記述に含まれてよい。また、物理的なレイアウトは、物理的レイアウトの生成のための明示的な指示、または、物理的レイアウトを定義するコンピュータファイルの記憶装置アドレスのインジケータのいずれかとして、ページ記述に含まれてよい。
【００４７】
ページ記述の構造、機能性および用途は、米国第２００２／００４０８１６号と国際公開第０３／１０５０６４号パンフレットに記載されている。
【００４８】
図４は、パターンページ４０２、テンプレート４００、ページ記述４１０および物理的な製品４２０の間の相互関係を描いている。物理的な製品４２０は、一つ以上のパターンページ４０２（図４では一つのみ図示）の中で位置を定義する位置コード（図示せず）を含む。これらの位置は、システム（ピジェット４０４用）内で事前に定義されたもの、あるいは、アプリケーションに特化したもの（ユーザ領域４１４用）のいずれかの一つ以上の機能と関連付けられている。ピジェット４０４は、パターンページ４０２の中で事前に定義された配置とサイズを有するが、物理的な製品４０２上に任意に配置されてよい。ページ記述４１０は、製品４２０の物理的なレイアウトのみではなく、パターンページ４０２上の任意な追加のユーザ領域４１４の配置、サイズおよび機能をも定義する。製品４２０は、テンプレート４００によって与えられる一つの機能レイアウト部分４００’と、ページ記述４１０によって与えられる一つの機能レイアウト部分４１０’とを含む。
【００４９】
ファイルオブジェクト３００（図３）のペンストロークデータは、自立している。つまり、受信側アプリケーションプログラム３０８は、データを作成したペン２００とのいかなる通信も必要とせずに、データにアクセスして処理することができる。したがって、従来の技術とは対照的に、ペン２００は、非同期で、つまり情報管理システム内での往復（ラウンドトリップ）なしに、データを出力する。
【００５０】
ファイルオブジェクト３００は、様々な精緻化レベルで、ペン２００によって生成されてよい。例えば、ファイルオブジェクト３００は、以下の内のいずれか一つ、あるいはその組み合わせを含んでよい。
（１）未処理のペンストロークデータ、つまり、ペンストロークを構成するグローバル、または論理的な位置の時間的にコヒーレントな並び。
（２）ペンストロークのピクチャ、つまり、記録されている位置を直接的に表す画像。
（３）精緻化されたペンストロークデータ、典型的には、ペンストロークによって接触された任意のピジェットのＩＤ、および／または、ピジェットと関連付けられた機能の結果等のテンプレート関連情報。
（４）例えば、情報管理システムのペン生成データの未承認の処理または分配を妨げるために、スクランブルされた、および／または暗号化されたペンストローク。一例では、ページアドレスは、所定のアルゴリズムに従って扱われ、あるいは、ペンストロークから排除されてよい。
（５）ペンストロークにより接触されるすべてのユーザ領域の表示、および／または、ユーザ領域と関連付けられた機能の結果。
【００５１】
ファイルオブジェクト３００は、様々な精緻化レベルで、追加のペンの関連データ、または、ストロークの関連データを含んでよい。精緻化レベルは、例えば、ペンストロークの位置および任意のピジェットのタイムスタンプ、ペンストロークの位置の力の値（力値）、および、任意のペン常駐パラメータ等のいずれか一つである。タイムスタンプによって、アプリケーションプログラムまたはフローコントローラは、それらの相互の記録時間に基づいてストロークおよび／またはピジェットを結合できる。各タイムスタンプは、位置／ピジェットの送信側画像がペンカメラシステム２０６（図２）によって捕捉された時刻を反映する。力値によって、アプリケーションプログラムは、力に依存する線幅のストロークの画像をレンダリングできる。
【００５２】
ペン常駐パラメータは、ペン自体の特徴、あるいは、ペンの所有者／ユーザの特徴を特定するためにメモリブロック２１２（図２）に記憶されている。これらのパラメータは、受信側アプリケーションプログラム３０８（図３）によって使用されてよく、したがってファイルオブジェクト３００に少なくとも選択的に含まれてよい。ペン常駐パラメータを含めることは、ファイルオブジェクトの中のストロークのページアドレスによって、および／または、前述のコンテキスト情報またはコンテンツ情報によって決定されてよい。ペン常駐パラメータは、ペンの一意の識別子、言語識別子、名称、番地所在地、電子メールアドレス、電話番号、ポケベル番号、ファックス番号、クレジットカード番号等を含んでよい。
【００５３】
ファイルオブジェクト３００は、文字符号化または非文字符号化（例えばバイナリ）されてよく、任意の適切なフォーマットであってよい。ファイルフォーマットは、独自の仕様であってよく、あるいは、例えばＸＭＬ（拡張マークアップ言語）、ＨＴＭＬ（ハイパーテキストマークアップ言語）、ＸＦｏｒｍｓ、ＰＤＦ（ポータブルドキュメントフォーマット）等に標準化されてよい。
【００５４】
＜ペン制御システム＞
ペン２００は、制御装置２１０（図２）で実行されているソフトウェアによって動作する。全体的なソフトウェアアーキテクチャを、図５を参照して説明する。図５には、いくつかの主要なソフトウェアコンポーネントが描かれている。
【００５５】
ペンシステムソフトウェアは、モジュールに基づいている。モジュールは、クリーンインタフェースを有するソフトウェア内の個別のエンティティである。モジュールは、少なくとも一つのプロセスを含むことによってアクティブであるか、または、プロセスを含まないことによってパッシブであるか、のいずれかである。モジュールは、関数呼び出しを実行する関数インタフェース、または、メッセージを受信するメッセージインタフェースを有してよい。アクティブなモジュールとパッシブなモジュールは、基本的に、モジュールにとっての親がそのすべての子供を起動し、停止することに関与するツリーとして構造化される。
【００５６】
また、ペンシステムソフトウェアは、モジュール間の依存性を低減するためにイベントフレームワークを実現する。各モジュールは、信号で知らせることができる事前に定義したイベントセットを露呈してよい。ある特定のイベントの通知を取得するには、モジュールは、イベントレジスタに登録されなければならない。イベントレジスタは、通知がメッセージをポスティングすることによって行われなければならないのか、あるいはコールバック関数として行われなければならないのか、を示してよい。
【００５７】
ペンシステムソフトウェアは、次の二つの基本的な機能を有する。
【００５８】
ペンが書き込む内容を記憶すること、および、記録された情報を要求時に露呈すること。露呈の前に精緻化のステップが実行されてもよく、あるいは、実行されなくてもよい。
【００５９】
ソフトウェアモジュールの組み合わせは、いわゆる座標パイプライン５０２を実現する。座標パイプライン５０２は、ストロークの記憶のためのイベントのフローである。画像処理モジュール５０４からのグローバル位置の文字列は、グローバル位置を論理位置に変換するトランスレータモジュール５０６によって受け取られる。トランスレータモジュール５０６がピジェットを通過するストロークを検出すると、対応するピジェットイベントがトリガされる。ピジェットイベントは、ピジェットイベントの各々の関連性を決定するイベントリスナーを含むこれらのモジュールによって、他のソフトウェアモジュールで適切なアクションを引き起こす。アドレス指定されたペンストロークは、座標マネージャモジュール５０８によって受信される。座標マネージャモジュール５０８は、それらを、コンパクトな表現で符号化されメモリブロック２１２（図２）に記憶されるアドレス指定されたペンストロークにアセンブルする。
【００６０】
＜１．スーパバイザ＞
図５に示されているように、ペンシステムソフトウェアは、他のすべてのモジュールを直接的にまたは間接的に起動するスーパバイザモジュール５０９を含む。スーパバイザモジュール５０９は、イベントレジスタに対するインタフェースを含み、モジュールは、自らが受け取ることを希望するイベントに自身を登録できる。また、スーパバイザモジュール５０９は、他のソフトウェアモジュールでリスナーが使用可能である制御イベントを生成する。
【００６１】
＜２．サーバ＞
サーバモジュール５１０は、ペンにおけるイベントのコーディネータとして提供される。サーバモジュール５１０は、システムの状態と次期のイベントに基づいてペンが何をするべきなのかを判断する。
【００６２】
＜３．画像処理＞
画像処理モジュール５０４は、ここでは詳しく説明しない。画像処理モジュール５０４は、例えば以下の出願人の従前の公開に従って実現できる。
【００６３】
米国特許第２００３／００５３６９９号、米国特許第２００３／０１８９６６４号、米国特許第２００３／０１１８２３３号、米国特許第２００２／００４４１３８号、米国特許第６，６６７，６９５号、米国特許第６，７３２，９２７号、米国特許第２００３／０１２２８５５号、米国特許第２００３／０１２８１９４号、およびその中の参考資料。
【００６４】
＜４．位置データベース＞
ペンは、位置データベース５１１を含む。位置データベース５１１は、ペンのメモリブロック２１２（図２）に常駐し、通信インタフェース２１８（図２）を介して編集または更新できる。位置データベース５１１は、トランスレータモジュール５０６によって使用され、セグメントデータベース５１１Ａを含む。セグメントデータベース５１１Ａは、各セグメントをテンプレートインデックスにより示されるテンプレートと関連付ける。セグメントデータベース５１１Ａは、高速アクセスのためにＲＡＭメモリのキャッシュの中に入れられる。また、位置データベース５１１は、テンプレートデータベース５１１Ｂを含む。テンプレートデータベース５１１Ｂは、テンプレートインデックスを、ペンの中の不揮発性メモリのパラメータとして記憶されてよいテンプレート定義に対するポインタと関連付ける。テンプレート定義は、ページＸサイズ（１６ビット）、ページＹサイズ（１６ビット）、ページ数（１６ビット）、ピジェット数（１６ビット）、ピジェットリスト（ピジェット長の数）を含んでよい。ピジェットリストは、複数のピジェットから成る。各ピジェットは、ピジェットＩＤ（１６ビット、最上位の８はタイプ、最下位の８は番号である）、Ｘ左上座標（１６ビット）、Ｙ左上座標（１６ビット）、幅（１６ビット）、高さ（１６ビット）により定められる。
【００６５】
＜５．トランスレータ＞
トランスレータモジュール５０６は、公知のパターンフォーマットデータに基づくアルゴリズムを使用して、グローバル位置を論理位置に翻訳する。パターンフォーマットデータは、コーディングパターンのパターンページ（図１）への階層上の分割を定義する。他の部分は、ペンの位置データベース５１１から動的に引き出されてよいが、パターンフォーマットデータの部分は、ペンに動的に記憶されてよい。例えば、すべてのセグメントが所定のサイズを有する場合、グローバル位置は、そのグローバル位置のカレントセグメントを特定するために処理されてよい。カレントセグメントを知っていると、その分割のデータは、位置データベース５１１のそのテンプレート定義から引き出されてよく、その結果、グローバル位置は、さらに処理されて、カレントシェルフ、ブック、ページ、およびローカル位置、つまり完全論理位置を特定する。ペンがしばらくの間一つの同じパターンページ上で動作する場合には、グローバル位置のカレントパターンページの境界をキャッシュに入れ、これらの境界に対して任意の新しいグローバル位置をチェックすることによって、大きなスピードアップが達成されてよい。新しいグローバル位置が境界範囲内にある限り、ページアドレスの再計算に対するニーズは排除される。
【００６６】
また、トランスレータモジュール５０６は、位置データベース５１１によって与えられる関連性のあるテンプレート定義にローカル位置をマッピングすることによって、任意の記録された位置がカレントパターンページ上のピジェットの範囲に入るか否かを検出する。一実施形態では、ストロークごとに一つのピジェットだけしか特定できない。つまり、複数のピジェットが特定されると、最後のピジェットのみが考慮される。対応するピジェットイベントは、次に他のソフトウェアに対する通知のために生成される。ピジェットが特定されない場合、位置が描画領域の範囲に入ると仮定される。
【００６７】
各グローバル位置について、トランスレータモジュール５０６が、少なくともページアドレスとローカル位置を提供する。各時間的にコヒーレントな位置の並び、つまりストロークの場合、トランスレータモジュール５０６は、ピジェットＩＤを提供してもよい。また、各論理位置は、制御装置２１０（図２）のタイミング回路によって与えられるタイムスタンプ、および接触センサ２１６によって与えられる力値と関連付けられる。各ピジェットＩＤは、タイムスタンプと関連付けられる。また、トランスレータモジュール５０６は、他のモジュールがテンプレートとピジェットについて位置データベース５１１の中で情報を調べることができるようにするインタフェースを有してよい。
【００６８】
＜６．座標マネージャ＞
座標マネージャモジュール５０８は、トランスレータモジュール５０６から論理位置を受け取る。記憶される前に、論理位置は、時間的にコヒーレントな並び、つまりストロークにグループ化される。これは、代替的にトランスレータモジュール５０６によって行われてもよい。座標マネージャモジュール５０８は、次に圧縮のために各ストロークを前処理し、不揮発性メモリに結果を記憶する。このような圧縮と記憶の例は、米国第２００３／０１２３７４５号および米国第２００３／０１２２８０２号に示されている。
【００６９】
また、座標マネージャモジュール５０８は、他のモジュールのためのインターフェースを含んでいる。このインターフェースは、例えばページアドレスに基づいて記憶されているストロークを検索するため、および、トランスポートフォーマットでストロークを取り出すためのものである。一実施形態では、トランスポートフォーマットは、バイナリであり、セッション識別子、各ストロークの開始時刻、各ストロークでのローカル位置、および各々の位置の力値を含む。場合により、トランスポートフォーマットは、位置の記録中のペンの三次元方位を示すために捕捉された画像から計算される方位データを含んでよい。
【００７０】
セッション識別子は、ペンストロークの異なるセットが入力されるペンワーキングセッションを示す。例えば、セッション識別子は、ペンがオンに切り替えられるたびに増分される３２ビットの符号付き整数値であってよい。セッション識別子は、さらに後述するように先行するワーキングセッションの間に選択された任意の特性をリセットするためにアプリケーションプログラム３０８（図３）によって使用されてよい。
【００７１】
＜７．パラメータ記憶＞
ペンシステムは、パラメータ記憶モジュール５１２も含む。ペン停止後の状態を保持する必要性のある他のすべてのモジュールは、それらの状態パラメータを記憶するためにこのモジュールを呼び出す。また、パラメータ記憶モジュール５１２は、テンプレート定義のみではなく一意のペンパラメータ（ペン識別子等）または校正パラメータ等の生成で設定されるペン常駐パラメータを処理する。各パラメータは、不揮発性メモリに、名前、サイズおよびデータとともに記憶される。モジュール５１２は、パラメータの挿入、取り出しおよび削除のためのインタフェース５１２’を提供する。
【００７２】
＜８．キーボード＞
キーボードモジュール５１４は、ペンに対するテキスト入力を使用可能とするために備えられる。テンプレートデータベース５１１Ｂは、キーボードピジェットを含む特定の制御テンプレートを含む。制御テンプレートは、一連のパターンページ（例えば、セグメント、シェルフ、またはブック）について定義され、異なるページのキーボードピジェットには異なる言語が割り当てられる。メモリの効率上の理由から、各キーボードキーの特定の文字に対するマッピングは不揮発性メモリに常駐し、異なる言語が一連のパターンページの中の異なるページアドレスに割り当てられる。キーボードモジュールは、ペーパーイベントを傾聴（リスン）し、キーボードピジェットイベント時に、どのキーが叩かれたのかを計算し、カレントページアドレスに基づいてメモリからの適切な文字をロードする。インタフェース５１４’により、他のモジュールが、結果として生じる文字にアクセスできる。
【００７３】
＜９．項目選択＞
項目選択モジュール５１６は、ペンユーザがペンを用いてペンメモリから項目を選択可能にするために実装される。テンプレートデータベース５１１Ｂは、ペンメモリの中の項目と関連付けられている一つ以上の専用ピジェットを含む。このような項目は、例えばペン常駐アドレスブックのアドレスレコードであり得る。項目を選択するために、ユーザは、対応するピジェットにチェックマークを付ける。項目選択モジュール５１６は、関連するピジェットイベントについて傾聴（リスン）するために実装される。イベントの検出時、項目選択モジュール５１６は、関連付けられた項目を抽出し、ビットベクトルの中で内部的に管理する。他のモジュールは、インタフェース５１６’を通して項目にアクセスできる。
【００７４】
＜１０．解釈＞
解釈モジュール５２０は、ペンストロークを解釈するために提供される。解釈モジュール５２０は、関連するピジェットイベントを傾聴（リスン）するために実装される。イベントの検出時、解釈モジュール５２０は、出力項目を生成するためにイベントと関連付けられるストロークで解釈関数を実行する。場合により、複数のストロークが、例えばピジェットに対するそれらの位置に基づいて、解釈プロセスの前にグループ化されてよい。解釈関数は、例えばストロークを機械コード化された文字に変換してよい。解釈は、前述のサービス識別子によって与えられる特定のコンテキスト（例えば、ｅメール、ファックス、ＳＭＳ）で実行されてよい。さらに、解釈関数は、前述のアドレスブック等のペン常駐ディクショナリによってサポートされてよい。インタフェース５２０’によって、他のモジュールが、解釈の結果にアクセス可能になる。
【００７５】
＜１１．プロパティ割り当て＞
プロパティ割り当てモジュール５１８は、プロパティテーブルを作成するために提供される。プロパティテーブルは、ユーザによって、適切にはペンを一つ以上のプロパティ選択ピジェットに接触させるユーザによって、ペンストロークに割り当てられるプロパティを含むサポートデータ構造である。このようなプロパティは、インプリメンテーションに応じて、プロパティ選択イベントに時間的に隣接するストローク、つまり先行するストロークおよび／または後続のストロークに作用してよい。プロパティテーブルは、関連するタイムスタンプのみではなく、チェックマークが付けられたプロパティ選択ピジェットによって与えられるすべてのプロパティ値の表示を含んでよい。
【００７６】
このようにして、プロパティ割り当てモジュール５１８は、関連するピジェットイベントについて傾聴（リスン）するために実装される。イベントの検出時、プロパティ割り当てモジュール５１８は、関連するピジェット値をテンプレートデータベース５１１Ｂから引き出し、ピジェット値をプロパティテーブルに追加する。
【００７７】
プロパティは、通常、ストロークの処理のために、または処理手順自体のために、命令に関連してよい。プロパティ値は、色、線の太さ、行文字、時間分解能、または空間分解能等の表示品質を示してよい。さらに、プロパティ値は、所望の解釈コンテキスト（文字、数字、小文字、大文字、ｅメールアドレス、ファックス番号、銀行口座番号等）を示してよい。さらに別の代替策では、プロパティ値は、改ページ、ページ列、またはページマージン等のページフォーマットパラメータを示す。さらに、プロパティ値は、外部に記憶されている様々な個人データ（例えば、社会保障番号または個人に関する番号、電話番号、銀行口座番号）が、ペンストロークの特定のセットを処理するときに入力データとして使用されてよいことを宣言するために「アクセス許可」インジケータとしての機能を果たしてよい。
【００７８】
プロパティテーブルは、アプリケーションプログラム３０８（図３）が特定されたプロパティ値を容易に引き出して、ペンストロークに適用可能にする。このようにして、アプリケーションプログラムは、選択されたプロパティ値を引き出すためにテンプレート定義にペンストロークをマッチングさせる必要はない。代わりに、アプリケーションプログラムは、各々のタイムスタンプに基づき、プロパティ値をペンストロークにマッチングさせることによって、プロパティテーブルの中のプロパティ値を直接に適用してよい。このマッチングは、前述のトランスポートフォーマットで表現されるようなストロークに含まれる、前述のセッション識別子も考慮に入れてよい。したがって、セッション識別子がストロークデータの中で変化するたびに、すべてのプロパティは、それらのデフォルト値にリセットされる。ストロークデータに含まれる代替策または補足として、セッション識別子が、プロパティテーブル内のタイムスタンプが押された項目として含まれてよい。
【００７９】
＜１２．ファイルアセンブリ＞
ファイルアセンブリモジュール５２２は、ペン外部のデータハンドラに露呈されるファイルオブジェクト３００（図３）を生成するために実装される。該モジュール５２２は、トリガピジェットイベント等の専用イベントについて傾聴（リスン）するために実装される。専用イベントの検出時、ファイルアセンブリモジュール５２２は、座標マネージャモジュールから、バイナリトランスポートフォーマットでトリガピジェットと関連するストロークを取り出す。
【００８０】
ファイルアセンブリモジュール５２２の機能性は、精緻化のレベルに依存する。上記のステップは、上記に定義されるようにレベル１の精緻化にとって十分である。
【００８１】
レベル３の精緻化の場合、モジュール５２２は、他のモジュールからデータ項目を取り出してよい。他のモジュールは、トリガピジェットと関連付けられる他のピジェットによって示される。このようなデータ項目は、キーボードモジュール５１４、項目選択モジュール５１６、プロパティ割り当てモジュール５１８、および解釈モジュール５２０から取り出されてよい。また、必要な場合、モジュール５２２は、このようなデータ項目、例えばキーボードモジュール５１４からの文字、または解釈モジュール５２０からの出力項目を結合する。最後に、このモジュールは、インタフェース５２２’を介して他のモジュールが使用可能になるファイルオブジェクト３００（図３）を生成する。
【００８２】
このようなファイルオブジェクトは、例えば以下の構造を有してよい。
ファイルヘッダ（トリガピジェットＩＤ、ページアドレス、ページ数、プロパティ数）
ページデータヘッダ（ページアドレス、ピジェット数）
ページデータ（トランスポートフォーマットのストロークデータ）
ピジェットデータ（ピジェットＩＤ、タイムスタンプ）
プロパティデータ（ペン常駐パラメータ値、キーボードからの出力項目、項目選択からの出力項目、解釈からの出力項目、プロパティ割り当てからのプロパティテーブル）
【００８３】
ファイルオブジェクトにより、アプリケーションプログラム３０８（図３）、および、場合により、フローコントローラ３０６は、そのすべての部分または選択された部分を特定し、抽出することができる。
【００８４】
精緻化レベル２、４および５でのファイルオブジェクトの生成は、＜１４．ストロークコンバータ＞、＜１５．エンクリプタ＞、および、＜１６．インポータ＞の項において、それぞれ後述する。
【００８５】
ファイルオブジェクトに含まれるストロークの選択は、トリガピジェットＩＤに含まれるコンテンツ情報から決定されてよい。このようなコンテンツ情報は、例えばカレントパターンページまたはブックを示してよい。つまり、選択されたストロークは、トリガピジェットと同じページユニットグループに属する必要がある。ストロークを選択する代替の方法があるのは明らかである。例えば、ストロークは、専用ペンストロークによって定義される境界領域内から選択されてよい（つまり、ペンに対して何を露呈するべきかを示すために、ペンは製品上で移動される）。別の例では、ペンメモリ内のすべてのストロークは、露呈のために自動的に選択され、適切には一つのファイルオブジェクトがパターンページまたはブックごとに作成される。場合により、ストロークは、例えばデータの前回の露呈のための時間等の時間基準に関して選択されてよい。
【００８６】
すべてのこのようにして選択されたストロークは、ファイルオブジェクトにストロークとして組み込まれてよい。代替的に、ピジェットおよび／またはプロパティデータとして表現されていないそれらのストロークのみが、ファイルオブジェクトの中に実際のストロークとして組み込まれる。
【００８７】
ファイルアセンブリモジュール５２２は、ファイルオブジェクトに独立データを挿入するために実装されてもよい。独立データは、ペンによって記録されるペンストロークにも、ペン自体にも関連していない。独立データは、挿入される代わりに、例えば、このようなデータのある別のファイルオブジェクトに対するポインタを含むファイルオブジェクトによってファイルオブジェクトと関連付けられてよい。
【００８８】
独立データは、任意の種類の非位置データを含んでよい。非位置データは、ペンの中のセンサによって引き出されてよい、あるいは、通信インタフェース２１８（図２）を介してペンによって受信されてよい。一例では、独立データは、位置決定のために使用される画像を捕捉する同じ画像センサによって入力される。別の例では、独立データは、ペンの中の補助画像センサによって入力される。このような独立データは、一つ以上の画像（つまり静止画像または動画）の形を取ってよく、あるいは、このような画像から抽出されるデータ（例えば、バーコードから復号されたデータまたは任意の他の機械読取可能コード、または光学式文字認識（ＯＣＲ）処理から生じる機械コーディングされたテキスト）の形を取ってよい。さらに別の例では、独立データは、ペンの中の音声センサによって記録される音声データであってよい。
【００８９】
ファイルアセンブリモジュール５２２は、座標のストリームの中で専用ピジェットを特定するトランスレータモジュール５０６によって、あるいは、専用コマンドを形成する一つ以上のペンストロークを検出する解釈モジュール５２０によって生成されてよいイベントによって、独立データをファイルオブジェクトに接続するためにトリガされてよい。代替的に、イベントは、押されているペン上のボタン２２２（図２）を検出するペンシステムによって生成されてよく、（例えばペンの中のマイクを介して）専用音声コマンドを検出するペンシステムによって生成されてよく、あるいは、通信インタフェース２１８（図２）で受信されるデータ内での特定のパラメータ値、専用フラグビット（複数の場合がある）等の受信を検出するペンシステムによって生成されてよい。
【００９０】
あるユーザシナリオでは、ユーザは、製品上のバーコードを横切ってペンを移動してよい。ペンの中のソフトモジュールは、ＥＡＮまたはＵＰＣ等の適切な外来の規格に従ってバーコードを特定し、例えば製品識別番号に復号する。次に、ユーザは、製品識別番号と該製品または別の製品に記録されている任意の位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令してよい。ファイルオブジェクトは、例えば、情報管理システムを介して発注、購入、または情報取り出しのために製品識別番号を通信するために使用されてよい。さらに別の代替策では、製品識別番号は、情報管理システムの位置コーディングされた製品を特定するために、つまり前述のページアドレスを置き換えるまたは補足するために使用される。
【００９１】
別のユーザシナリオでは、ユーザは、場合によりペンを用いて位置コーディングされた製品上に書き込むのと同期して、ペンの中またはペンに対する付属品の中のマイクを介して音声の記録を命令する。ユーザは、次に、該音声記録と製品に記録されている位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令する。ファイルオブジェクトは、例えば、音声を増強したメモレコードを形成するために使用されてよく、あるいは、情報管理システムを介して受取人に通信される音声メッセージと文書メッセージが結合されたメッセージを形成するために使用されてよい。
【００９２】
さらに別のユーザシナリオでは、ユーザは、ペンの中またはペンに対する付属品の中の画像センサによるデジタル写真またはビデオシーケンスの記録を命令する。ユーザは、写真またはビデオ録画、および製品上に記録された位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令してよい。ファイルオブジェクトは、例えば、情報管理システムを介して受取人に通信されるマルチメディアメッセージまたは電子葉書を作成するために使用されてよい。
【００９３】
さらに別の変形では、独立データは、前述の中継データの少なくとも一部を含む。中継データは、好ましくは、関連するアプリケーションプログラム３０８（図３を参照）のホストとなる受信側デバイス３０４等の、情報管理システムの意図された受取人の明示アドレスの形を取る。
【００９４】
＜１３．露呈＞
露呈モジュール５２４は、ペンの外部でデータハンドラに収集されたデータを露呈するために提供される。このモジュールは、トリガピジェットイベント等の専用イベントについて傾聴（リスン）するように実装される。専用イベントの検出時、露呈モジュール５２４は、ファイルアセンブリモジュール５２２からファイルオブジェクトを取り出し、デバイス識別子で示される特定のデバイス／ポートにファイルをプッシュすることによって、または、外部データハンドラがペンからファイルオブジェクトをプルすることを可能にすることのいずれかによって、そのデータファイルオブジェクトを露呈する。例えば、ファイルオブジェクトは、ペンメモリ内のファイルシステムに記憶されてよく、ファイルシステムは、外部データハンドラに露呈される。例えば、ファイルシステムは、ＵＳＢ（ユニバーサルシリアルバス）、ＦＴＰ（ファイル転送プロトコル）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）または任意の他の適切なプロトコルを介してブラウジングのために露呈されてよい。
【００９５】
露呈モジュール５２４は、すべての必要なプロトコルスタックを含む。また、露呈モジュール５２４は、個別のモジュールに割り当てられるリンクをセットアップする責任により、また、デバイス抽象（デバイスアブストラクション）と作業することにより、送信手段と無関係になるように設計される。リンクをセットアップする責任は、リンク選択モジュール（図示せず）に割り当てられている。リンク選択モジュールは、例えばペンがデータファイルオブジェクトの露呈を実行するためであるときに、通信リンクの選択とセットアップを扱う。
【００９６】
一実施形態では、露呈モジュールが、自律ファイルオブジェクトの露呈を行う非同期モードと、データのオンラインエンドツーエンド通信を行う従来の同期モードの間で切り替わってよい。このモードは、露呈をトリガするイベントによって示されてよい。
【００９７】
＜１４．ストロークコンバータ＞
レベル２の精緻化の場合、ペンシステムは、ストロークコンバータモジュール５２６とピクチャエンコーダを含んでよい。ストロークコンバータモジュール５２６は、ストロークの所定のセットをメモリブロック２１２（図２）の中のピクチャバッファに転送するものである。ピクチャエンコーダは、ピクチャバッファを所定のタイプの画像、例えばビットマップフォーマットまたはベクトルグラフィックスフォーマットに符号化するものである。ストロークコンバータモジュールは、画像変換手順の間に、プロパティ割り当てモジュール５１８によって割り当てられる任意のプロパティをストロークに適用するために実装されてもよい。例えば、ストロークコンバータモジュールは、プロパティ割り当てモジュール５１８によって検出されたすべての表示品質の変化を含んだタイムスタンプが押されたテーブルを構築してもよく、ピクチャバッファにストロークを転送する一方で該変化をストロークに適用してよい。
【００９８】
＜１５．エンクリプタ＞
レベル４の精緻化の場合、ペンシステムは、エンクリプタモジュール５２８を含んでよい。エンクリプタモジュール５２８は、暗号化されたファイルオブジェクトを生成するために所定の暗号化アルゴリズムに従ってファイルオブジェクトのすべてまたは選択された部分を処理する。代替的に、または追加的に、エンクリプタモジュールは、ストロークのすべてまたは部分集合のページアドレスを排除またはスクランブルしてよい。例えば、排除／スクランブル動作は、特定のページアドレスからのストロークのみに適用されてよい。
【００９９】
＜１６．インポータ＞
前述のように、非位置データは、ペンの中のセンサを介して、あるいは、通信インタフェース（図２の２１８）を介して、ペンの中にインポートされてよい。例えば、センサは、マイク等の音声センサであってよく、あるいは、位置決定のために画像を生成する一次センサまたは補助センサのいずれかである画像センサであってよい。
【０１００】
ペンシステムは、一つ以上のインポータモジュール５３０を含んでよい。インポータモジュールは、画像センサデータ、音声データまたは通信インタフェースデータ等の特定のインポート手段専用であってよい。代替的にまたは追加的に、インポータモジュールは、機械コード化されたテキスト、バーコードと関連付けられたデータ、または別の特定のタイプの機械読取可能コード、写真データ、ビデオシーケンスデータ等のデータの特定のタイプの処理に専用であってよい。
【０１０１】
以下に、特定のタイプのインポータモジュール、つまり定義インポータモジュールを、より詳細に説明する。
【０１０２】
定義インポータモジュールは、ペンシステムの中に、一つ以上の特定のパターンページ上ですべてのまたはいくつかの機能領域を定義する定義データをインポートできる。定義データは、前述のテンプレート定義に相当してよい、あるいは、パターンページ上のユーザ領域あるいはその任意の組み合わせまたは部分集合でユーザ領域を特定する前述のページ定義であってよい。
【０１０３】
後述するように、定義データによって、ペンは、精緻化レベル５でファイルオブジェクトを提供するのみではなく、さらに高度なユーザフィードバック／制御で操作可能になる。
【０１０４】
定義インポータモジュールは、ペンの通信インタフェース（図２の２１８）を介して自動的に、または命令で定義データをインポートするように構成されてよい。例えば、ペンは、内部メモリからまたは専用のネットワークサーバから定義データを取り出し、この定義データをペンに提供するローカル装置（図３の３０２）に接続してよい。代替的に、定義データキットが、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ＵＳＢメモリ等上で、あるいはインターネットのサイトからダウンロードを介して、ペンユーザに提供されてよい。ペンと通信するローカル装置内に適切に設置された後、ローカル装置は、定義データキット、またはその選択された部分をペンに提供できる。さらに別の代替策では、ペンは、通信ネットワーク上の専用サーバに接続してよい。インポータモジュールは、そこから定義データを引き出す。定義データが、インポータモジュールによってアクセスされるペンに取り外し自在に設置される記憶装置の中で提供されることも考えられる。記憶装置は、ＳＤカード、ＣＦカード、ＳｍａｒｔＭｅｄｉａ（登録商標）カード、ＭＭＣ、メモリスティック等の任意の公知のタイプのカードまたはカートリッジの形をとってよい。これらの実施形態のすべてにおいて、定義データは、典型的には、定義データをペンメモリに記憶させる結果となる特定のアップグレードセッションでインポートされる。その結果、ペンはインポートされ、記憶された定義データによってサポートされるすべてのパターンページで動作可能である。
【０１０５】
しかしながら、一つの特定な実施形態では、ペンは、記録された画像からこのような定義データを推測できる。
【０１０６】
図６に示されているように、製品６００には、位置コード６０２（６０２Ａで拡大されている）と定義コード６０４（６０４Ａで拡大されている）の両方が設けられてよい。定義コード６０４は、特定のパターンページまたは一連のこのようなページ、例えばブックまたはシェルフに当てはまる可能性のある定義データをコーディングする。定義データは、適切には、例えば一つ以上のページアドレスの形を取るアプリケーションパターンページの識別子を含む。
【０１０７】
典型的なユーザシナリオでは、ユーザは、特定の製品のための関連するテンプレート定義またはページ記述を入力するために定義コードを横切ってペンを移動する。定義コードは、製品と統合されるものとして、あるいは製品とは個別なものとして提供されてよく、製品からの位置データの読み取りの前、間、または後のいずれかにおいて、ペンに入力されてよい。
【０１０８】
定義コードを使用すると、テンプレート定義またはページ記述を、ペンのテンプレートデータベース（図５の５１１Ｂ）に追加できる。ペンは、位置データベースに、セグメント、シェルフ、ブックまたはページ等の抽象パターンの特定の部分集合のサイズと位置を定義するパターンフォーマットデータを、事前に記憶しさえすればよい。この部分集合内のパターンページ上のピジェットおよびユーザ領域の配置と機能についてのすべての情報は、インポートされる定義データに含まれてよい。
【０１０９】
ユーザ領域の認識が高まると、ペンは、さらに高度な制御および／またはユーザフィードバックで操作できる。例えば、ペンは、ＭＭＩ（図２の２２０）のアクティブ化を介して、位置が特定のユーザ領域の範囲に入ることを信号で知らせてよい。さらに、ペンは、適切には定義データの中の指示によって、ペンがパターンページ上のユーザ領域の所定のセットにペンストロークを記録するまで、パターンページ上のペンストロークの出力を遮断するように指示されてよい。ペンは、例えば単一または複数ページ書式の製品が適切に記入されたことを検証することも可能である。
【０１１０】
多くの異なる大容量のコードが、二次元バーコードまたは行列コード等の不連続定義データをコーディングするために使用できる。適切なコードの追加の例、およびそれらの復号化のための方法は、２００４年６月２８日に出願された出願人の米国特許仮出願第６０／５８２，８６１号や、出願人の従前の公開、米国第２００１／００３８３４９号、米国第２００２／００００９８１号に示されている。
【０１１１】
定義コードを処理するために、ペンシステムは、図７に例示されるように修正されてよい。画像処理モジュール７０４は、記録された画像を、位置のストリームまたは非位置データのストリームに処理することができる。非位置データのストリームは、トランスレータモジュール７０６によって分析される。トランスレータモジュール７０６は、定義データとして非位置データを特定し、定義データイベントを発行してよい。インポータモジュールは、イベントを検出すると、定義データからテンプレート定義またはページ記述を構築し、結果を記憶するために実装されてよい。テンプレートデータベース（図５の５１１Ｂ）の中で、またはページ記述の記憶に専用の位置データベース（図５の５１１）の一部であるページ記述データベースの中で、関連するページアドレス（複数の場合がある）によってインデックスが付けられる。インポータモジュールは、使用頻度、前回使用以降の時間等に基づいてレコードを排除することによって、メモリ容量を解放するためにテンプレートデータベース／ページ記述データベースを間欠処理するように構成されてよい。
【０１１２】
トランスレータモジュール７０６は、テンプレートデータベースとページ記述データベースの両方に記録された位置をマッチングさせるために実装されてよい。トランスレータモジュール７０６は、ピジェットに加えてユーザ領域を示すイベントを出力してよい。
【０１１３】
ここでレベル５の精緻化に戻ると、ファイルアセンブリモジュール（図５の５５２）は、ファイルオブジェクトの中に、一つ以上のパターンページ上のペンストロークによってヒットされる各ユーザ領域の識別子を含んでよい。インポートされた定義データがユーザ領域と関連する関数を詳述する場合、ペンシステムはインポートされた定義データに従ってペンストロークを処理するように設計されてよい。このようなケースでは、ファイルアセンブリモジュールは、このような処理の結果をファイルオブジェクトに組み込んでよい。
【０１１４】
また、ファイルアセンブリモジュールは、物理的レイアウトの定義、またはその一部をファイルオブジェクトに含んでよい。このような定義は、物理的レイアウトの電子表現、つまり、電子表現が使用できる情報管理システム内での記憶場所に対するポインタを含んでよい。
【０１１５】
特定の実施形態では、ファイルオブジェクトをさらにプラットホームと無関係にするために、ペンシステムが、ペンストロークの集合として物理的レイアウトをレンダリングし、ファイルオブジェクトの中で物理的レイアウトを表現するために、これらの架空のペンストロークを組み込むように構成されてよい。一つの同じアルゴリズムが、ファイルオブジェクトからペンストロークと物理的レイアウトを抽出し、作成し直すために使用できる。
【０１１６】
追加的に、または代替的に、ファイルアセンブリモジュールは、ファイルオブジェクトの中に完全にまたは部分的に含まれる、あるいはファイルオブジェクトに添付される独立データとして、定義データを処理してよい。
【０１１７】
定義データと定義コードを使用することにより、非同期情報管理システムでコード化された基板または製品を簡略且つ便宜的に生成し、使用することが可能になる。ユーザは、適切な製品を作成するために、出願人の従前の公開米国第２００２／００４０８１６号に開示されているようなコンピュータベースの生成ツールを活用してよい。図８に示されているように、ツールは、製品の物理的レイアウトと機能レイアウトの両方ともを定義するために使用されてよい（ステップ８００、８０２）。次に、ツールは、製品の少なくとも機能レイアウトを表す定義データを生成し（ステップ８０４）、製品の上に印刷される位置コードを定義する（ステップ８０６）。以後、位置コード、定義コードおよび物理的レイアウトは、プリンタのプリントエンジンによって基板に適用する（ステップ８１４）ためにレンダリングされる（ステップ８０８から８１２）。レンダリングのすべてまたは一部は、ツール内でまたはプリンタ内で達成されてよい。
【０１１８】
印刷された定義データは、背景ピクチャとして、またはワープロ文書、プレゼンテーション用文書、電子メール等のサポートグラフィックスの完全／オリジナル電子表現としてのいずれかで製品の物理的レイアウトを表してよい。別の代替策として、物理的レイアウトは、物理的レイアウトがいくつかの形式で使用できる情報管理システムの記憶位置に対するポインタの形で定義されてよい。後者のケースでは、生成ツールは、ユーザに、印刷の前に記憶場所を選択または特定するようにプロンプトを出す。
【０１１９】
代替的にまたは追加的に、ペンシステムは、中継データを、自動的にまたは命令によりインポートするように構成されるインポータモジュールを含んでよい。インポートされた中継データは、情報システムにおける対象となる受取人、例えば関連するアプリケーションプログラム（図３の３０８）のホストとなる受信側デバイス（図３の３０４）の宛先アドレスを明示的に特定してよい。宛先アドレスは、ＵＲＬ（ユニフォームリソースロケータ）等のネットワークアドレス、電子メールアドレス、ＩＰ（インターネットプロトコル）アドレス等として示されてよい。
【０１２０】
ペンシステムが明示的な宛先アドレスをインポート可能にすることによって、情報システムにおけるフロー制御は簡略化されてよい。ある例では、ペンシステムは、対象となる受信側デバイスまたはアプリケーションプログラムに直接的にファイルオブジェクトをプッシュしてよい。別の例では、ペンシステムは、任意の遮断側フローコントローラ（例えば、図３の３０６）がアドレスに直接的に作用し、適切なデータを対象となる受取人に中継可能にするために、ファイルオブジェクトの中に明示的な宛先アドレスを含んでいる。したがって、フローコントローラがルックアップテーブルにアクセスする必要性は、低減される。
【０１２１】
代替的にまたは追加的に、ペンシステムは、使用制限データのためにインポータモジュールを含んでよい。このデータは、ペンシステムによって記録される特定の位置データの使用についてペンシステムに制限を設定する。例えば、データは、位置データが製品から記録されてよい最大回数、または記録された位置データがペンから送信されてよい最大回数を定義してよい。代替的に、データは、ペンシステムがその後に製品から位置データを記録すること、あるいは記録された位置データを送信することを禁止される有効期限を定義してよい。有効期限を使用するには、ペンのタイミング回路が情報システムの中の共通の時間基準と同期していることが必要となる可能性がある。
【０１２２】
使用制限データを提供すると、情報システムでコーディングされた製品の使用を制御可能になる。このような制御は、小切手、証拠書類、商品券、チケット等の金額を表す製品にとっては重要である可能性がある。使用制御は、調査、テスト、世論調査、調査、投票、ゲームおよびギャンブル等の、期限付き応用例においても重要となる場合がある。またさらに、製品の使用を制限することにより、ユーザは期限切れの製品を置き換えるために、あるいは、期限切れの製品を再度使用可能にするために、新しい製品を獲得しなければならないため、システムのプロバイダは将来の収益を確実なものにすることができる。
【０１２３】
代替的にまたは追加的に、ペンシステムは、セキュリティデータのためのインポータモジュールを含んでもよい。インポータモジュールは、ペンから受信側デバイスに安全なデータ転送を実現するためにペンシステムにより使用されてよい。
【０１２４】
セキュリティデータは、ペンシステムに対し、データが暗号化されなければならないことを信号で知らせてよい。さらにエンクリプタモジュール（図５の５２８）が異なる暗号化方法をサポートする場合、セキュリティデータは、エンクリプタモジュールによるデータの暗号化に使用される特定の暗号化方法を特定する識別子を含んでよい。
【０１２５】
ファイルオブジェクト内のすべてのデータが暗号化される必要はない。ファイルオブジェクトがフローコントローラ（図３の３０６）によって中継される必要がある場合には、少なくとも中継データがフローコントローラにアクセスできるために非暗号化されなければならない。同様に、受信側デバイスでの暗号解読のために必要とされるファイルオブジェクト内の他のデータは、後述するように、非暗号化されなければならない。一実施形態では、インポートされたセキュリティデータが、暗号化されるデータを少なくとも部分的に定義する。
【０１２６】
エンクリプタモジュールは、少なくとも機密性（情報が送信される間は秘密のままである）を、好ましくは送信された情報の認証（情報の送信者のアイデンティティが偽ではないことを受信者に保証する）および／または否認防止（情報の送信者も受取人も送信を否定することができない）も保証するために、対称暗号化または非対称暗号化のいずれか、あるいはその組み合わせを使用できる。情報の完全性（情報が送信される間に改変されていない）も、適切には、所定のハッシュ関数を使用することにより保証されてよい。
【０１２７】
トリプルデータ暗号化規格（３−ＤＥＳ）アルゴリズム、高度暗号化規格(ＡＥＳ)アルゴリズム、国際データ暗号化アルゴリズム（ＩＤＥＡ）、ディッフィー−ヘルマン（ＤＨ）アルゴリズムおよびリベスト−シャミア−エイドルマン（ＲＳＡ）アルゴリズム等の、使用されてよい多くの入手可能な標準暗号化アルゴリズムがある。追加の適切な暗号化アルゴリズムおよび関連する方法は、参照としてここに組み込まれる出願人の公開米国第２００２／００３４３００号、米国第２００３／００２１４１９号、および米国第２００３／００７４５６２号に開示されている。
【０１２８】
以下に、説明の目的のためにのみ、ペンにおける暗号化プロセスのいくつかの実施形態を説明している。
第一の実施形態では、ペンシステムは、インポートされたセキュリティデータからキーを抽出するか、または、所定の入力項目で所定のアルゴリズムを動作するか、のいずれかによって暗号キーを引き出す。ハッシュ関数等の所定のアルゴリズムは、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。同様に、所定の入力項目は、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。つまり、一つの特殊な実施形態では、ペンシステムは、事前に設定されたアルゴリズムを事前に設定された入力項目で動作することによって、セキュリティデータを使わずに暗号キーを引き出すことができる。前述の定義データまたはその一部は、このような入力項目を形成してよい。
【０１２９】
次に、ファイルオブジェクトの露呈の前に、ペンシステムはファイルオブジェクトの中のデータの部分を暗号化するために暗号キーを使用する。ファイルオブジェクトの完全性は、暗号化の前にファイルオブジェクトのコンテンツ全体のハッシュ値を計算することによって、および、そのハッシュ値をファイルオブジェクトの非暗号化された部分に含めることによって保証されてよい。
【０１３０】
第一の実施形態では、受信側デバイスは、ファイルオブジェクトの暗号化された部分を復号できるためには暗号キーにアクセスできなければならない。したがって、キーは受信側デバイスに記憶されてよい。代替的に、受信側デバイスは、暗号キーをページアドレスと関連付けるデータベースにアクセスしてよい。前述の生成ツールは、次にこのデータベースと対話し、その結果適切な関連が、生成されるコーディングされた製品ごとにその中に作成される。このようにして、ファイルオブジェクトを受信すると、受信側デバイスは（ファイルオブジェクトの非暗号化部分から）ページアドレスを抽出し、このページアドレスに基づいてデータベースから適切な暗号キーを引き出し、ファイルオブジェクトの暗号化された部分を復号するために暗号キーを使用してよい。セキュリティを強化するために、暗号キーは、ペンパラメータにより指定される特定のペンまたは特定のタイプのペンから受信されるデータの暗号解読のためにのみ使用できなければならない。さらに、認証および機密性のための任意の周知の手段が、受信側デバイスとデータベースとの間の通信において提供されてよい。
【０１３１】
第二の実施形態では、ペンシステムは、対象となる受信側デバイスの公開キーをインポートされたセキュリティデータから抽出し、ペンの中の乱数発生器から乱数を引き出し、乱数を暗号化するために公開キーを使用し、このようにして暗号化された乱数をファイルオブジェクトに含める。さらに、ペンシステムは、第一の所定のアルゴリズムに基づいて乱数のハッシュ値を計算し、このハッシュ値をファイルオブジェクトの中のデータの暗号化部分の暗号キーとして使用する。ファイルオブジェクトの完全性は、第二の所定のアルゴリズムに基づいて、暗号化の前のファイルオブジェクトのコンテンツ全体に対するハッシュ値を計算することによって、および、ファイルオブジェクトの非暗号化部分にこのハッシュ値を含めることによって保証されてよい。
【０１３２】
ファイルオブジェクトを受信すると、受信側デバイスは、暗号化された乱数をファイルオブジェクトから抽出し、暗号化された乱数を復号するためにそのプライベートキーを使用し、第一の所定のアルゴリズムを使用することによって乱数のハッシュ値を計算し、ファイルオブジェクトの暗号化された部分を復号するための暗号キーとしてハッシュ値を使用してよい。
【０１３３】
ある実施形態では、中継データおよび／または使用制限データおよび／またはセキュリティデータが、通常は、準備アップグレードセッションで、ペンの通信インタフェースを介して、またはペンの中に差し込まれた記憶装置からインポートされる。別の実施形態では、この入力データは、ペンの一次画像センサによって録画される一つ以上の画像の中で機械読取可能コードを特定し、復号するペンシステムによってインポートされる。
【０１３４】
このようにして、中継データ、使用制限データおよびセキュリティデータは、図６の定義コード６０４と同様に、一つ以上の機械読取可能コードとして製品上に埋め込まれてよい。このような製品は、前記定義コーディング製品と同様に、ユーザ入力に基づいてコンピュータベースの生成ツールによって生成されてよい。ユーザは、製品に中継データとして符号化される受信側デバイスまたはアプリケーションプログラムの宛先アドレスを入力できる。同様に、ユーザは前述の最大回数または有効期限を入力してよい。同様に、ユーザは、情報システムで露呈されるデータの少なくとも一部を暗号化する際に、ペンシステムのエンクリプタモジュールによって使用するためのセキュリティデータを入力してよい。
【０１３５】
中継データ、使用制限データ、およびセキュリティデータは、特定のパターンページまたは一連のこのようなページに適用してよい。したがって、この入力データは、適切には、例えば一つ以上のページアドレスの形を取る該当するパターンページの識別子を含む。
【０１３６】
定義データ、中継データ、使用制限データおよびセキュリティデータが、一個の同じ機械読取可能コードで符号化されていても、あるいは通信インタフェース上で、アップグレードセッションにおいてインポートされるとしても、各々ページユニット階層の異なるレベルに適用できることが明らかでなければならない。
【０１３７】
一実施形態では、インポータモジュールはインポートされた入力データ（定義データ、中継データ、使用制限データ、およびセキュリティデータ）をペンメモリの階層データ構造の中に記憶し、データ構造の一つのレベルで記憶されたデータは、このレベルと任意の従属レベルの両方に適用可能である。データ構造は、通常、ページユニット階層（図１）を反映し、その結果、各々の従属レベルはその上位レベルと関連するページユニットグループの部分集合を表す。このようにして、インポータモジュールは、その関連ページアドレスに基づいて、階層のその適切なレベルに入力データの任意の項目を記憶する。ペンシステムは、階層の各レベルで関連するページユニットグループについて記憶される入力データを、一番上のレベルと特定のページユニットの間に蓄積してよいにすぎない。そのため、このような記憶は、特定のページユニットからの位置データの処理で使用されるすべてのインポートされた入力データを見つけ出す際の効率性を与える。例えば、特定のセグメントと関連するセキュリティデータは、特定のセグメントと関連するセグメントレベルに記憶され、このセグメントの特定のシェルフと関連する使用制限データは、特定のシェルフに関連するシェルフレベルに記憶され、このシェルフの特定のブックに関連する中継データは、特定のブックと関連するブックレベルに記憶され、このブックの特定のページと関連する定義データは、特定のページと関連するページレベルに記憶される。この例では、ペンシステムが、特定のページユニットに属する位置を処理すると、ページレベルで関連する定義データを見つけ出し、ブックレベルで関連する中継データを見つけ出し、シェルフレベルで関連する使用制限データを見つけ出し、そして、セグメントレベルで関連するセキュリティデータを見つけ出す。
【０１３８】
本発明は、主にいくつかの実施形態を参照して前述してきた。しかしながら、当業者によって容易に理解されるように、前記に開示されているもの以外の実施形態は、添付特許請求項によってのみ定義され、制限される本発明の範囲および精神の中で等しく可能である。
【０１３９】
例えば、イベントは、ペン上のボタンを押す、あるいはペンの中のマイクによって録音される口頭のコマンドを発するユーザによって、ペンシステムで生成されてよい。トリガピジェットイベントは、このようなイベントによって置き換えまたは補足されてよい。同様に、コンテンツおよび／またはコンテキスト情報は、このような代替イベントによってペンシステムに示されてよい。
【０１４０】
ペンストロークが記録されるたびに、ペンシステムがファイルオブジェクトを自動的に作成することが考えられる。各々のファイルオブジェクトは、各々のパターンページまたはブックのためのストロークを含むために作成されてよい。ファイルオブジェクトは、次に、命令により、または自動的でのいずれかで外部データハンドラに露呈されてよい。自動的な露呈は、通信インタフェースを介してペンメモリ内のファイルシステムを露呈することを含む場合がある。
【０１４１】
前記の実施形態では、抽象的なパターンの分割は、論理位置がペンの中の位置データベースに基づいて計算されるという点で動的である。代替の実施形態では、抽象的なパターンは、パターンの中で符号化されることによって静的であってよい。例えば、米国第６，３３０，９７６号は、コーディングセルが製品表面上でタイル表示され、各々のセルがローカル位置とページ識別子の両方をコーディングするコーディングパターンを開示している。パターンを復号することにより、ペンはこのようにしてその論理位置を直接的に検出できる。
【０１４２】
また、ペンは、加速度計、ローラボール、三角測量装置等の相対的な位置決めのための補足装置を含んでよい。このようにして、ペンは、位置コードから引き出される絶対位置を、補足装置によって示される相対位置で補足することができる。この場合は、位置コードは、製品上のいくつかの絶対位置をコーディングすることしか必要としない。
【０１４３】
さらに、ペンシステムは、異なるソフトウェアモジュールの間での機能性の分配に基づいてよい。つまり、ペンシステムソフトウェアは、個別のモジュールから構成される必要はない。
【０１４４】
またさらに、本発明の特定の態様は、ここに説明するようにファイルオブジェクトともに使用するために制限されない。特に、＜１６．インポータ＞のインポータ機能性は、導入部において説明するように、ルックアップサーバおよびアプリケーションサーバとのエンドツーエンド通信のために設計されるペンシステムにも組み込まれてよい。
【図面の簡単な説明】
【０１４５】
【図１】抽象的な位置コーディングパターンのアドレス指定可能ページユニットへの論理的な分割を描く図である。
【図２】本発明の原則を実現する電子ペンの断面図である。
【図３】ファイルオブジェクトが本発明に従って生成され、転送のために露呈されてよい情報管理システムと通信経路の概要を示す図である。
【図４】最終的に位置コーディングされた製品に対するテンプレートの定義とページの記述の関係を描く図である。
【図５】図２のペンの動作を制御するためのソフトウェアモジュールのシステムの実施形態を描く図である。
【図６】製品自体に関係するメタデータを保持する定義コード付きの位置コーディングされた製品、および該製品上に記録される位置の処理の図である。
【図７】図６の製品からのデータの処理のためのペン制御システムの部分を描く図である。
【図８】図６の位置コード化された製品の生成のためのツールにより達成されるステップを描く図である。