(57)【要約】【課題】プリンタに格納されたプリンタマクロの使用を制御する方法を提供すること。【解決手段】プリンタ（１００）に格納されたプリンタマクロ（１１４Ａ−１１４Ｃ）の使用を制御する方法は、プリントジョブによるプリンタマクロのうちの第１のプリンタマクロの使用に対する要求を検出すること（８０２または１００２）を含む。第１のプリンタマクロに含まれるプリンタ識別情報（７０４または９０４Ａ−９０４Ｄ）は、プリンタに格納されるプリンタ識別子（１１６）と比較される（８１２または１０１２）。プリンタによる第１のプリンタマクロの使用は、この比較に基づいて制御される。【選択図】図１
2004272904.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに格納されたプリンタマクロの使用を制御する方法であって、
プリントジョブによる前記プリンタマクロのうちの第１のプリンタマクロの使用に対する要求を検出するステップと、
前記第１のプリンタマクロに含まれるプリンタ識別情報を、前記プリンタに格納されたプリンタ識別子と比較するステップと、
前記比較に基づいて、前記プリンタにより前記第１のプリンタマクロの使用を制御するステップと、
を含むプリンタマクロの使用を制御する方法。
【請求項２】
前記プリンタ識別情報は、少なくとも１つのプリンタ製造番号を含み、前記プリンタ識別子は、プリンタ製造番号である、請求項１に記載のプリンタマクロの使用を制御する方法。
【請求項３】
前記プリンタ識別子が前記プリンタ識別情報のデータと一致しないとき、前記プリンタによる前記第１のプリンタマクロの使用を防止するステップをさらに含む請求項１に記載のプリンタマクロの使用を制御する方法。
【請求項４】
前記第１のプリンタマクロがプリンタ識別情報を含むか否かを特定するステップと、
前記第１のプリンタマクロがプリンタ識別情報を含まないとき、前記プリンタ識別子を該第１のプリンタマクロに格納するステップと、
をさらに含む請求項１に記載のプリンタマクロの使用を制御する方法。
【請求項５】
前記第１のプリンタマクロは、該第１のプリンタマクロを使用するように許可された最大プリンタ台数を表す第１の値を含み、
前記プリンタ識別情報において現時点で識別されるプリンタの台数を特定するステップと、
特定された前記プリンタの台数を前記第１の値と比較するステップと、
をさらに含む請求項１に記載のプリンタマクロの使用を制御する方法。
【請求項６】
特定された前記プリンタの台数が前記第１の値より小さいとき、前記プリンタ識別子を前記第１のプリンタマクロに格納するステップをさらに含む請求項５に記載のプリンタマクロの使用を制御する方法。
【請求項７】
前記プリンタ識別情報は暗号化され、
該プリンタ識別情報を前記プリンタ識別子と比較する前に該プリンタ識別情報を解読するステップをさらに含む請求項１に記載のプリンタマクロの使用を制御する方法。
【請求項８】
プリント装置であって、
プリントエンジンと、
プリンタ識別情報を含むプリンタマクロとプリンタ識別子とを格納する少なくとも１つのメモリと、
前記プリンタ識別子を前記プリンタ識別情報と比較し、該比較に基づいて当該プリント装置による前記プリンタマクロの使用の許可の指示を与えるプリンタマクロマネージャと、
を備えるプリント装置。
【請求項９】
前記プリンタマクロマネージャは、前記プリンタ識別情報が前記プリンタ識別子を含むか否かを特定し、該プリンタ識別情報が該プリンタ識別子を含まないとき、該プリンタ識別子を前記プリンタマクロに格納するように構成される、請求項８に記載のプリント装置。
【請求項１０】
前記プリンタマクロは、リムーバブル記憶媒体に格納される請求項８に記載のプリント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはプリンタに関し、詳細には、プリンタ識別情報に基づいてプリンタマクロ使用を制御することに関する。
【背景技術】
【０００２】
プリンタマクロ（電子フォームまたはｅフォームとも呼ぶ）は、通常プリンタのファイルシステムまたはワーキングメモリ（ＲＡＭ）に格納され、プリンタが、種々の機能を実施するために実施することができるものである。たとえば、プリンタマクロの１つの一般的な使用は、プリントされた文書の各ページに会社ロゴを配置することである。マクロは通常、プリンタにより、プリントジョブにおける所望のプリンタマクロに対する識別子を指定する要求に応じて、呼出される。一般に使用される機能に対する情報をマクロの形式でプリンタに格納することにより、その情報をプリントジョブ毎にプリンタに送信する必要がない。
【０００３】
ユーザが、１つのプリンタファイルシステムから別のプリンタファイルシステムにプリンタマクロを不法にコピーする、という問題がある。プリンタマクロは通常、プリンタ内のディスクまたはデュアルインラインメモリモジュール（ＤＩＭＭ）に格納される。プリンタが、マクロまたはｅフォーム等のプリンタ資源を格納するためにＣｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標）等のリムーバブル記憶媒体を採用するにしたがい、これらの資源を無許可の分配および使用から保護することがますます重要になってきている。概して、ほとんどのプリンタアーキテクチャは、Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標）に格納されたデータを、プリンタファームウェアによって使用可能であるように、ＬｙｎｘＯＳ（登録商標）ファイルシステム等の所有権を持っているファイルシステムに格納するように指示する。したがって、所有権のあるデータフォーマットで、低レベルなデータ編成もまた所有権を持っている記憶媒体に格納されることにより、ある程度のレベルの保護が提供されたプリンタ資源は、リムーバブル記憶媒体では、クライアントコンピュータファイルシステムに格納されたファイルと同様に保護されなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の一形態は、プリンタに格納されたプリンタマクロの使用を制御する方法を提供する。
【課題を解決するための手段】
【０００５】
本方法は、プリントジョブによりプリンタマクロのうちの第１のプリンタマクロを使用する要求を検出することを含む。第１のプリンタマクロに含まれるプリンタ識別情報を、プリンタに格納されたプリンタ識別子と比較する。その比較に基づいて、プリンタによる第１のプリンタマクロの使用を制御する。
【発明を実施するための最良の形態】
【０００６】
好ましい実施形態の以下の詳細な説明において、その一部を形成し、本発明を実施してもよい特定の実施形態を例示として示す、添付図面を参照する。他の実施形態を利用してもよく、本発明の範囲から逸脱することなく構造的または論理的変更を行ってもよい、ということを理解しなければならない。したがって、以下の詳細な説明は限定する意味でとられるべきではなく、本発明の範囲は添付の特許請求の範囲によって画定される。
【０００７】
図１は、本発明の一実施形態によるプリンタマクロセキュリティを提供するように構成されたプリント装置すなわちプリンタ１００の主なコンポーネントを示すブロック図である。プリンタ１００は、バス１０４を介して互いに通信可能に連結される、入出力（Ｉ／Ｏ）インタフェース１０２と、プロセッサ１０６と、プリントエンジン１０８と、メモリ１１０と、を有する。プリンタ１００を、Ｉ／Ｏインタフェース１０２を介して１つまたは複数のコンピュータ（図示せず）に連結されるように構成する。一実施形態では、Ｉ／Ｏインタフェース１０２は、ユニバーサルシリアルバス（ＵＳＢ）インタフェース等のシリアルインタフェースである。別の実施形態では、Ｉ／Ｏインタフェース１０２は、ネットワークインタフェースである。他の実施形態では、無線通信に対するものを含む他のタイプのインタフェースを使用してもよい。
【０００８】
一実施形態では、プリントエンジン１０８はレーザプリントエンジンであり、レーザ等、媒体上に画像を形成する従来のレーザプリンタ要素（図示せず）と、レーザビームを偏向させる回転多面鏡と、光導電ドラムと、トナーディスペンサと、媒体ハンドラと、当業者に既知である他の従来の要素と、を有する。本発明により、他のタイプのプリンタおよびそれらの関連要素を利用することができる、ということが理解されなければならない。
【０００９】
一実施形態では、メモリ１１０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）およびフラッシュメモリ等、揮発性メモリと不揮発性メモリとをともに含む複数タイプのメモリを含む。本発明の一形態では、メモリ１１０は、ファイルシステム１１２と、プリンタ識別子（たとえば、プリンタ製造番号）１１６と、ファームウェア１１８と、を格納する。ファイルシステム１１２には、複数のプリンタマクロ１１４Ａ〜１１４Ｃ（まとめてプリンタマクロ１１４と呼ぶ）が格納され、それらを、プリンタ１００に連結されるコンピュータ（図示せず）においてプリントアプリケーションによって使用することができる。また、マクロ１１４を、電子フォームまたは「ｅフォーム」とも呼ぶ。プリンタマクロ１１４の各々は、一意の識別子とプリンタコマンドのセットとを含む。プリントジョブは、そのジョブにおいてマクロ１１４のうちの１つまたは複数を使用するという要求を、その要求において所望のマクロ１１４の一意の識別子を指定することによって行ってもよい。一実施形態では、マクロ１１４を、プリンタ１００から取除いて別のプリンタまたは他の装置に配置することができる、Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標）等のリムーバブル記憶媒体に格納する。
【００１０】
ファームウェア１１８は、プロセッサ１０６によって実行される命令を含む複数のファームウェアモジュール１２０〜１３２を含む。一実施形態では、ファームウェアモジュールは、ユーザインタフェース１２０と、装置状態トラッカ１１２と、ジョブマネージャ１２４と、エンジンマネージャ１２６と、ファイルシステムマネージャ１２８と、マクロライセンスマネージャ１３０と、暗号化マネージャ１３２と、を有する。
【００１１】
ユーザインタフェース１２０は、プリンタ１００のフロントパネル（図示せず）において入力されるユーザ入力情報の受取りおよび処理を操作し、ユーザに対する情報の表示を操作する。装置状態トラッカ１２２は、受取ったステータス問合せ（たとえば、トナーカートリッジにどれくらいのトナーが残っているか）に応じて、プリンタ１００のあらゆるハードウェアコンポーネント（たとえば、センサ）からステータス情報を検索し、ステータス情報を要求側コンポーネントに転送する。ジョブマネージャ１２４は、プリンタ１００があらゆる入出力接続（たとえば、Ｉ／Ｏインタフェース１０２）から受取るデータストリームを解析し処理して、必要に応じて他のソフトウェアコンポーネントを呼出して、プリントジョブを完了する。エンジンマネージャ１２６は、プリントエンジン１０８を制御し、プリントエンジン１０８に対するインタフェースを提供する。ファイルシステムマネージャ１２８は、ファイルシステム１１２を制御し、ファイルシステム１１２に対するインタフェースを提供する。ファイルシステムマネージャ１２８は、他のソフトウェアコンポーネントからファイルシステム要求を受取り、その要求を、ファイルシステム１１２を操作するために適当な言語に変換し、適当なデータを要求側コンポーネントに返す。マクロライセンスマネージャ１３０は、後により詳細に説明するようにあらゆるプリンタマクロセキュリティ機能を行う。暗号化マネージャ１３２は、後により詳細に説明するように、暗号化および解読機能を行う。
【００１２】
一実施形態では、プリンタ１００は、要求されたプリンタマクロ１１４におけるプリンタ製造番号をチェックすることにより、ローカルファイルシステム１１２に格納されているプリンタマクロ１１４に対するセキュリティを提供する。本発明の一形態では、プリントジョブがプリンタマクロ１１４のうちの１つを使用することを要求すると、その要求されたプリンタマクロ１１４は、プリンタマクロ１１４内にプリンタ製造番号が存在することによって使用できることを確認される。一実施形態では、プリンタマクロデータ１１４が、プリンタ１００の製造番号１１６と一致する製造番号（シリアルナンバー）を含まない場合、プリントジョブは拒絶される。
【００１３】
本発明の一形態では、プリンタマクロ１１４がプリンタ製造番号を含まない場合、プリンタ１００は、その製造番号１１６をプリンタマクロ１１４に書込む。一実施形態では、プリンタマクロ１１４を、顧客とプリンタマクロ提供者との間に確立されたライセンス契約に基づいて複数のプリンタ製造番号を含むように構成する。本発明の一形態では、各プリンタマクロ１１４は、プリンタマクロ１１４に格納することができるプリンタ製造番号の数の最大数を指定するフィールドを含む。一実施形態では、プリンタ１００は、製造番号の数の最大数にすでに到達した場合に、プリンタマクロ１１４にそのプリンタ製造番号１１６を追加するように試みない。
【００１４】
プリンタマクロセキュリティ機能を、図５〜図１０を参照して後により詳細に説明する。しかしまず、図２〜図４を参照してあらゆる「ＰＣＬ５（登録商標）」コマンドとプリンタマクロ例とを説明する。「ＰＣＬ５（登録商標）」は、ヒューレット・パッカード社（Hewlett-Packard）によって作成された、プリンタ機能を制御するために使用する一連のエスケープシーケンスコードを含むプリンタコマンド言語である。本発明の一実施形態をＰＣＬ５（登録商標）の文脈で説明するが、当業者には、種々のプリンタ言語でプリンタマクロまたはｅフォームを定義してもよく、本発明の他の実施形態は他のプリンタ言語を使用してもよい、ということが理解されよう。
【００１５】
図２は、ＰＣＬ５（登録商標）プリンタマクロコマンド２００のセットを示す図である。コマンド２００を、２つの列２０２Ａおよび２０２Ｂと１１の行２０４Ａ〜２０４Ｋ（まとめて行２０４と呼ぶ）とを有する表に示す。各行２０４は、列２０２Ａにプリンタマクロコマンドを有し、列２０２Ｂにそのコマンドの対応する記述を有する。プリンタマクロコマンドの各々は、「Ｅｓｃ＆ｆ＃Ｘ」の形式であり、「＃」文字の値はコマンドによって異なる。プリンタマクロコマンド２００を、図３および図４に関して後により詳細に説明する。
【００１６】
図３は、一例としてのＰＣＬ５（登録商標）プリンタマクロ３００を示す図である。一例としてのプリンタマクロ３００は、プリンタ１００がプリントされた文書の各ページに会社ロゴを配置するために使用するものである。当業者には、図３ではマクロ３００は人間が読むことができる形式で示されているが、実際のマクロ定義を含むファイルはプリンタコマンドを同じにようには表さない、ということが理解されよう。
【００１７】
プリンタマクロ３００を、２つの列３０２Ａおよび３０２Ｂと２２の行３０４Ａ〜３０４Ｖ（まとめて行３０４と呼ぶ）とを有する表に示す。各行３０４は、列３０２ＡにＰＣＬ５（登録商標）コマンドまたはテキストを有し、列３０２Ｂに対応する記述を有する。マクロ３００のＰＣＬ５（登録商標）コマンドは、図２に示すプリンタマクロコマンド２００のいくつか（たとえば、行３０４Ｂおよび３０４Ｖにおける）と、他のＰＣＬ５（登録商標）コマンドと、を有する。第１行３０４Ａは、マクロ３００のマクロＩＤが「１」であることを指定するコマンド「Ｅｓｃ＆ｆ１Ｙ」を含む。プリントジョブは、要求において「１」のマクロＩＤを指定することにより、そのジョブにおいてマクロ３００を使用することを要求することができる。
【００１８】
マクロ３００の行３０４Ｂは、マクロ定義の開始を特定するコマンド「ＥＳＣ＆ｆ０Ｘ」を含む。行３０４Ｖは、マクロ定義の終りを特定するコマンド「ＥＳＣ＆ｆ１Ｘ」を含む。行３０４Ｃ〜３０４Ｕは、プリンタ１００に対しプリントされたページに会社ロゴ（すなわち、ＡＢＣ社のロゴ）をプリントさせるコマンドおよびテキストを含む。当業者には、ロゴをプリントするこの機能を行う例示されたコマンドシーケンスが理解されよう。ロゴをプリントするために使用する特定のコマンドは、一実施形態によるマクロセキュリティの提供に関連せず、したがって本明細書ではそれ以上詳細には説明しない。
【００１９】
図４は、図３に示す一例としてのプリンタマクロ３００を呼出すプリントジョブにおけるＰＣＬ５（登録商標）コマンド４００の一例としてのセットを示す図である。一実施形態では、コマンド４００を、プリントジョブでクライアント装置（たとえば、コンピュータ）からプリンタ１００に送信する。コマンド４００を、２つの列４０２Ａおよび４０２Ｂと８つの行４０４Ａ〜４０４Ｈ（まとめて行４０４と呼ぶ）とを有する表に示す。各行４０４は、列４０２ＡにＰＣＬ５（登録商標）コマンドを有し、列４０２Ｂにそのコマンドの対応する記述を有する。行４０４Ａ〜４０４Ｅは、マクロ３００を使用するようにプリンタ１００を構成し準備する（たとえば、用紙タイプを選択する、記号セットを選択する、フォントを選択する、等）あらゆるコマンドを含む。行４０４Ｆは、現マクロＩＤを「１」に設定するコマンド「Ｅｓｃ＆ｆ１Ｙ」を含む。行４０４Ｇは、現指定マクロＩＤと一致するＩＤ（すなわち、マクロＩＤ＝１）を有するマクロに対する呼出しを発行するコマンド「Ｅｓｃ＆ｆ３Ｘ」を含む。図３に示すプリンタマクロ３００が「１」のマクロＩＤを有するため、行４０４Ｇの呼出しは、プリンタ１００がマクロ３００を呼出すように要求する。行４０４Ｈは、マクロ３００が実行された後にプリンタ１００がリセットされるようにするコマンド「ＥｓｃＥ」を含む。
【００２０】
図５は、本発明の一実施形態によるマクロセキュリティコマンドを含む、ＰＣＬ５（登録商標）プリンタマクロコマンド５００の拡張セットを示す図である。コマンド５００を、２つの列５０２Ａおよび５０２Ｂと１２の行５０４Ａ〜５０４Ｌ（まとめて行５０４と呼ぶ）とを有する表に示す。各行５０４は、列５０２Ａにプリンタマクロコマンドを有し、列５０２Ｂにそのコマンドの対応する記述を有する。行５０４Ａ〜５０４Ｋにおけるプリンタマクロコマンドは、図２に示すプリンタマクロコマンドと同じである。図５の行５０４Ｌに示すように、マクロセキュリティ機能のためにセットにマクロセキュリティコマンド（Ｅｓｃ＆ｆ１１Ｘ）を追加した。以下、マクロセキュリティコマンドについて、図６〜図１０を参照してより詳細に説明する。
【００２１】
図６は、本発明の一実施形態によるマクロセキュリティコマンドを含む、一例としてのＰＣＬ５(登録商標）プリンタマクロ６００を示す図である。プリンタマクロ６００を、２つの列６０２Ａおよび６０２Ｂと、２３の行６０４Ａ〜６０４Ｗ（まとめて行６０４と呼ぶ）とを有する表に示す。各行６０４は、列６０２ＡにＰＣＬ５（登録商標）コマンドまたはテキストを有し、列６０２Ｂに対応する記述を有する。プリンタマクロ６００は、マクロセキュリティ機能のためにマクロセキュリティコマンド（Ｅｓｃ＆ｆ１１Ｘ）６０６Ａとマクロセキュリティデータフィールド６０６Ｂとが追加されている（行６０４Ｂ）以外は、プリンタマクロ３００(図３に示す）と同じである。本発明の一形態では、マクロセキュリティデータフィールド６０６Ｂを使用して、プリンタ識別情報（たとえば、プリンタ製造番号）を格納する。
【００２２】
一実施形態では、プリンタファイルシステム１１２（図１に示す）におけるプリンタマクロ１１４の各々は、マクロセキュリティコマンド６０６Ａとマクロセキュリティデータフィールド６０６Ｂとを有する。当業者には理解されるように、プリンタマクロ１１４におけるマクロセキュリティコマンド６０６Ａおよびマクロセキュリティデータフィールド６０６Ｂの提供は、マクロのタイプと使用するプリンタ言語とによって異なる可能性がある。図７にマクロセキュリティデータフィールド６０６Ｂの一実施形態を示し、それを参照番号６０６Ｂ−１によって確認される。図９にマクロセキュリティデータフィールド６０６Ｂの別の実施形態を示し、それを参照番号６０６Ｂ−２によって確認される。以下、マクロセキュリティデータフィールド６０６Ｂのこれらの実施形態について、図７〜図１０を参照して説明する。
【００２３】
図７は、本発明の一実施形態によるマクロセキュリティデータフィールド６０６Ｂ−１を示す図である。マクロセキュリティデータフィールド６０６Ｂ−１を、２つの列７０２Ａおよび７０２Ｂとプリンタ製造番号（ＰｔｒＳｅｒｉａｌＮｕｍ）フィールド７０４とを有する表によって表す。プリンタ製造番号フィールド７０４は、最下位バイト（ＬＳＢ−ビット０〜７）と最上位バイト（ＭＳＢ−ビット８〜１５）とである２つの８ビットバイトを含む。列７０２Ａは、最上位バイトに対応し、列７０２Ｂは最下位バイトに対応する。本発明の一形態では、プリンタ製造番号フィールド７０４を使用して、プリンタ識別情報（たとえば、プリンタ製造番号）を格納する。
【００２４】
図８は、本発明の一実施形態によるプリンタ１００（図１）によって行われるプリンタマクロセキュリティ方法８００を示すフローチャートである。ステップ８０２において、ジョブマネージャ１２４が、プリントジョブがファイルシステム１１２のプリンタマクロ１１４のうちの１つを要求したことを検出する。ステップ８０４において、ジョブマネージャ１２４はマクロライセンスマネージャ１３０を呼出し、マクロライセンスマネージャ１３０は、要求されたプリンタマクロ１１４に対し、マクロセキュリティデータフィールド６０６Ｂ−１（図７）に製造番号が存在するかをチェックする。製造番号が存在する場合、ステップ８０６において、マクロライセンスマネージャ１３０は、プリンタ１００の製造番号１１６に対する問合せを発行し、その問合せに応じて、装置状態トラッカ１２２によって製造番号１１６がマクロライセンスマネージャ１３０に提供される。
【００２５】
ステップ８１２において、マクロライセンスマネージャ１３０は、プリンタ製造番号１１６を要求されたプリンタマクロ１１４のマクロセキュリティデータフィールド６０６Ｂ−１における製造番号と比較し、それらの値が一致するか否かを判断する。値が一致する場合、ステップ８１０において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができることを通知する。値が一致しない場合、ステップ８１６において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができないことを通知する。一実施形態では、ジョブマネージャ１２４は、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができないという指示を受取ると、プリントジョブを拒否し、ユーザインタフェース１２０を呼出して、ユーザに対しプリントジョブを完了することができないことを通知する。
【００２６】
ステップ８０４において、要求されたプリンタマクロ１１４がマクロセキュリティデータフィールド６０６Ｂ−１にプリンタ製造番号を含まないと判断された場合、方法はステップ８０８に進む。ステップ８０８において、マクロライセンスマネージャ１３０は、プリンタ１００の製造番号１１６に対する問合せを発行し、その問合せに応じて装置状態トラッカ１２２によって製造番号１１６がマクロライセンスマネージャ１３０に提供される。ステップ８１４において、マクロライセンスマネージャ１３０は、要求されたプリンタマクロ１１４のマクロセキュリティデータフィールド６０６Ｂ−１にプリンタ製造番号１１６を書込み、変更されたプリンタマクロ１１４を再びファイルシステム１１２に保存する。ステップ８１８において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができることを通知する。
【００２７】
高度なユーザは、プリンタマクロ１１４をプリンタからプリンタにコピーし、プリンタマクロ１１４のマクロセキュリティデータフィールド６０６Ｂ−１における製造番号１１６を変更しようと試みる場合がある。一実施形態では、マクロセキュリティデータフィールド６０６Ｂ−１における製造番号データを、暗号化マネージャ１３２によって一意の鍵で暗号化することにより、製造番号を操作しようとする試みからプリンタマクロ１１４を保護する。方法８００のステップ８１２において製造番号比較を行う前に、マクロライセンスマネージャ１３０によって暗号化マネージャ１３２が呼出されることにより、マクロセキュリティデータフィールド６０６Ｂ−１における製造番号データを解読する。
【００２８】
図９は、本発明の別の実施形態によるマクロセキュリティデータフィールド６０６Ｂ−２を示す図である。マクロセキュリティデータフィールド６０６Ｂ−２を、３つの列９０２Ａ〜９０２Ｃと５つのサブフィールド９０４Ａ〜９０４Ｅ（まとめてサブフィールド９０４と呼ぶ）とを有する表に表す。第１の列９０２Ａは、各サブフィールド９０４に対するバイトオフセット情報を特定する。バイトオフセット情報は、マクロセキュリティデータフィールド６０６Ｂ−２の第１のバイト（すなわち、バイト０）に対する所与のサブフィールド９０４の第１のバイトの位置を特定する。図９に示すように、各サブフィールド９０４は、偶数バイトオフセットで開始し、最下位バイト（ＬＳＢ−ビット０〜７）と最上位バイト（ＭＳＢ−ビット８〜１５）とを含む２つの８ビットバイトを消費する。列９０２Ｂは、最上位バイトに対応し、列９０２Ｃは、最下位バイトに対応する。
【００２９】
本発明の一形態では、サブフィールド９０４Ａは、最大プリンタカウント（ＭａｘＰｔｒＣｏｕｎｔ）サブフィールドであり、それはバイトオフセット０で開始し２バイトを消費する。一実施形態では、サブフィールド９０４Ｂ〜９０４Ｅは、各々が偶数バイトオフセットで開始し２バイトを消費する、プリンタ製造番号（ＰｔｒＳｅｒｉａｌＮｕｍ）サブフィールドである。本発明の一形態では、プリンタ製造番号サブフィールド９０４Ｂ〜９０４Ｅを使用して、プリンタ識別情報（たとえば、プリンタ製造番号）を格納する。一実施形態では、最大プリンタカウントサブフィールド９０４Ａは、サブフィールド９０４Ｂ〜９０４Ｅに書込むことができるプリンタ製造番号の最大数を示す値を含む。プリンタ製造番号サブフィールド９０４Ｂ〜９０４Ｅの数は、各マクロに対して購入されたライセンスの数によって、マクロ毎に異なってもよい。
【００３０】
図１０は、本発明の別の実施形態によるプリンタ１００（図１）によって行われるプリンタマクロセキュリティ方法１０００を示すフローチャートである。ステップ１００２において、ジョブマネージャ１２４が、プリントジョブがファイルシステム１１２におけるプリンタマクロ１１４のうちの１つを要求したことを検出する。ステップ１００４において、ジョブマネージャ１２４はマクロライセンスマネージャ１３０を呼出し、マクロライセンスマネージャ１３０は、要求されたプリンタマクロ１１４に対し、マクロセキュリティデータフィールド６０６Ｂ−２（図９）に製造番号が存在するかをチェックする。
【００３１】
ステップ１００４において、要求されたプリンタマクロ１１４がマクロセキュリティデータフィールド６０６Ｂ−２にプリンタ製造番号を含まないと判断された場合、方法はステップ１００８に進む。ステップ１００８において、マクロライセンスマネージャ１３０は、プリンタ１００の製造番号１１６に対する問合せを発行し、その問合せに応じて
装置状態トラッカ１２２により製造番号１１６がマクロライセンスマネージャ１３０に提供される。ステップ１０１４において、マクロライセンスマネージャ１３０は、要求されたプリンタマクロ１１４におけるマクロセキュリティデータフィールド６０６Ｂ−２にプリンタ製造番号１１６を書込み、変更されたプリンタマクロ１１４を再びファイルシステム１１２に保存する。ステップ１０２０において、マクロライセンスマネージャ１３０はジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができることを通知する。
【００３２】
ステップ１００４において、要求されたプリンタマクロ１１４に製造番号が存在すると判断された場合、ステップ１００６において、マクロライセンスマネージャ１３０は、プリンタ１００の製造番号１１６に対する問合せを発行し、その問合せに応じて、装置状態トラッカ１２２により製造番号１１６がマクロライセンスマネージャ１３０に提供される。ステップ１０１２において、マクロライセンスマネージャ１３０は、プリンタ製造番号１１６を、要求されたプリンタマクロ１１４のマクロセキュリティデータフィールド６０６Ｂ−２における製造番号と比較し、一致するか否かを判断する。一致する場合、ステップ１０１０において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができることを通知する。一致しない場合、ステップ１０１８において、マクロライセンスマネージャ１３０は、マクロセキュリティデータフィールド６０６Ｂ−２におけるプリンタ製造番号の数が最大プリンタカウントサブフィールド９０４Ａにおいて指定された値より小さいか否かを判断する。マクロセキュリティデータフィールド６０６Ｂ−２におけるプリンタ製造番号の数が、サブフィールド９０４Ａにおいて指定された値以上である場合、ステップ１０１６において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができないことを通知する。一実施形態では、ジョブマネージャ１２４は、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができないという指示を受取った場合、プリントジョブを拒否し、ユーザインタフェース１２０を呼出して、ユーザに対しプリントジョブを完了することができないことを通知する。
【００３３】
ステップ１０１８において、マクロセキュリティデータフィールド６０６Ｂ−２におけるプリンタ製造番号の数がサブフィールド９０４Ａにおいて指定された値より小さいと判断された場合、方法はステップ１０２２に進む。ステップ１０２２において、マクロライセンスマネージャ１３０は、要求されたプリンタマクロ１１４のマクロセキュリティデータフィールド６０６Ｂ−２にプリンタ製造番号１１６を書込み、変更されたプリンタマクロ１１４を再びファイルシステム１１２に保存する。ステップ１０２４において、マクロライセンスマネージャ１３０は、ジョブマネージャ１２４に対し、要求されたプリンタマクロ１１４をプリントジョブにおいて使用することができることを通知する。
【００３４】
一実施形態では、マクロセキュリティデータフィールド６０６Ｂ−２における製造番号データとサブフィールド９０４Ａにおけるプリンタデータの最大数とをともに、暗号化マネージャ１３２によって一意の鍵で暗号化することにより、プリンタマクロ１１４を操作しようとする試みから保護する。そして、方法１０００のステップ１０１２および１０１８において比較を行う前に、マクロライセンスマネージャ１３０によって暗号化マネージャ１３２を呼出すことによりデータを解読する。
【００３５】
当業者により、プリンタ１００によって行われる機能を、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組合せによって実施してもよい、ということが理解されよう。実施態様は、マイクロプロセッサ、プログラマブルロジックデバイスまたは状態機械を介してもよい。本発明のコンポーネントは、１つまたは複数のコンピュータ読取可能媒体上でソフトウェアで存在してもよい。本明細書で使用するコンピュータ読取可能媒体という用語を、フロッピーディスク、ハードディスク、ＣＤ−ＲＯＭ、フラッシュメモリ、リードオンリメモリ（ＲＯＭ）およびランダムアクセスメモリ等、揮発性または不揮発性のいかなる種類のメモリをも含むように定義する。
【００３６】
本発明の一形態は、プリンタマクロライセンス違反を阻止するセキュリティメカニズムを提供し、それは、プリンタの製造番号をプリンタマクロのデータ構造に組込むことを含む。本発明の一形態は、従来のプリンタファームウェアおよび従来のプリンタマクロデータ構造への変更を行うことによりプリンタマクロセキュリティを提供する。本発明の一実施形態は、プリンタ装置内に含まれるプリンタマクロセキュリティメカニズムを提供する。一実施形態では、プリンタマクロエンティティを、プリンタ製造番号の格納を可能にするように変更する。本発明の一実施形態は、プリンタマクロを、そのプリンタマクロを使用した第１のプリンタに「シリアライズ(serialize)」し、それによってプリンタマクロをその１つのプリンタのみで使用されるように構成することにより、プリンタマクロの不法コピーの使用を防止するのに役立つ。別の実施形態では、プリンタマクロを複数のプリンタに「シリアライズ」することにより、プリンタマクロがその複数のプリンタで使用可能であるが他のプリンタでは使用可能でないようにする。
【００３７】
本明細書において、好ましい実施形態を説明する目的で特定の実施形態を例示し説明したが、当業者には、本発明の範囲から逸脱することなく、示し説明した特定の実施形態を多種多様の代替および／または等価の実施態様に置換えてもよい、ということが認められよう。機械、電気機械、電気およびコンピュータの技術分野における当業者は、本発明を非常に多種多様な実施形態で実施してもよい、ということを容易に認めるであろう。この出願は、本明細書で論考した好ましい実施形態のいかなる適応または変形をも包含するように意図されている。したがって、この発明は、その特許請求の範囲とその等価物とによってのみ限定されることが明示的に意図されている。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態による、プリンタマクロセキュリティを提供するように構成されたプリンタの主なコンポーネントを示すブロック図。
【図２】ＰＣＬ５（登録商標）プリンタマクロコマンドのセットを示す図。
【図３】一例としてのＰＣＬ５（登録商標）プリンタマクロを示す図。
【図４】一例としての図３に示すプリンタマクロを呼出すための、プリントジョブにおける一例としてのＰＣＬ５（登録商標）コマンドのセットを示す図。
【図５】本発明の一実施形態によるマクロセキュリティコマンドを含む、ＰＣＬ５（登録商標）プリンタマクロコマンドの拡張セットを示す図。
【図６】本発明の一実施形態によるマクロセキュリティコマンドを含む、一例としてのＰＣＬ５（登録商標）プリンタマクロを示す図。
【図７】本発明の一実施形態によるマクロセキュリティデータフィールドを示す図。
【図８】本発明の一実施形態による、図１に示すプリンタによって行われるプリンタマクロセキュリティ方法を示すフローチャート。
【図９】本発明の別の実施形態によるマクロセキュリティデータフィールドを示す図。
【図１０】本発明の別の実施形態による図１に示すプリンタによって行われるプリンタマクロセキュリティ方法を示すフローチャート。
【図１】
2004272904.tif 000003
【図２】
2004272904.tif 000004
【図３】
2004272904.tif 000005
【図４】
2004272904.tif 000006
【図５】
2004272904.tif 000007
【図６】
2004272904.tif 000008
【図７】
2004272904.tif 000009
【図８】
2004272904.tif 000010
【図９】
2004272904.tif 000011
【図１０】
2004272904.tif 000012