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